|
|
|
HeaderTitle EQUS "\"CALLRET\""
|
|
|
|
|
|
|
|
include "common/defines.inc"
|
|
|
|
include "common/header.inc"
|
|
|
|
include "common/functions.inc"
|
|
|
|
|
|
|
|
; 1: call / ret
|
|
|
|
; 2: call / ret nz
|
|
|
|
; 3: call / ret z
|
|
|
|
; 4: call / ret nc
|
|
|
|
; 5: call / ret c
|
|
|
|
; 6: call nz / ret
|
|
|
|
; 7: call z / ret
|
|
|
|
; 8: call nc / ret
|
|
|
|
; 9: call c / ret
|
|
|
|
|
|
|
|
SECTION "home", ROM0
|
|
|
|
ProgramStart:
|
|
|
|
call waitVBlank
|
|
|
|
|
|
|
|
ld b, $ff ; Fill color.
|
|
|
|
|
|
|
|
; disable the LCD while we clear the logo
|
|
|
|
ld hl, $ff40
|
|
|
|
ld a, [hl]
|
|
|
|
res 7, a
|
|
|
|
ld [hl], a
|
|
|
|
call clearLogo
|
|
|
|
|
|
|
|
; enable the LCD
|
|
|
|
ld hl, $ff40
|
|
|
|
ld a, [hl]
|
|
|
|
set 7, a
|
|
|
|
ld [hl], a
|
|
|
|
|
|
|
|
call waitVBlank
|
|
|
|
ld hl, $8010
|
|
|
|
call fillTile
|
|
|
|
|
|
|
|
call waitVBlank
|
|
|
|
call retNz
|
|
|
|
ld hl, $8040
|
|
|
|
call fillTile
|
|
|
|
|
|
|
|
call waitVBlank
|
|
|
|
call retZ
|
|
|
|
ld hl, $8060
|
|
|
|
call fillTile
|
|
|
|
|
|
|
|
call waitVBlank
|
|
|
|
call retNc
|
|
|
|
ld hl, $8080
|
|
|
|
call fillTile
|
|
|
|
|
|
|
|
call waitVBlank
|
|
|
|
call retC
|
|
|
|
ld hl, $80a0
|
|
|
|
call fillTile
|
|
|
|
|
|
|
|
call waitVBlank
|
|
|
|
ld a, 2
|
|
|
|
dec a
|
|
|
|
ld hl, $8110
|
|
|
|
call nz, fillTile
|
|
|
|
|
|
|
|
call waitVBlank
|
|
|
|
ld a, 1
|
|
|
|
dec a
|
|
|
|
ld hl, $8130
|
|
|
|
call z, fillTile
|
|
|
|
|
|
|
|
call waitVBlank
|
|
|
|
ld a, 200
|
|
|
|
add a, 55
|
|
|
|
ld hl, $8150
|
|
|
|
call nc, fillTile
|
|
|
|
|
|
|
|
call waitVBlank
|
|
|
|
ld a, 255
|
|
|
|
add a, 1
|
|
|
|
ld hl, $8170
|
|
|
|
call c, fillTile
|
|
|
|
|
|
|
|
loop:
|
|
|
|
jr loop
|
|
|
|
|
|
|
|
|
|
|
|
SECTION "clearLogo", ROM0[$200]
|
|
|
|
clearLogo:
|
|
|
|
ld hl, $81A0
|
|
|
|
.clearLoop:
|
|
|
|
ld a, $0
|
|
|
|
ld [hld], a
|
|
|
|
ld a, h
|
|
|
|
cp $80
|
|
|
|
jr nz, .clearLoop
|
|
|
|
ld a, l
|
|
|
|
cp $10
|
|
|
|
jr nz, .clearLoop
|
|
|
|
ret
|
|
|
|
|
|
|
|
|
|
|
|
SECTION "retTests", ROM0[$220]
|
|
|
|
retError:
|
|
|
|
jr retError
|
|
|
|
|
|
|
|
retNz:
|
|
|
|
ld a, 2
|
|
|
|
dec a
|
|
|
|
ret nz
|
|
|
|
jr retError
|
|
|
|
|
|
|
|
retZ:
|
|
|
|
ld a, 1
|
|
|
|
dec a
|
|
|
|
ret z
|
|
|
|
jr retError
|
|
|
|
|
|
|
|
retNc:
|
|
|
|
ld a, 200
|
|
|
|
add a, 55
|
|
|
|
ret nc
|
|
|
|
jr retError
|
|
|
|
|
|
|
|
retC:
|
|
|
|
ld a, 255
|
|
|
|
add a, 1
|
|
|
|
ret c
|
|
|
|
jr retError
|