Files
gb-emu/gbdb_boot_test
2018-02-19 05:41:26 +00:00

169 lines
1.8 KiB
Plaintext

bootrom ../bootrom.gb
echo Running test...
set quiet 1
assert $pc == 0
step
# Executed LD SP, D16 (0xfffe)
assert $pc == 3
assert $sp == 0xfffe
step
# Executed XOR A
assert $pc == 4
assert $a == 0
step
assert $pc == 7
assert $hl == 0x9fff
step
assert $pc == 8
assert $hl == 0x9ffe
step
assert $pc == 10
assert $f == 0x2
step
runto 0xc
regs
assert $pc == 0xc
assert $hl == 0x7fff
# TODO: There is a bug in GBDB where breakpoints fire at the start of an
# instruction and "step" stops at the end of an instruction
step; step
regs
assert $pc == 0xf
assert $hl == 0xff26
step
assert $pc == 0x11
assert $c == 0x11
step
assert $pc == 0x13
assert $a == 0x80
step
assert $pc == 0x14
assert $hl == 0xff25
step
assert $pc == 0x15
# LD (0xFF00 + $C), A
step
assert $pc == 0x16
assert $c == 0x12
runto 0x27
assert $pc == 0x27
step; step
assert $pc == 0x28
step
assert $pc == 0x95
step
assert $pc == 0x96
step
assert $pc == 0x98
step
assert $pc == 0x99
step
assert $pc == 0x9b
step
assert $pc == 0x9c
step
assert $pc == 0x9d
step
assert $pc == 0x9f
step
assert $pc == 0xa0
step
assert $pc == 0xa1
break add 0xa3
step 100000
break del 2
assert $pc == 0xa3
step #FIXME: bugs
step
assert $pc == 0xa4
step
assert $pc == 0xa5
step
assert $pc == 0xa6
step
assert $pc == 0xa7
step
assert $pc == 0x2b
step
assert $pc == 0x96
break add 0x34
step 10000
assert $pc == 0x34
break del 3
step; step
assert $pc == 0x37
assert $de == 0xd8
step;
assert $pc == 0x39
assert $b == 0x08
break add 0x40
step 10000
assert $pc == 0x40
assert $b == 0
break del 4
step; step
assert $pc == 0x42
assert $a == 0x19
step
assert $pc == 0x45
step
assert $pc == 0x48
assert $hl == 0x992f
step
assert $pc == 0x4a
assert $c == 0x0c
break add 0x55
step 10000
assert $pc == 0x55
assert $a == 0
break del 5
runto 0x100
assert $pc == 0x100
echo Test passed!
regs
stat
exit