int32 PCECD_Power(uint32 timestamp) { if((int32)timestamp != lastts) (void)PCECD_Run(timestamp); IRQCB(0); SCSICD_Power(timestamp); scsicd_ne = 0x7fffffff; bBRAMEnabled = false; memset(_Port, 0, sizeof(_Port)); ACKStatus = 0; ClearACKDelay = 0; memset(ADPCM.RAM, 0x00, 65536); ADPCM.ReadPending = ADPCM.WritePending = 0; ADPCM.ReadBuffer = 0; ADPCM.PlayBuffer = 0; ADPCM.LastCmd = 0; MSM5205.SetSample(0x800); MSM5205.SetSSI(0); ADPCM.SampleFreq = 0; ADPCM.bigdiv = ADPCM.bigdivacc * (16 - ADPCM.SampleFreq); ADPCM.Addr = 0; ADPCM.ReadAddr = 0; ADPCM.WriteAddr = 0; ADPCM.LengthCount = 0; ADPCM.LastCmd = 0; ADPCM.HalfReached = false; ADPCM.EndReached = false; ADPCM.Playing = false; ADPCM.PlayNibble = 0; UpdateADPCMIRQState(); Fader.Command = 0x00; Fader.Volume = 0; Fader.CycleCounter = 0; Fader.CountValue = 0; Fader.Clocked = false; return(CalcNextEvent(0x7FFFFFFF)); }
void PCECD_Power(void) { HuC6280_IRQEnd(MDFN_IQIRQ2); SCSICD_Power(); bBRAMEnabled = FALSE; memset(_Port, 0, sizeof(_Port)); ACKStatus = 0; ClearACKDelay = 0; bFadeIn = 0; bFadeOut = 0; ADPCM_Power(); }