static INT32 DrvScan(INT32 nAction, INT32 *pnMin) { struct BurnArea ba; if (pnMin != NULL) { *pnMin = 0x029707; } if (nAction & ACB_MEMORY_RAM) { memset(&ba, 0, sizeof(ba)); ba.Data = AllRam; ba.nLen = RamEnd-AllRam; ba.szName = "All Ram"; BurnAcb(&ba); } if (nAction & ACB_DRIVER_DATA) { ZetScan(nAction); MSM6295Scan(0, nAction); } if (nAction & ACB_WRITE) { ZetOpen(0); bankswitch(banks[0]); vidram_bankswitch(banks[1]); ZetClose(); oki_bankswitch(banks[2]); DrvRecalc = 1; } return 0; }
void __fastcall speedspn_sound_write(UINT16 address, UINT8 data) { switch (address) { case 0x9000: oki_bankswitch(data); return; case 0x9800: MSM6295Command(0, data); return; } }
void __fastcall speedspn_sound_write(unsigned short address, unsigned char data) { switch (address) { case 0x9000: oki_bankswitch(data); return; case 0x9800: MSM6295Command(0, data); return; } }
static INT32 DrvDoReset() { memset (AllRam, 0, RamEnd - AllRam); ZetOpen(0); ZetReset(); bankswitch(0); vidram_bankswitch(0); ZetClose(); ZetOpen(1); ZetReset(); ZetClose(); oki_bankswitch(1); MSM6295Reset(0); return 0; }