Author Topic: request to emulator authors... - breakpoints on memory write  (Read 1433 times)

0 Members and 1 Guest are viewing this topic.

Offline ssr86

  • CPC664
  • ***
  • Posts: 120
  • Country: pl
  • Liked: 48
  • Likes Given: 21
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).

Of course if it's not too problematic to implement...

EDIT: found the description below... 
http://www.worldofspectrum.org/forums/showthread.php?t=18217
« Last Edit: 00:03, 08 January 15 by ssr86 »

Offline Executioner

  • Supporter
  • 6128 Plus
  • *
  • Posts: 783
  • Country: au
  • WinAPE Developer
    • WinAPE
  • Liked: 391
  • Likes Given: 60
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.

Offline arnoldemu

  • Supporter
  • 6128 Plus
  • *
  • Posts: 5.335
  • Country: gb
    • Unofficial Amstrad WWW Resource
  • Liked: 2261
  • Likes Given: 3478
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.
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

Offline Overflow

  • Supporter
  • CPC664
  • *
  • Posts: 60
  • Country: fr
  • Liked: 177
  • Likes Given: 107
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
« Last Edit: 17:27, 08 January 15 by Overflow »
Unregistered from CPCwiki forum.

Offline McKlain

  • 6128 Plus
  • ******
  • Posts: 867
  • Country: es
  • Programmable Sound Generator
    • www.mcklain.com
  • Liked: 338
  • Likes Given: 950
I did some dev thru another emulator for another computer


Just wondering what have you been doing  ;D

Offline Executioner

  • Supporter
  • 6128 Plus
  • *
  • Posts: 783
  • Country: au
  • WinAPE Developer
    • WinAPE
  • Liked: 391
  • Likes Given: 60
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.