43 lines
1.3 KiB
Rust
43 lines
1.3 KiB
Rust
use core::computers::rom_only::RomOnlyComputer;
|
|
use core::traits::backplane::Backplane;
|
|
|
|
#[test]
|
|
fn rom_only_widetick_test() {
|
|
let bytes = include_bytes!("/home/tmerritt/Projects/mos6502/resources/test/periph/at28c256/checksum.bin");
|
|
|
|
let mut rom_only = RomOnlyComputer::program((&bytes[..]).to_vec());
|
|
|
|
rom_only.tick2(0x05, 0x00, 0x00);
|
|
assert_eq!(rom_only.data_bus(), 0x05);
|
|
assert_eq!(rom_only.address_bus(), 0x05);
|
|
|
|
rom_only.tick2(0x07, 0x00, 0x00);
|
|
assert_eq!(rom_only.data_bus(), 0x07);
|
|
assert_eq!(rom_only.address_bus(), 0x07);
|
|
|
|
rom_only.tick2(0x09, 0x00, 0x00);
|
|
assert_eq!(rom_only.data_bus(), 0x09);
|
|
assert_eq!(rom_only.address_bus(), 0x09);
|
|
}
|
|
|
|
#[test]
|
|
fn rom_only_thintick_test() {
|
|
let bytes = include_bytes!("/home/tmerritt/Projects/mos6502/resources/test/periph/at28c256/checksum.bin");
|
|
|
|
let mut rom_only = RomOnlyComputer::program((&bytes[..]).to_vec());
|
|
|
|
rom_only.set_read_mode(true);
|
|
rom_only.set_address_bus(0x05);
|
|
rom_only.tick();
|
|
|
|
assert_eq!(rom_only.data_bus(), 0x05);
|
|
assert_eq!(rom_only.address_bus(), 0x05);
|
|
|
|
rom_only.set_read_mode(true);
|
|
rom_only.set_address_bus(0x07);
|
|
rom_only.tick();
|
|
|
|
assert_eq!(rom_only.data_bus(), 0x07);
|
|
assert_eq!(rom_only.address_bus(), 0x07);
|
|
}
|