gbdk-2020 | GameBoy Development Kit |
| download: https://git.y1.nz/archives/gbdk.tar.gz | |
| README | Files | Log | Refs | LICENSE |
commit b35ac8b732d5c958aa0680bf76dfa8797534d97f parent d7ce097ffeabf1cc4be308bb574ddb0b5a715b19 Author: Toxa <untoxa@mail.ru> Date: Fri, 3 Sep 2021 01:49:33 +0300 fix banks cross-platform example: SMS/GG has only 2 RAM banks; prevent overlay of variables Diffstat:
6 files changed, 25 insertions(+), 25 deletions(-)
diff --git a/gbdk-lib/examples/cross-platform/banks/Makefile b/gbdk-lib/examples/cross-platform/banks/Makefile @@ -24,7 +24,7 @@ LCCFLAGS += -Wl-j -Wm-yoA -Wm-ya4 -autobank -Wb-ext=.rel -Wb-v # MBC + Autobanki # LCCFLAGS += -v # Uncomment for lcc verbose output # You can set the name of the ROM file here -PROJECTNAME = banks_farptr +PROJECTNAME = banks # EXT?=gb # Only sets extension to default (game boy .gb) if not populated SRCDIR = src diff --git a/gbdk-lib/examples/cross-platform/banks/src/bank.d0.c2.c b/gbdk-lib/examples/cross-platform/banks/src/bank.d0.c2.c @@ -0,0 +1,10 @@ +#include <gb/gb.h> +#include <stdint.h> +#include <stdio.h> + +int var_2; /* In external RAM bank 0 */ + +void bank_2() BANKED /* In ROM bank 2 */ +{ + puts("I'm in ROM bank 2"); +} diff --git a/gbdk-lib/examples/cross-platform/banks/src/bank.d1.c3.c b/gbdk-lib/examples/cross-platform/banks/src/bank.d1.c3.c @@ -0,0 +1,10 @@ +#include <gb/gb.h> +#include <stdint.h> +#include <stdio.h> + +int var_3; /* In external RAM bank 1 */ + +void bank_3() BANKED /* In ROM bank 3 */ +{ + puts("I'm in ROM bank 3"); +} diff --git a/gbdk-lib/examples/cross-platform/banks/src/bank.d2.c2.c b/gbdk-lib/examples/cross-platform/banks/src/bank.d2.c2.c @@ -1,10 +0,0 @@ -#include <gb/gb.h> -#include <stdint.h> -#include <stdio.h> - -int var_2; /* In external RAM bank 2 */ - -void bank_2() BANKED /* In ROM bank 2 */ -{ - puts("I'm in ROM bank 2"); -} diff --git a/gbdk-lib/examples/cross-platform/banks/src/bank.d3.c3.c b/gbdk-lib/examples/cross-platform/banks/src/bank.d3.c3.c @@ -1,10 +0,0 @@ -#include <gb/gb.h> -#include <stdint.h> -#include <stdio.h> - -int var_3; /* In external RAM bank 3 */ - -void bank_3() BANKED /* In ROM bank 3 */ -{ - puts("I'm in ROM bank 3"); -} diff --git a/gbdk-lib/examples/cross-platform/banks/src/banks.c b/gbdk-lib/examples/cross-platform/banks/src/banks.c @@ -37,9 +37,9 @@ void main(void) var_0 = 2; SWITCH_RAM(1); var_1 = 3; - SWITCH_RAM(2); + SWITCH_RAM(0); var_2 = 4; - SWITCH_RAM(3); + SWITCH_RAM(1); var_3 = 5; bank_fixed(); @@ -52,9 +52,9 @@ void main(void) printf("Var_0 is %u\n", var_0); SWITCH_RAM(1); printf("Var_1 is %u\n", var_1); - SWITCH_RAM(2); + SWITCH_RAM(0); printf("Var_2 is %u\n", var_2); - SWITCH_RAM(3); + SWITCH_RAM(1); printf("Var_3 is %u\n", var_3); puts("The End...");
This webpage is intended to be an accessible preview of this repository. To get a fuller picture, clone it and use the git CLI.