]> git.sur5r.net Git - cc65/commitdiff
The Apple2 linker configs basically cover two dimension of settings:
authorol.sc <ol.sc@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Sat, 16 Jun 2012 20:36:34 +0000 (20:36 +0000)
committerol.sc <ol.sc@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Sat, 16 Jun 2012 20:36:34 +0000 (20:36 +0000)
1. BIN vs. SYS vs. Loader
2. With Quit code vs. w/o Quit code vs. full LC

Up two now these two dimensions were sort of folded into a number of useful combinations. However with the new asm config and the upcominger overlay config we end up with just to many configs.

Therefore now the second dimension isn't expressed anymore as distinct config. Rather the user has to override __LCADDR__ and __LCSIZE__ in order use the Quite code area or the full LC.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5722 b7a2c559-68d2-44c3-8de9-860c34a00d81

src/ld65/cfg/apple2-dos33.cfg [deleted file]
src/ld65/cfg/apple2-loader.cfg
src/ld65/cfg/apple2-reboot.cfg [deleted file]
src/ld65/cfg/apple2-system.cfg
src/ld65/cfg/apple2.cfg
src/ld65/cfg/apple2enh-dos33.cfg [deleted file]
src/ld65/cfg/apple2enh-loader.cfg
src/ld65/cfg/apple2enh-reboot.cfg [deleted file]
src/ld65/cfg/apple2enh-system.cfg
src/ld65/cfg/apple2enh.cfg

diff --git a/src/ld65/cfg/apple2-dos33.cfg b/src/ld65/cfg/apple2-dos33.cfg
deleted file mode 100644 (file)
index 644b0cc..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-# Configuration optimized for DOS 3.3 by allowing for 12KB of HIGHCODE
-
-FEATURES {
-    STARTADDRESS: default = $0803;
-}
-SYMBOLS {
-    __EXEHDR__:    type = import;
-    __STACKSIZE__: type = weak, value = $0800; # 2k stack
-    __LOADADDR__:  type = weak, value = __RAM_START__;
-    __LOADSIZE__:  type = weak, value = __ZPSAVE_RUN__ - __RAM_START__ +
-                                        __MOVE_LAST__  - __MOVE_START__;
-}
-MEMORY {
-    ZP:     file = "", define = yes, start = $0080, size = $001A;
-    HEADER: file = %O,               start = $0000, size = $0004;
-    RAM:    file = %O, define = yes, start = %S,    size = $9600 - __STACKSIZE__ - %S;
-    MOVE:   file = %O, define = yes, start = $0000, size = $FFFF;
-    LC:                define = yes, start = $D000, size = $3000;
-}
-SEGMENTS {
-    ZEROPAGE: load = ZP,              type = zp;
-    EXEHDR:   load = HEADER,          type = ro;
-    STARTUP:  load = RAM,             type = ro;
-    LOWCODE:  load = RAM,             type = ro;
-    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;
-    HIGHCODE: load = MOVE, run = LC,  type = ro,  optional = yes;
-}
-FEATURES {
-    CONDES: segment = INIT,
-            type    = constructor,
-            label   = __CONSTRUCTOR_TABLE__,
-            count   = __CONSTRUCTOR_COUNT__;
-    CONDES: segment = RODATA,
-            type    = destructor,
-            label   = __DESTRUCTOR_TABLE__,
-            count   = __DESTRUCTOR_COUNT__;
-    CONDES: segment = RODATA,
-            type    = interruptor,
-            label   = __INTERRUPTOR_TABLE__,
-            count   = __INTERRUPTOR_COUNT__;
-}
index 8cf2b43f5527234299e7819346934f32e36a5c13..4547f59d4d565cbb018f49e0f159a3ba500edf00 100644 (file)
@@ -5,17 +5,19 @@ FEATURES {
 }
 SYMBOLS {
     __EXEHDR__:    type = import;
+    __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__ +
                                         __MOVE_LAST__  - __MOVE_START__;
 }
 MEMORY {
-    ZP:     file = "", define = yes, start = $0080, size = $001A;
-    HEADER: file = %O,               start = $0000, size = $0004;
-    RAM:    file = %O, define = yes, start = %S,    size = $BF00 - __STACKSIZE__ - %S;
-    MOVE:   file = %O, define = yes, start = $0000, size = $FFFF;
-    LC:                define = yes, start = $D400, size = $0C00;
+    ZP:     file = "", define = yes, start = $0080,      size = $001A;
+    HEADER: file = %O,               start = $0000,      size = $0004;
+    RAM:    file = %O, define = yes, 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;
diff --git a/src/ld65/cfg/apple2-reboot.cfg b/src/ld65/cfg/apple2-reboot.cfg
deleted file mode 100644 (file)
index e10b0de..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-# Configuration allowing for 4KB of HIGHCODE optimized for programs
-# loaded with LOADER.SYSTEM and calling rebootafterexit()
-
-FEATURES {
-    STARTADDRESS: default = $0800;
-}
-SYMBOLS {
-    __EXEHDR__:    type = import;
-    __STACKSIZE__: type = weak, value = $0800; # 2k stack
-    __LOADADDR__:  type = weak, value = __RAM_START__;
-    __LOADSIZE__:  type = weak, value = __ZPSAVE_RUN__ - __RAM_START__ +
-                                        __MOVE_LAST__  - __MOVE_START__;
-}
-MEMORY {
-    ZP:     file = "", define = yes, start = $0080, size = $001A;
-    HEADER: file = %O,               start = $0000, size = $0004;
-    RAM:    file = %O, define = yes, start = %S,    size = $BF00 - __STACKSIZE__ - %S;
-    MOVE:   file = %O, define = yes, start = $0000, size = $FFFF;
-    LC:                define = yes, start = $D000, size = $1000;
-}
-SEGMENTS {
-    ZEROPAGE: load = ZP,              type = zp;
-    EXEHDR:   load = HEADER,          type = ro;
-    STARTUP:  load = RAM,             type = ro;
-    LOWCODE:  load = RAM,             type = ro;
-    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;
-    HIGHCODE: load = MOVE, run = LC,  type = ro,  optional = yes;
-}
-FEATURES {
-    CONDES: segment = INIT,
-            type    = constructor,
-            label   = __CONSTRUCTOR_TABLE__,
-            count   = __CONSTRUCTOR_COUNT__;
-    CONDES: segment = RODATA,
-            type    = destructor,
-            label   = __DESTRUCTOR_TABLE__,
-            count   = __DESTRUCTOR_COUNT__;
-    CONDES: segment = RODATA,
-            type    = interruptor,
-            label   = __INTERRUPTOR_TABLE__,
-            count   = __INTERRUPTOR_COUNT__;
-}
index 51397f096c47305d2f67fa97ea66b80f4b4a050c..35a7cfa21feeffe6f5db887512ebab59bc27e108 100644 (file)
@@ -2,17 +2,19 @@
 
 SYMBOLS {
     __EXEHDR__:    type = import;
+    __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__ +
                                         __MOVE_LAST__  - __MOVE_START__;
 }
 MEMORY {
-    ZP:     file = "", define = yes, start = $0080, size = $001A;
-    HEADER: file = "",               start = $0000, size = $0004;
-    RAM:    file = %O, define = yes, start = $2000, size = $9F00 - __STACKSIZE__;
-    MOVE:   file = %O, define = yes, start = $0000, size = $FFFF;
-    LC:                define = yes, start = $D400, size = $0C00;
+    ZP:     file = "", define = yes, start = $0080,      size = $001A;
+    HEADER: file = "",               start = $0000,      size = $0004;
+    RAM:    file = %O, define = yes, 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;
index 16f6428ce1d30a22b7d1b5491e117223f5784110..cef8c3b609f2378b2043ed6c69868a933b0ad183 100644 (file)
@@ -5,17 +5,19 @@ FEATURES {
 }
 SYMBOLS {
     __EXEHDR__:    type = import;
+    __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__ +
                                         __MOVE_LAST__  - __MOVE_START__;
 }
 MEMORY {
-    ZP:     file = "", define = yes, start = $0080, size = $001A;
-    HEADER: file = %O,               start = $0000, size = $0004;
-    RAM:    file = %O, define = yes, start = %S,    size = $9600 - __STACKSIZE__ - %S;
-    MOVE:   file = %O, define = yes, start = $0000, size = $FFFF;
-    LC:                define = yes, start = $D400, size = $0C00;
+    ZP:     file = "", define = yes, start = $0080,      size = $001A;
+    HEADER: file = %O,               start = $0000,      size = $0004;
+    RAM:    file = %O, define = yes, 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;
diff --git a/src/ld65/cfg/apple2enh-dos33.cfg b/src/ld65/cfg/apple2enh-dos33.cfg
deleted file mode 100644 (file)
index 644b0cc..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-# Configuration optimized for DOS 3.3 by allowing for 12KB of HIGHCODE
-
-FEATURES {
-    STARTADDRESS: default = $0803;
-}
-SYMBOLS {
-    __EXEHDR__:    type = import;
-    __STACKSIZE__: type = weak, value = $0800; # 2k stack
-    __LOADADDR__:  type = weak, value = __RAM_START__;
-    __LOADSIZE__:  type = weak, value = __ZPSAVE_RUN__ - __RAM_START__ +
-                                        __MOVE_LAST__  - __MOVE_START__;
-}
-MEMORY {
-    ZP:     file = "", define = yes, start = $0080, size = $001A;
-    HEADER: file = %O,               start = $0000, size = $0004;
-    RAM:    file = %O, define = yes, start = %S,    size = $9600 - __STACKSIZE__ - %S;
-    MOVE:   file = %O, define = yes, start = $0000, size = $FFFF;
-    LC:                define = yes, start = $D000, size = $3000;
-}
-SEGMENTS {
-    ZEROPAGE: load = ZP,              type = zp;
-    EXEHDR:   load = HEADER,          type = ro;
-    STARTUP:  load = RAM,             type = ro;
-    LOWCODE:  load = RAM,             type = ro;
-    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;
-    HIGHCODE: load = MOVE, run = LC,  type = ro,  optional = yes;
-}
-FEATURES {
-    CONDES: segment = INIT,
-            type    = constructor,
-            label   = __CONSTRUCTOR_TABLE__,
-            count   = __CONSTRUCTOR_COUNT__;
-    CONDES: segment = RODATA,
-            type    = destructor,
-            label   = __DESTRUCTOR_TABLE__,
-            count   = __DESTRUCTOR_COUNT__;
-    CONDES: segment = RODATA,
-            type    = interruptor,
-            label   = __INTERRUPTOR_TABLE__,
-            count   = __INTERRUPTOR_COUNT__;
-}
index 8cf2b43f5527234299e7819346934f32e36a5c13..4547f59d4d565cbb018f49e0f159a3ba500edf00 100644 (file)
@@ -5,17 +5,19 @@ FEATURES {
 }
 SYMBOLS {
     __EXEHDR__:    type = import;
+    __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__ +
                                         __MOVE_LAST__  - __MOVE_START__;
 }
 MEMORY {
-    ZP:     file = "", define = yes, start = $0080, size = $001A;
-    HEADER: file = %O,               start = $0000, size = $0004;
-    RAM:    file = %O, define = yes, start = %S,    size = $BF00 - __STACKSIZE__ - %S;
-    MOVE:   file = %O, define = yes, start = $0000, size = $FFFF;
-    LC:                define = yes, start = $D400, size = $0C00;
+    ZP:     file = "", define = yes, start = $0080,      size = $001A;
+    HEADER: file = %O,               start = $0000,      size = $0004;
+    RAM:    file = %O, define = yes, 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;
diff --git a/src/ld65/cfg/apple2enh-reboot.cfg b/src/ld65/cfg/apple2enh-reboot.cfg
deleted file mode 100644 (file)
index e10b0de..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-# Configuration allowing for 4KB of HIGHCODE optimized for programs
-# loaded with LOADER.SYSTEM and calling rebootafterexit()
-
-FEATURES {
-    STARTADDRESS: default = $0800;
-}
-SYMBOLS {
-    __EXEHDR__:    type = import;
-    __STACKSIZE__: type = weak, value = $0800; # 2k stack
-    __LOADADDR__:  type = weak, value = __RAM_START__;
-    __LOADSIZE__:  type = weak, value = __ZPSAVE_RUN__ - __RAM_START__ +
-                                        __MOVE_LAST__  - __MOVE_START__;
-}
-MEMORY {
-    ZP:     file = "", define = yes, start = $0080, size = $001A;
-    HEADER: file = %O,               start = $0000, size = $0004;
-    RAM:    file = %O, define = yes, start = %S,    size = $BF00 - __STACKSIZE__ - %S;
-    MOVE:   file = %O, define = yes, start = $0000, size = $FFFF;
-    LC:                define = yes, start = $D000, size = $1000;
-}
-SEGMENTS {
-    ZEROPAGE: load = ZP,              type = zp;
-    EXEHDR:   load = HEADER,          type = ro;
-    STARTUP:  load = RAM,             type = ro;
-    LOWCODE:  load = RAM,             type = ro;
-    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;
-    HIGHCODE: load = MOVE, run = LC,  type = ro,  optional = yes;
-}
-FEATURES {
-    CONDES: segment = INIT,
-            type    = constructor,
-            label   = __CONSTRUCTOR_TABLE__,
-            count   = __CONSTRUCTOR_COUNT__;
-    CONDES: segment = RODATA,
-            type    = destructor,
-            label   = __DESTRUCTOR_TABLE__,
-            count   = __DESTRUCTOR_COUNT__;
-    CONDES: segment = RODATA,
-            type    = interruptor,
-            label   = __INTERRUPTOR_TABLE__,
-            count   = __INTERRUPTOR_COUNT__;
-}
index 51397f096c47305d2f67fa97ea66b80f4b4a050c..35a7cfa21feeffe6f5db887512ebab59bc27e108 100644 (file)
@@ -2,17 +2,19 @@
 
 SYMBOLS {
     __EXEHDR__:    type = import;
+    __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__ +
                                         __MOVE_LAST__  - __MOVE_START__;
 }
 MEMORY {
-    ZP:     file = "", define = yes, start = $0080, size = $001A;
-    HEADER: file = "",               start = $0000, size = $0004;
-    RAM:    file = %O, define = yes, start = $2000, size = $9F00 - __STACKSIZE__;
-    MOVE:   file = %O, define = yes, start = $0000, size = $FFFF;
-    LC:                define = yes, start = $D400, size = $0C00;
+    ZP:     file = "", define = yes, start = $0080,      size = $001A;
+    HEADER: file = "",               start = $0000,      size = $0004;
+    RAM:    file = %O, define = yes, 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;
index 16f6428ce1d30a22b7d1b5491e117223f5784110..cef8c3b609f2378b2043ed6c69868a933b0ad183 100644 (file)
@@ -5,17 +5,19 @@ FEATURES {
 }
 SYMBOLS {
     __EXEHDR__:    type = import;
+    __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__ +
                                         __MOVE_LAST__  - __MOVE_START__;
 }
 MEMORY {
-    ZP:     file = "", define = yes, start = $0080, size = $001A;
-    HEADER: file = %O,               start = $0000, size = $0004;
-    RAM:    file = %O, define = yes, start = %S,    size = $9600 - __STACKSIZE__ - %S;
-    MOVE:   file = %O, define = yes, start = $0000, size = $FFFF;
-    LC:                define = yes, start = $D400, size = $0C00;
+    ZP:     file = "", define = yes, start = $0080,      size = $001A;
+    HEADER: file = %O,               start = $0000,      size = $0004;
+    RAM:    file = %O, define = yes, 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;