2 __TAPEHDR__: type = import;
3 __BASHDR__: type = import;
4 __PROGFLAG__: type = weak, value = $00; # $00=BASIC, $80=machine code
5 __AUTORUN__: type = weak, value = $00; # $00=only load, $C7=run
6 __STACKSIZE__: type = weak, value = $0800; # 2K stack
7 __GRAB__: type = weak, value = 0; # 0=don't grab graphics RAM, 1=grab graphics RAM
8 __RAMEND__: type = weak, value = $9800 + $1C00 * __GRAB__;
11 ZP: file = "", define = yes, start = $00E2, size = $001A;
12 TAPEHDR: file = %O, type = ro, start = $0000, size = $001F;
13 BASHEAD: file = %O, define = yes, start = $0501, size = $000D;
14 MAIN: file = %O, define = yes, start = __BASHEAD_LAST__, size = __RAMEND__ - __MAIN_START__ - __STACKSIZE__;
17 ZEROPAGE: load = ZP, type = zp;
18 TAPEHDR: load = TAPEHDR, type = ro;
19 BASHDR: load = BASHEAD, type = ro, define = yes, optional = yes;
20 STARTUP: load = MAIN, type = ro;
21 LOWCODE: load = MAIN, type = ro, optional = yes;
22 CODE: load = MAIN, type = ro;
23 RODATA: load = MAIN, type = ro;
24 ONCE: load = MAIN, type = ro, optional = yes;
25 DATA: load = MAIN, type = rw;
26 INIT: load = MAIN, type = rw, optional = yes;
27 ZPSAVE1: load = MAIN, type = rw, define = yes; # ZPSAVE1, ZPSAVE2 must be together
28 ZPSAVE2: load = MAIN, type = bss; # see "libsrc/atmos/crt0.s"
29 BSS: load = MAIN, type = bss, 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__,