]> git.sur5r.net Git - cc65/blob - src/ld65/cfg/apple2enh.cfg
Moved Apple EXEHDR to separate module (similiar to CBMs).
[cc65] / src / ld65 / cfg / apple2enh.cfg
1 # Default configuration built into ld65 (allowing for 3KB of HIGHCODE)
2
3 FEATURES {
4     STARTADDRESS: default = $0803;
5 }
6 SYMBOLS {
7     __EXEHDR__:    type = import;
8     __STACKSIZE__: type = weak, value = $0800; # 2k stack
9 }
10 MEMORY {
11     ZP:     file = "", define = yes, start = $0080, size = $001A;
12     HEADER: file = %O,               start = $0000, size = $0004;
13     RAM:    file = %O, define = yes, start = %S,    size = $9600 - __STACKSIZE__ - %S;
14     MOVE:   file = %O, define = yes, start = $0000, size = $FFFF;
15     LC:                define = yes, start = $D400, size = $0C00;
16 }
17 SEGMENTS {
18     ZEROPAGE: load = ZP,              type = zp;
19     EXEHDR:   load = HEADER,          type = ro;
20     STARTUP:  load = RAM,             type = ro;
21     LOWCODE:  load = RAM,             type = ro;
22     CODE:     load = RAM,             type = ro;
23     RODATA:   load = RAM,             type = ro;
24     DATA:     load = RAM,             type = rw;
25     ZPSAVE:   load = RAM,             type = bss, define   = yes;
26     BSS:      load = RAM,             type = bss, define   = yes;
27     INIT:     load = MOVE, run = RAM, type = ro,  define   = yes;
28     HIGHCODE: load = MOVE, run = LC,  type = ro,  optional = yes;
29 }
30 FEATURES {
31     CONDES: segment = INIT,
32             type    = constructor,
33             label   = __CONSTRUCTOR_TABLE__,
34             count   = __CONSTRUCTOR_COUNT__;
35     CONDES: segment = RODATA,
36             type    = destructor,
37             label   = __DESTRUCTOR_TABLE__,
38             count   = __DESTRUCTOR_COUNT__;
39     CONDES: segment = RODATA,
40             type    = interruptor,
41             label   = __INTERRUPTOR_TABLE__,
42             count   = __INTERRUPTOR_COUNT__;
43 }