playing-coffee/playing-coffee - Copy/roms/oam_bug/source/8-instr_effect.s

64 lines
1019 B
ArmAsm

; Verifies corruption pattern for each instruction
.include "oam_bug.inc"
main:
save_sp
set_test 2,"INC/DEC rp pattern is wrong"
call begin
ld de,$FE00
inc de
call end
ld de,$FE00
dec de
call end
check_crc $EF0C266A
set_test 3,"POP rp pattern is wrong"
call begin
ld sp,$FEF0
pop bc
restore_sp
call end
check_crc $8C62EE7D
set_test 4,"PUSH rp pattern is wrong"
call begin
ld sp,$FEF0
push bc
restore_sp
call end
check_crc $B3693CEE
set_test 5,"LD A,(HL+/-) pattern is wrong"
call begin
ld hl,$FEF0
ld a,(hl+)
call end
ld hl,$FEF0
ld a,(hl-)
call end
check_crc $06BE41A4
jp tests_passed
begin:
call disable_lcd
call fill_oam
wreg LCDC,$81
delay 70224 - 4
ret
end:
call disable_lcd
call cp_oam
jr z,+
call print_oam
call print_newline
+
call begin
ret