GB: Downgrade DMG-only ROMs from CGB mode even without boot ROM

This commit is contained in:
Vicki Pfau 2020-11-20 00:35:52 -08:00
parent bf611e01f2
commit c640819179
2 changed files with 6 additions and 0 deletions

View File

@ -17,6 +17,7 @@ Emulation fixes:
- ARM: Fix STR storing PC after address calculation
- ARM: Fix Addressing mode 1 shifter on rs == pc (fixes mgba.io/i/1926)
- GB: Partially fix timing for skipped BIOS
- GB: Downgrade DMG-only ROMs from CGB mode even without boot ROM
- GB Audio: Fix serializing sweep time
- GB MBC: Fix MBC1 mode changing behavior
- GB MBC: Fix some MBC3 bit masking

View File

@ -489,6 +489,11 @@ void GBSkipBIOS(struct GB* gb) {
const struct GBCartridge* cart = (const struct GBCartridge*) &gb->memory.rom[0x100];
int nextDiv = 0;
if (gb->model >= GB_MODEL_CGB && !(cart->cgb & 0x80)) {
gb->model = GB_MODEL_DMG;
GBVideoDisableCGB(&gb->video);
}
switch (gb->model) {
case GB_MODEL_AUTODETECT: // Silence warnings
gb->model = GB_MODEL_DMG;