easily toggle rendering from hbl + avoid unnecessary halt after waiting for rendering when hbl render is off

This commit is contained in:
2019-01-03 19:40:43 +01:00
parent ea8f0df43d
commit bbbff34952

View File

@@ -1,5 +1,7 @@
INCLUDE "hardware.inc" INCLUDE "hardware.inc"
RENDER_IN_HBL EQU 0
_VRAM_BG_TILES EQU $9000 _VRAM_BG_TILES EQU $9000
SECTION "Memory Copy", ROM0 SECTION "Memory Copy", ROM0
@@ -252,7 +254,11 @@ Start:
; enable v-blank and lcd stat interrupt for h-blank ; enable v-blank and lcd stat interrupt for h-blank
; rendering routine is too slow for lcdc right now so disabled ; rendering routine is too slow for lcdc right now so disabled
ld a, IEF_VBLANK ;| IEF_LCDC IF RENDER_IN_HBL != 0
ld a, IEF_VBLANK | IEF_LCDC
ELSE
ld a, IEF_VBLANK
ENDC
ld [rIE], a ld [rIE], a
xor a xor a
ei ei
@@ -379,13 +385,14 @@ Start:
.swap .swap
; enable only v-blank interrupt ; enable only v-blank interrupt
di di
IF RENDER_IN_HBL != 0
ld a, IEF_VBLANK ld a, IEF_VBLANK
ld [rIE], a ld [rIE], a
xor a xor a
ldh [rIF], a ldh [rIF], a
; wait v-blank ; wait v-blank
halt halt
ENDC
; check which buffer has just been rendered ; check which buffer has just been rendered
ldh a, [Old] ldh a, [Old]