]> git.sur5r.net Git - cc65/commitdiff
Avoid mixing of memory areas and segments in address computations (and made move...
authorol.sc <ol.sc@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Sat, 16 Jun 2012 22:13:58 +0000 (22:13 +0000)
committerol.sc <ol.sc@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Sat, 16 Jun 2012 22:13:58 +0000 (22:13 +0000)
git-svn-id: svn://svn.cc65.org/cc65/trunk@5726 b7a2c559-68d2-44c3-8de9-860c34a00d81

libsrc/apple2/crt0.s
src/ld65/cfg/apple2-loader.cfg
src/ld65/cfg/apple2-system.cfg
src/ld65/cfg/apple2.cfg
src/ld65/cfg/apple2enh-loader.cfg
src/ld65/cfg/apple2enh-system.cfg
src/ld65/cfg/apple2enh.cfg

index 9bc8ac68ba12de974af1abeb56c5770e31dceb90..ba4e0dcf14a04c1c7aa81422c131a2079c1b7d75 100644 (file)
@@ -9,9 +9,9 @@
         .import         zerobss
         .import        initlib, donelib
         .import        callmain, callirq
-        .import                __RAM_LAST__, __ZPSAVE_RUN__    ; Linker generated
         .import         __LC_START__, __LC_LAST__      ; Linker generated
-        .import                __INIT_SIZE__                   ; Linker generated
+        .import                __INIT_RUN__, __INIT_SIZE__     ; Linker generated
+        .import                __ZPSAVE_RUN__                  ; Linker generated
         .import                __INTERRUPTOR_COUNT__           ; Linker generated
 
         .include        "zeropage.inc"
@@ -66,8 +66,8 @@
        sty     $97
 
        ; Set destination last address
-       lda     #<__RAM_LAST__
-       ldy     #>__RAM_LAST__
+       lda     #<(__INIT_RUN__ + __INIT_SIZE__)
+       ldy     #>(__INIT_RUN__ + __INIT_SIZE__)
        sta     $94
        sty     $95
 
index 6b5f50f43a008e477bcbd602d09b970abd017161..e8b81adcb325e4c77d0186551d50f4f47d6a3799 100644 (file)
@@ -8,21 +8,21 @@ SYMBOLS {
     __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 = __RAM_START__;
-    __LOADSIZE__:  type = weak, value = __ZPSAVE_RUN__ - __RAM_START__ +
+    __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;
     HEADER: file = %O,               start = $0000,      size = $0004;
-    RAM:    file = %O, define = yes, start = %S,         size = $BF00 - __STACKSIZE__ - %S;
+    RAM:    file = %O,               start = %S,         size = $BF00 - __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;
+    STARTUP:  load = RAM,             type = ro,  define   = yes;
     LOWCODE:  load = RAM,             type = ro;
     CODE:     load = RAM,             type = ro;
     RODATA:   load = RAM,             type = ro;
index abe38d8b697550d3574ba7514436e49a17e82b8a..34fc3e85a3b1398e809cd8bd127199b1e7999e2e 100644 (file)
@@ -4,19 +4,19 @@ SYMBOLS {
     __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 = __RAM_START__;
-    __LOADSIZE__:  type = weak, value = __ZPSAVE_RUN__ - __RAM_START__ +
+    __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, define = yes, start = $2000,      size = $9F00 - __STACKSIZE__;
+    RAM:  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;
+    STARTUP:  load = RAM,             type = ro,  define   = yes;
     LOWCODE:  load = RAM,             type = ro;
     CODE:     load = RAM,             type = ro;
     RODATA:   load = RAM,             type = ro;
index 55119e639c75fc2bf5940e09f717d22ca114acab..379fbcf401936764fdd4192a3573f83e316ed6fc 100644 (file)
@@ -8,21 +8,21 @@ SYMBOLS {
     __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 = __RAM_START__;
-    __LOADSIZE__:  type = weak, value = __ZPSAVE_RUN__ - __RAM_START__ +
+    __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;
     HEADER: file = %O,               start = $0000,      size = $0004;
-    RAM:    file = %O, define = yes, start = %S,         size = $9600 - __STACKSIZE__ - %S;
+    RAM:    file = %O,               start = %S,         size = $9600 - __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;
+    STARTUP:  load = RAM,             type = ro,  define   = yes;
     LOWCODE:  load = RAM,             type = ro;
     CODE:     load = RAM,             type = ro;
     RODATA:   load = RAM,             type = ro;
index 6b5f50f43a008e477bcbd602d09b970abd017161..e8b81adcb325e4c77d0186551d50f4f47d6a3799 100644 (file)
@@ -8,21 +8,21 @@ SYMBOLS {
     __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 = __RAM_START__;
-    __LOADSIZE__:  type = weak, value = __ZPSAVE_RUN__ - __RAM_START__ +
+    __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;
     HEADER: file = %O,               start = $0000,      size = $0004;
-    RAM:    file = %O, define = yes, start = %S,         size = $BF00 - __STACKSIZE__ - %S;
+    RAM:    file = %O,               start = %S,         size = $BF00 - __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;
+    STARTUP:  load = RAM,             type = ro,  define   = yes;
     LOWCODE:  load = RAM,             type = ro;
     CODE:     load = RAM,             type = ro;
     RODATA:   load = RAM,             type = ro;
index abe38d8b697550d3574ba7514436e49a17e82b8a..34fc3e85a3b1398e809cd8bd127199b1e7999e2e 100644 (file)
@@ -4,19 +4,19 @@ SYMBOLS {
     __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 = __RAM_START__;
-    __LOADSIZE__:  type = weak, value = __ZPSAVE_RUN__ - __RAM_START__ +
+    __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, define = yes, start = $2000,      size = $9F00 - __STACKSIZE__;
+    RAM:  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;
+    STARTUP:  load = RAM,             type = ro,  define   = yes;
     LOWCODE:  load = RAM,             type = ro;
     CODE:     load = RAM,             type = ro;
     RODATA:   load = RAM,             type = ro;
index 55119e639c75fc2bf5940e09f717d22ca114acab..379fbcf401936764fdd4192a3573f83e316ed6fc 100644 (file)
@@ -8,21 +8,21 @@ SYMBOLS {
     __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 = __RAM_START__;
-    __LOADSIZE__:  type = weak, value = __ZPSAVE_RUN__ - __RAM_START__ +
+    __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;
     HEADER: file = %O,               start = $0000,      size = $0004;
-    RAM:    file = %O, define = yes, start = %S,         size = $9600 - __STACKSIZE__ - %S;
+    RAM:    file = %O,               start = %S,         size = $9600 - __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;
+    STARTUP:  load = RAM,             type = ro,  define   = yes;
     LOWCODE:  load = RAM,             type = ro;
     CODE:     load = RAM,             type = ro;
     RODATA:   load = RAM,             type = ro;