v0.33.0

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

JetSetIlly

https://github.com/JetSetIlly/Gopher2600/releases/tag/v0.33.0

Highlights in this release are a reduction in the amount of memory consumed by ELF. High memory is a direct consequence of the rewind system and because ELF can potentially target a large array of memory. The fix is (a) to only take copies of memory sections that are volatile and (b) to compress those sections that might have changed.

Solution (b) takes advantage of the fact that huge swathes of memory will remain untouched and thus contain large runs of zero bytes. A simple RLE is both quick and effective here.

I'm sure this can be improved further but I'm happy with this for the time being.


The other significant change is the ability of the television to break into the debugger automatically under certain circumstances. For example, if the VBLANK or VSYNC profile changes, it is useful for the developer to know immediately. Care has been taken for these breakpoints not to trigger during the startup phase of a ROM.

The controls for these breakpoints are in the Preferences window.

Screenshot from 2024-07-06 22-43-09.png

As a complement to this I've also added VBLANK and VSYNC information to the "FPS" overlay for immediate feedback

Screenshot from 2024-07-06 22-35-53.png

The debugger will now show the break condition in the menu bar. . With a number of automated breakpoints now available, including the television VSYNC/VBLANK breakpoints described above, this is helpful to ascertain why the emulation has entered the debugger. By way of example, the screenshot below shows a break caused by an absent VSYNC signal.

Screenshot from 2024-07-06 22-40-59.png
https://github.com/JetSetIlly/Gopher2600
@JetSetIlly@mastodon.gamedev.place
@jetsetilly.bsky.social

Andrew Davie

Nice. I confirm with my current code whereas before Gopher just exited, now I'm taken to the debugger when overtime - and I can actually continue!  Awesome!