v0.32.0

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

JetSetIlly

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

* The main changes are to the way the TV signal is handled, in particular to the the way the VSYNC signal is handled.

Previously, the effect of bad VSYNC was offloaded to the pixel renderer.  At some point I decided that this was wrong and moved it into the OpenGL shader, which was an even worse decision. I've finally realised that the best place to introduce the screen-rolling effect is inside the television itself. In other words, screen-rolling no longer just a simulated graphical effect.

This has consequences with regard to how we count frames in the debugger, but it's really only an issue for those ROMs that aren't behaving correctly in the first place.

* The second change with regard to the television is that the screen now keeps to a strict 4:3 aspect ratio. The generated TV image is always squeezed into that aperture.

Previously, a TV image that required additional space at the top and bottom of the normal dimensions, would cause the screen to increase in size. This obviously isn't correct and resulted in the screen being something other than 4:3 in ratio.

* The final important change is to the OpenGL shaders. Because of how I was chaining the shaders, particularly in the CRT chain, there were small but noticeable artefacts in the image. These have been removed now and the image should be a lot "cleaner".


In addition, there are bug fixes to the ARM emulation. In the recent past, when adding support for the STM32, I changed the way memory latency was calculated. This caused an error in the accuracy of cycle counting. As ever, bugs in the ARM emulation are tracked down with the help of Andrew Davie.


The release page has the full list of changes.
https://github.com/JetSetIlly/Gopher2600
@JetSetIlly@mastodon.gamedev.place
@jetsetilly.bsky.social