diff --git a/src/lindbergh/config.c b/src/lindbergh/config.c index 32d58e8..3fab6ca 100644 --- a/src/lindbergh/config.c +++ b/src/lindbergh/config.c @@ -61,7 +61,8 @@ static int detectGame(uint32_t elf_crc) return 0; } - if(elf_crc == 0xDDECE1E9) { + if (elf_crc == 0xDDECE1E9) + { config.game = THE_HOUSE_OF_THE_DEAD_4_STRIPPED_TEST; config.gameStatus = WORKING; return 0; @@ -262,6 +263,13 @@ static int detectGame(uint32_t elf_crc) return 0; } + if (elf_crc == 0xB6479554) + { + config.game = LETS_GO_JUNGLE_REVA; + config.gameStatus = NOT_WORKING; + return 0; + } + config.game = UNKNOWN; return 1; } @@ -299,6 +307,8 @@ char *getGameName() return "Initial D Arcade Stage 4 EXP Rev E"; case INITIALD_5: return "Initial D Arcade Stage 5"; + case LETS_GO_JUNGLE_REVA: + return "Let's Go Jungle! Lost on the Island of Spice! Rev A"; case LETS_GO_JUNGLE: return "Let's Go Jungle! Lost on the Island of Spice!"; case LETS_GO_JUNGLE_SPECIAL: diff --git a/src/lindbergh/config.h b/src/lindbergh/config.h index 8f093f0..48e79cd 100644 --- a/src/lindbergh/config.h +++ b/src/lindbergh/config.h @@ -19,6 +19,7 @@ typedef enum INITIALD_4_REVE, INITIALD_5, LETS_GO_JUNGLE, + LETS_GO_JUNGLE_REVA, LETS_GO_JUNGLE_SPECIAL, OUTRUN_2_SP_SDX, OUTRUN_2_SP_SDX_REVA, diff --git a/src/lindbergh/lindbergh.c b/src/lindbergh/lindbergh.c index 5cf67c4..9e28990 100644 --- a/src/lindbergh/lindbergh.c +++ b/src/lindbergh/lindbergh.c @@ -8,7 +8,7 @@ #define PRELOAD_FILE_NAME "lindbergh.so" // List of all lindbergh executables known, not including the test executables -char *games[] = {"vsg", "Jennifer", "segaboot", "amiM.elf", "abc", "hod4M.elf", "lgj_final", "vt3", "id4.elf", "id5.elf", "lgjsp_app", "gsevo", "vf5", "apacheM.elf", "END"}; +char *games[] = {"drive.elf", "chopperM.elf", "vsg", "Jennifer", "segaboot", "amiM.elf", "abc", "hod4M.elf", "lgj_final", "vt3", "id4.elf", "id5.elf", "lgjsp_app", "gsevo", "vf5", "apacheM.elf", "END"}; /** * Tests if the game uses a seperate elf for test mode diff --git a/src/lindbergh/patch.c b/src/lindbergh/patch.c index aba739e..76471c2 100644 --- a/src/lindbergh/patch.c +++ b/src/lindbergh/patch.c @@ -549,6 +549,19 @@ int initPatch() } break; + case LETS_GO_JUNGLE_REVA: + { + // Security + detourFunction(0x084e9fbc, amDongleInit); + detourFunction(0x084ea378, amDongleIsAvailable); + detourFunction(0x084ea29c, amDongleUpdate); + // patchMemory(0x0807b76a, "9090"); // Patch initializeArcadeBackup + // Fixes + detourFunction(0x084e9ef2, amDipswGetData); + detourFunction(0x084e9f6a, stubRetZero); // Stub amDipswSetLed + // patchMemory(0x0840d858, "9090"); // No more Full Screen from the Game + } + case LETS_GO_JUNGLE: { if (config->showDebugMessages == 1)