private void listState_DoubleClick(object sender, EventArgs e) { if ((listState.SelectedIndex >= 0) && !m_spectrum.IsRunning) { switch (listState.SelectedIndex) { case 0: m_spectrum.CPU.IFF1 = m_spectrum.CPU.IFF2 = !m_spectrum.CPU.IFF1; break; case 1: m_spectrum.CPU.HALTED = !m_spectrum.CPU.HALTED; break; case 3: { var cpu = m_spectrum.CPU; cpu.IM = (byte)(cpu.IM + 1); if (m_spectrum.CPU.IM > 2) { m_spectrum.CPU.IM = 0; } break; } case 8: { int frameTact = m_spectrum.GetFrameTact(); var service = Locator.Resolve <IUserQuery>(); if (service == null) { break; } if (service.QueryValue("Frame Tact", "New Frame Tact:", "{0}", ref frameTact, 0, m_spectrum.FrameTactCount)) { int num2 = frameTact - m_spectrum.GetFrameTact(); if (num2 < 0) { num2 += m_spectrum.FrameTactCount; } var zcpu2 = m_spectrum.CPU; zcpu2.Tact += num2; } break; } } UpdateCPU(false); } }
private void UpdateREGS() { listREGS.Items.Clear(); listREGS.Items.Add(" PC = " + m_spectrum.CPU.regs.PC.ToString("X4")); listREGS.Items.Add(" IR = " + m_spectrum.CPU.regs.IR.ToString("X4")); listREGS.Items.Add(" SP = " + m_spectrum.CPU.regs.SP.ToString("X4")); listREGS.Items.Add(" AF = " + m_spectrum.CPU.regs.AF.ToString("X4")); listREGS.Items.Add(" HL = " + m_spectrum.CPU.regs.HL.ToString("X4")); listREGS.Items.Add(" DE = " + m_spectrum.CPU.regs.DE.ToString("X4")); listREGS.Items.Add(" BC = " + m_spectrum.CPU.regs.BC.ToString("X4")); listREGS.Items.Add(" IX = " + m_spectrum.CPU.regs.IX.ToString("X4")); listREGS.Items.Add(" IY = " + m_spectrum.CPU.regs.IY.ToString("X4")); listREGS.Items.Add(" AF'= " + m_spectrum.CPU.regs._AF.ToString("X4")); listREGS.Items.Add(" HL'= " + m_spectrum.CPU.regs._HL.ToString("X4")); listREGS.Items.Add(" DE'= " + m_spectrum.CPU.regs._DE.ToString("X4")); listREGS.Items.Add(" BC'= " + m_spectrum.CPU.regs._BC.ToString("X4")); listREGS.Items.Add(" MW = " + m_spectrum.CPU.regs.MW.ToString("X4")); listF.Items.Clear(); listF.Items.Add(" S = " + (((m_spectrum.CPU.regs.F & 0x80) != 0) ? "1" : "0")); listF.Items.Add(" Z = " + (((m_spectrum.CPU.regs.F & 0x40) != 0) ? "1" : "0")); listF.Items.Add(" F5 = " + (((m_spectrum.CPU.regs.F & 0x20) != 0) ? "1" : "0")); listF.Items.Add(" H = " + (((m_spectrum.CPU.regs.F & 0x10) != 0) ? "1" : "0")); listF.Items.Add(" F3 = " + (((m_spectrum.CPU.regs.F & 0x08) != 0) ? "1" : "0")); listF.Items.Add("P/V = " + (((m_spectrum.CPU.regs.F & 0x04) != 0) ? "1" : "0")); listF.Items.Add(" N = " + (((m_spectrum.CPU.regs.F & 0x02) != 0) ? "1" : "0")); listF.Items.Add(" C = " + (((m_spectrum.CPU.regs.F & 0x01) != 0) ? "1" : "0")); listState.Items.Clear(); listState.Items.Add("IFF1=" + (m_spectrum.CPU.IFF1 ? "1" : "0") + " IFF2=" + (m_spectrum.CPU.IFF2 ? "1" : "0")); listState.Items.Add("HALT=" + (m_spectrum.CPU.HALTED ? "1" : "0")); listState.Items.Add("BINT=" + (m_spectrum.CPU.BINT ? "1" : "0")); listState.Items.Add(" IM=" + m_spectrum.CPU.IM.ToString()); listState.Items.Add(" FX=" + m_spectrum.CPU.FX.ToString()); listState.Items.Add(" XFX=" + m_spectrum.CPU.XFX.ToString()); listState.Items.Add(" LPC=#" + m_spectrum.CPU.LPC.ToString("X4")); listState.Items.Add("Tact=" + m_spectrum.CPU.Tact.ToString()); listState.Items.Add("frmT=" + m_spectrum.GetFrameTact().ToString()); if (m_spectrum.RzxState.IsPlayback) { listState.Items.Add(string.Format("rzxm={0}/{1}", m_spectrum.RzxState.Fetch, m_spectrum.RzxState.FetchCount)); listState.Items.Add(string.Format("rzxi={0}/{1}", m_spectrum.RzxState.Input, m_spectrum.RzxState.InputCount)); listState.Items.Add(string.Format("rzff={0}/{1}", m_spectrum.RzxState.Frame, m_spectrum.RzxState.FrameCount)); } }