mirror of
https://github.com/pevans/erc-c.git
synced 2024-12-26 10:29:34 +00:00
Implement first crack at read_bank test
This commit is contained in:
parent
e184304ec5
commit
d7ea991127
@ -36,6 +36,33 @@ Test(apple2_mem, map)
|
||||
|
||||
Test(apple2_mem, read_bank)
|
||||
{
|
||||
vm_8bit val;
|
||||
|
||||
// Test that setting a value in the rom segment is returned to us
|
||||
// when addressing from main memory
|
||||
mach->memory_mode = MEMORY_BANK_ROM;
|
||||
val = 123;
|
||||
vm_segment_set(mach->rom, 0x77, val);
|
||||
val = vm_segment_get(mach->rom, 0x77);
|
||||
cr_assert_eq(vm_segment_get(mach->memory, 0xD077), val);
|
||||
|
||||
// In RAM1 bank mode, setting a value in memory should return thaty
|
||||
// value in memory... but, as a twist, also check that the value is
|
||||
// not set in ROM nor in RAM2.
|
||||
val = 222;
|
||||
mach->memory_mode = MEMORY_BANK_RAM1;
|
||||
vm_segment_set(mach->memory, 0xD077, val);
|
||||
cr_assert_eq(vm_segment_get(mach->memory, 0xD077), val);
|
||||
cr_assert_neq(vm_segment_get(mach->rom, 0x77), val);
|
||||
cr_assert_neq(vm_segment_get(mach->ram2, 0x77), val);
|
||||
|
||||
// Finally, in RAM2 bank mode, we test similarly to ROM mode. Set
|
||||
// the value directly in ram2 and see if it's there when addressing
|
||||
// from main memory.
|
||||
val = 111;
|
||||
mach->memory_mode = MEMORY_BANK_RAM2;
|
||||
vm_segment_set(mach->ram2, 0x77, val);
|
||||
cr_assert_eq(vm_segment_get(mach->memory, 0xD077), val);
|
||||
}
|
||||
|
||||
Test(apple2_mem, write_bank)
|
||||
|
Loading…
Reference in New Issue
Block a user