schip: Add preliminary SuperChip support (no test)

This commit is contained in:
2023-04-03 02:01:25 -05:00
parent 081dda9c8a
commit acc7629516
10 changed files with 384 additions and 87 deletions

View File

@@ -17,7 +17,7 @@ fn setup_environment() -> (CPU, Bus) {
Charset [0x0050..0x00A0] = include_bytes!("../src/mem/charset.bin"),
// Load the ROM file into RAM
Program [0x0200..0x1000] = include_bytes!("../chip8-test-suite/bin/chip8-test-suite.ch8"),
// Create a screen, and fill it with garbage data
// Create a screen, and fill it with
Screen [0x0F00..0x1000] = include_bytes!("chip8_test_suite.rs"),
},
)

View File

@@ -132,8 +132,8 @@ mod cpu {
keypause: false,
draw_wait: false,
lastkey: None,
quirks: Default::default(),
monotonic: None,
..Default::default()
};
let cf2 = cf1.clone();
assert_eq!(cf1, cf2)
@@ -151,9 +151,7 @@ mod cpu {
pause: false,
keypause: false,
draw_wait: false,
lastkey: Default::default(),
quirks: Default::default(),
monotonic: Default::default()
..Default::default()
}
)
}
@@ -165,9 +163,7 @@ mod cpu {
pause: true,
keypause: true,
draw_wait: true,
lastkey: Default::default(),
quirks: Default::default(),
monotonic: Default::default(),
..Default::default()
};
assert_ne!(cf1, cf2);
}
@@ -179,9 +175,7 @@ mod cpu {
pause: true,
keypause: true,
draw_wait: true,
lastkey: Default::default(),
quirks: Default::default(),
monotonic: Default::default(),
..Default::default()
};
assert!(cf1 < cf2);
assert_eq!(ControlFlags::default(), cf1.min(cf2));