1 # Default configuration built into ld65 (allowing for 3KB in LC)
4 STARTADDRESS: default = $0803;
7 __EXEHDR__: type = import;
8 __HIMEM__: type = weak, value = $9600; # Presumed RAM end
9 __LCADDR__: type = weak, value = $D400; # Behind quit code
10 __LCSIZE__: type = weak, value = $0C00; # Rest of bank two
11 __STACKSIZE__: type = weak, value = $0800; # 2k stack
12 __LOADADDR__: type = weak, value = __STARTUP_RUN__;
13 __LOADSIZE__: type = weak, value = __ZPSAVE_RUN__ - __STARTUP_RUN__ +
14 __MOVE_LAST__ - __MOVE_START__;
17 ZP: define = yes, start = $0080, size = $001A;
18 HEADER: file = %O, start = $0000, size = $0004;
19 RAM: file = %O, start = %S, size = __HIMEM__ - __STACKSIZE__ - %S;
20 MOVE: file = %O, define = yes, start = $0000, size = $FFFF;
21 LC: define = yes, start = __LCADDR__, size = __LCSIZE__;
24 ZEROPAGE: load = ZP, type = zp;
25 EXEHDR: load = HEADER, type = ro;
26 STARTUP: load = RAM, type = ro, define = yes;
27 LOWCODE: load = RAM, type = ro;
28 CODE: load = RAM, type = ro;
29 RODATA: load = RAM, type = ro;
30 DATA: load = RAM, type = rw;
31 ZPSAVE: load = RAM, type = bss, define = yes;
32 BSS: load = RAM, type = bss, define = yes;
33 INIT: load = MOVE, run = RAM, type = ro, define = yes;
34 LC: load = MOVE, run = LC, type = ro, optional = yes;
37 CONDES: segment = INIT,
39 label = __CONSTRUCTOR_TABLE__,
40 count = __CONSTRUCTOR_COUNT__;
41 CONDES: segment = RODATA,
43 label = __DESTRUCTOR_TABLE__,
44 count = __DESTRUCTOR_COUNT__;
45 CONDES: segment = RODATA,
47 label = __INTERRUPTOR_TABLE__,
48 count = __INTERRUPTOR_COUNT__;