Rumble now works with some GBC games that didn't ship on rumble cartridges but still had rumble programmed into them by the developers. For example, Disney Tarzan. I have no idea which other games support this. Disney Tarzan will rumble when a wild boar is charging and with Clayton and some other things. http://au.gameboy.ign.com/articles/068/068800p1.html

This commit is contained in:
Carl.Kenner 2009-04-09 11:36:14 +00:00
parent 1a772a13b9
commit 86a31bf614
3 changed files with 8 additions and 4 deletions

View File

@ -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 );

View File

@ -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

File diff suppressed because one or more lines are too long