// serializing public override void SaveToWriter(BinaryWriter writer, ProcessorCycle sid_delay) { base.SaveToWriter(writer, sid_delay); writer.Write(m_sleeping); writer.Write((short)m_mode); writer.Write(m_delayClk); writer.Write(m_framelock); }
/// <summary> /// Send CPU is about to sleep. Only a reset or interrupt will wake up the processor /// </summary> public void sleep() { // Simulate a delay for JMPw m_delayClk = m_stealingClk = eventContext.getTime(m_phase); procCycle = new ProcessorCycle[] { delayCycle }; cycleCount = 0; m_sleeping = !(interrupts_irqRequest || (interrupts_pending != 0)); player.Sleep(); }
public SID6510(EventScheduler context, InternalPlayer owner, BinaryReader reader, EventList events) : base(context, owner, reader, events) { delayCycle.func = new ProcessorCycle.FunctionDelegate(sid_delay); if (procCycle_id == 2) { procCycle = new ProcessorCycle[] { delayCycle }; } }