]> git.sur5r.net Git - cc65/blob - cfg/c64.cfg
Merge pull request #1 from cc65/master
[cc65] / cfg / c64.cfg
1 FEATURES {
2     STARTADDRESS:  default = $0801;
3 }
4 SYMBOLS {
5     __LOADADDR__:  type = import;
6     __EXEHDR__:    type = import;
7     __STACKSIZE__: type = weak, value = $0800; # 2k stack
8     __HIMEM__:     type = weak, value = $D000;
9 }
10 MEMORY {
11     ZP:       file = "", define = yes, start = $0002,            size = $001A;
12     LOADADDR: file = %O,               start = %S - 2,           size = $0002;
13     HEADER:   file = %O, define = yes, start = %S,               size = $000D;
14     MAIN:     file = %O, define = yes, start = __HEADER_LAST__,  size = __HIMEM__ - __STACKSIZE__ - __HEADER_LAST__;
15     MOVE:     file = %O,               start = __INITBSS_LOAD__, size = __HIMEM__ - __BSS_RUN__;
16     INIT:     file = "",               start = __BSS_RUN__,      size = __HIMEM__ - __BSS_RUN__;
17 }
18 SEGMENTS {
19     ZEROPAGE: load = ZP,               type = zp;
20     LOADADDR: load = LOADADDR,         type = ro;
21     EXEHDR:   load = HEADER,           type = ro;
22     STARTUP:  load = MAIN,             type = ro;
23     LOWCODE:  load = MAIN,             type = ro,                optional = yes;
24     CODE:     load = MAIN,             type = ro;
25     RODATA:   load = MAIN,             type = ro;
26     DATA:     load = MAIN,             type = rw;
27     INITBSS:  load = MAIN,             type = bss, define = yes;
28     BSS:      load = MAIN,             type = bss, define = yes;
29     INIT:     load = MOVE, run = INIT, type = ro,  define = yes;
30 }
31 FEATURES {
32     CONDES: type    = constructor,
33             label   = __CONSTRUCTOR_TABLE__,
34             count   = __CONSTRUCTOR_COUNT__,
35             segment = INIT;
36     CONDES: type    = destructor,
37             label   = __DESTRUCTOR_TABLE__,
38             count   = __DESTRUCTOR_COUNT__,
39             segment = RODATA;
40     CONDES: type    = interruptor,
41             label   = __INTERRUPTOR_TABLE__,
42             count   = __INTERRUPTOR_COUNT__,
43             segment = RODATA,
44             import  = __CALLIRQ__;
45 }