Key | Action |
---|---|
ALT+1 | CPU debugger view. |
ALT+2 | Graphics viewer. |
CPU Debugger | |
R | Run |
S | Step |
Return | Edit disassembly address, or edit selected register. |
SHIFT+Return | Edit watch address. |
Space | Toggle opcode breakpoint on selected disassembly address. |
SHIFT+R | Edit read breakpoints. |
SHIFT+W | Edit write breakpoints. |
CTRL+SHIFT+R | Edit I/O read breakpoints(for PC-FX). |
CTRL+SHIFT+W | Edit I/O write breakpoints(for PC-FX). |
CTRL+R | Edit Aux read breakpoints. |
CTRL+W | Edit Aux write breakpoints. |
Up, Left, Right, Down, PageUp, PageDown | Select disassembly address or select register. |
SHIFT + (Up, Left, Right, Down, PageUp, PageDown) | Select watch address. |
M | Toggle watch window between logical and physical(if available) addressing. |
P | Poke a value to memory. |
D | Dump memory to file, using the CPU's logical memory map. Prefix the first address with a '*' to dump using physical addresses. |
SHIFT + D | Dump memory to file, using the video processor's logical memory map. |
SHIFT + P | High-level poke a value to the underlying ROM or RAM. |
Graphics Viewer | |
< | Decrease palette bank number. |
> | Increase palette bank number. |
Up, Down | Scroll up or down. |
Left, Right | Select graphics layer. |
-/+ | Select line number(not necessarily visible line number...) to decode graphics on. |
High-level poking will attempt to write the desired value to the underlying storage(ROM or RAM). Normal(low-level) poking will go through the same write handlers as the virtual CPU operates through.
The format for the string to enter when poking memory(highlevel or lowlevel), is "[*]address value [size]", with values in brackets being optional. Prefixing the address with a "*" will cause the address to be treated as a physical address, which is currently only meaningful on systems that have paging registers internal to the CPU, such as the PC Engine/TurboGrafx 16.
You may enter either a single address to break on, or a range. Read and write breakpoints operate on logical addresses, unless you prefix the address with a "*", or the first address in the case of a range. Multiple entries should be separated by one space character. Examples:
2000-2007 4014 4015 0000 1800 2300-23ff *1fe000You may also use "segment:offset" form with absolute addresses with PC Engine emulation, such as:
*ff:0000-ff:03ff...which will cause a break on any writes to the VDC, including the ST0, ST1, ST2 instructions. Note that the offset is internally ANDed with 0x1FFF, so 0x2000 and 0x0000 would be equivalent offsets.
PC-FX | |
---|---|
00000-3FFFF | KING Bank A/0 |
40000-7FFFF | KING Bank B/1 |
80000-8FFFF | VDC-A |
90000-9FFFF | VDC-B |
PC Engine | |
---|---|
0000-7FFF | VDC |
10000-17FFF | VDC-B(SuperGrafx only!) |