VirtualC64 5.0 has finally been released.
Today, the sixth beta of version 5.0 has been released. As expected, the numerous changes in the new core have introduced minor and major bugs, but most of these should have been fixed by now. In the meantime, we have also managed to compile the new core under WebAssembly, allowing the web-port maintainers to update the v5 core shortly.
Today, the second beta of VirtualC64 5.0 has been released. This update was initially planned as version 4.8, with run-ahead support as its most prominent new feature. In run-ahead mode, two emulator instances operate side-by-side: a primary instance emulating the C64 as usual and a run-ahead instance running several frames ahead. The run-ahead instance generates the image texture, requiring both instances to run in sync with a time delay. Whenever the primary instance's execution state changes, such as by a joystick event, the emulator must update the run-ahead instance accordingly. For seamless synchronization, it is crucial to recognize every externally initiated state change in the primary instance.
This necessity prompted a fundamental revision of the emulator's external API. The extensive changes to the emulator's architecture warranted skipping the version 4.8 designation and releasing it as version 5.0 instead. From a developer's perspective, the effort has been worthwhile. The internal code architecture has significantly improved, becoming more streamlined than ever. However, these numerous changes have introduced some bugs, as expected in such a substantial update.
The current version is in the beta phase, and I highly value your participation in testing. Your feedback is crucial for fine-tuning the software. Once the beta version achieves the stability level of the current version 4.7, version 5.0 will be officially released.