2 STARTADDRESS: default = $0801;
5 __LOADADDR__: type = import;
6 __EXEHDR__: type = import;
7 __STACKSIZE__: type = weak, value = $0800; # 2k stack
8 __HIMEM__: type = weak, value = $D000;
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__;
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;
32 CONDES: type = constructor,
33 label = __CONSTRUCTOR_TABLE__,
34 count = __CONSTRUCTOR_COUNT__,
36 CONDES: type = destructor,
37 label = __DESTRUCTOR_TABLE__,
38 count = __DESTRUCTOR_COUNT__,
40 CONDES: type = interruptor,
41 label = __INTERRUPTOR_TABLE__,
42 count = __INTERRUPTOR_COUNT__,