]> git.sur5r.net Git - cc65/blobdiff - cfg/apple2.cfg
Fixed _textcolor definition.
[cc65] / cfg / apple2.cfg
index 27eb706c486e143d2ffca0c25c5d2185b91bc5c8..a6809cf89c23f74bc5bff9029e691029670a4b85 100644 (file)
@@ -5,39 +5,37 @@ FEATURES {
 }
 SYMBOLS {
     __EXEHDR__:    type = import;
+    __FILETYPE__:  type = weak, value = $0006; # ProDOS file type
+    __STACKSIZE__: type = weak, value = $0800; # 2k stack
     __HIMEM__:     type = weak, value = $9600; # Presumed RAM end
     __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 = __INITBSS_RUN__ - __STARTUP_RUN__ +
-                                        __MOVE_LAST__  - __MOVE_START__;
 }
 MEMORY {
-    ZP:                define = yes, start = $0080,      size = $001A;
-    HEADER: file = %O,               start = $0000,      size = $0004;
-    RAM:    file = %O,               start = %S,         size = __HIMEM__ - __STACKSIZE__ - %S;
-    MOVE:   file = %O, define = yes, start = $0000,      size = $FFFF;
-    LC:                define = yes, start = __LCADDR__, size = __LCSIZE__;
+    ZP:     file = "", define = yes, start = $0080,        size = $001A;
+    HEADER: file = %O,               start = %S - $003A,   size = $003A;
+    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__;
 }
 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;
-    INITBSS:  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;
+    EXEHDR:   load = HEADER,         type = ro,  optional = yes;
+    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__,