-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlink.cfg
45 lines (36 loc) · 1.39 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
43
44
45
# comment
# $1400 = 5120 bytes
# $5C00 = 23552 bytes
# $3000 = 12288 bytes
# ---------------------
# Total = 40960 bytes
MEMORY {
ZP: start = $0000, size = $0100, type = rw;
STACK: start = $0100, size = $0100, type = rw;
# 3FE-3FF is vector interrupt !
LOW_MEM: start = $0300, size = $1E00, type = rw;
# GR1/GR2 = 1Kb each
RAM_GR1: start = $0400, size = $0400;
RAM_GR2: start = $0800, size = $0400;
# $0C00 : 5120 bytes
RAM_0C00: start = $0C00, size = $1400;
RAM_HGR1: start = $2000, size = $2000;
RAM_HGR2: start = $4000, size = $2000;
# $6000 - $BF00 : 24320 bytes
RAM_6000: start = $6000, size = $5F00;
ROM_C000: start = $C000, size = $1000;
RAM_D000: start = $D000, size = $3000, file = "build/datad000.o";
# from $0400, still 1.5 kilobyes to $0A00
# $800 is tricky because PROM calls it during
# fstbt execution !!!
# From $800 to $2000 : 24*256 = 6144 bytes
# LOADER_MEM: start = $0A00, size = $1600;
LOADER_MEM: start = $0800, size = $1C00, file = "build/LOADER";
#LOADER_MEM: start = $0800, size = $1800, file = "build/LOADER";
}
SEGMENTS {
ZEROPAGE: load = ZP, type = zp;
CODE: load = RAM_6000, type = rw, align = $100;
RAM_D000: load = RAM_D000, type = rw, align = $100;
LOADER: load = LOADER_MEM, type = rw, align = $100;
}