From 99b113de64e4505b85ab5bff1cfc7024c3478b1d Mon Sep 17 00:00:00 2001 From: Oliver Schmidt Date: Sun, 19 Jan 2025 16:51:11 +0100 Subject: [PATCH] Make memory between the end of the text screen and the start of the loaded program available to the linker. --- cfg/apple2-hgr.cfg | 2 ++ cfg/apple2-overlay.cfg | 2 ++ cfg/apple2-system.cfg | 2 ++ cfg/apple2.cfg | 2 ++ cfg/apple2enh-hgr.cfg | 2 ++ cfg/apple2enh-overlay.cfg | 2 ++ cfg/apple2enh-system.cfg | 2 ++ cfg/apple2enh.cfg | 2 ++ 8 files changed, 16 insertions(+) diff --git a/cfg/apple2-hgr.cfg b/cfg/apple2-hgr.cfg index 109fbe4f69..402e53b342 100644 --- a/cfg/apple2-hgr.cfg +++ b/cfg/apple2-hgr.cfg @@ -17,6 +17,7 @@ MEMORY { MAIN: file = %O, define = yes, start = %S, size = __HIMEM__ - %S; BSS: file = "", start = __ONCE_RUN__, size = __HIMEM__ - __STACKSIZE__ - __ONCE_RUN__; LC: file = "", define = yes, start = __LCADDR__, size = __LCSIZE__; + LOW: file = "", define = yes, start = $0800, size = %S - $0800; } SEGMENTS { ZEROPAGE: load = ZP, type = zp; @@ -31,6 +32,7 @@ SEGMENTS { ONCE: load = MAIN, type = ro, define = yes; LC: load = MAIN, run = LC, type = ro, optional = yes; BSS: load = BSS, type = bss, define = yes; + LOWBSS: load = LOW, type = bss, optional = yes; } FEATURES { CONDES: type = constructor, diff --git a/cfg/apple2-overlay.cfg b/cfg/apple2-overlay.cfg index 754ece90f2..512b19c167 100644 --- a/cfg/apple2-overlay.cfg +++ b/cfg/apple2-overlay.cfg @@ -25,6 +25,7 @@ MEMORY { MAIN: file = %O, define = yes, start = %S + __OVERLAYSIZE__, size = __HIMEM__ - __OVERLAYSIZE__ - %S; BSS: file = "", start = __ONCE_RUN__, size = __HIMEM__ - __STACKSIZE__ - __ONCE_RUN__; LC: file = "", define = yes, start = __LCADDR__, size = __LCSIZE__; + LOW: file = "", define = yes, start = $0800, size = %S - $0800; OVL1: file = "%O.1", start = %S, size = __OVERLAYSIZE__; OVL2: file = "%O.2", start = %S, size = __OVERLAYSIZE__; OVL3: file = "%O.3", start = %S, size = __OVERLAYSIZE__; @@ -47,6 +48,7 @@ SEGMENTS { ONCE: load = MAIN, type = ro, define = yes; LC: load = MAIN, run = LC, type = ro, optional = yes; BSS: load = BSS, type = bss, define = yes; + LOWBSS: load = LOW, type = bss, optional = yes; OVERLAY1: load = OVL1, type = ro, define = yes, optional = yes; OVERLAY2: load = OVL2, type = ro, define = yes, optional = yes; OVERLAY3: load = OVL3, type = ro, define = yes, optional = yes; diff --git a/cfg/apple2-system.cfg b/cfg/apple2-system.cfg index 3dd94d7930..8720ae800f 100644 --- a/cfg/apple2-system.cfg +++ b/cfg/apple2-system.cfg @@ -13,6 +13,7 @@ MEMORY { MAIN: file = %O, define = yes, start = $2000, size = $BF00 - $2000; BSS: file = "", start = __ONCE_RUN__, size = $BF00 - __STACKSIZE__ - __ONCE_RUN__; LC: file = "", define = yes, start = __LCADDR__, size = __LCSIZE__; + LOW: file = "", define = yes, start = $0800, size = $2000 - $0800; } SEGMENTS { ZEROPAGE: load = ZP, type = zp; @@ -26,6 +27,7 @@ SEGMENTS { ONCE: load = MAIN, type = ro, define = yes; LC: load = MAIN, run = LC, type = ro, optional = yes; BSS: load = BSS, type = bss, define = yes; + LOWBSS: load = LOW, type = bss, optional = yes; } FEATURES { CONDES: type = constructor, diff --git a/cfg/apple2.cfg b/cfg/apple2.cfg index 19932b1f92..c33bdee2df 100644 --- a/cfg/apple2.cfg +++ b/cfg/apple2.cfg @@ -17,6 +17,7 @@ MEMORY { MAIN: file = %O, define = yes, start = %S, size = __HIMEM__ - %S; BSS: file = "", start = __ONCE_RUN__, size = __HIMEM__ - __STACKSIZE__ - __ONCE_RUN__; LC: file = "", define = yes, start = __LCADDR__, size = __LCSIZE__; + LOW: file = "", define = yes, start = $0800, size = %S - $0800; } SEGMENTS { ZEROPAGE: load = ZP, type = zp; @@ -30,6 +31,7 @@ SEGMENTS { ONCE: load = MAIN, type = ro, define = yes; LC: load = MAIN, run = LC, type = ro, optional = yes; BSS: load = BSS, type = bss, define = yes; + LOWBSS: load = LOW, type = bss, optional = yes; } FEATURES { CONDES: type = constructor, diff --git a/cfg/apple2enh-hgr.cfg b/cfg/apple2enh-hgr.cfg index 109fbe4f69..402e53b342 100644 --- a/cfg/apple2enh-hgr.cfg +++ b/cfg/apple2enh-hgr.cfg @@ -17,6 +17,7 @@ MEMORY { MAIN: file = %O, define = yes, start = %S, size = __HIMEM__ - %S; BSS: file = "", start = __ONCE_RUN__, size = __HIMEM__ - __STACKSIZE__ - __ONCE_RUN__; LC: file = "", define = yes, start = __LCADDR__, size = __LCSIZE__; + LOW: file = "", define = yes, start = $0800, size = %S - $0800; } SEGMENTS { ZEROPAGE: load = ZP, type = zp; @@ -31,6 +32,7 @@ SEGMENTS { ONCE: load = MAIN, type = ro, define = yes; LC: load = MAIN, run = LC, type = ro, optional = yes; BSS: load = BSS, type = bss, define = yes; + LOWBSS: load = LOW, type = bss, optional = yes; } FEATURES { CONDES: type = constructor, diff --git a/cfg/apple2enh-overlay.cfg b/cfg/apple2enh-overlay.cfg index 754ece90f2..512b19c167 100644 --- a/cfg/apple2enh-overlay.cfg +++ b/cfg/apple2enh-overlay.cfg @@ -25,6 +25,7 @@ MEMORY { MAIN: file = %O, define = yes, start = %S + __OVERLAYSIZE__, size = __HIMEM__ - __OVERLAYSIZE__ - %S; BSS: file = "", start = __ONCE_RUN__, size = __HIMEM__ - __STACKSIZE__ - __ONCE_RUN__; LC: file = "", define = yes, start = __LCADDR__, size = __LCSIZE__; + LOW: file = "", define = yes, start = $0800, size = %S - $0800; OVL1: file = "%O.1", start = %S, size = __OVERLAYSIZE__; OVL2: file = "%O.2", start = %S, size = __OVERLAYSIZE__; OVL3: file = "%O.3", start = %S, size = __OVERLAYSIZE__; @@ -47,6 +48,7 @@ SEGMENTS { ONCE: load = MAIN, type = ro, define = yes; LC: load = MAIN, run = LC, type = ro, optional = yes; BSS: load = BSS, type = bss, define = yes; + LOWBSS: load = LOW, type = bss, optional = yes; OVERLAY1: load = OVL1, type = ro, define = yes, optional = yes; OVERLAY2: load = OVL2, type = ro, define = yes, optional = yes; OVERLAY3: load = OVL3, type = ro, define = yes, optional = yes; diff --git a/cfg/apple2enh-system.cfg b/cfg/apple2enh-system.cfg index 3dd94d7930..8720ae800f 100644 --- a/cfg/apple2enh-system.cfg +++ b/cfg/apple2enh-system.cfg @@ -13,6 +13,7 @@ MEMORY { MAIN: file = %O, define = yes, start = $2000, size = $BF00 - $2000; BSS: file = "", start = __ONCE_RUN__, size = $BF00 - __STACKSIZE__ - __ONCE_RUN__; LC: file = "", define = yes, start = __LCADDR__, size = __LCSIZE__; + LOW: file = "", define = yes, start = $0800, size = $2000 - $0800; } SEGMENTS { ZEROPAGE: load = ZP, type = zp; @@ -26,6 +27,7 @@ SEGMENTS { ONCE: load = MAIN, type = ro, define = yes; LC: load = MAIN, run = LC, type = ro, optional = yes; BSS: load = BSS, type = bss, define = yes; + LOWBSS: load = LOW, type = bss, optional = yes; } FEATURES { CONDES: type = constructor, diff --git a/cfg/apple2enh.cfg b/cfg/apple2enh.cfg index 19932b1f92..c33bdee2df 100644 --- a/cfg/apple2enh.cfg +++ b/cfg/apple2enh.cfg @@ -17,6 +17,7 @@ MEMORY { MAIN: file = %O, define = yes, start = %S, size = __HIMEM__ - %S; BSS: file = "", start = __ONCE_RUN__, size = __HIMEM__ - __STACKSIZE__ - __ONCE_RUN__; LC: file = "", define = yes, start = __LCADDR__, size = __LCSIZE__; + LOW: file = "", define = yes, start = $0800, size = %S - $0800; } SEGMENTS { ZEROPAGE: load = ZP, type = zp; @@ -30,6 +31,7 @@ SEGMENTS { ONCE: load = MAIN, type = ro, define = yes; LC: load = MAIN, run = LC, type = ro, optional = yes; BSS: load = BSS, type = bss, define = yes; + LOWBSS: load = LOW, type = bss, optional = yes; } FEATURES { CONDES: type = constructor,