From: Oliver Schmidt Date: Mon, 7 Mar 2016 00:28:55 +0000 (+0100) Subject: Renamed RAM to MAIN for all disk based targets. X-Git-Tag: V2.16~173 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=d8c31cf1d3b724b83bd411736472e1c16fb1b0c0;p=cc65 Renamed RAM to MAIN for all disk based targets. The name RAM doesn't make much sense in general for a memeory area because i.e. the zero page is for sure RAM but is not part of the memory area named RAM. For disk based targets it makes sense to put the disk file more into focus and here MAIN means the main part of the file - in contrast to some header. Only for ROM based targets the name RAM is kept as it makes sense to focus on the difference between RAM and ROM. --- diff --git a/cfg/apple2-asm.cfg b/cfg/apple2-asm.cfg index 1e187764c..b9095cf0c 100644 --- a/cfg/apple2-asm.cfg +++ b/cfg/apple2-asm.cfg @@ -10,13 +10,13 @@ SYMBOLS { MEMORY { ZP: start = $0080, size = $001A, define = yes; HEADER: file = %O, start = $0000, size = $0004; - RAM: file = %O, start = %S, size = $C000 - %S; + MAIN: file = %O, start = %S, size = $C000 - %S; } SEGMENTS { ZEROPAGE: load = ZP, type = zp, optional = yes; EXEHDR: load = HEADER, type = ro, optional = yes; - CODE: load = RAM, type = rw, optional = yes, define = yes; - RODATA: load = RAM, type = ro, optional = yes; - DATA: load = RAM, type = rw, optional = yes; - BSS: load = RAM, type = bss, optional = yes, define = yes; + CODE: load = MAIN, type = rw, optional = yes, define = yes; + RODATA: load = MAIN, type = ro, optional = yes; + DATA: load = MAIN, type = rw, optional = yes; + BSS: load = MAIN, type = bss, optional = yes, define = yes; } diff --git a/cfg/apple2-overlay.cfg b/cfg/apple2-overlay.cfg index ef9103b49..1e34b6250 100644 --- a/cfg/apple2-overlay.cfg +++ b/cfg/apple2-overlay.cfg @@ -24,7 +24,7 @@ SYMBOLS { MEMORY { ZP: define = yes, start = $0080, size = $001A; HEADER: file = %O, start = $0000, size = $0004; - RAM: file = %O, start = %S + __OVERLAYSIZE__, size = __HIMEM__ - __STACKSIZE__ - __OVERLAYSIZE__ - %S; + MAIN: file = %O, start = %S + __OVERLAYSIZE__, size = __HIMEM__ - __STACKSIZE__ - __OVERLAYSIZE__ - %S; MOVE: file = %O, define = yes, start = $0000, size = $FFFF; LC: define = yes, start = __LCADDR__, size = __LCSIZE__; OVL1: file = "%O.1", start = %S, size = __OVERLAYSIZE__; @@ -38,26 +38,26 @@ MEMORY { OVL9: file = "%O.9", start = %S, size = __OVERLAYSIZE__; } SEGMENTS { - ZEROPAGE: load = ZP, type = zp; - EXEHDR: load = HEADER, type = ro; - STARTUP: load = RAM, type = ro, define = yes; - LOWCODE: load = RAM, type = ro, optional = yes; - CODE: load = RAM, type = ro; - RODATA: load = RAM, type = ro; - DATA: load = RAM, type = rw; - INIT: load = RAM, type = bss, define = yes; - BSS: load = RAM, type = bss, define = yes; - ONCE: load = MOVE, run = RAM, type = ro, define = yes, optional = yes; - LC: load = MOVE, run = LC, type = ro, 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; - OVERLAY4: load = OVL4, type = ro, define = yes, optional = yes; - OVERLAY5: load = OVL5, type = ro, define = yes, optional = yes; - OVERLAY6: load = OVL6, type = ro, define = yes, optional = yes; - OVERLAY7: load = OVL7, type = ro, define = yes, optional = yes; - OVERLAY8: load = OVL8, type = ro, define = yes, optional = yes; - OVERLAY9: load = OVL9, type = ro, define = yes, optional = yes; + ZEROPAGE: load = ZP, type = zp; + EXEHDR: load = HEADER, type = ro; + STARTUP: load = MAIN, type = ro, define = yes; + LOWCODE: load = MAIN, type = ro, optional = yes; + CODE: load = MAIN, type = ro; + RODATA: load = MAIN, type = ro; + DATA: load = MAIN, type = rw; + INIT: load = MAIN, type = bss, define = yes; + BSS: load = MAIN, type = bss, define = yes; + ONCE: load = MOVE, run = MAIN, type = ro, define = yes, optional = yes; + LC: load = MOVE, run = LC, type = ro, 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; + OVERLAY4: load = OVL4, type = ro, define = yes, optional = yes; + OVERLAY5: load = OVL5, type = ro, define = yes, optional = yes; + OVERLAY6: load = OVL6, type = ro, define = yes, optional = yes; + OVERLAY7: load = OVL7, type = ro, define = yes, optional = yes; + OVERLAY8: load = OVL8, type = ro, define = yes, optional = yes; + OVERLAY9: load = OVL9, type = ro, define = yes, optional = yes; } FEATURES { CONDES: type = constructor, diff --git a/cfg/apple2-system.cfg b/cfg/apple2-system.cfg index 52cad960f..960be378c 100644 --- a/cfg/apple2-system.cfg +++ b/cfg/apple2-system.cfg @@ -10,19 +10,19 @@ SYMBOLS { } MEMORY { ZP: define = yes, start = $0080, size = $001A; - RAM: file = %O, start = $2000, size = $9F00 - __STACKSIZE__; + MAIN: file = %O, start = $2000, size = $9F00 - __STACKSIZE__; MOVE: file = %O, define = yes, start = $0000, size = $FFFF; LC: define = yes, start = __LCADDR__, size = __LCSIZE__; } SEGMENTS { ZEROPAGE: load = ZP, type = zp; - STARTUP: load = RAM, type = ro, define = yes; - LOWCODE: load = RAM, type = ro, optional = yes; - CODE: load = RAM, type = ro; - RODATA: load = RAM, type = ro; - DATA: load = RAM, type = rw; - INIT: load = RAM, type = bss, define = yes; - BSS: load = RAM, type = bss, define = yes; + STARTUP: load = MAIN, type = ro, define = yes; + LOWCODE: load = MAIN, type = ro, optional = yes; + CODE: load = MAIN, type = ro; + RODATA: load = MAIN, type = ro; + DATA: load = MAIN, type = rw; + INIT: load = MAIN, type = bss, define = yes; + BSS: load = MAIN, type = bss, define = yes; ONCE: load = MOVE, run = RAM, type = ro, define = yes, optional = yes; LC: load = MOVE, run = LC, type = ro, optional = yes; } diff --git a/cfg/apple2.cfg b/cfg/apple2.cfg index 8e63090f5..875103041 100644 --- a/cfg/apple2.cfg +++ b/cfg/apple2.cfg @@ -16,22 +16,22 @@ SYMBOLS { MEMORY { ZP: define = yes, start = $0080, size = $001A; HEADER: file = %O, start = $0000, size = $0004; - RAM: file = %O, start = %S, size = __HIMEM__ - __STACKSIZE__ - %S; + MAIN: file = %O, start = %S, size = __HIMEM__ - __STACKSIZE__ - %S; MOVE: file = %O, define = yes, start = $0000, size = $FFFF; LC: define = yes, start = __LCADDR__, size = __LCSIZE__; } SEGMENTS { - ZEROPAGE: load = ZP, type = zp; - EXEHDR: load = HEADER, type = ro; - STARTUP: load = RAM, type = ro, define = yes; - LOWCODE: load = RAM, type = ro, optional = yes; - CODE: load = RAM, type = ro; - RODATA: load = RAM, type = ro; - DATA: load = RAM, type = rw; - INIT: load = RAM, type = bss, define = yes; - BSS: load = RAM, type = bss, define = yes; - ONCE: load = MOVE, run = RAM, type = ro, define = yes, optional = yes; - LC: load = MOVE, run = LC, type = ro, optional = yes; + ZEROPAGE: load = ZP, type = zp; + EXEHDR: load = HEADER, type = ro; + STARTUP: load = MAIN, type = ro, define = yes; + LOWCODE: load = MAIN, type = ro, optional = yes; + CODE: load = MAIN, type = ro; + RODATA: load = MAIN, type = ro; + DATA: load = MAIN, type = rw; + INIT: load = MAIN, type = bss, define = yes; + BSS: load = MAIN, type = bss, define = yes; + ONCE: load = MOVE, run = MAIN, type = ro, define = yes, optional = yes; + LC: load = MOVE, run = LC, type = ro, optional = yes; } FEATURES { CONDES: type = constructor, diff --git a/cfg/apple2enh-asm.cfg b/cfg/apple2enh-asm.cfg index e70ed4484..f7ede1bfe 100644 --- a/cfg/apple2enh-asm.cfg +++ b/cfg/apple2enh-asm.cfg @@ -9,12 +9,12 @@ SYMBOLS { } MEMORY { HEADER: file = %O, start = $0000, size = $0004; - RAM: file = %O, start = %S, size = $C000 - %S; + MAIN: file = %O, start = %S, size = $C000 - %S; } SEGMENTS { EXEHDR: load = HEADER, type = ro, optional = yes; - CODE: load = RAM, type = rw, optional = yes, define = yes; - RODATA: load = RAM, type = ro, optional = yes; - DATA: load = RAM, type = rw, optional = yes; - BSS: load = RAM, type = bss, optional = yes, define = yes; + CODE: load = MAIN, type = rw, optional = yes, define = yes; + RODATA: load = MAIN, type = ro, optional = yes; + DATA: load = MAIN, type = rw, optional = yes; + BSS: load = MAIN, type = bss, optional = yes, define = yes; } diff --git a/cfg/apple2enh-overlay.cfg b/cfg/apple2enh-overlay.cfg index ef9103b49..1e34b6250 100644 --- a/cfg/apple2enh-overlay.cfg +++ b/cfg/apple2enh-overlay.cfg @@ -24,7 +24,7 @@ SYMBOLS { MEMORY { ZP: define = yes, start = $0080, size = $001A; HEADER: file = %O, start = $0000, size = $0004; - RAM: file = %O, start = %S + __OVERLAYSIZE__, size = __HIMEM__ - __STACKSIZE__ - __OVERLAYSIZE__ - %S; + MAIN: file = %O, start = %S + __OVERLAYSIZE__, size = __HIMEM__ - __STACKSIZE__ - __OVERLAYSIZE__ - %S; MOVE: file = %O, define = yes, start = $0000, size = $FFFF; LC: define = yes, start = __LCADDR__, size = __LCSIZE__; OVL1: file = "%O.1", start = %S, size = __OVERLAYSIZE__; @@ -38,26 +38,26 @@ MEMORY { OVL9: file = "%O.9", start = %S, size = __OVERLAYSIZE__; } SEGMENTS { - ZEROPAGE: load = ZP, type = zp; - EXEHDR: load = HEADER, type = ro; - STARTUP: load = RAM, type = ro, define = yes; - LOWCODE: load = RAM, type = ro, optional = yes; - CODE: load = RAM, type = ro; - RODATA: load = RAM, type = ro; - DATA: load = RAM, type = rw; - INIT: load = RAM, type = bss, define = yes; - BSS: load = RAM, type = bss, define = yes; - ONCE: load = MOVE, run = RAM, type = ro, define = yes, optional = yes; - LC: load = MOVE, run = LC, type = ro, 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; - OVERLAY4: load = OVL4, type = ro, define = yes, optional = yes; - OVERLAY5: load = OVL5, type = ro, define = yes, optional = yes; - OVERLAY6: load = OVL6, type = ro, define = yes, optional = yes; - OVERLAY7: load = OVL7, type = ro, define = yes, optional = yes; - OVERLAY8: load = OVL8, type = ro, define = yes, optional = yes; - OVERLAY9: load = OVL9, type = ro, define = yes, optional = yes; + ZEROPAGE: load = ZP, type = zp; + EXEHDR: load = HEADER, type = ro; + STARTUP: load = MAIN, type = ro, define = yes; + LOWCODE: load = MAIN, type = ro, optional = yes; + CODE: load = MAIN, type = ro; + RODATA: load = MAIN, type = ro; + DATA: load = MAIN, type = rw; + INIT: load = MAIN, type = bss, define = yes; + BSS: load = MAIN, type = bss, define = yes; + ONCE: load = MOVE, run = MAIN, type = ro, define = yes, optional = yes; + LC: load = MOVE, run = LC, type = ro, 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; + OVERLAY4: load = OVL4, type = ro, define = yes, optional = yes; + OVERLAY5: load = OVL5, type = ro, define = yes, optional = yes; + OVERLAY6: load = OVL6, type = ro, define = yes, optional = yes; + OVERLAY7: load = OVL7, type = ro, define = yes, optional = yes; + OVERLAY8: load = OVL8, type = ro, define = yes, optional = yes; + OVERLAY9: load = OVL9, type = ro, define = yes, optional = yes; } FEATURES { CONDES: type = constructor, diff --git a/cfg/apple2enh-system.cfg b/cfg/apple2enh-system.cfg index 52cad960f..6134851f0 100644 --- a/cfg/apple2enh-system.cfg +++ b/cfg/apple2enh-system.cfg @@ -10,21 +10,21 @@ SYMBOLS { } MEMORY { ZP: define = yes, start = $0080, size = $001A; - RAM: file = %O, start = $2000, size = $9F00 - __STACKSIZE__; + MAIN: file = %O, start = $2000, size = $9F00 - __STACKSIZE__; MOVE: file = %O, define = yes, start = $0000, size = $FFFF; LC: define = yes, start = __LCADDR__, size = __LCSIZE__; } SEGMENTS { - ZEROPAGE: load = ZP, type = zp; - STARTUP: load = RAM, type = ro, define = yes; - LOWCODE: load = RAM, type = ro, optional = yes; - CODE: load = RAM, type = ro; - RODATA: load = RAM, type = ro; - DATA: load = RAM, type = rw; - INIT: load = RAM, type = bss, define = yes; - BSS: load = RAM, type = bss, define = yes; - ONCE: load = MOVE, run = RAM, type = ro, define = yes, optional = yes; - LC: load = MOVE, run = LC, type = ro, optional = yes; + ZEROPAGE: load = ZP, type = zp; + STARTUP: load = MAIN, type = ro, define = yes; + LOWCODE: load = MAIN, type = ro, optional = yes; + CODE: load = MAIN, type = ro; + RODATA: load = MAIN, type = ro; + DATA: load = MAIN, type = rw; + INIT: load = MAIN, type = bss, define = yes; + BSS: load = MAIN, type = bss, define = yes; + ONCE: load = MOVE, run = MAIN, type = ro, define = yes, optional = yes; + LC: load = MOVE, run = LC, type = ro, optional = yes; } FEATURES { CONDES: type = constructor, diff --git a/cfg/apple2enh.cfg b/cfg/apple2enh.cfg index 8e63090f5..875103041 100644 --- a/cfg/apple2enh.cfg +++ b/cfg/apple2enh.cfg @@ -16,22 +16,22 @@ SYMBOLS { MEMORY { ZP: define = yes, start = $0080, size = $001A; HEADER: file = %O, start = $0000, size = $0004; - RAM: file = %O, start = %S, size = __HIMEM__ - __STACKSIZE__ - %S; + MAIN: file = %O, start = %S, size = __HIMEM__ - __STACKSIZE__ - %S; MOVE: file = %O, define = yes, start = $0000, size = $FFFF; LC: define = yes, start = __LCADDR__, size = __LCSIZE__; } SEGMENTS { - ZEROPAGE: load = ZP, type = zp; - EXEHDR: load = HEADER, type = ro; - STARTUP: load = RAM, type = ro, define = yes; - LOWCODE: load = RAM, type = ro, optional = yes; - CODE: load = RAM, type = ro; - RODATA: load = RAM, type = ro; - DATA: load = RAM, type = rw; - INIT: load = RAM, type = bss, define = yes; - BSS: load = RAM, type = bss, define = yes; - ONCE: load = MOVE, run = RAM, type = ro, define = yes, optional = yes; - LC: load = MOVE, run = LC, type = ro, optional = yes; + ZEROPAGE: load = ZP, type = zp; + EXEHDR: load = HEADER, type = ro; + STARTUP: load = MAIN, type = ro, define = yes; + LOWCODE: load = MAIN, type = ro, optional = yes; + CODE: load = MAIN, type = ro; + RODATA: load = MAIN, type = ro; + DATA: load = MAIN, type = rw; + INIT: load = MAIN, type = bss, define = yes; + BSS: load = MAIN, type = bss, define = yes; + ONCE: load = MOVE, run = MAIN, type = ro, define = yes, optional = yes; + LC: load = MOVE, run = LC, type = ro, optional = yes; } FEATURES { CONDES: type = constructor, diff --git a/cfg/atari-asm.cfg b/cfg/atari-asm.cfg index 4ff7c3173..bea547765 100644 --- a/cfg/atari-asm.cfg +++ b/cfg/atari-asm.cfg @@ -2,29 +2,29 @@ FEATURES { STARTADDRESS: default = $2E00; } SYMBOLS { - __EXEHDR__: type = import; - __AUTOSTART__: type = import; # force inclusion of autostart "trailer" - __STARTADDRESS__: type = export, value = %S; + __EXEHDR__: type = import; + __AUTOSTART__: type = import; # force inclusion of autostart "trailer" + __STARTADDRESS__: type = export, value = %S; } MEMORY { - ZP: file = "", define = yes, start = $0082, size = $007E; + ZP: file = "", define = yes, start = $0082, size = $007E; # file header, just $FFFF - HEADER: file = %O, start = $0000, size = $0002; + HEADER: file = %O, start = $0000, size = $0002; # "main program" load chunk - MAINHDR: file = %O, start = $0000, size = $0004; - RAM: file = %O, define = yes, start = %S, size = $BC20 - %S; - TRAILER: file = %O, start = $0000, size = $0006; + MAINHDR: file = %O, start = $0000, size = $0004; + MAIN: file = %O, define = yes, start = %S, size = $BC20 - %S; + TRAILER: file = %O, start = $0000, size = $0006; } SEGMENTS { - EXEHDR: load = HEADER, type = ro, optional = yes; - MAINHDR: load = MAINHDR, type = ro, optional = yes; - CODE: load = RAM, type = ro, define = yes, optional = yes; - RODATA: load = RAM, type = ro optional = yes; - DATA: load = RAM, type = rw optional = yes; - BSS: load = RAM, type = bss, define = yes, optional = yes; - ZEROPAGE: load = ZP, type = zp, optional = yes; - EXTZP: load = ZP, type = zp, optional = yes; # to enable modules to be able to link to C and assembler programs - AUTOSTRT: load = TRAILER, type = ro, optional = yes; + ZEROPAGE: load = ZP, type = zp, optional = yes; + EXTZP: load = ZP, type = zp, optional = yes; # to enable modules to be able to link to C and assembler programs + EXEHDR: load = HEADER, type = ro, optional = yes; + MAINHDR: load = MAINHDR, type = ro, optional = yes; + CODE: load = MAIN, type = ro, define = yes, optional = yes; + RODATA: load = MAIN, type = ro optional = yes; + DATA: load = MAIN, type = rw optional = yes; + BSS: load = MAIN, type = bss, define = yes, optional = yes; + AUTOSTRT: load = TRAILER, type = ro, optional = yes; } diff --git a/cfg/atari-cart.cfg b/cfg/atari-cart.cfg index 09bf86761..31d2cb1b9 100644 --- a/cfg/atari-cart.cfg +++ b/cfg/atari-cart.cfg @@ -10,23 +10,23 @@ SYMBOLS { __CARTFLAGS__: type = weak, value = $01; # see documentation for other possible values } MEMORY { - ZP: file = "", define = yes, start = $0082, size = $007E; - RAM: file = "", define = yes, start = %S, size = __CARTSIZE__; - ROM: file = %O, define = yes, start = $C000 - __CARTSIZE__, size = __CARTSIZE__ - 6, fill = yes, fillval = $FF; - CARTID: file = %O, start = $BFFA, size = $0006; + ZP: file = "", define = yes, start = $0082, size = $007E; + MAIN: file = "", define = yes, start = %S, size = __CARTSIZE__; + ROM: file = %O, define = yes, start = $C000 - __CARTSIZE__, size = __CARTSIZE__ - 6, fill = yes, fillval = $FF; + CARTID: file = %O, start = $BFFA, size = $0006; } SEGMENTS { - ZEROPAGE: load = ZP, type = zp, optional = yes; - EXTZP: load = ZP, type = zp, optional = yes; - STARTUP: load = ROM, type = ro, define = yes, optional = yes; - LOWCODE: load = ROM, type = ro, define = yes, optional = yes; - ONCE: load = ROM, type = ro, optional = yes; - CODE: load = ROM, type = ro, define = yes; - RODATA: load = ROM, type = ro, optional = yes; - DATA: load = ROM, run = RAM, type = rw, define = yes, optional = yes; - INIT: load = RAM, type = bss, optional = yes; - BSS: load = RAM, type = bss, define = yes, optional = yes; - CARTHDR: load = CARTID, type = ro; + ZEROPAGE: load = ZP, type = zp, optional = yes; + EXTZP: load = ZP, type = zp, optional = yes; + STARTUP: load = ROM, type = ro, define = yes, optional = yes; + LOWCODE: load = ROM, type = ro, define = yes, optional = yes; + ONCE: load = ROM, type = ro, optional = yes; + CODE: load = ROM, type = ro, define = yes; + RODATA: load = ROM, type = ro, optional = yes; + DATA: load = ROM, run = MAIN, type = rw, define = yes, optional = yes; + INIT: load = MAIN, type = bss, optional = yes; + BSS: load = MAIN, type = bss, define = yes, optional = yes; + CARTHDR: load = CARTID, type = ro; } FEATURES { CONDES: type = constructor, diff --git a/cfg/atari-cassette.cfg b/cfg/atari-cassette.cfg index ad68bb8b4..b138b8f0e 100644 --- a/cfg/atari-cassette.cfg +++ b/cfg/atari-cassette.cfg @@ -8,21 +8,21 @@ SYMBOLS { _cas_hdr: type = import; } MEMORY { - ZP: file = "", define = yes, start = $0082, size = $007E; - RAM: file = %O, define = yes, start = %S, size = $BC20 - __STACKSIZE__ - __RESERVED_MEMORY__ - %S; + ZP: file = "", define = yes, start = $0082, size = $007E; + MAIN: file = %O, define = yes, start = %S, size = $BC20 - __STACKSIZE__ - __RESERVED_MEMORY__ - %S; } SEGMENTS { - ZEROPAGE: load = ZP, type = zp, optional = yes; - EXTZP: load = ZP, type = zp, optional = yes; - CASHDR: load = RAM, type = ro; - STARTUP: load = RAM, type = ro, define = yes, optional = yes; - LOWCODE: load = RAM, type = ro, define = yes, optional = yes; - ONCE: load = RAM, type = ro, optional = yes; - CODE: load = RAM, type = ro, define = yes; - RODATA: load = RAM, type = ro, optional = yes; - DATA: load = RAM, type = rw, optional = yes; - INIT: load = RAM, type = bss, optional = yes; - BSS: load = RAM, type = bss, define = yes, optional = yes; + ZEROPAGE: load = ZP, type = zp, optional = yes; + EXTZP: load = ZP, type = zp, optional = yes; + CASHDR: load = MAIN, type = ro; + STARTUP: load = MAIN, type = ro, define = yes, optional = yes; + LOWCODE: load = MAIN, type = ro, define = yes, optional = yes; + ONCE: load = MAIN, type = ro, optional = yes; + CODE: load = MAIN, type = ro, define = yes; + RODATA: load = MAIN, type = ro, optional = yes; + DATA: load = MAIN, type = rw, optional = yes; + INIT: load = MAIN, type = bss, optional = yes; + BSS: load = MAIN, type = bss, define = yes, optional = yes; } FEATURES { CONDES: type = constructor, diff --git a/cfg/atari-overlay.cfg b/cfg/atari-overlay.cfg index b14a93a39..1dec49b7d 100644 --- a/cfg/atari-overlay.cfg +++ b/cfg/atari-overlay.cfg @@ -11,31 +11,31 @@ SYMBOLS { __RESERVED_MEMORY__: type = weak, value = $0000; } MEMORY { - ZP: file = "", define = yes, start = $0082, size = $007E; + ZP: file = "", define = yes, start = $0082, size = $007E; # file header, just $FFFF - HEADER: file = %O, start = $0000, size = $0002; + HEADER: file = %O, start = $0000, size = $0002; # "system check" load chunk - SYSCHKHDR: file = %O, start = $0000, size = $0004; - SYSCHKCHNK: file = %O, start = $2E00, size = $0300; - SYSCHKTRL: file = %O, start = $0000, size = $0006; + SYSCHKHDR: file = %O, start = $0000, size = $0004; + SYSCHKCHNK: file = %O, start = $2E00, size = $0300; + SYSCHKTRL: file = %O, start = $0000, size = $0006; # "main program" load chunk - MAINHDR: file = %O, start = $0000, size = $0004; - RAM: file = %O, define = yes, start = %S + __OVERLAYSIZE__, + MAINHDR: file = %O, start = $0000, size = $0004; + MAIN: file = %O, define = yes, start = %S + __OVERLAYSIZE__, size = $BC20 - __OVERLAYSIZE__ - __STACKSIZE__ - __RESERVED_MEMORY__ - %S; - TRAILER: file = %O, start = $0000, size = $0006; + TRAILER: file = %O, start = $0000, size = $0006; - OVL1: file = "%O.1", start = %S, size = __OVERLAYSIZE__; - OVL2: file = "%O.2", start = %S, size = __OVERLAYSIZE__; - OVL3: file = "%O.3", start = %S, size = __OVERLAYSIZE__; - OVL4: file = "%O.4", start = %S, size = __OVERLAYSIZE__; - OVL5: file = "%O.5", start = %S, size = __OVERLAYSIZE__; - OVL6: file = "%O.6", start = %S, size = __OVERLAYSIZE__; - OVL7: file = "%O.7", start = %S, size = __OVERLAYSIZE__; - OVL8: file = "%O.8", start = %S, size = __OVERLAYSIZE__; - OVL9: file = "%O.9", start = %S, size = __OVERLAYSIZE__; + OVL1: file = "%O.1", start = %S, size = __OVERLAYSIZE__; + OVL2: file = "%O.2", start = %S, size = __OVERLAYSIZE__; + OVL3: file = "%O.3", start = %S, size = __OVERLAYSIZE__; + OVL4: file = "%O.4", start = %S, size = __OVERLAYSIZE__; + OVL5: file = "%O.5", start = %S, size = __OVERLAYSIZE__; + OVL6: file = "%O.6", start = %S, size = __OVERLAYSIZE__; + OVL7: file = "%O.7", start = %S, size = __OVERLAYSIZE__; + OVL8: file = "%O.8", start = %S, size = __OVERLAYSIZE__; + OVL9: file = "%O.9", start = %S, size = __OVERLAYSIZE__; } SEGMENTS { ZEROPAGE: load = ZP, type = zp; @@ -45,14 +45,14 @@ SEGMENTS { SYSCHK: load = SYSCHKCHNK, type = rw, define = yes, optional = yes; SYSCHKTRL: load = SYSCHKTRL, type = ro, optional = yes; MAINHDR: load = MAINHDR, type = ro; - STARTUP: load = RAM, type = ro, define = yes; - LOWCODE: load = RAM, type = ro, define = yes, optional = yes; - ONCE: load = RAM, type = ro, optional = yes; - CODE: load = RAM, type = ro, define = yes; - RODATA: load = RAM, type = ro; - DATA: load = RAM, type = rw; - INIT: load = RAM, type = bss, optional = yes; - BSS: load = RAM, type = bss, define = yes; + STARTUP: load = MAIN, type = ro, define = yes; + LOWCODE: load = MAIN, type = ro, define = yes, optional = yes; + ONCE: load = MAIN, type = ro, optional = yes; + CODE: load = MAIN, type = ro, define = yes; + RODATA: load = MAIN, type = ro; + DATA: load = MAIN, type = rw; + INIT: load = MAIN, type = bss, optional = yes; + BSS: load = MAIN, type = bss, define = yes; AUTOSTRT: load = TRAILER, type = ro; OVERLAY1: load = OVL1, type = ro, define = yes, optional = yes; OVERLAY2: load = OVL2, type = ro, define = yes, optional = yes; diff --git a/cfg/atari.cfg b/cfg/atari.cfg index 7460a0f66..959a07e4c 100644 --- a/cfg/atari.cfg +++ b/cfg/atari.cfg @@ -10,20 +10,20 @@ SYMBOLS { __RESERVED_MEMORY__: type = weak, value = $0000; } MEMORY { - ZP: file = "", define = yes, start = $0082, size = $007E; + ZP: file = "", define = yes, start = $0082, size = $007E; # file header, just $FFFF - HEADER: file = %O, start = $0000, size = $0002; + HEADER: file = %O, start = $0000, size = $0002; # "system check" load chunk - SYSCHKHDR: file = %O, start = $0000, size = $0004; - SYSCHKCHNK: file = %O, start = $2E00, size = $0300; - SYSCHKTRL: file = %O, start = $0000, size = $0006; + SYSCHKHDR: file = %O, start = $0000, size = $0004; + SYSCHKCHNK: file = %O, start = $2E00, size = $0300; + SYSCHKTRL: file = %O, start = $0000, size = $0006; # "main program" load chunk - MAINHDR: file = %O, start = $0000, size = $0004; - RAM: file = %O, define = yes, start = %S, size = $BC20 - __STACKSIZE__ - __RESERVED_MEMORY__ - %S; - TRAILER: file = %O, start = $0000, size = $0006; + MAINHDR: file = %O, start = $0000, size = $0004; + MAIN: file = %O, define = yes, start = %S, size = $BC20 - __STACKSIZE__ - __RESERVED_MEMORY__ - %S; + TRAILER: file = %O, start = $0000, size = $0006; } SEGMENTS { ZEROPAGE: load = ZP, type = zp; @@ -33,14 +33,14 @@ SEGMENTS { SYSCHK: load = SYSCHKCHNK, type = rw, define = yes, optional = yes; SYSCHKTRL: load = SYSCHKTRL, type = ro, optional = yes; MAINHDR: load = MAINHDR, type = ro; - STARTUP: load = RAM, type = ro, define = yes; - LOWCODE: load = RAM, type = ro, define = yes, optional = yes; - ONCE: load = RAM, type = ro, optional = yes; - CODE: load = RAM, type = ro, define = yes; - RODATA: load = RAM, type = ro; - DATA: load = RAM, type = rw; - INIT: load = RAM, type = bss, optional = yes; - BSS: load = RAM, type = bss, define = yes; + STARTUP: load = MAIN, type = ro, define = yes; + LOWCODE: load = MAIN, type = ro, define = yes, optional = yes; + ONCE: load = MAIN, type = ro, optional = yes; + CODE: load = MAIN, type = ro, define = yes; + RODATA: load = MAIN, type = ro; + DATA: load = MAIN, type = rw; + INIT: load = MAIN, type = bss, optional = yes; + BSS: load = MAIN, type = bss, define = yes; AUTOSTRT: load = TRAILER, type = ro; } FEATURES { diff --git a/cfg/atarixl-largehimem.cfg b/cfg/atarixl-largehimem.cfg index a1ec5cf08..94405fce2 100644 --- a/cfg/atarixl-largehimem.cfg +++ b/cfg/atarixl-largehimem.cfg @@ -8,45 +8,45 @@ FEATURES { } SYMBOLS { - __EXEHDR__: type = import; - __SYSTEM_CHECK__: type = import; # force inclusion of "system check" load chunk - __AUTOSTART__: type = import; # force inclusion of autostart "trailer" - __STACKSIZE__: type = weak, value = $0800; # 2k stack - __STARTADDRESS__: type = export, value = %S; + __EXEHDR__: type = import; + __SYSTEM_CHECK__: type = import; # force inclusion of "system check" load chunk + __AUTOSTART__: type = import; # force inclusion of autostart "trailer" + __STACKSIZE__: type = weak, value = $0800; # 2k stack + __STARTADDRESS__: type = export, value = %S; } MEMORY { - ZP: file = "", define = yes, start = $0082, size = $007E; + ZP: file = "", define = yes, start = $0082, size = $007E; # just $FFFF - HEADER: file = %O, start = $0000, size = $0002; + HEADER: file = %O, start = $0000, size = $0002; # "system check" load chunk - SYSCHKHDR: file = %O, start = $0000, size = $0004; - SYSCHKCHNK: file = %O, start = $2E00, size = $0300; - SYSCHKTRL: file = %O, start = $0000, size = $0006; + SYSCHKHDR: file = %O, start = $0000, size = $0004; + SYSCHKCHNK: file = %O, start = $2E00, size = $0300; + SYSCHKTRL: file = %O, start = $0000, size = $0006; # "shadow RAM preparation" load chunk - SRPREPHDR: file = %O, start = $0000, size = $0004; - SRPREPCHNK: file = %O, define = yes, start = %S, size = $7C20 - %S - $07FF; # $07FF: space for temp. chargen buffer, 1K aligned - SRPREPTRL: file = %O, start = $0000, size = $0006; + SRPREPHDR: file = %O, start = $0000, size = $0004; + SRPREPCHNK: file = %O, define = yes, start = %S, size = $7C20 - %S - $07FF; # $07FF: space for temp. chargen buffer, 1K aligned + SRPREPTRL: file = %O, start = $0000, size = $0006; # "main program" load chunk - MAINHDR: file = %O, start = $0000, size = $0004; - RAM: file = %O, define = yes, start = %S + - __LOWBSS_SIZE__, size = $D000 - - __STACKSIZE__ - - %S - - __LOWBSS_SIZE__; + MAINHDR: file = %O, start = $0000, size = $0004; + MAIN: file = %O, define = yes, start = %S + + __LOWBSS_SIZE__, size = $D000 - + __STACKSIZE__ - + %S - + __LOWBSS_SIZE__; # defines entry point into program - TRAILER: file = %O, start = $0000, size = $0006; + TRAILER: file = %O, start = $0000, size = $0006; # address of relocated character generator - CHARGEN: file = "", define = yes, start = $D800, size = $0400; + CHARGEN: file = "", define = yes, start = $D800, size = $0400; # memory beneath the ROM - HIDDEN_RAM: file = "", define = yes, start = $DC00, size = $FFFA - $DC00; + HIDDEN_RAM: file = "", define = yes, start = $DC00, size = $FFFA - $DC00; } SEGMENTS { @@ -67,14 +67,14 @@ SEGMENTS { SRPREPTRL: load = SRPREPTRL, type = ro; MAINHDR: load = MAINHDR, type = ro; - STARTUP: load = RAM, type = ro, define = yes; - LOWCODE: load = RAM, type = ro, define = yes, optional = yes; - ONCE: load = RAM, type = ro, optional = yes; - CODE: load = RAM, type = ro, define = yes; - RODATA: load = RAM, type = ro; - DATA: load = RAM, type = rw; - INIT: load = RAM, type = bss, optional = yes; - BSS: load = RAM, type = bss, define = yes; + STARTUP: load = MAIN, type = ro, define = yes; + LOWCODE: load = MAIN, type = ro, define = yes, optional = yes; + ONCE: load = MAIN, type = ro, optional = yes; + CODE: load = MAIN, type = ro, define = yes; + RODATA: load = MAIN, type = ro; + DATA: load = MAIN, type = rw; + INIT: load = MAIN, type = bss, optional = yes; + BSS: load = MAIN, type = bss, define = yes; AUTOSTRT: load = TRAILER, type = ro; } FEATURES { diff --git a/cfg/atarixl-overlay.cfg b/cfg/atarixl-overlay.cfg index b0b4f3b88..89240170b 100644 --- a/cfg/atarixl-overlay.cfg +++ b/cfg/atarixl-overlay.cfg @@ -3,62 +3,62 @@ FEATURES { } SYMBOLS { - __EXEHDR__: type = import; - __SYSTEM_CHECK__: type = import; # force inclusion of "system check" load chunk - __AUTOSTART__: type = import; # force inclusion of autostart "trailer" - __STACKSIZE__: type = weak, value = $0800; # 2k stack - __OVERLAYSIZE__: type = weak, value = $1000; # 4k overlay - __STARTADDRESS__: type = export, value = %S; + __EXEHDR__: type = import; + __SYSTEM_CHECK__: type = import; # force inclusion of "system check" load chunk + __AUTOSTART__: type = import; # force inclusion of autostart "trailer" + __STACKSIZE__: type = weak, value = $0800; # 2k stack + __OVERLAYSIZE__: type = weak, value = $1000; # 4k overlay + __STARTADDRESS__: type = export, value = %S; } MEMORY { - ZP: file = "", define = yes, start = $0082, size = $007E; + ZP: file = "", define = yes, start = $0082, size = $007E; # just $FFFF - HEADER: file = %O, start = $0000, size = $0002; + HEADER: file = %O, start = $0000, size = $0002; # "system check" load chunk - SYSCHKHDR: file = %O, start = $0000, size = $0004; - SYSCHKCHNK: file = %O, start = $2E00, size = $0300; - SYSCHKTRL: file = %O, start = $0000, size = $0006; + SYSCHKHDR: file = %O, start = $0000, size = $0004; + SYSCHKCHNK: file = %O, start = $2E00, size = $0300; + SYSCHKTRL: file = %O, start = $0000, size = $0006; # "shadow RAM preparation" load chunk - SRPREPHDR: file = %O, start = $0000, size = $0004; - SRPREPCHNK: file = %O, define = yes, start = %S + __OVERLAYSIZE__, size = $7C20 - %S - __OVERLAYSIZE__ - $07FF; # $07FF: space for temp. chargen buffer, 1K aligned - SRPREPTRL: file = %O, start = $0000, size = $0006; + SRPREPHDR: file = %O, start = $0000, size = $0004; + SRPREPCHNK: file = %O, define = yes, start = %S + __OVERLAYSIZE__, size = $7C20 - %S - __OVERLAYSIZE__ - $07FF; # $07FF: space for temp. chargen buffer, 1K aligned + SRPREPTRL: file = %O, start = $0000, size = $0006; # "main program" load chunk - MAINHDR: file = %O, start = $0000, size = $0004; - RAM: file = %O, define = yes, start = %S + - __OVERLAYSIZE__ + - __LOWBSS_SIZE__, size = $D000 - - __STACKSIZE__ - - %S - - __OVERLAYSIZE__ - - __LOWBSS_SIZE__; + MAINHDR: file = %O, start = $0000, size = $0004; + MAIN: file = %O, define = yes, start = %S + + __OVERLAYSIZE__ + + __LOWBSS_SIZE__, size = $D000 - + __STACKSIZE__ - + %S - + __OVERLAYSIZE__ - + __LOWBSS_SIZE__; # defines entry point into program - TRAILER: file = %O, start = $0000, size = $0006; + TRAILER: file = %O, start = $0000, size = $0006; # memory beneath the ROM preceeding the character generator - HIDDEN_RAM2: file = "", define = yes, start = $D800, size = $0800; + HIDDEN_RAM2: file = "", define = yes, start = $D800, size = $0800; # address of relocated character generator (same addess as ROM version) - CHARGEN: file = "", define = yes, start = $E000, size = $0400; + CHARGEN: file = "", define = yes, start = $E000, size = $0400; # memory beneath the ROM - HIDDEN_RAM: file = "", define = yes, start = $E400, size = $FFFA - $E400; + HIDDEN_RAM: file = "", define = yes, start = $E400, size = $FFFA - $E400; # overlays - OVL1: file = "%O.1", start = %S, size = __OVERLAYSIZE__; - OVL2: file = "%O.2", start = %S, size = __OVERLAYSIZE__; - OVL3: file = "%O.3", start = %S, size = __OVERLAYSIZE__; - OVL4: file = "%O.4", start = %S, size = __OVERLAYSIZE__; - OVL5: file = "%O.5", start = %S, size = __OVERLAYSIZE__; - OVL6: file = "%O.6", start = %S, size = __OVERLAYSIZE__; - OVL7: file = "%O.7", start = %S, size = __OVERLAYSIZE__; - OVL8: file = "%O.8", start = %S, size = __OVERLAYSIZE__; - OVL9: file = "%O.9", start = %S, size = __OVERLAYSIZE__; + OVL1: file = "%O.1", start = %S, size = __OVERLAYSIZE__; + OVL2: file = "%O.2", start = %S, size = __OVERLAYSIZE__; + OVL3: file = "%O.3", start = %S, size = __OVERLAYSIZE__; + OVL4: file = "%O.4", start = %S, size = __OVERLAYSIZE__; + OVL5: file = "%O.5", start = %S, size = __OVERLAYSIZE__; + OVL6: file = "%O.6", start = %S, size = __OVERLAYSIZE__; + OVL7: file = "%O.7", start = %S, size = __OVERLAYSIZE__; + OVL8: file = "%O.8", start = %S, size = __OVERLAYSIZE__; + OVL9: file = "%O.9", start = %S, size = __OVERLAYSIZE__; } SEGMENTS { @@ -79,14 +79,14 @@ SEGMENTS { SRPREPTRL: load = SRPREPTRL, type = ro; MAINHDR: load = MAINHDR, type = ro; - STARTUP: load = RAM, type = ro, define = yes; - LOWCODE: load = RAM, type = ro, define = yes, optional = yes; - ONCE: load = RAM, type = ro, optional = yes; - CODE: load = RAM, type = ro, define = yes; - RODATA: load = RAM, type = ro; - DATA: load = RAM, type = rw; - INIT: load = RAM, type = bss, optional = yes; - BSS: load = RAM, type = bss, define = yes; + STARTUP: load = MAIN, type = ro, define = yes; + LOWCODE: load = MAIN, type = ro, define = yes, optional = yes; + ONCE: load = MAIN, type = ro, optional = yes; + CODE: load = MAIN, type = ro, define = yes; + RODATA: load = MAIN, type = ro; + DATA: load = MAIN, type = rw; + INIT: load = MAIN, type = bss, optional = yes; + BSS: load = MAIN, type = bss, define = yes; AUTOSTRT: load = TRAILER, type = ro; OVERLAY1: load = OVL1, type = ro, define = yes, optional = yes; diff --git a/cfg/atarixl.cfg b/cfg/atarixl.cfg index 2f9523c59..9573fc78c 100644 --- a/cfg/atarixl.cfg +++ b/cfg/atarixl.cfg @@ -3,48 +3,48 @@ FEATURES { } SYMBOLS { - __EXEHDR__: type = import; - __SYSTEM_CHECK__: type = import; # force inclusion of "system check" load chunk - __AUTOSTART__: type = import; # force inclusion of autostart "trailer" - __STACKSIZE__: type = weak, value = $0800; # 2k stack - __STARTADDRESS__: type = export, value = %S; + __EXEHDR__: type = import; + __SYSTEM_CHECK__: type = import; # force inclusion of "system check" load chunk + __AUTOSTART__: type = import; # force inclusion of autostart "trailer" + __STACKSIZE__: type = weak, value = $0800; # 2k stack + __STARTADDRESS__: type = export, value = %S; } MEMORY { - ZP: file = "", define = yes, start = $0082, size = $007E; + ZP: file = "", define = yes, start = $0082, size = $007E; # just $FFFF - HEADER: file = %O, start = $0000, size = $0002; + HEADER: file = %O, start = $0000, size = $0002; # "system check" load chunk - SYSCHKHDR: file = %O, start = $0000, size = $0004; - SYSCHKCHNK: file = %O, start = $2E00, size = $0300; - SYSCHKTRL: file = %O, start = $0000, size = $0006; + SYSCHKHDR: file = %O, start = $0000, size = $0004; + SYSCHKCHNK: file = %O, start = $2E00, size = $0300; + SYSCHKTRL: file = %O, start = $0000, size = $0006; # "shadow RAM preparation" load chunk - SRPREPHDR: file = %O, start = $0000, size = $0004; - SRPREPCHNK: file = %O, define = yes, start = %S, size = $7C20 - %S - $07FF; # $07FF: space for temp. chargen buffer, 1K aligned - SRPREPTRL: file = %O, start = $0000, size = $0006; + SRPREPHDR: file = %O, start = $0000, size = $0004; + SRPREPCHNK: file = %O, define = yes, start = %S, size = $7C20 - %S - $07FF; # $07FF: space for temp. chargen buffer, 1K aligned + SRPREPTRL: file = %O, start = $0000, size = $0006; # "main program" load chunk - MAINHDR: file = %O, start = $0000, size = $0004; - RAM: file = %O, define = yes, start = %S + - __LOWBSS_SIZE__, size = $D000 - - __STACKSIZE__ - - %S - - __LOWBSS_SIZE__; + MAINHDR: file = %O, start = $0000, size = $0004; + MAIN: file = %O, define = yes, start = %S + + __LOWBSS_SIZE__, size = $D000 - + __STACKSIZE__ - + %S - + __LOWBSS_SIZE__; # defines entry point into program - TRAILER: file = %O, start = $0000, size = $0006; + TRAILER: file = %O, start = $0000, size = $0006; # memory beneath the ROM preceeding the character generator - HIDDEN_RAM2: file = "", define = yes, start = $D800, size = $0800; + HIDDEN_RAM2: file = "", define = yes, start = $D800, size = $0800; # address of relocated character generator (same addess as ROM version) - CHARGEN: file = "", define = yes, start = $E000, size = $0400; + CHARGEN: file = "", define = yes, start = $E000, size = $0400; # memory beneath the ROM - HIDDEN_RAM: file = "", define = yes, start = $E400, size = $FFFA - $E400; + HIDDEN_RAM: file = "", define = yes, start = $E400, size = $FFFA - $E400; } SEGMENTS { @@ -65,14 +65,14 @@ SEGMENTS { SRPREPTRL: load = SRPREPTRL, type = ro; MAINHDR: load = MAINHDR, type = ro; - STARTUP: load = RAM, type = ro, define = yes; - LOWCODE: load = RAM, type = ro, define = yes, optional = yes; - ONCE: load = RAM, type = ro, optional = yes; - CODE: load = RAM, type = ro, define = yes; - RODATA: load = RAM, type = ro; - DATA: load = RAM, type = rw; - INIT: load = RAM, type = bss, optional = yes; - BSS: load = RAM, type = bss, define = yes; + STARTUP: load = MAIN, type = ro, define = yes; + LOWCODE: load = MAIN, type = ro, define = yes, optional = yes; + ONCE: load = MAIN, type = ro, optional = yes; + CODE: load = MAIN, type = ro, define = yes; + RODATA: load = MAIN, type = ro; + DATA: load = MAIN, type = rw; + INIT: load = MAIN, type = bss, optional = yes; + BSS: load = MAIN, type = bss, define = yes; AUTOSTRT: load = TRAILER, type = ro; } FEATURES { diff --git a/cfg/atmos.cfg b/cfg/atmos.cfg index a0f7e1c3d..e5a574f0a 100644 --- a/cfg/atmos.cfg +++ b/cfg/atmos.cfg @@ -11,21 +11,21 @@ MEMORY { ZP: file = "", define = yes, start = $00E2, size = $001A; TAPEHDR: file = %O, type = ro, start = $0000, size = $001F; BASHEAD: file = %O, define = yes, start = $0501, size = $000D; - RAM: file = %O, define = yes, start = __BASHEAD_LAST__, size = __RAMEND__ - __RAM_START__ - __STACKSIZE__; + MAIN: file = %O, define = yes, start = __BASHEAD_LAST__, size = __RAMEND__ - __RAM_START__ - __STACKSIZE__; } SEGMENTS { ZEROPAGE: load = ZP, type = zp; TAPEHDR: load = TAPEHDR, type = ro; BASHDR: load = BASHEAD, type = ro, define = yes, optional = yes; - STARTUP: load = RAM, type = ro; - LOWCODE: load = RAM, type = ro, optional = yes; - CODE: load = RAM, type = ro; - RODATA: load = RAM, type = ro; - ONCE: load = RAM, type = ro, define = yes, optional = yes; - DATA: load = RAM, type = rw; - ZPSAVE1: load = RAM, type = rw, define = yes; # ZPSAVE1, ZPSAVE2 must be together - ZPSAVE2: load = RAM, type = bss; # see "libsrc/atmos/crt0.s" - BSS: load = RAM, type = bss, define = yes; + STARTUP: load = MAIN, type = ro; + LOWCODE: load = MAIN, type = ro, optional = yes; + CODE: load = MAIN, type = ro; + RODATA: load = MAIN, type = ro; + ONCE: load = MAIN, type = ro, define = yes, optional = yes; + DATA: load = MAIN, type = rw; + ZPSAVE1: load = MAIN, type = rw, define = yes; # ZPSAVE1, ZPSAVE2 must be together + ZPSAVE2: load = MAIN, type = bss; # see "libsrc/atmos/crt0.s" + BSS: load = MAIN, type = bss, define = yes; } FEATURES { CONDES: type = constructor, diff --git a/cfg/bbc.cfg b/cfg/bbc.cfg index 98779b6fd..c451951ad 100644 --- a/cfg/bbc.cfg +++ b/cfg/bbc.cfg @@ -2,18 +2,18 @@ SYMBOLS { __STACKSIZE__: type = weak, value = $0800; # 2k stack } MEMORY { - ZP: file = "", define = yes, start = $0070, size = $0020; - RAM: file = %O, start = $0E00, size = $7200 - __STACKSIZE__; + ZP: file = "", define = yes, start = $0070, size = $0020; + MAIN: file = %O, start = $0E00, size = $7200 - __STACKSIZE__; } SEGMENTS { - ZEROPAGE: load = ZP, type = zp; - STARTUP: load = RAM, type = ro, define = yes; - LOWCODE: load = RAM, type = ro, optional = yes; - ONCE: load = RAM, type = ro, define = yes, optional = yes; - CODE: load = RAM, type = ro; - RODATA: load = RAM, type = ro; - DATA: load = RAM, type = rw; - BSS: load = RAM, type = bss, define = yes; + ZEROPAGE: load = ZP, type = zp; + STARTUP: load = MAIN, type = ro, define = yes; + LOWCODE: load = MAIN, type = ro, optional = yes; + ONCE: load = MAIN, type = ro, define = yes, optional = yes; + CODE: load = MAIN, type = ro; + RODATA: load = MAIN, type = ro; + DATA: load = MAIN, type = rw; + BSS: load = MAIN, type = bss, define = yes; } FEATURES { CONDES: type = constructor, diff --git a/cfg/c128-overlay.cfg b/cfg/c128-overlay.cfg index 771bd290b..8f60fa347 100644 --- a/cfg/c128-overlay.cfg +++ b/cfg/c128-overlay.cfg @@ -9,7 +9,7 @@ MEMORY { ZP: file = "", define = yes, start = $0002, size = $001A; LOADADDR: file = %O, start = $1BFF, size = $0002; HEADER: file = %O, start = $1C01, size = $000C; - RAM: file = %O, define = yes, start = $1C0D, size = $A3F3 - __OVERLAYSIZE__ - __STACKSIZE__; + MAIN: file = %O, define = yes, start = $1C0D, size = $A3F3 - __OVERLAYSIZE__ - __STACKSIZE__; OVL1ADDR: file = "%O.1", start = $BFFE - __OVERLAYSIZE__, size = $0002; OVL1: file = "%O.1", start = $C000 - __OVERLAYSIZE__, size = __OVERLAYSIZE__; OVL2ADDR: file = "%O.2", start = $BFFE - __OVERLAYSIZE__, size = $0002; @@ -33,14 +33,14 @@ SEGMENTS { ZEROPAGE: load = ZP, type = zp; LOADADDR: load = LOADADDR, type = ro; EXEHDR: load = HEADER, type = ro; - STARTUP: load = RAM, type = ro; - LOWCODE: load = RAM, type = ro, optional = yes; - ONCE: load = RAM, type = ro, define = yes, optional = yes; - CODE: load = RAM, type = ro; - RODATA: load = RAM, type = ro; - DATA: load = RAM, type = rw; - INIT: load = RAM, type = bss; - BSS: load = RAM, type = bss, define = yes; + STARTUP: load = MAIN, type = ro; + LOWCODE: load = MAIN, type = ro, optional = yes; + ONCE: load = MAIN, type = ro, define = yes, optional = yes; + CODE: load = MAIN, type = ro; + RODATA: load = MAIN, type = ro; + DATA: load = MAIN, type = rw; + INIT: load = MAIN, type = bss; + BSS: load = MAIN, type = bss, define = yes; OVL1ADDR: load = OVL1ADDR, type = ro; OVERLAY1: load = OVL1, type = ro, define = yes, optional = yes; OVL2ADDR: load = OVL2ADDR, type = ro; diff --git a/cfg/c128.cfg b/cfg/c128.cfg index 0ea6066ad..6a98dc5cf 100644 --- a/cfg/c128.cfg +++ b/cfg/c128.cfg @@ -7,20 +7,20 @@ MEMORY { ZP: file = "", define = yes, start = $0002, size = $001A; LOADADDR: file = %O, start = $1BFF, size = $0002; HEADER: file = %O, start = $1C01, size = $000C; - RAM: file = %O, define = yes, start = $1C0D, size = $A3F3 - __STACKSIZE__; + MAIN: file = %O, define = yes, start = $1C0D, size = $A3F3 - __STACKSIZE__; } SEGMENTS { ZEROPAGE: load = ZP, type = zp; LOADADDR: load = LOADADDR, type = ro; EXEHDR: load = HEADER, type = ro; - STARTUP: load = RAM, type = ro; - LOWCODE: load = RAM, type = ro, optional = yes; - ONCE: load = RAM, type = ro, define = yes, optional = yes; - CODE: load = RAM, type = ro; - RODATA: load = RAM, type = ro; - DATA: load = RAM, type = rw; - INIT: load = RAM, type = bss; - BSS: load = RAM, type = bss, define = yes; + STARTUP: load = MAIN, type = ro; + LOWCODE: load = MAIN, type = ro, optional = yes; + ONCE: load = MAIN, type = ro, define = yes, optional = yes; + CODE: load = MAIN, type = ro; + RODATA: load = MAIN, type = ro; + DATA: load = MAIN, type = rw; + INIT: load = MAIN, type = bss; + BSS: load = MAIN, type = bss, define = yes; } FEATURES { CONDES: type = constructor, diff --git a/cfg/c16.cfg b/cfg/c16.cfg index b4b5ccaf7..f1ab747cd 100644 --- a/cfg/c16.cfg +++ b/cfg/c16.cfg @@ -7,20 +7,20 @@ MEMORY { ZP: file = "", define = yes, start = $0002, size = $001A; LOADADDR: file = %O, start = $0FFF, size = $0002; HEADER: file = %O, start = $1001, size = $000C; - RAM: file = %O, start = $100D, size = $6FF3 - __STACKSIZE__; + MAIN: file = %O, start = $100D, size = $6FF3 - __STACKSIZE__; } SEGMENTS { - ZEROPAGE: load = ZP, type = zp; + ZEROPAGE: load = ZP, type = zp; LOADADDR: load = LOADADDR, type = ro; - EXEHDR: load = HEADER, type = ro; - STARTUP: load = RAM, type = ro; - LOWCODE: load = RAM, type = ro, optional = yes; - ONCE: load = RAM, type = ro, define = yes, optional = yes; - CODE: load = RAM, type = ro; - RODATA: load = RAM, type = ro; - DATA: load = RAM, type = rw; - INIT: load = RAM, type = bss; - BSS: load = RAM, type = bss, define = yes; + EXEHDR: load = HEADER, type = ro; + STARTUP: load = MAIN, type = ro; + LOWCODE: load = MAIN, type = ro, optional = yes; + ONCE: load = MAIN, type = ro, define = yes, optional = yes; + CODE: load = MAIN, type = ro; + RODATA: load = MAIN, type = ro; + DATA: load = MAIN, type = rw; + INIT: load = MAIN, type = bss; + BSS: load = MAIN, type = bss, define = yes; } FEATURES { CONDES: type = constructor, diff --git a/cfg/c64-asm.cfg b/cfg/c64-asm.cfg index 1ab80be8e..224bd704a 100644 --- a/cfg/c64-asm.cfg +++ b/cfg/c64-asm.cfg @@ -7,14 +7,14 @@ SYMBOLS { MEMORY { ZP: file = "", start = $0002, size = $001A, define = yes; LOADADDR: file = %O, start = %S - 2, size = $0002; - RAM: file = %O, start = %S, size = $D000 - %S; + MAIN: file = %O, start = %S, size = $D000 - %S; } SEGMENTS { LOADADDR: load = LOADADDR, type = ro; - EXEHDR: load = RAM, type = ro, optional = yes; - CODE: load = RAM, type = rw, optional = yes; - RODATA: load = RAM, type = ro, optional = yes; - DATA: load = RAM, type = rw, optional = yes; - BSS: load = RAM, type = bss, optional = yes; + EXEHDR: load = MAIN, type = ro, optional = yes; + CODE: load = MAIN, type = rw, optional = yes; + RODATA: load = MAIN, type = ro, optional = yes; + DATA: load = MAIN, type = rw, optional = yes; + BSS: load = MAIN, type = bss, optional = yes; ZEROPAGE: load = ZP, type = zp, optional = yes; } diff --git a/cfg/cbm510.cfg b/cfg/cbm510.cfg index 8b01dff0b..5f73174f3 100644 --- a/cfg/cbm510.cfg +++ b/cfg/cbm510.cfg @@ -8,24 +8,24 @@ MEMORY { STARTUP: file = %O, start = $00FE, size = $0102, fill = yes; PAGE2: file = %O, start = $0200, size = $0100, fill = yes; PAGE3: file = %O, start = $0300, size = $0100, fill = yes; - RAM: file = %O, start = $0400, size = $DC00; + MAIN: file = %O, start = $0400, size = $DC00; CHARRAM: file = "", define = yes, start = $E000, size = $1000; VIDRAM: file = "", define = yes, start = $F000, size = $0400; } SEGMENTS { + ZEROPAGE: load = ZP, type = zp; + EXTZP: load = ZP, type = rw, define = yes; EXEHDR: load = HEADER, type = rw; STARTUP: load = STARTUP, type = rw; PAGE2: load = PAGE2, type = rw; PAGE3: load = PAGE3, type = rw; - LOWCODE: load = RAM, type = ro, optional = yes; - ONCE: load = RAM, type = ro, define = yes, optional = yes; - CODE: load = RAM, type = ro; - RODATA: load = RAM, type = ro; - DATA: load = RAM, type = rw; - INIT: load = RAM, type = bss; - BSS: load = RAM, type = bss, define = yes; - ZEROPAGE: load = ZP, type = zp; - EXTZP: load = ZP, type = rw, define = yes; + LOWCODE: load = MAIN, type = ro, optional = yes; + ONCE: load = MAIN, type = ro, define = yes, optional = yes; + CODE: load = MAIN, type = ro; + RODATA: load = MAIN, type = ro; + DATA: load = MAIN, type = rw; + INIT: load = MAIN, type = bss; + BSS: load = MAIN, type = bss, define = yes; } FEATURES { CONDES: type = constructor, diff --git a/cfg/cbm610.cfg b/cfg/cbm610.cfg index 6df9f1f5a..fb4349dba 100644 --- a/cfg/cbm610.cfg +++ b/cfg/cbm610.cfg @@ -7,22 +7,22 @@ MEMORY { STARTUP: file = %O, start = $00FE, size = $0102, fill = yes; PAGE2: file = %O, start = $0200, size = $0100, fill = yes; PAGE3: file = %O, start = $0300, size = $0100, fill = yes; - RAM: file = %O, start = $0400, size = $FECB - __STACKSIZE__; + MAIN: file = %O, start = $0400, size = $FECB - __STACKSIZE__; } SEGMENTS { + ZEROPAGE: load = ZP, type = zp; + EXTZP: load = ZP, type = rw, define = yes; EXEHDR: load = HEADER, type = rw; STARTUP: load = STARTUP, type = rw; PAGE2: load = PAGE2, type = rw; PAGE3: load = PAGE3, type = rw; - LOWCODE: load = RAM, type = ro, optional = yes; - ONCE: load = RAM, type = ro, define = yes, optional = yes; - CODE: load = RAM, type = ro; - RODATA: load = RAM, type = ro; - DATA: load = RAM, type = rw; - INIT: load = RAM, type = bss; - BSS: load = RAM, type = bss, define = yes; - ZEROPAGE: load = ZP, type = zp; - EXTZP: load = ZP, type = rw, define = yes; + LOWCODE: load = MAIN, type = ro, optional = yes; + ONCE: load = MAIN, type = ro, define = yes, optional = yes; + CODE: load = MAIN, type = ro; + RODATA: load = MAIN, type = ro; + DATA: load = MAIN, type = rw; + INIT: load = MAIN, type = bss; + BSS: load = MAIN, type = bss, define = yes; } FEATURES { CONDES: type = constructor, diff --git a/cfg/gamate.cfg b/cfg/gamate.cfg index f0f669f27..4e4253194 100644 --- a/cfg/gamate.cfg +++ b/cfg/gamate.cfg @@ -9,17 +9,17 @@ MEMORY { # 0000-03ff is RAM # FIXME: what zp range can we actually use? # $0a-$11 is used by IRQ/NMI, $e8 is used by NMI - ZP: start = $0012, size = $e8 - $12; - CPUSTACK: start = $0100, size =$100; - RAM: start = $0200, size = $200 - __STACKSIZE__, define = yes; + ZP: start = $0012, size = $00E8 - $0012; + CPUSTACK: start = $0100, size = $0100; + RAM: start = $0200, size = $0200 - __STACKSIZE__, define = yes; - CARTHEADER: file = %O, define = yes, start = %S, size = $0029; + CARTHEADER: file = %O, define = yes, start = %S, size = $0029; # 6000-e000 can be (Cartridge) ROM # WARNING: fill value must be $00 else it will no more work - #ROM: start = $6000, size = $1000, fill = yes, fillval = $00, file = %O, define = yes; - #ROMFILL: start = $7000, size = $7000, fill = yes, fillval = $00, file = %O, define = yes; + #ROM: start = $6000, size = $1000, fill = yes, fillval = $00, file = %O, define = yes; + #ROMFILL: start = $7000, size = $7000, fill = yes, fillval = $00, file = %O, define = yes; # for images that have code >$6fff we must calculate the checksum! - ROM: start = $6000 + $29, size = $8000 - $29, fill = yes, fillval = $00, file = %O, define = yes; + ROM: start = $6000 + $0029, size = $8000 - $0029, fill = yes, fillval = $00, file = %O, define = yes; } SEGMENTS { diff --git a/cfg/lunix.cfg b/cfg/lunix.cfg index aabacbeb2..3a11cc5d4 100644 --- a/cfg/lunix.cfg +++ b/cfg/lunix.cfg @@ -5,18 +5,18 @@ SYMBOLS { __STACKSIZE__: type = weak, value = $0400; # 1k stack (do typical LUnix apps. need 2k?) } MEMORY { - ZP: start = $0080, size = $0040; - RAM: start = %S, size = $7600 - __STACKSIZE__; + ZP: start = $0080, size = $0040; + MAIN: start = %S, size = $7600 - __STACKSIZE__; } SEGMENTS { - ZEROPAGE: load = ZP, type = zp, define = yes; # Pseudo-registers - STARTUP: load = RAM, type = ro; # First initialization code - LOWCODE: load = RAM, type = ro, optional = yes; # Legacy from other platforms - ONCE: load = RAM, type = ro, define = yes, optional = yes; # Library initialization code - CODE: load = RAM, type = ro; # Program - RODATA: load = RAM, type = ro; # Literals, constants - DATA: load = RAM, type = rw; # Initialized variables - BSS: load = RAM, type = bss, define = yes; # Uninitialized variables + ZEROPAGE: load = ZP, type = zp, define = yes; # Pseudo-registers + STARTUP: load = MAIN, type = ro; # First initialization code + LOWCODE: load = MAIN, type = ro, optional = yes; # Legacy from other platforms + ONCE: load = MAIN, type = ro, define = yes, optional = yes; # Library initialization code + CODE: load = MAIN, type = ro; # Program + RODATA: load = MAIN, type = ro; # Literals, constants + DATA: load = MAIN, type = rw; # Initialized variables + BSS: load = MAIN, type = bss, define = yes; # Uninitialized variables } FEATURES { CONDES: type = constructor, diff --git a/cfg/lynx-bll.cfg b/cfg/lynx-bll.cfg index fcf6d4c60..a1687b423 100644 --- a/cfg/lynx-bll.cfg +++ b/cfg/lynx-bll.cfg @@ -7,20 +7,20 @@ SYMBOLS { MEMORY { ZP: file = "", define = yes, start = $0000, size = $0100; HEADER: file = %O, start = $0000, size = $000a; - RAM: file = %O, define = yes, start = $0400, size = $BC38 - __STACKSIZE__; + MAIN: file = %O, define = yes, start = $0400, size = $BC38 - __STACKSIZE__; } SEGMENTS { ZEROPAGE: load = ZP, type = zp; EXTZP: load = ZP, type = zp, optional = yes; APPZP: load = ZP, type = zp, optional = yes; BLLHDR: load = HEADER, type = ro; - STARTUP: load = RAM, type = ro, define = yes; - LOWCODE: load = RAM, type = ro, define = yes, optional = yes; - ONCE: load = RAM, type = ro, define = yes, optional = yes; - CODE: load = RAM, type = ro, define = yes; - RODATA: load = RAM, type = ro, define = yes; - DATA: load = RAM, type = rw, define = yes; - BSS: load = RAM, type = bss, define = yes; + STARTUP: load = MAIN, type = ro, define = yes; + LOWCODE: load = MAIN, type = ro, define = yes, optional = yes; + ONCE: load = MAIN, type = ro, define = yes, optional = yes; + CODE: load = MAIN, type = ro, define = yes; + RODATA: load = MAIN, type = ro, define = yes; + DATA: load = MAIN, type = rw, define = yes; + BSS: load = MAIN, type = bss, define = yes; } FEATURES { CONDES: type = constructor, diff --git a/cfg/lynx-coll.cfg b/cfg/lynx-coll.cfg index d40c18237..9467c3c92 100644 --- a/cfg/lynx-coll.cfg +++ b/cfg/lynx-coll.cfg @@ -11,7 +11,7 @@ MEMORY { HEADER: file = %O, start = $0000, size = $0040; BOOT: file = %O, start = $0200, size = __STARTOFDIRECTORY__; DIR: file = %O, start = $0000, size = 8; - RAM: file = %O, define = yes, start = $0200, size = $9E58 - __STACKSIZE__; + MAIN: file = %O, define = yes, start = $0200, size = $9E58 - __STACKSIZE__; } SEGMENTS { ZEROPAGE: load = ZP, type = zp; @@ -20,13 +20,13 @@ SEGMENTS { EXEHDR: load = HEADER, type = ro; BOOTLDR: load = BOOT, type = ro; DIRECTORY: load = DIR, type = ro; - STARTUP: load = RAM, type = ro, define = yes; - LOWCODE: load = RAM, type = ro, define = yes, optional = yes; - ONCE: load = RAM, type = ro, define = yes, optional = yes; - CODE: load = RAM, type = ro, define = yes; - RODATA: load = RAM, type = ro, define = yes; - DATA: load = RAM, type = rw, define = yes; - BSS: load = RAM, type = bss, define = yes; + STARTUP: load = MAIN, type = ro, define = yes; + LOWCODE: load = MAIN, type = ro, define = yes, optional = yes; + ONCE: load = MAIN, type = ro, define = yes, optional = yes; + CODE: load = MAIN, type = ro, define = yes; + RODATA: load = MAIN, type = ro, define = yes; + DATA: load = MAIN, type = rw, define = yes; + BSS: load = MAIN, type = bss, define = yes; } FEATURES { CONDES: type = constructor, diff --git a/cfg/lynx-uploader.cfg b/cfg/lynx-uploader.cfg index fe6d6133d..c32e3583f 100644 --- a/cfg/lynx-uploader.cfg +++ b/cfg/lynx-uploader.cfg @@ -12,7 +12,7 @@ MEMORY { HEADER: file = %O, start = $0000, size = $0040; BOOT: file = %O, start = $0200, size = __STARTOFDIRECTORY__; DIR: file = %O, start = $0000, size = 8; - RAM: file = %O, define = yes, start = $0200, size = $BD38 - __STACKSIZE__; + MAIN: file = %O, define = yes, start = $0200, size = $BD38 - __STACKSIZE__; UPLDR: file = %O, define = yes, start = $BFDC, size = $005C; } SEGMENTS { @@ -22,13 +22,13 @@ SEGMENTS { EXEHDR: load = HEADER, type = ro; BOOTLDR: load = BOOT, type = ro; DIRECTORY:load = DIR, type = ro; - STARTUP: load = RAM, type = ro, define = yes; - LOWCODE: load = RAM, type = ro, define = yes, optional = yes; - ONCE: load = RAM, type = ro, define = yes, optional = yes; - CODE: load = RAM, type = ro, define = yes; - RODATA: load = RAM, type = ro, define = yes; - DATA: load = RAM, type = rw, define = yes; - BSS: load = RAM, type = bss, define = yes; + STARTUP: load = MAIN, type = ro, define = yes; + LOWCODE: load = MAIN, type = ro, define = yes, optional = yes; + ONCE: load = MAIN, type = ro, define = yes, optional = yes; + CODE: load = MAIN, type = ro, define = yes; + RODATA: load = MAIN, type = ro, define = yes; + DATA: load = MAIN, type = rw, define = yes; + BSS: load = MAIN, type = bss, define = yes; UPCODE: load = UPLDR, type = ro, define = yes; UPDATA: load = UPLDR, type = rw, define = yes; } diff --git a/cfg/lynx.cfg b/cfg/lynx.cfg index 4d41c1bbf..5140b342f 100644 --- a/cfg/lynx.cfg +++ b/cfg/lynx.cfg @@ -11,7 +11,7 @@ MEMORY { HEADER: file = %O, start = $0000, size = $0040; BOOT: file = %O, start = $0200, size = __STARTOFDIRECTORY__; DIR: file = %O, start = $0000, size = 8; - RAM: file = %O, define = yes, start = $0200, size = $BE38 - __STACKSIZE__; + MAIN: file = %O, define = yes, start = $0200, size = $BE38 - __STACKSIZE__; } SEGMENTS { ZEROPAGE: load = ZP, type = zp; @@ -20,13 +20,13 @@ SEGMENTS { EXEHDR: load = HEADER, type = ro; BOOTLDR: load = BOOT, type = ro; DIRECTORY: load = DIR, type = ro; - STARTUP: load = RAM, type = ro, define = yes; - LOWCODE: load = RAM, type = ro, define = yes, optional = yes; - ONCE: load = RAM, type = ro, define = yes, optional = yes; - CODE: load = RAM, type = ro, define = yes; - RODATA: load = RAM, type = ro, define = yes; - DATA: load = RAM, type = rw, define = yes; - BSS: load = RAM, type = bss, define = yes; + STARTUP: load = MAIN, type = ro, define = yes; + LOWCODE: load = MAIN, type = ro, define = yes, optional = yes; + ONCE: load = MAIN, type = ro, define = yes, optional = yes; + CODE: load = MAIN, type = ro, define = yes; + RODATA: load = MAIN, type = ro, define = yes; + DATA: load = MAIN, type = rw, define = yes; + BSS: load = MAIN, type = bss, define = yes; } FEATURES { CONDES: type = constructor, diff --git a/cfg/none.cfg b/cfg/none.cfg index 54ae54eb4..dcee60419 100644 --- a/cfg/none.cfg +++ b/cfg/none.cfg @@ -2,17 +2,17 @@ SYMBOLS { __STACKSIZE__: type = weak, value = $0800; # 2k stack } MEMORY { - ZP: file = "", define = yes, start = $0000, size = $0001F; - RAM: file = %O, start = %S, size = $10000 - __STACKSIZE__; + ZP: file = "", define = yes, start = $0000, size = $0001F; + MAIN: file = %O, start = %S, size = $10000 - __STACKSIZE__; } SEGMENTS { - ZEROPAGE: load = ZP, type = zp; - LOWCODE: load = RAM, type = ro, optional = yes; - ONCE: load = RAM, type = ro, define = yes, optional = yes; - CODE: load = RAM, type = rw; - RODATA: load = RAM, type = rw; - DATA: load = RAM, type = rw; - BSS: load = RAM, type = bss, define = yes; + ZEROPAGE: load = ZP, type = zp; + LOWCODE: load = MAIN, type = ro, optional = yes; + ONCE: load = MAIN, type = ro, define = yes, optional = yes; + CODE: load = MAIN, type = rw; + RODATA: load = MAIN, type = rw; + DATA: load = MAIN, type = rw; + BSS: load = MAIN, type = bss, define = yes; } FEATURES { CONDES: type = constructor, diff --git a/cfg/osic1p-asm.cfg b/cfg/osic1p-asm.cfg index ac2e76dc9..3c1b1bda3 100644 --- a/cfg/osic1p-asm.cfg +++ b/cfg/osic1p-asm.cfg @@ -10,16 +10,16 @@ SYMBOLS { } MEMORY { # for size of ZP, see runtime/zeropage.s and c1p/extzp.s - ZP: file = "", define = yes, start = $0002, size = $001A + $0006; - HEAD: file = %O, start = $0000, size = $00B6; - RAM: file = %O, define = yes, start = %S, size = __HIMEM__ - __STACKSIZE__ - %S; + ZP: file = "", define = yes, start = $0002, size = $001A + $0006; + HEAD: file = %O, start = $0000, size = $00B6; + MAIN: file = %O, define = yes, start = %S, size = __HIMEM__ - __STACKSIZE__ - %S; } SEGMENTS { ZEROPAGE: load = ZP, type = zp; BOOT: load = HEAD, type = ro, optional = yes; - ONCE: load = RAM, type = ro, define = yes, optional = yes; - CODE: load = RAM, type = rw; - RODATA: load = RAM, type = rw; - DATA: load = RAM, type = rw; - BSS: load = RAM, type = bss, define = yes; + ONCE: load = MAIN, type = ro, define = yes, optional = yes; + CODE: load = MAIN, type = rw; + RODATA: load = MAIN, type = rw; + DATA: load = MAIN, type = rw; + BSS: load = MAIN, type = bss, define = yes; } diff --git a/cfg/osic1p.cfg b/cfg/osic1p.cfg index 314eac0b9..3507ebeba 100644 --- a/cfg/osic1p.cfg +++ b/cfg/osic1p.cfg @@ -10,21 +10,21 @@ SYMBOLS { } MEMORY { # for size of ZP, see runtime/zeropage.s and c1p/extzp.s - ZP: file = "", define = yes, start = $0002, size = $001A + $0020; - HEAD: file = %O, start = $0000, size = $00B6; - RAM: file = %O, define = yes, start = %S, size = __HIMEM__ - __STACKSIZE__ - %S; + ZP: file = "", define = yes, start = $0002, size = $001A + $0020; + HEAD: file = %O, start = $0000, size = $00B6; + MAIN: file = %O, define = yes, start = %S, size = __HIMEM__ - __STACKSIZE__ - %S; } SEGMENTS { ZEROPAGE: load = ZP, type = zp; EXTZP: load = ZP, type = zp, define = yes, optional = yes; BOOT: load = HEAD, type = ro, optional = yes; - STARTUP: load = RAM, type = ro; - LOWCODE: load = RAM, type = ro, optional = yes; - ONCE: load = RAM, type = ro, define = yes, optional = yes; - CODE: load = RAM, type = rw; - RODATA: load = RAM, type = rw; - DATA: load = RAM, type = rw; - BSS: load = RAM, type = bss, define = yes; + STARTUP: load = MAIN, type = ro; + LOWCODE: load = MAIN, type = ro, optional = yes; + ONCE: load = MAIN, type = ro, define = yes, optional = yes; + CODE: load = MAIN, type = rw; + RODATA: load = MAIN, type = rw; + DATA: load = MAIN, type = rw; + BSS: load = MAIN, type = bss, define = yes; } FEATURES { CONDES: type = constructor, diff --git a/cfg/plus4.cfg b/cfg/plus4.cfg index 16e9d12c8..4f73e40c2 100644 --- a/cfg/plus4.cfg +++ b/cfg/plus4.cfg @@ -7,20 +7,20 @@ MEMORY { ZP: file = "", define = yes, start = $0002, size = $001A; LOADADDR: file = %O, start = $0FFF, size = $0002; HEADER: file = %O, start = $1001, size = $000C; - RAM: file = %O, define = yes, start = $100D, size = $ECF3 - __STACKSIZE__; + MAIN: file = %O, define = yes, start = $100D, size = $ECF3 - __STACKSIZE__; } SEGMENTS { ZEROPAGE: load = ZP, type = zp; LOADADDR: load = LOADADDR, type = ro; EXEHDR: load = HEADER, type = ro; - STARTUP: load = RAM, type = ro; - LOWCODE: load = RAM, type = ro, optional = yes; - ONCE: load = RAM, type = ro, define = yes, optional = yes; - CODE: load = RAM, type = ro; - RODATA: load = RAM, type = ro; - DATA: load = RAM, type = rw; - INIT: load = RAM, type = bss; - BSS: load = RAM, type = bss, define = yes; + STARTUP: load = MAIN, type = ro; + LOWCODE: load = MAIN, type = ro, optional = yes; + ONCE: load = MAIN, type = ro, define = yes, optional = yes; + CODE: load = MAIN, type = ro; + RODATA: load = MAIN, type = ro; + DATA: load = MAIN, type = rw; + INIT: load = MAIN, type = bss; + BSS: load = MAIN, type = bss, define = yes; } FEATURES { CONDES: type = constructor, diff --git a/cfg/sim6502.cfg b/cfg/sim6502.cfg index 8e78fceb2..b50703bab 100644 --- a/cfg/sim6502.cfg +++ b/cfg/sim6502.cfg @@ -5,18 +5,18 @@ SYMBOLS { MEMORY { ZP: file = "", start = $0000, size = $001A; HEADER: file = %O, start = $0000, size = $0001; - RAM: file = %O, define = yes, start = $0200, size = $FDF0 - __STACKSIZE__; + MAIN: file = %O, define = yes, start = $0200, size = $FDF0 - __STACKSIZE__; } SEGMENTS { ZEROPAGE: load = ZP, type = zp; EXEHDR: load = HEADER, type = ro; - STARTUP: load = RAM, type = ro; - LOWCODE: load = RAM, type = ro, optional = yes; - ONCE: load = RAM, type = ro, define = yes, optional = yes; - CODE: load = RAM, type = ro; - RODATA: load = RAM, type = ro; - DATA: load = RAM, type = rw; - BSS: load = RAM, type = bss, define = yes; + STARTUP: load = MAIN, type = ro; + LOWCODE: load = MAIN, type = ro, optional = yes; + ONCE: load = MAIN, type = ro, define = yes, optional = yes; + CODE: load = MAIN, type = ro; + RODATA: load = MAIN, type = ro; + DATA: load = MAIN, type = rw; + BSS: load = MAIN, type = bss, define = yes; } FEATURES { CONDES: type = constructor, diff --git a/cfg/sim65c02.cfg b/cfg/sim65c02.cfg index 8e78fceb2..b50703bab 100644 --- a/cfg/sim65c02.cfg +++ b/cfg/sim65c02.cfg @@ -5,18 +5,18 @@ SYMBOLS { MEMORY { ZP: file = "", start = $0000, size = $001A; HEADER: file = %O, start = $0000, size = $0001; - RAM: file = %O, define = yes, start = $0200, size = $FDF0 - __STACKSIZE__; + MAIN: file = %O, define = yes, start = $0200, size = $FDF0 - __STACKSIZE__; } SEGMENTS { ZEROPAGE: load = ZP, type = zp; EXEHDR: load = HEADER, type = ro; - STARTUP: load = RAM, type = ro; - LOWCODE: load = RAM, type = ro, optional = yes; - ONCE: load = RAM, type = ro, define = yes, optional = yes; - CODE: load = RAM, type = ro; - RODATA: load = RAM, type = ro; - DATA: load = RAM, type = rw; - BSS: load = RAM, type = bss, define = yes; + STARTUP: load = MAIN, type = ro; + LOWCODE: load = MAIN, type = ro, optional = yes; + ONCE: load = MAIN, type = ro, define = yes, optional = yes; + CODE: load = MAIN, type = ro; + RODATA: load = MAIN, type = ro; + DATA: load = MAIN, type = rw; + BSS: load = MAIN, type = bss, define = yes; } FEATURES { CONDES: type = constructor, diff --git a/cfg/vic20-32k.cfg b/cfg/vic20-32k.cfg index a1b609106..4f4225825 100644 --- a/cfg/vic20-32k.cfg +++ b/cfg/vic20-32k.cfg @@ -9,20 +9,20 @@ MEMORY { ZP: file = "", define = yes, start = $0002, size = $001A; LOADADDR: file = %O, start = $11FF, size = $0002; HEADER: file = %O, start = $1201, size = $000C; - RAM: file = %O, define = yes, start = $120D, size = $6DF3 - __STACKSIZE__; + MAIN: file = %O, define = yes, start = $120D, size = $6DF3 - __STACKSIZE__; } SEGMENTS { + ZEROPAGE: load = ZP, type = zp; LOADADDR: load = LOADADDR, type = ro; EXEHDR: load = HEADER, type = ro; - STARTUP: load = RAM, type = ro; - LOWCODE: load = RAM, type = ro, optional = yes; - ONCE: load = RAM, type = ro, define = yes, optional = yes; - CODE: load = RAM, type = ro; - RODATA: load = RAM, type = ro; - DATA: load = RAM, type = rw; - INIT: load = RAM, type = bss; - BSS: load = RAM, type = bss, define = yes; - ZEROPAGE: load = ZP, type = zp; + STARTUP: load = MAIN, type = ro; + LOWCODE: load = MAIN, type = ro, optional = yes; + ONCE: load = MAIN, type = ro, define = yes, optional = yes; + CODE: load = MAIN, type = ro; + RODATA: load = MAIN, type = ro; + DATA: load = MAIN, type = rw; + INIT: load = MAIN, type = bss; + BSS: load = MAIN, type = bss, define = yes; } FEATURES { CONDES: type = constructor, diff --git a/cfg/vic20.cfg b/cfg/vic20.cfg index 693b356a3..4eba7bfa9 100644 --- a/cfg/vic20.cfg +++ b/cfg/vic20.cfg @@ -7,20 +7,20 @@ MEMORY { ZP: file = "", define = yes, start = $0002, size = $001A; LOADADDR: file = %O, start = $0FFF, size = $0002; HEADER: file = %O, start = $1001, size = $000C; - RAM: file = %O, define = yes, start = $100D, size = $0DF3 - __STACKSIZE__; + MAIN: file = %O, define = yes, start = $100D, size = $0DF3 - __STACKSIZE__; } SEGMENTS { ZEROPAGE: load = ZP, type = zp; LOADADDR: load = LOADADDR, type = ro; EXEHDR: load = HEADER, type = ro; - STARTUP: load = RAM, type = ro; - LOWCODE: load = RAM, type = ro, optional = yes; - ONCE: load = RAM, type = ro, define = yes, optional = yes; - CODE: load = RAM, type = ro; - RODATA: load = RAM, type = ro; - DATA: load = RAM, type = rw; - INIT: load = RAM, type = bss; - BSS: load = RAM, type = bss, define = yes; + STARTUP: load = MAIN, type = ro; + LOWCODE: load = MAIN, type = ro, optional = yes; + ONCE: load = MAIN, type = ro, define = yes, optional = yes; + CODE: load = MAIN, type = ro; + RODATA: load = MAIN, type = ro; + DATA: load = MAIN, type = rw; + INIT: load = MAIN, type = bss; + BSS: load = MAIN, type = bss, define = yes; } FEATURES { CONDES: type = constructor, diff --git a/doc/atari.sgml b/doc/atari.sgml index f37b43929..2087a8541 100644 --- a/doc/atari.sgml +++ b/doc/atari.sgml @@ -148,7 +148,7 @@ Special locations: ($58). main program&nl; This load chunk is loaded at the selected program start address (default $2000) and contains all of the code and data of the program.&nl; -The contents of this chunk come from the RAM memory area of the linker config file. +The contents of this chunk come from the MAIN memory area of the linker config file. diff --git a/libsrc/atari/crt0.s b/libsrc/atari/crt0.s index 0ea6e390f..317fe5697 100644 --- a/libsrc/atari/crt0.s +++ b/libsrc/atari/crt0.s @@ -14,7 +14,7 @@ .import initlib, donelib .import callmain, zerobss .import __RESERVED_MEMORY__ - .import __RAM_START__, __RAM_SIZE__ + .import __MAIN_START__, __MAIN_SIZE__ .ifdef __ATARIXL__ .import __STACKSIZE__ .import sram_init @@ -55,10 +55,10 @@ start: .ifdef __ATARIXL__ - lda #<(__RAM_START__ + __RAM_SIZE__ + __STACKSIZE__) + lda #<(__MAIN_START__ + __MAIN_SIZE__ + __STACKSIZE__) + ldx #>(__MAIN_START__ + __MAIN_SIZE__ + __STACKSIZE__) sta sp - lda #>(__RAM_START__ + __RAM_SIZE__ + __STACKSIZE__) - sta sp+1 + stx sp+1 .else diff --git a/libsrc/atari/exehdr.s b/libsrc/atari/exehdr.s index ea9fa95d7..7abb7c1ac 100644 --- a/libsrc/atari/exehdr.s +++ b/libsrc/atari/exehdr.s @@ -1,11 +1,11 @@ ; This file defines the EXE header and main chunk load header for Atari executables .export __EXEHDR__: absolute = 1 - .import __RAM_START__, __BSS_LOAD__ + .import __MAIN_START__, __BSS_LOAD__ .segment "EXEHDR" .word $FFFF .segment "MAINHDR" - .word __RAM_START__ + .word __MAIN_START__ .word __BSS_LOAD__ - 1 diff --git a/libsrc/atmos/crt0.s b/libsrc/atmos/crt0.s index e789b28c2..6ad7a3ff3 100644 --- a/libsrc/atmos/crt0.s +++ b/libsrc/atmos/crt0.s @@ -9,7 +9,7 @@ .export __STARTUP__ : absolute = 1 ; Mark as startup .import initlib, donelib .import callmain, zerobss - .import __RAM_START__, __RAM_SIZE__, __STACKSIZE__ + .import __MAIN_START__, __MAIN_SIZE__, __STACKSIZE__ .include "zeropage.inc" .include "atmos.inc" @@ -44,10 +44,10 @@ L1: lda sp,x tsx stx spsave ; Save system stk ptr - lda #<(__RAM_START__ + __RAM_SIZE__ + __STACKSIZE__) + lda #<(__MAIN_START__ + __MAIN_SIZE__ + __STACKSIZE__) + ldx #>(__MAIN_START__ + __MAIN_SIZE__ + __STACKSIZE__) sta sp - lda #>(__RAM_START__ + __RAM_SIZE__ + __STACKSIZE__) - sta sp+1 ; Set argument stack ptr + stx sp+1 ; Set argument stack ptr ; Call the module constructors. diff --git a/libsrc/c128/crt0.s b/libsrc/c128/crt0.s index 5891bacf3..ba6a78ac5 100644 --- a/libsrc/c128/crt0.s +++ b/libsrc/c128/crt0.s @@ -8,7 +8,7 @@ .import zerobss .import push0, callmain .import RESTOR, BSOUT, CLRCH - .import __RAM_START__, __RAM_SIZE__, __STACKSIZE__ + .import __MAIN_START__, __MAIN_SIZE__, __STACKSIZE__ .importzp ST .include "zeropage.inc" @@ -56,10 +56,10 @@ L1: lda sp,x tsx stx spsave ; Save the system stack pointer - lda #<(__RAM_START__ + __RAM_SIZE__ + __STACKSIZE__) + lda #<(__MAIN_START__ + __MAIN_SIZE__ + __STACKSIZE__) + ldx #>(__MAIN_START__ + __MAIN_SIZE__ + __STACKSIZE__) sta sp - lda #>(__RAM_START__ + __RAM_SIZE__ + __STACKSIZE__) - sta sp+1 ; Set argument stack ptr + stx sp+1 ; Set argument stack ptr ; Call the module constructors. diff --git a/libsrc/gamate/crt0.s b/libsrc/gamate/crt0.s index ead45b7ea..99af9b2d9 100644 --- a/libsrc/gamate/crt0.s +++ b/libsrc/gamate/crt0.s @@ -33,16 +33,16 @@ Start: ; setup the stack lda #<(__RAM_START__+__RAM_SIZE__) + ldx #>(__RAM_START__+__RAM_SIZE__) sta sp - lda #>(__RAM_START__+__RAM_SIZE__) - sta sp + 1 + stx sp + 1 ; Call module constructors jsr initlib lda #1 sta ZP_IRQ_CTRL ; enable calling cartridge IRQ/NMI handler - cli ; allow IRQ only after constructors have run + cli ; allow IRQ only after constructors have run ; Pass an empty command line jsr push0 ; argc diff --git a/libsrc/lynx/bllhdr.s b/libsrc/lynx/bllhdr.s index 60fc87725..07ed06ffb 100644 --- a/libsrc/lynx/bllhdr.s +++ b/libsrc/lynx/bllhdr.s @@ -4,7 +4,7 @@ ; This header is required for BLL builds. ; .import __BSS_LOAD__ - .import __RAM_START__ + .import __MAIN_START__ .export __BLLHDR__: absolute = 1 ; ------------------------------------------------------------------------ @@ -12,8 +12,7 @@ .segment "BLLHDR" .word $0880 - .dbyt __RAM_START__ - .dbyt __BSS_LOAD__ - __RAM_START__ + 10 + .dbyt __MAIN_START__ + .dbyt __BSS_LOAD__ - __MAIN_START__ + 10 .byte $42,$53 .byte $39,$33 - diff --git a/libsrc/lynx/crt0.s b/libsrc/lynx/crt0.s index 725f74ebd..c924f742f 100644 --- a/libsrc/lynx/crt0.s +++ b/libsrc/lynx/crt0.s @@ -22,7 +22,7 @@ .import zerobss .import callmain .import _main - .import __RAM_START__, __RAM_SIZE__, __STACKSIZE__ + .import __MAIN_START__, __MAIN_SIZE__, __STACKSIZE__ .include "zeropage.inc" .include "extzp.inc" @@ -79,10 +79,10 @@ MikeyInitData: .byte $9e,$18,$68,$1f,$00,$00,$00,$00,$00,$ff,$1a,$1b,$04,$0d,$2 ; Set up the stack. - lda #<(__RAM_START__ + __RAM_SIZE__ + __STACKSIZE__) + lda #<(__MAIN_START__ + __MAIN_SIZE__ + __STACKSIZE__) + ldx #>(__MAIN_START__ + __MAIN_SIZE__ + __STACKSIZE__) sta sp - lda #>(__RAM_START__ + __RAM_SIZE__ + __STACKSIZE__) - sta sp+1 + stx sp+1 ; Init Mickey. diff --git a/libsrc/lynx/defdir.s b/libsrc/lynx/defdir.s index a36848227..2930edf4b 100644 --- a/libsrc/lynx/defdir.s +++ b/libsrc/lynx/defdir.s @@ -5,7 +5,7 @@ ; .include "lynx.inc" .import __STARTOFDIRECTORY__ - .import __RAM_START__ + .import __MAIN_START__ .import __CODE_SIZE__, __DATA_SIZE__, __RODATA_SIZE__ .import __STARTUP_SIZE__, __ONCE_SIZE__, __LOWCODE_SIZE__ .import __BLOCKSIZE__ @@ -25,6 +25,6 @@ len0 = __STARTUP_SIZE__ + __ONCE_SIZE__ + __CODE_SIZE__ + __DATA_SIZE__ + __RODA .byte (__MAIN_START__ + __MAIN_SIZE__ + __STACKSIZE__) sta sp - lda #>(__RAM_START__ + __RAM_SIZE__ + __STACKSIZE__) - sta sp+1 + stx sp+1 ; --------------------------------------------------------------------------- ; Initialize memory storage diff --git a/libsrc/plus4/crt0.s b/libsrc/plus4/crt0.s index 9696d50f4..2262b4c42 100644 --- a/libsrc/plus4/crt0.s +++ b/libsrc/plus4/crt0.s @@ -9,7 +9,7 @@ .import callirq_y, initlib, donelib .import callmain, zerobss .import __INTERRUPTOR_COUNT__ - .import __RAM_START__, __RAM_SIZE__ ; Linker generated + .import __MAIN_START__, __MAIN_SIZE__ ; Linker generated .import __STACKSIZE__ ; Linker generated .importzp ST @@ -50,12 +50,12 @@ L1: lda sp,x ; of the usable RAM. tsx - stx spsave ; save system stk ptr + stx spsave ; Save system stk ptr - lda #<(__RAM_START__ + __RAM_SIZE__ + __STACKSIZE__) + lda #<(__MAIN_START__ + __MAIN_SIZE__ + __STACKSIZE__) + ldx #>(__MAIN_START__ + __MAIN_SIZE__ + __STACKSIZE__) sta sp - lda #>(__RAM_START__ + __RAM_SIZE__ + __STACKSIZE__) - sta sp+1 + stx sp+1 ; Set up the IRQ vector in the banked RAM; and, switch off the ROM. diff --git a/libsrc/sim6502/crt0.s b/libsrc/sim6502/crt0.s index d1831ad81..bd02f0e42 100644 --- a/libsrc/sim6502/crt0.s +++ b/libsrc/sim6502/crt0.s @@ -9,7 +9,7 @@ .import zerobss, callmain .import initlib, donelib .import exit - .import __RAM_START__, __RAM_SIZE__ ; Linker generated + .import __MAIN_START__, __MAIN_SIZE__ ; Linker generated .import __STACKSIZE__ ; Linker generated .include "zeropage.inc" @@ -19,8 +19,8 @@ cld ldx #$FF txs - lda #<(__RAM_START__ + __RAM_SIZE__ + __STACKSIZE__) - ldx #>(__RAM_START__ + __RAM_SIZE__ + __STACKSIZE__) + lda #<(__MAIN_START__ + __MAIN_SIZE__ + __STACKSIZE__) + ldx #>(__MAIN_START__ + __MAIN_SIZE__ + __STACKSIZE__) sta sp stx sp+1 jsr zerobss diff --git a/libsrc/vic20/crt0.s b/libsrc/vic20/crt0.s index 723971168..68ab3ed12 100644 --- a/libsrc/vic20/crt0.s +++ b/libsrc/vic20/crt0.s @@ -8,7 +8,7 @@ .import zerobss, push0 .import callmain .import RESTOR, BSOUT, CLRCH - .import __RAM_START__, __RAM_SIZE__ ; Linker generated + .import __MAIN_START__, __MAIN_SIZE__ ; Linker generated .import __STACKSIZE__ ; Linker generated .importzp ST @@ -44,10 +44,10 @@ L1: lda sp,x tsx stx spsave ; Save the system stack ptr - lda #<(__RAM_START__ + __RAM_SIZE__ + __STACKSIZE__) + lda #<(__MAIN_START__ + __MAIN_SIZE__ + __STACKSIZE__) + ldx #>(__MAIN_START__ + __MAIN_SIZE__ + __STACKSIZE__) sta sp - lda #>(__RAM_START__ + __RAM_SIZE__ + __STACKSIZE__) - sta sp+1 ; Set argument stack ptr + stx sp+1 ; Set argument stack ptr ; Call the module constructors.