From 3b82f054ce284da6e5f17adb6e92552c58fca22a Mon Sep 17 00:00:00 2001 From: n-a-c-h <> Date: Sun, 4 Jan 2004 17:01:31 +0000 Subject: [PATCH] Added support for Same Game add-ons to use Same Game base. --- zsnes/src/initc.c | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/zsnes/src/initc.c b/zsnes/src/initc.c index e1f8a919..b09f3aba 100755 --- a/zsnes/src/initc.c +++ b/zsnes/src/initc.c @@ -596,6 +596,33 @@ void loadZipFile() } } +void SplitSupport() +{ + unsigned char *ROM = (unsigned char *)romdata; + + //Same Game add on + if (ROM[Hi+26] == 0x33 && curromspace == 0x80000 && + !ROM[Hi+21] && !ROM[Hi+22] && !ROM[Hi+23]) + { + curromspace = 0; + memcpy(ROM+0x200000, ROM, 0x80000); + strcpy(ZOpenFileName, "SAMEGAME.ZIP"); + loadZipFile(); + if (curromspace == 0x100200) + { + memmove(ROM, ROM+512, 0x100000); + } + else if (curromspace != 0x100000) + { + curromspace = 0; + return; + } + memcpy(ROM+0x100000, ROM, 0x100000); + curromspace = 0x280000; + } + +} + extern bool Sup48mbit; extern bool Sup16mbit; void findZipIPS(char *); @@ -681,6 +708,8 @@ void loadROM() memmove((unsigned char *)romdata, ((unsigned char *)romdata)+512, curromspace); } + SplitSupport(); + if (isZip) { findZipIPS(ZOpenFileName); } }