diff --git a/trunk/src/boards/112.cpp b/trunk/src/boards/112.cpp index dc413db2..f0aeff3f 100644 --- a/trunk/src/boards/112.cpp +++ b/trunk/src/boards/112.cpp @@ -72,6 +72,7 @@ static void M112Power(void) { SetWriteHandler(0x4020, 0x5FFF, M112Write); SetReadHandler(0x6000, 0x7FFF, CartBR); SetWriteHandler(0x6000, 0x7FFF, CartBW); + FCEU_CheatAddRAM(8, 0x6000, WRAM); } static void StateRestore(int version) { @@ -84,7 +85,6 @@ void Mapper112_Init(CartInfo *info) { GameStateRestore = StateRestore; WRAM = (uint8*)FCEU_gmalloc(8192); SetupCartPRGMapping(0x10, WRAM, 8192, 1); - FCEU_CheatAddRAM(8, 0x6000, WRAM); AddExState(WRAM, 8192, 0, "WRAM"); AddExState(&StateRegs, ~0, 0, 0); } diff --git a/trunk/src/boards/15.cpp b/trunk/src/boards/15.cpp index e1b9bc4d..8ea05bf2 100644 --- a/trunk/src/boards/15.cpp +++ b/trunk/src/boards/15.cpp @@ -76,6 +76,7 @@ static void M15Power(void) { SetWriteHandler(0x6000, 0x7FFF, CartBW); SetWriteHandler(0x8000, 0xFFFF, M15Write); SetReadHandler(0x8000, 0xFFFF, CartBR); + FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); Sync(); } @@ -99,7 +100,6 @@ void Mapper15_Init(CartInfo *info) { WRAMSIZE = 8192; WRAM = (uint8*)FCEU_gmalloc(WRAMSIZE); SetupCartPRGMapping(0x10, WRAM, WRAMSIZE, 1); - FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); if (info->battery) { info->SaveGame[0] = WRAM; info->SaveGameLen[0] = WRAMSIZE; diff --git a/trunk/src/boards/156.cpp b/trunk/src/boards/156.cpp index 5990cb82..66939620 100644 --- a/trunk/src/boards/156.cpp +++ b/trunk/src/boards/156.cpp @@ -86,6 +86,7 @@ static void M156Power(void) { SetReadHandler(0x6000, 0xFFFF, CartBR); SetWriteHandler(0x6000, 0x7FFF, CartBW); SetWriteHandler(0xC000, 0xCFFF, M156Write); + FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); } static void M156Close(void) { @@ -106,7 +107,6 @@ void Mapper156_Init(CartInfo *info) { WRAMSIZE = 8192; WRAM = (uint8*)FCEU_gmalloc(WRAMSIZE); SetupCartPRGMapping(0x10, WRAM, WRAMSIZE, 1); - FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); AddExState(WRAM, WRAMSIZE, 0, "WRAM"); GameStateRestore = StateRestore; diff --git a/trunk/src/boards/164.cpp b/trunk/src/boards/164.cpp index 46ebd4fb..37b04396 100644 --- a/trunk/src/boards/164.cpp +++ b/trunk/src/boards/164.cpp @@ -102,6 +102,7 @@ static void Power(void) { SetWriteHandler(0x5000, 0x5FFF, Write); SetReadHandler(0x6000, 0xFFFF, CartBR); SetWriteHandler(0x6000, 0x7FFF, CartBW); + FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); WSync(); } @@ -119,7 +120,6 @@ void Mapper164_Init(CartInfo *info) { WRAMSIZE = 8192; WRAM = (uint8*)FCEU_gmalloc(WRAMSIZE); SetupCartPRGMapping(0x10, WRAM, WRAMSIZE, 1); - FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); AddExState(WRAM, WRAMSIZE, 0, "WRAM"); if (info->battery) { @@ -156,6 +156,7 @@ static void Power2(void) { SetWriteHandler(0x5000, 0x5FFF, Write2); SetReadHandler(0x6000, 0xFFFF, CartBR); SetWriteHandler(0x6000, 0x7FFF, CartBW); + FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); WSync(); } @@ -168,7 +169,6 @@ void Mapper163_Init(CartInfo *info) { WRAMSIZE = 8192; WRAM = (uint8*)FCEU_gmalloc(WRAMSIZE); SetupCartPRGMapping(0x10, WRAM, WRAMSIZE, 1); - FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); AddExState(WRAM, WRAMSIZE, 0, "WRAM"); if (info->battery) { @@ -208,6 +208,7 @@ static void Power3(void) { SetWriteHandler(0x5000, 0x5FFF, Write3); SetReadHandler(0x6000, 0xFFFF, CartBR); SetWriteHandler(0x6000, 0x7FFF, CartBW); + FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); WSync(); } @@ -219,7 +220,6 @@ void UNLFS304_Init(CartInfo *info) { WRAMSIZE = 8192; WRAM = (uint8*)FCEU_gmalloc(WRAMSIZE); SetupCartPRGMapping(0x10, WRAM, WRAMSIZE, 1); - FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); AddExState(WRAM, WRAMSIZE, 0, "WRAM"); if (info->battery) { diff --git a/trunk/src/boards/176.cpp b/trunk/src/boards/176.cpp index 9eed9149..f29ad08f 100644 --- a/trunk/src/boards/176.cpp +++ b/trunk/src/boards/176.cpp @@ -111,15 +111,16 @@ static DECLFW(M176Write_WriteSRAM) static void M176Power(void) { - SetReadHandler(0x6000,0x7fff,CartBR); - SetWriteHandler(0x6000,0x7fff,M176Write_WriteSRAM); - SetReadHandler(0x8000,0xFFFF,CartBR); + SetReadHandler(0x6000,0x7fff,CartBR); + SetWriteHandler(0x6000,0x7fff,M176Write_WriteSRAM); + SetReadHandler(0x8000,0xFFFF,CartBR); SetWriteHandler(0xA001,0xA001,M176Write_A001); SetWriteHandler(0x5001,0x5001,M176Write_5001); SetWriteHandler(0x5010,0x5010,M176Write_5010); SetWriteHandler(0x5011,0x5011,M176Write_5011); - SetWriteHandler(0x5ff1,0x5ff1,M176Write_5FF1); - SetWriteHandler(0x5ff2,0x5ff2,M176Write_5FF2); + SetWriteHandler(0x5ff1,0x5ff1,M176Write_5FF1); + SetWriteHandler(0x5ff2,0x5ff2,M176Write_5FF2); + FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); we_sram = 0; sbw = 0; @@ -153,7 +154,6 @@ void Mapper176_Init(CartInfo *info) WRAMSIZE=8192; WRAM=(uint8*)FCEU_gmalloc(WRAMSIZE); SetupCartPRGMapping(0x10,WRAM,WRAMSIZE,1); - FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); AddExState(WRAM, WRAMSIZE, 0, "WRAM"); AddExState(&StateRegs, ~0, 0, 0); } diff --git a/trunk/src/boards/177.cpp b/trunk/src/boards/177.cpp index 0455a2b6..0416060e 100644 --- a/trunk/src/boards/177.cpp +++ b/trunk/src/boards/177.cpp @@ -50,6 +50,7 @@ static void M177Power(void) { SetWriteHandler(0x6000, 0x7fff, CartBW); SetReadHandler(0x8000, 0xFFFF, CartBR); SetWriteHandler(0x8000, 0xFFFF, M177Write); + FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); } static void M177Close(void) { @@ -70,7 +71,6 @@ void Mapper177_Init(CartInfo *info) { WRAMSIZE = 8192; WRAM = (uint8*)FCEU_gmalloc(WRAMSIZE); SetupCartPRGMapping(0x10, WRAM, WRAMSIZE, 1); - FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); AddExState(WRAM, WRAMSIZE, 0, "WRAM"); if (info->battery) { info->SaveGame[0] = WRAM; diff --git a/trunk/src/boards/178.cpp b/trunk/src/boards/178.cpp index f4d97518..775fece9 100644 --- a/trunk/src/boards/178.cpp +++ b/trunk/src/boards/178.cpp @@ -133,6 +133,7 @@ static void M178Power(void) { SetReadHandler(0x6000, 0x7fff, CartBR); SetWriteHandler(0x6000, 0x7fff, CartBW); SetReadHandler(0x8000, 0xffff, CartBR); + FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); } static void M178SndClk(int a) { @@ -166,7 +167,6 @@ void Mapper178_Init(CartInfo *info) { WRAMSIZE = 32768; WRAM = (uint8*)FCEU_gmalloc(WRAMSIZE); SetupCartPRGMapping(0x10, WRAM, WRAMSIZE, 1); - FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); if (info->battery) { info->SaveGame[0] = WRAM; info->SaveGameLen[0] = WRAMSIZE; diff --git a/trunk/src/boards/18.cpp b/trunk/src/boards/18.cpp index 742f4866..a9ac4b67 100644 --- a/trunk/src/boards/18.cpp +++ b/trunk/src/boards/18.cpp @@ -89,6 +89,7 @@ static void M18Power(void) { SetWriteHandler(0x8000, 0x9FFF, M18WritePrg); SetWriteHandler(0xA000, 0xDFFF, M18WriteChr); SetWriteHandler(0xE000, 0xFFFF, M18WriteIRQ); + FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); } static void M18IRQHook(int a) { @@ -122,7 +123,6 @@ void Mapper18_Init(CartInfo *info) { WRAMSIZE = 8192; WRAM = (uint8*)FCEU_gmalloc(WRAMSIZE); SetupCartPRGMapping(0x10, WRAM, WRAMSIZE, 1); - FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); AddExState(WRAM, WRAMSIZE, 0, "WRAM"); if (info->battery) { info->SaveGame[0] = WRAM; diff --git a/trunk/src/boards/186.cpp b/trunk/src/boards/186.cpp index 9286f722..10902dcd 100644 --- a/trunk/src/boards/186.cpp +++ b/trunk/src/boards/186.cpp @@ -69,6 +69,7 @@ static void M186Power(void) { SetWriteHandler(0x4200, 0x43FF, M186Write); SetReadHandler(0x4400, 0x4FFF, ASWRAM); SetWriteHandler(0x4400, 0x4FFF, BSWRAM); + FCEU_CheatAddRAM(32, 0x6000, WRAM); regs[0] = regs[1] = regs[2] = regs[3]; Sync(); } @@ -89,7 +90,6 @@ void Mapper186_Init(CartInfo *info) { GameStateRestore = M186Restore; WRAM = (uint8*)FCEU_gmalloc(32768); SetupCartPRGMapping(0x10, WRAM, 32768, 1); - FCEU_CheatAddRAM(32, 0x6000, WRAM); AddExState(WRAM, 32768, 0, "WRAM"); AddExState(StateRegs, ~0, 0, 0); } diff --git a/trunk/src/boards/246.cpp b/trunk/src/boards/246.cpp index 219bf375..ec069deb 100644 --- a/trunk/src/boards/246.cpp +++ b/trunk/src/boards/246.cpp @@ -54,6 +54,7 @@ static void M246Power(void) { SetReadHandler(0x6800, 0x6FFF, CartBR); SetWriteHandler(0x6800, 0x6FFF, CartBW); SetReadHandler(0x8000, 0xFFFF, CartBR); + FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); } static void M246Close(void) @@ -75,7 +76,6 @@ void Mapper246_Init(CartInfo *info) { WRAMSIZE = 2048; WRAM = (uint8*)FCEU_gmalloc(WRAMSIZE); SetupCartPRGMapping(0x10, WRAM, WRAMSIZE, 1); - FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); AddExState(WRAM, WRAMSIZE, 0, "WRAM"); if (info->battery) { diff --git a/trunk/src/boards/252.cpp b/trunk/src/boards/252.cpp index aae229da..9962e088 100644 --- a/trunk/src/boards/252.cpp +++ b/trunk/src/boards/252.cpp @@ -80,6 +80,7 @@ static void M252Power(void) { SetWriteHandler(0x6000, 0x7FFF, CartBW); SetReadHandler(0x8000, 0xFFFF, CartBR); SetWriteHandler(0x8000, 0xFFFF, M252Write); + FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); } static void M252IRQ(int a) { @@ -124,7 +125,6 @@ void Mapper252_Init(CartInfo *info) { WRAMSIZE = 8192; WRAM = (uint8*)FCEU_gmalloc(WRAMSIZE); SetupCartPRGMapping(0x10, WRAM, WRAMSIZE, 1); - FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); AddExState(WRAM, WRAMSIZE, 0, "WRAM"); if (info->battery) { info->SaveGame[0] = WRAM; diff --git a/trunk/src/boards/253.cpp b/trunk/src/boards/253.cpp index f09861ef..3ed9bfec 100644 --- a/trunk/src/boards/253.cpp +++ b/trunk/src/boards/253.cpp @@ -96,6 +96,7 @@ static void M253Power(void) { SetWriteHandler(0x6000, 0x7FFF, CartBW); SetReadHandler(0x8000, 0xFFFF, CartBR); SetWriteHandler(0x8000, 0xFFFF, M253Write); + FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); } static void M253Close(void) { @@ -141,7 +142,6 @@ void Mapper253_Init(CartInfo *info) { WRAMSIZE = 8192; WRAM = (uint8*)FCEU_gmalloc(WRAMSIZE); SetupCartPRGMapping(0x10, WRAM, WRAMSIZE, 1); - FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); AddExState(WRAM, WRAMSIZE, 0, "WRAM"); if (info->battery) { info->SaveGame[0] = WRAM; diff --git a/trunk/src/boards/32.cpp b/trunk/src/boards/32.cpp index ac13ccb8..7dd91bb6 100644 --- a/trunk/src/boards/32.cpp +++ b/trunk/src/boards/32.cpp @@ -75,6 +75,7 @@ static void M32Power(void) { SetWriteHandler(0x9000, 0x9FFF, M32Write1); SetWriteHandler(0xA000, 0xAFFF, M32Write2); SetWriteHandler(0xB000, 0xBFFF, M32Write3); + FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); } static void M32Close(void) @@ -96,7 +97,6 @@ void Mapper32_Init(CartInfo *info) { WRAMSIZE = 8192; WRAM = (uint8*)FCEU_gmalloc(WRAMSIZE); SetupCartPRGMapping(0x10, WRAM, WRAMSIZE, 1); - FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); AddExState(WRAM, WRAMSIZE, 0, "WRAM"); AddExState(&StateRegs, ~0, 0, 0); diff --git a/trunk/src/boards/34.cpp b/trunk/src/boards/34.cpp index be42c948..5c27b00a 100644 --- a/trunk/src/boards/34.cpp +++ b/trunk/src/boards/34.cpp @@ -66,6 +66,7 @@ static void M34Power(void) { SetWriteHandler(0x6000, 0x7ffc, CartBW); SetReadHandler(0x8000, 0xffff, CartBR); SetWriteHandler(0x7ffd, 0xffff, M34Write); + FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); } static void M34Close(void) { @@ -86,7 +87,6 @@ void Mapper34_Init(CartInfo *info) { WRAMSIZE = 8192; WRAM = (uint8*)FCEU_gmalloc(WRAMSIZE); SetupCartPRGMapping(0x10, WRAM, WRAMSIZE, 1); - FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); AddExState(WRAM, WRAMSIZE, 0, "WRAM"); AddExState(&StateRegs, ~0, 0, 0); diff --git a/trunk/src/boards/68.cpp b/trunk/src/boards/68.cpp index f0dcf3d2..710f4437 100644 --- a/trunk/src/boards/68.cpp +++ b/trunk/src/boards/68.cpp @@ -134,6 +134,7 @@ static void M68Power(void) { SetWriteHandler(0xF000, 0xFFFF, M68WriteROM); SetWriteHandler(0x6000, 0x6000, M68WriteLo); SetWriteHandler(0x6001, 0x7FFF, CartBW); + FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); } static void M68Close(void) { @@ -154,7 +155,6 @@ void Mapper68_Init(CartInfo *info) { WRAMSIZE = 8192; WRAM = (uint8*)FCEU_gmalloc(WRAMSIZE); SetupCartPRGMapping(0x10, WRAM, WRAMSIZE, 1); - FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); if (info->battery) { info->SaveGame[0] = WRAM; info->SaveGameLen[0] = WRAMSIZE; diff --git a/trunk/src/boards/69.cpp b/trunk/src/boards/69.cpp index 7caa9185..4a2dfb6e 100644 --- a/trunk/src/boards/69.cpp +++ b/trunk/src/boards/69.cpp @@ -232,6 +232,7 @@ static void M69Power(void) { SetWriteHandler(0xA000, 0xBFFF, M69Write1); SetWriteHandler(0xC000, 0xDFFF, M69SWrite0); SetWriteHandler(0xE000, 0xFFFF, M69SWrite1); + FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); } static void M69Close(void) { @@ -260,7 +261,6 @@ void Mapper69_Init(CartInfo *info) { WRAMSIZE = 8192; WRAM = (uint8*)FCEU_gmalloc(WRAMSIZE); SetupCartPRGMapping(0x10, WRAM, WRAMSIZE, 1); - FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); AddExState(WRAM, WRAMSIZE, 0, "WRAM"); if (info->battery) { info->SaveGame[0] = WRAM; diff --git a/trunk/src/boards/82.cpp b/trunk/src/boards/82.cpp index 2758b0df..a1a68b66 100644 --- a/trunk/src/boards/82.cpp +++ b/trunk/src/boards/82.cpp @@ -68,6 +68,7 @@ static void M82Power(void) { SetReadHandler(0x6000, 0xffff, CartBR); SetWriteHandler(0x6000, 0x7fff, CartBW); SetWriteHandler(0x7ef0, 0x7efc, M82Write); // external WRAM might end at $73FF + FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); } static void M82Close(void) { @@ -87,7 +88,6 @@ void Mapper82_Init(CartInfo *info) { WRAMSIZE = 8192; WRAM = (uint8*)FCEU_gmalloc(WRAMSIZE); SetupCartPRGMapping(0x10, WRAM, WRAMSIZE, 1); - FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); AddExState(WRAM, WRAMSIZE, 0, "WRAM"); if (info->battery) { info->SaveGame[0] = WRAM; diff --git a/trunk/src/boards/99.cpp b/trunk/src/boards/99.cpp index 62a667fc..b9df3405 100644 --- a/trunk/src/boards/99.cpp +++ b/trunk/src/boards/99.cpp @@ -51,6 +51,7 @@ static void M99Power(void) { SetWriteHandler(0x4016, 0x4016, M99Write); SetReadHandler(0x6000, 0xFFFF, CartBR); SetWriteHandler(0x6000, 0x7FFF, CartBW); + FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); } static void M99Close(void) @@ -71,7 +72,6 @@ void Mapper99_Init(CartInfo *info) { WRAMSIZE = 8192; WRAM = (uint8*)FCEU_gmalloc(WRAMSIZE); SetupCartPRGMapping(0x10, WRAM, WRAMSIZE, 1); - FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); AddExState(WRAM, WRAMSIZE, 0, "WRAM"); GameStateRestore = StateRestore; diff --git a/trunk/src/boards/addrlatch.cpp b/trunk/src/boards/addrlatch.cpp index 16968be2..dc0128ed 100644 --- a/trunk/src/boards/addrlatch.cpp +++ b/trunk/src/boards/addrlatch.cpp @@ -44,6 +44,7 @@ static void LatchPower(void) { if (WRAM) { SetReadHandler(0x6000, 0xFFFF, CartBR); SetWriteHandler(0x6000, 0x7FFF, CartBW); + FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); } else SetReadHandler(0x6000, 0xFFFF, defread); SetWriteHandler(addrreg0, addrreg1, LatchWrite); @@ -75,7 +76,6 @@ static void Latch_Init(CartInfo *info, void (*proc)(void), readfunc func, uint16 WRAMSIZE = 8192; WRAM = (uint8*)FCEU_gmalloc(WRAMSIZE); SetupCartPRGMapping(0x10, WRAM, WRAMSIZE, 1); - FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); if (info->battery) { info->SaveGame[0] = WRAM; info->SaveGameLen[0] = WRAMSIZE; diff --git a/trunk/src/boards/bandai.cpp b/trunk/src/boards/bandai.cpp index 8ec89277..24043a99 100644 --- a/trunk/src/boards/bandai.cpp +++ b/trunk/src/boards/bandai.cpp @@ -270,6 +270,7 @@ static void M153Power(void) { SetWriteHandler(0x6000, 0x7FFF, CartBW); SetReadHandler(0x8000, 0xFFFF, CartBR); SetWriteHandler(0x8000, 0xFFFF, BandaiWrite); + FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); } @@ -288,7 +289,6 @@ void Mapper153_Init(CartInfo *info) { WRAMSIZE = 8192; WRAM = (uint8*)FCEU_gmalloc(WRAMSIZE); SetupCartPRGMapping(0x10, WRAM, WRAMSIZE, 1); - FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); AddExState(WRAM, WRAMSIZE, 0, "WRAM"); if (info->battery) { diff --git a/trunk/src/boards/dance2000.cpp b/trunk/src/boards/dance2000.cpp index 7a172210..37a6e1ea 100644 --- a/trunk/src/boards/dance2000.cpp +++ b/trunk/src/boards/dance2000.cpp @@ -67,6 +67,7 @@ static void UNLD2000Power(void) { SetWriteHandler(0x6000, 0x7FFF, CartBW); SetReadHandler(0x8000, 0xFFFF, UNLD2000Read); SetWriteHandler(0x5000, 0x5FFF, UNLD2000Write); + FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); } static void UNL2000Hook(uint32 A) { @@ -103,7 +104,6 @@ void UNLD2000_Init(CartInfo *info) { WRAMSIZE = 8192; WRAM = (uint8*)FCEU_gmalloc(WRAMSIZE); SetupCartPRGMapping(0x10, WRAM, WRAMSIZE, 1); - FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); AddExState(WRAM, WRAMSIZE, 0, "WRAM"); AddExState(&StateRegs, ~0, 0, 0); diff --git a/trunk/src/boards/datalatch.cpp b/trunk/src/boards/datalatch.cpp index f1bbb009..79242ddd 100644 --- a/trunk/src/boards/datalatch.cpp +++ b/trunk/src/boards/datalatch.cpp @@ -42,6 +42,7 @@ static void LatchPower(void) { if (WRAM) { SetReadHandler(0x6000, 0xFFFF, CartBR); SetWriteHandler(0x6000, 0x7FFF, CartBW); + FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); } else { SetReadHandler(0x8000, 0xFFFF, CartBR); } @@ -71,7 +72,6 @@ static void Latch_Init(CartInfo *info, void (*proc)(void), uint8 init, uint16 ad WRAMSIZE = 8192; WRAM = (uint8*)FCEU_gmalloc(WRAMSIZE); SetupCartPRGMapping(0x10, WRAM, WRAMSIZE, 1); - FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); if (info->battery) { info->SaveGame[0] = WRAM; info->SaveGameLen[0] = WRAMSIZE; @@ -101,7 +101,9 @@ static void NROMPower(void) { SetWriteHandler(0x6000, 0x7FFF, CartBW); SetReadHandler(0x8000, 0xFFFF, CartBR); - #ifdef DEBUG_MAPPER + FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); + +#ifdef DEBUG_MAPPER SetWriteHandler(0x4020, 0xFFFF, NROMWrite); #endif } @@ -113,7 +115,6 @@ void NROM_Init(CartInfo *info) { WRAMSIZE = 8192; WRAM = (uint8*)FCEU_gmalloc(WRAMSIZE); SetupCartPRGMapping(0x10, WRAM, WRAMSIZE, 1); - FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); if (info->battery) { info->SaveGame[0] = WRAM; info->SaveGameLen[0] = WRAMSIZE; diff --git a/trunk/src/boards/edu2000.cpp b/trunk/src/boards/edu2000.cpp index d80a3fd3..36f1ad1b 100644 --- a/trunk/src/boards/edu2000.cpp +++ b/trunk/src/boards/edu2000.cpp @@ -48,6 +48,7 @@ static void UNLEDU2000Power(void) { SetReadHandler(0x6000, 0xFFFF, CartBR); SetWriteHandler(0x6000, 0xFFFF, CartBW); SetWriteHandler(0x8000, 0xFFFF, UNLEDU2000HiWrite); + FCEU_CheatAddRAM(32, 0x6000, WRAM); reg = 0; Sync(); } @@ -68,7 +69,6 @@ void UNLEDU2000_Init(CartInfo *info) { GameStateRestore = UNLEDU2000Restore; WRAM = (uint8*)FCEU_gmalloc(32768); SetupCartPRGMapping(0x10, WRAM, 32768, 1); - FCEU_CheatAddRAM(32, 0x6000, WRAM); if (info->battery) { info->SaveGame[0] = WRAM; info->SaveGameLen[0] = 32768; diff --git a/trunk/src/boards/famicombox.cpp b/trunk/src/boards/famicombox.cpp index 760c0786..a47823fa 100644 --- a/trunk/src/boards/famicombox.cpp +++ b/trunk/src/boards/famicombox.cpp @@ -79,6 +79,7 @@ static void SSSNROMPower(void) { SetReadHandler(0x6000, 0x7FFF, CartBR); SetWriteHandler(0x6000, 0x7FFF, CartBW); SetReadHandler(0x8000, 0xFFFF, CartBR); + FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); } static void SSSNROMReset(void) { @@ -109,8 +110,6 @@ void SSSNROM_Init(CartInfo *info) { WRAMSIZE = 16384; WRAM = (uint8*)FCEU_gmalloc(WRAMSIZE); SetupCartPRGMapping(0x10, WRAM, WRAMSIZE, 1); - FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); - AddExState(WRAM, WRAMSIZE, 0, "WRAM"); AddExState(&StateRegs, ~0, 0, 0); } diff --git a/trunk/src/boards/ffe.cpp b/trunk/src/boards/ffe.cpp index 10d11885..51e591ee 100644 --- a/trunk/src/boards/ffe.cpp +++ b/trunk/src/boards/ffe.cpp @@ -102,6 +102,7 @@ static void FFEPower(void) { SetWriteHandler(0x6000, 0x7FFF, CartBW); SetReadHandler(0x6000, 0x7FFF, CartBR); SetWriteHandler(0x8000, 0xFFFF, FFEWriteLatch); + FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); } static void FFEIRQHook(int a) { @@ -138,7 +139,6 @@ void Mapper6_Init(CartInfo *info) { WRAMSIZE = 8192; WRAM = (uint8*)FCEU_gmalloc(WRAMSIZE); SetupCartPRGMapping(0x10, WRAM, WRAMSIZE, 1); - FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); AddExState(WRAM, WRAMSIZE, 0, "WRAM"); if (info->battery) { info->SaveGame[0] = WRAM; diff --git a/trunk/src/boards/ks7012.cpp b/trunk/src/boards/ks7012.cpp index 9545a4fc..49def232 100644 --- a/trunk/src/boards/ks7012.cpp +++ b/trunk/src/boards/ks7012.cpp @@ -51,6 +51,7 @@ static void UNLKS7012Power(void) { SetWriteHandler(0x6000, 0x7FFF, CartBW); SetReadHandler(0x8000, 0xFFFF, CartBR); SetWriteHandler(0x8000, 0xFFFF, UNLKS7012Write); + FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); } static void UNLKS7012Reset(void) { @@ -76,7 +77,6 @@ void UNLKS7012_Init(CartInfo *info) { WRAMSIZE = 8192; WRAM = (uint8*)FCEU_gmalloc(WRAMSIZE); SetupCartPRGMapping(0x10, WRAM, WRAMSIZE, 1); - FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); AddExState(WRAM, WRAMSIZE, 0, "WRAM"); GameStateRestore = StateRestore; diff --git a/trunk/src/boards/ks7017.cpp b/trunk/src/boards/ks7017.cpp index 0865c993..3f119cf6 100644 --- a/trunk/src/boards/ks7017.cpp +++ b/trunk/src/boards/ks7017.cpp @@ -87,6 +87,7 @@ static void UNLKS7017Power(void) { SetReadHandler(0x8000, 0xFFFF, CartBR); SetReadHandler(0x4030, 0x4030, FDSRead4030); SetWriteHandler(0x4020, 0x5FFF, UNLKS7017Write); + FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); } static void UNLKS7017Close(void) { @@ -107,7 +108,6 @@ void UNLKS7017_Init(CartInfo *info) { WRAMSIZE = 8192; WRAM = (uint8*)FCEU_gmalloc(WRAMSIZE); SetupCartPRGMapping(0x10, WRAM, WRAMSIZE, 1); - FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); AddExState(WRAM, WRAMSIZE, 0, "WRAM"); GameStateRestore = StateRestore; diff --git a/trunk/src/boards/ks7037.cpp b/trunk/src/boards/ks7037.cpp index 7169e275..232e7583 100644 --- a/trunk/src/boards/ks7037.cpp +++ b/trunk/src/boards/ks7037.cpp @@ -82,6 +82,7 @@ static void LH10Power(void) { SetWriteHandler(0x8000, 0xBFFF, UNLKS7037Write); SetWriteHandler(0xC000, 0xDFFF, CartBW); SetWriteHandler(0xE000, 0xFFFF, UNLKS7037Write); + FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); } static void Close(void) { @@ -103,7 +104,6 @@ void UNLKS7037_Init(CartInfo *info) { WRAMSIZE = 8192; WRAM = (uint8*)FCEU_gmalloc(WRAMSIZE); SetupCartPRGMapping(0x10, WRAM, WRAMSIZE, 1); - FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); AddExState(WRAM, WRAMSIZE, 0, "WRAM"); GameStateRestore = StateRestore; diff --git a/trunk/src/boards/lh32.cpp b/trunk/src/boards/lh32.cpp index 7fb5a408..39833275 100644 --- a/trunk/src/boards/lh32.cpp +++ b/trunk/src/boards/lh32.cpp @@ -52,6 +52,7 @@ static void LH32Power(void) { SetReadHandler(0x6000, 0xFFFF, CartBR); SetWriteHandler(0xC000, 0xDFFF, CartBW); SetWriteHandler(0x6000, 0x6000, LH32Write); + FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); } static void LH32Close(void) { @@ -71,7 +72,6 @@ void LH32_Init(CartInfo *info) { WRAMSIZE = 8192; WRAM = (uint8*)FCEU_gmalloc(WRAMSIZE); SetupCartPRGMapping(0x10, WRAM, WRAMSIZE, 1); - FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); AddExState(WRAM, WRAMSIZE, 0, "WRAM"); GameStateRestore = StateRestore; diff --git a/trunk/src/boards/lh53.cpp b/trunk/src/boards/lh53.cpp index 42c6259f..7065b0ca 100644 --- a/trunk/src/boards/lh53.cpp +++ b/trunk/src/boards/lh53.cpp @@ -80,6 +80,7 @@ static void LH53Power(void) { SetWriteHandler(0xB800, 0xD7FF, LH53RamWrite); SetWriteHandler(0xE000, 0xEFFF, LH53IRQaWrite); SetWriteHandler(0xF000, 0xFFFF, LH53Write); + FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); } static void LH53Close(void) { @@ -101,7 +102,6 @@ void LH53_Init(CartInfo *info) { WRAMSIZE = 8192; WRAM = (uint8*)FCEU_gmalloc(WRAMSIZE); SetupCartPRGMapping(0x10, WRAM, WRAMSIZE, 1); - FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); AddExState(WRAM, WRAMSIZE, 0, "WRAM"); AddExState(&StateRegs, ~0, 0, 0); diff --git a/trunk/src/boards/mmc2and4.cpp b/trunk/src/boards/mmc2and4.cpp index 341e583d..5d9d73d6 100644 --- a/trunk/src/boards/mmc2and4.cpp +++ b/trunk/src/boards/mmc2and4.cpp @@ -95,6 +95,7 @@ static void MMC2and4Power(void) { if (is10) { SetReadHandler(0x6000, 0x7FFF, CartBR); SetWriteHandler(0x6000, 0x7FFF, CartBW); + FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); } SetReadHandler(0x8000, 0xFFFF, CartBR); SetWriteHandler(0xA000, 0xFFFF, MMC2and4Write); @@ -127,7 +128,6 @@ void Mapper10_Init(CartInfo *info) { WRAMSIZE = 8192; WRAM = (uint8*)FCEU_gmalloc(WRAMSIZE); SetupCartPRGMapping(0x10, WRAM, WRAMSIZE, 1); - FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); AddExState(WRAM, WRAMSIZE, 0, "WRAM"); if (info->battery) { info->SaveGame[0] = WRAM; diff --git a/trunk/src/boards/mmc3.cpp b/trunk/src/boards/mmc3.cpp index 23691c20..8a54d9d5 100644 --- a/trunk/src/boards/mmc3.cpp +++ b/trunk/src/boards/mmc3.cpp @@ -820,6 +820,7 @@ void Mapper119_Init(CartInfo *info) { CHRRAMSIZE = 8192; CHRRAM = (uint8*)FCEU_gmalloc(CHRRAMSIZE); SetupCartCHRMapping(0x10, CHRRAM, CHRRAMSIZE, 1); + AddExState(CHRRAM, CHRRAMSIZE, 0, "CHRR"); } // ---------------------------- Mapper 134 ------------------------------ @@ -1321,6 +1322,7 @@ void TQROM_Init(CartInfo *info) { CHRRAMSIZE = 8192; CHRRAM = (uint8*)FCEU_gmalloc(CHRRAMSIZE); SetupCartCHRMapping(0x10, CHRRAM, CHRRAMSIZE, 1); + AddExState(CHRRAM, CHRRAMSIZE, 0, "CHRR"); } void HKROM_Init(CartInfo *info) { diff --git a/trunk/src/boards/onebus.cpp b/trunk/src/boards/onebus.cpp index 96ce0265..e9a8d6dc 100644 --- a/trunk/src/boards/onebus.cpp +++ b/trunk/src/boards/onebus.cpp @@ -32,13 +32,13 @@ static uint8 cpu410x[16], ppu201x[16], apu40xx[64]; // IRQ Registers static uint8 IRQCount, IRQa, IRQReload; -#define IRQLatch cpu410x[0x1] +#define IRQLatch cpu410x[0x1] // accc cccc, a = 0, AD12 switching, a = 1, HSYNC switching // MMC3 Registers -static uint8 inv_hack = 0; // some OneBus Systems have swapped PRG reg commans in MMC3 inplementation, - // trying to autodetect unusual behavior, due not to add a new mapper. -#define mmc3cmd cpu410x[0x5] -#define mirror cpu410x[0x6] +static uint8 inv_hack = 0; // some OneBus Systems have swapped PRG reg commans in MMC3 inplementation, + // trying to autodetect unusual behavior, due not to add a new mapper. +#define mmc3cmd cpu410x[0x5] // pcv- ----, p - program swap, c - video swap, v - internal VRAM enable +#define mirror cpu410x[0x6] // ---- ---m, m = 0 - H, m = 1 - V // APU Registers static uint8 pcm_enable = 0, pcm_irq = 0; @@ -113,7 +113,7 @@ static void CSync(void) { setchr1(0x1800 ^ cswap, block | (bank6 & mask)); setchr1(0x1c00 ^ cswap, block | (bank7 & mask)); - setmirror((mirror & 1) ^ 1); + setmirror(mirror & 1); } static void Sync(void) { @@ -124,7 +124,7 @@ static void Sync(void) { static DECLFW(UNLOneBusWriteCPU410X) { // FCEU_printf("CPU %04x:%04x\n",A,V); switch (A & 0xf) { - case 0x1: IRQLatch = V & 0xfe; break; + case 0x1: IRQLatch = V & 0xfe; break; // не по даташиту case 0x2: IRQReload = 1; break; case 0x3: X6502_IRQEnd(FCEU_IQEXT); IRQa = 0; break; case 0x4: IRQa = 1; break; @@ -158,7 +158,7 @@ static DECLFW(UNLOneBusWriteMMC3) { } break; } - case 0xa000: mirror = V; CSync(); break; + case 0xa000: mirror = V ^ 1; CSync(); break; case 0xc000: IRQLatch = V & 0xfe; break; case 0xc001: IRQReload = 1; break; case 0xe000: X6502_IRQEnd(FCEU_IQEXT); IRQa = 0; break; @@ -281,7 +281,7 @@ void UNLOneBus_Init(CartInfo *info) { info->Power = UNLOneBusPower; info->Reset = UNLOneBusReset; - if (((*(uint32*)&(info->MD5)) == 0x305fcdc3) || // PowerJoy Supermax Carts + if (((*(uint32*)&(info->MD5)) == 0x305fcdc3) || // PowerJoy Supermax Carts ((*(uint32*)&(info->MD5)) == 0x6abfce8e)) inv_hack = 0xf; diff --git a/trunk/src/boards/pec-586.cpp b/trunk/src/boards/pec-586.cpp index 589bf2b3..0eac60ce 100644 --- a/trunk/src/boards/pec-586.cpp +++ b/trunk/src/boards/pec-586.cpp @@ -101,6 +101,7 @@ static void UNLPEC586Power(void) { SetReadHandler(0x8000, 0xFFFF, CartBR); SetWriteHandler(0x5000, 0x5fff, UNLPEC586Write); SetReadHandler(0x5000, 0x5fff, UNLPEC586Read); + FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); } static void UNLPEC586Close(void) { @@ -121,7 +122,6 @@ void UNLPEC586Init(CartInfo *info) { WRAMSIZE = 8192; WRAM = (uint8*)FCEU_gmalloc(WRAMSIZE); SetupCartPRGMapping(0x10, WRAM, WRAMSIZE, 1); - FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); AddExState(WRAM, WRAMSIZE, 0, "WRAM"); AddExState(&StateRegs, ~0, 0, 0); diff --git a/trunk/src/boards/sc-127.cpp b/trunk/src/boards/sc-127.cpp index 6a3a424d..8b563065 100644 --- a/trunk/src/boards/sc-127.cpp +++ b/trunk/src/boards/sc-127.cpp @@ -75,6 +75,7 @@ static void UNLSC127Power(void) { SetWriteHandler(0x6000, 0x7fff, CartBW); SetReadHandler(0x8000, 0xFFFF, CartBR); SetWriteHandler(0x8000, 0xFFFF, UNLSC127Write); + FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); } static void UNLSC127IRQ(void) { @@ -109,7 +110,6 @@ void UNLSC127_Init(CartInfo *info) { WRAMSIZE = 8192; WRAM = (uint8*)FCEU_gmalloc(WRAMSIZE); SetupCartPRGMapping(0x10, WRAM, WRAMSIZE, 1); - FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); AddExState(WRAM, WRAMSIZE, 0, "WRAM"); AddExState(&StateRegs, ~0, 0, 0); } diff --git a/trunk/src/boards/transformer.cpp b/trunk/src/boards/transformer.cpp index 1095c114..6a9514c1 100644 --- a/trunk/src/boards/transformer.cpp +++ b/trunk/src/boards/transformer.cpp @@ -74,6 +74,7 @@ static void TransformerPower(void) { SetReadHandler(0x6000, 0x7FFF, CartBR); SetWriteHandler(0x6000, 0x7FFF, CartBW); SetReadHandler(0x8000, 0xFFFF, CartBR); + FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); MapIRQHook = TransformerIRQHook; } @@ -91,7 +92,6 @@ void Transformer_Init(CartInfo *info) { WRAMSIZE = 8192; WRAM = (uint8*)FCEU_gmalloc(WRAMSIZE); SetupCartPRGMapping(0x10, WRAM, WRAMSIZE, 1); - FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); if (info->battery) { info->SaveGame[0] = WRAM; info->SaveGameLen[0] = WRAMSIZE; diff --git a/trunk/src/boards/vrc2and4.cpp b/trunk/src/boards/vrc2and4.cpp index 386b623e..571e4a8e 100644 --- a/trunk/src/boards/vrc2and4.cpp +++ b/trunk/src/boards/vrc2and4.cpp @@ -169,6 +169,7 @@ static void M23Power(void) { SetWriteHandler(0x6000, 0x7FFF, CartBW); SetReadHandler(0x8000, 0xFFFF, CartBR); SetWriteHandler(0x8000, 0xFFFF, M23Write); + FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); } static void M25Power(void) { @@ -179,6 +180,7 @@ static void M25Power(void) { SetWriteHandler(0x6000, 0x7FFF, CartBW); SetReadHandler(0x8000, 0xFFFF, CartBR); SetWriteHandler(0x8000, 0xFFFF, M22Write); + FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); } void VRC24IRQHook(int a) { @@ -235,7 +237,6 @@ void VRC24_Init(CartInfo *info) { WRAMSIZE = 8192; WRAM = (uint8*)FCEU_gmalloc(WRAMSIZE); SetupCartPRGMapping(0x10, WRAM, WRAMSIZE, 1); - FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); AddExState(WRAM, WRAMSIZE, 0, "WRAM"); if(info->battery) { diff --git a/trunk/src/boards/vrc3.cpp b/trunk/src/boards/vrc3.cpp index 4bfd62da..f6471ae1 100644 --- a/trunk/src/boards/vrc3.cpp +++ b/trunk/src/boards/vrc3.cpp @@ -106,6 +106,7 @@ static void M73Power(void) { SetReadHandler(0x6000, 0xFFFF, CartBR); SetWriteHandler(0x6000, 0x7FFF, CartBW); SetWriteHandler(0x8000, 0xFFFF, M73Write); + FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); } static void M73Close(void) @@ -127,7 +128,6 @@ void Mapper73_Init(CartInfo *info) { WRAMSIZE = 8192; WRAM = (uint8*)FCEU_gmalloc(WRAMSIZE); SetupCartPRGMapping(0x10, WRAM, WRAMSIZE, 1); - FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); AddExState(WRAM, WRAMSIZE, 0, "WRAM"); AddExState(&StateRegs, ~0, 0, 0); diff --git a/trunk/src/boards/vrc5.cpp b/trunk/src/boards/vrc5.cpp index 4e3296cc..475cfe63 100644 --- a/trunk/src/boards/vrc5.cpp +++ b/trunk/src/boards/vrc5.cpp @@ -184,6 +184,7 @@ static void M190Power(void) { SetWriteHandler(0x8000, 0xFFFF, M190Write); SetReadHandler(0xDC00, 0xDC00, M190Read); SetReadHandler(0xDD00, 0xDD00, M190Read); + FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); Sync(); } @@ -214,7 +215,6 @@ void Mapper190_Init(CartInfo *info) { WRAM = (uint8*)FCEU_gmalloc(WRAMSIZE); SetupCartPRGMapping(0x10, WRAM, WRAMSIZE, 1); - FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); AddExState(WRAM, WRAMSIZE, 0, "WRAM"); if (info->battery) { diff --git a/trunk/src/boards/vrc6.cpp b/trunk/src/boards/vrc6.cpp index 055ca94d..43cd3824 100644 --- a/trunk/src/boards/vrc6.cpp +++ b/trunk/src/boards/vrc6.cpp @@ -127,6 +127,7 @@ static void VRC6Power(void) { SetReadHandler(0x6000, 0xFFFF, CartBR); SetWriteHandler(0x6000, 0x7FFF, CartBW); SetWriteHandler(0x8000, 0xFFFF, VRC6Write); + FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); } static void VRC6IRQHook(int a) { @@ -362,7 +363,6 @@ void Mapper26_Init(CartInfo *info) { WRAMSIZE = 8192; WRAM = (uint8*)FCEU_gmalloc(WRAMSIZE); SetupCartPRGMapping(0x10, WRAM, WRAMSIZE, 1); - FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); AddExState(WRAM, WRAMSIZE, 0, "WRAM"); if (info->battery) { info->SaveGame[0] = WRAM; diff --git a/trunk/src/boards/vrc7.cpp b/trunk/src/boards/vrc7.cpp index 57907aa1..d6ffdd27 100644 --- a/trunk/src/boards/vrc7.cpp +++ b/trunk/src/boards/vrc7.cpp @@ -151,6 +151,7 @@ static void VRC7Power(void) { SetWriteHandler(0x6000, 0x7FFF, CartBW); SetReadHandler(0x6000, 0xFFFF, CartBR); SetWriteHandler(0x8000, 0xFFFF, VRC7Write); + FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); } static void VRC7Close(void) @@ -185,7 +186,6 @@ void Mapper85_Init(CartInfo *info) { WRAMSIZE = 8192; WRAM = (uint8*)FCEU_gmalloc(WRAMSIZE); SetupCartPRGMapping(0x10, WRAM, WRAMSIZE, 1); - FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); AddExState(WRAM, WRAMSIZE, 0, "WRAM"); if (info->battery) { info->SaveGame[0] = WRAM; diff --git a/trunk/src/boards/yoko.cpp b/trunk/src/boards/yoko.cpp index 939f14b7..f1905487 100644 --- a/trunk/src/boards/yoko.cpp +++ b/trunk/src/boards/yoko.cpp @@ -174,6 +174,7 @@ static void M83Power(void) { SetWriteHandler(0x6000, 0x7fff, CartBW); // Pirate Dragon Ball Z Party [p1] used if for saves instead of seraial EEPROM SetReadHandler(0x8000, 0xffff, CartBR); SetWriteHandler(0x8000, 0xffff, M83Write); + FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); } static void UNLYOKOReset(void) { @@ -230,7 +231,6 @@ void Mapper83_Init(CartInfo *info) { WRAMSIZE = 8192; WRAM = (uint8*)FCEU_gmalloc(WRAMSIZE); SetupCartPRGMapping(0x10, WRAM, WRAMSIZE, 1); - FCEU_CheatAddRAM(WRAMSIZE >> 10, 0x6000, WRAM); AddExState(WRAM, WRAMSIZE, 0, "WRAM"); AddExState(&StateRegs, ~0, 0, 0); diff --git a/trunk/src/debug.cpp b/trunk/src/debug.cpp index 9c8f1365..61566198 100644 --- a/trunk/src/debug.cpp +++ b/trunk/src/debug.cpp @@ -237,7 +237,7 @@ int getBank(int offs) int GetNesFileAddress(int A){ int result; - if((A < 0x8000) || (A > 0xFFFF))return -1; + if((A < 0x6000) || (A > 0xFFFF))return -1; result = &Page[A>>11][A]-PRGptr[0]; if((result > (int)(PRGsize[0])) || (result < 0))return -1; else return result+16; //16 bytes for the header remember @@ -421,7 +421,8 @@ void LogCDData(uint8 *opcode, uint16 A, int size) { for (i = 0; i < size; i++) { if(cdloggerdata[j+i] & 1)continue; //this has been logged so skip cdloggerdata[j+i] |= 1; - cdloggerdata[j+i] |=((_PC+i)>>11)&0x0c; + cdloggerdata[j+i] |= ((_PC + i) >> 11) & 0x0c; + cdloggerdata[j+i] |= ((_PC & 0x8000) >> 8) ^ 0x80; // 19/07/14 used last reserved bit, if bit 7 is 1, then code is running from lowe area (6000) if(indirectnext)cdloggerdata[j+i] |= 0x10; codecount++; if(!(cdloggerdata[j+i] & 2))undefinedcount--; diff --git a/trunk/src/ines-correct.h b/trunk/src/ines-correct.h index 1fb733c2..128d9f15 100644 --- a/trunk/src/ines-correct.h +++ b/trunk/src/ines-correct.h @@ -108,7 +108,7 @@ {0xa7b0536c, 48, 8}, /* Don Doko Don 2 */ {0x40c0ad47, 48, 8}, /* Flintstones 2 */ {0x1500e835, 48, 8}, /* Jetsons (J) */ - {0xa912b064, 51|0x800, 8}, /* 11-in-1 Ball Games(has CHR ROM when it shouldn't) */ + {0xa912b064, 51|0x800, 8}, /* 11-in-1 Ball Games (has CHR ROM when it shouldn't) */ {0xb19a55dd, 64, 8}, /* Road Runner */ {0xf92be3ec, 64, -1}, /* Rolling Thunder */ {0xe84274c5, 66, 1}, @@ -257,4 +257,10 @@ {0x345ee51a, 245, -1}, /* DQ4c */ {0x57514c6c, 245, -1}, /* Yong Zhe Dou E Long - Dragon Quest VI (Ch) */ + {0x1d75fd35, 256|0x1000,-1}, /* 2-in-1 - Street Dance + Hit Mouse (Unl) [!] */ + {0x6eef8bb7, 257|0x1000,-1}, /* PEC-586 Chinese */ + {0xac7e98fb, 257|0x1000,-1}, /* PEC-586 Chinese No Tape Out */ + {0x8d51a23b, 257|0x1000,-1}, /* [KeWang] Chao Ji Wu Bi Han Ka (C) V1 */ + {0x25c76773, 257|0x1000,-1}, /* [KeWang] Chao Ji Wu Bi Han Ka (C) V2 */ + {0x00000000, -1, -1}