mirror of
https://github.com/MoleskiCoder/EightBitNet.git
synced 2026-10-24 14:05:42 +00:00
Whoops: missed one more test
This commit is contained in:
1 parent
f1fb442f08
commit
a98b904207
1 file changed
+39
-28
@@ -196,10 +196,10 @@ namespace MC6809.UnitTest
|
||||
[DataTestMethod]
|
||||
[DataRow(0x0000, 0x04)]
|
||||
[DataRow(0x0001, 0x00)]
|
||||
[DataRow(0xFFFF, 0x00)]
|
||||
[DataRow(0x7FFF, 0x00)]
|
||||
[DataRow(0x8000, 0x00)]
|
||||
[DataRow(0xFFFF, 0x00)]
|
||||
[DataRow(0x0100, 0x00)]
|
||||
[DataRow(0x8001, 0x00)]
|
||||
public void TestLEAY(int yValue, int flags)
|
||||
{
|
||||
this.board.Poke(0, 0x31);
|
||||
@@ -213,64 +213,75 @@ namespace MC6809.UnitTest
|
||||
|
||||
// DAA ($19): decimal adjust A after BCD addition; checks NZC ($0D)
|
||||
// initialCC encodes H (bit5) and C (bit0) before the instruction
|
||||
// 64 rows: all combinations of initialCC in {0x00,0x01,0x20,0x21} × A in {0x00..0x0F, plus selected values}
|
||||
// Data from Schwotzer TBDAA table, hardware-verified on EF6809P
|
||||
// 64 rows: exact Schwotzer TBDAA table, hardware-verified on EF6809P
|
||||
[DataTestMethod]
|
||||
// initialCC=0x00 (H=0, C=0)
|
||||
// H=0, C=0 (initialCC=0x00)
|
||||
[DataRow(0x00, 0x00, 0x00, 0x04)]
|
||||
[DataRow(0x00, 0x01, 0x01, 0x00)]
|
||||
[DataRow(0x00, 0x09, 0x09, 0x00)]
|
||||
[DataRow(0x00, 0x0A, 0x10, 0x00)]
|
||||
[DataRow(0x00, 0x0F, 0x15, 0x00)]
|
||||
[DataRow(0x00, 0x10, 0x10, 0x00)]
|
||||
[DataRow(0x00, 0x19, 0x19, 0x00)]
|
||||
[DataRow(0x00, 0x1A, 0x20, 0x00)]
|
||||
[DataRow(0x00, 0x90, 0x90, 0x08)]
|
||||
[DataRow(0x00, 0x4A, 0x50, 0x00)]
|
||||
[DataRow(0x00, 0x79, 0x79, 0x00)]
|
||||
[DataRow(0x00, 0x7A, 0x80, 0x08)]
|
||||
[DataRow(0x00, 0x7F, 0x85, 0x08)]
|
||||
[DataRow(0x00, 0x81, 0x81, 0x08)]
|
||||
[DataRow(0x00, 0x99, 0x99, 0x08)]
|
||||
[DataRow(0x00, 0x9A, 0x00, 0x05)]
|
||||
[DataRow(0x00, 0xA0, 0x00, 0x05)]
|
||||
[DataRow(0x00, 0xF9, 0x59, 0x01)]
|
||||
[DataRow(0x00, 0xBF, 0x25, 0x01)]
|
||||
[DataRow(0x00, 0xF0, 0x50, 0x01)]
|
||||
[DataRow(0x00, 0xFF, 0x65, 0x01)]
|
||||
// initialCC=0x01 (H=0, C=1)
|
||||
// H=0, C=1 (initialCC=0x01)
|
||||
[DataRow(0x01, 0x00, 0x60, 0x01)]
|
||||
[DataRow(0x01, 0x01, 0x61, 0x01)]
|
||||
[DataRow(0x01, 0x09, 0x69, 0x01)]
|
||||
[DataRow(0x01, 0x0A, 0x70, 0x01)]
|
||||
[DataRow(0x01, 0x0F, 0x75, 0x01)]
|
||||
[DataRow(0x01, 0x10, 0x70, 0x01)]
|
||||
[DataRow(0x01, 0x19, 0x79, 0x01)]
|
||||
[DataRow(0x01, 0x1A, 0x80, 0x09)]
|
||||
[DataRow(0x01, 0x90, 0xF0, 0x09)]
|
||||
[DataRow(0x01, 0x4A, 0xB0, 0x09)]
|
||||
[DataRow(0x01, 0x79, 0xD9, 0x09)]
|
||||
[DataRow(0x01, 0x7A, 0xE0, 0x09)]
|
||||
[DataRow(0x01, 0x7F, 0xE5, 0x09)]
|
||||
[DataRow(0x01, 0x81, 0xE1, 0x09)]
|
||||
[DataRow(0x01, 0x99, 0xF9, 0x09)]
|
||||
[DataRow(0x01, 0x9A, 0x00, 0x05)]
|
||||
[DataRow(0x01, 0xA0, 0x00, 0x05)]
|
||||
[DataRow(0x01, 0xF9, 0x59, 0x01)]
|
||||
[DataRow(0x01, 0xBF, 0x25, 0x01)]
|
||||
[DataRow(0x01, 0xF0, 0x50, 0x01)]
|
||||
[DataRow(0x01, 0xFF, 0x65, 0x01)]
|
||||
// initialCC=0x20 (H=1, C=0)
|
||||
// H=1, C=0 (initialCC=0x20)
|
||||
[DataRow(0x20, 0x00, 0x06, 0x00)]
|
||||
[DataRow(0x20, 0x01, 0x07, 0x00)]
|
||||
[DataRow(0x20, 0x09, 0x0F, 0x00)]
|
||||
[DataRow(0x20, 0x0A, 0x10, 0x00)]
|
||||
[DataRow(0x20, 0x0F, 0x15, 0x00)]
|
||||
[DataRow(0x20, 0x10, 0x16, 0x00)]
|
||||
[DataRow(0x20, 0x19, 0x1F, 0x00)]
|
||||
[DataRow(0x20, 0x1A, 0x20, 0x00)]
|
||||
[DataRow(0x20, 0x90, 0x96, 0x08)]
|
||||
[DataRow(0x20, 0x4A, 0x50, 0x00)]
|
||||
[DataRow(0x20, 0x79, 0x7F, 0x00)]
|
||||
[DataRow(0x20, 0x7A, 0x80, 0x08)]
|
||||
[DataRow(0x20, 0x7F, 0x85, 0x08)]
|
||||
[DataRow(0x20, 0x81, 0x87, 0x08)]
|
||||
[DataRow(0x20, 0x99, 0x9F, 0x08)]
|
||||
[DataRow(0x20, 0x9A, 0x00, 0x05)]
|
||||
[DataRow(0x20, 0xA0, 0x06, 0x01)]
|
||||
[DataRow(0x20, 0xF9, 0x5F, 0x01)]
|
||||
[DataRow(0x20, 0xBF, 0x25, 0x01)]
|
||||
[DataRow(0x20, 0xF0, 0x56, 0x01)]
|
||||
[DataRow(0x20, 0xFF, 0x65, 0x01)]
|
||||
// initialCC=0x21 (H=1, C=1)
|
||||
// H=1, C=1 (initialCC=0x21)
|
||||
[DataRow(0x21, 0x00, 0x66, 0x01)]
|
||||
[DataRow(0x21, 0x01, 0x67, 0x01)]
|
||||
[DataRow(0x21, 0x09, 0x6F, 0x01)]
|
||||
[DataRow(0x21, 0x0A, 0x70, 0x01)]
|
||||
[DataRow(0x21, 0x0F, 0x75, 0x01)]
|
||||
[DataRow(0x21, 0x10, 0x76, 0x01)]
|
||||
[DataRow(0x21, 0x19, 0x7F, 0x01)]
|
||||
[DataRow(0x21, 0x1A, 0x80, 0x09)]
|
||||
[DataRow(0x21, 0x90, 0xF6, 0x09)]
|
||||
[DataRow(0x21, 0x4A, 0xB0, 0x09)]
|
||||
[DataRow(0x21, 0x79, 0xDF, 0x09)]
|
||||
[DataRow(0x21, 0x7A, 0xE0, 0x09)]
|
||||
[DataRow(0x21, 0x7F, 0xE5, 0x09)]
|
||||
[DataRow(0x21, 0x81, 0xE7, 0x09)]
|
||||
[DataRow(0x21, 0x99, 0xFF, 0x09)]
|
||||
[DataRow(0x21, 0x9A, 0x00, 0x05)]
|
||||
[DataRow(0x21, 0xA0, 0x06, 0x01)]
|
||||
[DataRow(0x21, 0xF9, 0x5F, 0x01)]
|
||||
[DataRow(0x21, 0xBF, 0x25, 0x01)]
|
||||
[DataRow(0x21, 0xF0, 0x56, 0x01)]
|
||||
[DataRow(0x21, 0xFF, 0x65, 0x01)]
|
||||
public void TestDAA(int initialCC, int input, int expected, int flags)
|
||||
{
|
||||
|
||||
Reference in new issue
Block a user