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()); }