Exemplo n.º 1
0
        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());
        }
Exemplo n.º 2
0
 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());
 }