You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
129 lines
1.5 KiB
129 lines
1.5 KiB
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
|
|
|