Open felixjones opened 5 years ago
Because example ROMs are difficult to find for this I've created a quick one that reproduces this issue: gbpdetect.zip
Uses mode 3 for displaying the GBP detection splash (will show for roughly 2.5 seconds, unless GBP is quickly detected) and will display "GameBoy Player [ OK ]" with the Game Boy Player Start-up Disc.
Source of issue is implementation of GBP detection: https://github.com/mgba-emu/mgba/blob/27a58187051352f01b5b7f876ea6d7e6612edb11/src/gba/hardware.c#L507
This works for official GBP enhanced games (Such as Pokemon Pinball: Ruby & Sapphire) but fails for homebrew ROMs that use a different method for displaying the GBP splash.
Goomba Color, for example, displays its splash screen by copying a user-supplied 15bpp bitmap to VRAM in mode 3. As a result, this ROM's Game Boy Player rumble enhancements are not available in mGBA.
The Game Boy Player Start-up Disc behaviour is to check the video capture for the GBP splash screen, rather than the Game Boy Player's memory in hardware.
Game Boy Interface also uses video capture for detection.