// Scan ram static INT32 DrvScan(INT32 nAction, INT32* pnMin) { struct BurnArea ba; if (pnMin) { // Return minimum compatible version *pnMin = 0x029497; } if (nAction & ACB_VOLATILE) { // Scan volatile ram memset(&ba, 0, sizeof(ba)); ba.Data = RamStart; ba.nLen = RamEnd-RamStart; ba.szName = "All Ram"; BurnAcb(&ba); SekScan(nAction); // scan 68000 states ZetScan(nAction); // Scan Z80 MSM6295Scan(0, nAction); BurnYM2151Scan(nAction); ToaScanGP9001(nAction, pnMin); SCAN_VAR(DrvInput); } return 0; }
// Scan ram static INT32 DrvScan(INT32 nAction,INT32 *pnMin) { struct BurnArea ba; if (pnMin) { // Return minimum compatible version *pnMin = 0x020997; } if (nAction & ACB_VOLATILE) { // Scan volatile ram memset(&ba, 0, sizeof(ba)); ba.Data = RamStart; ba.nLen = RamEnd-RamStart; ba.szName = "All Ram"; BurnAcb(&ba); SekScan(nAction); // scan 68000 states MSM6295Scan(0, nAction); MSM6295Scan(1, nAction); ToaScanGP9001(nAction, pnMin); SCAN_VAR(nPreviousOkiBank); } if (nAction & ACB_WRITE) { INT32 nBank = nPreviousOkiBank; nPreviousOkiBank = -1; oki_set_bank(nBank); } return 0; }
// Scan ram static INT32 DrvScan(INT32 nAction,INT32 *pnMin) { struct BurnArea ba; if (pnMin) { // Return minimum compatible version *pnMin = 0x020997; } if (nAction & ACB_VOLATILE) { // Scan volatile ram memset(&ba, 0, sizeof(ba)); ba.Data = RamStart; ba.nLen = RamEnd-RamStart; ba.szName = "All Ram"; BurnAcb(&ba); SekScan(nAction); // scan 68000 states ToaScanGP9001(nAction, pnMin); #ifdef TOAPLAN_SOUND_SAMPLES_HACK BurnSampleScan(nAction, pnMin); #endif ToaRecalcPalette = 1; bDrawScreen = true; // get background back ? } return 0; }
// Scan ram static INT32 drvScan(INT32 nAction, INT32* pnMin) { struct BurnArea ba; if (pnMin) { // Return minimum compatible version *pnMin = 0x029496; } if (nAction & ACB_VOLATILE) { // Scan volatile ram memset(&ba, 0, sizeof(ba)); ba.Data = RamStart; ba.nLen = RamEnd - RamStart; ba.szName = "RAM"; BurnAcb(&ba); SekScan(nAction); // Scan 68000 ZetScan(nAction); // Scan Z80 SCAN_VAR(nCurrentBank); MSM6295Scan(0, nAction); MSM6295Scan(1, nAction); BurnYM2151Scan(nAction); ToaScanGP9001(nAction, pnMin); SCAN_VAR(nIRQPending); SCAN_VAR(nTextROMStatus); SCAN_VAR(drvInput); if (nAction & ACB_WRITE) { INT32 n = nTextROMStatus; nTextROMStatus = -1; SekOpen(0); Map68KTextROM(n); SekClose(); n = nCurrentBank; nCurrentBank = -1; ZetOpen(0); drvZ80Bankswitch(n); ZetClose(); } } return 0; }
// Scan ram static int DrvScan(int nAction,int *pnMin) { struct BurnArea ba; if (pnMin) { // Return minimum compatible version *pnMin = 0x020997; } if (nAction & ACB_VOLATILE) { // Scan volatile ram memset(&ba, 0, sizeof(ba)); ba.Data = RamStart; ba.nLen = RamEnd-RamStart; ba.szName = "All Ram"; BurnAcb(&ba); SekScan(nAction); // scan 68000 states ToaScanGP9001(nAction, pnMin); } return 0; }
// Scan ram static INT32 DrvScan(INT32 nAction,INT32 *pnMin) { struct BurnArea ba; if (pnMin) { // Return minimum compatible version *pnMin = 0x029497; } if (nAction & ACB_VOLATILE) { // Scan volatile data memset(&ba, 0, sizeof(ba)); ba.Data = RamStart; ba.nLen = RamEnd-RamStart; ba.szName = "All Ram"; BurnAcb(&ba); SekScan(nAction); // scan 68000 states ZetScan(nAction); // Scan Z80 SCAN_VAR(nCurrentBank); MSM6295Scan(0, nAction); BurnYM2151Scan(nAction); ToaScanGP9001(nAction, pnMin); SCAN_VAR(DrvInput); SCAN_VAR(nSoundCommand); SCAN_VAR(nIRQPending); if (nAction & ACB_WRITE) { INT32 nBank = nCurrentBank; nCurrentBank = -1; ZetOpen(0); // March 28, 2014: Fix for crash on savestate load - dink drvZ80Bankswitch(nBank); ZetClose(); } } return 0; }
// Scan ram static int DrvScan(int nAction,int *pnMin) { struct BurnArea ba; if (pnMin) { // Return minimum compatible version *pnMin = 0x029497; } if (nAction & ACB_VOLATILE) { // Scan volatile data memset(&ba, 0, sizeof(ba)); ba.Data = RamStart; ba.nLen = RamEnd-RamStart; ba.szName = "All Ram"; BurnAcb(&ba); SekScan(nAction); // scan 68000 states ZetScan(nAction); // Scan Z80 SCAN_VAR(nCurrentBank); MSM6295Scan(0, nAction); BurnYM2151Scan(nAction); ToaScanGP9001(nAction, pnMin); SCAN_VAR(DrvInput); SCAN_VAR(nSoundCommand); SCAN_VAR(nIRQPending); if (nAction & ACB_WRITE) { int nBank = nCurrentBank; nCurrentBank = -1; drvZ80Bankswitch(nBank); } } return 0; }