1
0
mirror of synced 2024-11-27 19:10:48 +01:00

Hummer Test, VF5fs

This commit is contained in:
dkeruza 2024-03-11 00:50:28 -04:00
parent 45ef28fcd4
commit 17a9609541
3 changed files with 91 additions and 4 deletions

View File

@ -138,6 +138,22 @@ static int detectGame(uint32_t elf_crc)
return 0; return 0;
} }
case VIRTUA_FIGHTER_5_FINAL_SHOWDOWN_REVA:
{
config.gameTitle = "Virtua Fighter 5 Final Showdown REV A";
config.gameDVP = "DVP-5019A";
config.gameID = "SBUV";
return 0;
}
case VIRTUA_FIGHTER_5_FINAL_SHOWDOWN_REVB:
{
config.gameTitle = "Virtua Fighter 5 Final Showdown REV B";
config.gameDVP = "DVP-5019B";
config.gameID = "SBUV";
return 0;
}
case LETS_GO_JUNGLE: case LETS_GO_JUNGLE:
{ {
config.gameTitle = "Let's Go Jungle! Lost on the Island of Spice!"; config.gameTitle = "Let's Go Jungle! Lost on the Island of Spice!";

View File

@ -44,8 +44,9 @@
#define TOO_SPICY 0x4c768eb4 #define TOO_SPICY 0x4c768eb4
#define UNKNOWN 0xFFFFFFFF #define UNKNOWN 0xFFFFFFFF
#define VIRTUA_FIGHTER_5 0x0042 #define VIRTUA_FIGHTER_5 0x0042
#define VIRTUA_FIGHTER_5_FINAL_SHOWDOWN 0x2B475B88 #define VIRTUA_FIGHTER_5_FINAL_SHOWDOWN 0x48
#define VIRTUA_FIGHTER_5_FINAL_SHOWDOWN_REVA 0x0044 #define VIRTUA_FIGHTER_5_FINAL_SHOWDOWN_REVA 0xFBD3DCB6
#define VIRTUA_FIGHTER_5_FINAL_SHOWDOWN_REVB 0x2B475B88
#define VIRTUA_FIGHTER_5_R 0x12D9D038 #define VIRTUA_FIGHTER_5_R 0x12D9D038
#define VIRTUA_FIGHTER_5_REVA 0x0046 #define VIRTUA_FIGHTER_5_REVA 0x0046
#define VIRTUA_FIGHTER_5_REVB 0x0047 #define VIRTUA_FIGHTER_5_REVB 0x0047

View File

@ -93,6 +93,11 @@ int stubRetZero()
return 0; return 0;
} }
void stubReturn()
{
return;
}
int stubRetOne() int stubRetOne()
{ {
return 1; return 1;
@ -153,6 +158,16 @@ int amDongleIsDevelop()
return 1; return 1;
} }
int amDongleDecryptEx()
{
return 0;
}
int amDongleSetIv()
{
return 0;
}
void print_binary(unsigned int number) void print_binary(unsigned int number)
{ {
if (number >> 1) if (number >> 1)
@ -263,6 +278,8 @@ int initPatch()
// Fixes // Fixes
detourFunction(0x084d44fc, amDipswSetLed); detourFunction(0x084d44fc, amDipswSetLed);
detourFunction(0x084d4485, amDipswGetData); detourFunction(0x084d4485, amDipswGetData);
patchMemory(0x0804edb2, "9090909090");
detourFunction(0x083a61cc, stubReturn);
} }
break; break;
case AFTER_BURNER_CLIMAX_REVA: case AFTER_BURNER_CLIMAX_REVA:
@ -575,6 +592,54 @@ int initPatch()
} }
break; break;
case VIRTUA_FIGHTER_5_FINAL_SHOWDOWN_REVA:
{
// Security
detourFunction(0x0888f4ba, amDongleInit);
detourFunction(0x0888df75, amDongleIsAvailable);
detourFunction(0x0888e96b, amDongleUpdate);
// Fixes and patches to bypss network check
detourFunction(0x0888de01, amDipswGetData);
detourFunction(0x0888de77, amDipswSetLed); // Stub amDipswSetLed
detourFunction(0x080e2b86, stubRetZero); // Stub returns 0
detourFunction(0x081082ac, stubRetZero); // Stub returns 0
detourFunction(0x0859a768, stubRetZero); // Stub returns 0
detourFunction(0x08598fbc, stubRetZero); // Stub returns 0
patchMemory(0x0812363c, "b800000000"); // Patch IDK what
//Tests
//patchMemory(0x081230ac,"9090");
}
break;
case VIRTUA_FIGHTER_5_FINAL_SHOWDOWN_REVB:
{
// Security
detourFunction(0x088b1866, amDongleInit);
detourFunction(0x088b0321, amDongleIsAvailable);
detourFunction(0x088b0d17, amDongleUpdate);
// Fixes and patches to bypss network check
detourFunction(0x088b01ad, amDipswGetData);
detourFunction(0x088b0223, amDipswSetLed); // Stub amDipswSetLed
//detourFunction(0x0806c71e, stubReturn); // Stub returns TP
//patchMemory(0x08095736, "90E9"); // Patch TP
//detourFunction(0x080e4fce, stubRetZero); // Stub returns 0 TP Net
//patchMemory(0x080e4fea,"00");
patchMemory(0x080e4ff5, "EB");
//detourFunction(0x081084b4, stubRetZero); // Stub returns 0 TP
patchMemory(0x081084d5, "EB");
//patchMemory(0x081238d2, "04"); // Patch TP
patchMemory(0x081229f4, "05");
//patchMemory(0x08123296, "909090909090909090909090909090");
//patchMemory(0x080eb4b7, "9090");
detourFunction(0x0812326e, stubReturn);
//detourFunction(0x0865eff0, stubRetZero); // Stub returns 0
//detourFunction(0x08860eda, stubReturn); // Stub Return TP
}
break;
case VIRTUA_FIGHTER_5_EXPORT: case VIRTUA_FIGHTER_5_EXPORT:
{ {
// Security // Security
@ -1000,8 +1065,6 @@ int initPatch()
detourFunction(0x08183046, amDongleInit); detourFunction(0x08183046, amDongleInit);
detourFunction(0x08181a91, amDongleIsAvailable); detourFunction(0x08181a91, amDongleIsAvailable);
detourFunction(0x081824f5, amDongleUpdate); detourFunction(0x081824f5, amDongleUpdate);
detourFunction(0x08181aae, amDongleIsDevelop);
detourFunction(0x08182f0d, amDongleUserInfoEx);
// Fixes // Fixes
detourFunction(0x0818191d, amDipswGetData); detourFunction(0x0818191d, amDipswGetData);
detourFunction(0x08181994, stubRetZero); detourFunction(0x08181994, stubRetZero);
@ -1041,6 +1104,13 @@ int initPatch()
detourFunction(0x0831bf97, amDongleUserInfoEx); detourFunction(0x0831bf97, amDongleUserInfoEx);
detourFunction(0x0831668c, stubRetZero); // amsInit detourFunction(0x0831668c, stubRetZero); // amsInit
detourFunction(0x08170654, stubRetMinusOne); // checkError detourFunction(0x08170654, stubRetMinusOne); // checkError
detourFunction(0x0831b982, amDongleDecryptEx); // Return 0
detourFunction(0x0831b08b, amDongleSetIv); // Retrun 0
patchMemory(0x082b4d51, "00");
patchMemory(0x082b5163, "00");
patchMemory(0x082b5306, "00");
patchMemory(0x082b570f, "00");
patchMemory(0x082b57c8, "909090909090");
// Security Board // Security Board
detourFunction(0x0831a7e9, amDipswGetData); detourFunction(0x0831a7e9, amDipswGetData);