protected string MakeFlagView() { StringBuilder sb = new StringBuilder(5); sb.Append((cpu.IsFlagSet(cpu.XFlag) ? 'X' : '-')); sb.Append((cpu.IsFlagSet(cpu.NFlag) ? 'N' : '-')); sb.Append((cpu.IsFlagSet(cpu.ZFlag) ? 'Z' : '-')); sb.Append((cpu.IsFlagSet(cpu.VFlag) ? 'V' : '-')); sb.Append((cpu.IsFlagSet(cpu.CFlag) ? 'C' : '-')); return(sb.ToString()); }
public virtual void TestFlags() { cpu.SetSR(0x27ff); Assert.True(cpu.IsFlagSet(cpu.CFlag)); Assert.True(cpu.IsFlagSet(cpu.VFlag)); Assert.True(cpu.IsFlagSet(cpu.ZFlag)); Assert.True(cpu.IsFlagSet(cpu.NFlag)); Assert.True(cpu.IsFlagSet(cpu.XFlag)); Assert.True(cpu.IsSupervisorMode()); Assert.Equal(7, cpu.GetInterruptLevel()); cpu.SetSR(0); Assert.False(cpu.IsFlagSet(cpu.CFlag)); Assert.False(cpu.IsFlagSet(cpu.VFlag)); Assert.False(cpu.IsFlagSet(cpu.ZFlag)); Assert.False(cpu.IsFlagSet(cpu.NFlag)); Assert.False(cpu.IsFlagSet(cpu.XFlag)); Assert.False(cpu.IsSupervisorMode()); Assert.Equal(0, cpu.GetInterruptLevel()); cpu.SetCCRegister(cpu.CFlag); Assert.True(cpu.IsFlagSet(cpu.CFlag)); Assert.False(cpu.IsFlagSet(cpu.VFlag)); Assert.False(cpu.IsFlagSet(cpu.ZFlag)); Assert.False(cpu.IsFlagSet(cpu.NFlag)); Assert.False(cpu.IsFlagSet(cpu.XFlag)); Assert.False(cpu.IsSupervisorMode()); Assert.Equal(0, cpu.GetInterruptLevel()); cpu.SetCCRegister(cpu.VFlag); Assert.False(cpu.IsFlagSet(cpu.CFlag)); Assert.True(cpu.IsFlagSet(cpu.VFlag)); Assert.False(cpu.IsFlagSet(cpu.ZFlag)); Assert.False(cpu.IsFlagSet(cpu.NFlag)); Assert.False(cpu.IsFlagSet(cpu.XFlag)); Assert.False(cpu.IsSupervisorMode()); Assert.Equal(0, cpu.GetInterruptLevel()); cpu.SetCCRegister(cpu.ZFlag); Assert.False(cpu.IsFlagSet(cpu.CFlag)); Assert.False(cpu.IsFlagSet(cpu.VFlag)); Assert.True(cpu.IsFlagSet(cpu.ZFlag)); Assert.False(cpu.IsFlagSet(cpu.NFlag)); Assert.False(cpu.IsFlagSet(cpu.XFlag)); Assert.False(cpu.IsSupervisorMode()); Assert.Equal(0, cpu.GetInterruptLevel()); cpu.SetCCRegister(cpu.NFlag); Assert.False(cpu.IsFlagSet(cpu.CFlag)); Assert.False(cpu.IsFlagSet(cpu.VFlag)); Assert.False(cpu.IsFlagSet(cpu.ZFlag)); Assert.True(cpu.IsFlagSet(cpu.NFlag)); Assert.False(cpu.IsFlagSet(cpu.XFlag)); Assert.False(cpu.IsSupervisorMode()); Assert.Equal(0, cpu.GetInterruptLevel()); cpu.SetCCRegister(cpu.XFlag); Assert.False(cpu.IsFlagSet(cpu.CFlag)); Assert.False(cpu.IsFlagSet(cpu.VFlag)); Assert.False(cpu.IsFlagSet(cpu.ZFlag)); Assert.False(cpu.IsFlagSet(cpu.NFlag)); Assert.True(cpu.IsFlagSet(cpu.XFlag)); Assert.False(cpu.IsSupervisorMode()); Assert.Equal(0, cpu.GetInterruptLevel()); }