swapped HL and DE in render routine so that we can 'inc e' since the video pointer low byte never overflows
This commit is contained in:
@@ -456,13 +456,13 @@ LCDStatInterruptHandler:
|
|||||||
|
|
||||||
.render
|
.render
|
||||||
; load buffer pointer into DE
|
; load buffer pointer into DE
|
||||||
ld hl, Rendered
|
ld hl, Video
|
||||||
ld a, [hl+]
|
ld a, [hl+]
|
||||||
ld d, [hl]
|
ld d, [hl]
|
||||||
ld e, a
|
ld e, a
|
||||||
|
|
||||||
; load video pointer into HL
|
; load video pointer into HL
|
||||||
ld hl, Video
|
ld hl, Rendered
|
||||||
ld a, [hl+]
|
ld a, [hl+]
|
||||||
ld h, [hl]
|
ld h, [hl]
|
||||||
ld l, a
|
ld l, a
|
||||||
@@ -480,20 +480,20 @@ LCDStatInterruptHandler:
|
|||||||
jr nz, .finish
|
jr nz, .finish
|
||||||
|
|
||||||
; copy one byte
|
; copy one byte
|
||||||
ld a, [de]
|
ld a, [hl+]
|
||||||
ld [hl+], a
|
ld [de], a
|
||||||
inc de
|
inc e
|
||||||
|
|
||||||
; loop while there are tiles to render
|
; loop while there are tiles to render
|
||||||
dec c
|
dec c
|
||||||
jr nz, .loop
|
jr nz, .loop
|
||||||
|
|
||||||
; go to next line
|
; go to next line
|
||||||
ld a, l
|
ld a, e
|
||||||
add a, 32 - 20
|
add a, 32 - 20
|
||||||
ld l, a
|
ld e, a
|
||||||
jr nc, .nocarry
|
jr nc, .nocarry
|
||||||
inc h
|
inc d
|
||||||
.nocarry
|
.nocarry
|
||||||
|
|
||||||
; loop while there are lines to render
|
; loop while there are lines to render
|
||||||
@@ -513,14 +513,14 @@ LCDStatInterruptHandler:
|
|||||||
ldh [LinesLeft], a
|
ldh [LinesLeft], a
|
||||||
|
|
||||||
; save incremented video pointer and buffer pointer
|
; save incremented video pointer and buffer pointer
|
||||||
ld a, l
|
ld a, e
|
||||||
ldh [Video], a
|
ldh [Video], a
|
||||||
ld a, h
|
ld a, d
|
||||||
ldh [Video + 1], a
|
ldh [Video + 1], a
|
||||||
|
|
||||||
ld a, e
|
ld a, l
|
||||||
ldh [Rendered], a
|
ldh [Rendered], a
|
||||||
ld a, d
|
ld a, h
|
||||||
ldh [Rendered + 1], a
|
ldh [Rendered + 1], a
|
||||||
|
|
||||||
; restore registers saved in interrupt handler
|
; restore registers saved in interrupt handler
|
||||||
|
|||||||
Reference in New Issue
Block a user