123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144 |
- memtest_init:
- xor a
- ld e,a
- ret
- memtest_absent:
- ld b,h
- ld c,1
- cpl
- .redo ld (hl),a
- cpl
- ld (bc),a
- cp (hl)
- jr z,.allbad
- cp 0
- jr z,.redo
- ret
- .allbad:
- ld e,$FF
- ret
- memtest_march_w_up:
- .loop:
- ld (hl),d
- inc hl
- dec bc
- ld a,c
- or b
- jr nz,.loop
- ret
- memtest_march_rw_up:
- .loop:
- ld a,(hl)
- cp d
- jr z, .cont
- xor d
- or e
- ld e,a
- ld a,d
- .cont:
- cpl
- ld (hl),a
- inc hl
- dec bc
- ld a,c
- or b
- jr nz,.loop
- ret
-
- memtest_march_rw_dn:
- add hl,bc
- dec hl
- .loop:
- ld a,(hl)
- cp d
- jr z, .cont
- xor d
- or e
- ld e,a
- ld a,d
- .cont:
- cpl
- ld (hl),a
- dec hl
- dec bc
- ld a,c
- or b
- jr nz,.loop
- ret
- memtest_march_r_dn:
- add hl,bc
- dec hl
- .loop:
- ld a,(hl)
- cp d
- jr z,.cont
- xor d
- or e
- ld e,a
- ld a,d
- .cont:
- dec hl
- dec bc
- ld a,c
- or b
- jr nz,.loop
- ret
- mtmredo:
- ld a,d
- cp 0
- ld d,$55
- jr z,mtm1_bounce
- mtm_done:
- sub a
- or e
- mtm_return:
- ret z
- scf
- ret
- memtest_march:
- xor a
- ld e,a
- push hl
- push bc
- call memtest_absent
-
- ld d,0
- .redo:
- memtest_split_end equ $
|