Fix sCARDiTryReadCardDmaPatternSdk3017530 matching multiple card DMA variants (#93)

Fixes
- Unou no Tatsujin - Soukai! Machigai Museum 2 (Japan)
- Trioncube (Europe) (En,Fr,De,Es,It)
- Tetris DS (Korea)
- Original Frisbee Disc Sports - Ultimate & Golf (USA)
- LifeSigns - Surgical Unit (USA)
This commit is contained in:
Mow
2026-01-10 05:05:14 -05:00
committed by GitHub
parent fd08fd19a1
commit 9f2dff3967

View File

@@ -228,7 +228,14 @@ void CardiTryReadCardDmaPatch::ApplyPatch(PatchContext& patchContext)
{
cardiCommon = *(u32*)((u8*)_cardiTryReadCardDma + 0x15C) + 4;
cardiOnReadCard = *(u32*)((u8*)_cardiTryReadCardDma + 0x16C);
cardiSetCardDma = getArmBlAddress((u32*)((u8*)_cardiTryReadCardDma + 0x148));
if (*(u32*)((u8*)_cardiTryReadCardDma + 0x158) == 0xE12FFF1E)
{
cardiSetCardDma = getArmBlAddress((u32*)((u8*)_cardiTryReadCardDma + 0x148));
}
else
{
cardiSetCardDma = getArmBlAddress((u32*)((u8*)_cardiTryReadCardDma + 0x14C));
}
miiCardDmaCopy32 = getArmBlAddress((u32*)(cardiSetCardDma + 0x18));
cardiOnReadCardOffset = 0x40;
}