Created User Manual Command Reference (markdown)

David Banks 2016-07-13 16:52:06 +01:00
parent 7f9cce6246
commit bdb5ca0a8c

@ -0,0 +1,173 @@
## Generic Commands
### blist (bl)
List all break points and watch points.
There are no arguments to this command.
Example:
```
>> bl
0: 0080 mask FFF0: Mem Wr Watch (trigger: Always)
1: 8000 mask FFFF: Mem Wr Brkpt (trigger: ~T0 and ~T1)
2: B000 mask FFFC: Mem Rd Brkpt (trigger: Always)
3: FF3F mask FFFF: Ex Brkpt (trigger: Always)
```
Information includes:
- a breakpoint number which can be used in the clear command to delete the breakpoint
- the address of the breakpoint (in hex)
- the address mask of the breakpoint (in hex)
- the type(s) of the breakpoint (more below)
- the trigger condition for the breakpoint (more below)
The following types of breakpoint / watchpoint exist:
- Instruction Execute breakpoint
- Memory Read breakpoint
- Memory Write breakpoint
- Instruction Execute watchpoint
- Memory Read watchpoint
- Memory Write watchpoint
Breakpoints cause the emulator to immediately switch back to command mode, and the target processor is paused.
Watchpoints are less intrusive; the emulator remains in running mode, and the processor continues execution without any interruption. An event will be written to the hardware event FIFO, which is then asynchronously. logged. The hardware event FIFO is only 512 words deep, and so injudicious use of watchpoints will result in overrun and lost events, as the serial console is much slower.
Multiple types of break point and watch points can be combined on the same address. For example, a memory read watchpoint might be combined with a memory write breakpoint. If there is any ambiguity, then a breakpoint will take precedence over a watch point of the same type.
Breakpoints and Watchpoints can optionally be qualified by a trigger code, which is a function of the two external trigger inputs:
```
Trigger Codes:
0 = Never
1 = ~T0 and ~T1
2 = T0 and ~T1
3 = ~T1
4 = ~T0 and T1
5 = ~T0
6 = T0 xor T1
7 = ~T0 or ~T1
8 = T0 and T1
9 = T0 xnor T1
A = T0
B = T0 or ~T1
C = T1
D = ~T0 or T1
E = T0 or T1
F = Always
```
This can be manipulated with the trig command.
### breakrm (breakr)
Sets a memory read breakpoint on an address, or range of addresses.
_Usage: breakr \<address\> \[ \<address mask\> \[ \<trigger condition\> \]\]_
This is triggered when the host memory read address ANDed with \<address mask\> matches \<address\>, and \<trigger condition\> is valid.
If \<address mask\> is omitted, it defaults to FFFF.
If \<trigger condition\> is omitted if defaults to F (trigger always).
### breakwm (breakw)
Sets a memory write breakpoint on an address, or range of addresses
_Usage: breakw \<address\> \[ \<address mask\> \[ \<trigger condition\> \]\]_
This is triggered when the host memory write address ANDed with \<address mask\> matches \<address\>, and \<trigger condition\> is valid.
If \<address mask\> is omitted, it defaults to FFFF.
If \<trigger condition\> is omitted if defaults to F (trigger always).
### breakx (break)
Sets an instruction execute breakpoint on an address, or range of addresses
_Usage: break \<address\> \[ \<address mask\> \[ \<trigger condition\> \]\]_
This is triggered when the the address of an opcode fetch ANDed with \<address mask\> matches \<address\>, and \<trigger condition\> is valid.
If \<address mask\> is omitted, it defaults to FFFF.
If \<trigger condition\> is omitted if defaults to F (trigger always).
### clear (cl)
Removes a breakpoint or watchpoint.
_Usage: cl \[ \<number\> | \<address\> \]_
The clear command can be used in three ways:
* with no arguments, it will clear the first breakpoint as listed by bl
* with a number (e.g. 0-7) it will clear the breakpoint with this number as listed by bl
* with an address (e.g. FF3F) it will clear the breakpoint with this number as listed by bl
When a breakpoint is removed from the middle of the list, the remaining breakpoints are shuffled up so there is no gap.
### continue
Resumes execution of the target code by switching the emulator back to running mode.
_Usage: c \[ \<reset\> \]_
If <reset> is non-zero, then the reset line on the processor will be asserted for approx 100us before execution is resumed.
### crc
### dis
### fill
### help
### mem
### rdm
### regs
### reset
### step
### test
### trace
### trigger
### watchrm
### watchwm
### watchx
### wrm
## 6502 specific commands
There are no 6502 specific commands.
## 6809 specific commands
There are no 6809 specific commands,
## Z80 specific commands
The following additional commands relate to the Z80's seperate IO space commands:
### io (io)
### rdi (rdi)
### breakri (breakri)
### breakwi (breakwi)
### watchri (watchri)
### watchwi (watchwi)
### wri (wri)