@@ -40,7 +40,7 @@ public void BasicTestInterpreter()
40
40
} ) ;
41
41
snes . Encoder . Write ( romBin , ref writeOffset , OpCodes . ADC , AddressingModes . ImmediateMemoryFlag , ArgumentType . I1 , 24 ) ;
42
42
snes . Encoder . Write ( romBin , ref writeOffset , OpCodes . ADC , AddressingModes . ImmediateMemoryFlag , ArgumentType . I1 , 26 ) ;
43
- snes . Encoder . Write ( romBin , ref writeOffset , OpCodes . AND , AddressingModes . ImmediateMemoryFlag , ArgumentType . I1 , 0 ) ;
43
+ snes . Encoder . Write ( romBin , ref writeOffset , OpCodes . ADC , AddressingModes . ImmediateMemoryFlag , ArgumentType . I1 , 0 ) ;
44
44
snes . Encoder . WriteCallbackInvoke ( romBin , ref writeOffset , ( i ) =>
45
45
{
46
46
Assert . AreEqual ( 24 + 26 , snes . CPU . ACC ) ;
@@ -72,6 +72,10 @@ public void TestADCDecimal()
72
72
InitTestContext ( out snes , out romBin , out writeOffset ) ;
73
73
74
74
snes . Encoder . Write ( romBin , ref writeOffset , OpCodes . SED ) ;
75
+ snes . Encoder . WriteCallbackInvoke ( romBin , ref writeOffset , ( i ) =>
76
+ {
77
+ Assert . AreEqual ( true , snes . CPU . DecimalFlag ) ;
78
+ } ) ;
75
79
snes . Encoder . Write ( romBin , ref writeOffset , OpCodes . LDA , AddressingModes . ImmediateMemoryFlag , ArgumentType . I1 , 0 ) ;
76
80
snes . Encoder . Write ( romBin , ref writeOffset , OpCodes . CLC ) ;
77
81
snes . Encoder . Write ( romBin , ref writeOffset , OpCodes . ADC , AddressingModes . ImmediateMemoryFlag , ArgumentType . I1 , 0x02 ) ;
@@ -85,6 +89,10 @@ public void TestADCDecimal()
85
89
Assert . AreEqual ( 15 , snes . CPU . ACC ) ;
86
90
} ) ;
87
91
snes . Encoder . Write ( romBin , ref writeOffset , OpCodes . CLD ) ;
92
+ snes . Encoder . WriteCallbackInvoke ( romBin , ref writeOffset , ( i ) =>
93
+ {
94
+ Assert . AreEqual ( false , snes . CPU . DecimalFlag ) ;
95
+ } ) ;
88
96
89
97
snes . Interpreter . Interpret ( romBin , 0 , false ) ;
90
98
}
0 commit comments