From e53d8f1dee07e26b3e98f986dc363be8efc6d3d7 Mon Sep 17 00:00:00 2001 From: n-a-c-h <> Date: Mon, 5 Jan 2004 00:32:26 +0000 Subject: [PATCH] Fixed G-Next pack Checksum calculation. --- zsnes/src/initc.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/zsnes/src/initc.c b/zsnes/src/initc.c index 4ad5bd4a..00d673f6 100755 --- a/zsnes/src/initc.c +++ b/zsnes/src/initc.c @@ -323,7 +323,7 @@ void CalcChecksum() if (SplittedROM) { Checksumvalue = sum(ROM+addOnStart, addOnSize); - Checksumvalue -= sum(&ROM[infoloc+addOnStart - 16], 48); + Checksumvalue -= sum(ROM+infoloc+addOnStart-16, 48); } else if (SPC7110Enable) { @@ -632,8 +632,9 @@ void SplitSetup(const char *basefile, unsigned int MirrorSystem) break; case 2: - memcpy(ROM+0x180000, ROM+0x100000, 0x80000); //Mirror 12 to 16 - memcpy(ROM+0x200000, ROM, 0x200000); //Mirror 16 to 32 + memcpy(ROM+0x180000, ROM+0x100000, 0x80000); //Mirrors 12 to 16 + memcpy(ROM+0x200000, ROM+0x400000, 0x80000); //Copy base over + memset(ROM+0x280000, 0, 0x180000); //Blank out rest break; } @@ -662,6 +663,7 @@ void SplitSupport() addOnStart = 0x400000; addOnSize = 0x80000; SplitSetup("G-NEXT.ZIP", 2); + addOnStart = 0x200000; } }