]> git.sur5r.net Git - cc65/blob - src/ld65/cfg/apple2-system.cfg
297fd3422df52256dd8e37dde2b1c6727a53565a
[cc65] / src / ld65 / cfg / apple2-system.cfg
1 # Configuration for ProDOS 8 system programs (without the header)
2
3 MEMORY {
4     ZP:     start = $0080, size = $001A,            define = yes;
5     HEADER: start = $0000, size = $0004, file = "";
6     RAM:    start = $2000, size = $9F00, file = %O, define = yes;
7     MOVE:   start = $0000, size = $FFFF, file = %O, define = yes;
8     LC:     start = $D400, size = $0C00,            define = yes;
9 }
10 SEGMENTS {
11     ZEROPAGE: load = ZP,              type = zp;
12     EXEHDR:   load = HEADER,          type = ro;
13     STARTUP:  load = RAM,             type = ro;
14     LOWCODE:  load = RAM,             type = ro;
15     CODE:     load = RAM,             type = ro;
16     RODATA:   load = RAM,             type = ro;
17     DATA:     load = RAM,             type = rw;
18     ZPSAVE:   load = RAM,             type = bss, define   = yes;
19     BSS:      load = RAM,             type = bss, define   = yes;
20     INIT:     load = MOVE, run = RAM, type = ro,  define   = yes;
21     HIGHCODE: load = MOVE, run = LC,  type = ro,  optional = yes;
22 }
23 FEATURES {
24     CONDES: segment = INIT,
25             type    = constructor,
26             label   = __CONSTRUCTOR_TABLE__,
27             count   = __CONSTRUCTOR_COUNT__;
28     CONDES: segment = RODATA,
29             type    = destructor,
30             label   = __DESTRUCTOR_TABLE__,
31             count   = __DESTRUCTOR_COUNT__;
32     CONDES: type    = interruptor,
33             segment = RODATA,
34             label   = __INTERRUPTOR_TABLE__,
35             count   = __INTERRUPTOR_COUNT__;
36 }
37 SYMBOLS {
38     __STACKSIZE__ = $0800; # 2k stack
39 }