Subject: Re: [stella] Stella Debugger RFC From: Erik Mooney <erik@xxxxxxxxxx> Date: Wed, 15 Jun 2005 03:17:45 -0400 |
On Mon Jun 13 10:03 , 'B. Watson' <atari@xxxxxxxxxxxxxx> sent: >Can anyone think of a better way to implement this? Should I be watching >the stack pointer instead? Or should I actually be looking for an RTS >instruction, maybe? Why not have the trace execution stop upon reaching _either_ the target PC or an RTS instruction? Neither method by itself is foolproof. There's a few code cases where a subroutine modifies its return address on the stack which would miss your target PC. And looking for an RTS isn't 100% reliable either as some subroutines manually reset the stack pointer then JMP or Bxx based on a known flag (sometimes this can be faster than RTS.) But if you look for either, it should be reliable in all but the most spaghetti code structures. RTS really doesn't have any application for 2600 programming besides its stated use; the only real exception is certain methods of bankswitching, and I'd argue that a trace command should stop and wait for user input upon such an unusual circumstance. Of course, the ultimate solution would be to let the user choose (either via configuration or by issuing different commands like Shift-T or something) any combination of RTS or target PC or target stack pointer. - Erik Archives (includes files) at http://www.biglist.com/lists/stella/archives/ Unsub & more at http://stella.biglist.com
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[stella] Stella Debugger RFC, B. Watson | Thread | Re: [stella] Stella Debugger RFC, Thomas Jentzsch |
Re: [stella] Fixed! Crazy Balloon B, Manuel Rotschkar | Date | Re: [stella] Stella Debugger RFC, Glenn Saunders |
Month |