static INT32 DrvReset() { // Reset machine if (Cps == 2 || PangEEP || Cps1Qs == 1 || CpsBootlegEEPROM) EEPROMReset(); //HACK if (glob_ffingeron&&virtual_stick_on) { wait_control=60; glob_framecpt=0; glob_replay_last_dx16=glob_replay_last_dy16=0; glob_delta_dy16=0; glob_replay_last_fingerOn=0; } // SekOpen(0); SekReset(); SekClose(); if (((Cps & 1) && !Cps1DisablePSnd) || ((Cps == 2) && !Cps2DisableQSnd)) { ZetOpen(0); ZetReset(); ZetClose(); } if (Cps == 2) { // Disable beam-synchronized interrupts *((UINT16*)(CpsReg + 0x4E)) = BURN_ENDIAN_SWAP_INT16(0x0200); *((UINT16*)(CpsReg + 0x50)) = BURN_ENDIAN_SWAP_INT16(nCpsNumScanlines); *((UINT16*)(CpsReg + 0x52)) = BURN_ENDIAN_SWAP_INT16(nCpsNumScanlines); } SekOpen(0); CpsMapObjectBanks(0); SekClose(); nCpsCyclesExtra = 0; if (((Cps == 2) && !Cps2DisableQSnd) || Cps1Qs == 1) { // Sound init (QSound) QsndReset(); } if (CpsRunResetCallbackFunction) { CpsRunResetCallbackFunction(); } HiscoreReset(); return 0; }
static INT32 DrvReset() { // Reset machine if (Cps == 2 || PangEEP || Cps1Qs == 1 || CpsBootlegEEPROM) EEPROMReset(); SekOpen(0); SekReset(); SekClose(); if (((Cps & 1) && !Cps1DisablePSnd) || ((Cps == 2) && !Cps2DisableQSnd)) { ZetOpen(0); ZetReset(); ZetClose(); } if (Cps == 2) { // Disable beam-synchronized interrupts *((UINT16*)(CpsReg + 0x4E)) = BURN_ENDIAN_SWAP_INT16(0x0200); *((UINT16*)(CpsReg + 0x50)) = BURN_ENDIAN_SWAP_INT16(nCpsNumScanlines); *((UINT16*)(CpsReg + 0x52)) = BURN_ENDIAN_SWAP_INT16(nCpsNumScanlines); } SekOpen(0); CpsMapObjectBanks(0); SekClose(); nCpsCyclesExtra = 0; if (((Cps == 2) && !Cps2DisableQSnd) || Cps1Qs == 1) { // Sound init (QSound) QsndReset(); } if (CpsRunResetCallbackFunction) { CpsRunResetCallbackFunction(); } HiscoreReset(); return 0; }