1 # Configuration allowing for 4KB of HIGHCODE optimized for programs
2 # loaded with LOADER.SYSTEM and calling rebootafterexit()
5 STARTADDRESS: default = $0800;
8 __STACKSIZE__: value = $0800, weak = yes; # 2k stack
11 ZP: define = yes, start = $0080, size = $001A;
12 HEADER: file = %O, start = $0000, size = $0004;
13 RAM: file = %O, define = yes, start = %S, size = $BF00 - __STACKSIZE__ - %S;
14 MOVE: file = %O, define = yes, start = $0000, size = $FFFF;
15 LC: define = yes, start = $D000, size = $1000;
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;
31 CONDES: segment = INIT,
33 label = __CONSTRUCTOR_TABLE__,
34 count = __CONSTRUCTOR_COUNT__;
35 CONDES: segment = RODATA,
37 label = __DESTRUCTOR_TABLE__,
38 count = __DESTRUCTOR_COUNT__;
39 CONDES: segment = RODATA,
41 label = __INTERRUPTOR_TABLE__,
42 count = __INTERRUPTOR_COUNT__;