-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathnesbanked.cfg
198 lines (186 loc) · 12.6 KB
/
nesbanked.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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
# https://github.com/sehugg/8bitworkshop/issues/186
# https://github.com/seanwiththebeard/8bitworkshop_MMC3_siegegame
SYMBOLS {
__STACKSIZE__: type = weak, value = $0500; # 5 pages stack
}
MEMORY {
ZP: file = "", start = $0002, size = $00FE, type = rw, define = yes;
# INES Cartridge Header
HEADER: file = %O, start = $0000, size = $0010, fill = yes;
#ROM Banks @ $8000
PRGA_0: start = $8000, size = $2000, file = %O ,fill = yes, define = yes;
PRGA_1: start = $8000, size = $2000, file = %O ,fill = yes, define = yes;
PRGA_2: start = $8000, size = $2000, file = %O ,fill = yes, define = yes;
PRGA_3: start = $8000, size = $2000, file = %O ,fill = yes, define = yes;
PRGA_4: start = $8000, size = $2000, file = %O ,fill = yes, define = yes;
PRGA_5: start = $8000, size = $2000, file = %O ,fill = yes, define = yes;
PRGA_6: start = $8000, size = $2000, file = %O ,fill = yes, define = yes;
PRGA_7: start = $8000, size = $2000, file = %O ,fill = yes, define = yes;
PRGA_8: start = $8000, size = $2000, file = %O ,fill = yes, define = yes;
PRGA_9: start = $8000, size = $2000, file = %O ,fill = yes, define = yes;
PRGA_10: start = $8000, size = $2000, file = %O ,fill = yes, define = yes;
PRGA_11: start = $8000, size = $2000, file = %O ,fill = yes, define = yes;
PRGA_12: start = $8000, size = $2000, file = %O ,fill = yes, define = yes;
PRGA_13: start = $8000, size = $2000, file = %O ,fill = yes, define = yes;
PRGA_14: start = $8000, size = $2000, file = %O ,fill = yes, define = yes;
PRGA_15: start = $8000, size = $2000, file = %O ,fill = yes, define = yes;
PRGA_16: start = $8000, size = $2000, file = %O ,fill = yes, define = yes;
PRGA_17: start = $8000, size = $2000, file = %O ,fill = yes, define = yes;
PRGA_18: start = $8000, size = $2000, file = %O ,fill = yes, define = yes;
PRGA_19: start = $8000, size = $2000, file = %O ,fill = yes, define = yes;
PRGA_20: start = $8000, size = $2000, file = %O ,fill = yes, define = yes;
PRGA_21: start = $8000, size = $2000, file = %O ,fill = yes, define = yes;
PRGA_22: start = $8000, size = $2000, file = %O ,fill = yes, define = yes;
PRGA_23: start = $8000, size = $2000, file = %O ,fill = yes, define = yes;
PRGA_24: start = $8000, size = $2000, file = %O ,fill = yes, define = yes;
PRGA_25: start = $8000, size = $2000, file = %O ,fill = yes, define = yes;
PRGA_26: start = $8000, size = $2000, file = %O ,fill = yes, define = yes;
PRGA_27: start = $8000, size = $2000, file = %O ,fill = yes, define = yes;
PRGA_28: start = $8000, size = $2000, file = %O ,fill = yes, define = yes;
PRGA_29: start = $8000, size = $2000, file = %O ,fill = yes, define = yes;
PRGA_30: start = $8000, size = $2000, file = %O ,fill = yes, define = yes;
#ROM Banks @ $a000
PRGB_0: start = $a000, size = $2000, file = %O ,fill = yes, define = yes;
PRGB_1: start = $a000, size = $2000, file = %O ,fill = yes, define = yes;
PRGB_2: start = $a000, size = $2000, file = %O ,fill = yes, define = yes;
PRGB_3: start = $a000, size = $2000, file = %O ,fill = yes, define = yes;
PRGB_4: start = $a000, size = $2000, file = %O ,fill = yes, define = yes;
PRGB_5: start = $a000, size = $2000, file = %O ,fill = yes, define = yes;
PRGB_6: start = $a000, size = $2000, file = %O ,fill = yes, define = yes;
PRGB_7: start = $a000, size = $2000, file = %O ,fill = yes, define = yes;
PRGB_8: start = $a000, size = $2000, file = %O ,fill = yes, define = yes;
PRGB_9: start = $a000, size = $2000, file = %O ,fill = yes, define = yes;
PRGB_10: start = $a000, size = $2000, file = %O ,fill = yes, define = yes;
PRGB_11: start = $a000, size = $2000, file = %O ,fill = yes, define = yes;
PRGB_12: start = $a000, size = $2000, file = %O ,fill = yes, define = yes;
PRGB_13: start = $a000, size = $2000, file = %O ,fill = yes, define = yes;
PRGB_14: start = $a000, size = $2000, file = %O ,fill = yes, define = yes;
PRGB_15: start = $a000, size = $2000, file = %O ,fill = yes, define = yes;
PRGB_16: start = $a000, size = $2000, file = %O ,fill = yes, define = yes;
PRGB_17: start = $a000, size = $2000, file = %O ,fill = yes, define = yes;
PRGB_18: start = $a000, size = $2000, file = %O ,fill = yes, define = yes;
PRGB_19: start = $a000, size = $2000, file = %O ,fill = yes, define = yes;
PRGB_20: start = $a000, size = $2000, file = %O ,fill = yes, define = yes;
PRGB_21: start = $a000, size = $2000, file = %O ,fill = yes, define = yes;
PRGB_22: start = $a000, size = $2000, file = %O ,fill = yes, define = yes;
PRGB_23: start = $a000, size = $2000, file = %O ,fill = yes, define = yes;
PRGB_24: start = $a000, size = $2000, file = %O ,fill = yes, define = yes;
PRGB_25: start = $a000, size = $2000, file = %O ,fill = yes, define = yes;
PRGB_26: start = $a000, size = $2000, file = %O ,fill = yes, define = yes;
PRGB_27: start = $a000, size = $2000, file = %O ,fill = yes, define = yes;
PRGB_28: start = $a000, size = $2000, file = %O ,fill = yes, define = yes;
PRGB_29: start = $a000, size = $2000, file = %O ,fill = yes, define = yes;
PRGB_30: start = $a000, size = $2000, file = %O ,fill = yes, define = yes;
# fixed 16K ROM banks @ $c000
PRG_FIXED: start = $C000, size = $2000, file = %O ,fill = yes, define = yes;
# final bank has
# - startup
# - code
# - vectors
PRG_LAST: file = %O, start = $E000, size = $1FFA, fill = yes, define = yes;
VECTORS: file = %O, start = $FFFA, size = $0006, fill = yes;
# 32 8k CHR Banks (256k)
CHR: file = %O, start = $0000, size = $40000, fill = yes;
# standard 2k SRAM (-zeropage)
# $0100-$0200 cpu stack
# $0200-$0500 3 pages for ppu memory write buffer
# $0500-$0800 3 pages for cc65 parameter stack
RAM: file = "", start = $0300, size = __STACKSIZE__, define = yes;
# additional 8K SRAM Bank
# - data (run)
# - bss
# - heap
SRAM: file = "", start = $6000, size = $2000, define = yes;
}
SEGMENTS {
ZEROPAGE: load = ZP, type = zp;
HEADER: load = HEADER, type = ro;
CODEA_0: load = PRGA_0, type = ro, define = yes, optional = yes;
CODEA_1: load = PRGA_1, type = ro, define = yes, optional = yes;
CODEA_2: load = PRGA_2, type = ro, define = yes, optional = yes;
CODEA_3: load = PRGA_3, type = ro, define = yes, optional = yes;
CODEA_4: load = PRGA_4, type = ro, define = yes, optional = yes;
CODEA_5: load = PRGA_5, type = ro, define = yes, optional = yes;
CODEA_6: load = PRGA_6, type = ro, define = yes, optional = yes;
CODEA_7: load = PRGA_7, type = ro, define = yes, optional = yes;
CODEA_8: load = PRGA_8, type = ro, define = yes, optional = yes;
CODEA_9: load = PRGA_9, type = ro, define = yes, optional = yes;
CODEA_10: load = PRGA_10, type = ro, define = yes, optional = yes;
CODEA_11: load = PRGA_11, type = ro, define = yes, optional = yes;
CODEA_12: load = PRGA_12, type = ro, define = yes, optional = yes;
CODEA_13: load = PRGA_13, type = ro, define = yes, optional = yes;
CODEA_14: load = PRGA_14, type = ro, define = yes, optional = yes;
CODEA_15: load = PRGA_15, type = ro, define = yes, optional = yes;
CODEA_16: load = PRGA_16, type = ro, define = yes, optional = yes;
CODEA_17: load = PRGA_17, type = ro, define = yes, optional = yes;
CODEA_18: load = PRGA_18, type = ro, define = yes, optional = yes;
CODEA_19: load = PRGA_19, type = ro, define = yes, optional = yes;
CODEA_20: load = PRGA_20, type = ro, define = yes, optional = yes;
CODEA_21: load = PRGA_21, type = ro, define = yes, optional = yes;
CODEA_22: load = PRGA_22, type = ro, define = yes, optional = yes;
CODEA_23: load = PRGA_23, type = ro, define = yes, optional = yes;
CODEA_24: load = PRGA_24, type = ro, define = yes, optional = yes;
CODEA_25: load = PRGA_25, type = ro, define = yes, optional = yes;
CODEA_26: load = PRGA_26, type = ro, define = yes, optional = yes;
CODEA_27: load = PRGA_27, type = ro, define = yes, optional = yes;
CODEA_28: load = PRGA_28, type = ro, define = yes, optional = yes;
CODEA_29: load = PRGA_29, type = ro, define = yes, optional = yes;
CODEA_30: load = PRGA_30, type = ro, define = yes, optional = yes;
CODEB_0: load = PRGB_0, type = ro, define = yes, optional = yes;
CODEB_1: load = PRGB_1, type = ro, define = yes, optional = yes;
CODEB_2: load = PRGB_2, type = ro, define = yes, optional = yes;
CODEB_3: load = PRGB_3, type = ro, define = yes, optional = yes;
CODEB_4: load = PRGB_4, type = ro, define = yes, optional = yes;
CODEB_5: load = PRGB_5, type = ro, define = yes, optional = yes;
CODEB_6: load = PRGB_6, type = ro, define = yes, optional = yes;
CODEB_7: load = PRGB_7, type = ro, define = yes, optional = yes;
CODEB_8: load = PRGB_8, type = ro, define = yes, optional = yes;
CODEB_9: load = PRGB_9, type = ro, define = yes, optional = yes;
CODEB_10: load = PRGB_10, type = ro, define = yes, optional = yes;
CODEB_11: load = PRGB_11, type = ro, define = yes, optional = yes;
CODEB_12: load = PRGB_12, type = ro, define = yes, optional = yes;
CODEB_13: load = PRGB_13, type = ro, define = yes, optional = yes;
CODEB_14: load = PRGB_14, type = ro, define = yes, optional = yes;
CODEB_15: load = PRGB_15, type = ro, define = yes, optional = yes;
CODEB_16: load = PRGB_16, type = ro, define = yes, optional = yes;
CODEB_17: load = PRGB_17, type = ro, define = yes, optional = yes;
CODEB_18: load = PRGB_18, type = ro, define = yes, optional = yes;
CODEB_19: load = PRGB_19, type = ro, define = yes, optional = yes;
CODEB_20: load = PRGB_20, type = ro, define = yes, optional = yes;
CODEB_21: load = PRGB_21, type = ro, define = yes, optional = yes;
CODEB_22: load = PRGB_22, type = ro, define = yes, optional = yes;
CODEB_23: load = PRGB_23, type = ro, define = yes, optional = yes;
CODEB_24: load = PRGB_24, type = ro, define = yes, optional = yes;
CODEB_25: load = PRGB_25, type = ro, define = yes, optional = yes;
CODEB_26: load = PRGB_26, type = ro, define = yes, optional = yes;
CODEB_27: load = PRGB_27, type = ro, define = yes, optional = yes;
CODEB_28: load = PRGB_28, type = ro, define = yes, optional = yes;
CODEB_29: load = PRGB_29, type = ro, define = yes, optional = yes;
CODEB_30: load = PRGB_30, type = ro, define = yes, optional = yes;
CODE_FIXED: load = PRG_FIXED, type = ro, define = yes, optional = yes;
RODATA: load = PRG_FIXED, type = ro, define = yes;
ONCE: load = PRG_FIXED, type = ro, optional = yes;
DATA: load = PRG_FIXED, run = RAM, type = rw, define = yes;
STARTUP: load = PRG_LAST, type = ro, define = yes;
#CODE: load = PRG_LAST, type = ro, define = yes;
CODE: load = PRG_FIXED, type = ro, define = yes;
VECTORS: load = VECTORS, type = ro;
CHARS: load = CHR, type = ro;
BSS: load = SRAM, type = bss, define = yes;
XRAM: load = SRAM, run = SRAM, type = rw, define = yes, optional = yes;
}
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__;
}