diff --git a/Code/main.asm b/Code/main.asm index 2f59cf8..5e63fe6 100644 --- a/Code/main.asm +++ b/Code/main.asm @@ -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