1
0
mirror of synced 2024-11-30 15:54:28 +01:00

Add HOTD4A and C properly

This commit is contained in:
Bobby Dilley 2024-01-18 23:11:26 +00:00
parent 5224dc4cba
commit 2e07128822
3 changed files with 98 additions and 80 deletions

View File

@ -52,19 +52,25 @@ static int detectGame(uint32_t elf_crc)
}
break;
case THE_HOUSE_OF_THE_DEAD_4:
case THE_HOUSE_OF_THE_DEAD_4_TEST:
case THE_HOUSE_OF_THE_DEAD_4_REVA:
case THE_HOUSE_OF_THE_DEAD_4_REVA_TEST:
{
config.gameTitle = "The House of the Dead 4";
config.gameTitle = "The House of the Dead 4 Rev A";
config.gameID = "SBLC";
config.gameDVP = "DVP-0003A";
config.gameType = SHOOTING;
config.gameStatus = WORKING;
return 0;
}
break;
case THE_HOUSE_OF_THE_DEAD_4_STRIPPED:
case THE_HOUSE_OF_THE_DEAD_4_STRIPPED_TEST:
case THE_HOUSE_OF_THE_DEAD_4_REVC:
case THE_HOUSE_OF_THE_DEAD_4_REVC_TEST:
{
config.gameTitle = "The House of the Dead 4 Rev A";
config.gameTitle = "The House of the Dead 4 Rev C";
config.gameID = "SBLC";
config.gameDVP = "DVP-0003C";
config.gameType = SHOOTING;
config.gameStatus = WORKING;
return 0;
}

View File

@ -33,12 +33,12 @@
#define SEGABOOT_2_4_SYM 0x3cc635ee
#define SEGABOOT_2_6 0x0030
#define SEGA_RACE_TV 0xfb096f81
#define THE_HOUSE_OF_THE_DEAD_4 0xbc0c9ffa
#define THE_HOUSE_OF_THE_DEAD_4_STRIPPED 0x5df569f5
#define THE_HOUSE_OF_THE_DEAD_4_STRIPPED_TEST 0xDDECE1E9
#define THE_HOUSE_OF_THE_DEAD_4_REVA 0xbc0c9ffa
#define THE_HOUSE_OF_THE_DEAD_4_REVA_TEST 0x7235bda8
#define THE_HOUSE_OF_THE_DEAD_4_REVC 0x5df569f5
#define THE_HOUSE_OF_THE_DEAD_4_REVC_TEST 0xDDECE1E9
#define THE_HOUSE_OF_THE_DEAD_4_SPECIAL 0x12266f81
#define THE_HOUSE_OF_THE_DEAD_4_SPECIAL_TEST 0x83ba3b45
#define THE_HOUSE_OF_THE_DEAD_4_TEST 0x7235bda8
#define THE_HOUSE_OF_THE_DEAD_EX 0x85c0c22a
#define THE_HOUSE_OF_THE_DEAD_EX_TEST 0xb9a166bb
#define TOO_SPICY 0x4c768eb4
@ -56,6 +56,7 @@
#define VIRTUA_TENNIS_3 0xc4b7e89
#define VIRTUA_TENNIS_3_TEST 0xffe3b0fd
typedef enum
{
YELLOW,

View File

@ -388,7 +388,7 @@ int initPatch()
detourFunction(0x08066044, amDipswInit);
}
break;
case THE_HOUSE_OF_THE_DEAD_4:
case THE_HOUSE_OF_THE_DEAD_4_REVA:
{
if (config->showDebugMessages == 1)
{
@ -416,6 +416,12 @@ int initPatch()
detourFunction(0x0831ddd7, amDipswGetData);
detourFunction(0x0831de4f, amDipswSetLed);
// Patch comparison check
patchMemory(0x081b502a, "c7420400000001");
// Patch fullscreen
detourFunction(0x08376405, stubRetZero);
// CPU patch to support AMD processors
if (strcmp("AuthenticAMD", cpu_vendor.cpuid) == 0)
{
@ -425,7 +431,7 @@ int initPatch()
}
}
break;
case THE_HOUSE_OF_THE_DEAD_4_STRIPPED:
case THE_HOUSE_OF_THE_DEAD_4_REVC:
{
// Security
detourFunction(0x0831ad04, amDongleInit);
@ -435,6 +441,12 @@ int initPatch()
detourFunction(0x0831875f, amDipswGetData);
detourFunction(0x083187d7, amDipswSetLed);
// Patch comparison check
patchMemory(0x081b58be, "c7420400000001");
// Patch fullscreen
detourFunction(0x08372391, stubRetZero);
// CPU patch to support AMD processors
if (strcmp("AuthenticAMD", cpu_vendor.cpuid) == 0)
{
@ -444,7 +456,7 @@ int initPatch()
}
}
break;
case THE_HOUSE_OF_THE_DEAD_4_TEST:
case THE_HOUSE_OF_THE_DEAD_4_REVA_TEST:
{
detourFunction(0x080677a0, amDongleInit);
detourFunction(0x08067a81, amDongleIsAvailable);
@ -635,7 +647,6 @@ int initPatch()
// Test
// patchMemory(0x084032e0, "33c990");
// 08523950 return ADXM_SetupFramework
}
break;