1
0
mirror of https://github.com/cc65/cc65.git synced 2025-02-01 09:30:10 +00:00

Make memory between the end of the text screen and the start of the loaded program available to the linker.

This commit is contained in:
Oliver Schmidt 2025-01-19 16:51:11 +01:00
parent 734a76c158
commit 99b113de64
8 changed files with 16 additions and 0 deletions

View File

@ -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,

View File

@ -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;

View File

@ -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,

View File

@ -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,

View File

@ -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,

View File

@ -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;

View File

@ -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,

View File

@ -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,