Debugger Commands(command line)

When in debugger window you can use following commands(type in command line):

- ld - load memory or register with value
- ds <memory address> - dissassemble memory starting at <memory address>
- asm - opens assembler window
- ge - opens graphics editor
- trace [on|off] - starts(on)/stops(off) tracing(writing assembler instructions) to trace.log file. Operation will slow emulator performance. ROM is not traced !

- br - define new breakpoint
- del <breakpoint number> - delete breakpoint
- on <breakpoint number> - turn breakpoint on. This can be done also by doubleclicking on the breakpoint.
- off <breakpoint number> - turn breakpoint off(disable breakpoint). This can be done also by doubleclicking on the breakpoint.
- loadbrs <filepath> - loads breakpoints from file
- savebrs <filepath> - save actual breakpoints to file

#### NUMBERS:

- number without prefix is considered as hexadecimal
- prefixes:

- hexadecimal prefix is '#' or 'x' or '0x'
- binary prefix is '%'
- decimal prefix is '$'

Examples:

- br bc==#ffff - break when register BC is equal to #FFFF(65535)
- br (pc) == #F3 - break when instruction 'DI'(opcode #F3) is to be executed
- br a==%101010 - break when register A(accumulator) will hold value %101010(42 decimal)
- br pc == 9C40 && DE==#FFFF - multiconditional breakpoint, breaks when value in PC=40000 AND DE=#FFFF
- br pc == 9C40 && fZ==1 - multiconditional breakpoint, breaks when value in PC=40000 AND flag Z is set
- br memread #4000 - break when memory at address #4000 is to be read
- br memread 9C40 C350 - break when memory in range starting at address 40000 until 50000 is to be read
- br memwrite #4000 - break when memory at address #4000 is to be written
- br memwrite 9C40 EA60 - break when memory in range starting at address 40000 until 60000 is to be written

- ld pc, 3 - puts 3 into register PC(program counter) - this will cause execution on that adress(jump) directly.
- ld hl, (#9C40) - fill HL register with value on adress #9C40(40000 decimal)
- ld hl, de - fill HL register with value in register DE
- ld (#9C40), 5 - same as POKE 40000, 5
- ld (C350), $201 #C9AF #C350 - fills memory(starting at adress 50000) with bytes 201 #C9 #AF #C3 #50
- ld (C350), "Hello there" - fills memory(starting at adress 50000) with string "Hello there"