static void FDS_StateAction(StateMem *sm, const unsigned load, const bool data_only) { unsigned int x; SFORMAT StateRegs[] = { SFPTR8(diskdata[0], 65500), SFPTR8(diskdata[1], 65500), SFPTR8(diskdata[2], 65500), SFPTR8(diskdata[3], 65500), SFPTR8(diskdata[4], 65500), SFPTR8(diskdata[5], 65500), SFPTR8(diskdata[6], 65500), SFPTR8(diskdata[7], 65500), SFPTR8(FDSRAM, 32768), SFPTR8(CHRRAM, 8192), SFVAR(V4023), SFVAR(ExLatch), SFVAR(Control), SFVAR(IRQCounter), SFVAR(IRQReload), SFVAR(IRQControl), SFVAR(writeskip), SFVAR(DiskPtr), SFVAR(DiskSeekIRQ), SFVAR(DiskWritten), SFEND }; if(!load) { for(x=0;x<TotalSides;x++) { int b; for(b=0; b<65500; b++) diskdata[x][b] ^= diskdatao[x][b]; } } MDFNSS_StateAction(sm, load, data_only, StateRegs, "FDS"); if(load) { setmirror(((Control & 8)>>3)^1); for(x=0;x<TotalSides;x++) { int b; for(b=0; b<65500; b++) diskdata[x][b] ^= diskdatao[x][b]; } } else { for(x=0;x<TotalSides;x++)
static void StateAction(StateMem *sm, const unsigned load, const bool data_only) { SFORMAT StateRegs[] = { SFPTR8(BaseRAM, IsSGX? 32768 : 8192), SFVAR(PCEIODataBuffer), SFEND }; //for(int i = 8192; i < 32768; i++) // if(BaseRAM[i] != 0xFF) // printf("%d %02x\n", i, BaseRAM[i]); MDFNSS_StateAction(sm, load, data_only, StateRegs, "MAIN"); HuC6280_StateAction(sm, load, data_only); VDC_StateAction(sm, load, data_only); psg->StateAction(sm, load, data_only); INPUT_StateAction(sm, load, data_only); HuC_StateAction(sm, load, data_only); if(load) { } }
static int StateAction(StateMem *sm, int load, int data_only) { SFORMAT StateRegs[] = { SFVAR(cmd), SFPTR8(regs, 8), SFEND }; int ret = MDFNSS_StateAction(sm, load, data_only, StateRegs, "MAPR"); if(load) Sync(); return(ret); }
void HuC_StateAction(StateMem *sm, int load, int data_only) { SFORMAT StateRegs[] = { SFPTR8(ROMSpace + 0x40 * 8192, IsPopulous ? 32768 : 0), SFPTR8(SaveRAM, IsPopulous ? 0 : 2048), SFPTR8(ROMSpace + 0x68 * 8192, PCE_IsCD ? 262144 : 0), SFVAR(HuCSF2Latch), SFEND }; MDFNSS_StateAction(sm, load, data_only, StateRegs, "HuC"); if(load) HuCSF2Latch &= 0x3; if(PCE_IsCD) { PCECD_StateAction(sm, load, data_only); if(arcade_card) arcade_card->StateAction(sm, load, data_only); } }
int MD_Cart_Type_SRAM::StateAction(StateMem *sm, int load, int data_only, const char *section_name) { SFORMAT StateRegs[] = { SFVAR(sram_enabled), SFPTR8(sram, sram_size), SFEND }; int ret = MDFNSS_StateAction(sm, load, data_only, StateRegs, section_name); if(load) { } return(ret); }