Up: Monitor settings   [Contents][Index]


6.15.1 Monitor resources

KeepMonitorOpen

Boolean, if true the monitor window may stay open when the emulation is running, eg to look at trace-point output. (Not all ports/UIs support this, in that case this setting has no effect.)

RefreshOnBreak

Boolean, if true, the emulated display(s) will update as the monitor is entered and also after each command executed via the monitor. Not entirely accurate yet, as updates become visible one scanline at a time. In addtion, the image can be not quite right around the raster line being updated.

MonitorServer

Boolean specifying whether the remote monitor server is enabled.

MonitorServerAddress

String specifying the address the remote monitor server listens to (ip4://127.0.0.1:6510)

BinaryMonitorServer

Boolean specifying whether the binary monitor server is enabled.

BinaryMonitorServerAddress

String specifying the address the binary monitor server listens to (ip4://127.0.0.1:6502)

NativeMonitor

Boolean specifying whether the native monitor is enabled. When enabled, the monitor will not run in the interface of the emulator, but instead work in the spawning terminal.

MonitorLogEnabled

Boolean specifying whether the output of the monitor will be logged to a file.

MonitorLogFileName

String specifying the logfile name for the monitor.

MonitorChisLines

Integer specifying the number of lines to keep in the cpu history. (only when enabled in configure)

MonitorScrollbackLines

Integer specifying the number of lines to keep in the monitor scrollback buffer (-1 for no limit).

MonitorFont

String specifying the font to use in the Gtk3 UI’s VTE monitor window. Should be in the form accepted by Pango, for example "Liberation Mono 11".

6.15.2 Monitor command-line options

-moncommands <Name>

Execute the commands from the file <Name> in the monitor after starting up. All monitor commands are supported, including playback of other command files via pb. By default, the monitor opens and starts executing the commands just before the kernal reset routine starts. The kernal starup sequence may interfere with what you are trying to achieve, for example by clearing any basic listing you may have loaded. In this case, use the -initbreak option to control when the monitor will open and execute your script. You can choose an address, or use -initbreak ready to attempt to detect when the kernel is ready and execute the script then.

-initbreak <address>
-initbreak reset
-initbreak ready

Set an initial breakpoint for the monitor. Addresses with prefix "0x" are hexadecimal. -initbreak reset will break just before the reset routine starts. -initbreak ready will attempt to break when the kernal is ’ready’.

-keepmonopen
+keepmonopen

Enable/disable keeping the monitor window open (KeepMonitorOpen=1, KeepMonitorOpen=0).

-refreshonbreak
+refreshonbreak

Enable/Disable refresh display when entering monitor and after each monitor command. (RefreshOnBreak=1, RefreshOnBreak=0).

-remotemonitor
+remotemonitor

Enable/Disable remote monitor

-remotemonitoraddress <name>

The local address the remote monitor should bind to

-binarymonitor
+binarymonitor

Enable/Disable binary monitor

-binarymonitoraddress <name>

The local address the binary monitor should bind to

-nativemonitor
+nativemonitor

Enable/Disable native monitor. (NativeMonitor=1, NativeMonitor=0).

-monlog
+monlog

Enable/Disable logging monitor output to a file. (MonitorLogEnabled=1, MonitorLogEnabled=0).

-monlogname <name>

Specify logfile name for the monitor. (MonitorLogFileName).

-monchislines <value>

Set number of lines to keep in the cpu history. (only when enabled in configure) (MonitorChisLines).

-monscrollbacklines <value>

Set number of lines to keep in the monitor scrollback buffer (-1 for no limit). (MonitorScrollbackLines).

-monitorfont <font-description>

Set the monitor font for the Gtk3 UI’s VTE-monitor. (MonitorFont).

6.16 RAM init pattern settings

The initial content of uninitialized RAM depends on many factors, the inner workings of the RAM chip, the motherboard, etc. Generally, many RAM chips are build in a way that - however - at powerup about half the bits turn out 1, and about the other half turns out 0. As a consequence, and depending on what kind of RAM chips have been used in what kind of way, the typical patterns can be "seen" by the CPU right after powerup.

VICE tries to model (some of) the real patterns accurately. Please be aware of the fact that there is - technically buggy - software out there that will only work with a certain RAM init pattern.

How generating the pattern works is easily described in three simple steps:

1. A base pattern is created using blocks of RAMInitStartValue, which is inverted every RAMInitValueInvert bytes. This pattern can be offset ("rotated") by RAMInitValueOffset bytes. This step creates the typical 00 00 ff ff ff ff 00 00 etc patterns.

2. Every RAMInitPatternInvert bytes the base pattern is inverted ("xored") by RAMInitPatternInvertValue. This step creates the inverted pattern every $4000 or so bytes that is typical for some boards/ICs. It may also create the 0x99, 0x66 based patterns that show up on other setups.

3. Every RAMInitRepeatRandom bytes RAMInitStartRandom bytes are randomly inverted ("xored"). Additionally every bit is randomly inverted with a RAMInitRandomChance : 4096 chance. This step creates the typical random bytes that have been observed with some boards/ICs.

6.16.1 RAM init pattern resources

RAMInitStartValue

Integer specifying the first value of the base pattern (all emulators except vsid). (0..255)

RAMInitValueInvert

Integer specifying the number of bytes until the base pattern is inverted (all emulators except vsid).

RAMInitValueOffset

Integer specifying the number of bytes to offset the base pattern (all emulators except vsid).

RAMInitPatternInvert

Integer specifying the length of the memory block when inverting the base pattern (all emulators except vsid).

RAMInitPatternInvertValue

Integer specifying the value to use for inverting the base pattern with (all emulators except vsid).

RAMInitStartRandom

Integer specifying the number of random bytes in the random pattern (all emulators except vsid).

RAMInitRepeatRandom

Integer specifying the number of bytes after which to repeat the random pattern (all emulators except vsid).

RAMInitRandomChance

Integer specifying the chance of any bit to randomly toggle (0-4096) (all emulators except vsid).

6.16.2 RAM init pattern command-line options

-raminitstartvalue <value>

Set the first value of the base pattern (RAMInitStartValue) (all emulators except vsid). (0..255)

-raminitvalueinvert <num of bytes>

Set the number of bytes until the base pattern is inverted (RAMInitValueInvert) (all emulators except vsid).

-raminitvalueoffset <num of bytes>

Offset the first pattern by <num> of bytes (RAMInitValueOffset) (all emulators except vsid).

-raminitpatterninvert <num of bytes>

Set the length of the memory block when inverting the base pattern (RAMInitPatternInvert) (all emulators except vsid).

-raminitpatterninvertvalue <value>

Set the length of the memory block when inverting the base pattern (RAMInitPatternInvertValue) (all emulators except vsid).

-raminitstartrandom <num of bytes>

Set the number of random bytes in the random pattern (RAMInitStartRandom) (all emulators except vsid).

-raminitrepeatrandom <num of bytes>

Set the number of bytes after which to repeat the random pattern (RAMInitRepeatRandom) (all emulators except vsid).

-raminitrandomchance <value>

Set the chance of any bit to randomly toggle (0-4096) (RAMInitRandomChance) (all emulators except vsid).

6.17 Debug settings

6.17.1 Debug resources

TapeLog

Boolean specifying whether the tape log device is enabled.

TapeLogDestination

Integer specifying where the tape log goes to (0=Enable logging to the emulator log file 1=Enable logging to a file).

TapeLogfilename

String that specifies the tape log file name

DebugCartEnable

Boolean specifying whether the debug "cartridge" used for the test suite is enabled.

The following are only available when the emulators were compiled in DEBUG mode:

TraceMode

Integer specifying the trace mode (0=normal 1=small 2=history)

AutoPlaybackFrames

Amount of automatic playback frames

MainCPU_TRACE

Trace the main CPU / Do not trace the main CPU

Drive0CPU_TRACE

Trace the drive 0 CPU / Do not trace the drive 0 CPU

Drive1CPU_TRACE

Trace the drive 1 CPU / Do not trace the drive 1 CPU

Drive2CPU_TRACE

Trace the drive 2 CPU / Do not trace the drive 2 CPU

Drive3CPU_TRACE

Trace the drive 3 CPU / Do not trace the drive 3 CPU

IEC_TRACE

Trace IEC bus activity / Do not trace IEC bus activity

6.17.2 Debug command-line options

-core
+core

Enable/disable generation of core dumps (DoCoreDump=1, DoCoreDump=0) (all emulators except vsid).

-debug
+debug

Disable/enable calling of the exception handler (DoCoreDump=1, DoCoreDump=0) (all emulators except vsid).

-debugcart
+debugcart

Enable/disable the debug "cartridge" used for the test suite.

-tapelog
+tapelog

Enable/Disable the tape log device. (TapeLog=1, TapeLog=0).

-tapelogtofile

Enable logging to a file (TapeLogDestination=1).

-tapelogtolog

Enable logging to the emulator log file (TapeLogDestination=0).

-tapelogimage <name>

Specify tape log file name (TapeLogfilename).

The following are only available when the emulators were compiled in DEBUG mode:

-trace_maincpu
+trace_maincpu

Trace the main CPU / Do not trace the main CPU (MainCPU_TRACE=1, MainCPU_TRACE=0)

-trace_drive0
+trace_drive0

Trace the drive 0 CPU / Do not trace the drive 0 CPU (Drive0CPU_TRACE=1, Drive0CPU_TRACE=0)

-trace_drive1
+trace_drive1

Trace the drive 1 CPU / Do not trace the drive 1 CPU (Drive1CPU_TRACE=1, Drive1CPU_TRACE=0)

-trace_drive2
+trace_drive2

Trace the drive 2 CPU / Do not trace the drive 2 CPU (Drive2CPU_TRACE=1, Drive2CPU_TRACE=0)

-trace_drive3
+trace_drive3

Trace the drive 3 CPU / Do not trace the drive 3 CPU (Drive3CPU_TRACE=1, Drive3CPU_TRACE=0)

-trace_iec
+trace_iec

Trace IEC bus activity / Do not trace IEC bus activity (IEC_TRACE=1, IEC_TRACE=0)

-trace_mode <value>

Trace mode (0=normal 1=small 2=history)

-autoplaybackframes <frames>

Set the amount of automatic playback frames

6.18 Network Play settings

6.18.1 Network Play resources

NetworkServerName

String specifying the name of the remote server.

NetworkServerBindAddress

String specifying the IP of the remote server.

NetworkServerPort

Integer specifying the port used for network play.

NetworkControl

Integer specifying whether the emulator is running as server or client (0: client, 1: server)

6.18.2 Network Play command-line options

-netplayserver <name>

Set the name of the remote server.

-netplaybind <ip>

Set the IP of the remote server.

-netplayport <port>

Set the port used for network play.

-netplayctrl <flag>

Specify whether the emulator is running as server or client (0: client, 1: server)


Up: Monitor settings   [Contents][Index]