2 # Copy ROM-mirror area to bank 0x00
\r
4 if %EVAL(ROMM_CONFIG & 0x01) == 0x01
\r
6 set variable ROMM_BANK = %EVAL(ROMM_CONFIG >> 4)
\r
7 set variable ROMM_SIZE = %EVAL((ROMM_CONFIG >> 1) & 0x03)
\r
9 print "\n\n>Set ROM-mirror memory map...\n"
\r
13 set map /read H'00E000..H'00FFFF
\r
15 if %ROMM_BANK == 0x00
\r
17 move H'f0e000..H'F0FFFF,H'e000
\r
19 elseif %ROMM_BANK == 0x01
\r
21 move H'f1e000..H'F1FFFF,H'e000
\r
23 elseif %ROMM_BANK == 0x02
\r
25 move H'f2e000..H'F2FFFF,H'e000
\r
27 elseif %ROMM_BANK == 0x03
\r
29 move H'f3e000..H'F3FFFF,H'e000
\r
31 elseif %ROMM_BANK == 0x04
\r
33 move H'f4e000..H'F4FFFF,H'e000
\r
35 elseif %ROMM_BANK == 0x05
\r
37 move H'f5e000..H'F5FFFF,H'e000
\r
39 elseif %ROMM_BANK == 0x06
\r
41 move H'f6e000..H'F6FFFF,H'e000
\r
43 elseif %ROMM_BANK == 0x07
\r
45 move H'f7e000..H'F7FFFF,H'e000
\r
47 elseif %ROMM_BANK == 0x08
\r
49 move H'f8e000..H'F8FFFF,H'e000
\r
51 elseif %ROMM_BANK == 0x09
\r
53 move H'f9e000..H'F9FFFF,H'e000
\r
55 elseif %ROMM_BANK == 0x0A
\r
57 move H'fAe000..H'FAFFFF,H'e000
\r
59 elseif %ROMM_BANK == 0x0B
\r
61 move H'fBe000..H'FBFFFF,H'e000
\r
63 elseif %ROMM_BANK == 0x0B
\r
65 move H'fBe000..H'FBFFFF,H'e000
\r
67 elseif %ROMM_BANK == 0x0C
\r
69 move H'fCe000..H'FCFFFF,H'e000
\r
71 elseif %ROMM_BANK == 0x0D
\r
73 move H'fde000..H'FDFFFF,H'e000
\r
75 elseif %ROMM_BANK == 0x0E
\r
77 move H'fee000..H'FEFFFF,H'e000
\r
79 elseif %ROMM_BANK == 0x0F
\r
81 move H'ffe000..H'FFFFFF,H'e000
\r
83 endif # ROMM_BANK selection
\r
85 elseif %ROMM_SIZE == 1
\r
86 set map /read H'00C000..H'00FFFF
\r
88 if %ROMM_BANK == 0x00
\r
90 move H'f0c000..H'F0FFFF,H'c000
\r
92 elseif %ROMM_BANK == 0x01
\r
94 move H'f1c000..H'F1FFFF,H'c000
\r
96 elseif %ROMM_BANK == 0x02
\r
98 move H'f2c000..H'F2FFFF,H'c000
\r
100 elseif %ROMM_BANK == 0x03
\r
102 move H'f3c000..H'F3FFFF,H'c000
\r
104 elseif %ROMM_BANK == 0x04
\r
106 move H'f4c000..H'F4FFFF,H'c000
\r
108 elseif %ROMM_BANK == 0x05
\r
110 move H'f5c000..H'F5FFFF,H'c000
\r
112 elseif %ROMM_BANK == 0x06
\r
114 move H'f6c000..H'F6FFFF,H'c000
\r
116 elseif %ROMM_BANK == 0x07
\r
118 move H'f7c000..H'F7FFFF,H'c000
\r
120 elseif %ROMM_BANK == 0x08
\r
122 move H'f8c000..H'F8FFFF,H'c000
\r
124 elseif %ROMM_BANK == 0x09
\r
126 move H'f9c000..H'F9FFFF,H'c000
\r
128 elseif %ROMM_BANK == 0x0A
\r
130 move H'fAc000..H'FAFFFF,H'c000
\r
132 elseif %ROMM_BANK == 0x0B
\r
134 move H'fBc000..H'FBFFFF,H'c000
\r
136 elseif %ROMM_BANK == 0x0B
\r
138 move H'fBc000..H'FBFFFF,H'c000
\r
140 elseif %ROMM_BANK == 0x0C
\r
142 move H'fCc000..H'FCFFFF,H'c000
\r
144 elseif %ROMM_BANK == 0x0D
\r
146 move H'fdc000..H'FDFFFF,H'c000
\r
148 elseif %ROMM_BANK == 0x0E
\r
150 move H'fec000..H'FEFFFF,H'c000
\r
152 elseif %ROMM_BANK == 0x0F
\r
154 move H'ffc000..H'FFFFFF,H'c000
\r
156 endif # ROMM_BANK selection
\r
158 elseif %ROMM_SIZE == 2
\r
159 set map /read H'00A000..H'00FFFF
\r
161 if %ROMM_BANK == 0x00
\r
163 move H'f0a000..H'F0FFFF,H'a000
\r
165 elseif %ROMM_BANK == 0x01
\r
167 move H'f1a000..H'F1FFFF,H'a000
\r
169 elseif %ROMM_BANK == 0x02
\r
171 move H'f2a000..H'F2FFFF,H'a000
\r
173 elseif %ROMM_BANK == 0x03
\r
175 move H'f3a000..H'F3FFFF,H'a000
\r
177 elseif %ROMM_BANK == 0x04
\r
179 move H'f4a000..H'F4FFFF,H'a000
\r
181 elseif %ROMM_BANK == 0x05
\r
183 move H'f5a000..H'F5FFFF,H'a000
\r
185 elseif %ROMM_BANK == 0x06
\r
187 move H'f6a000..H'F6FFFF,H'a000
\r
189 elseif %ROMM_BANK == 0x07
\r
191 move H'f7a000..H'F7FFFF,H'a000
\r
193 elseif %ROMM_BANK == 0x08
\r
195 move H'f8a000..H'F8FFFF,H'a000
\r
197 elseif %ROMM_BANK == 0x09
\r
199 move H'f9a000..H'F9FFFF,H'a000
\r
201 elseif %ROMM_BANK == 0x0A
\r
203 move H'fAa000..H'FAFFFF,H'a000
\r
205 elseif %ROMM_BANK == 0x0B
\r
207 move H'fBa000..H'FBFFFF,H'a000
\r
209 elseif %ROMM_BANK == 0x0B
\r
211 move H'fBa000..H'FBFFFF,H'a000
\r
213 elseif %ROMM_BANK == 0x0C
\r
215 move H'fCa000..H'FCFFFF,H'a000
\r
217 elseif %ROMM_BANK == 0x0D
\r
219 move H'fda000..H'FDFFFF,H'a000
\r
221 elseif %ROMM_BANK == 0x0E
\r
223 move H'fea000..H'FEFFFF,H'a000
\r
225 elseif %ROMM_BANK == 0x0F
\r
227 move H'ffa000..H'FFFFFF,H'a000
\r
229 endif # ROMM_BANK selection
\r
231 elseif %ROMM_SIZE == 3
\r
232 set map /read H'008000..H'00FFFF
\r
234 if %ROMM_BANK == 0x00
\r
236 move H'f08000..H'F0FFFF,H'8000
\r
238 elseif %ROMM_BANK == 0x01
\r
240 move H'f18000..H'F1FFFF,H'8000
\r
242 elseif %ROMM_BANK == 0x02
\r
244 move H'f28000..H'F2FFFF,H'8000
\r
246 elseif %ROMM_BANK == 0x03
\r
248 move H'f38000..H'F3FFFF,H'8000
\r
250 elseif %ROMM_BANK == 0x04
\r
252 move H'f48000..H'F4FFFF,H'8000
\r
254 elseif %ROMM_BANK == 0x05
\r
256 move H'f58000..H'F5FFFF,H'8000
\r
258 elseif %ROMM_BANK == 0x06
\r
260 move H'f68000..H'F6FFFF,H'8000
\r
262 elseif %ROMM_BANK == 0x07
\r
264 move H'f78000..H'F7FFFF,H'8000
\r
266 elseif %ROMM_BANK == 0x08
\r
268 move H'f88000..H'F8FFFF,H'8000
\r
270 elseif %ROMM_BANK == 0x09
\r
272 move H'f98000..H'F9FFFF,H'8000
\r
274 elseif %ROMM_BANK == 0x0A
\r
276 move H'fA8000..H'FAFFFF,H'8000
\r
278 elseif %ROMM_BANK == 0x0B
\r
280 move H'fB8000..H'FBFFFF,H'8000
\r
282 elseif %ROMM_BANK == 0x0B
\r
284 move H'fB8000..H'FBFFFF,H'8000
\r
286 elseif %ROMM_BANK == 0x0C
\r
288 move H'fC8000..H'FCFFFF,H'8000
\r
290 elseif %ROMM_BANK == 0x0D
\r
292 move H'fd8000..H'FDFFFF,H'8000
\r
294 elseif %ROMM_BANK == 0x0E
\r
296 move H'fe8000..H'FEFFFF,H'8000
\r
298 elseif %ROMM_BANK == 0x0F
\r
300 move H'ff8000..H'FFFFFF,H'8000
\r
302 endif # ROMM_BANK selection
\r
304 endif # ROMM_SIZE selection
\r
306 print ">Copy ROMCONST for simulation..."
\r
309 print "\n-----------------------------------------------------------"
\r
310 print "\nUse command \"batch prc\\romconst.prc\" after each download"
\r
311 print "\n-----------------------------------------------------------"
\r
315 print "\n----------------------"
\r
316 print "\nROM Mirror disabled!!!"
\r
317 print "\n----------------------"
\r
321 print "\n-------------------------------------------------------------------"
\r
322 print "\nSetting CKMR to 0xF0 to allow for the Clock Wait in that start.asm."
\r
323 print "\n-------------------------------------------------------------------"
\r
325 set MEM /byte 0x0403 = 0xF0
\r