-
Notifications
You must be signed in to change notification settings - Fork 226
Description
As verified on real hardware (cf. https://gendev.spritesmind.net/forum/viewtopic.php?f=2&t=2323), there are periodical refresh access slots on 68K bus which can delay access from 68K CPU:
- in cartridge slot area (0x000000-0x3FFFFF)
- in work RAM area (0xE00000-0xFFFFFF)
These delays are actually not emulated in Genesis Plus GX and are the cause of graphical issues or crashes in the following games (the code of these games is somehow bugged / unsafe and is causing some race conditions with hardware or concurrently running software that were by luck not occurring on real hardware because of the tight timings but are exposed in emulator as it is running the code a little bit faster than real hardware):
-
Clue (graphics corruption in title screen) / Microcosm (FMV intro infinite loop with Model 1 US BIOS)
=> there is currently a hack implemented in Genesis Plus GX (see https://github.com/ekeeke/Genesis-Plus-GX/blob/master/core/vdp_ctrl.c#L827 and https://github.com/ekeeke/Genesis-Plus-GX/blob/master/core/vdp_ctrl.c#L2258) that indirectly slowdowns code execution in these games and avoid the occurrence of these issues -
Super Airwolf (graphical glitch during intro)
=> see Intro Glitch on Super Airwolf libretro/Genesis-Plus-GX#205 -
Pac-Man 2 : The New Adventures (infinite loops during Pac-Jr minigame levels transitions)
=> see https://bitbucket.org/eke/genesis-plus-gx/issues/444/crashes-in-pacman-2-new-adventures-pac-jr