]> git.sur5r.net Git - cc65/commitdiff
move ZPSAVE into area already saved by 2nd load chunk
authorChristian Groessler <chris@groessler.org>
Thu, 30 May 2013 23:35:19 +0000 (01:35 +0200)
committerChristian Groessler <chris@groessler.org>
Thu, 30 May 2013 23:35:19 +0000 (01:35 +0200)
cfg/atarixl.cfg

index cbd31bfe65ce2b6c0f6865cfc3fd1daf4dbbf88b..ce7d98280e01df0157d8391560fe6b74c71d4d52 100644 (file)
@@ -10,58 +10,58 @@ SYMBOLS {
 }
 
 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;
-    SYSCHK:     file = %O,               start = $2E00,                  size = $0E00;
+    SYSCHKHDR:     file = %O,               start = $0000,                  size = $0004;
+    SYSCHK:        file = %O,               start = $2E00,                  size = $0E00;
 
 # "shadow RAM preparation" load chunk
-    SRPREPHDR:  file = %O,               start = $0000,                  size = $0004;
-    SRPREP:     file = %O,               start = %S,                     size = $7C20 - %S - $04FF;  # $04FF: space for temp. chargen buffer, page aligned
-    SRPREPTRL:  file = %O,               start = $0000,                  size = $0006;
+    SRPREPHDR:     file = %O,               start = $0000,                  size = $0004;
+    SRPREP:        file = %O,               start = %S,                     size = $7C20 - %S - $04FF;  # $04FF: space for temp. chargen buffer, page aligned
+    SRPREPTRL:     file = %O,               start = $0000,                  size = $0006;
 
 # "main program" load chunk
-    MAINHDR:    file = %O,               start = $0000,                  size = $0004;
-    RAM:        file = %O,               start = %S + __SAVEAREA_SIZE__, size = $D000 - __STACKSIZE__ - %S - __SAVEAREA_SIZE__;
+    MAINHDR:       file = %O,               start = $0000,                  size = $0004;
+    RAM:           file = %O, define = yes, start = %S + __SAVEAREA_SIZE__ + __ZPSAVE_SIZE__, size = $D000 - __STACKSIZE__ - %S - __SAVEAREA_SIZE__ - __ZPSAVE_SIZE__;
 
 # 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
-    SHADOW_RAM: file = "", define = yes, start = $DC00, size = $FFF0 - $DC00;
+    RAM_BELOW_ROM: file = "",               start = $DC00, size = $FFF0 - $DC00;
 
 # defines entry point into program
-    TRAILER:    file = %O,               start = $0000, size = $0006;
+    TRAILER:       file = %O,               start = $0000, size = $0006;
 }
 
 SEGMENTS {
-    EXEHDR:     load = HEADER,                   type = ro;
+    EXEHDR:     load = HEADER,                      type = ro;
 
-    SYSCHKHDR:  load = SYSCHKHDR,                type = ro,                optional = yes;
-    SYSCHK:     load = SYSCHK,                   type = rw,  define = yes, optional = yes;
+    SYSCHKHDR:  load = SYSCHKHDR,                   type = ro,                optional = yes;
+    SYSCHK:     load = SYSCHK,                      type = rw,  define = yes, optional = yes;
 
-    SRPREPHDR:  load = SRPREPHDR,                type = ro;
-    SAVEAREA:   load = SRPREP,                   type = bss, define = yes;  # shared btw. SRPREP and RAM
-    SRPREP:     load = SRPREP,                   type = rw,  define = yes;
-    SHADOW_RAM: load = SRPREP, run = SHADOW_RAM, type = rw,  define = yes, optional = yes;
-    SRPREPTRL:  load = SRPREPTRL,                type = ro;
+    SRPREPHDR:  load = SRPREPHDR,                   type = ro;
+    SAVEAREA:   load = SRPREP,                      type = bss, define = yes;  # shared btw. SRPREP and RAM
+    ZPSAVE:     load = SRPREP,                      type = bss, define = yes;
+    SRPREP:     load = SRPREP,                      type = rw,  define = yes;
+    SHADOW_RAM: load = SRPREP, run = RAM_BELOW_ROM, type = rw,  define = yes, optional = yes;
+    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;
-    INIT:       load = RAM,                      type = ro,                optional = yes;
-    CODE:       load = RAM,                      type = ro,  define = yes;
-    RODATA:     load = RAM,                      type = ro;
-    DATA:       load = RAM,                      type = rw;
-    ZPSAVE:     load = RAM,                      type = bss, define = yes;
-    BSS:        load = RAM,                      type = bss, define = yes;
-    ZEROPAGE:   load = ZP,                       type = zp;
-    EXTZP:      load = ZP,                       type = zp,                optional = yes;
-    AUTOSTRT:   load = TRAILER,                  type = ro;
+    MAINHDR:    load = MAINHDR,                     type = ro;
+    STARTUP:    load = RAM,                         type = ro,  define = yes;
+    LOWCODE:    load = RAM,                         type = ro,  define = yes, optional = yes;
+    INIT:       load = RAM,                         type = ro,                optional = yes;
+    CODE:       load = RAM,                         type = ro,  define = yes;
+    RODATA:     load = RAM,                         type = ro;
+    DATA:       load = RAM,                         type = rw;
+    BSS:        load = RAM,                         type = bss, define = yes;
+    ZEROPAGE:   load = ZP,                          type = zp;
+    EXTZP:      load = ZP,                          type = zp,                optional = yes;
+    AUTOSTRT:   load = TRAILER,                     type = ro;
 }
 FEATURES {
     CONDES: type    = constructor,