2 __CARTSIZE__: type = weak, value = $4000; # possible values: $4000 and $8000
3 __CART_ENTRY__: type = import;
4 __STACKSIZE__: type = weak, value = $0400; # 4 pages stack
5 __RESERVED_MEMORY__: type = export, value = $01E0; # space for 20x24 screen buffer (default display list is in ROM)
8 ZP: file = "", start = $001D, size = $00E3, define = yes;
9 RAM: file = "", start = $021C, size = $4000 - __STACKSIZE__ - __RESERVED_MEMORY__ - $021C, define = yes;
10 ROM: file = %O, start = $C000 - __CARTSIZE__, size = __CARTSIZE__ - $18, define = yes, fill = yes, fillval = $FF;
11 CARTNAME: file = %O, start = $BFE8, size = $0014 fill = yes, fillval = $40;
12 CARTYEAR: file = %O, start = $BFFC, size = $0002 fill = yes, fillval = $59;
13 CARTENTRY: file = %O, start = $BFFE, size = $0002;
16 STARTUP: load = ROM, type = ro, define = yes, optional = yes;
17 LOWCODE: load = ROM, type = ro, define = yes, optional = yes;
18 INIT: load = ROM, type = ro, optional = yes;
19 CODE: load = ROM, type = ro, define = yes;
20 RODATA: load = ROM, type = ro, optional = yes;
21 DATA: load = ROM, run = RAM, type = rw, define = yes, optional = yes;
22 BSS: load = RAM, type = bss, define = yes, optional = yes;
23 CARTNAME: load = CARTNAME, type = ro, define = yes;
24 CARTYEAR: load = CARTYEAR, type = ro, define = yes;
25 CARTENTRY: load = CARTENTRY, type = ro, define = yes;
26 ZEROPAGE: load = ZP, type = zp, optional = yes;
27 EXTZP: load = ZP, type = zp, optional = yes;
30 CONDES: type = constructor,
31 label = __CONSTRUCTOR_TABLE__,
32 count = __CONSTRUCTOR_COUNT__,
34 CONDES: type = destructor,
35 label = __DESTRUCTOR_TABLE__,
36 count = __DESTRUCTOR_COUNT__,
38 CONDES: type = interruptor,
39 label = __INTERRUPTOR_TABLE__,
40 count = __INTERRUPTOR_COUNT__,