Home » Archimedes archive » Acorn User » AU 1997-10 A.adf » Extras » Apple][e/!Virtu/Data/Docs/MrNosey

Apple][e/!Virtu/Data/Docs/MrNosey

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Archimedes archive » Acorn User » AU 1997-10 A.adf » Extras
Filename: Apple][e/!Virtu/Data/Docs/MrNosey
Read OK:
File size: 3386 bytes
Load address: 0000
Exec address: 0000
File contents
The Virtu Debugger: Mr Nosey
============================
--------------------------------------------------------------------------------
1 Overview
==========

    One great thing about an emulated computer is that you can easily extend
the machine in ways that would have been expensive and difficult with the real
thing. Mr Nosey is such an extension to Virtu. It adds basic but invaluable
snooping capabilities normally found only in 'hardware' debugging aids like
snap-shot cards, trace boards and emulators.

    At any time during (full-speed) emulation, pressing <F1> invokes Mr Nosey.
From there you can: view and edit the status of the CPU; view, edit and search
a hex/ASCII dump of memory; view and edit a disassembled listing of memory; set
break/watch-points; save screendumps; drop to the monitor; exit Virtu; step and
trace emulation, or resume full-speed execution. The rest of this document
details these features.

General Notes
~~~~~~~~~~~~~
- all numeric values are in hex
- editing at an address writes only to whichever bank is switched in
  ie. main, aux, language card, ROM; edits to ROM _are_ allowed
- when editing values, use <Left> and <Right> to move <Return> to accept
  value, <Esc> to cancel edit

--------------------------------------------------------------------------------
2 CPU Status Screen
===================

2.0 Invoking
------------
    Virtu periodically checks to see if <F1> is being pressed. If so, (and when
it is released) Mr Nosey is invoked showing the CPU status screen. If Mr Nosey
was in trace mode (see 2.2 <F2>) when last exited, trace mode will still be
enacted. Because <F1> is also the key to exit Mr Nosey, this is a handy way to
briefly pause execution.

2.1 Screen Layout
-----------------
    This screen shows the status of the CPU and, for convenience, the current
display mode and page. The lower case letters in the layout below refer to the
list of symbols that follows.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SP s/01FE- s1 NVRBDIZC P  A  X  Y  Vid #
sp s/01FF- s2 nv1bdizc pp aa xx yy vvv p

   k/ pc1+ i1                        ;c1
PC j/ pc0- i0                        ;c0
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

sp  += stack pointer
s    = stack pointer bank (0=main or 1=aux)
s1  += first (top) value on the stack (at s/0100 + sp + 1)
s2  += second value on the stack (at s/0100 + sp + 2)
n   += negative flag (1=negative)
v   += overflow flag (1=signed overflow)
b   += break flag (1=break occurred)
d   += decimal flag (1=decimal arithmetic mode)
i   += interrupt flag (1=IRQ disabled)
z   += zero flag (1=zero arithmetic result)
c   += carry flag (1=arithmetic carry set)
pp  += processor status (nv1bdizc)
aa  += accumulator
xx  += x index register
yy  += y index register
vvv  = video mode (see notes)
p    = video page (1 or 2)
j    = bank of program counter (0=main or 1=aux)
k    = bank of previous program counter (0=main or 1=aux, if available)
pc0 += program counter (address of next instruction)
       followed by '+' if a breakpoint or '-' if not
pc1  = previous program counter (address of previous instruction, if available)
       followed by '+' if a breakpoint or '-' if not
i0   = disassembly of next instruction
i1   = disassembly of previous instruction (if available)
c0   = comment for effective address of next instruction (if available)
c1   = comment for effective address of previous instruction (if available)

Notes
~~~~~
- in the list above "+=" denotes the value can be modified
- the R (reserved) flag is always asserted by the hardware to 1
- k, pc1, i1 and c1 are available only if the last instruction was
  executed in step, trace or run modes (not full-speed execution)
- c0 and c1 will reflect any registers or indirection involved in i0 and i1
  eg. i0="LDA $40C0,Y" results in c0=";=$416C" when yy=AC
  see disassembly (3.1) for more information on instruction disassembly
- values for vvv (video mode) are:

  LOR = Lores
  TX4 = Text 40
  TX8 = Text 80
  LR4 = Lores & Text 40
  LR8 = Lores & Text 80
  HIR = Hires
  HR4 = Hires & Text 40
  HR8 = Hires & Text 80
  XLR = 7M Lores
  DLR = Double Lores
  XL4 = 7M Lores & Text 40
  DL8 = Double Lores & Text 80
  XHR = ND Hires
  DHR = Double Hires
  XH4 = ND Hires & Text 40
  DH8 = Double Hires & Text 80

2.2 Keys
--------

Execution
~~~~~~~~~
<F1>        = resume full-speed execution (exit Mr Nosey)
              re-enter on <F1>
<Ctrl-F1>   = start run mode (CPU status screen not displayed)
              re-enter on <F1> or break/watchpoint
<F2>        = toggle trace mode (CPU status screen displayed and updated)
              display trace until <F1>, <Ctrl-F1>, <F2>, <F12>, <Ctrl-F12>
              or break/watchpoint
<F3>        = run until instruction after next or break/watchpoint (step over)
              eg. run until branch fails, or JSR returns (or break/watchpoint)
<F4>        = step one instruction (step into)
<Ctrl-F12>  = absolute reset: PC = $FF59 (OldRst), SP = #$FF, resume
              full-speed execution

Mode
~~~~
<F5>        = enter disassembler
<F6>        = enter hex/ASCII dump
<F8>        = enter breakpoint editor
<l> or <L>  = list at pc0 (enter disassembler)
<d> or <D>  = dump at effective address if applicable else at pc0
              (enter dumper)

Editing
~~~~~~~
<Ins>       = toggle breakpoint at pc0: toggles existing breakpoint value
              if listed else uses first disabled breakpoint with value 0
<Left>      = move cursor left
<Right>     = move cursor right
<Up>        = move cursor up
<Down>      = move cursor down
<Return>    = edit cursor selection value

Miscellaneous
~~~~~~~~~~~~~
<F9>        = save a screendump
<F12>       = exit Virtu

--------------------------------------------------------------------------------
3 Disassembly Screen
====================

3.0 Invoking
------------
    From any debugger screen press <F5> to enter the disassembler. The display
defaults to the previous address viewed. Pressing <Esc> returns to the CPU
status screen.

3.1 Screen Layout
-----------------
    A sequential disassembly of five instructions is displayed; the top line is
editable. The lower case letters in the layout below refer to the list of
symbols that follows.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   b/aaaa- i...                    ;c...
   */2000- STZ $0201            ;In+0001
   */2003- STA $20,X                   ;
   */2005- ??? E2                      ;
PC */2007- NOP 5C 5C                   ;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

b    = bank of instruction address (not displayed: currently '*')
aaaa = address of disassembled instruction
       followed by '+' if a breakpoint or '-' if not
i... = disassembled instruction
c... = comment for instruction (if available)

Notes
~~~~~
- although b is not displayed, its value is whatever is appropriate for
  that address given the current memory map state
- instruction disassembly reflects the state of the 65C02 option: 65C02
  specific opcodes are displayed only if 65C02 is selected (see 2000, above)
- illegal 6502 opcodes are displayed as "???" followed by 0, 1 or 2 bytes
  depending on whether the illegal opcode takes an operand (see 2005, above)
- illegal 65C02 opcodes are displayed as "NOP" followed by 0, 1 or 2 bytes
  depending on whether the illegal opcode takes an operand (see 2007, above)
- when editing instructions, any instruction can be entered that is legal
  according to usual conventions and the state of the 65C02 option; the
  one exception to this is that a 'HEX' opcode may be followed by space
  seperated hex data eg 'HEX 01 02 03'
- comments for effective addresses will not be displayed when instructions
  use X, Y or indirection since these are context sensitive (see 2003, above)
- comment labels are displayed for well-known zero-page, I/O and ROM
  addresses, or nearby offsets when relevant (see 2000, above)
- some addresses display different comment labels depending on whether an
  instruction reads or writes to that location, eg. I/O locations $C000-$C01F
- if the instruction at pc0 is displayed, 'PC' appears (as in 2007, above)

3.2 Keys
--------

Mode
~~~~
<Esc>       = enter CPU status
<F6>        = enter hex/ASCII dump
<F8>        = enter breakpoint editor
<l> or <L>  = list at the effective address of the current instruction
              (if available)
<d> or <D>  = dump at effective address if applicable else at aaaa
              (enter dumper)

Editing
~~~~~~~
<Left>      = list at aaaa - 1
<Right>     = list at aaaa + 1
<Up>        = list at first instruction before aaaa
<Down>      = list at first instruction after aaaa
<Page Up>   = list at five instructions before aaaa
<Page Down> = list at five instructions after aaaa
<Home>      = list at pc0
<Copy>      = list at affective address of i0 (if available)
<Ins>       = toggle breakpoint at aaaa: toggles existing breakpoint value
              if listed else uses first disabled breakpoint with value 0
<Return>    = edit selected instruction: assemble the edited line up to the
              cursor when <Return> is pressed; if the instruction assembles
              successfully, editing continues at the address following
              the instruction entered; if not, edit mode is cancelled
<Tab>       = list at new address (edit current address)
<Backspace> = list at previous address (before last <Tab> etc)

--------------------------------------------------------------------------------
4 Hex/ASCII Dump Screen
=======================

4.0 Invoking
------------
    From any debugger screen press <F6> to enter the dumper. The display
defaults to the previous address viewed. Pressing <Esc> returns to the CPU
status screen.

4.1 Screen Layout
-----------------
    A hex and ASCII dump of 40 bytes is displayed; . The lower case letters in
the layout below refer to the list of symbols that follows.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
b/aaaa- C1 C2 C3 C0 C0 C0 C0 C0 ABC@@@@@
*/2000- C0 C0 C0 C0 C0 C0 C0 C0 @@@@@@@@
*/2008- C0 C0 C0 C0 C0 C0 C0 C0 @@@@@@@@
*/2010- C0 C0 C0 C0 C0 C0 C0 C0 @@@@@@@@
*/2018- C0 C0 C0 C0 C0 C0 C0 C0 @@@@@@@@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

b    = bank of dump line address (not displayed: currently '*')
aaaa = dump line address

Notes
~~~~~
- although b is not displayed, its value is whatever is appropriate for
  that address given the current memory map state

4.2 Keys
--------

Mode
~~~~
<Esc>       = enter CPU status
<F5>        = enter disassembler
<F8>        = enter breakpoint editor
<l> or <L>  = list at the current address

Editing
~~~~~~~
<Left>      = move cursor to current address - 1
<Right>     = move cursor to current address + 1
<Up>        = move cursor to current address - 8
<Down>      = move cursor to current address + 8
<Page Up>   = dump the previous 40 bytes
<Page Down> = dump the next 40 bytes
<Home>      = dump at pc0
<Copy>      = dump at affective address of i0 (if available)
<Return>    = hex edit: enter hex data, use arrows to move, <Esc> to end
<'>         = ASCII edit: enter ASCII data, use arrows to move, <Alt>
              toggles hight/low ASCII, <Esc> to end
<Tab>       = dump at new address (edit current address)
<Backspace> = dump at previous address (before last <Tab> etc)

Searching
~~~~~~~~~
<p> or <P>  = edit search pattern: edit hex/ASCII using same keys as
              dump screen; leave cursor on last byte of pattern,
              <Esc> to end
<s> or <S>  = search forward for pattern (set by <p>): the cursor disappears
              while searching, then is placed at the first byte matched; the
              search wraps ($FFFF + 1) to $0000

--------------------------------------------------------------------------------
5 Breakpoint Edit Screen
========================

5.0 Invoking
------------
    From any debugger screen press <F8> to enter the breakpoint editor.
Pressing <Esc> returns to the CPU status screen.

5.1 Screen Layout
-----------------
    Ten breakpoint entries, and ten watchpoint entries are displayed. The lower
case letters in the layout below refer to the list of symbols that follows.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
B0-*/bbbb B5-*/0000  W0-*/wwww W5-*/0000
B1-*/0000 B6-*/0000  W1-*/0000 W6-*/0000
B2-*/0000 B7-*/0000  W2-*/0000 W7-*/0000
B3-*/0000 B8-*/0000  W3-*/0000 W8-*/0000
B4-*/0000 B9-*/0000  W4-*/0000 W9-*/0000
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

bbbb = breakpoint address
wwww = watchpoint address

Notes
~~~~~
- a point cannot be set for only one bank, but matches the address in any
  bank (main, aux, language card, ROM)

5.2 Keys
--------

Mode
~~~~
<Esc>       = enter CPU status
<F5>        = enter disassembler
<F6>        = enter hex/ASCII dump

Editing
~~~~~~~
<Left>      = move cursor left
<Right>     = move cursor right
<Up>        = move cursor up
<Down>      = move cursor down
<Ins>       = toggle selected point enabled/disabled
<Home>      = set all non-0 points to enabled/disabled state
              of currently selected point
<Del>       = disable point and set to 0
<Return>    = edit point: enter address, use arrows to move, <Esc> to end

--------------------------------------------------------------------------------
00000000  54 68 65 20 56 69 72 74  75 20 44 65 62 75 67 67  |The Virtu Debugg|
00000010  65 72 3a 20 4d 72 20 4e  6f 73 65 79 0a 3d 3d 3d  |er: Mr Nosey.===|
00000020  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
00000030  3d 3d 3d 3d 3d 3d 3d 3d  3d 0a 2d 2d 2d 2d 2d 2d  |=========.------|
00000040  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00000080  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 0a 31 20 4f 76 65  |----------.1 Ove|
00000090  72 76 69 65 77 0a 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |rview.==========|
000000a0  0a 0a 20 20 20 20 4f 6e  65 20 67 72 65 61 74 20  |..    One great |
000000b0  74 68 69 6e 67 20 61 62  6f 75 74 20 61 6e 20 65  |thing about an e|
000000c0  6d 75 6c 61 74 65 64 20  63 6f 6d 70 75 74 65 72  |mulated computer|
000000d0  20 69 73 20 74 68 61 74  20 79 6f 75 20 63 61 6e  | is that you can|
000000e0  20 65 61 73 69 6c 79 20  65 78 74 65 6e 64 0a 74  | easily extend.t|
000000f0  68 65 20 6d 61 63 68 69  6e 65 20 69 6e 20 77 61  |he machine in wa|
00000100  79 73 20 74 68 61 74 20  77 6f 75 6c 64 20 68 61  |ys that would ha|
00000110  76 65 20 62 65 65 6e 20  65 78 70 65 6e 73 69 76  |ve been expensiv|
00000120  65 20 61 6e 64 20 64 69  66 66 69 63 75 6c 74 20  |e and difficult |
00000130  77 69 74 68 20 74 68 65  20 72 65 61 6c 0a 74 68  |with the real.th|
00000140  69 6e 67 2e 20 4d 72 20  4e 6f 73 65 79 20 69 73  |ing. Mr Nosey is|
00000150  20 73 75 63 68 20 61 6e  20 65 78 74 65 6e 73 69  | such an extensi|
00000160  6f 6e 20 74 6f 20 56 69  72 74 75 2e 20 49 74 20  |on to Virtu. It |
00000170  61 64 64 73 20 62 61 73  69 63 20 62 75 74 20 69  |adds basic but i|
00000180  6e 76 61 6c 75 61 62 6c  65 0a 73 6e 6f 6f 70 69  |nvaluable.snoopi|
00000190  6e 67 20 63 61 70 61 62  69 6c 69 74 69 65 73 20  |ng capabilities |
000001a0  6e 6f 72 6d 61 6c 6c 79  20 66 6f 75 6e 64 20 6f  |normally found o|
000001b0  6e 6c 79 20 69 6e 20 27  68 61 72 64 77 61 72 65  |nly in 'hardware|
000001c0  27 20 64 65 62 75 67 67  69 6e 67 20 61 69 64 73  |' debugging aids|
000001d0  20 6c 69 6b 65 0a 73 6e  61 70 2d 73 68 6f 74 20  | like.snap-shot |
000001e0  63 61 72 64 73 2c 20 74  72 61 63 65 20 62 6f 61  |cards, trace boa|
000001f0  72 64 73 20 61 6e 64 20  65 6d 75 6c 61 74 6f 72  |rds and emulator|
00000200  73 2e 0a 0a 20 20 20 20  41 74 20 61 6e 79 20 74  |s...    At any t|
00000210  69 6d 65 20 64 75 72 69  6e 67 20 28 66 75 6c 6c  |ime during (full|
00000220  2d 73 70 65 65 64 29 20  65 6d 75 6c 61 74 69 6f  |-speed) emulatio|
00000230  6e 2c 20 70 72 65 73 73  69 6e 67 20 3c 46 31 3e  |n, pressing <F1>|
00000240  20 69 6e 76 6f 6b 65 73  20 4d 72 20 4e 6f 73 65  | invokes Mr Nose|
00000250  79 2e 0a 46 72 6f 6d 20  74 68 65 72 65 20 79 6f  |y..From there yo|
00000260  75 20 63 61 6e 3a 20 76  69 65 77 20 61 6e 64 20  |u can: view and |
00000270  65 64 69 74 20 74 68 65  20 73 74 61 74 75 73 20  |edit the status |
00000280  6f 66 20 74 68 65 20 43  50 55 3b 20 76 69 65 77  |of the CPU; view|
00000290  2c 20 65 64 69 74 20 61  6e 64 20 73 65 61 72 63  |, edit and searc|
000002a0  68 0a 61 20 68 65 78 2f  41 53 43 49 49 20 64 75  |h.a hex/ASCII du|
000002b0  6d 70 20 6f 66 20 6d 65  6d 6f 72 79 3b 20 76 69  |mp of memory; vi|
000002c0  65 77 20 61 6e 64 20 65  64 69 74 20 61 20 64 69  |ew and edit a di|
000002d0  73 61 73 73 65 6d 62 6c  65 64 20 6c 69 73 74 69  |sassembled listi|
000002e0  6e 67 20 6f 66 20 6d 65  6d 6f 72 79 3b 20 73 65  |ng of memory; se|
000002f0  74 0a 62 72 65 61 6b 2f  77 61 74 63 68 2d 70 6f  |t.break/watch-po|
00000300  69 6e 74 73 3b 20 73 61  76 65 20 73 63 72 65 65  |ints; save scree|
00000310  6e 64 75 6d 70 73 3b 20  64 72 6f 70 20 74 6f 20  |ndumps; drop to |
00000320  74 68 65 20 6d 6f 6e 69  74 6f 72 3b 20 65 78 69  |the monitor; exi|
00000330  74 20 56 69 72 74 75 3b  20 73 74 65 70 20 61 6e  |t Virtu; step an|
00000340  64 0a 74 72 61 63 65 20  65 6d 75 6c 61 74 69 6f  |d.trace emulatio|
00000350  6e 2c 20 6f 72 20 72 65  73 75 6d 65 20 66 75 6c  |n, or resume ful|
00000360  6c 2d 73 70 65 65 64 20  65 78 65 63 75 74 69 6f  |l-speed executio|
00000370  6e 2e 20 54 68 65 20 72  65 73 74 20 6f 66 20 74  |n. The rest of t|
00000380  68 69 73 20 64 6f 63 75  6d 65 6e 74 0a 64 65 74  |his document.det|
00000390  61 69 6c 73 20 74 68 65  73 65 20 66 65 61 74 75  |ails these featu|
000003a0  72 65 73 2e 0a 0a 47 65  6e 65 72 61 6c 20 4e 6f  |res...General No|
000003b0  74 65 73 0a 7e 7e 7e 7e  7e 7e 7e 7e 7e 7e 7e 7e  |tes.~~~~~~~~~~~~|
000003c0  7e 0a 2d 20 61 6c 6c 20  6e 75 6d 65 72 69 63 20  |~.- all numeric |
000003d0  76 61 6c 75 65 73 20 61  72 65 20 69 6e 20 68 65  |values are in he|
000003e0  78 0a 2d 20 65 64 69 74  69 6e 67 20 61 74 20 61  |x.- editing at a|
000003f0  6e 20 61 64 64 72 65 73  73 20 77 72 69 74 65 73  |n address writes|
00000400  20 6f 6e 6c 79 20 74 6f  20 77 68 69 63 68 65 76  | only to whichev|
00000410  65 72 20 62 61 6e 6b 20  69 73 20 73 77 69 74 63  |er bank is switc|
00000420  68 65 64 20 69 6e 0a 20  20 69 65 2e 20 6d 61 69  |hed in.  ie. mai|
00000430  6e 2c 20 61 75 78 2c 20  6c 61 6e 67 75 61 67 65  |n, aux, language|
00000440  20 63 61 72 64 2c 20 52  4f 4d 3b 20 65 64 69 74  | card, ROM; edit|
00000450  73 20 74 6f 20 52 4f 4d  20 5f 61 72 65 5f 20 61  |s to ROM _are_ a|
00000460  6c 6c 6f 77 65 64 0a 2d  20 77 68 65 6e 20 65 64  |llowed.- when ed|
00000470  69 74 69 6e 67 20 76 61  6c 75 65 73 2c 20 75 73  |iting values, us|
00000480  65 20 3c 4c 65 66 74 3e  20 61 6e 64 20 3c 52 69  |e <Left> and <Ri|
00000490  67 68 74 3e 20 74 6f 20  6d 6f 76 65 20 3c 52 65  |ght> to move <Re|
000004a0  74 75 72 6e 3e 20 74 6f  20 61 63 63 65 70 74 0a  |turn> to accept.|
000004b0  20 20 76 61 6c 75 65 2c  20 3c 45 73 63 3e 20 74  |  value, <Esc> t|
000004c0  6f 20 63 61 6e 63 65 6c  20 65 64 69 74 0a 0a 2d  |o cancel edit..-|
000004d0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00000510  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 0a  |---------------.|
00000520  32 20 43 50 55 20 53 74  61 74 75 73 20 53 63 72  |2 CPU Status Scr|
00000530  65 65 6e 0a 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |een.============|
00000540  3d 3d 3d 3d 3d 3d 3d 0a  0a 32 2e 30 20 49 6e 76  |=======..2.0 Inv|
00000550  6f 6b 69 6e 67 0a 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |oking.----------|
00000560  2d 2d 0a 20 20 20 20 56  69 72 74 75 20 70 65 72  |--.    Virtu per|
00000570  69 6f 64 69 63 61 6c 6c  79 20 63 68 65 63 6b 73  |iodically checks|
00000580  20 74 6f 20 73 65 65 20  69 66 20 3c 46 31 3e 20  | to see if <F1> |
00000590  69 73 20 62 65 69 6e 67  20 70 72 65 73 73 65 64  |is being pressed|
000005a0  2e 20 49 66 20 73 6f 2c  20 28 61 6e 64 20 77 68  |. If so, (and wh|
000005b0  65 6e 0a 69 74 20 69 73  20 72 65 6c 65 61 73 65  |en.it is release|
000005c0  64 29 20 4d 72 20 4e 6f  73 65 79 20 69 73 20 69  |d) Mr Nosey is i|
000005d0  6e 76 6f 6b 65 64 20 73  68 6f 77 69 6e 67 20 74  |nvoked showing t|
000005e0  68 65 20 43 50 55 20 73  74 61 74 75 73 20 73 63  |he CPU status sc|
000005f0  72 65 65 6e 2e 20 49 66  20 4d 72 20 4e 6f 73 65  |reen. If Mr Nose|
00000600  79 0a 77 61 73 20 69 6e  20 74 72 61 63 65 20 6d  |y.was in trace m|
00000610  6f 64 65 20 28 73 65 65  20 32 2e 32 20 3c 46 32  |ode (see 2.2 <F2|
00000620  3e 29 20 77 68 65 6e 20  6c 61 73 74 20 65 78 69  |>) when last exi|
00000630  74 65 64 2c 20 74 72 61  63 65 20 6d 6f 64 65 20  |ted, trace mode |
00000640  77 69 6c 6c 20 73 74 69  6c 6c 20 62 65 0a 65 6e  |will still be.en|
00000650  61 63 74 65 64 2e 20 42  65 63 61 75 73 65 20 3c  |acted. Because <|
00000660  46 31 3e 20 69 73 20 61  6c 73 6f 20 74 68 65 20  |F1> is also the |
00000670  6b 65 79 20 74 6f 20 65  78 69 74 20 4d 72 20 4e  |key to exit Mr N|
00000680  6f 73 65 79 2c 20 74 68  69 73 20 69 73 20 61 20  |osey, this is a |
00000690  68 61 6e 64 79 20 77 61  79 20 74 6f 0a 62 72 69  |handy way to.bri|
000006a0  65 66 6c 79 20 70 61 75  73 65 20 65 78 65 63 75  |efly pause execu|
000006b0  74 69 6f 6e 2e 0a 0a 32  2e 31 20 53 63 72 65 65  |tion...2.1 Scree|
000006c0  6e 20 4c 61 79 6f 75 74  0a 2d 2d 2d 2d 2d 2d 2d  |n Layout.-------|
000006d0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 0a 20 20 20 20 54  |----------.    T|
000006e0  68 69 73 20 73 63 72 65  65 6e 20 73 68 6f 77 73  |his screen shows|
000006f0  20 74 68 65 20 73 74 61  74 75 73 20 6f 66 20 74  | the status of t|
00000700  68 65 20 43 50 55 20 61  6e 64 2c 20 66 6f 72 20  |he CPU and, for |
00000710  63 6f 6e 76 65 6e 69 65  6e 63 65 2c 20 74 68 65  |convenience, the|
00000720  20 63 75 72 72 65 6e 74  0a 64 69 73 70 6c 61 79  | current.display|
00000730  20 6d 6f 64 65 20 61 6e  64 20 70 61 67 65 2e 20  | mode and page. |
00000740  54 68 65 20 6c 6f 77 65  72 20 63 61 73 65 20 6c  |The lower case l|
00000750  65 74 74 65 72 73 20 69  6e 20 74 68 65 20 6c 61  |etters in the la|
00000760  79 6f 75 74 20 62 65 6c  6f 77 20 72 65 66 65 72  |yout below refer|
00000770  20 74 6f 20 74 68 65 0a  6c 69 73 74 20 6f 66 20  | to the.list of |
00000780  73 79 6d 62 6f 6c 73 20  74 68 61 74 20 66 6f 6c  |symbols that fol|
00000790  6c 6f 77 73 2e 0a 0a 7e  7e 7e 7e 7e 7e 7e 7e 7e  |lows...~~~~~~~~~|
000007a0  7e 7e 7e 7e 7e 7e 7e 7e  7e 7e 7e 7e 7e 7e 7e 7e  |~~~~~~~~~~~~~~~~|
000007b0  7e 7e 7e 7e 7e 7e 7e 7e  7e 7e 7e 7e 7e 7e 7e 0a  |~~~~~~~~~~~~~~~.|
000007c0  53 50 20 73 2f 30 31 46  45 2d 20 73 31 20 4e 56  |SP s/01FE- s1 NV|
000007d0  52 42 44 49 5a 43 20 50  20 20 41 20 20 58 20 20  |RBDIZC P  A  X  |
000007e0  59 20 20 56 69 64 20 23  0a 73 70 20 73 2f 30 31  |Y  Vid #.sp s/01|
000007f0  46 46 2d 20 73 32 20 6e  76 31 62 64 69 7a 63 20  |FF- s2 nv1bdizc |
00000800  70 70 20 61 61 20 78 78  20 79 79 20 76 76 76 20  |pp aa xx yy vvv |
00000810  70 0a 0a 20 20 20 6b 2f  20 70 63 31 2b 20 69 31  |p..   k/ pc1+ i1|
00000820  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000830  20 20 20 20 20 20 20 20  3b 63 31 0a 50 43 20 6a  |        ;c1.PC j|
00000840  2f 20 70 63 30 2d 20 69  30 20 20 20 20 20 20 20  |/ pc0- i0       |
00000850  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000860  20 3b 63 30 0a 7e 7e 7e  7e 7e 7e 7e 7e 7e 7e 7e  | ;c0.~~~~~~~~~~~|
00000870  7e 7e 7e 7e 7e 7e 7e 7e  7e 7e 7e 7e 7e 7e 7e 7e  |~~~~~~~~~~~~~~~~|
00000880  7e 7e 7e 7e 7e 7e 7e 7e  7e 7e 7e 7e 7e 0a 0a 73  |~~~~~~~~~~~~~..s|
00000890  70 20 20 2b 3d 20 73 74  61 63 6b 20 70 6f 69 6e  |p  += stack poin|
000008a0  74 65 72 0a 73 20 20 20  20 3d 20 73 74 61 63 6b  |ter.s    = stack|
000008b0  20 70 6f 69 6e 74 65 72  20 62 61 6e 6b 20 28 30  | pointer bank (0|
000008c0  3d 6d 61 69 6e 20 6f 72  20 31 3d 61 75 78 29 0a  |=main or 1=aux).|
000008d0  73 31 20 20 2b 3d 20 66  69 72 73 74 20 28 74 6f  |s1  += first (to|
000008e0  70 29 20 76 61 6c 75 65  20 6f 6e 20 74 68 65 20  |p) value on the |
000008f0  73 74 61 63 6b 20 28 61  74 20 73 2f 30 31 30 30  |stack (at s/0100|
00000900  20 2b 20 73 70 20 2b 20  31 29 0a 73 32 20 20 2b  | + sp + 1).s2  +|
00000910  3d 20 73 65 63 6f 6e 64  20 76 61 6c 75 65 20 6f  |= second value o|
00000920  6e 20 74 68 65 20 73 74  61 63 6b 20 28 61 74 20  |n the stack (at |
00000930  73 2f 30 31 30 30 20 2b  20 73 70 20 2b 20 32 29  |s/0100 + sp + 2)|
00000940  0a 6e 20 20 20 2b 3d 20  6e 65 67 61 74 69 76 65  |.n   += negative|
00000950  20 66 6c 61 67 20 28 31  3d 6e 65 67 61 74 69 76  | flag (1=negativ|
00000960  65 29 0a 76 20 20 20 2b  3d 20 6f 76 65 72 66 6c  |e).v   += overfl|
00000970  6f 77 20 66 6c 61 67 20  28 31 3d 73 69 67 6e 65  |ow flag (1=signe|
00000980  64 20 6f 76 65 72 66 6c  6f 77 29 0a 62 20 20 20  |d overflow).b   |
00000990  2b 3d 20 62 72 65 61 6b  20 66 6c 61 67 20 28 31  |+= break flag (1|
000009a0  3d 62 72 65 61 6b 20 6f  63 63 75 72 72 65 64 29  |=break occurred)|
000009b0  0a 64 20 20 20 2b 3d 20  64 65 63 69 6d 61 6c 20  |.d   += decimal |
000009c0  66 6c 61 67 20 28 31 3d  64 65 63 69 6d 61 6c 20  |flag (1=decimal |
000009d0  61 72 69 74 68 6d 65 74  69 63 20 6d 6f 64 65 29  |arithmetic mode)|
000009e0  0a 69 20 20 20 2b 3d 20  69 6e 74 65 72 72 75 70  |.i   += interrup|
000009f0  74 20 66 6c 61 67 20 28  31 3d 49 52 51 20 64 69  |t flag (1=IRQ di|
00000a00  73 61 62 6c 65 64 29 0a  7a 20 20 20 2b 3d 20 7a  |sabled).z   += z|
00000a10  65 72 6f 20 66 6c 61 67  20 28 31 3d 7a 65 72 6f  |ero flag (1=zero|
00000a20  20 61 72 69 74 68 6d 65  74 69 63 20 72 65 73 75  | arithmetic resu|
00000a30  6c 74 29 0a 63 20 20 20  2b 3d 20 63 61 72 72 79  |lt).c   += carry|
00000a40  20 66 6c 61 67 20 28 31  3d 61 72 69 74 68 6d 65  | flag (1=arithme|
00000a50  74 69 63 20 63 61 72 72  79 20 73 65 74 29 0a 70  |tic carry set).p|
00000a60  70 20 20 2b 3d 20 70 72  6f 63 65 73 73 6f 72 20  |p  += processor |
00000a70  73 74 61 74 75 73 20 28  6e 76 31 62 64 69 7a 63  |status (nv1bdizc|
00000a80  29 0a 61 61 20 20 2b 3d  20 61 63 63 75 6d 75 6c  |).aa  += accumul|
00000a90  61 74 6f 72 0a 78 78 20  20 2b 3d 20 78 20 69 6e  |ator.xx  += x in|
00000aa0  64 65 78 20 72 65 67 69  73 74 65 72 0a 79 79 20  |dex register.yy |
00000ab0  20 2b 3d 20 79 20 69 6e  64 65 78 20 72 65 67 69  | += y index regi|
00000ac0  73 74 65 72 0a 76 76 76  20 20 3d 20 76 69 64 65  |ster.vvv  = vide|
00000ad0  6f 20 6d 6f 64 65 20 28  73 65 65 20 6e 6f 74 65  |o mode (see note|
00000ae0  73 29 0a 70 20 20 20 20  3d 20 76 69 64 65 6f 20  |s).p    = video |
00000af0  70 61 67 65 20 28 31 20  6f 72 20 32 29 0a 6a 20  |page (1 or 2).j |
00000b00  20 20 20 3d 20 62 61 6e  6b 20 6f 66 20 70 72 6f  |   = bank of pro|
00000b10  67 72 61 6d 20 63 6f 75  6e 74 65 72 20 28 30 3d  |gram counter (0=|
00000b20  6d 61 69 6e 20 6f 72 20  31 3d 61 75 78 29 0a 6b  |main or 1=aux).k|
00000b30  20 20 20 20 3d 20 62 61  6e 6b 20 6f 66 20 70 72  |    = bank of pr|
00000b40  65 76 69 6f 75 73 20 70  72 6f 67 72 61 6d 20 63  |evious program c|
00000b50  6f 75 6e 74 65 72 20 28  30 3d 6d 61 69 6e 20 6f  |ounter (0=main o|
00000b60  72 20 31 3d 61 75 78 2c  20 69 66 20 61 76 61 69  |r 1=aux, if avai|
00000b70  6c 61 62 6c 65 29 0a 70  63 30 20 2b 3d 20 70 72  |lable).pc0 += pr|
00000b80  6f 67 72 61 6d 20 63 6f  75 6e 74 65 72 20 28 61  |ogram counter (a|
00000b90  64 64 72 65 73 73 20 6f  66 20 6e 65 78 74 20 69  |ddress of next i|
00000ba0  6e 73 74 72 75 63 74 69  6f 6e 29 0a 20 20 20 20  |nstruction).    |
00000bb0  20 20 20 66 6f 6c 6c 6f  77 65 64 20 62 79 20 27  |   followed by '|
00000bc0  2b 27 20 69 66 20 61 20  62 72 65 61 6b 70 6f 69  |+' if a breakpoi|
00000bd0  6e 74 20 6f 72 20 27 2d  27 20 69 66 20 6e 6f 74  |nt or '-' if not|
00000be0  0a 70 63 31 20 20 3d 20  70 72 65 76 69 6f 75 73  |.pc1  = previous|
00000bf0  20 70 72 6f 67 72 61 6d  20 63 6f 75 6e 74 65 72  | program counter|
00000c00  20 28 61 64 64 72 65 73  73 20 6f 66 20 70 72 65  | (address of pre|
00000c10  76 69 6f 75 73 20 69 6e  73 74 72 75 63 74 69 6f  |vious instructio|
00000c20  6e 2c 20 69 66 20 61 76  61 69 6c 61 62 6c 65 29  |n, if available)|
00000c30  0a 20 20 20 20 20 20 20  66 6f 6c 6c 6f 77 65 64  |.       followed|
00000c40  20 62 79 20 27 2b 27 20  69 66 20 61 20 62 72 65  | by '+' if a bre|
00000c50  61 6b 70 6f 69 6e 74 20  6f 72 20 27 2d 27 20 69  |akpoint or '-' i|
00000c60  66 20 6e 6f 74 0a 69 30  20 20 20 3d 20 64 69 73  |f not.i0   = dis|
00000c70  61 73 73 65 6d 62 6c 79  20 6f 66 20 6e 65 78 74  |assembly of next|
00000c80  20 69 6e 73 74 72 75 63  74 69 6f 6e 0a 69 31 20  | instruction.i1 |
00000c90  20 20 3d 20 64 69 73 61  73 73 65 6d 62 6c 79 20  |  = disassembly |
00000ca0  6f 66 20 70 72 65 76 69  6f 75 73 20 69 6e 73 74  |of previous inst|
00000cb0  72 75 63 74 69 6f 6e 20  28 69 66 20 61 76 61 69  |ruction (if avai|
00000cc0  6c 61 62 6c 65 29 0a 63  30 20 20 20 3d 20 63 6f  |lable).c0   = co|
00000cd0  6d 6d 65 6e 74 20 66 6f  72 20 65 66 66 65 63 74  |mment for effect|
00000ce0  69 76 65 20 61 64 64 72  65 73 73 20 6f 66 20 6e  |ive address of n|
00000cf0  65 78 74 20 69 6e 73 74  72 75 63 74 69 6f 6e 20  |ext instruction |
00000d00  28 69 66 20 61 76 61 69  6c 61 62 6c 65 29 0a 63  |(if available).c|
00000d10  31 20 20 20 3d 20 63 6f  6d 6d 65 6e 74 20 66 6f  |1   = comment fo|
00000d20  72 20 65 66 66 65 63 74  69 76 65 20 61 64 64 72  |r effective addr|
00000d30  65 73 73 20 6f 66 20 70  72 65 76 69 6f 75 73 20  |ess of previous |
00000d40  69 6e 73 74 72 75 63 74  69 6f 6e 20 28 69 66 20  |instruction (if |
00000d50  61 76 61 69 6c 61 62 6c  65 29 0a 0a 4e 6f 74 65  |available)..Note|
00000d60  73 0a 7e 7e 7e 7e 7e 0a  2d 20 69 6e 20 74 68 65  |s.~~~~~.- in the|
00000d70  20 6c 69 73 74 20 61 62  6f 76 65 20 22 2b 3d 22  | list above "+="|
00000d80  20 64 65 6e 6f 74 65 73  20 74 68 65 20 76 61 6c  | denotes the val|
00000d90  75 65 20 63 61 6e 20 62  65 20 6d 6f 64 69 66 69  |ue can be modifi|
00000da0  65 64 0a 2d 20 74 68 65  20 52 20 28 72 65 73 65  |ed.- the R (rese|
00000db0  72 76 65 64 29 20 66 6c  61 67 20 69 73 20 61 6c  |rved) flag is al|
00000dc0  77 61 79 73 20 61 73 73  65 72 74 65 64 20 62 79  |ways asserted by|
00000dd0  20 74 68 65 20 68 61 72  64 77 61 72 65 20 74 6f  | the hardware to|
00000de0  20 31 0a 2d 20 6b 2c 20  70 63 31 2c 20 69 31 20  | 1.- k, pc1, i1 |
00000df0  61 6e 64 20 63 31 20 61  72 65 20 61 76 61 69 6c  |and c1 are avail|
00000e00  61 62 6c 65 20 6f 6e 6c  79 20 69 66 20 74 68 65  |able only if the|
00000e10  20 6c 61 73 74 20 69 6e  73 74 72 75 63 74 69 6f  | last instructio|
00000e20  6e 20 77 61 73 0a 20 20  65 78 65 63 75 74 65 64  |n was.  executed|
00000e30  20 69 6e 20 73 74 65 70  2c 20 74 72 61 63 65 20  | in step, trace |
00000e40  6f 72 20 72 75 6e 20 6d  6f 64 65 73 20 28 6e 6f  |or run modes (no|
00000e50  74 20 66 75 6c 6c 2d 73  70 65 65 64 20 65 78 65  |t full-speed exe|
00000e60  63 75 74 69 6f 6e 29 0a  2d 20 63 30 20 61 6e 64  |cution).- c0 and|
00000e70  20 63 31 20 77 69 6c 6c  20 72 65 66 6c 65 63 74  | c1 will reflect|
00000e80  20 61 6e 79 20 72 65 67  69 73 74 65 72 73 20 6f  | any registers o|
00000e90  72 20 69 6e 64 69 72 65  63 74 69 6f 6e 20 69 6e  |r indirection in|
00000ea0  76 6f 6c 76 65 64 20 69  6e 20 69 30 20 61 6e 64  |volved in i0 and|
00000eb0  20 69 31 0a 20 20 65 67  2e 20 69 30 3d 22 4c 44  | i1.  eg. i0="LD|
00000ec0  41 20 24 34 30 43 30 2c  59 22 20 72 65 73 75 6c  |A $40C0,Y" resul|
00000ed0  74 73 20 69 6e 20 63 30  3d 22 3b 3d 24 34 31 36  |ts in c0=";=$416|
00000ee0  43 22 20 77 68 65 6e 20  79 79 3d 41 43 0a 20 20  |C" when yy=AC.  |
00000ef0  73 65 65 20 64 69 73 61  73 73 65 6d 62 6c 79 20  |see disassembly |
00000f00  28 33 2e 31 29 20 66 6f  72 20 6d 6f 72 65 20 69  |(3.1) for more i|
00000f10  6e 66 6f 72 6d 61 74 69  6f 6e 20 6f 6e 20 69 6e  |nformation on in|
00000f20  73 74 72 75 63 74 69 6f  6e 20 64 69 73 61 73 73  |struction disass|
00000f30  65 6d 62 6c 79 0a 2d 20  76 61 6c 75 65 73 20 66  |embly.- values f|
00000f40  6f 72 20 76 76 76 20 28  76 69 64 65 6f 20 6d 6f  |or vvv (video mo|
00000f50  64 65 29 20 61 72 65 3a  0a 0a 20 20 4c 4f 52 20  |de) are:..  LOR |
00000f60  3d 20 4c 6f 72 65 73 0a  20 20 54 58 34 20 3d 20  |= Lores.  TX4 = |
00000f70  54 65 78 74 20 34 30 0a  20 20 54 58 38 20 3d 20  |Text 40.  TX8 = |
00000f80  54 65 78 74 20 38 30 0a  20 20 4c 52 34 20 3d 20  |Text 80.  LR4 = |
00000f90  4c 6f 72 65 73 20 26 20  54 65 78 74 20 34 30 0a  |Lores & Text 40.|
00000fa0  20 20 4c 52 38 20 3d 20  4c 6f 72 65 73 20 26 20  |  LR8 = Lores & |
00000fb0  54 65 78 74 20 38 30 0a  20 20 48 49 52 20 3d 20  |Text 80.  HIR = |
00000fc0  48 69 72 65 73 0a 20 20  48 52 34 20 3d 20 48 69  |Hires.  HR4 = Hi|
00000fd0  72 65 73 20 26 20 54 65  78 74 20 34 30 0a 20 20  |res & Text 40.  |
00000fe0  48 52 38 20 3d 20 48 69  72 65 73 20 26 20 54 65  |HR8 = Hires & Te|
00000ff0  78 74 20 38 30 0a 20 20  58 4c 52 20 3d 20 37 4d  |xt 80.  XLR = 7M|
00001000  20 4c 6f 72 65 73 0a 20  20 44 4c 52 20 3d 20 44  | Lores.  DLR = D|
00001010  6f 75 62 6c 65 20 4c 6f  72 65 73 0a 20 20 58 4c  |ouble Lores.  XL|
00001020  34 20 3d 20 37 4d 20 4c  6f 72 65 73 20 26 20 54  |4 = 7M Lores & T|
00001030  65 78 74 20 34 30 0a 20  20 44 4c 38 20 3d 20 44  |ext 40.  DL8 = D|
00001040  6f 75 62 6c 65 20 4c 6f  72 65 73 20 26 20 54 65  |ouble Lores & Te|
00001050  78 74 20 38 30 0a 20 20  58 48 52 20 3d 20 4e 44  |xt 80.  XHR = ND|
00001060  20 48 69 72 65 73 0a 20  20 44 48 52 20 3d 20 44  | Hires.  DHR = D|
00001070  6f 75 62 6c 65 20 48 69  72 65 73 0a 20 20 58 48  |ouble Hires.  XH|
00001080  34 20 3d 20 4e 44 20 48  69 72 65 73 20 26 20 54  |4 = ND Hires & T|
00001090  65 78 74 20 34 30 0a 20  20 44 48 38 20 3d 20 44  |ext 40.  DH8 = D|
000010a0  6f 75 62 6c 65 20 48 69  72 65 73 20 26 20 54 65  |ouble Hires & Te|
000010b0  78 74 20 38 30 0a 0a 32  2e 32 20 4b 65 79 73 0a  |xt 80..2.2 Keys.|
000010c0  2d 2d 2d 2d 2d 2d 2d 2d  0a 0a 45 78 65 63 75 74  |--------..Execut|
000010d0  69 6f 6e 0a 7e 7e 7e 7e  7e 7e 7e 7e 7e 0a 3c 46  |ion.~~~~~~~~~.<F|
000010e0  31 3e 20 20 20 20 20 20  20 20 3d 20 72 65 73 75  |1>        = resu|
000010f0  6d 65 20 66 75 6c 6c 2d  73 70 65 65 64 20 65 78  |me full-speed ex|
00001100  65 63 75 74 69 6f 6e 20  28 65 78 69 74 20 4d 72  |ecution (exit Mr|
00001110  20 4e 6f 73 65 79 29 0a  20 20 20 20 20 20 20 20  | Nosey).        |
00001120  20 20 20 20 20 20 72 65  2d 65 6e 74 65 72 20 6f  |      re-enter o|
00001130  6e 20 3c 46 31 3e 0a 3c  43 74 72 6c 2d 46 31 3e  |n <F1>.<Ctrl-F1>|
00001140  20 20 20 3d 20 73 74 61  72 74 20 72 75 6e 20 6d  |   = start run m|
00001150  6f 64 65 20 28 43 50 55  20 73 74 61 74 75 73 20  |ode (CPU status |
00001160  73 63 72 65 65 6e 20 6e  6f 74 20 64 69 73 70 6c  |screen not displ|
00001170  61 79 65 64 29 0a 20 20  20 20 20 20 20 20 20 20  |ayed).          |
00001180  20 20 20 20 72 65 2d 65  6e 74 65 72 20 6f 6e 20  |    re-enter on |
00001190  3c 46 31 3e 20 6f 72 20  62 72 65 61 6b 2f 77 61  |<F1> or break/wa|
000011a0  74 63 68 70 6f 69 6e 74  0a 3c 46 32 3e 20 20 20  |tchpoint.<F2>   |
000011b0  20 20 20 20 20 3d 20 74  6f 67 67 6c 65 20 74 72  |     = toggle tr|
000011c0  61 63 65 20 6d 6f 64 65  20 28 43 50 55 20 73 74  |ace mode (CPU st|
000011d0  61 74 75 73 20 73 63 72  65 65 6e 20 64 69 73 70  |atus screen disp|
000011e0  6c 61 79 65 64 20 61 6e  64 20 75 70 64 61 74 65  |layed and update|
000011f0  64 29 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |d).             |
00001200  20 64 69 73 70 6c 61 79  20 74 72 61 63 65 20 75  | display trace u|
00001210  6e 74 69 6c 20 3c 46 31  3e 2c 20 3c 43 74 72 6c  |ntil <F1>, <Ctrl|
00001220  2d 46 31 3e 2c 20 3c 46  32 3e 2c 20 3c 46 31 32  |-F1>, <F2>, <F12|
00001230  3e 2c 20 3c 43 74 72 6c  2d 46 31 32 3e 0a 20 20  |>, <Ctrl-F12>.  |
00001240  20 20 20 20 20 20 20 20  20 20 20 20 6f 72 20 62  |            or b|
00001250  72 65 61 6b 2f 77 61 74  63 68 70 6f 69 6e 74 0a  |reak/watchpoint.|
00001260  3c 46 33 3e 20 20 20 20  20 20 20 20 3d 20 72 75  |<F3>        = ru|
00001270  6e 20 75 6e 74 69 6c 20  69 6e 73 74 72 75 63 74  |n until instruct|
00001280  69 6f 6e 20 61 66 74 65  72 20 6e 65 78 74 20 6f  |ion after next o|
00001290  72 20 62 72 65 61 6b 2f  77 61 74 63 68 70 6f 69  |r break/watchpoi|
000012a0  6e 74 20 28 73 74 65 70  20 6f 76 65 72 29 0a 20  |nt (step over). |
000012b0  20 20 20 20 20 20 20 20  20 20 20 20 20 65 67 2e  |             eg.|
000012c0  20 72 75 6e 20 75 6e 74  69 6c 20 62 72 61 6e 63  | run until branc|
000012d0  68 20 66 61 69 6c 73 2c  20 6f 72 20 4a 53 52 20  |h fails, or JSR |
000012e0  72 65 74 75 72 6e 73 20  28 6f 72 20 62 72 65 61  |returns (or brea|
000012f0  6b 2f 77 61 74 63 68 70  6f 69 6e 74 29 0a 3c 46  |k/watchpoint).<F|
00001300  34 3e 20 20 20 20 20 20  20 20 3d 20 73 74 65 70  |4>        = step|
00001310  20 6f 6e 65 20 69 6e 73  74 72 75 63 74 69 6f 6e  | one instruction|
00001320  20 28 73 74 65 70 20 69  6e 74 6f 29 0a 3c 43 74  | (step into).<Ct|
00001330  72 6c 2d 46 31 32 3e 20  20 3d 20 61 62 73 6f 6c  |rl-F12>  = absol|
00001340  75 74 65 20 72 65 73 65  74 3a 20 50 43 20 3d 20  |ute reset: PC = |
00001350  24 46 46 35 39 20 28 4f  6c 64 52 73 74 29 2c 20  |$FF59 (OldRst), |
00001360  53 50 20 3d 20 23 24 46  46 2c 20 72 65 73 75 6d  |SP = #$FF, resum|
00001370  65 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |e.              |
00001380  66 75 6c 6c 2d 73 70 65  65 64 20 65 78 65 63 75  |full-speed execu|
00001390  74 69 6f 6e 0a 0a 4d 6f  64 65 0a 7e 7e 7e 7e 0a  |tion..Mode.~~~~.|
000013a0  3c 46 35 3e 20 20 20 20  20 20 20 20 3d 20 65 6e  |<F5>        = en|
000013b0  74 65 72 20 64 69 73 61  73 73 65 6d 62 6c 65 72  |ter disassembler|
000013c0  0a 3c 46 36 3e 20 20 20  20 20 20 20 20 3d 20 65  |.<F6>        = e|
000013d0  6e 74 65 72 20 68 65 78  2f 41 53 43 49 49 20 64  |nter hex/ASCII d|
000013e0  75 6d 70 0a 3c 46 38 3e  20 20 20 20 20 20 20 20  |ump.<F8>        |
000013f0  3d 20 65 6e 74 65 72 20  62 72 65 61 6b 70 6f 69  |= enter breakpoi|
00001400  6e 74 20 65 64 69 74 6f  72 0a 3c 6c 3e 20 6f 72  |nt editor.<l> or|
00001410  20 3c 4c 3e 20 20 3d 20  6c 69 73 74 20 61 74 20  | <L>  = list at |
00001420  70 63 30 20 28 65 6e 74  65 72 20 64 69 73 61 73  |pc0 (enter disas|
00001430  73 65 6d 62 6c 65 72 29  0a 3c 64 3e 20 6f 72 20  |sembler).<d> or |
00001440  3c 44 3e 20 20 3d 20 64  75 6d 70 20 61 74 20 65  |<D>  = dump at e|
00001450  66 66 65 63 74 69 76 65  20 61 64 64 72 65 73 73  |ffective address|
00001460  20 69 66 20 61 70 70 6c  69 63 61 62 6c 65 20 65  | if applicable e|
00001470  6c 73 65 20 61 74 20 70  63 30 0a 20 20 20 20 20  |lse at pc0.     |
00001480  20 20 20 20 20 20 20 20  20 28 65 6e 74 65 72 20  |         (enter |
00001490  64 75 6d 70 65 72 29 0a  0a 45 64 69 74 69 6e 67  |dumper)..Editing|
000014a0  0a 7e 7e 7e 7e 7e 7e 7e  0a 3c 49 6e 73 3e 20 20  |.~~~~~~~.<Ins>  |
000014b0  20 20 20 20 20 3d 20 74  6f 67 67 6c 65 20 62 72  |     = toggle br|
000014c0  65 61 6b 70 6f 69 6e 74  20 61 74 20 70 63 30 3a  |eakpoint at pc0:|
000014d0  20 74 6f 67 67 6c 65 73  20 65 78 69 73 74 69 6e  | toggles existin|
000014e0  67 20 62 72 65 61 6b 70  6f 69 6e 74 20 76 61 6c  |g breakpoint val|
000014f0  75 65 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |ue.             |
00001500  20 69 66 20 6c 69 73 74  65 64 20 65 6c 73 65 20  | if listed else |
00001510  75 73 65 73 20 66 69 72  73 74 20 64 69 73 61 62  |uses first disab|
00001520  6c 65 64 20 62 72 65 61  6b 70 6f 69 6e 74 20 77  |led breakpoint w|
00001530  69 74 68 20 76 61 6c 75  65 20 30 0a 3c 4c 65 66  |ith value 0.<Lef|
00001540  74 3e 20 20 20 20 20 20  3d 20 6d 6f 76 65 20 63  |t>      = move c|
00001550  75 72 73 6f 72 20 6c 65  66 74 0a 3c 52 69 67 68  |ursor left.<Righ|
00001560  74 3e 20 20 20 20 20 3d  20 6d 6f 76 65 20 63 75  |t>     = move cu|
00001570  72 73 6f 72 20 72 69 67  68 74 0a 3c 55 70 3e 20  |rsor right.<Up> |
00001580  20 20 20 20 20 20 20 3d  20 6d 6f 76 65 20 63 75  |       = move cu|
00001590  72 73 6f 72 20 75 70 0a  3c 44 6f 77 6e 3e 20 20  |rsor up.<Down>  |
000015a0  20 20 20 20 3d 20 6d 6f  76 65 20 63 75 72 73 6f  |    = move curso|
000015b0  72 20 64 6f 77 6e 0a 3c  52 65 74 75 72 6e 3e 20  |r down.<Return> |
000015c0  20 20 20 3d 20 65 64 69  74 20 63 75 72 73 6f 72  |   = edit cursor|
000015d0  20 73 65 6c 65 63 74 69  6f 6e 20 76 61 6c 75 65  | selection value|
000015e0  0a 0a 4d 69 73 63 65 6c  6c 61 6e 65 6f 75 73 0a  |..Miscellaneous.|
000015f0  7e 7e 7e 7e 7e 7e 7e 7e  7e 7e 7e 7e 7e 0a 3c 46  |~~~~~~~~~~~~~.<F|
00001600  39 3e 20 20 20 20 20 20  20 20 3d 20 73 61 76 65  |9>        = save|
00001610  20 61 20 73 63 72 65 65  6e 64 75 6d 70 0a 3c 46  | a screendump.<F|
00001620  31 32 3e 20 20 20 20 20  20 20 3d 20 65 78 69 74  |12>       = exit|
00001630  20 56 69 72 74 75 0a 0a  2d 2d 2d 2d 2d 2d 2d 2d  | Virtu..--------|
00001640  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00001680  2d 2d 2d 2d 2d 2d 2d 2d  0a 33 20 44 69 73 61 73  |--------.3 Disas|
00001690  73 65 6d 62 6c 79 20 53  63 72 65 65 6e 0a 3d 3d  |sembly Screen.==|
000016a0  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
000016b0  3d 3d 0a 0a 33 2e 30 20  49 6e 76 6f 6b 69 6e 67  |==..3.0 Invoking|
000016c0  0a 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 0a 20 20  |.------------.  |
000016d0  20 20 46 72 6f 6d 20 61  6e 79 20 64 65 62 75 67  |  From any debug|
000016e0  67 65 72 20 73 63 72 65  65 6e 20 70 72 65 73 73  |ger screen press|
000016f0  20 3c 46 35 3e 20 74 6f  20 65 6e 74 65 72 20 74  | <F5> to enter t|
00001700  68 65 20 64 69 73 61 73  73 65 6d 62 6c 65 72 2e  |he disassembler.|
00001710  20 54 68 65 20 64 69 73  70 6c 61 79 0a 64 65 66  | The display.def|
00001720  61 75 6c 74 73 20 74 6f  20 74 68 65 20 70 72 65  |aults to the pre|
00001730  76 69 6f 75 73 20 61 64  64 72 65 73 73 20 76 69  |vious address vi|
00001740  65 77 65 64 2e 20 50 72  65 73 73 69 6e 67 20 3c  |ewed. Pressing <|
00001750  45 73 63 3e 20 72 65 74  75 72 6e 73 20 74 6f 20  |Esc> returns to |
00001760  74 68 65 20 43 50 55 0a  73 74 61 74 75 73 20 73  |the CPU.status s|
00001770  63 72 65 65 6e 2e 0a 0a  33 2e 31 20 53 63 72 65  |creen...3.1 Scre|
00001780  65 6e 20 4c 61 79 6f 75  74 0a 2d 2d 2d 2d 2d 2d  |en Layout.------|
00001790  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 0a 20 20 20 20  |-----------.    |
000017a0  41 20 73 65 71 75 65 6e  74 69 61 6c 20 64 69 73  |A sequential dis|
000017b0  61 73 73 65 6d 62 6c 79  20 6f 66 20 66 69 76 65  |assembly of five|
000017c0  20 69 6e 73 74 72 75 63  74 69 6f 6e 73 20 69 73  | instructions is|
000017d0  20 64 69 73 70 6c 61 79  65 64 3b 20 74 68 65 20  | displayed; the |
000017e0  74 6f 70 20 6c 69 6e 65  20 69 73 0a 65 64 69 74  |top line is.edit|
000017f0  61 62 6c 65 2e 20 54 68  65 20 6c 6f 77 65 72 20  |able. The lower |
00001800  63 61 73 65 20 6c 65 74  74 65 72 73 20 69 6e 20  |case letters in |
00001810  74 68 65 20 6c 61 79 6f  75 74 20 62 65 6c 6f 77  |the layout below|
00001820  20 72 65 66 65 72 20 74  6f 20 74 68 65 20 6c 69  | refer to the li|
00001830  73 74 20 6f 66 0a 73 79  6d 62 6f 6c 73 20 74 68  |st of.symbols th|
00001840  61 74 20 66 6f 6c 6c 6f  77 73 2e 0a 0a 7e 7e 7e  |at follows...~~~|
00001850  7e 7e 7e 7e 7e 7e 7e 7e  7e 7e 7e 7e 7e 7e 7e 7e  |~~~~~~~~~~~~~~~~|
*
00001870  7e 7e 7e 7e 7e 0a 20 20  20 62 2f 61 61 61 61 2d  |~~~~~.   b/aaaa-|
00001880  20 69 2e 2e 2e 20 20 20  20 20 20 20 20 20 20 20  | i...           |
00001890  20 20 20 20 20 20 20 20  20 3b 63 2e 2e 2e 0a 20  |         ;c.... |
000018a0  20 20 2a 2f 32 30 30 30  2d 20 53 54 5a 20 24 30  |  */2000- STZ $0|
000018b0  32 30 31 20 20 20 20 20  20 20 20 20 20 20 20 3b  |201            ;|
000018c0  49 6e 2b 30 30 30 31 0a  20 20 20 2a 2f 32 30 30  |In+0001.   */200|
000018d0  33 2d 20 53 54 41 20 24  32 30 2c 58 20 20 20 20  |3- STA $20,X    |
000018e0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 3b  |               ;|
000018f0  0a 20 20 20 2a 2f 32 30  30 35 2d 20 3f 3f 3f 20  |.   */2005- ??? |
00001900  45 32 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |E2              |
00001910  20 20 20 20 20 20 20 20  3b 0a 50 43 20 2a 2f 32  |        ;.PC */2|
00001920  30 30 37 2d 20 4e 4f 50  20 35 43 20 35 43 20 20  |007- NOP 5C 5C  |
00001930  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001940  20 3b 0a 7e 7e 7e 7e 7e  7e 7e 7e 7e 7e 7e 7e 7e  | ;.~~~~~~~~~~~~~|
00001950  7e 7e 7e 7e 7e 7e 7e 7e  7e 7e 7e 7e 7e 7e 7e 7e  |~~~~~~~~~~~~~~~~|
00001960  7e 7e 7e 7e 7e 7e 7e 7e  7e 7e 7e 0a 0a 62 20 20  |~~~~~~~~~~~..b  |
00001970  20 20 3d 20 62 61 6e 6b  20 6f 66 20 69 6e 73 74  |  = bank of inst|
00001980  72 75 63 74 69 6f 6e 20  61 64 64 72 65 73 73 20  |ruction address |
00001990  28 6e 6f 74 20 64 69 73  70 6c 61 79 65 64 3a 20  |(not displayed: |
000019a0  63 75 72 72 65 6e 74 6c  79 20 27 2a 27 29 0a 61  |currently '*').a|
000019b0  61 61 61 20 3d 20 61 64  64 72 65 73 73 20 6f 66  |aaa = address of|
000019c0  20 64 69 73 61 73 73 65  6d 62 6c 65 64 20 69 6e  | disassembled in|
000019d0  73 74 72 75 63 74 69 6f  6e 0a 20 20 20 20 20 20  |struction.      |
000019e0  20 66 6f 6c 6c 6f 77 65  64 20 62 79 20 27 2b 27  | followed by '+'|
000019f0  20 69 66 20 61 20 62 72  65 61 6b 70 6f 69 6e 74  | if a breakpoint|
00001a00  20 6f 72 20 27 2d 27 20  69 66 20 6e 6f 74 0a 69  | or '-' if not.i|
00001a10  2e 2e 2e 20 3d 20 64 69  73 61 73 73 65 6d 62 6c  |... = disassembl|
00001a20  65 64 20 69 6e 73 74 72  75 63 74 69 6f 6e 0a 63  |ed instruction.c|
00001a30  2e 2e 2e 20 3d 20 63 6f  6d 6d 65 6e 74 20 66 6f  |... = comment fo|
00001a40  72 20 69 6e 73 74 72 75  63 74 69 6f 6e 20 28 69  |r instruction (i|
00001a50  66 20 61 76 61 69 6c 61  62 6c 65 29 0a 0a 4e 6f  |f available)..No|
00001a60  74 65 73 0a 7e 7e 7e 7e  7e 0a 2d 20 61 6c 74 68  |tes.~~~~~.- alth|
00001a70  6f 75 67 68 20 62 20 69  73 20 6e 6f 74 20 64 69  |ough b is not di|
00001a80  73 70 6c 61 79 65 64 2c  20 69 74 73 20 76 61 6c  |splayed, its val|
00001a90  75 65 20 69 73 20 77 68  61 74 65 76 65 72 20 69  |ue is whatever i|
00001aa0  73 20 61 70 70 72 6f 70  72 69 61 74 65 20 66 6f  |s appropriate fo|
00001ab0  72 0a 20 20 74 68 61 74  20 61 64 64 72 65 73 73  |r.  that address|
00001ac0  20 67 69 76 65 6e 20 74  68 65 20 63 75 72 72 65  | given the curre|
00001ad0  6e 74 20 6d 65 6d 6f 72  79 20 6d 61 70 20 73 74  |nt memory map st|
00001ae0  61 74 65 0a 2d 20 69 6e  73 74 72 75 63 74 69 6f  |ate.- instructio|
00001af0  6e 20 64 69 73 61 73 73  65 6d 62 6c 79 20 72 65  |n disassembly re|
00001b00  66 6c 65 63 74 73 20 74  68 65 20 73 74 61 74 65  |flects the state|
00001b10  20 6f 66 20 74 68 65 20  36 35 43 30 32 20 6f 70  | of the 65C02 op|
00001b20  74 69 6f 6e 3a 20 36 35  43 30 32 0a 20 20 73 70  |tion: 65C02.  sp|
00001b30  65 63 69 66 69 63 20 6f  70 63 6f 64 65 73 20 61  |ecific opcodes a|
00001b40  72 65 20 64 69 73 70 6c  61 79 65 64 20 6f 6e 6c  |re displayed onl|
00001b50  79 20 69 66 20 36 35 43  30 32 20 69 73 20 73 65  |y if 65C02 is se|
00001b60  6c 65 63 74 65 64 20 28  73 65 65 20 32 30 30 30  |lected (see 2000|
00001b70  2c 20 61 62 6f 76 65 29  0a 2d 20 69 6c 6c 65 67  |, above).- illeg|
00001b80  61 6c 20 36 35 30 32 20  6f 70 63 6f 64 65 73 20  |al 6502 opcodes |
00001b90  61 72 65 20 64 69 73 70  6c 61 79 65 64 20 61 73  |are displayed as|
00001ba0  20 22 3f 3f 3f 22 20 66  6f 6c 6c 6f 77 65 64 20  | "???" followed |
00001bb0  62 79 20 30 2c 20 31 20  6f 72 20 32 20 62 79 74  |by 0, 1 or 2 byt|
00001bc0  65 73 0a 20 20 64 65 70  65 6e 64 69 6e 67 20 6f  |es.  depending o|
00001bd0  6e 20 77 68 65 74 68 65  72 20 74 68 65 20 69 6c  |n whether the il|
00001be0  6c 65 67 61 6c 20 6f 70  63 6f 64 65 20 74 61 6b  |legal opcode tak|
00001bf0  65 73 20 61 6e 20 6f 70  65 72 61 6e 64 20 28 73  |es an operand (s|
00001c00  65 65 20 32 30 30 35 2c  20 61 62 6f 76 65 29 0a  |ee 2005, above).|
00001c10  2d 20 69 6c 6c 65 67 61  6c 20 36 35 43 30 32 20  |- illegal 65C02 |
00001c20  6f 70 63 6f 64 65 73 20  61 72 65 20 64 69 73 70  |opcodes are disp|
00001c30  6c 61 79 65 64 20 61 73  20 22 4e 4f 50 22 20 66  |layed as "NOP" f|
00001c40  6f 6c 6c 6f 77 65 64 20  62 79 20 30 2c 20 31 20  |ollowed by 0, 1 |
00001c50  6f 72 20 32 20 62 79 74  65 73 0a 20 20 64 65 70  |or 2 bytes.  dep|
00001c60  65 6e 64 69 6e 67 20 6f  6e 20 77 68 65 74 68 65  |ending on whethe|
00001c70  72 20 74 68 65 20 69 6c  6c 65 67 61 6c 20 6f 70  |r the illegal op|
00001c80  63 6f 64 65 20 74 61 6b  65 73 20 61 6e 20 6f 70  |code takes an op|
00001c90  65 72 61 6e 64 20 28 73  65 65 20 32 30 30 37 2c  |erand (see 2007,|
00001ca0  20 61 62 6f 76 65 29 0a  2d 20 77 68 65 6e 20 65  | above).- when e|
00001cb0  64 69 74 69 6e 67 20 69  6e 73 74 72 75 63 74 69  |diting instructi|
00001cc0  6f 6e 73 2c 20 61 6e 79  20 69 6e 73 74 72 75 63  |ons, any instruc|
00001cd0  74 69 6f 6e 20 63 61 6e  20 62 65 20 65 6e 74 65  |tion can be ente|
00001ce0  72 65 64 20 74 68 61 74  20 69 73 20 6c 65 67 61  |red that is lega|
00001cf0  6c 0a 20 20 61 63 63 6f  72 64 69 6e 67 20 74 6f  |l.  according to|
00001d00  20 75 73 75 61 6c 20 63  6f 6e 76 65 6e 74 69 6f  | usual conventio|
00001d10  6e 73 20 61 6e 64 20 74  68 65 20 73 74 61 74 65  |ns and the state|
00001d20  20 6f 66 20 74 68 65 20  36 35 43 30 32 20 6f 70  | of the 65C02 op|
00001d30  74 69 6f 6e 3b 20 74 68  65 0a 20 20 6f 6e 65 20  |tion; the.  one |
00001d40  65 78 63 65 70 74 69 6f  6e 20 74 6f 20 74 68 69  |exception to thi|
00001d50  73 20 69 73 20 74 68 61  74 20 61 20 27 48 45 58  |s is that a 'HEX|
00001d60  27 20 6f 70 63 6f 64 65  20 6d 61 79 20 62 65 20  |' opcode may be |
00001d70  66 6f 6c 6c 6f 77 65 64  20 62 79 20 73 70 61 63  |followed by spac|
00001d80  65 0a 20 20 73 65 70 65  72 61 74 65 64 20 68 65  |e.  seperated he|
00001d90  78 20 64 61 74 61 20 65  67 20 27 48 45 58 20 30  |x data eg 'HEX 0|
00001da0  31 20 30 32 20 30 33 27  0a 2d 20 63 6f 6d 6d 65  |1 02 03'.- comme|
00001db0  6e 74 73 20 66 6f 72 20  65 66 66 65 63 74 69 76  |nts for effectiv|
00001dc0  65 20 61 64 64 72 65 73  73 65 73 20 77 69 6c 6c  |e addresses will|
00001dd0  20 6e 6f 74 20 62 65 20  64 69 73 70 6c 61 79 65  | not be displaye|
00001de0  64 20 77 68 65 6e 20 69  6e 73 74 72 75 63 74 69  |d when instructi|
00001df0  6f 6e 73 0a 20 20 75 73  65 20 58 2c 20 59 20 6f  |ons.  use X, Y o|
00001e00  72 20 69 6e 64 69 72 65  63 74 69 6f 6e 20 73 69  |r indirection si|
00001e10  6e 63 65 20 74 68 65 73  65 20 61 72 65 20 63 6f  |nce these are co|
00001e20  6e 74 65 78 74 20 73 65  6e 73 69 74 69 76 65 20  |ntext sensitive |
00001e30  28 73 65 65 20 32 30 30  33 2c 20 61 62 6f 76 65  |(see 2003, above|
00001e40  29 0a 2d 20 63 6f 6d 6d  65 6e 74 20 6c 61 62 65  |).- comment labe|
00001e50  6c 73 20 61 72 65 20 64  69 73 70 6c 61 79 65 64  |ls are displayed|
00001e60  20 66 6f 72 20 77 65 6c  6c 2d 6b 6e 6f 77 6e 20  | for well-known |
00001e70  7a 65 72 6f 2d 70 61 67  65 2c 20 49 2f 4f 20 61  |zero-page, I/O a|
00001e80  6e 64 20 52 4f 4d 0a 20  20 61 64 64 72 65 73 73  |nd ROM.  address|
00001e90  65 73 2c 20 6f 72 20 6e  65 61 72 62 79 20 6f 66  |es, or nearby of|
00001ea0  66 73 65 74 73 20 77 68  65 6e 20 72 65 6c 65 76  |fsets when relev|
00001eb0  61 6e 74 20 28 73 65 65  20 32 30 30 30 2c 20 61  |ant (see 2000, a|
00001ec0  62 6f 76 65 29 0a 2d 20  73 6f 6d 65 20 61 64 64  |bove).- some add|
00001ed0  72 65 73 73 65 73 20 64  69 73 70 6c 61 79 20 64  |resses display d|
00001ee0  69 66 66 65 72 65 6e 74  20 63 6f 6d 6d 65 6e 74  |ifferent comment|
00001ef0  20 6c 61 62 65 6c 73 20  64 65 70 65 6e 64 69 6e  | labels dependin|
00001f00  67 20 6f 6e 20 77 68 65  74 68 65 72 20 61 6e 0a  |g on whether an.|
00001f10  20 20 69 6e 73 74 72 75  63 74 69 6f 6e 20 72 65  |  instruction re|
00001f20  61 64 73 20 6f 72 20 77  72 69 74 65 73 20 74 6f  |ads or writes to|
00001f30  20 74 68 61 74 20 6c 6f  63 61 74 69 6f 6e 2c 20  | that location, |
00001f40  65 67 2e 20 49 2f 4f 20  6c 6f 63 61 74 69 6f 6e  |eg. I/O location|
00001f50  73 20 24 43 30 30 30 2d  24 43 30 31 46 0a 2d 20  |s $C000-$C01F.- |
00001f60  69 66 20 74 68 65 20 69  6e 73 74 72 75 63 74 69  |if the instructi|
00001f70  6f 6e 20 61 74 20 70 63  30 20 69 73 20 64 69 73  |on at pc0 is dis|
00001f80  70 6c 61 79 65 64 2c 20  27 50 43 27 20 61 70 70  |played, 'PC' app|
00001f90  65 61 72 73 20 28 61 73  20 69 6e 20 32 30 30 37  |ears (as in 2007|
00001fa0  2c 20 61 62 6f 76 65 29  0a 0a 33 2e 32 20 4b 65  |, above)..3.2 Ke|
00001fb0  79 73 0a 2d 2d 2d 2d 2d  2d 2d 2d 0a 0a 4d 6f 64  |ys.--------..Mod|
00001fc0  65 0a 7e 7e 7e 7e 0a 3c  45 73 63 3e 20 20 20 20  |e.~~~~.<Esc>    |
00001fd0  20 20 20 3d 20 65 6e 74  65 72 20 43 50 55 20 73  |   = enter CPU s|
00001fe0  74 61 74 75 73 0a 3c 46  36 3e 20 20 20 20 20 20  |tatus.<F6>      |
00001ff0  20 20 3d 20 65 6e 74 65  72 20 68 65 78 2f 41 53  |  = enter hex/AS|
00002000  43 49 49 20 64 75 6d 70  0a 3c 46 38 3e 20 20 20  |CII dump.<F8>   |
00002010  20 20 20 20 20 3d 20 65  6e 74 65 72 20 62 72 65  |     = enter bre|
00002020  61 6b 70 6f 69 6e 74 20  65 64 69 74 6f 72 0a 3c  |akpoint editor.<|
00002030  6c 3e 20 6f 72 20 3c 4c  3e 20 20 3d 20 6c 69 73  |l> or <L>  = lis|
00002040  74 20 61 74 20 74 68 65  20 65 66 66 65 63 74 69  |t at the effecti|
00002050  76 65 20 61 64 64 72 65  73 73 20 6f 66 20 74 68  |ve address of th|
00002060  65 20 63 75 72 72 65 6e  74 20 69 6e 73 74 72 75  |e current instru|
00002070  63 74 69 6f 6e 0a 20 20  20 20 20 20 20 20 20 20  |ction.          |
00002080  20 20 20 20 28 69 66 20  61 76 61 69 6c 61 62 6c  |    (if availabl|
00002090  65 29 0a 3c 64 3e 20 6f  72 20 3c 44 3e 20 20 3d  |e).<d> or <D>  =|
000020a0  20 64 75 6d 70 20 61 74  20 65 66 66 65 63 74 69  | dump at effecti|
000020b0  76 65 20 61 64 64 72 65  73 73 20 69 66 20 61 70  |ve address if ap|
000020c0  70 6c 69 63 61 62 6c 65  20 65 6c 73 65 20 61 74  |plicable else at|
000020d0  20 61 61 61 61 0a 20 20  20 20 20 20 20 20 20 20  | aaaa.          |
000020e0  20 20 20 20 28 65 6e 74  65 72 20 64 75 6d 70 65  |    (enter dumpe|
000020f0  72 29 0a 0a 45 64 69 74  69 6e 67 0a 7e 7e 7e 7e  |r)..Editing.~~~~|
00002100  7e 7e 7e 0a 3c 4c 65 66  74 3e 20 20 20 20 20 20  |~~~.<Left>      |
00002110  3d 20 6c 69 73 74 20 61  74 20 61 61 61 61 20 2d  |= list at aaaa -|
00002120  20 31 0a 3c 52 69 67 68  74 3e 20 20 20 20 20 3d  | 1.<Right>     =|
00002130  20 6c 69 73 74 20 61 74  20 61 61 61 61 20 2b 20  | list at aaaa + |
00002140  31 0a 3c 55 70 3e 20 20  20 20 20 20 20 20 3d 20  |1.<Up>        = |
00002150  6c 69 73 74 20 61 74 20  66 69 72 73 74 20 69 6e  |list at first in|
00002160  73 74 72 75 63 74 69 6f  6e 20 62 65 66 6f 72 65  |struction before|
00002170  20 61 61 61 61 0a 3c 44  6f 77 6e 3e 20 20 20 20  | aaaa.<Down>    |
00002180  20 20 3d 20 6c 69 73 74  20 61 74 20 66 69 72 73  |  = list at firs|
00002190  74 20 69 6e 73 74 72 75  63 74 69 6f 6e 20 61 66  |t instruction af|
000021a0  74 65 72 20 61 61 61 61  0a 3c 50 61 67 65 20 55  |ter aaaa.<Page U|
000021b0  70 3e 20 20 20 3d 20 6c  69 73 74 20 61 74 20 66  |p>   = list at f|
000021c0  69 76 65 20 69 6e 73 74  72 75 63 74 69 6f 6e 73  |ive instructions|
000021d0  20 62 65 66 6f 72 65 20  61 61 61 61 0a 3c 50 61  | before aaaa.<Pa|
000021e0  67 65 20 44 6f 77 6e 3e  20 3d 20 6c 69 73 74 20  |ge Down> = list |
000021f0  61 74 20 66 69 76 65 20  69 6e 73 74 72 75 63 74  |at five instruct|
00002200  69 6f 6e 73 20 61 66 74  65 72 20 61 61 61 61 0a  |ions after aaaa.|
00002210  3c 48 6f 6d 65 3e 20 20  20 20 20 20 3d 20 6c 69  |<Home>      = li|
00002220  73 74 20 61 74 20 70 63  30 0a 3c 43 6f 70 79 3e  |st at pc0.<Copy>|
00002230  20 20 20 20 20 20 3d 20  6c 69 73 74 20 61 74 20  |      = list at |
00002240  61 66 66 65 63 74 69 76  65 20 61 64 64 72 65 73  |affective addres|
00002250  73 20 6f 66 20 69 30 20  28 69 66 20 61 76 61 69  |s of i0 (if avai|
00002260  6c 61 62 6c 65 29 0a 3c  49 6e 73 3e 20 20 20 20  |lable).<Ins>    |
00002270  20 20 20 3d 20 74 6f 67  67 6c 65 20 62 72 65 61  |   = toggle brea|
00002280  6b 70 6f 69 6e 74 20 61  74 20 61 61 61 61 3a 20  |kpoint at aaaa: |
00002290  74 6f 67 67 6c 65 73 20  65 78 69 73 74 69 6e 67  |toggles existing|
000022a0  20 62 72 65 61 6b 70 6f  69 6e 74 20 76 61 6c 75  | breakpoint valu|
000022b0  65 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |e.              |
000022c0  69 66 20 6c 69 73 74 65  64 20 65 6c 73 65 20 75  |if listed else u|
000022d0  73 65 73 20 66 69 72 73  74 20 64 69 73 61 62 6c  |ses first disabl|
000022e0  65 64 20 62 72 65 61 6b  70 6f 69 6e 74 20 77 69  |ed breakpoint wi|
000022f0  74 68 20 76 61 6c 75 65  20 30 0a 3c 52 65 74 75  |th value 0.<Retu|
00002300  72 6e 3e 20 20 20 20 3d  20 65 64 69 74 20 73 65  |rn>    = edit se|
00002310  6c 65 63 74 65 64 20 69  6e 73 74 72 75 63 74 69  |lected instructi|
00002320  6f 6e 3a 20 61 73 73 65  6d 62 6c 65 20 74 68 65  |on: assemble the|
00002330  20 65 64 69 74 65 64 20  6c 69 6e 65 20 75 70 20  | edited line up |
00002340  74 6f 20 74 68 65 0a 20  20 20 20 20 20 20 20 20  |to the.         |
00002350  20 20 20 20 20 63 75 72  73 6f 72 20 77 68 65 6e  |     cursor when|
00002360  20 3c 52 65 74 75 72 6e  3e 20 69 73 20 70 72 65  | <Return> is pre|
00002370  73 73 65 64 3b 20 69 66  20 74 68 65 20 69 6e 73  |ssed; if the ins|
00002380  74 72 75 63 74 69 6f 6e  20 61 73 73 65 6d 62 6c  |truction assembl|
00002390  65 73 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |es.             |
000023a0  20 73 75 63 63 65 73 73  66 75 6c 6c 79 2c 20 65  | successfully, e|
000023b0  64 69 74 69 6e 67 20 63  6f 6e 74 69 6e 75 65 73  |diting continues|
000023c0  20 61 74 20 74 68 65 20  61 64 64 72 65 73 73 20  | at the address |
000023d0  66 6f 6c 6c 6f 77 69 6e  67 0a 20 20 20 20 20 20  |following.      |
000023e0  20 20 20 20 20 20 20 20  74 68 65 20 69 6e 73 74  |        the inst|
000023f0  72 75 63 74 69 6f 6e 20  65 6e 74 65 72 65 64 3b  |ruction entered;|
00002400  20 69 66 20 6e 6f 74 2c  20 65 64 69 74 20 6d 6f  | if not, edit mo|
00002410  64 65 20 69 73 20 63 61  6e 63 65 6c 6c 65 64 0a  |de is cancelled.|
00002420  3c 54 61 62 3e 20 20 20  20 20 20 20 3d 20 6c 69  |<Tab>       = li|
00002430  73 74 20 61 74 20 6e 65  77 20 61 64 64 72 65 73  |st at new addres|
00002440  73 20 28 65 64 69 74 20  63 75 72 72 65 6e 74 20  |s (edit current |
00002450  61 64 64 72 65 73 73 29  0a 3c 42 61 63 6b 73 70  |address).<Backsp|
00002460  61 63 65 3e 20 3d 20 6c  69 73 74 20 61 74 20 70  |ace> = list at p|
00002470  72 65 76 69 6f 75 73 20  61 64 64 72 65 73 73 20  |revious address |
00002480  28 62 65 66 6f 72 65 20  6c 61 73 74 20 3c 54 61  |(before last <Ta|
00002490  62 3e 20 65 74 63 29 0a  0a 2d 2d 2d 2d 2d 2d 2d  |b> etc)..-------|
000024a0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
000024e0  2d 2d 2d 2d 2d 2d 2d 2d  2d 0a 34 20 48 65 78 2f  |---------.4 Hex/|
000024f0  41 53 43 49 49 20 44 75  6d 70 20 53 63 72 65 65  |ASCII Dump Scree|
00002500  6e 0a 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |n.==============|
00002510  3d 3d 3d 3d 3d 3d 3d 3d  3d 0a 0a 34 2e 30 20 49  |=========..4.0 I|
00002520  6e 76 6f 6b 69 6e 67 0a  2d 2d 2d 2d 2d 2d 2d 2d  |nvoking.--------|
00002530  2d 2d 2d 2d 0a 20 20 20  20 46 72 6f 6d 20 61 6e  |----.    From an|
00002540  79 20 64 65 62 75 67 67  65 72 20 73 63 72 65 65  |y debugger scree|
00002550  6e 20 70 72 65 73 73 20  3c 46 36 3e 20 74 6f 20  |n press <F6> to |
00002560  65 6e 74 65 72 20 74 68  65 20 64 75 6d 70 65 72  |enter the dumper|
00002570  2e 20 54 68 65 20 64 69  73 70 6c 61 79 0a 64 65  |. The display.de|
00002580  66 61 75 6c 74 73 20 74  6f 20 74 68 65 20 70 72  |faults to the pr|
00002590  65 76 69 6f 75 73 20 61  64 64 72 65 73 73 20 76  |evious address v|
000025a0  69 65 77 65 64 2e 20 50  72 65 73 73 69 6e 67 20  |iewed. Pressing |
000025b0  3c 45 73 63 3e 20 72 65  74 75 72 6e 73 20 74 6f  |<Esc> returns to|
000025c0  20 74 68 65 20 43 50 55  0a 73 74 61 74 75 73 20  | the CPU.status |
000025d0  73 63 72 65 65 6e 2e 0a  0a 34 2e 31 20 53 63 72  |screen...4.1 Scr|
000025e0  65 65 6e 20 4c 61 79 6f  75 74 0a 2d 2d 2d 2d 2d  |een Layout.-----|
000025f0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 0a 20 20 20  |------------.   |
00002600  20 41 20 68 65 78 20 61  6e 64 20 41 53 43 49 49  | A hex and ASCII|
00002610  20 64 75 6d 70 20 6f 66  20 34 30 20 62 79 74 65  | dump of 40 byte|
00002620  73 20 69 73 20 64 69 73  70 6c 61 79 65 64 3b 20  |s is displayed; |
00002630  2e 20 54 68 65 20 6c 6f  77 65 72 20 63 61 73 65  |. The lower case|
00002640  20 6c 65 74 74 65 72 73  20 69 6e 0a 74 68 65 20  | letters in.the |
00002650  6c 61 79 6f 75 74 20 62  65 6c 6f 77 20 72 65 66  |layout below ref|
00002660  65 72 20 74 6f 20 74 68  65 20 6c 69 73 74 20 6f  |er to the list o|
00002670  66 20 73 79 6d 62 6f 6c  73 20 74 68 61 74 20 66  |f symbols that f|
00002680  6f 6c 6c 6f 77 73 2e 0a  0a 7e 7e 7e 7e 7e 7e 7e  |ollows...~~~~~~~|
00002690  7e 7e 7e 7e 7e 7e 7e 7e  7e 7e 7e 7e 7e 7e 7e 7e  |~~~~~~~~~~~~~~~~|
*
000026b0  7e 0a 62 2f 61 61 61 61  2d 20 43 31 20 43 32 20  |~.b/aaaa- C1 C2 |
000026c0  43 33 20 43 30 20 43 30  20 43 30 20 43 30 20 43  |C3 C0 C0 C0 C0 C|
000026d0  30 20 41 42 43 40 40 40  40 40 0a 2a 2f 32 30 30  |0 ABC@@@@@.*/200|
000026e0  30 2d 20 43 30 20 43 30  20 43 30 20 43 30 20 43  |0- C0 C0 C0 C0 C|
000026f0  30 20 43 30 20 43 30 20  43 30 20 40 40 40 40 40  |0 C0 C0 C0 @@@@@|
00002700  40 40 40 0a 2a 2f 32 30  30 38 2d 20 43 30 20 43  |@@@.*/2008- C0 C|
00002710  30 20 43 30 20 43 30 20  43 30 20 43 30 20 43 30  |0 C0 C0 C0 C0 C0|
00002720  20 43 30 20 40 40 40 40  40 40 40 40 0a 2a 2f 32  | C0 @@@@@@@@.*/2|
00002730  30 31 30 2d 20 43 30 20  43 30 20 43 30 20 43 30  |010- C0 C0 C0 C0|
00002740  20 43 30 20 43 30 20 43  30 20 43 30 20 40 40 40  | C0 C0 C0 C0 @@@|
00002750  40 40 40 40 40 0a 2a 2f  32 30 31 38 2d 20 43 30  |@@@@@.*/2018- C0|
00002760  20 43 30 20 43 30 20 43  30 20 43 30 20 43 30 20  | C0 C0 C0 C0 C0 |
00002770  43 30 20 43 30 20 40 40  40 40 40 40 40 40 0a 7e  |C0 C0 @@@@@@@@.~|
00002780  7e 7e 7e 7e 7e 7e 7e 7e  7e 7e 7e 7e 7e 7e 7e 7e  |~~~~~~~~~~~~~~~~|
*
000027a0  7e 7e 7e 7e 7e 7e 7e 0a  0a 62 20 20 20 20 3d 20  |~~~~~~~..b    = |
000027b0  62 61 6e 6b 20 6f 66 20  64 75 6d 70 20 6c 69 6e  |bank of dump lin|
000027c0  65 20 61 64 64 72 65 73  73 20 28 6e 6f 74 20 64  |e address (not d|
000027d0  69 73 70 6c 61 79 65 64  3a 20 63 75 72 72 65 6e  |isplayed: curren|
000027e0  74 6c 79 20 27 2a 27 29  0a 61 61 61 61 20 3d 20  |tly '*').aaaa = |
000027f0  64 75 6d 70 20 6c 69 6e  65 20 61 64 64 72 65 73  |dump line addres|
00002800  73 0a 0a 4e 6f 74 65 73  0a 7e 7e 7e 7e 7e 0a 2d  |s..Notes.~~~~~.-|
00002810  20 61 6c 74 68 6f 75 67  68 20 62 20 69 73 20 6e  | although b is n|
00002820  6f 74 20 64 69 73 70 6c  61 79 65 64 2c 20 69 74  |ot displayed, it|
00002830  73 20 76 61 6c 75 65 20  69 73 20 77 68 61 74 65  |s value is whate|
00002840  76 65 72 20 69 73 20 61  70 70 72 6f 70 72 69 61  |ver is appropria|
00002850  74 65 20 66 6f 72 0a 20  20 74 68 61 74 20 61 64  |te for.  that ad|
00002860  64 72 65 73 73 20 67 69  76 65 6e 20 74 68 65 20  |dress given the |
00002870  63 75 72 72 65 6e 74 20  6d 65 6d 6f 72 79 20 6d  |current memory m|
00002880  61 70 20 73 74 61 74 65  0a 0a 34 2e 32 20 4b 65  |ap state..4.2 Ke|
00002890  79 73 0a 2d 2d 2d 2d 2d  2d 2d 2d 0a 0a 4d 6f 64  |ys.--------..Mod|
000028a0  65 0a 7e 7e 7e 7e 0a 3c  45 73 63 3e 20 20 20 20  |e.~~~~.<Esc>    |
000028b0  20 20 20 3d 20 65 6e 74  65 72 20 43 50 55 20 73  |   = enter CPU s|
000028c0  74 61 74 75 73 0a 3c 46  35 3e 20 20 20 20 20 20  |tatus.<F5>      |
000028d0  20 20 3d 20 65 6e 74 65  72 20 64 69 73 61 73 73  |  = enter disass|
000028e0  65 6d 62 6c 65 72 0a 3c  46 38 3e 20 20 20 20 20  |embler.<F8>     |
000028f0  20 20 20 3d 20 65 6e 74  65 72 20 62 72 65 61 6b  |   = enter break|
00002900  70 6f 69 6e 74 20 65 64  69 74 6f 72 0a 3c 6c 3e  |point editor.<l>|
00002910  20 6f 72 20 3c 4c 3e 20  20 3d 20 6c 69 73 74 20  | or <L>  = list |
00002920  61 74 20 74 68 65 20 63  75 72 72 65 6e 74 20 61  |at the current a|
00002930  64 64 72 65 73 73 0a 0a  45 64 69 74 69 6e 67 0a  |ddress..Editing.|
00002940  7e 7e 7e 7e 7e 7e 7e 0a  3c 4c 65 66 74 3e 20 20  |~~~~~~~.<Left>  |
00002950  20 20 20 20 3d 20 6d 6f  76 65 20 63 75 72 73 6f  |    = move curso|
00002960  72 20 74 6f 20 63 75 72  72 65 6e 74 20 61 64 64  |r to current add|
00002970  72 65 73 73 20 2d 20 31  0a 3c 52 69 67 68 74 3e  |ress - 1.<Right>|
00002980  20 20 20 20 20 3d 20 6d  6f 76 65 20 63 75 72 73  |     = move curs|
00002990  6f 72 20 74 6f 20 63 75  72 72 65 6e 74 20 61 64  |or to current ad|
000029a0  64 72 65 73 73 20 2b 20  31 0a 3c 55 70 3e 20 20  |dress + 1.<Up>  |
000029b0  20 20 20 20 20 20 3d 20  6d 6f 76 65 20 63 75 72  |      = move cur|
000029c0  73 6f 72 20 74 6f 20 63  75 72 72 65 6e 74 20 61  |sor to current a|
000029d0  64 64 72 65 73 73 20 2d  20 38 0a 3c 44 6f 77 6e  |ddress - 8.<Down|
000029e0  3e 20 20 20 20 20 20 3d  20 6d 6f 76 65 20 63 75  |>      = move cu|
000029f0  72 73 6f 72 20 74 6f 20  63 75 72 72 65 6e 74 20  |rsor to current |
00002a00  61 64 64 72 65 73 73 20  2b 20 38 0a 3c 50 61 67  |address + 8.<Pag|
00002a10  65 20 55 70 3e 20 20 20  3d 20 64 75 6d 70 20 74  |e Up>   = dump t|
00002a20  68 65 20 70 72 65 76 69  6f 75 73 20 34 30 20 62  |he previous 40 b|
00002a30  79 74 65 73 0a 3c 50 61  67 65 20 44 6f 77 6e 3e  |ytes.<Page Down>|
00002a40  20 3d 20 64 75 6d 70 20  74 68 65 20 6e 65 78 74  | = dump the next|
00002a50  20 34 30 20 62 79 74 65  73 0a 3c 48 6f 6d 65 3e  | 40 bytes.<Home>|
00002a60  20 20 20 20 20 20 3d 20  64 75 6d 70 20 61 74 20  |      = dump at |
00002a70  70 63 30 0a 3c 43 6f 70  79 3e 20 20 20 20 20 20  |pc0.<Copy>      |
00002a80  3d 20 64 75 6d 70 20 61  74 20 61 66 66 65 63 74  |= dump at affect|
00002a90  69 76 65 20 61 64 64 72  65 73 73 20 6f 66 20 69  |ive address of i|
00002aa0  30 20 28 69 66 20 61 76  61 69 6c 61 62 6c 65 29  |0 (if available)|
00002ab0  0a 3c 52 65 74 75 72 6e  3e 20 20 20 20 3d 20 68  |.<Return>    = h|
00002ac0  65 78 20 65 64 69 74 3a  20 65 6e 74 65 72 20 68  |ex edit: enter h|
00002ad0  65 78 20 64 61 74 61 2c  20 75 73 65 20 61 72 72  |ex data, use arr|
00002ae0  6f 77 73 20 74 6f 20 6d  6f 76 65 2c 20 3c 45 73  |ows to move, <Es|
00002af0  63 3e 20 74 6f 20 65 6e  64 0a 3c 27 3e 20 20 20  |c> to end.<'>   |
00002b00  20 20 20 20 20 20 3d 20  41 53 43 49 49 20 65 64  |      = ASCII ed|
00002b10  69 74 3a 20 65 6e 74 65  72 20 41 53 43 49 49 20  |it: enter ASCII |
00002b20  64 61 74 61 2c 20 75 73  65 20 61 72 72 6f 77 73  |data, use arrows|
00002b30  20 74 6f 20 6d 6f 76 65  2c 20 3c 41 6c 74 3e 0a  | to move, <Alt>.|
00002b40  20 20 20 20 20 20 20 20  20 20 20 20 20 20 74 6f  |              to|
00002b50  67 67 6c 65 73 20 68 69  67 68 74 2f 6c 6f 77 20  |ggles hight/low |
00002b60  41 53 43 49 49 2c 20 3c  45 73 63 3e 20 74 6f 20  |ASCII, <Esc> to |
00002b70  65 6e 64 0a 3c 54 61 62  3e 20 20 20 20 20 20 20  |end.<Tab>       |
00002b80  3d 20 64 75 6d 70 20 61  74 20 6e 65 77 20 61 64  |= dump at new ad|
00002b90  64 72 65 73 73 20 28 65  64 69 74 20 63 75 72 72  |dress (edit curr|
00002ba0  65 6e 74 20 61 64 64 72  65 73 73 29 0a 3c 42 61  |ent address).<Ba|
00002bb0  63 6b 73 70 61 63 65 3e  20 3d 20 64 75 6d 70 20  |ckspace> = dump |
00002bc0  61 74 20 70 72 65 76 69  6f 75 73 20 61 64 64 72  |at previous addr|
00002bd0  65 73 73 20 28 62 65 66  6f 72 65 20 6c 61 73 74  |ess (before last|
00002be0  20 3c 54 61 62 3e 20 65  74 63 29 0a 0a 53 65 61  | <Tab> etc)..Sea|
00002bf0  72 63 68 69 6e 67 0a 7e  7e 7e 7e 7e 7e 7e 7e 7e  |rching.~~~~~~~~~|
00002c00  0a 3c 70 3e 20 6f 72 20  3c 50 3e 20 20 3d 20 65  |.<p> or <P>  = e|
00002c10  64 69 74 20 73 65 61 72  63 68 20 70 61 74 74 65  |dit search patte|
00002c20  72 6e 3a 20 65 64 69 74  20 68 65 78 2f 41 53 43  |rn: edit hex/ASC|
00002c30  49 49 20 75 73 69 6e 67  20 73 61 6d 65 20 6b 65  |II using same ke|
00002c40  79 73 20 61 73 0a 20 20  20 20 20 20 20 20 20 20  |ys as.          |
00002c50  20 20 20 20 64 75 6d 70  20 73 63 72 65 65 6e 3b  |    dump screen;|
00002c60  20 6c 65 61 76 65 20 63  75 72 73 6f 72 20 6f 6e  | leave cursor on|
00002c70  20 6c 61 73 74 20 62 79  74 65 20 6f 66 20 70 61  | last byte of pa|
00002c80  74 74 65 72 6e 2c 0a 20  20 20 20 20 20 20 20 20  |ttern,.         |
00002c90  20 20 20 20 20 3c 45 73  63 3e 20 74 6f 20 65 6e  |     <Esc> to en|
00002ca0  64 0a 3c 73 3e 20 6f 72  20 3c 53 3e 20 20 3d 20  |d.<s> or <S>  = |
00002cb0  73 65 61 72 63 68 20 66  6f 72 77 61 72 64 20 66  |search forward f|
00002cc0  6f 72 20 70 61 74 74 65  72 6e 20 28 73 65 74 20  |or pattern (set |
00002cd0  62 79 20 3c 70 3e 29 3a  20 74 68 65 20 63 75 72  |by <p>): the cur|
00002ce0  73 6f 72 20 64 69 73 61  70 70 65 61 72 73 0a 20  |sor disappears. |
00002cf0  20 20 20 20 20 20 20 20  20 20 20 20 20 77 68 69  |             whi|
00002d00  6c 65 20 73 65 61 72 63  68 69 6e 67 2c 20 74 68  |le searching, th|
00002d10  65 6e 20 69 73 20 70 6c  61 63 65 64 20 61 74 20  |en is placed at |
00002d20  74 68 65 20 66 69 72 73  74 20 62 79 74 65 20 6d  |the first byte m|
00002d30  61 74 63 68 65 64 3b 20  74 68 65 0a 20 20 20 20  |atched; the.    |
00002d40  20 20 20 20 20 20 20 20  20 20 73 65 61 72 63 68  |          search|
00002d50  20 77 72 61 70 73 20 28  24 46 46 46 46 20 2b 20  | wraps ($FFFF + |
00002d60  31 29 20 74 6f 20 24 30  30 30 30 0a 0a 2d 2d 2d  |1) to $0000..---|
00002d70  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00002db0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 0a 35 20  |-------------.5 |
00002dc0  42 72 65 61 6b 70 6f 69  6e 74 20 45 64 69 74 20  |Breakpoint Edit |
00002dd0  53 63 72 65 65 6e 0a 3d  3d 3d 3d 3d 3d 3d 3d 3d  |Screen.=========|
00002de0  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 0a  |===============.|
00002df0  0a 35 2e 30 20 49 6e 76  6f 6b 69 6e 67 0a 2d 2d  |.5.0 Invoking.--|
00002e00  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 0a 20 20 20 20 46  |----------.    F|
00002e10  72 6f 6d 20 61 6e 79 20  64 65 62 75 67 67 65 72  |rom any debugger|
00002e20  20 73 63 72 65 65 6e 20  70 72 65 73 73 20 3c 46  | screen press <F|
00002e30  38 3e 20 74 6f 20 65 6e  74 65 72 20 74 68 65 20  |8> to enter the |
00002e40  62 72 65 61 6b 70 6f 69  6e 74 20 65 64 69 74 6f  |breakpoint edito|
00002e50  72 2e 0a 50 72 65 73 73  69 6e 67 20 3c 45 73 63  |r..Pressing <Esc|
00002e60  3e 20 72 65 74 75 72 6e  73 20 74 6f 20 74 68 65  |> returns to the|
00002e70  20 43 50 55 20 73 74 61  74 75 73 20 73 63 72 65  | CPU status scre|
00002e80  65 6e 2e 0a 0a 35 2e 31  20 53 63 72 65 65 6e 20  |en...5.1 Screen |
00002e90  4c 61 79 6f 75 74 0a 2d  2d 2d 2d 2d 2d 2d 2d 2d  |Layout.---------|
00002ea0  2d 2d 2d 2d 2d 2d 2d 2d  0a 20 20 20 20 54 65 6e  |--------.    Ten|
00002eb0  20 62 72 65 61 6b 70 6f  69 6e 74 20 65 6e 74 72  | breakpoint entr|
00002ec0  69 65 73 2c 20 61 6e 64  20 74 65 6e 20 77 61 74  |ies, and ten wat|
00002ed0  63 68 70 6f 69 6e 74 20  65 6e 74 72 69 65 73 20  |chpoint entries |
00002ee0  61 72 65 20 64 69 73 70  6c 61 79 65 64 2e 20 54  |are displayed. T|
00002ef0  68 65 20 6c 6f 77 65 72  0a 63 61 73 65 20 6c 65  |he lower.case le|
00002f00  74 74 65 72 73 20 69 6e  20 74 68 65 20 6c 61 79  |tters in the lay|
00002f10  6f 75 74 20 62 65 6c 6f  77 20 72 65 66 65 72 20  |out below refer |
00002f20  74 6f 20 74 68 65 20 6c  69 73 74 20 6f 66 20 73  |to the list of s|
00002f30  79 6d 62 6f 6c 73 20 74  68 61 74 20 66 6f 6c 6c  |ymbols that foll|
00002f40  6f 77 73 2e 0a 0a 7e 7e  7e 7e 7e 7e 7e 7e 7e 7e  |ows...~~~~~~~~~~|
00002f50  7e 7e 7e 7e 7e 7e 7e 7e  7e 7e 7e 7e 7e 7e 7e 7e  |~~~~~~~~~~~~~~~~|
00002f60  7e 7e 7e 7e 7e 7e 7e 7e  7e 7e 7e 7e 7e 7e 0a 42  |~~~~~~~~~~~~~~.B|
00002f70  30 2d 2a 2f 62 62 62 62  20 42 35 2d 2a 2f 30 30  |0-*/bbbb B5-*/00|
00002f80  30 30 20 20 57 30 2d 2a  2f 77 77 77 77 20 57 35  |00  W0-*/wwww W5|
00002f90  2d 2a 2f 30 30 30 30 0a  42 31 2d 2a 2f 30 30 30  |-*/0000.B1-*/000|
00002fa0  30 20 42 36 2d 2a 2f 30  30 30 30 20 20 57 31 2d  |0 B6-*/0000  W1-|
00002fb0  2a 2f 30 30 30 30 20 57  36 2d 2a 2f 30 30 30 30  |*/0000 W6-*/0000|
00002fc0  0a 42 32 2d 2a 2f 30 30  30 30 20 42 37 2d 2a 2f  |.B2-*/0000 B7-*/|
00002fd0  30 30 30 30 20 20 57 32  2d 2a 2f 30 30 30 30 20  |0000  W2-*/0000 |
00002fe0  57 37 2d 2a 2f 30 30 30  30 0a 42 33 2d 2a 2f 30  |W7-*/0000.B3-*/0|
00002ff0  30 30 30 20 42 38 2d 2a  2f 30 30 30 30 20 20 57  |000 B8-*/0000  W|
00003000  33 2d 2a 2f 30 30 30 30  20 57 38 2d 2a 2f 30 30  |3-*/0000 W8-*/00|
00003010  30 30 0a 42 34 2d 2a 2f  30 30 30 30 20 42 39 2d  |00.B4-*/0000 B9-|
00003020  2a 2f 30 30 30 30 20 20  57 34 2d 2a 2f 30 30 30  |*/0000  W4-*/000|
00003030  30 20 57 39 2d 2a 2f 30  30 30 30 0a 7e 7e 7e 7e  |0 W9-*/0000.~~~~|
00003040  7e 7e 7e 7e 7e 7e 7e 7e  7e 7e 7e 7e 7e 7e 7e 7e  |~~~~~~~~~~~~~~~~|
*
00003060  7e 7e 7e 7e 0a 0a 62 62  62 62 20 3d 20 62 72 65  |~~~~..bbbb = bre|
00003070  61 6b 70 6f 69 6e 74 20  61 64 64 72 65 73 73 0a  |akpoint address.|
00003080  77 77 77 77 20 3d 20 77  61 74 63 68 70 6f 69 6e  |wwww = watchpoin|
00003090  74 20 61 64 64 72 65 73  73 0a 0a 4e 6f 74 65 73  |t address..Notes|
000030a0  0a 7e 7e 7e 7e 7e 0a 2d  20 61 20 70 6f 69 6e 74  |.~~~~~.- a point|
000030b0  20 63 61 6e 6e 6f 74 20  62 65 20 73 65 74 20 66  | cannot be set f|
000030c0  6f 72 20 6f 6e 6c 79 20  6f 6e 65 20 62 61 6e 6b  |or only one bank|
000030d0  2c 20 62 75 74 20 6d 61  74 63 68 65 73 20 74 68  |, but matches th|
000030e0  65 20 61 64 64 72 65 73  73 20 69 6e 20 61 6e 79  |e address in any|
000030f0  0a 20 20 62 61 6e 6b 20  28 6d 61 69 6e 2c 20 61  |.  bank (main, a|
00003100  75 78 2c 20 6c 61 6e 67  75 61 67 65 20 63 61 72  |ux, language car|
00003110  64 2c 20 52 4f 4d 29 0a  0a 35 2e 32 20 4b 65 79  |d, ROM)..5.2 Key|
00003120  73 0a 2d 2d 2d 2d 2d 2d  2d 2d 0a 0a 4d 6f 64 65  |s.--------..Mode|
00003130  0a 7e 7e 7e 7e 0a 3c 45  73 63 3e 20 20 20 20 20  |.~~~~.<Esc>     |
00003140  20 20 3d 20 65 6e 74 65  72 20 43 50 55 20 73 74  |  = enter CPU st|
00003150  61 74 75 73 0a 3c 46 35  3e 20 20 20 20 20 20 20  |atus.<F5>       |
00003160  20 3d 20 65 6e 74 65 72  20 64 69 73 61 73 73 65  | = enter disasse|
00003170  6d 62 6c 65 72 0a 3c 46  36 3e 20 20 20 20 20 20  |mbler.<F6>      |
00003180  20 20 3d 20 65 6e 74 65  72 20 68 65 78 2f 41 53  |  = enter hex/AS|
00003190  43 49 49 20 64 75 6d 70  0a 0a 45 64 69 74 69 6e  |CII dump..Editin|
000031a0  67 0a 7e 7e 7e 7e 7e 7e  7e 0a 3c 4c 65 66 74 3e  |g.~~~~~~~.<Left>|
000031b0  20 20 20 20 20 20 3d 20  6d 6f 76 65 20 63 75 72  |      = move cur|
000031c0  73 6f 72 20 6c 65 66 74  0a 3c 52 69 67 68 74 3e  |sor left.<Right>|
000031d0  20 20 20 20 20 3d 20 6d  6f 76 65 20 63 75 72 73  |     = move curs|
000031e0  6f 72 20 72 69 67 68 74  0a 3c 55 70 3e 20 20 20  |or right.<Up>   |
000031f0  20 20 20 20 20 3d 20 6d  6f 76 65 20 63 75 72 73  |     = move curs|
00003200  6f 72 20 75 70 0a 3c 44  6f 77 6e 3e 20 20 20 20  |or up.<Down>    |
00003210  20 20 3d 20 6d 6f 76 65  20 63 75 72 73 6f 72 20  |  = move cursor |
00003220  64 6f 77 6e 0a 3c 49 6e  73 3e 20 20 20 20 20 20  |down.<Ins>      |
00003230  20 3d 20 74 6f 67 67 6c  65 20 73 65 6c 65 63 74  | = toggle select|
00003240  65 64 20 70 6f 69 6e 74  20 65 6e 61 62 6c 65 64  |ed point enabled|
00003250  2f 64 69 73 61 62 6c 65  64 0a 3c 48 6f 6d 65 3e  |/disabled.<Home>|
00003260  20 20 20 20 20 20 3d 20  73 65 74 20 61 6c 6c 20  |      = set all |
00003270  6e 6f 6e 2d 30 20 70 6f  69 6e 74 73 20 74 6f 20  |non-0 points to |
00003280  65 6e 61 62 6c 65 64 2f  64 69 73 61 62 6c 65 64  |enabled/disabled|
00003290  20 73 74 61 74 65 0a 20  20 20 20 20 20 20 20 20  | state.         |
000032a0  20 20 20 20 20 6f 66 20  63 75 72 72 65 6e 74 6c  |     of currentl|
000032b0  79 20 73 65 6c 65 63 74  65 64 20 70 6f 69 6e 74  |y selected point|
000032c0  0a 3c 44 65 6c 3e 20 20  20 20 20 20 20 3d 20 64  |.<Del>       = d|
000032d0  69 73 61 62 6c 65 20 70  6f 69 6e 74 20 61 6e 64  |isable point and|
000032e0  20 73 65 74 20 74 6f 20  30 0a 3c 52 65 74 75 72  | set to 0.<Retur|
000032f0  6e 3e 20 20 20 20 3d 20  65 64 69 74 20 70 6f 69  |n>    = edit poi|
00003300  6e 74 3a 20 65 6e 74 65  72 20 61 64 64 72 65 73  |nt: enter addres|
00003310  73 2c 20 75 73 65 20 61  72 72 6f 77 73 20 74 6f  |s, use arrows to|
00003320  20 6d 6f 76 65 2c 20 3c  45 73 63 3e 20 74 6f 20  | move, <Esc> to |
00003330  65 6e 64 0a 0a 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |end..-----------|
00003340  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00003380  2d 2d 2d 2d 2d 0a                                 |-----.|
00003386