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 breakpoint add 0xc step 100000 breakpoint del 0 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 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 break add 0x27 step 1000 assert $pc == 0x27 break del 0 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 0 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 0 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 0 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 echo Test passed! regs # exit