123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174 |
- memtestmarch:
- xor a
- ld e,a
- ld d,a
- checkabsent:
- memtest_ld_hl_base
- 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
- jr mtm1
- .allbad:
- ld e,$FF
- jr mtm_done_bounce
- mtm1:
- memtest_loadregs
- mtm1loop:
- ld (hl),d
- inc hl
- dec bc
- ld a,c
- or b
- jr nz,mtm1loop
- mtm2:
- memtest_loadregs
- mtm2loop:
- ld a,(hl)
- cp d
- jr z, mtm2cont
- xor d
- or e
- ld e,a
- ld a,d
- mtm2cont:
- cpl
- ld (hl),a
- inc hl
- dec bc
- ld a,c
- or b
- jr nz,mtm2loop
-
- mtm3:
- memtest_loadregs
- mtm3loop:
- ld a,(hl)
- cpl
- cp d
- jr z, mtm3cont
- xor d
- or e
- ld e,a
- ld a,d
- mtm3cont:
- ld (hl),d
- inc hl
- dec bc
- ld a,c
- or b
- jr nz,mtm3loop
- jr mtm4
-
- mtm_done_bounce:
- jr mtm_done
- mtm1_bounce:
- jr mtm1
- mtm4:
- memtest_loadregs
- add hl,bc
- dec hl
- mtm4loop:
- ld a,(hl)
- cp d
- jr z, mtm4cont
- xor d
- or e
- ld e,a
- ld a,d
- mtm4cont:
- cpl
- ld (hl),a
- dec hl
- dec bc
- ld a,c
- or b
- jr nz,mtm4loop
- mtm5:
- memtest_loadregs
- add hl,bc
- dec hl
- mtm5loop:
- ld a,(hl)
- cpl
- cp d
- jr z, mtm5cont
- xor d
- or e
- ld e,a
- ld a,d
- mtm5cont:
- ld (hl),d
- dec hl
- dec bc
- ld a,c
- or b
- jr nz,mtm5loop
-
- mtm6:
- memtest_loadregs
- add hl,bc
- dec hl
- mtm6loop:
- ld a,(hl)
- cp d
- jr z,mtm6cont
- xor d
- or e
- ld e,a
- ld a,d
- mtm6cont:
- dec hl
- dec bc
- ld a,c
- or b
- jr nz,mtm6loop
- 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
- memtestmarch_end equ $
|