]> git.sur5r.net Git - cc65/blobdiff - cfg/apple2enh-system.cfg
Merge pull request #552 from polluks/master
[cc65] / cfg / apple2enh-system.cfg
index 33ab04f5e30920b0ae3c723c093aca66dd269e73..f4684d9c2f9e70bbff86970e317e6b62bac7a21d 100644 (file)
@@ -1,36 +1,33 @@
 # Configuration for ProDOS 8 system programs (without the header)
 
 SYMBOLS {
+    __STACKSIZE__: type = weak, value = $0800; # 2k stack
     __LCADDR__:    type = weak, value = $D400; # Behind quit code
     __LCSIZE__:    type = weak, value = $0C00; # Rest of bank two
-    __STACKSIZE__: type = weak, value = $0800; # 2k stack
-    __LOADADDR__:  type = weak, value = __STARTUP_RUN__;
-    __LOADSIZE__:  type = weak, value = __ZPSAVE_RUN__ - __STARTUP_RUN__ +
-                                        __MOVE_LAST__  - __MOVE_START__;
 }
 MEMORY {
-    ZP:              define = yes, start = $0080,      size = $001A;
-    RAM:  file = %O,               start = $2000,      size = $9F00 - __STACKSIZE__;
-    MOVE: file = %O, define = yes, start = $0000,      size = $FFFF;
-    LC:              define = yes, start = __LCADDR__, size = __LCSIZE__;
+    ZP:   file = "", define = yes, start = $0080,        size = $001A;
+    MAIN: file = %O,               start = $2000,        size = $BF00 - $2000;
+    BSS:  file = "",               start = __ONCE_RUN__, size = $BF00 - __STACKSIZE__ - __ONCE_RUN__;
+    LC:   file = "", 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;
-    ZPSAVE:   load = RAM,             type = bss, define   = yes;
-    BSS:      load = RAM,             type = bss, define   = yes;
-    INIT:     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;
+    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 = rw;
+    ONCE:     load = MAIN,           type = ro,  define   = yes;
+    LC:       load = MAIN, run = LC, type = ro,  optional = yes;
+    BSS:      load = BSS,            type = bss, define   = yes;
 }
 FEATURES {
     CONDES: type    = constructor,
             label   = __CONSTRUCTOR_TABLE__,
             count   = __CONSTRUCTOR_COUNT__,
-            segment = INIT;
+            segment = ONCE;
     CONDES: type    = destructor,
             label   = __DESTRUCTOR_TABLE__,
             count   = __DESTRUCTOR_COUNT__,