-
Notifications
You must be signed in to change notification settings - Fork 1
/
link.cfg
42 lines (42 loc) · 1.5 KB
/
link.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
FEATURES {
STARTADDRESS: default = $8000;
}
#SYMBOLS {
# __STACKSIZE__: type = weak, value = $0800; # 2k stack
# __STACKSTART__: type = weak, value = $5FFF;
# __ZPSTART__: type = weak, value = $0000;
#}
MEMORY {
ZP: start = $0, size = $100, type = rw, define = yes;
RAM: start = $200, size = $5E00, type = rw, define = yes;
ROM: start = $8000, size = $8000, type = ro, file = "%O.rom.bin", fillval=$ea, fill=yes;
}
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 = ROM, type = ro, start = $8000;
RODATA: load = ROM, type = ro;
# DATA: load = ROM, run = MAIN, type = rw, define = yes;
# BSS: load = MAIN, type = bss, define = yes;
VECTORS: load = ROM, type = ro, start = $FFFA;
}
#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__;
#}
FILES {
%O: format = bin;
}