diff --git a/cpu/callRet.asm b/cpu/callRet.asm index b0b438f..464dd08 100644 --- a/cpu/callRet.asm +++ b/cpu/callRet.asm @@ -18,14 +18,16 @@ SECTION "home", ROM0 ProgramStart: call waitVBlank - ld b, $ff ; Fill color. + ld b, $ff ; Fill pattern. call clearLogo + ; Simple call. call waitVBlank ld hl, $8010 call fillTile + ; Conditional returns. call waitVBlank call retNz ld hl, $8040 @@ -46,30 +48,43 @@ ProgramStart: ld hl, $80a0 call fillTile + ; Conditional calls. call waitVBlank ld a, 2 dec a - ld hl, $8110 + ld hl, $80f0 call nz, fillTile call waitVBlank ld a, 1 dec a - ld hl, $8130 + ld hl, $8110 call z, fillTile call waitVBlank ld a, 200 add a, 55 - ld hl, $8150 + ld hl, $8130 call nc, fillTile call waitVBlank ld a, 255 add a, 1 - ld hl, $8170 + ld hl, $8150 call c, fillTile + ; Stack pointer validation. + ld hl, sp+$00 + ld a, h + cp $ff + jr nz, loop + ld a, l + cp $fe + jr nz, loop + ld hl, $8180 + call waitVBlank + call fillTile + loop: jr loop