]> git.sur5r.net Git - cc65/blob - src/ld65/cfg/supervision-16k.cfg
Made stacksize user-adjustable on the cmdline.
[cc65] / src / ld65 / cfg / supervision-16k.cfg
1 # supervision 16kbyte cartridge
2
3 # ld65 config file
4 # ld65 --config supervision16.cfg -o <prog>.bin <prog>.o
5 MEMORY {
6     ZP:       start = $0000, size = $0100;
7     CPUSTACK: start = $0100, size = $0100;
8     RAM:      start = $0200, size = $1E00;
9     VRAM:     start = $4000, size = $2000;
10     ROM:      start = $C000, size = $4000, fill = yes, fillval = $ff, file=%O, define=yes;
11 }
12
13 SEGMENTS {
14     LOWCODE:  load = ROM,            type = ro,                optional = yes;
15     INIT:     load = ROM,            type = ro,  define = yes, optional = yes;
16     CODE:     load = ROM,            type = ro,  define = yes;
17     RODATA:   load = ROM,            type = ro,  define = yes;
18     DATA:     load = ROM, run = RAM, type = rw,  define = yes;
19     FFF0:     load = ROM,            type = ro,  offset = $3FF0;
20     VECTOR:   load = ROM,            type = ro,  offset = $3FFA;
21     BSS:      load = RAM,            type = bss, define = yes;
22     HEAP:     load = RAM,            type = bss, optional = yes; # must sit just below stack
23     ZEROPAGE: load = ZP,             type = zp,  define = yes;
24 }
25 FEATURES {
26     CONDES: segment = INIT,
27             type = constructor,
28             label = __CONSTRUCTOR_TABLE__,
29             count = __CONSTRUCTOR_COUNT__;
30     CONDES: segment = RODATA,
31             type = destructor,
32             label = __DESTRUCTOR_TABLE__,
33             count = __DESTRUCTOR_COUNT__;
34     CONDES: type = interruptor,
35             segment = RODATA,
36             label = __INTERRUPTOR_TABLE__,
37             count = __INTERRUPTOR_COUNT__;
38 }
39