CPCWiki forum

General Category => Emulators => Topic started by: ssr86 on 23:57, 07 January 15

Title: request to emulator authors... - breakpoints on memory write
Post by: ssr86 on 23:57, 07 January 15
Please, could someone implement breakpoints on memory write or other advanced breakpoint features in their debugger...? I just read an article about disassembling renegade for zx spectrum and read that Spin has such feature. The author of the article uses it to find the tile routines. Would be great to have something like this in winape or javacpc...(or are these already available?). Haven't read more about Spin debugger but I guess there're more possibilities than the one shown below, which will break the execution when write_address=16384 (start of spectrum screen memory).
(http://speccy.pl/images/articles/rene4.png)
Of course if it's not too problematic to implement...

EDIT: found the description below... 
http://www.worldofspectrum.org/forums/showthread.php?t=18217 (http://www.worldofspectrum.org/forums/showthread.php?t=18217)
Title: Re: request to emulator authors... - breakpoints on memory write
Post by: Executioner on 02:09, 08 January 15
Adding a blanket test like Spin may cause noticable slow-downs since every instruction would be tested. What I can do, and have added to the TODO list for the next release is special memory read/write breakpoints which would occur on the instruction after the read/write happens. This is just patching into the current read memory/write memory routines, but it may not work with ASIC palette memory writes caused by OUT. It should also be easy to do the same for IN and OUT.
Title: Re: request to emulator authors... - breakpoints on memory write
Post by: arnoldemu on 10:55, 08 January 15
work in progress of arnold has this including breaking on specific events, i/o read/write and memory read/write.
I will send you a link privately about how to get it.
It's not ready for release yet.
Title: Re: request to emulator authors... - breakpoints on memory write
Post by: Overflow on 12:19, 08 January 15
These would be great features.
 
Recently I did some dev thru another emulator for another computer. It has got some commands like these:
Code: [Select]
debug set_bp 0x0100 {[reg C] == 0x2F}
debug set_watchpoint write_mem 0x8000 {[debug read "memory" 0x8000] == 0x00}
step_back
This last one allows to step back 1 instruction in time. Degugging is easy.
That said, well: I had then numerous issues since hardwares are not perfectly emulated (yet).
 
May I choose? I do prefer an emulator with accurate emulation and less dev/debug features. :)
So, thank you guys for your very accurate emulators, no matter the features you could add.
 
 EDIT: added very accurate
Title: Re: request to emulator authors... - breakpoints on memory write
Post by: McKlain on 13:23, 08 January 15
I did some dev thru another emulator for another computer


Just wondering what have you been doing  ;D
Title: Re: request to emulator authors... - breakpoints on memory write
Post by: Executioner on 03:57, 29 August 15
I'm in the middle of documenting now. No step-back 1 instruction feature, but you have access to the previous memory value on a write.