Gopher2600/debugger/help.go
steve dd45b06b2c o debugger
- watches now uses addressInfo
    - fixed bug in debugger memory mapAddress() function
2020-01-05 18:58:43 +00:00

86 lines
3.9 KiB
Go

package debugger
// Help contains the help text for the debugger's top level commands
var help = map[string]string{
cmdHelp: "Lists commands and provides help for individual debugger commands",
cmdReset: "Reset the emulation to its initial state",
cmdQuit: "Exits the emulator",
cmdExit: "Exits the emulator",
cmdRun: "Run emulator until next halt state",
cmdStep: "Step forward one step. Optional argument sets the amount to step by (eg. frame, scanline, etc.)",
cmdGranularity: "Change method of stepping: CPU or VIDEO",
cmdScript: "Run commands from specified file or record commands to a file",
cmdInsert: "Insert cartridge into emulation (from file)",
cmdDisassembly: "Print the full cartridge disassembly",
cmdGrep: "Simple string search (case insensitive) of the disassembly",
cmdSymbol: "Search for the address label symbol in disassembly. returns address",
cmdOnHalt: "Commands to run whenever emulation is halted (separate commands with comma)",
cmdOnStep: "Commands to run whenever emulation steps forward an cpu/video cycle (separate commands with comma)",
cmdLast: "Prints the result of the last cpu/video cycle",
cmdMemMap: "Display high-level VCS memory map",
cmdCartridge: "Display information about the current cartridge",
cmdCPU: "Display the current state of the CPU",
cmdPeek: "Inspect an individual memory address",
cmdPoke: "Modify an individual memory address",
cmdPatch: "Apply a patch file to the loaded cartridge",
cmdHexLoad: "Modify a sequence of memory addresses. Starting address must be numeric.",
cmdRAM: "Display the current contents of PIA RAM",
cmdRIOT: "Display the current state of the RIOT",
cmdTIA: "Display current state of the TIA",
cmdTV: "Display the current TV state",
cmdPanel: "Inspect front panel settings",
cmdPlayer: "Display the current state of the player 0/1 sprite",
cmdMissile: "Display the current state of the missile 0/1 sprite",
cmdBall: "Display the current state of the ball sprite",
cmdPlayfield: "Display the current playfield data",
cmdDisplay: "Display the TV image",
cmdStick: "Emulate a joystick input for Player 0 or Player 1",
// halt conditions
cmdBreak: "Cause emulator to halt when conditions are met",
cmdTrap: "Cause emulator to halt when specified machine component is touched",
cmdWatch: `Watch a memory address for activity. Emulation will halt when the watch
is triggered. An individual watch can wait for either read access or write
access of specific address address. Addresses can be specified numerically or
by symbol.
By default, watching a numeric address will specifically watch for write
events. This can be changed by specifiying READ as the first argument. For
example:
WATCH 0x80
WATCH READ 0x81
The first example watches address 0x80 for write access, while the second will
watch for read access of address 0x81. To watch a single address for both read and
write access, two watches are requireed.
Symbolic address refer to either read or write addresses (possibly both) and
this affects how symbolic addresses are watched. Consider the following two
examples:
WATCH VSYNC
WATCH CXM0P
The symbols in both examples refer to memory address 0x00 but specifcally,
VSYNC is used in the context of the CPU writing to memory and CXM0P in the
context of reading from memory. Accordingly, the watches will react to write
or read events.
A watch can also watch for a specific value to be written or read from the specified
address.
WATCH 0x80 10
The above example will watch for the value 10 (decimal) to be written to memory
address 0x80.`,
cmdList: "List current entries for breaks, traps and watches",
cmdDrop: "Drop a specific break, trap or watch condition, using the number of the condition reported by LIST",
cmdClear: "Clear all breaks, traps and watches",
}