slajerek / RetroDebugger

Retro Debugger is a multiplatform debugger APIs host for retro computers: C64 (Vice), Atari800 and NES (NestopiaUE).
167 stars 18 forks source link

Missing Updates on "C64 Screen" while debugging/stepping #23

Closed cfwdman closed 7 months ago

cfwdman commented 8 months ago

Hi, I'm hesitant to open this issue here as it might rather be related to the underlying vice but I hope there are enough knowledgeable people here to help me on this:

When debugging code created by KickAss assembler on RetroDebugger any update made to memory/hardware which would result in the VIC or SID to update the display or audio is NOT visible while in stepping mode. This is obsevable for e.g. updating the background/frame color ($D021) or by writing into screen memory ($0400) in that mode. Any update in step/break mode will only be visible on the window "C64 screen" after the "continue" command is given...

To my understanding the emulator should not stop the whole machine (clock) but the processor from fetching and processing instructions, leaving the memory and hardware part still buzzing with the systems clock, shouldn't it?

Why would one decide for such design in an emulator?

slajerek commented 7 months ago

This is correct behaviour, exactly how C64 works. C64 relies on cycle syncing thus emulation is stopped. To view screen data in realtime please use VIC Display view.