Emu48 Settings Description
--------------------------

This is a detailed description of the Emu48 program settings. Some of them can
be controlled over a settings dialog, some of them only manually. The Emu48
versions use different saving locations. Some of them save there data in a INI
file, some of them in the registry. There are some items which aren't supported
in all versions.

- Emu48 for IA32 < v1.49
%WINDIR%\Emu48.ini

- Emu48 for IA32 >= v1.49
HKCU\Software\Emu48\

- Emu48+ (from the Debug4x package)
HKCU\Software\Hewlett-Packard\Debug4x\Emu48\

- Emu48 for Pocket PC
HKCU\Software\Emu48\


The configuration data is divided into sections. Each section may contain one or
more items. Each item has an argument. The argument is one of following three
types:

[string]  : text string in ""
[integer] : signed integer value
[bool]    : special integer type with 0 for FALSE and 1 for TRUE

Before changing the settings content manually, close all Emu48 instances before!


1.) Section [Files]

- Emu48Directory=[string]

This item contain the default path for the KML-files and other emulator specific
files which are used without a full path name.

Default: actual path of Emu48.exe at first start

- LastDocument=[string]

This item contain the full path name to the last used state file.

Default: -empty-

- AutoSave=[bool]

This item controls the "Automatically Save Files" state file save. This setting
is used when you change the state file during a session.

0 = Ask if state file should be saved
1 = Save state file automatically

Default: 0

- AutoSaveOnExit=[bool]

This item controls the "Automatically Save Files On Exit" state file save at
program exit.

0 = Ask if state file should be saved
1 = Save state file automatically

Default: 0

- SaveDefaultConfirm=[bool]

This item controls the default button in the "Do you want to save changes ?"
message box.

0 = No - Button
1 = Yes - Button

Default: 1

- LoadObjectWarning=[bool]

This item controls the "Show Load Object Warning" warning.

0 = no warning
1 = warning

Default: 1

- StartupBackup=[bool]

This item controls if a state file memory backup (Menu Edit/Backup) should be
made at program start.

0 = no backup
1 = create backup

Default: 0


2.) Section [KML]

- AlwaysDisplayLog=[bool]

This item controls "Always Show KML Compilation Result" view.

0 = don't show KML compilation result
1 = show KML compilation result after reading the KML file

Default: 1

- ClassicCursor=[bool]

Obsolete, can be purged.


3.) Section [Emulator]

- RealSpeed=[bool]

This item controls "Authentic Calculator Speed" setting.

0 = disabled
1 = enabled

Default: 0

- SXCycles=[integer]

This item controls the speed in "Authentic Calculator Speed" mode for
calculators base on the "Clarke" chip. The number are the allowed CPU-cycles in
a 16384Hz time frame.

Default: 82

- GXCycles=[integer]

This item controls the speed in "Authentic Calculator Speed" mode for
calculators base on the "Yorke" chip. The number are the allowed CPU-cycles in a
16384Hz time frame.

Default: 123

- KeyMinDelay=[integer]

This item sets the minimum time holding a key state. The unit is ms. On a PC
keyboard you can press keys very quickly, sometimes much shorter than the
keyboard debounce time of the calculator. With the default setting of 50ms you
can enter 10 characters/second (= 1 / (50ms key press time + 50ms key release
time) maximum. This is also the minimum key time for the keyboard macro
recorder.

Default: 50

- WakeupDelay=[integer]

This item sets one part of the time, pressing the ON-key for waking up the
calculator or update the display content. The unit is ms. The other part is
controlled by the "KeyMinDelay" setting. The total time pressing the ON-key is
the sum of "KeyMinDelay" and "WakeupDelay".

Default: 200

- Grayscale=[bool]

This item controls "Enable Virtual LCD Delay" setting.

0 = disabled
1 = enable virtual LCD delay for grayscale simulation

Default: 0

- AlwaysOnTop=[bool]

This item controls "Always On Top" setting.

0 = disabled
1 = application windows are always on top

Default: 0

- ActivationFollowsMouse=[bool]

This item controls "Activation Follows Mouse" setting.

0 = disabled
1 = if mouse is moved over a Emu48 window, application pops up into foreground

Default: 0

- SingleInstance=[bool]

This item controls if only one program instance is allowed. If this item is
enabled and another program instance is found, the found program instance pops
up into foreground and this instance is finished.

0 = disabled
1 = enabled

Default: 0

- ShowTitle=[bool]

This item controls "Show Title" setting.

0 = disabled
1 = enabled

Default: 1

- ShowMenu=[bool]

This item controls "Show Menu" setting.

0 = disabled
1 = enabled

Default: 1

- ClientWinMove=[bool]

This item change the area for moving a window with "Show Title" enabled.

0 = moving the main window by grabbing the "Title Bar" area only
1 = moving the main window by grabbing all "non button" areas

Default: 0

- WaveBeep=[bool]

Obsolete, can be purged.

- WaveDeviceId=[integer]

This item selects the waveform-audio output device.

Default: 4294967295

- WaveTime=[integer]

This item sets the time period in milliseconds of each sound buffer. This value
is a compromise between playback latency time (smaller values) and robustness
against drop outs caused by buffer under runs on slow host machines (greater
values). The total playback latency time is 3*WaveTime so in our example with
the default value 3 * 20ms = 60ms.

Default: 20

- WaveVolume=[integer]

This item sets the volume for the wave output. The valid value range is 0 - 255.

0   = quietest
255 = loudest

Default: 64


4.) Section [Port2]

This section is only interested for the HP48 emulation. Other calculator
emulations aren't affected by this section.

- IsShared=[bool]

This item controls the "Port 2 is Shared" setting.

0 = file not shared
1 = file shared

Default: 0

- Filename=[string]

This item contain the "Port 2 File" name.

Default: SHARED.BIN


5.) Section [ROM]

This section is only interested for the HP49G emulation.

- Writeable=[bool]

This item controls if data could be saved in the HP49 ROM image file. In "Read
Only" mode all changes in the Flash memory are discarded at session end.

0 = Discard changes at session exit
1 = Writeable

Default: 1

- WP#=[bool]

This item don't exist at must be created manually. It controls the WP# pin state
of 28F160 flash chip. On the original HP49G calculator the pin is controlled by
a solder bridge.

0 = WP# = low,  locked blocks cannot be erased
1 = WP# = high, locked blocks can be erased

Default: 0


6.) Section [LowBat]

- Disable=[bool]

This item controls the low battery simulation. On AC powered devices the low
battery simulation is always disabled. On battery powered devices the simulation
is enabled. In some cases, especially when the battery is quite old, the
operating system may return a wrong battery charging level. This could make the
emulator unusable.

0 = low battery simulation in auto mode
1 = low battery simulation disabled

Default: 0


7.) Section [Timers]

Obsolete, can be purged.

- AccurateTimer=[bool]

Obsolete, can be purged.

- T1Period=[integer]

Obsolete, can be purged.


8.) Section [IrPrinter]

- Address=[string]

This item sets the UDP address of the HP82240B printer simulator.

Default: "localhost"

- Port=[integer]

This item sets the UDP port of the HP82240B printer simulator.

Default: 5025


9.) Section [Serial]

- Wire=[string]

This item controls the serial port "Wire" setting. The string can contain
"disabled" or the device name of the serial device.

Default: "disabled"

- Ir=[string]

This item controls the serial port "IR" setting. The string can contain
"disabled" or the device name of the serial device.

Default: "disabled"


10.) Section [Macro]

- RealSpeed=[bool]

This item controls the macro replay speed setting.

0 = replay with given given speed
1 = replay with recording speed

Default: 1

- ReplayTimeout=[integer]

This item controls the macro replay delay time in "replay with given given
speed" mode between two keyboard actions. The unit is ms. The range of the
slider control in the settings dialog is 0 - 500. The emulator itself accepts
larger values than 500.

Default: 0

- KeyMinDelay=[integer]

This item sets the minimum time holding a key state in the keyboard macro play
mode. The unit is ms. This value works in combination with the KeyMinDelay item
in the [Emulator] section. The used minimum key state holding time is the
greater value of both KeyMinDelay items.

Default: 0


11.) Section [MRU]

- FileCount=[integer]

This item controls the maximum number of items in the "Most Recently Used" file
list.

0  = disabled
>0 = maximum number of entries

Default: 4

- FileX=[string] (where X is the slot number >= 1)

This item controls the file name of the slot number. File1 is the topmost slot
in the MRU list. When you reduce the FileCount setting manually you have to
purge the slot numbers above this value manually.

Default: -empty-


12.) Section [Disassembler]

- Mnemonics=[bool]

This item sets the disassembly mode.

0 = HP Mnemonics
1 = Class Mnemonics

Default: 0

- Symbolic:[bool]

This item enables the use of symbolic names in the debugger disassembly.

0 = disabled
1 = enabled

Default: 0

- SymbX=[string] (where X is the model character from the KML file)

This item contain the full path to the symbol file reference for the
corresponding calculator model.

Default: -not exist-


13.) Section [Debugger]

- LastInstrBufSize=[integer]

This item contain the size of the last instruction circular buffer. Because of
implementation reasons the buffer can hold maximum (LastInstrBufSize - 1)
instructions. The maximum size for the buffer is 65535.

Default: 256


07/14/15 (c) by Christoph Gießelink
