mirror of
https://github.com/cc65/cc65.git
synced 2025-02-09 02:30:42 +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:
parent
734a76c158
commit
99b113de64
@ -17,6 +17,7 @@ MEMORY {
|
|||||||
MAIN: file = %O, define = yes, start = %S, size = __HIMEM__ - %S;
|
MAIN: file = %O, define = yes, start = %S, size = __HIMEM__ - %S;
|
||||||
BSS: file = "", start = __ONCE_RUN__, size = __HIMEM__ - __STACKSIZE__ - __ONCE_RUN__;
|
BSS: file = "", start = __ONCE_RUN__, size = __HIMEM__ - __STACKSIZE__ - __ONCE_RUN__;
|
||||||
LC: file = "", define = yes, start = __LCADDR__, size = __LCSIZE__;
|
LC: file = "", define = yes, start = __LCADDR__, size = __LCSIZE__;
|
||||||
|
LOW: file = "", define = yes, start = $0800, size = %S - $0800;
|
||||||
}
|
}
|
||||||
SEGMENTS {
|
SEGMENTS {
|
||||||
ZEROPAGE: load = ZP, type = zp;
|
ZEROPAGE: load = ZP, type = zp;
|
||||||
@ -31,6 +32,7 @@ SEGMENTS {
|
|||||||
ONCE: load = MAIN, type = ro, define = yes;
|
ONCE: load = MAIN, type = ro, define = yes;
|
||||||
LC: load = MAIN, run = LC, type = ro, optional = yes;
|
LC: load = MAIN, run = LC, type = ro, optional = yes;
|
||||||
BSS: load = BSS, type = bss, define = yes;
|
BSS: load = BSS, type = bss, define = yes;
|
||||||
|
LOWBSS: load = LOW, type = bss, optional = yes;
|
||||||
}
|
}
|
||||||
FEATURES {
|
FEATURES {
|
||||||
CONDES: type = constructor,
|
CONDES: type = constructor,
|
||||||
|
@ -25,6 +25,7 @@ MEMORY {
|
|||||||
MAIN: file = %O, define = yes, start = %S + __OVERLAYSIZE__, size = __HIMEM__ - __OVERLAYSIZE__ - %S;
|
MAIN: file = %O, define = yes, start = %S + __OVERLAYSIZE__, size = __HIMEM__ - __OVERLAYSIZE__ - %S;
|
||||||
BSS: file = "", start = __ONCE_RUN__, size = __HIMEM__ - __STACKSIZE__ - __ONCE_RUN__;
|
BSS: file = "", start = __ONCE_RUN__, size = __HIMEM__ - __STACKSIZE__ - __ONCE_RUN__;
|
||||||
LC: file = "", define = yes, start = __LCADDR__, size = __LCSIZE__;
|
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__;
|
OVL1: file = "%O.1", start = %S, size = __OVERLAYSIZE__;
|
||||||
OVL2: file = "%O.2", start = %S, size = __OVERLAYSIZE__;
|
OVL2: file = "%O.2", start = %S, size = __OVERLAYSIZE__;
|
||||||
OVL3: file = "%O.3", start = %S, size = __OVERLAYSIZE__;
|
OVL3: file = "%O.3", start = %S, size = __OVERLAYSIZE__;
|
||||||
@ -47,6 +48,7 @@ SEGMENTS {
|
|||||||
ONCE: load = MAIN, type = ro, define = yes;
|
ONCE: load = MAIN, type = ro, define = yes;
|
||||||
LC: load = MAIN, run = LC, type = ro, optional = yes;
|
LC: load = MAIN, run = LC, type = ro, optional = yes;
|
||||||
BSS: load = BSS, type = bss, define = yes;
|
BSS: load = BSS, type = bss, define = yes;
|
||||||
|
LOWBSS: load = LOW, type = bss, optional = yes;
|
||||||
OVERLAY1: load = OVL1, type = ro, define = yes, optional = yes;
|
OVERLAY1: load = OVL1, type = ro, define = yes, optional = yes;
|
||||||
OVERLAY2: load = OVL2, type = ro, define = yes, optional = yes;
|
OVERLAY2: load = OVL2, type = ro, define = yes, optional = yes;
|
||||||
OVERLAY3: load = OVL3, type = ro, define = yes, optional = yes;
|
OVERLAY3: load = OVL3, type = ro, define = yes, optional = yes;
|
||||||
|
@ -13,6 +13,7 @@ MEMORY {
|
|||||||
MAIN: file = %O, define = yes, start = $2000, size = $BF00 - $2000;
|
MAIN: file = %O, define = yes, start = $2000, size = $BF00 - $2000;
|
||||||
BSS: file = "", start = __ONCE_RUN__, size = $BF00 - __STACKSIZE__ - __ONCE_RUN__;
|
BSS: file = "", start = __ONCE_RUN__, size = $BF00 - __STACKSIZE__ - __ONCE_RUN__;
|
||||||
LC: file = "", define = yes, start = __LCADDR__, size = __LCSIZE__;
|
LC: file = "", define = yes, start = __LCADDR__, size = __LCSIZE__;
|
||||||
|
LOW: file = "", define = yes, start = $0800, size = $2000 - $0800;
|
||||||
}
|
}
|
||||||
SEGMENTS {
|
SEGMENTS {
|
||||||
ZEROPAGE: load = ZP, type = zp;
|
ZEROPAGE: load = ZP, type = zp;
|
||||||
@ -26,6 +27,7 @@ SEGMENTS {
|
|||||||
ONCE: load = MAIN, type = ro, define = yes;
|
ONCE: load = MAIN, type = ro, define = yes;
|
||||||
LC: load = MAIN, run = LC, type = ro, optional = yes;
|
LC: load = MAIN, run = LC, type = ro, optional = yes;
|
||||||
BSS: load = BSS, type = bss, define = yes;
|
BSS: load = BSS, type = bss, define = yes;
|
||||||
|
LOWBSS: load = LOW, type = bss, optional = yes;
|
||||||
}
|
}
|
||||||
FEATURES {
|
FEATURES {
|
||||||
CONDES: type = constructor,
|
CONDES: type = constructor,
|
||||||
|
@ -17,6 +17,7 @@ MEMORY {
|
|||||||
MAIN: file = %O, define = yes, start = %S, size = __HIMEM__ - %S;
|
MAIN: file = %O, define = yes, start = %S, size = __HIMEM__ - %S;
|
||||||
BSS: file = "", start = __ONCE_RUN__, size = __HIMEM__ - __STACKSIZE__ - __ONCE_RUN__;
|
BSS: file = "", start = __ONCE_RUN__, size = __HIMEM__ - __STACKSIZE__ - __ONCE_RUN__;
|
||||||
LC: file = "", define = yes, start = __LCADDR__, size = __LCSIZE__;
|
LC: file = "", define = yes, start = __LCADDR__, size = __LCSIZE__;
|
||||||
|
LOW: file = "", define = yes, start = $0800, size = %S - $0800;
|
||||||
}
|
}
|
||||||
SEGMENTS {
|
SEGMENTS {
|
||||||
ZEROPAGE: load = ZP, type = zp;
|
ZEROPAGE: load = ZP, type = zp;
|
||||||
@ -30,6 +31,7 @@ SEGMENTS {
|
|||||||
ONCE: load = MAIN, type = ro, define = yes;
|
ONCE: load = MAIN, type = ro, define = yes;
|
||||||
LC: load = MAIN, run = LC, type = ro, optional = yes;
|
LC: load = MAIN, run = LC, type = ro, optional = yes;
|
||||||
BSS: load = BSS, type = bss, define = yes;
|
BSS: load = BSS, type = bss, define = yes;
|
||||||
|
LOWBSS: load = LOW, type = bss, optional = yes;
|
||||||
}
|
}
|
||||||
FEATURES {
|
FEATURES {
|
||||||
CONDES: type = constructor,
|
CONDES: type = constructor,
|
||||||
|
@ -17,6 +17,7 @@ MEMORY {
|
|||||||
MAIN: file = %O, define = yes, start = %S, size = __HIMEM__ - %S;
|
MAIN: file = %O, define = yes, start = %S, size = __HIMEM__ - %S;
|
||||||
BSS: file = "", start = __ONCE_RUN__, size = __HIMEM__ - __STACKSIZE__ - __ONCE_RUN__;
|
BSS: file = "", start = __ONCE_RUN__, size = __HIMEM__ - __STACKSIZE__ - __ONCE_RUN__;
|
||||||
LC: file = "", define = yes, start = __LCADDR__, size = __LCSIZE__;
|
LC: file = "", define = yes, start = __LCADDR__, size = __LCSIZE__;
|
||||||
|
LOW: file = "", define = yes, start = $0800, size = %S - $0800;
|
||||||
}
|
}
|
||||||
SEGMENTS {
|
SEGMENTS {
|
||||||
ZEROPAGE: load = ZP, type = zp;
|
ZEROPAGE: load = ZP, type = zp;
|
||||||
@ -31,6 +32,7 @@ SEGMENTS {
|
|||||||
ONCE: load = MAIN, type = ro, define = yes;
|
ONCE: load = MAIN, type = ro, define = yes;
|
||||||
LC: load = MAIN, run = LC, type = ro, optional = yes;
|
LC: load = MAIN, run = LC, type = ro, optional = yes;
|
||||||
BSS: load = BSS, type = bss, define = yes;
|
BSS: load = BSS, type = bss, define = yes;
|
||||||
|
LOWBSS: load = LOW, type = bss, optional = yes;
|
||||||
}
|
}
|
||||||
FEATURES {
|
FEATURES {
|
||||||
CONDES: type = constructor,
|
CONDES: type = constructor,
|
||||||
|
@ -25,6 +25,7 @@ MEMORY {
|
|||||||
MAIN: file = %O, define = yes, start = %S + __OVERLAYSIZE__, size = __HIMEM__ - __OVERLAYSIZE__ - %S;
|
MAIN: file = %O, define = yes, start = %S + __OVERLAYSIZE__, size = __HIMEM__ - __OVERLAYSIZE__ - %S;
|
||||||
BSS: file = "", start = __ONCE_RUN__, size = __HIMEM__ - __STACKSIZE__ - __ONCE_RUN__;
|
BSS: file = "", start = __ONCE_RUN__, size = __HIMEM__ - __STACKSIZE__ - __ONCE_RUN__;
|
||||||
LC: file = "", define = yes, start = __LCADDR__, size = __LCSIZE__;
|
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__;
|
OVL1: file = "%O.1", start = %S, size = __OVERLAYSIZE__;
|
||||||
OVL2: file = "%O.2", start = %S, size = __OVERLAYSIZE__;
|
OVL2: file = "%O.2", start = %S, size = __OVERLAYSIZE__;
|
||||||
OVL3: file = "%O.3", start = %S, size = __OVERLAYSIZE__;
|
OVL3: file = "%O.3", start = %S, size = __OVERLAYSIZE__;
|
||||||
@ -47,6 +48,7 @@ SEGMENTS {
|
|||||||
ONCE: load = MAIN, type = ro, define = yes;
|
ONCE: load = MAIN, type = ro, define = yes;
|
||||||
LC: load = MAIN, run = LC, type = ro, optional = yes;
|
LC: load = MAIN, run = LC, type = ro, optional = yes;
|
||||||
BSS: load = BSS, type = bss, define = yes;
|
BSS: load = BSS, type = bss, define = yes;
|
||||||
|
LOWBSS: load = LOW, type = bss, optional = yes;
|
||||||
OVERLAY1: load = OVL1, type = ro, define = yes, optional = yes;
|
OVERLAY1: load = OVL1, type = ro, define = yes, optional = yes;
|
||||||
OVERLAY2: load = OVL2, type = ro, define = yes, optional = yes;
|
OVERLAY2: load = OVL2, type = ro, define = yes, optional = yes;
|
||||||
OVERLAY3: load = OVL3, type = ro, define = yes, optional = yes;
|
OVERLAY3: load = OVL3, type = ro, define = yes, optional = yes;
|
||||||
|
@ -13,6 +13,7 @@ MEMORY {
|
|||||||
MAIN: file = %O, define = yes, start = $2000, size = $BF00 - $2000;
|
MAIN: file = %O, define = yes, start = $2000, size = $BF00 - $2000;
|
||||||
BSS: file = "", start = __ONCE_RUN__, size = $BF00 - __STACKSIZE__ - __ONCE_RUN__;
|
BSS: file = "", start = __ONCE_RUN__, size = $BF00 - __STACKSIZE__ - __ONCE_RUN__;
|
||||||
LC: file = "", define = yes, start = __LCADDR__, size = __LCSIZE__;
|
LC: file = "", define = yes, start = __LCADDR__, size = __LCSIZE__;
|
||||||
|
LOW: file = "", define = yes, start = $0800, size = $2000 - $0800;
|
||||||
}
|
}
|
||||||
SEGMENTS {
|
SEGMENTS {
|
||||||
ZEROPAGE: load = ZP, type = zp;
|
ZEROPAGE: load = ZP, type = zp;
|
||||||
@ -26,6 +27,7 @@ SEGMENTS {
|
|||||||
ONCE: load = MAIN, type = ro, define = yes;
|
ONCE: load = MAIN, type = ro, define = yes;
|
||||||
LC: load = MAIN, run = LC, type = ro, optional = yes;
|
LC: load = MAIN, run = LC, type = ro, optional = yes;
|
||||||
BSS: load = BSS, type = bss, define = yes;
|
BSS: load = BSS, type = bss, define = yes;
|
||||||
|
LOWBSS: load = LOW, type = bss, optional = yes;
|
||||||
}
|
}
|
||||||
FEATURES {
|
FEATURES {
|
||||||
CONDES: type = constructor,
|
CONDES: type = constructor,
|
||||||
|
@ -17,6 +17,7 @@ MEMORY {
|
|||||||
MAIN: file = %O, define = yes, start = %S, size = __HIMEM__ - %S;
|
MAIN: file = %O, define = yes, start = %S, size = __HIMEM__ - %S;
|
||||||
BSS: file = "", start = __ONCE_RUN__, size = __HIMEM__ - __STACKSIZE__ - __ONCE_RUN__;
|
BSS: file = "", start = __ONCE_RUN__, size = __HIMEM__ - __STACKSIZE__ - __ONCE_RUN__;
|
||||||
LC: file = "", define = yes, start = __LCADDR__, size = __LCSIZE__;
|
LC: file = "", define = yes, start = __LCADDR__, size = __LCSIZE__;
|
||||||
|
LOW: file = "", define = yes, start = $0800, size = %S - $0800;
|
||||||
}
|
}
|
||||||
SEGMENTS {
|
SEGMENTS {
|
||||||
ZEROPAGE: load = ZP, type = zp;
|
ZEROPAGE: load = ZP, type = zp;
|
||||||
@ -30,6 +31,7 @@ SEGMENTS {
|
|||||||
ONCE: load = MAIN, type = ro, define = yes;
|
ONCE: load = MAIN, type = ro, define = yes;
|
||||||
LC: load = MAIN, run = LC, type = ro, optional = yes;
|
LC: load = MAIN, run = LC, type = ro, optional = yes;
|
||||||
BSS: load = BSS, type = bss, define = yes;
|
BSS: load = BSS, type = bss, define = yes;
|
||||||
|
LOWBSS: load = LOW, type = bss, optional = yes;
|
||||||
}
|
}
|
||||||
FEATURES {
|
FEATURES {
|
||||||
CONDES: type = constructor,
|
CONDES: type = constructor,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user