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