saturnng/manual/clopt.texi

149 lines
6.1 KiB
Text
Raw Normal View History

2022-03-21 11:05:59 +01:00
@c $Id: clopt.texi,v 4.1 2000/12/11 09:54:19 cibrario Rel $
@node Command Line Options, Customizing saturn, Using the Emulator, Top
@chapter Command Line Options
@cindex Command Line Options
The @code{saturn} program accepts the command line options listed below;
notice that recent versions of the X Toolkit allow you to abbreviate
option's names to their shortest, non-ambiguous prefix.
@table @code
@item -reset
This option instructs @code{saturn} to reset the emulated CPU,
by forcing a jump to address @code{0}, before starting execution.
It should be useful when the emulated calculator ``gets stuck'', since
it has the same effect as pressing the reset switch on the real
calculator.
@item -monitor
This option instructs @code{saturn} to enter the monitor/debugger
during startup; since this feature of @code{saturn} is pitiful,
use of this option is strongly discouraged for now.
@item -batchXfer
When this option is present on the command line, all fast file
transfers requested through the @code{sutil} library will be
made in batch mode, that is, @code{saturn} will always load and save
files in the current directory and will use the default file names
given by the calculator, without any user interaction.
@item -stateDir @var{dir_name}
This option must be followed by the name of a directory, @var{dir_name};
@code{saturn} will use this directory to load/save the calculator's
state. By specifying different state directories, you can emulate
multiple calculator models and/or multiple instances of the same
calculator, even simultaneously. However, keep in mind that
calculator's state files are @strong{not} platform-independent, so you
cannot share them among different platforms. The default value of this
option is @code{.}, that is, by default @code{saturn} places its
state files in the current directory.
@item -cpu @var{cpu_state}
This option must be followed by the name of a file, @var{cpu_state},
relative to the emulator's state directory; @code{saturn} will use
this file to load/save the calculator's emulated CPU state.
The default value of this option is @code{cpu}.
@item -mod @var{mod_state}
This option must be followed by the name of a file, @var{mod_state},
relative to the emulator's state directory; @code{saturn} will use
this file to load/save the calculator's emulated peripheral modules
state.
The default value of this option is @code{mod}.
@item -hdw @var{hdw_state}
This option must be followed by the name of a file, @var{hdw_state},
relative to the emulator's state directory; @code{saturn} will use
this file to load/save the calculator's emulated peripheral devices
state.
The default value of this option is @code{hdw}.
@item -rom @var{rom_image}
This option must be followed by the name of a file, @var{rom_image},
relative to the emulator's state directory; @code{saturn} will use
this file to load (and save, when emulating an HP49) the calculator's
ROM image.
The default value of this option is @code{rom}.
@item -ram @var{ram_image}
This option must be followed by the name of a file, @var{ram_image},
relative to the emulator's state directory; @code{saturn} will use
this file to load/save the calculator's main RAM image.
The default value of this option is @code{ram}.
@item -port1 @var{port1_image}
This option must be followed by the name of a file, @var{port1_image},
relative to the emulator's state directory; @code{saturn} will use
this file to load/save the calculator's port 1 image.
The default value of this option is @code{port1}.
This option is meaningful only when emulating an HP48GX.
@item -port2 @var{port2_image}
This option must be followed by the name of a file, @var{port2_image},
relative to the emulator's state directory; @code{saturn} will use
this file to load/save the calculator's port 2 image.
The default value of this option is @code{port2}.
This option is meaningful only when emulating an HP48GX.
@item -face @var{face_name}
This option must be followed by the name of a faceplate, @var{face_name},
defined in the application resources of @code{saturn}. The faceplate
defines the ``look'' of the emulated calculator, such as its color
and the size and position of its keys, the mapping between
calculator's keys and IN/OUT codes seen by the CPU, and keyboard
shortcuts. Each user can define its own faceplates for @code{saturn},
and use them without rebuilding the executable; for more information
see @ref{Customizing saturn}. The application resource file
distributed with @code{saturn} defines the following faceplates:
@table @code
@item hp48
Naive HP48GX faceplate
@item hp49
Naive HP49 faceplate
@item hp40
Naive HP40 faceplate
@end table
The default value of this option is @code{hp48}, corresponding
to a naive HP48GX faceplate in the default application resource
file distributed with @code{saturn}.
@item -hw @var{hw_name}
This option must be followed by the name of an hardware configuration,
@var{hw_name}, chosen among those supported by @code{saturn}.
The hardware configuration defines things like ROM/RAM sizes, bank
switching mechanism, and so on. Currently, @code{saturn} supports two
hardware configurations:
@table @code
@item hp48
HP48GX calculator
@item hp49
HP49 calculator, also suitable to emulate the HP40
@end table
Even if @code{saturn} has a modular structure, unfortunately
general users cannot add custom hardware architectures to it
without rebuilding the executable. Moreover, since I am a lazy guy,
the steps required to do this are not documented at all.
@end table
In addition, @code{saturn} understands all standard X Toolkit command-line
options, and does its best to honor them. Among such options, the
most useful ones are:
@table @code
@item -display @var{display_name}
This option must be followed by a valid X display name, and instructs
the emulator to use that display to show its windows. If this option
is not present on the command line the default display, that is,
the display named by the @code{DISPLAY} environment variable, is used.
@item -xrm @var{resource_spec}
This option must be followed by a valid X resource specifier, and
allows you to add/override one or more @code{saturn}'s X resources
``on-the-fly''.
@end table