From 59bb3e1fc8a2109b9189d153b64e9ae721ae8c99 Mon Sep 17 00:00:00 2001 From: alyosha-tas Date: Fri, 29 Dec 2017 21:15:01 -0500 Subject: [PATCH] Gambatte: Revert behaviour of ROM loading so that GB games will not load in GBC mode --- libgambatte/src/mem/cartridge.cpp | 4 ++-- output/dll/libgambatte.dll | Bin 186880 -> 186880 bytes 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/libgambatte/src/mem/cartridge.cpp b/libgambatte/src/mem/cartridge.cpp index abee7c2042..548508ba3d 100644 --- a/libgambatte/src/mem/cartridge.cpp +++ b/libgambatte/src/mem/cartridge.cpp @@ -615,8 +615,8 @@ int Cartridge::loadROM(const char *romfiledata, unsigned romfilelength, const bo break; } - //cgb = header[0x0143] >> 7 & (1 ^ forceDmg); - cgb = forceDmg ? false : true; + cgb = header[0x0143] >> 7 & (1 ^ forceDmg); + //cgb = forceDmg ? false : true; std::printf("cgb: %d\n", cgb); } diff --git a/output/dll/libgambatte.dll b/output/dll/libgambatte.dll index 17abbf85e018320d2c5dbf1800ce4070aeb273bd..ce430d492b72f907d3f012d4133338d153fb4040 100644 GIT binary patch delta 19600 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

BoKy%g1x^ihq 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 R1}xqo@j@!$y>F$@{{dIDuv7p5