]> git.sur5r.net Git - cc65/blob - src/ld65/cfg/c64.cfg
Define HEADER memory area for the EXEHDR segment for consistency reasons with the...
[cc65] / src / ld65 / cfg / c64.cfg
1 MEMORY {
2     ZP:     start = $0002, size = $001A, type = rw, define = yes;
3     HEADER: start = $07FF, size = $000E, file = %O;
4     RAM:    start = $080D, size = $C7F3, file = %O, define = yes;
5 }
6 SEGMENTS {
7     EXEHDR:   load = HEADER, type = ro;
8     STARTUP:  load = RAM,    type = ro;
9     LOWCODE:  load = RAM,    type = ro,               optional = yes;
10     INIT:     load = RAM,    type = ro, define = yes, optional = yes;
11     CODE:     load = RAM,    type = ro;
12     RODATA:   load = RAM,    type = ro;
13     DATA:     load = RAM,    type = rw;
14     ZPSAVE:   load = RAM,    type = bss;
15     BSS:      load = RAM,    type = bss, define = yes;
16     HEAP:     load = RAM,    type = bss, optional = yes; # must sit just below stack
17     ZEROPAGE: load = ZP,     type = zp;
18 }
19 FEATURES {
20     CONDES: segment = INIT,
21             type = constructor,
22             label = __CONSTRUCTOR_TABLE__,
23             count = __CONSTRUCTOR_COUNT__;
24     CONDES: segment = RODATA,
25             type = destructor,
26             label = __DESTRUCTOR_TABLE__,
27             count = __DESTRUCTOR_COUNT__;
28     CONDES: segment = RODATA,
29             type = interruptor,
30             label = __INTERRUPTOR_TABLE__,
31             count = __INTERRUPTOR_COUNT__;
32 }
33 SYMBOLS {
34     __STACKSIZE__: value = $0800, weak = yes; # 2k stack
35 }
36
37