]> git.sur5r.net Git - cc65/blobdiff - src/ld65/cfg/cbm510.cfg
Made stacksize user-adjustable on the cmdline.
[cc65] / src / ld65 / cfg / cbm510.cfg
index f11e5cc7bd8a29860d708fe5dec83b8ae6b01e20..5bbd75540f9a0fe720e6eeee75ecfb981354948f 100644 (file)
@@ -1,19 +1,30 @@
 MEMORY {
-    ZP: start = $02, size = $8E, type = rw, define = yes;
-    RAM: start = $0001, size = $DFFF, file = %O;
-    CHARRAM: start = $E000, size = $1000, define = yes, file = "";
-    VIDRAM: start = $F000, size = $0400, define = yes, file = "";
+    BASICHDR: start = $0001, size = $0050, fill = yes, fillval = 0, type = rw, file = %O;
+    ZP:       start = $0051, size = $00AD, fill = yes, fillval = 0, type = rw, file = %O, define = yes;
+    STARTUP:  start = $00FE, size = $0102, fill = yes, fillval = 0, file = %O;
+    PAGE2:    start = $0200, size = $0100, fill = yes, fillval = 0, file = %O;
+    PAGE3:    start = $0300, size = $0100, fill = yes, fillval = 0, file = %O;
+    RAM:      start = $0400, size = $DC00, file = %O;
+    CHARRAM:  start = $E000, size = $1000, define = yes, file = "";
+    VIDRAM:   start = $F000, size = $0400, define = yes, file = "";
 }
 SEGMENTS {
-    CODE: load = RAM, type = wprot;
-    RODATA: load = RAM, type = wprot;
-    DATA: load = RAM, type = rw;
-    BSS: load = RAM, type = bss, define = yes;
-    ZEROPAGE: load = ZP, type = zp;
-    EXTZP: load = ZP, type = zp, define = yes;
+    BASICHDR: load = BASICHDR, type = rw;
+    STARTUP:  load = STARTUP,  type = rw;
+    PAGE2:    load = PAGE2,    type = rw;
+    PAGE3:    load = PAGE3,    type = rw;
+    LOWCODE:  load = RAM,      type = ro,               optional = yes;
+    INIT:     load = RAM,      type = ro, define = yes, optional = yes;
+    CODE:     load = RAM,      type = ro;
+    RODATA:   load = RAM,      type = ro;
+    DATA:     load = RAM,      type = rw;
+    BSS:      load = RAM,      type = bss, define = yes;
+    HEAP:     load = RAM,      type = bss, optional = yes; # must sit just below stack
+    ZEROPAGE: load = ZP,       type = zp;
+    EXTZP:    load = ZP,       type = rw,  define = yes;
 }
 FEATURES {
-    CONDES: segment = RODATA,
+    CONDES: segment = INIT,
            type = constructor,
            label = __CONSTRUCTOR_TABLE__,
            count = __CONSTRUCTOR_COUNT__;
@@ -22,10 +33,10 @@ FEATURES {
            label = __DESTRUCTOR_TABLE__,
            count = __DESTRUCTOR_COUNT__;
     CONDES: segment = RODATA,
-           type = 2,
-           label = __IRQFUNC_TABLE__,
-           count = __IRQFUNC_COUNT__;
+           type = interruptor,
+           label = __INTERRUPTOR_TABLE__,
+           count = __INTERRUPTOR_COUNT__;
 }
 SYMBOLS {
-    __STACKSIZE__ = $781;              # ~2K stack
+    __STACKSIZE__: value = $0781, weak = yes; # ~2k stack
 }