git.y1.nz

gbdk-2020

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

commit c494c5a829eb903ed38d12fc50acc7a3349d0717
parent 78d52c7c950226d54b76f25604c8b666d00a6c30
Author: Toxa <untoxa@mail.ru>
Date:   Tue,  9 Jun 2026 18:46:30 +0300

GB/AP: use the new register definitions for the CGB palette functions

Diffstat:
Mgbdk-lib/libc/targets/sm83/cgb.s25+++++++++++++------------
Mgbdk-lib/libc/targets/sm83/cgb_compat.s3++-
Mgbdk-lib/libc/targets/sm83/cgb_palettes.s34+++++++++++++++++-----------------
3 files changed, 32 insertions(+), 30 deletions(-)

diff --git a/gbdk-lib/libc/targets/sm83/cgb.s b/gbdk-lib/libc/targets/sm83/cgb.s @@ -4,34 +4,35 @@ .module CGB .area _CODE -_cpu_slow:: ; Banked - LDH A,(.KEY1) + +_cpu_slow:: + LDH A, (rKEY1) AND #0x80 ; Is GBC in double speed mode? RET Z ; No, already in single speed .shift_speed: - LDH A,(.IE) + LDH A, (rIE) PUSH AF XOR A ; A = 0 - LDH (.IE),A ; Disable interrupts - LDH (.IFL),A + LDH (rIE), A ; Disable interrupts + LDH (rIF), A - LD A,#0x30 - LDH (.P1),A + LD A, #0x30 + LDH (rP1), A - LD A,#0x01 - LDH (.KEY1),A + LD A, #0x01 + LDH (rKEY1), A STOP POP AF - LDH (.IE),A + LDH (rIE), A RET -_cpu_fast:: ; Banked - LDH A,(.KEY1) +_cpu_fast:: + LDH A, (rKEY1) AND #0x80 ; Is GBC in double speed mode? RET NZ ; Yes, exit JR .shift_speed diff --git a/gbdk-lib/libc/targets/sm83/cgb_compat.s b/gbdk-lib/libc/targets/sm83/cgb_compat.s @@ -20,5 +20,6 @@ _set_default_palette:: push bc call _set_bkg_palette ret + 1$: - .DW 0x7FFF, 0x56B5, 0x294A, 0x0000 + .dw 0x7FFF, 0x56B5, 0x294A, 0x0000 diff --git a/gbdk-lib/libc/targets/sm83/cgb_palettes.s b/gbdk-lib/libc/targets/sm83/cgb_palettes.s @@ -7,14 +7,14 @@ ; void set_sprite_palette(uint8_t first_palette, uint8_t nb_palettes, const palette_color_t *rgb_data) PRESERVES_REGS(b, c); _set_sprite_palette:: ; Non-banked - ld d, c ; save C - ld c, #.OCPS + ld d, c ; save C + ld c, #rOCPS jr .set_palette ; void set_bkg_palette(uint8_t first_palette, uint8_t nb_palettes, const palette_color_t *rgb_data) PRESERVES_REGS(b, c); _set_bkg_palette:: ; Non-banked - ld d, c ; save C - ld c, #.BCPS + ld d, c ; save C + ld c, #rBCPS ; first_palette is in A ; nb_palettes is in E @@ -23,7 +23,7 @@ _set_bkg_palette:: ; Non-banked add a add a add a - or #0x80 ; Set auto-increment + or #OCPSF_AUTOINC ; Set auto-increment ldh (c), a inc c @@ -53,32 +53,32 @@ _set_bkg_palette:: ; Non-banked jp (hl) ; void set_sprite_palette_entry(uint8_t palette, uint8_t entry, uint16_t rgb_data) PRESERVES_REGS(b, c); -_set_sprite_palette_entry:: ; Banked - ld d, c ; save C - ld c, #.OCPS +_set_sprite_palette_entry:: + ld d, c ; save C + ld c, #rOCPS jr .set_palette_entry ; void set_bkg_palette_entry(uint8_t palette, uint8_t entry, uint16_t rgb_data) PRESERVES_REGS(b, c); -_set_bkg_palette_entry:: ; Banked - ld d, c ; save C - ld c, #.BCPS +_set_bkg_palette_entry:: + ld d, c ; save C + ld c, #rBCPS ; palette is in A ; entry is in E ; rgb_data is on the stack .set_palette_entry:: ; A = palette * 8 + entry * 2 - add a - add a + add a + add a add e - add a - or #0x80 ; Set auto-increment + add a + or #OCPSF_AUTOINC ; Set auto-increment ldh (c), a inc c ldhl sp, #2 - LD A,(HL+) ; rgb_data - LD E,(HL) + ld a,(hl+) ; rgb_data + ld e,(hl) WAIT_STAT_HL

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