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 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 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 runto 0xa3 assert $pc == 0xa3 step; step #FIXME: bugs assert $pc == 0xa4 step assert $pc == 0xa5 step assert $pc == 0xa6 step assert $pc == 0xa7 step assert $pc == 0x2b step assert $pc == 0x96 runto 0x34 assert $pc == 0x34 step; step assert $pc == 0x37 assert $de == 0xd8 step; assert $pc == 0x39 assert $b == 0x08 runto 0x40 assert $pc == 0x40 assert $b == 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 # # Setup Display # runto 0x55 assert $a == 0 assert $pc == 0x55 step; step assert $h == 0 assert $pc == 0x56 step assert $a == 0x64 assert $pc == 0x58 step assert $d == 0x64 assert $pc == 0x59 step assert $pc == 0x5b step assert $a == 0x91 assert $pc == 0x5d step assert $pc == 0x5f step assert $b == 1 assert $pc == 0x60 step assert $e == 0x2 runto 0x70 assert $pc == 0x70 runto 0x80 assert $pc == 0x80 # # Play sound 1 # runto 0x86 assert $pc == 0x86 # # Play sound 2 # runto 0xe0 assert $pc == 0xe0 # # Setup Logo comparison # runto 0xf4 assert $pc == 0xf4 runto 0x100 assert $pc == 0x100 echo Test passed! regs stat exit