Alastair wrote:'Help' and 'Quit' work! Could you suggest a few commands to put it through its paces?
Well that's better than I get under Wine - cool (Linux & Mac builds are how I've tested).
So first off, run a recent XRoar snapshot - in its logging (stderr.txt maybe), it should say "gdb: stub listening on localhost:65520".
Run gdb, and type "target remote localhost:65520". XRoar should stop, and you should get a prompt showing the address it stopped at (address of next instruction to be executed).
Try "x/10i $pc" - examine 10 instructions (so, disassemble) from the current program counter. "stepi" executes one instruction (short: "si"). "continue" starts it running again (short: "c") until you press Control+C to interrupt it. Just pressing enter repeats the last command (useful for single stepping).
Set a breakpoint with something like "hbreak *0xbbcc", then continue - it should stop when it gets to that address (which is just after a delay loop).
Type "delete" to delete that breakpoint, then set a watchpoint, something like "watch *(short *)0x0088" and continue. That should let it run until anything tries to write to the 16-bit value at 0x0088 - which is where BASIC stores its cursor position, so try focussing the emulator and pressing a key...
So all that's nice, but the best mode is if you start gdb with the "-tui" (text user interface) option, or press Control+'x' followed by 'a' (toggles the mode). You should see a little text window, if that works on the Windows build. Type "layout asm", and try single stepping...
There's more... "info registers" dumps the current registers (it will probably complain about 6309 ones it didn't get a value for). "info breakpoints" lists all the breakpoints you set. gdb is pretty powerful...