Fixes
- Implemented a laundry list of Genesis VDP behavior fixes; these fix major graphical issues in Sonic 3D Blast, Monster World IV, Castlevania: Bloodlines, Galahad, Lemmings, Panorama Cotton, Sunset Riders, and probably lots more
- Fixed a bug that caused the PAL Sega Master System to run very slightly too fast; audio sync was using the NTSC master clock frequency (53.693175 MHz) instead of the PAL master clock frequency (53.203424 MHz)
- Implemented the previously-unimplemented 68000 STOP instruction, which fixes Thunder Force IV from crashing on startup
- Fixed a bug related to the 68000 reading the Z80 BUSACK line using a 16-bit read instruction; this fixes the audio in Monster World IV
- Fixed a YM2612 bug where attack phase would not get properly skipped if a key-on occurred while attenuation was already 0; this fixes music glitches in Alien Soldier where certain songs would seemingly randomly cut out and fade back in
- Fixed a bug where the Genesis emulator would crash on startup if the ROM contained non-printable characters in the game title section of the header
- Improved performance / reduced CPU usage in Genesis emulation, primarily through major improvements in the VDP code and minor improvements in the 68000 code
- Improved audio sync behavior on Windows by switching to use a low-latency timer for sleeping
Features
- Implemented support for 4 of the 5 EEPROM chips that were used in Genesis games (24C01 / 24C02 / 24C08 / 24C16); these were used for save data in games including Wonder Boy in Monster World, Mega Man: The Wily Wars, Rings of Power, and NBA Jam
- The 24C64 EEPROM chip is not yet implemented; this was used only in Frank Thomas Big Hurt Baseball and College Slam
- Implemented support for cartridge registers used by Phantasy Star IV and Super Street Fighter II
- Phantasy Star IV maps both ROM and SRAM to $200001-$203FFF; it uses a register to control whether ROM or SRAM is mapped at any given time
- Super Street Fighter II is the only officially released game that uses a bank switching mapper, which was necessary because it's a 5MB ROM but the Genesis only dedicates 4MB of the memory map to the cartridge
- Implemented PAL support for the Genesis / Mega Drive, including PAL V30 mode and a new PAL aspect ratio option