Login
Back to forumSee the full topicGo to last reply

Posted By

IstvanV
on 2007-09-20
15:29:32
 Re: For Plus4emu

The b($c0) type breakpoint that breaks when a particular memory address is accessed is already supported in all plus4emu versions. Although the debugger is not very well documented, so here is a quick list of what can be entered in the text editor widget at 'Watchpoints':

0c00 read or write $0c00
0c00rw read or write $0c00
0c00r read from $0c00
0c00w write to $0c00
0c00wp1 write to $0c00 if 'Priority threshold' is 1 or less (the default is 2 if no 'p' is used)
0c00-0fffw write to any address in the specified range
0004:e2 break at TED video position ($FF1C,$FF1D:$FF1E - line is the latched value and incremented
at column=$C2)
00cc:00-ff break at any cycle of line $00cc
c000-ffffi ignore other breakpoints if the program counter is in this range (no r,w,p modifiers are allowed)

The syntax elements can be combined, but video position breakpoints are only allowed for the main CPU and without read/write flags. You can enter any number of breakpoint definitions separated by spaces, tabs, or newlines.
If 'Ignore data reads' is checked, then only writes and opcode reads will be checked for breakpoints, and not data reads.
Setting 'Break on CPU jam' will cause the CPU jam instructions to be interpreted as NOPs with a 'p3' breakpoint set (note: $F2 is executed in more than 2 cycles, because it is used for special purposes). Otherwise, those instructions crash the emulated machine like the real one.

Creating some kind of scripting language would be useful eventually. It may also be possible to make the emulator engine usable as a library in high level languages like Python for full control over the emulation (of course, it is already possible to do that in C++); I do not know if users would actually find this usable in practice, though.

Unfortunately, I do not have a Palm, nor have experience developing for it, so I cannot port the code myself or write a new emulator from scratch (which may make more sense if the processing power is limited) for that platform.



Back to top


Copyright © Plus/4 World Team, 2001-2024