git.y1.nz

gbdk-2020

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

commit 484f0765338441549574b7aa4c97e567ab02892b
parent e06edf4e324ede3d804dfac7f97864c07d65f4e6
Author: toxa <untoxa@mail.ru>
Date:   Fri,  6 Nov 2020 00:58:53 +0300

fix wrapping maps when base address is 0x9c00

Diffstat:
Mgbdk-lib/libc/gb/fill_rect.s10+++++++---
Mgbdk-lib/libc/gb/get_xy_t.s10+++++++---
Mgbdk-lib/libc/gb/set_xy_t.s10+++++++---
3 files changed, 21 insertions(+), 9 deletions(-)

diff --git a/gbdk-lib/libc/gb/fill_rect.s b/gbdk-lib/libc/gb/fill_rect.s @@ -67,8 +67,12 @@ PUSH DE LD A, B ; next row and wrap around - AND #0xF8 - LD E, A + AND #0xFC + LD E, A ; save high bits + + LD A, B ; make map zero-based + AND #0x03 + LD B, A LD A,#0x20 @@ -77,7 +81,7 @@ ADC A, B SUB C AND #0x03 - OR E + OR E ; restore high bits LD B, A PUSH BC diff --git a/gbdk-lib/libc/gb/get_xy_t.s b/gbdk-lib/libc/gb/get_xy_t.s @@ -69,8 +69,12 @@ PUSH DE LD A, B ; next row and wrap around - AND #0xF8 - LD E, A + AND #0xFC + LD E, A ; save high bits + + LD A, B ; make map zero-based + AND #0x03 + LD B, A LD A,#0x20 @@ -79,7 +83,7 @@ ADC A, B SUB C AND #0x03 - OR E + OR E ; restore high bits LD B, A PUSH BC diff --git a/gbdk-lib/libc/gb/set_xy_t.s b/gbdk-lib/libc/gb/set_xy_t.s @@ -67,8 +67,12 @@ PUSH DE LD A, B ; next row and wrap around - AND #0xF8 - LD E, A + AND #0xFC + LD E, A ; save high bits + + LD A, B ; make map zero-based + AND #0x03 + LD B, A LD A,#0x20 @@ -77,7 +81,7 @@ ADC A, B SUB C AND #0x03 - OR E + OR E ; restore high bits LD B, A PUSH BC

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