-
Notifications
You must be signed in to change notification settings - Fork 0
/
z2ft.cfg
258 lines (244 loc) · 13.7 KB
/
z2ft.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
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
MEMORY {
ZEROPAGE:start = $00, size = $0100, type = rw, file = "";
RAM: start = $0100, size = $0700, type = rw, file = "";
HIRAM: start = $6000, size = $2000, type = rw, file = "";
HDR: start = $0000, size = $0010, type = ro, file = %O;
PRG0: bank = $0, start = $8000, size = $2000, type = ro, file = %O;
PRG1: bank = $1, start = $a000, size = $2000, type = ro, file = %O;
PRG2: bank = $2, start = $8000, size = $2000, type = ro, file = %O;
PRG3: bank = $3, start = $a000, size = $2000, type = ro, file = %O;
PRG4: bank = $4, start = $8000, size = $2000, type = ro, file = %O;
PRG5: bank = $5, start = $a000, size = $2000, type = ro, file = %O;
PRG6: bank = $6, start = $8000, size = $2000, type = ro, file = %O;
PRG7: bank = $7, start = $a000, size = $2000, type = ro, file = %O;
PRG8: bank = $8, start = $8000, size = $2000, type = ro, file = %O;
PRG9: bank = $9, start = $a000, size = $2000, type = ro, file = %O;
PRGA: bank = $A, start = $8000, size = $2000, type = ro, file = %O;
PRGB: bank = $B, start = $a000, size = $2000, type = ro, file = %O;
PRGC: bank = $C, start = $8000, size = $2000, type = ro, file = %O, fill = yes, fillval = 0;
PRGD: bank = $D, start = $a000, size = $2000, type = ro, file = %O, fill = yes, fillval = 0;
PRGE: bank = $E, start = $c000, size = $2000, type = ro, file = %O;
PRGF: bank = $F, start = $e000, size = $2000, type = ro, file = %O;
PRG10: bank = $10, start = $a000, size = $2000, type = ro, file = %O, fill = yes, fillval = 0;
PRG11: bank = $11, start = $a000, size = $2000, type = ro, file = %O, fill = yes, fillval = 0;
PRG12: bank = $12, start = $a000, size = $2000, type = ro, file = %O, fill = yes, fillval = 0;
PRG13: bank = $13, start = $a000, size = $2000, type = ro, file = %O, fill = yes, fillval = 0;
PRG14: bank = $14, start = $a000, size = $2000, type = ro, file = %O, fill = yes, fillval = 0;
PRG15: bank = $15, start = $a000, size = $2000, type = ro, file = %O, fill = yes, fillval = 0;
PRG16: bank = $16, start = $a000, size = $2000, type = ro, file = %O, fill = yes, fillval = 0;
PRG17: bank = $17, start = $a000, size = $2000, type = ro, file = %O, fill = yes, fillval = 0;
PRG18: bank = $18, start = $a000, size = $2000, type = ro, file = %O, fill = yes, fillval = 0;
PRG19: bank = $19, start = $a000, size = $2000, type = ro, file = %O, fill = yes, fillval = 0;
PRG1A: bank = $1A, start = $a000, size = $2000, type = ro, file = %O, fill = yes, fillval = 0;
PRG1B: bank = $1B, start = $a000, size = $2000, type = ro, file = %O, fill = yes, fillval = 0;
PRG1C: bank = $1C, start = $a000, size = $2000, type = ro, file = %O, fill = yes, fillval = 0;
PRG1D: bank = $1D, start = $a000, size = $2000, type = ro, file = %O, fill = yes, fillval = 0;
PRG1E: bank = $1E, start = $a000, size = $2000, type = ro, file = %O, fill = yes, fillval = 0;
PRG1F: bank = $1F, start = $8000, size = $2000, type = ro, file = %O;
CHR0: start = $0000, size = $800, type = ro, file = %O;
CHR1: start = $0000, size = $800, type = ro, file = %O;
CHR2: start = $0000, size = $800, type = ro, file = %O;
CHR3: start = $0000, size = $800, type = ro, file = %O;
CHR4: start = $0000, size = $800, type = ro, file = %O;
CHR5: start = $0000, size = $800, type = ro, file = %O;
CHR6: start = $0000, size = $800, type = ro, file = %O;
CHR7: start = $0000, size = $800, type = ro, file = %O;
CHR8: start = $0000, size = $800, type = ro, file = %O;
CHR9: start = $0000, size = $800, type = ro, file = %O;
CHRA: start = $0000, size = $800, type = ro, file = %O;
CHRB: start = $0000, size = $800, type = ro, file = %O;
CHRC: start = $0000, size = $800, type = ro, file = %O;
CHRD: start = $0000, size = $800, type = ro, file = %O;
CHRE: start = $0000, size = $800, type = ro, file = %O;
CHRF: start = $0000, size = $800, type = ro, file = %O;
CHR10: start = $0000, size = $800, type = ro, file = %O;
CHR11: start = $0000, size = $800, type = ro, file = %O;
CHR12: start = $0000, size = $800, type = ro, file = %O;
CHR13: start = $0000, size = $800, type = ro, file = %O;
CHR14: start = $0000, size = $800, type = ro, file = %O;
CHR15: start = $0000, size = $800, type = ro, file = %O;
CHR16: start = $0000, size = $800, type = ro, file = %O;
CHR17: start = $0000, size = $800, type = ro, file = %O;
CHR18: start = $0000, size = $800, type = ro, file = %O;
CHR19: start = $0000, size = $800, type = ro, file = %O;
CHR1A: start = $0000, size = $800, type = ro, file = %O;
CHR1B: start = $0000, size = $800, type = ro, file = %O;
CHR1C: start = $0000, size = $800, type = ro, file = %O;
CHR1D: start = $0000, size = $800, type = ro, file = %O;
CHR1E: start = $0000, size = $800, type = ro, file = %O;
CHR1F: start = $0000, size = $800, type = ro, file = %O;
CHR20: start = $0000, size = $800, type = ro, file = %O;
CHR21: start = $0000, size = $800, type = ro, file = %O;
CHR22: start = $0000, size = $800, type = ro, file = %O;
CHR23: start = $0000, size = $800, type = ro, file = %O;
CHR24: start = $0000, size = $800, type = ro, file = %O;
CHR25: start = $0000, size = $800, type = ro, file = %O;
CHR26: start = $0000, size = $800, type = ro, file = %O;
CHR27: start = $0000, size = $800, type = ro, file = %O;
CHR28: start = $0000, size = $800, type = ro, file = %O;
CHR29: start = $0000, size = $800, type = ro, file = %O;
CHR2A: start = $0000, size = $800, type = ro, file = %O;
CHR2B: start = $0000, size = $800, type = ro, file = %O;
CHR2C: start = $0000, size = $800, type = ro, file = %O;
CHR2D: start = $0000, size = $800, type = ro, file = %O;
CHR2E: start = $0000, size = $800, type = ro, file = %O;
CHR2F: start = $0000, size = $800, type = ro, file = %O;
CHR30: start = $0000, size = $800, type = ro, file = %O;
CHR31: start = $0000, size = $800, type = ro, file = %O;
CHR32: start = $0000, size = $800, type = ro, file = %O;
CHR33: start = $0000, size = $800, type = ro, file = %O;
CHR34: start = $0000, size = $800, type = ro, file = %O;
CHR35: start = $0000, size = $800, type = ro, file = %O;
CHR36: start = $0000, size = $800, type = ro, file = %O;
CHR37: start = $0000, size = $800, type = ro, file = %O;
CHR38: start = $0000, size = $800, type = ro, file = %O;
CHR39: start = $0000, size = $800, type = ro, file = %O;
CHR3A: start = $0000, size = $800, type = ro, file = %O;
CHR3B: start = $0000, size = $800, type = ro, file = %O;
CHR3C: start = $0000, size = $800, type = ro, file = %O;
CHR3D: start = $0000, size = $800, type = ro, file = %O;
CHR3E: start = $0000, size = $800, type = ro, file = %O;
CHR3F: start = $0000, size = $800, type = ro, file = %O;
}
SEGMENTS {
ZEROPAGE: load = ZEROPAGE, type = zp;
BHOP_ZEROPAGE: load = ZEROPAGE, type = overwrite, offset = $46;
VARS: load = RAM, type = bss;
HIVARS: load = HIRAM, type = overwrite, start = $79f9;
BHOP_RAM: load = HIRAM, type = overwrite, start = $6780;
HDR: load = HDR, type = ro;
#PATCH_HDR_PRG_ROM_SIZE: load = HDR, type = overwrite, define = yes, offset = 4;
#PATCH_HDR_20_PRG_RAM_SIZE: load = HDR, type = overwrite, define = yes, offset = $a;
BANK0: load = PRG0, type = ro;
BANK1: load = PRG1, type = ro;
BANK2: load = PRG2, type = ro;
BANK3: load = PRG3, type = ro;
BANK4: load = PRG4, type = ro;
BANK5: load = PRG5, type = ro;
BANK6: load = PRG6, type = ro;
BANK7: load = PRG7, type = ro;
BANK8: load = PRG8, type = ro;
BANK9: load = PRG9, type = ro;
BANKA: load = PRGA, type = ro;
BANKB: load = PRGB, type = ro;
BANKC_LOW: load = PRGC, type = ro, start = $8000;
ENEMY_TRACK_TABLES: load = PRGC, type = ro, start = $8c00;
BANKC_HIGH: load = PRGC, type = ro, start = $9000;
BANKD: load = PRGD, type = ro;
BANKE: load = PRGE, type = ro;
BANKF: load = PRGF, type = ro;
BANK10: load = PRG10, type = ro;
BANK11: load = PRG11, type = ro;
BANK12: load = PRG12, type = ro;
BANK13: load = PRG13, type = ro;
BANK14: load = PRG14, type = ro;
BANK15: load = PRG15, type = ro;
BANK16: load = PRG16, type = ro;
BANK17: load = PRG17, type = ro;
BANK18: load = PRG18, type = ro;
BANK19: load = PRG19, type = ro;
BANK1A: load = PRG1A, type = ro;
BANK1B: load = PRG1B, type = ro;
BANK1C: load = PRG1C, type = ro;
BANK1D: load = PRG1D, type = ro;
BANK1E: load = PRG1E, type = ro;
BANK1F: load = PRG1F, type = ro;
BHOP_PRG: load = PRG1F, type = ro;
BANK1F_CODA: load = PRG1F, type = ro, offset = $1f00;
#BANK_C_FREE_SPACE_1: load = PRGC, type = overwrite, define = yes, start = $878c;
#BANK_C_FREE_SPACE_2: load = PRGC, type = overwrite, define = yes, start = $9da8;
#BANK_D_FREE_SPACE: load = PRGD, type = overwrite, define = yes, start = $ac09;
#BANK_E_FREE_SPACE: load = PRGE, type = overwrite, define = yes, start = $d39a;
#BANK_F_FREE_SPACE_1: load = PRGF, type = overwrite, define = yes, start = $feaa;
#BANK_F_FREE_SPACE_2: load = PRGF, type = overwrite, define = yes, start = $ff4c;
PATCH_CALL_SAVE_REAL_MAP_AREA1: load = PRG0, type = overwrite, define = yes, start = $85a9;
PATCH_CALL_SAVE_REAL_MAP_AREA2: load = PRG1, type = overwrite, define = yes, start = $aa14;
PATCH_SAVE_REAL_MAP_AREA: load = PRG1, type = overwrite, define = yes, start = $a970;
PATCH_CALL_UPDATE_TITLE_MUSIC: load = PRGC, type = overwrite, define = yes, start = $800d;
PATCH_CALL_UPDATE_GAME_MUSIC: load = PRGC, type = overwrite, define = yes, start = $901f;
PATCH_READ_ZONE1: load = PRGC, type = overwrite, define = yes, start = $9b24;
PATCH_READ_ZONE2: load = PRGC, type = overwrite, define = yes, start = $9b80;
PATCH_HANDLE_NATIVE_TRACK_END: load = PRGC, type = overwrite, define = yes, start = $9b4f;
PATCH_SET_OLD_KASUTO_TRACK: load = PRGE, type = overwrite, define = yes, start = $cf1b;
PATCH_READ_TITLE_PHASE1: load = PRGB, type = overwrite, define = yes, start = $a787;
PATCH_READ_TITLE_PHASE2: load = PRGB, type = overwrite, define = yes, start = $a778;
PATCH_CALL_UPDATE_SOUND: load = PRGE, type = overwrite, define = yes, start = $c12f;
PATCH_NEW_CALL_UPDATE_SOUND: load = PRGE, type = overwrite, define = yes, start = $c1a8;
PATCH_CALL_UPDATE_SOUND_JUMP_STUB: load = PRGE, type = overwrite, define = yes, start = $d3a7;
PATCH_RESTART_LAST_BOSS_TRACK: load = PRGA, type = overwrite, define = yes, start = $988e;
# PATCH_RESTART_AFTER_DEATH: load = PRGE, type = overwrite, define = yes, start = $c423;
# PATCH_FALL_INTO_ENCOUNTER: load = PRGE, type = overwrite, define = yes, start = $c6fa;
# PATCH_ENTER_FIXED_ENCOUNTER: load = PRGE, type = overwrite, define = yes, start = $cbc8;
# PATCH_ENTER_TOWN: load = PRGE, type = overwrite, define = yes, start = $cf0e;
# PATCH_LEAVE_HOUSE: load = PRGE, type = overwrite, define = yes, start = $cff1;
# PATCH_PLACE_GEM: load = PRG8, type = overwrite, define = yes, start = $9b7e;
# PATCH_BEGIN_BOSS346: load = PRG9, type = overwrite, define = yes, start = $b21c;
# PATCH_BEGIN_BOSS125: load = PRG9, type = overwrite, define = yes, start = $be95;
# PATCH_BEGIN_LAST_BOSS: load = PRGA, type = overwrite, define = yes, start = $9883;
# PATCH_BEGIN_FAIRY_ENCOUNTER: load = PRGC, type = overwrite, define = yes, start = $9489;
# PATCH_GRAB_BOSS_KEY: load = PRGF, type = overwrite, define = yes, start = $e7b1;
CHRBANK0: load = CHR0, type = ro;
CHRBANK1: load = CHR1, type = ro;
CHRBANK2: load = CHR2, type = ro;
CHRBANK3: load = CHR3, type = ro;
CHRBANK4: load = CHR4, type = ro;
CHRBANK5: load = CHR5, type = ro;
CHRBANK6: load = CHR6, type = ro;
CHRBANK7: load = CHR7, type = ro;
CHRBANK8: load = CHR8, type = ro;
CHRBANK9: load = CHR9, type = ro;
CHRBANKA: load = CHRA, type = ro;
CHRBANKB: load = CHRB, type = ro;
CHRBANKC: load = CHRC, type = ro;
CHRBANKD: load = CHRD, type = ro;
CHRBANKE: load = CHRE, type = ro;
CHRBANKF: load = CHRF, type = ro;
CHRBANK10: load = CHR10, type = ro;
CHRBANK11: load = CHR11, type = ro;
CHRBANK12: load = CHR12, type = ro;
CHRBANK13: load = CHR13, type = ro;
CHRBANK14: load = CHR14, type = ro;
CHRBANK15: load = CHR15, type = ro;
CHRBANK16: load = CHR16, type = ro;
CHRBANK17: load = CHR17, type = ro;
CHRBANK18: load = CHR18, type = ro;
CHRBANK19: load = CHR19, type = ro;
CHRBANK1A: load = CHR1A, type = ro;
CHRBANK1B: load = CHR1B, type = ro;
CHRBANK1C: load = CHR1C, type = ro;
CHRBANK1D: load = CHR1D, type = ro;
CHRBANK1E: load = CHR1E, type = ro;
CHRBANK1F: load = CHR1F, type = ro;
CHRBANK20: load = CHR20, type = ro;
CHRBANK21: load = CHR21, type = ro;
CHRBANK22: load = CHR22, type = ro;
CHRBANK23: load = CHR23, type = ro;
CHRBANK24: load = CHR24, type = ro;
CHRBANK25: load = CHR25, type = ro;
CHRBANK26: load = CHR26, type = ro;
CHRBANK27: load = CHR27, type = ro;
CHRBANK28: load = CHR28, type = ro;
CHRBANK29: load = CHR29, type = ro;
CHRBANK2A: load = CHR2A, type = ro;
CHRBANK2B: load = CHR2B, type = ro;
CHRBANK2C: load = CHR2C, type = ro;
CHRBANK2D: load = CHR2D, type = ro;
CHRBANK2E: load = CHR2E, type = ro;
CHRBANK2F: load = CHR2F, type = ro;
CHRBANK30: load = CHR30, type = ro;
CHRBANK31: load = CHR31, type = ro;
CHRBANK32: load = CHR32, type = ro;
CHRBANK33: load = CHR33, type = ro;
CHRBANK34: load = CHR34, type = ro;
CHRBANK35: load = CHR35, type = ro;
CHRBANK36: load = CHR36, type = ro;
CHRBANK37: load = CHR37, type = ro;
CHRBANK38: load = CHR38, type = ro;
CHRBANK39: load = CHR39, type = ro;
CHRBANK3A: load = CHR3A, type = ro;
CHRBANK3B: load = CHR3B, type = ro;
CHRBANK3C: load = CHR3C, type = ro;
CHRBANK3D: load = CHR3D, type = ro;
CHRBANK3E: load = CHR3E, type = ro;
CHRBANK3F: load = CHR3F, type = ro;
}