int HuC_StateAction(StateMem *sm, int load, int data_only) { SFORMAT StateRegs[] = { SFARRAY(ROMSpace + 0x40 * 8192, IsPopulous ? 32768 : 0), SFARRAY(TsushinRAM, IsTsushin ? 32768 : 0), SFARRAY(SaveRAM, (IsPopulous || IsTsushin) ? 0 : 2048), SFARRAY(ROMSpace + 0x68 * 8192, PCE_IsCD ? 262144 : 0), SFVAR(HuCSF2Latch), SFEND }; int ret = MDFNSS_StateAction(sm, load, data_only, StateRegs, "HuC"); if(load) HuCSF2Latch &= 0x3; if(PCE_IsCD) { ret &= PCECD_StateAction(sm, load, data_only); if(arcade_card) ret &= arcade_card->StateAction(sm, load, data_only); } return(ret); }
int HuC_StateAction(StateMem *sm, int load, int data_only) { SFORMAT StateRegs[] = { SFARRAY(PopRAM, IsPopulous ? 32768 : 0), SFARRAY(TsushinRAM, IsTsushin ? 32768 : 0), SFARRAY(SaveRAM, (IsPopulous || IsTsushin || BRAM_Disabled) ? 0 : 2048), SFARRAY(CDRAM, CDRAM ? (8192 * 8) : 0), SFARRAY(SysCardRAM, SysCardRAM ? (8192 * 24) : 0), SFVAR(HuCSF2Latch), SFEND }; int ret = MDFNSS_StateAction(sm, load, data_only, StateRegs, "HuC"); if(load) HuCSF2Latch &= 0xF; if(PCE_IsCD) { if(arcade_card) ret &= arcade_card->StateAction(sm, load, data_only); ret &= PCECD_StateAction(sm, load, data_only); } if(mcg) ret &= mcg->StateAction(sm, load, data_only); return(ret); }
void HuC_StateAction(StateMem *sm, const unsigned load, const bool data_only) { SFORMAT StateRegs[] = { SFARRAY(PopRAM, IsPopulous ? 32768 : 0), SFARRAY(TsushinRAM, IsTsushin ? 32768 : 0), SFARRAY(SaveRAM, (IsPopulous || IsTsushin || BRAM_Disabled) ? 0 : 2048), SFARRAY(CDRAM, CDRAM ? (8192 * 8) : 0), SFARRAY(SysCardRAM, SysCardRAM ? (8192 * 24) : 0), SFVAR(HuCSF2Latch), SFEND }; MDFNSS_StateAction(sm, load, data_only, StateRegs, "HuC"); if(load) HuCSF2Latch &= 0xF; if(PCE_IsCD) { if(arcade_card) arcade_card->StateAction(sm, load, data_only); PCECD_StateAction(sm, load, data_only); } if(mcg) mcg->StateAction(sm, load, data_only); }
void HuC_StateAction(StateMem *sm, int load, int data_only) { SFORMAT StateRegs[] = { SFARRAY(ROMSpace + 0x40 * 8192, IsPopulous ? 32768 : 0), SFARRAY(SaveRAM, IsPopulous ? 0 : 2048), SFARRAY(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); } }