void BurnYM2610Scan(INT32 nAction, INT32* pnMin) { #if defined FBA_DEBUG if (!DebugSnd_YM2610Initted) bprintf(PRINT_ERROR, _T("BurnYM2610Scan called without init\n")); #endif BurnTimerScan(nAction, pnMin); AY8910Scan(nAction, pnMin); if (nAction & ACB_DRIVER_DATA) { SCAN_VAR(nYM2610Position); SCAN_VAR(nAY8910Position); } }
static int DrvScan(int nAction,int *pnMin) { struct BurnArea ba; if (pnMin) { // Return minimum compatible version *pnMin = 0x029521; } if (nAction & ACB_VOLATILE) { // Scan volatile ram memset(&ba, 0, sizeof(ba)); ba.Data = Rom + 0x0000; ba.nLen = 0x0400; ba.szName = "Work Ram"; BurnAcb(&ba); ba.Data = Rom + 0x8000; ba.nLen = 0x0400; ba.szName = "Video Ram"; BurnAcb(&ba); ba.Data = BankRam; ba.nLen = 0x0400; ba.szName = "Bank Ram"; BurnAcb(&ba); m6502Scan(nAction); // Scan m6502 AY8910Scan(nAction, pnMin); // Scan AY8910 // Scan critical driver variables SCAN_VAR(tile_bank); SCAN_VAR(flipscreen); } return 0; }