ClownMDEmu version 1.6.12: official release with fixes and improvements

Version 1.6.12 of the ClownMDEmu emulator has been released. This release includes 18 changes introduced into the main development branch after the previous publication. The update is aimed at improving operational stability, emulation accuracy, and ease of use of the program.

ClownMDEmu version 1.6.12: official release with fixes and improvements

First of all, a number of errors in the computation logic have been corrected. An off-by-one error in the division operation code has been fixed, which restored the correct operation of the previously faulty cannon mechanism in the game Sonic Spinball. In addition, CDDA music playback has been adjusted: tracks now loop and end correctly in Mega CD games presented in the BIN+CUE format with a single BIN file.

The performance of the VDP debugging tools has been increased. Thanks to the use of multithreading, the conversion of tile and stamp data has been accelerated. Furthermore, the debug log now scrolls down automatically when new entries are added. A situation has been corrected in which files dragged and dropped remained open indefinitely; this resolves the problem of being unable to overwrite game files while they are open in the emulator. Additionally, a defect has been eliminated whereby the palette line option in the VDP debuggers only took effect starting from the next frame.

Support for game controllers has been expanded. A mapping database for the SDL library has been included, which ensures compatibility with a considerably larger number of devices. An option has appeared for supporting controllers with six face buttons, for example the Sega Saturn one; the buttons of the Mega Drive gamepad are mapped directly to the corresponding face buttons. The pressing of the Y/Triangle button, which erroneously opened the screenshot context menu, has been fixed: the source of the problem was located in the Dear ImGui library and remained unnoticed for a long time.

Controller input emulation has been rewritten, moving from an event-based model to a polling-based one. This is expected to eliminate numerous subtle bugs related to button presses and releases not being registered, and to greatly simplify the corresponding code as well. Apart from this, the corruption of the saved window size and position when entering full-screen mode has been fixed, and the vertical stretching of the program icon in the GNOME desktop environment has been eliminated.

New programs