aboutsummaryrefslogtreecommitdiffstats
path: root/atk16_emu/test/test_load.py
diff options
context:
space:
mode:
authorJan Tuomi <jans.tuomi@gmail.com>2024-02-25 20:08:32 +0200
committerJan Tuomi <jans.tuomi@gmail.com>2024-02-25 20:08:32 +0200
commit5776a07e6a3def343996c5ec83cd69242f7ea23a (patch)
treedfe91cff071a60be9fd9fc674625b8b462e06f27 /atk16_emu/test/test_load.py
parent3ac72608e8fc708277137fde62193c8763268ff5 (diff)
Add tests, fix bugs
Diffstat (limited to 'atk16_emu/test/test_load.py')
-rw-r--r--atk16_emu/test/test_load.py32
1 files changed, 32 insertions, 0 deletions
diff --git a/atk16_emu/test/test_load.py b/atk16_emu/test/test_load.py
new file mode 100644
index 0000000..c03fb8d
--- /dev/null
+++ b/atk16_emu/test/test_load.py
@@ -0,0 +1,32 @@
+from atk16_emu import Machine
+from test.utils import make_rom
+
+def test_ldr():
+ machine = Machine()
+
+ rom_image = make_rom([0b0010_010_000_000_000]) # ALR target=RC reg=RA
+ machine.load_rom_image(rom_image)
+ machine.reset()
+
+ machine.mem_write(0x8000, 0x1234)
+ machine.ra.value = 0x8000 # mem address
+ machine.rc.value = 0x2345
+
+ machine.run()
+ machine.step()
+
+ assert machine.rc.value == 0x1234
+
+def test_ldi():
+ machine = Machine()
+
+ rom_image = make_rom([0b0100_010_111111111]) # LDI target=RC imm=511
+ machine.load_rom_image(rom_image)
+ machine.reset()
+
+ machine.rc.value = 0x123
+
+ machine.run()
+ machine.step()
+
+ assert machine.rc.value == 511