git.y1.nz

gbdk-2020

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

commit f1615120f86383f356ef3f5617096daa967570ad
parent 43dfccb83cdb36b6632733242a403c9798e40d97
Author: Toxa <untoxa@mail.ru>
Date:   Mon, 13 Jun 2022 11:22:40 +0300

SMS/GG: fix overwriting of the first two bytes of the _CODE section

Diffstat:
Mgbdk-lib/libc/targets/z80/gg/crt0.s22++++++++--------------
Mgbdk-lib/libc/targets/z80/sms/crt0.s22++++++++--------------
2 files changed, 16 insertions(+), 28 deletions(-)

diff --git a/gbdk-lib/libc/targets/z80/gg/crt0.s b/gbdk-lib/libc/targets/z80/gg/crt0.s @@ -72,7 +72,14 @@ _WRITE_VDP_DATA:: ;; Initialise global variables call .gsinit - ;; Initialize VDP + ;; Clear VRAM and Initialize VDP + + ld hl, #((.VDP_R1 << 8) | .R1_DEFAULT) + WRITE_VDP_CMD_HL + + call _set_default_palette + call .clear_VRAM + ld c, #.VDP_CMD ld b, #(.shadow_VDP_end - .shadow_VDP) ld hl,#(.shadow_VDP_end - 1) @@ -98,19 +105,6 @@ _WRITE_VDP_DATA:: 3$: ld (#__SYSTEM), a - ld a, (_shadow_VDP_R1) - and #(~.R1_DISP_ON) - ld l, a - ld h, #(.VDP_REG_MASK | 1) - WRITE_VDP_CMD_HL - - call _set_default_palette - call .clear_VRAM - - ld hl, (_shadow_VDP_R1) - ld h, #(.VDP_REG_MASK | 1) - WRITE_VDP_CMD_HL - VDP_CANCEL_INT ei ; re-enable interrupts before going to main() diff --git a/gbdk-lib/libc/targets/z80/sms/crt0.s b/gbdk-lib/libc/targets/z80/sms/crt0.s @@ -72,7 +72,14 @@ _WRITE_VDP_DATA:: ;; Initialise global variables call .gsinit - ;; Initialize VDP + ;; Clear VRAM and Initialize VDP + + ld hl, #((.VDP_R1 << 8) | .R1_DEFAULT) + WRITE_VDP_CMD_HL + + call _set_default_palette + call .clear_VRAM + ld c, #.VDP_CMD ld b, #(.shadow_VDP_end - .shadow_VDP) ld hl,#(.shadow_VDP_end - 1) @@ -105,19 +112,6 @@ _WRITE_VDP_DATA:: 4$: ld (#__SYSTEM), a - ld a, (_shadow_VDP_R1) - and #(~.R1_DISP_ON) - ld l, a - ld h, #(.VDP_REG_MASK | 1) - WRITE_VDP_CMD_HL - - call _set_default_palette - call .clear_VRAM - - ld hl, (_shadow_VDP_R1) - ld h, #(.VDP_REG_MASK | 1) - WRITE_VDP_CMD_HL - VDP_CANCEL_INT ei ; re-enable interrupts before going to main()

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