git.y1.nz

gbdk-2020

GameBoy Development Kit
download: https://git.y1.nz/archives/gbdk.tar.gz
README | Files | Log | Refs | LICENSE

commit 734c1723c857e25ea9b656666338ebc54cfec4c7
parent 7c424be4cd03b878b5778e6234b294a19ea94d59
Author: Toxa <untoxa@mail.ru>
Date:   Mon, 27 Jun 2022 19:37:57 +0300

GB: fix get_sprite_data() and get_bkg_data()/get_win_data() when LCDCF_BG8000 bit of LCDC_REG is set

Diffstat:
Mgbdk-lib/libc/targets/sm83/get_data.s20++++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/gbdk-lib/libc/targets/sm83/get_data.s b/gbdk-lib/libc/targets/sm83/get_data.s @@ -75,11 +75,7 @@ _get_win_data:: _get_sprite_data:: PUSH BC - LDA HL,7(SP) ; Skip return address and registers - LD A,(HL-) ; BC = data - LD B, A - LD A,(HL-) - LD C, A + LDA HL,5(SP) ; Skip return address and registers LD A,(HL-) ; E = nb_tiles LD E, A LD L,(HL) ; L = first_tile @@ -91,7 +87,8 @@ _get_sprite_data:: LD DE,#0x1000 ; DE = nb_tiles = 256 JR 2$ 1$: - LD H,#0x00 ; HL = nb_tiles + XOR A + LD H,A ; HL = nb_tiles LD L,E ADD HL,HL ; HL *= 16 ADD HL,HL @@ -101,18 +98,21 @@ _get_sprite_data:: LD E,L 2$: POP HL ; HL = first_tile - LD L,A + LD H,A ADD HL,HL ; HL *= 16 ADD HL,HL ADD HL,HL ADD HL,HL - PUSH BC LD BC,#0x8000 ADD HL,BC LD B,H - LD C,L - POP HL + LD C,L ; BC = source + + LDA HL,7(SP) + LD A,(HL-) + LD L,(HL) + LD H, A ; HL = data CALL .copy_vram

This webpage is intended to be an accessible preview of this repository. To get a fuller picture, clone it and use the git CLI.