Optimize handlers slightly

This commit is contained in:
Eldred Habert
2019-01-03 01:58:21 +01:00
committed by GitHub
parent b7b00de3a5
commit 34010073a2

View File

@@ -158,18 +158,6 @@ ConwayGroup: MACRO
ld [hl], b
ENDM
SECTION "Timer Interrupt Handler", ROM0[$50]
TimerInterruptHandler:
reti
SECTION "Serial Interrupt Handler", ROM0[$58]
SerialInterruptHandler:
reti
SECTION "Joypad Interrupt Handler", ROM0[$60]
JoypadInterruptHandler:
reti
SECTION "Header", ROM0[$100]
EntryPoint:
di
@@ -447,28 +435,14 @@ Start:
SECTION "V-Blank Interrupt Handler", ROM0[$40]
VBlankInterruptHandler:
; save registers
push af
push bc
push de
push hl
; render
jp Render
jr LCDStatInterruptHandler
SECTION "LCD Stat Interrupt Handler", ROM0[$48]
LCDStatInterruptHandler:
; save registers
push af
push bc
push de
push hl
; render
jp Render
SECTION "Render", ROM0
Render:
; check there are tiles to render
ldh a, [LinesLeft]
ld b, a
@@ -476,6 +450,9 @@ Render:
or b
jr z, .exit
push de
push hl
.render
; load buffer pointer into DE
ld hl, Rendered
@@ -546,10 +523,11 @@ Render:
ld a, d
ldh [Rendered + 1], a
.exit
; restore registers saved in interrupt handler
pop hl
pop de
.exit
pop bc
pop af