]> git.sur5r.net Git - cc65/blobdiff - cfg/atmos.cfg
Add translation from PETSCII to screen codes.
[cc65] / cfg / atmos.cfg
index a1f935efa60b37367d292916aff78cfebe7d1149..35f184f4f9b09f0e6af43075d31eae96e63e42ed 100644 (file)
@@ -8,30 +8,31 @@ SYMBOLS {
     __RAMEND__:    type = weak, value = $9800 + $1C00 * __GRAB__;
 }
 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__;
+    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;
+    MAIN:    file = %O, define = yes, start = __BASHEAD_LAST__, size = __RAMEND__ - __MAIN_START__;
+    BSS:     file = "",               start = __ONCE_RUN__,     size = __RAMEND__ - __STACKSIZE__ - __ONCE_RUN__;
 }
 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;
-    INIT:     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;
+    BASHDR:   load = BASHEAD, 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;
+    BASTAIL:  load = MAIN,    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__,