Ian Burgmyer
4 years ago
2 changed files with 166 additions and 3 deletions
@ -0,0 +1,148 @@
|
||||
HeaderTitle EQUS "\"CALLRET\"" |
||||
|
||||
include "common/defines.inc" |
||||
include "common/header.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 |
||||
|
||||
; 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 drawRect |
||||
|
||||
call waitVBlank |
||||
call retNz |
||||
ld hl, $8040 |
||||
call drawRect |
||||
|
||||
call waitVBlank |
||||
call retZ |
||||
ld hl, $8060 |
||||
call drawRect |
||||
|
||||
call waitVBlank |
||||
call retNc |
||||
ld hl, $8080 |
||||
call drawRect |
||||
|
||||
call waitVBlank |
||||
call retC |
||||
ld hl, $80a0 |
||||
call drawRect |
||||
|
||||
call waitVBlank |
||||
ld a, 2 |
||||
dec a |
||||
ld hl, $8110 |
||||
call nz, drawRect |
||||
|
||||
call waitVBlank |
||||
ld a, 1 |
||||
dec a |
||||
ld hl, $8130 |
||||
call z, drawRect |
||||
|
||||
call waitVBlank |
||||
ld a, 2 |
||||
dec a |
||||
ld hl, $8150 |
||||
call nc, drawRect |
||||
|
||||
call waitVBlank |
||||
ld a, 255 |
||||
add a, 1 |
||||
ld hl, $8170 |
||||
call c, drawRect |
||||
|
||||
loop: |
||||
jr loop |
||||
|
||||
|
||||
SECTION "waitVBlank", ROM0[$200] |
||||
waitVBlank: |
||||
ldh a, [$ff44] |
||||
cp $90 |
||||
jr nz, waitVBlank |
||||
ret |
||||
|
||||
|
||||
SECTION "clearLogo", ROM0[$220] |
||||
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 "drawRect", ROM0[$240] |
||||
drawRect: |
||||
push af |
||||
push de |
||||
ld d, 16 |
||||
ld a, $ff |
||||
.logoDraw: |
||||
ld [hli], a |
||||
dec d |
||||
jr nz, .logoDraw |
||||
pop de |
||||
pop af |
||||
ret |
||||
|
||||
SECTION "ret", ROM0[$300] |
||||
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, 2 |
||||
dec a |
||||
ret nc |
||||
jr retError |
||||
|
||||
retC: |
||||
ld a, 255 |
||||
add a, 1 |
||||
ret c |
||||
jr retError |
Loading…
Reference in new issue