diff --git a/source/ngc/gameinput.cpp b/source/ngc/gameinput.cpp index a67f766..5ec12df 100644 --- a/source/ngc/gameinput.cpp +++ b/source/ngc/gameinput.cpp @@ -30,9 +30,9 @@ #include "gba/bios.h" #include "gba/GBAinline.h" -char DebugStr[50] = ""; +/*char DebugStr[50] = ""; -/*void DebugPrintf(const char *format, ...) { +void DebugPrintf(const char *format, ...) { va_list args; va_start( args, format ); vsprintf( DebugStr, format, args ); diff --git a/source/vba/gb/gbMemory.cpp b/source/vba/gb/gbMemory.cpp index 3c508e6..aed86d5 100644 --- a/source/vba/gb/gbMemory.cpp +++ b/source/vba/gb/gbMemory.cpp @@ -582,7 +582,11 @@ void mapperMBC5ROM(u16 address, u8 value) } break; case 0x4000: // RAM bank select, plus rumble - if(gbDataMBC5.isRumbleCartridge) { + // Some games support rumble, such as Disney Tarzan, but aren't on a + // rumble cartridge. As long as the RAM is less than or equal to 256Kbit + // we know that the last address line is not used for real RAM addresses, + // so it must be a rumble signal instead. + if(gbDataMBC5.isRumbleCartridge || gbRamSizeMask <= 0x7FFF) { systemCartridgeRumble(value & 0x08); value &= 0x07; } else diff --git a/vba-wii.pnproj b/vba-wii.pnproj index 3eea206..cae6ec0 100644 --- a/vba-wii.pnproj +++ b/vba-wii.pnproj @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file