From ee16c0b10414dbd88a9bea6571c7a614ebf2b7ee Mon Sep 17 00:00:00 2001 From: aspargas2 Date: Thu, 21 Oct 2021 12:46:35 -0400 Subject: [PATCH] fix reading emunand sector 0 --- arm9/source/crypto.c | 2 +- arm9/source/emunand.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/arm9/source/crypto.c b/arm9/source/crypto.c index ea23570..54a3698 100755 --- a/arm9/source/crypto.c +++ b/arm9/source/crypto.c @@ -348,7 +348,7 @@ int ctrNandInit(void) u8 __attribute__((aligned(4))) temp[0x200]; //Read NCSD header - result = firmSource == FIRMWARE_SYSNAND ? sdmmc_nand_readsectors(0, 1, temp) : sdmmc_sdcard_readsectors(emuHeader, 1, temp); + result = firmSource == FIRMWARE_SYSNAND ? sdmmc_nand_readsectors(0, 1, temp) : sdmmc_sdcard_readsectors(emuOffset + emuHeader, 1, temp); if(!result) { diff --git a/arm9/source/emunand.c b/arm9/source/emunand.c index 1f9bd76..d01bb33 100644 --- a/arm9/source/emunand.c +++ b/arm9/source/emunand.c @@ -77,7 +77,7 @@ void locateEmuNand(FirmwareSource *nandType) if(!sdmmc_sdcard_readsectors(nandOffset + 1, 1, temp) && memcmp(temp + 0x100, "NCSD", 4) == 0) { emuOffset = nandOffset + 1; - emuHeader = nandOffset + 1; + emuHeader = 0; return; } @@ -85,7 +85,7 @@ void locateEmuNand(FirmwareSource *nandType) else if(i != 2 && !sdmmc_sdcard_readsectors(nandOffset + nandSize, 1, temp) && memcmp(temp + 0x100, "NCSD", 4) == 0) { emuOffset = nandOffset; - emuHeader = nandOffset + nandSize; + emuHeader = nandSize; return; } }