Fix savestates

- prevent possible issue on big-endian by adding mask
- specify correct variable size to state struct
This commit is contained in:
negativeExponent
2020-01-23 09:25:01 +08:00
parent 305d7a048d
commit 575db021c6
5 changed files with 25 additions and 18 deletions

View File

@@ -49,10 +49,10 @@ static SFORMAT BS110_StateRegs[] =
{ mmc3_reg, 8, "MMC3R" },
{ &pointer, 1, "POINT" },
{ &readDIP, 1, "RDIP" },
{ &prgAND, 1, "PRGAND" },
{ &chrAND, 1, "CHRAND" },
{ &prgOR, 1, "PRGOR" },
{ &chrOR, 1, "CHROR" },
{ &prgAND, 2 | FCEUSTATE_RLSB, "PRGAND" },
{ &chrAND, 2 | FCEUSTATE_RLSB, "CHRAND" },
{ &prgOR, 2 | FCEUSTATE_RLSB, "PRGOR" },
{ &chrOR, 2 | FCEUSTATE_RLSB, "CHROR" },
{ &nrom, 1, "NROM" },
{ &nrom128, 1, "N128" },
{ &dipswitch, 1, "DIP" },

View File

@@ -50,10 +50,10 @@ static SFORMAT BS5652_StateRegs[] =
{ mmc3_reg, 8, "MMC3R" },
{ &pointer, 1, "POINT" },
{ &readDIP, 1, "RDIP" },
{ &prgAND, 1, "PRGAND" },
{ &chrAND, 1, "CHRAND" },
{ &prgOR, 1, "PRGOR" },
{ &chrOR, 1, "CHROR" },
{ &prgAND, 2 | FCEUSTATE_RLSB, "PRGAND" },
{ &chrAND, 2 | FCEUSTATE_RLSB, "CHRAND" },
{ &prgOR, 2 | FCEUSTATE_RLSB, "PRGOR" },
{ &chrOR, 2 | FCEUSTATE_RLSB, "CHROR" },
{ &nrom, 1, "NROM" },
{ &nrom128, 1, "N128" },
{ &dipswitch, 1, "DIP" },

View File

@@ -52,13 +52,13 @@ static SFORMAT NC7000M_StateRegs[] =
{ mmc3_reg, 8, "MMC3R" },
{ &pointer, 1, "POINT" },
{ &readDIP, 1, "RDIP" },
{ &prgAND, 1, "PRGAND" },
{ &chrAND, 1, "CHRAND" },
{ &prgOR, 1, "PRGOR" },
{ &chrOR, 1, "CHROR" },
{ &prgAND, 2 | FCEUSTATE_RLSB, "PRGAND" },
{ &chrAND, 2 | FCEUSTATE_RLSB, "CHRAND" },
{ &prgOR, 2 | FCEUSTATE_RLSB, "PRGOR" },
{ &chrOR, 2 | FCEUSTATE_RLSB, "CHROR" },
{ &nrom, 1, "NROM" },
{ &nrom256, 1, "N256" },
{ &reg, 1, "REG" },
{ &reg, 2 | FCEUSTATE_RLSB, "REG" },
{ 0 }
};

View File

@@ -42,15 +42,22 @@ static uint8 prgMask = 0x1F;
static SFORMAT StateRegs[] =
{
{ prgreg, 2, "PREG" },
{ prgreg, 4, "PREG" },
{ chrreg, 8, "CREG" },
{ chrhi, 16, "CRGH" },
{ &chrhi[0], 2 | FCEUSTATE_RLSB, "CRH0" },
{ &chrhi[1], 2 | FCEUSTATE_RLSB, "CRH1" },
{ &chrhi[2], 2 | FCEUSTATE_RLSB, "CRH2" },
{ &chrhi[3], 2 | FCEUSTATE_RLSB, "CRH3" },
{ &chrhi[4], 2 | FCEUSTATE_RLSB, "CRH4" },
{ &chrhi[5], 2 | FCEUSTATE_RLSB, "CRH5" },
{ &chrhi[6], 2 | FCEUSTATE_RLSB, "CRH6" },
{ &chrhi[7], 2 | FCEUSTATE_RLSB, "CRH7" },
{ &regcmd, 1, "CMDR" },
{ &irqcmd, 1, "CMDI" },
{ &mirr, 1, "MIRR" },
{ &prgMask, 1, "MAK" },
{ &big_bank, 1, "BIGB" },
{ &IRQCount, 2, "IRQC" },
{ &IRQCount, 2 | FCEUSTATE_RLSB, "IRQC" },
{ &IRQLatch, 1, "IRQL" },
{ &IRQa, 1, "IRQA" },
{ 0 }

View File

@@ -90,8 +90,8 @@ static void makeppulut(void) {
}
}
static int ppudead = 1;
static int kook = 0;
static uint8 ppudead = 1;
static uint8 kook = 0;
int fceuindbg = 0;
int MMC5Hack = 0, PEC586Hack = 0;