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:
| M | gbdk-lib/libc/gb/fill_rect.s | 10 | +++++++--- |
| M | gbdk-lib/libc/gb/get_xy_t.s | 10 | +++++++--- |
| M | gbdk-lib/libc/gb/set_xy_t.s | 10 | +++++++--- |
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.