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