public int GetRegister(Enum registerID) { if ((registerID is e6510Registers) == false) { throw new Exception("This requires a 6510 register enum set"); } e6510Registers id = (e6510Registers)registerID; switch (id) { case e6510Registers.A: return(m_A); case e6510Registers.X: return(m_X); case e6510Registers.Y: return(m_Y); case e6510Registers.SP: return(m_SP); case e6510Registers.ST_N: return(m_N); case e6510Registers.ST_V: return(m_V); case e6510Registers.ST_B: return(m_B); case e6510Registers.ST_D: return(m_D); case e6510Registers.ST_I: return(m_I); case e6510Registers.ST_C: return(m_C); case e6510Registers.ST_Z: return(m_Z); case e6510Registers.r00: return(m_r00); case e6510Registers.r01: return(m_r01); case e6510Registers.Line: return(m_Line); case e6510Registers.Cycle: return(m_Cycle); case e6510Registers.StopWatch: return(m_Stopwatch); } return(-1); }
public void SetRegister(Enum registerID, int value) { if ((registerID is e6510Registers) == false) { throw new Exception("This requires a 6510 register enum set"); } e6510Registers id = (e6510Registers)registerID; switch (id) { case e6510Registers.A: m_A = value; break; case e6510Registers.X: m_X = value; break; case e6510Registers.Y: m_Y = value; break; case e6510Registers.SP: m_SP = value; break; case e6510Registers.ST_N: m_N = value; break; case e6510Registers.ST_V: m_V = value; break; case e6510Registers.ST_B: m_B = value; break; case e6510Registers.ST_D: m_D = value; break; case e6510Registers.ST_I: m_I = value; break; case e6510Registers.ST_C: m_C = value; break; case e6510Registers.ST_Z: m_Z = value; break; case e6510Registers.r00: m_r00 = value; break; case e6510Registers.r01: m_r01 = value; break; case e6510Registers.Line: m_Line = value; break; case e6510Registers.Cycle: m_Cycle = value; break; case e6510Registers.StopWatch: m_Stopwatch = value; break; case e6510Registers.APUPC: m_APUPC = value; break; } }