mirror of https://github.com/stella-emu/stella.git
![]() instruction at a time, and before each instruction it disassembles the next instruction. If the disassembly result contains the string arg, stop executing and return. This let us say things like "runto STA" to run until the next STA instruction, or "runto LABEL", or whatever else. It does *not* use the breakpoint nor trap mechanisms. Unfortunately, as written, Debugger::disassemble is *slow*... "runto" takes about 40-50 seconds to execute one frames' worth of 6502 instructions on an Athlon 1200. Also, as written, it's uninterruptible: while it's slowly doing its thing, the SDL main loop isn't running, so you can't even close the Stella window to get out... Also, it would be nice to be able to tell "runto" which field you want to search (address label, instruction name, operand). Splitting it out this way could also make it faster: instead of doing a full disassemble and searching it, we could have "runto LABEL" evaluate the label and just stop when the PC equals the target (would be almost as fast as just using a breakpoint). We may create separate commands for this: "runtoaddr", "runtoinstr"...? Being able to say "run until the next RTS instruction" is a lot more expressive than having to disassemble until you find the RTS, set a breakpoint after it, then "run", then remove the breakpoint... git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@632 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba |
||
---|---|---|
CVSROOT | ||
stella |