-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathkernel.cfg
44 lines (43 loc) · 1.57 KB
/
kernel.cfg
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
FEATURES {
STARTADDRESS: default = $1000;
}
SYMBOLS {
__STACKSIZE__: type = weak, value = $0800; # 2k stack
__STACKSTART__: type = weak, value = $8000;
__ZPSTART__: type = weak, value = $0080;
}
MEMORY {
BANK0: type = ro, start = $C000,size = $FFFF,file = "kernelr.rom";
BANK7: type = ro, start = $C000,size = $FFFF,file = "kernel.rom";
BANK8: type = ro, start = $C000,size = $FFFF,file = "kernel2.rom";
ZP: file = "", define = yes, start = __ZPSTART__, size = $001F;
MAIN: file = %O, start = %S, size = __STACKSTART__ - __STACKSIZE__ - %S;
}
SEGMENTS {
ZEROPAGE: load = ZP, type = zp;
STARTUP: load = MAIN, type = ro, optional = yes;
LOWCODE: load = MAIN, type = ro, optional = yes;
ONCE: load = MAIN, type = ro, optional = yes;
CODE: load = MAIN, type = rw;
RODATA: load = MAIN, type = rw;
DATA: load = MAIN, type = rw;
BSS: load = MAIN, type = bss, define = yes;
BANK8: load = BANK8, type = ro;
BANK7: load = BANK7, type = ro;
BANK0: load = BANK0, type = ro;
}
FEATURES {
CONDES: type = constructor,
label = __CONSTRUCTOR_TABLE__,
count = __CONSTRUCTOR_COUNT__,
segment = ONCE;
CONDES: type = destructor,
label = __DESTRUCTOR_TABLE__,
count = __DESTRUCTOR_COUNT__,
segment = RODATA;
CONDES: type = interruptor,
label = __INTERRUPTOR_TABLE__,
count = __INTERRUPTOR_COUNT__,
segment = RODATA,
import = __CALLIRQ__;
}