1 // This ucode is interesting because it is very similar to the Zelda ucode,
2 // but does not make use of exceptions. Hence, it might be possible to get
3 // it running okay even without understanding how the exceptions work.
8 // Notable differences:
10 // Luigi init (not using mail exception):
20 // Zelda init (using mail exception):
24 // sbset #0x05 (late, just when it's time to receive messages)
30 // AX1 init (not using mail exception, same as Luigi init):
43 0000 029f 0010 jmp 0x0010
56 000e 02ff rti // This is Zelda's message exception.
60 void 0010_ResetVector() {
61 // Compare to 0057 in the Zelda ucode
70 0018 009e ffff lri $AC0.M, #0xffff
71 001a 1d1e mrr $WR0, $AC0.M
72 001b 1d3e mrr $WR1, $AC0.M
73 001c 1d5e mrr $WR2, $AC0.M
74 001d 1d7e mrr $WR3, $AC0.M
75 001e 0092 00ff lri $CR, #0x00ff
78 0021 009f 1000 lri $AC1.M, #0x1000
79 0023 0080 0000 lri $AR0, #0x0000
81 0026 1b1e srri @$AR0, $AC0.M
82 0027 26ff lrs $AC0.M, @CMBL
83 0028 16fc 8888 si @DMBH, #0x8888
84 002a 16fd 1111 si @DMBL, #0x1111
85 002c 26fc lrs $AC0.M, @DMBH
86 002d 02a0 8000 andf $AC0.M, #0x8000
87 002f 029c 002c jlnz 0x002c
92 0033 26fe lrs $AC0.M, @CMBH
93 0034 02c0 8000 andcf $AC0.M, #0x8000
94 0036 029c 0031 jlnz 0x0031
95 0038 27ff lrs $AC1.M, @CMBL
96 0039 00ff 0345 sr @0x0345, $AC1.M
97 003b 1ffe mrr $AC1.M, $AC0.M
98 003c 0340 00ff andi $AC1.M, #0x00ff
99 003e 00ff 0344 sr @0x0344, $AC1.M
100 0040 1479 lsr $ACC0, #-7
103 0041 0240 007e andi $AC0.M, #0x007e
104 0043 0200 0062 addi $AC0.M, #0x0062
105 0045 00fe 0343 sr @0x0343, $AC0.M
106 0047 1c1e mrr $AR0, $AC0.M
108 0049 009e 8000 lri $AC0.M, #0x8000
109 004b 00dc 0343 lr $AC0.L, @0x0343
110 004d 02bf 005a call 0x005a
111 004f 029f 0031 jmp 0x0031
115 void 0051_Unk_Mail() {
116 0051 26fe lrs $AC0.M, @CMBH
117 0052 02c0 8000 andcf $AC0.M, #0x8000
118 0054 029c 0051 jlnz 0x0051
119 0056 24ff lrs $AC0.L, @CMBL
120 0057 1b1e srri @$AR0, $AC0.M
121 0058 1b1c srri @$AR0, $AC0.L
125 void 005a_Unk_Mail() {
126 005a 2efc srs @DMBH, $AC0.M
127 005b 2cfd srs @DMBL, $AC0.L
128 005c 26fc lrs $AC0.M, @DMBH
129 005d 02a0 8000 andf $AC0.M, #0x8000
130 005f 029c 005c jlnz 0x005c
134 // Just a jump table.
135 0062 029f 0049 jmp 0x0049
136 0064 029f 0349 jmp 0x0349 // Command 01
137 0066 029f 04eb jmp 0x04eb // Command 02
138 0068 029f 0031 jmp 0x0031
139 006a 029f 00df jmp 0x00df
140 006c 029f 00f1 jmp 0x00f1
141 006e 029f 06e7 jmp 0x06e7
142 0070 029f 069b jmp 0x069b
143 0072 029f 0703 jmp 0x0703
144 0074 029f 06cb jmp 0x06cb
145 0076 029f 0870 jmp 0x0870
146 0078 029f 0744 jmp 0x0744
147 007a 029f 0238 jmp 0x0238
151 007c 193e lrri $AC0.M, @$AR1
152 007d 193c lrri $AC0.L, @$AR1
153 007e 2fcd srs @DSPA, $AC1.M
154 007f 0f00 lris $AC1.M, #0x00
155 0080 2fc9 srs @DSCR, $AC1.M
156 0081 2ece srs @DSMAH, $AC0.M
157 0082 2ccf srs @DSMAL, $AC0.L
158 0083 1fe0 mrr $AC1.M, $AR0
159 0084 1501 lsl $ACC1, #1
160 0085 2fcb srs @DSBL, $AC1.M
161 0086 02bf 008f call 0x008f
167 0089 193e lrri $AC0.M, @$AR1
168 008a 193c lrri $AC0.L, @$AR1
169 008b 2fcd srs @DSPA, $AC1.M
170 008c 0f01 lris $AC1.M, #0x01
171 008d 029f 0080 jmp 0x0080
172 008f 26c9 lrs $AC0.M, @DSCR
173 0090 02a0 0004 andf $AC0.M, #0x0004
174 0092 029c 008f jlnz 0x008f
179 0095 193e lrri $AC0.M, @$AR1
180 0096 193c lrri $AC0.L, @$AR1
181 0097 00ff ffcd sr @DSPA, $AC1.M
182 0099 0f00 lris $AC1.M, #0x00
183 009a 00ff ffc9 sr @DSCR, $AC1.M
184 009c 00fe ffce sr @DSMAH, $AC0.M
185 009e 00fc ffcf sr @DSMAL, $AC0.L
186 00a0 1fe0 mrr $AC1.M, $AR0
187 00a1 1501 lsl $ACC1, #1
188 00a2 00ff ffcb sr @DSBL, $AC1.M
193 00a5 00de ffc9 lr $AC0.M, @DSCR
194 00a7 02a0 0004 andf $AC0.M, #0x0004
195 00a9 029c 00a5 jlnz 0x00a5
199 void 00ac_ReadBlockFromAccelerator() {
200 00ac 193e lrri $AC0.M, @$AR1
201 00ad 193c lrri $AC0.L, @$AR1
202 00ae 0240 7fff andi $AC0.M, #0x7fff
203 // 00b0 02bf 00ba call 0x00ba
204 00ba_SetupAccelerator()
206 00b2 007a 00b8 bloop $AX0.H, 0x00b8
207 00b4 26d3 lrs $AC0.M, @UnkZelda
208 00b5 1b3e srri @$AR1, $AC0.M
215 void 00ba_SetupAccelerator() {
216 00ba 1c3f mrr $AR1, $AC1.M
217 00bb 009f 0005 lri $AC1.M, #0x0005
218 00bd 2fd1 srs @SampleFormat, $AC1.M
219 00be 1f5e mrr $AX0.H, $AC0.M
220 00bf 1f1c mrr $AX0.L, $AC0.L
221 00c0 2ed4 srs @ACSAH, $AC0.M
222 00c1 2cd5 srs @ACSAL, $AC0.L
224 00c3 1fa0 mrr $AC1.L, $AR0
225 00c4 4c00 add $ACC0, $AC1.L
226 00c5 0200 0030 addi $AC0.M, #0x0030
227 00c7 2ed6 srs @ACEAH, $AC0.M
228 00c8 2cd7 srs @ACEAL, $AC0.L
229 00c9 1fda mrr $AC0.M, $AX0.H
230 00ca 1f98 mrr $AC0.L, $AX0.L
231 00cb 147f lsr $ACC0, #-1
232 00cc 2ed8 srs @ACCAH, $AC0.M
233 00cd 2cd9 srs @ACCAL, $AC0.L
234 00ce 1f40 mrr $AX0.H, $AR0
240 00d0 193e lrri $AC0.M, @$AR1
241 00d1 193c lrri $AC0.L, @$AR1
242 00d2 0260 8000 ori $AC0.M, #0x8000
243 // 00d4 02bf 00ba call 0x00ba
244 00ba_SetupAccelerator()
245 00d6 007a 00dd bloop $AX0.H, 0x00dd
246 00d8 193e lrri $AC0.M, @$AR1
247 00d9 2ed3 srs @UnkZelda, $AC0.M
256 00df 0080 0346 lri $AR0, #0x0346
257 00e1 02bf 0051 call 0x0051
258 00e3 02bf 0051 call 0x0051
259 00e5 0081 0346 lri $AR1, #0x0346
260 00e7 00df 0349 lr $AC1.M, @0x0349
261 00e9 0340 ffff andi $AC1.M, #0xffff
262 00eb 00c0 0345 lr $AR0, @0x0345
263 00ed 02bf 007c call 0x007c
264 00ef 029f 0049 jmp 0x0049
265 00f1 0080 0346 lri $AR0, #0x0346
266 00f3 02bf 0051 call 0x0051
267 00f5 02bf 0051 call 0x0051
268 00f7 0081 0346 lri $AR1, #0x0346
269 00f9 00df 0349 lr $AC1.M, @0x0349
270 00fb 0340 ffff andi $AC1.M, #0xffff
271 00fd 00c0 0345 lr $AR0, @0x0345
272 00ff 02bf 0089 call 0x0089
273 0101 029f 0049 jmp 0x0049
276 void 0103_SetupAcceleratorMystery() {
277 0103 0092 00ff lri $CR, #0x00ff
278 0105 2fd1 srs @SampleFormat, $AC1.M
279 0106 0340 0003 andi $AC1.M, #0x0003
280 0108 1f7f mrr $AX1.H, $AC1.M
281 0109 1f5e mrr $AX0.H, $AC0.M
282 010a 1f1c mrr $AX0.L, $AC0.L
283 010b 0200 0010 addi $AC0.M, #0x0010
284 010d 2ed4 srs @ACSAH, $AC0.M
285 010e 2cd5 srs @ACSAL, $AC0.L
287 0110 1fa0 mrr $AC1.L, $AR0
288 0111 4c00 add $ACC0, $AC1.L
289 0112 0200 0030 addi $AC0.M, #0x0030
290 0114 2ed6 srs @ACEAH, $AC0.M
291 0115 2cd7 srs @ACEAL, $AC0.L
292 0116 1fda mrr $AC0.M, $AX0.H
293 0117 1f98 mrr $AC0.L, $AX0.L
294 0118 1ffb mrr $AC1.M, $AX1.H
295 0119 7900 decm $AC1.M
297 011b 2ed8 srs @ACCAH, $AC0.M
298 011c 2cd9 srs @ACCAL, $AC0.L
303 011e 1c23 mrr $AR1, $AR3
304 011f 197e lrri $AC0.M, @$AR3
305 0120 191b lrri $AX1.H, @$AR0
306 0121 d858 mulc'l $AC1.M, $AX1.H : $AX1.H, @$AR0
307 0122 1120 0128 bloopi #0x20, 0x0128
308 0124 dcd3 mulcac'ld $AC1.M, $AX1.H, $ACC0 : $AX0.L, $AX1.H, @$AR3
309 0125 6231 movr's $ACC0, $AX1.L : @$AR1, $AC0.M
310 0126 dcd3 mulcac'ld $AC1.M, $AX1.H, $ACC0 : $AX0.L, $AX1.H, @$AR3
311 0127 6231 movr's $ACC0, $AX1.L : @$AR1, $AC0.M
312 0128 4900 addax $ACC1, $AX0.L
313 0129 1108 012e bloopi #0x08, 0x012e
314 012b dcd3 mulcac'ld $AC1.M, $AX1.H, $ACC0 : $AX0.L, $AX1.H, @$AR3
315 012c 6231 movr's $ACC0, $AX1.L : @$AR1, $AC0.M
316 012d dcd3 mulcac'ld $AC1.M, $AX1.H, $ACC0 : $AX0.L, $AX1.H, @$AR3
317 012e 6231 movr's $ACC0, $AX1.L : @$AR1, $AC0.M
324 0131 1c03 mrr $AR0, $AR3
325 0132 00db 038e lr $AX1.H, @0x038e
326 0134 009a 0004 lri $AX0.H, #0x0004
327 0136 1978 lrri $AX0.L, @$AR3
328 0137 a843 mulx'l $AX0.L, $AX1.H : $AX0.L, @$AR3
329 0138 ae00 mulxmv $AX0.L, $AX1.H, $ACC0
330 0139 1128 013e bloopi #0x28, 0x013e
331 013b 38c3 orr'ld $AC0.M, $AX0.H : $AX0.L, $AX1.L, @$AR3
332 013c ae30 mulxmv's $AX0.L, $AX1.H, $ACC0 : @$AR0, $AC0.M
333 013d 38c3 orr'ld $AC0.M, $AX0.H : $AX0.L, $AX1.L, @$AR3
334 013e ae30 mulxmv's $AX0.L, $AX1.H, $ACC0 : @$AR0, $AC0.M
340 0141 00f9 0361 sr @0x0361, $AX1.L
341 0143 1fc0 mrr $AC0.M, $AR0
342 0144 0200 fffc addi $AC0.M, #0xfffc
343 0146 1c1e mrr $AR0, $AC0.M
344 0147 1c5e mrr $AR2, $AC0.M
345 0148 0083 043c lri $AR3, #0x043c
346 014a 197e lrri $AC0.M, @$AR3
347 014b 197f lrri $AC1.M, @$AR3
348 014c 80a2 nx'sl : $AC0.M, $AX0.H
349 014d 64a3 movr'sl $ACC0, $AX0.H : $AC1.M, $AX0.H
350 014e 6530 movr's $ACC1, $AX0.H : @$AR0, $AC0.M
351 014f 1b1f srri @$AR0, $AC1.M
352 0150 1c02 mrr $AR0, $AR2
354 0152 00de 0402 lr $AC0.M, @0x0402
355 0154 00fe 0362 sr @0x0362, $AC0.M
356 0156 1474 lsr $ACC0, #-12
357 0157 1f7e mrr $AX1.H, $AC0.M
358 0158 1f3c mrr $AX1.L, $AC0.L
360 015a 00dd 0430 lr $AC1.L, @0x0430
361 015c 1504 lsl $ACC1, #4
362 015d 0604 cmpis $ACC0, #0x04
363 015e 0290 01b6 jns 0x01b6
364 0160 1fdd mrr $AC0.M, $AC1.L
365 0161 0082 0c00 lri $AR2, #0x0c00
366 0163 1050 loopi #0x50
367 0164 4b2a addax's $ACC1, $AX1.L : @$AR2, $AC1.L
368 0165 1fbe mrr $AC1.L, $AC0.M
369 0166 00fe 0360 sr @0x0360, $AC0.M
371 0169 1fbe mrr $AC1.L, $AC0.M
372 016a 009a fff8 lri $AX0.H, #0xfff8
373 016c 009b 00fc lri $AX1.H, #0x00fc
374 016e 00d8 0361 lr $AX0.L, @0x0361
375 0170 0082 0c00 lri $AR2, #0x0c00
376 0172 0083 0c00 lri $AR3, #0x0c00
377 0174 195e lrri $AC0.M, @$AR2
378 0175 3480 andr'ls $AC0.M, $AX0.H : $AX0.L, $AC0.M
379 0176 1128 017b bloopi #0x28, 0x017b
380 0178 367a andr'l $AC0.M, $AX1.H : $AC1.M, @$AR2
381 0179 35b3 andr'sl $AC1.M, $AX0.H : $AC1.M, $AX1.H
382 017a 3772 andr'l $AC1.M, $AX1.H : $AC0.M, @$AR2
383 017b 34bb andr'slm $AC0.M, $AX0.H : $AC1.M, $AX1.H
385 017d 0082 0c00 lri $AR2, #0x0c00
386 017f 00dd 0430 lr $AC1.L, @0x0430
387 0181 1504 lsl $ACC1, #4
388 0182 1fe0 mrr $AC1.M, $AR0
390 0184 00de 0362 lr $AC0.M, @0x0362
391 0186 1474 lsr $ACC0, #-12
392 0187 1f7e mrr $AX1.H, $AC0.M
393 0188 1f3c mrr $AX1.L, $AC0.L
395 018a 1943 lrri $AR3, @$AR2
396 018b 4bc3 addax'ld $ACC1, $AX1.L : $AX0.L, $AX1.L, @$AR3
397 018c 90c3 mul'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3
398 018d f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3
399 018e f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3
400 018f f200 madd $AX0.L, $AX0.H
401 0190 fe00 movpz $ACC0
402 0191 1c1f mrr $AR0, $AC1.M
404 0192 1943 lrri $AR3, @$AR2
405 0193 4bc3 addax'ld $ACC1, $AX1.L : $AX0.L, $AX1.L, @$AR3
406 0194 90c3 mul'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3
407 0195 114e 019d bloopi #0x4e, 0x019d
408 0197 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3
409 0198 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3
410 0199 f231 madd's $AX0.L, $AX0.H : @$AR1, $AC0.M
412 019a 1c1f mrr $AR0, $AC1.M
413 019b 1943 lrri $AR3, @$AR2
414 019c 4bc3 addax'ld $ACC1, $AX1.L : $AX0.L, $AX1.L, @$AR3
415 019d 92c3 mulmvz'ld $AX0.L, $AX0.H, $ACC0 : $AX0.L, $AX1.L, @$AR3
416 019e f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3
417 019f f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3
418 01a0 f231 madd's $AX0.L, $AX0.H : @$AR1, $AC0.M
419 01a1 fe00 movpz $ACC0
420 01a2 1b3e srri @$AR1, $AC0.M
424 01a5 00fe 0433 sr @0x0433, $AC0.M
425 01a7 1c1f mrr $AR0, $AC1.M
426 01a8 150c lsl $ACC1, #12
427 01a9 0340 0fff andi $AC1.M, #0x0fff
428 01ab 00ff 0430 sr @0x0430, $AC1.M
429 01ad 0083 043c lri $AR3, #0x043c
430 01af 191e lrri $AC0.M, @$AR0
431 01b0 191f lrri $AC1.M, @$AR0
432 01b1 80a0 nx'ls : $AX0.H, $AC0.M
433 01b2 64a1 movr'ls $ACC0, $AX0.H : $AX0.H, $AC1.M
434 01b3 6533 movr's $ACC1, $AX0.H : @$AR3, $AC0.M
435 01b4 1b7f srri @$AR3, $AC1.M
439 01b6 1fe0 mrr $AC1.M, $AR0
440 01b7 1c1f mrr $AR0, $AC1.M
441 01b8 1128 01bf bloopi #0x28, 0x01bf
442 01ba 4b70 addax'l $ACC1, $AX1.L : $AC0.M, @$AR0
443 01bb 1b3e srri @$AR1, $AC0.M
444 01bc 1c1f mrr $AR0, $AC1.M
445 01bd 4b70 addax'l $ACC1, $AX1.L : $AC0.M, @$AR0
446 01be 1b3e srri @$AR1, $AC0.M
447 01bf 1c1f mrr $AR0, $AC1.M
448 01c0 029f 01a5 jmp 0x01a5
453 01c3 0083 03e8 lri $AR3, #0x03e8
454 01c5 191e lrri $AC0.M, @$AR0
455 01c6 191a lrri $AX0.H, @$AR0
456 01c7 1006 loopi #0x06
457 01c8 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M
458 01c9 1b7e srri @$AR3, $AC0.M
459 01ca 1b7a srri @$AR3, $AX0.H
460 01cb 0080 03e8 lri $AR0, #0x03e8
461 01cd 0088 0007 lri $WR0, #0x0007
462 01cf 1150 01dc bloopi #0x50, 0x01dc
463 01d1 1c61 mrr $AR3, $AR1
464 01d2 84c3 clrp'ld : $AX0.L, $AX1.L, @$AR3
465 01d3 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3
466 01d4 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3
467 01d5 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3
468 01d6 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3
469 01d7 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3
470 01d8 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3
471 01d9 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3
472 01da f200 madd $AX0.L, $AX0.H
473 01db fe00 movpz $ACC0
474 01dc 1b3e srri @$AR1, $AC0.M
475 01dd 0088 ffff lri $WR0, #0xffff
480 void 01e1_Unk() { // ZWW: 0b4d_IIR_Filter
482 01e2 05fe addis $ACC1, #0xfe
483 01e3 0083 03e8 lri $AR3, #0x03e8
484 01e5 191e lrri $AC0.M, @$AR0
485 01e6 191a lrri $AX0.H, @$AR0
486 01e7 005f loop $AC1.M
487 01e8 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M
488 01e9 1b7e srri @$AR3, $AC0.M
489 01ea 1b7a srri @$AR3, $AX0.H
490 01eb 0080 03e8 lri $AR0, #0x03e8
491 01ed 0501 addis $ACC1, #0x01
492 01ee 1d1f mrr $WR0, $AC1.M
493 01ef 1150 01f7 bloopi #0x50, 0x01f7
494 01f1 1c61 mrr $AR3, $AR1
495 01f2 84c3 clrp'ld : $AX0.L, $AX1.L, @$AR3
496 01f3 005f loop $AC1.M
497 01f4 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3
498 01f5 f200 madd $AX0.L, $AX0.H
499 01f6 fe00 movpz $ACC0
500 01f7 1b3e srri @$AR1, $AC0.M
501 01f8 0088 ffff lri $WR0, #0xffff
506 void 01fc_Unk() { // ZWW: 0b68_4TapFIR
507 01fc 0083 03e8 lri $AR3, #0x03e8
508 01fe 191e lrri $AC0.M, @$AR0
509 01ff 191a lrri $AX0.H, @$AR0
510 0200 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M
511 0201 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M
512 0202 1b7e srri @$AR3, $AC0.M
513 0203 1b7a srri @$AR3, $AX0.H
514 0204 0080 03e8 lri $AR0, #0x03e8
515 0206 0088 0003 lri $WR0, #0x0003
516 0208 0085 0000 lri $IX1, #0x0000
517 020a 0087 0000 lri $IX3, #0x0000
518 020c 1fc2 mrr $AC0.M, $AR2
519 020d 195b lrri $AX1.H, @$AR2
520 020e 1959 lrri $AX1.L, @$AR2
521 020f 195f lrri $AC1.M, @$AR2
522 0210 195a lrri $AX0.H, @$AR2
523 0211 1c5e mrr $AR2, $AC0.M
524 0212 1fda mrr $AC0.M, $AX0.H
525 0213 1c61 mrr $AR3, $AR1
528 0216 191a lrri $AX0.H, @$AR0
529 0217 b850 mulx'l $AX0.H, $AX1.H : $AX0.H, @$AR0
530 0218 e250 maddx'l $AX0.H, $AX1.L : $AX0.H, @$AR0
531 0219 ea50 maddc'l $AC1.M, $AX1.L : $AX0.H, @$AR0
532 021a e8e8 maddc'ldm $AC0.M, $AX1.L : $AX0.H, $AX1.L, @$AR0
533 021b b650 mulxmv'l $AX0.H, $AX1.L, $ACC0 : $AX0.H, @$AR0
534 021c 1127 0227 bloopi #0x27, 0x0227
535 021e e3a8 maddx'lsm $AX0.H, $AX1.H : $AX0.H, $AC0.M
537 021f 197e lrri $AC0.M, @$AR3
538 0220 e850 maddc'l $AC0.M, $AX1.L : $AX0.H, @$AR0
539 0221 eaf8 maddc'ldm $AC1.M, $AX1.L : $AX0.H, $AX1.H, @$AR0
540 0222 bf50 mulxmv'l $AX0.H, $AX1.H, $ACC1 : $AX0.H, @$AR0
541 0223 e2a9 maddx'lsm $AX0.H, $AX1.L : $AX0.H, $AC1.M
543 0224 197f lrri $AC1.M, @$AR3
544 0225 ea50 maddc'l $AC1.M, $AX1.L : $AX0.H, @$AR0
545 0226 e8e8 maddc'ldm $AC0.M, $AX1.L : $AX0.H, $AX1.L, @$AR0
546 0227 b650 mulxmv'l $AX0.H, $AX1.L, $ACC0 : $AX0.H, @$AR0
547 0228 e3a8 maddx'lsm $AX0.H, $AX1.H : $AX0.H, $AC0.M
548 0229 197e lrri $AC0.M, @$AR3
549 022a e850 maddc'l $AC0.M, $AX1.L : $AX0.H, @$AR0
550 022b eaf8 maddc'ldm $AC1.M, $AX1.L : $AX0.H, $AX1.H, @$AR0
551 022c bf00 mulxmv $AX0.H, $AX1.H, $ACC1
552 022d 1bff srrn @$AR3, $AC1.M
553 022e 197f lrri $AC1.M, @$AR3
556 0231 0088 ffff lri $WR0, #0xffff
557 0233 1b5b srri @$AR2, $AX1.H
558 0234 1b59 srri @$AR2, $AX1.L
559 0235 1b5f srri @$AR2, $AC1.M
560 0236 1b5e srri @$AR2, $AC0.M
565 0238 0080 0346 lri $AR0, #0x0346
566 023a 02bf 0051 call 0x0051
567 023c 02bf 0051 call 0x0051
568 023e 0081 0346 lri $AR1, #0x0346
569 0240 009f 0580 lri $AC1.M, #0x0580
570 0242 0080 0080 lri $AR0, #0x0080
571 0244 02bf 007c call 0x007c
572 0246 0081 0348 lri $AR1, #0x0348
573 0248 009f 0c00 lri $AC1.M, #0x0c00
574 024a 0080 0080 lri $AR0, #0x0080
575 024c 02bf 007c call 0x007c
576 024e 0080 0c00 lri $AR0, #0x0c00
577 0250 0081 0580 lri $AR1, #0x0580
578 0252 02bf 01fc call 0x01fc
579 0254 0081 0346 lri $AR1, #0x0346
580 0256 009f 0580 lri $AC1.M, #0x0580
581 0258 0080 0080 lri $AR0, #0x0080
582 025a 02bf 0089 call 0x0089
583 025c 0081 0348 lri $AR1, #0x0348
584 025e 009f 0c00 lri $AC1.M, #0x0c00
585 0260 0080 0080 lri $AR0, #0x0080
586 0262 02bf 0089 call 0x0089
587 0264 029f 0049 jmp 0x0049
589 0267 1f5e mrr $AX0.H, $AC0.M
590 0268 00d8 0402 lr $AX0.L, @0x0402
591 026a 00dc 0430 lr $AC0.L, @0x0430
592 026c 0080 0520 lri $AR0, #0x0520
593 026e 00df 0480 lr $AC1.M, @0x0480
594 0270 1501 lsl $ACC1, #1
595 0271 0340 007e andi $AC1.M, #0x007e
596 0273 0300 027b addi $AC1.M, #0x027b
597 0275 1c5f mrr $AR2, $AC1.M
599 0277 00fc 0430 sr @0x0430, $AC0.L
600 0279 029f 056d jmp 0x056d
601 027b 029f 029c jmp 0x029c
602 027d 029f 02d7 jmp 0x02d7
603 027f 029f 02bf jmp 0x02bf
604 0281 029f 02ac jmp 0x02ac
605 0283 029f 02e5 jmp 0x02e5
606 0285 029f 029b jmp 0x029b
607 0287 029f 0303 jmp 0x0303
608 0289 029f 0306 jmp 0x0306
609 028b 029f 029b jmp 0x029b
610 028d 029f 029b jmp 0x029b
611 028f 029f 0324 jmp 0x0324
612 0291 029f 02dd jmp 0x02dd
613 0293 029f 02e1 jmp 0x02e1
614 0295 029f 029b jmp 0x029b
615 0297 029f 029b jmp 0x029b
616 0299 029f 029b jmp 0x029b
621 029c 1401 lsl $ACC0, #1
622 029d 009b c000 lri $AX1.H, #0xc000
623 029f 0099 4000 lri $AX1.L, #0x4000
624 02a1 1150 02a9 bloopi #0x50, 0x02a9
625 02a3 02c0 0001 andcf $AC0.M, #0x0001
627 02a6 1b1b srri @$AR0, $AX1.H
629 02a8 1b19 srri @$AR0, $AX1.L
630 02a9 4800 addax $ACC0, $AX0.L
631 02aa 147f lsr $ACC0, #-1
636 02ac 1402 lsl $ACC0, #2
638 02ae 1fb8 mrr $AC1.L, $AX0.L
639 02af 1501 lsl $ACC1, #1
640 02b0 009b c000 lri $AX1.H, #0xc000
641 02b2 0099 4000 lri $AX1.L, #0x4000
642 02b4 1150 02bc bloopi #0x50, 0x02bc
643 02b6 02c0 0003 andcf $AC0.M, #0x0003
645 02b9 1b1b srri @$AR0, $AX1.H
647 02bb 1b19 srri @$AR0, $AX1.L
648 02bc 4c00 add $ACC0, $AC1.L
649 02bd 147e lsr $ACC0, #-2
653 void 02bf_Unk() { // ZWW:08d5
654 02bf 1401 lsl $ACC0, #1
655 02c0 0081 0ca0 lri $AR1, #0x0ca0
656 02c2 009b c000 lri $AX1.H, #0xc000
657 02c4 0099 4000 lri $AX1.L, #0x4000
659 02c7 0082 0000 lri $AR2, #0x0000
660 02c9 1150 02d4 bloopi #0x50, 0x02d4
661 02cb 02c0 0001 andcf $AC0.M, #0x0001
663 02ce 1b1b srri @$AR0, $AX1.H
665 02d0 1b19 srri @$AR0, $AX1.L
666 02d1 183d lrr $AC1.L, @$AR1
667 02d2 4900 addax $ACC1, $AX0.L
668 02d3 1fe2 mrr $AC1.M, $AR2
669 02d4 4c39 add's $ACC0, $AC1.L : @$AR1, $AC1.M
670 02d5 147f lsr $ACC0, #-1
674 void 02d7_Unk() { // ZWW:08ed
676 02d8 1fb8 mrr $AC1.L, $AX0.L
677 02d9 157f lsr $ACC1, #-1
678 02da 1050 loopi #0x50
679 02db 4c20 add's $ACC0, $AC1.L : @$AR0, $AC0.L
683 void 02dd_Unk() { // ZWW:08f3
684 02dd 0082 0180 lri $AR2, #0x0180 // Three entrances
685 02df 029f 02e7 jmp 0x02e7
686 02e1 0082 01c0 lri $AR2, #0x01c0
687 02e3 029f 02e7 jmp 0x02e7
688 02e5 0082 0140 lri $AR2, #0x0140
689 02e7 008a 003f lri $WR2, #0x003f
690 02e9 0086 0000 lri $IX2, #0x0000
691 02eb 1406 lsl $ACC0, #6
693 02ed 1fb8 mrr $AC1.L, $AX0.L
694 02ee 1505 lsl $ACC1, #5
695 02ef 009b 003f lri $AX1.H, #0x003f
696 02f1 009a 0000 lri $AX0.H, #0x0000
697 02f3 3600 andr $AC0.M, $AX1.H
698 02f4 1cde mrr $IX2, $AC0.M
699 02f5 001a addarn $AR2, $IX2
700 02f6 3400 andr $AC0.M, $AX0.H
701 02f7 1150 02fd bloopi #0x50, 0x02fd
702 02f9 4c4a add'l $ACC0, $AC1.L : $AX1.L, @$AR2
703 02fa 3606 andr'dr $AC0.M, $AX1.H : $AR2
704 02fb 1cde mrr $IX2, $AC0.M
705 02fc 340e andr'nr $AC0.M, $AX0.H : $AR2
706 02fd 1b19 srri @$AR0, $AX1.L
707 02fe 1fc2 mrr $AC0.M, $AR2
708 02ff 147a lsr $ACC0, #-6
709 0300 008a ffff lri $WR2, #0xffff
713 void 030_MemsetBlock() {
714 0303 1050 loopi #0x50
715 0304 1b18 srri @$AR0, $AX0.L
720 0306 0082 0100 lri $AR2, #0x0100
721 0308 008a 003f lri $WR2, #0x003f
722 030a 0086 0000 lri $IX2, #0x0000
723 030c 1406 lsl $ACC0, #6
725 030e 1fb8 mrr $AC1.L, $AX0.L
726 030f 1505 lsl $ACC1, #5
727 0310 009b 003f lri $AX1.H, #0x003f
728 0312 009a 0000 lri $AX0.H, #0x0000
729 0314 3600 andr $AC0.M, $AX1.H
730 0315 1cde mrr $IX2, $AC0.M
731 0316 001a addarn $AR2, $IX2
732 0317 3400 andr $AC0.M, $AX0.H
733 0318 1150 031e bloopi #0x50, 0x031e
734 031a 4c4a add'l $ACC0, $AC1.L : $AX1.L, @$AR2
735 031b 3606 andr'dr $AC0.M, $AX1.H : $AR2
736 031c 1cde mrr $IX2, $AC0.M
737 031d 340e andr'nr $AC0.M, $AX0.H : $AR2
738 031e 1b19 srri @$AR0, $AX1.L
739 031f 1fc2 mrr $AC0.M, $AR2
740 0320 147a lsr $ACC0, #-6
741 0321 008a ffff lri $WR2, #0xffff
746 0324 0082 0100 lri $AR2, #0x0100
747 0326 008a 003f lri $WR2, #0x003f
748 0328 0086 0000 lri $IX2, #0x0000
749 032a 0081 0ca0 lri $AR1, #0x0ca0
750 032c 1406 lsl $ACC0, #6
752 032e 1fb8 mrr $AC1.L, $AX0.L
753 032f 1505 lsl $ACC1, #5
754 0330 009b 003f lri $AX1.H, #0x003f
755 0332 009a 0000 lri $AX0.H, #0x0000
756 0334 3600 andr $AC0.M, $AX1.H
757 0335 1cde mrr $IX2, $AC0.M
758 0336 001a addarn $AR2, $IX2
759 0337 3400 andr $AC0.M, $AX0.H
760 0338 1150 0343 bloopi #0x50, 0x0343
761 033a 1939 lrri $AX1.L, @$AR1
762 033b a000 mulx $AX0.L, $AX1.L
763 033c 140a lsl $ACC0, #10
765 033e 1476 lsr $ACC0, #-10
766 033f 4c4a add'l $ACC0, $AC1.L : $AX1.L, @$AR2
767 0340 3606 andr'dr $AC0.M, $AX1.H : $AR2
768 0341 1cde mrr $IX2, $AC0.M
769 0342 340e andr'nr $AC0.M, $AX0.H : $AR2
770 0343 1b19 srri @$AR0, $AX1.L
771 0344 1fc2 mrr $AC0.M, $AR2
772 0345 147a lsr $ACC0, #-6
773 0346 008a ffff lri $WR2, #0xffff
778 void 0349_COMMAND_01() {
779 0349 0080 0380 lri $AR0, #0x0380
780 034b 02bf 0051 call 0x0051
781 034d 02bf 0051 call 0x0051
782 034f 02bf 0051 call 0x0051
783 0351 02bf 0051 call 0x0051
785 0353 0081 0382 lri $AR1, #0x0382
786 0355 009f 0000 lri $AC1.M, #0x0000
787 0357 0080 0200 lri $AR0, #0x0200
788 // 0359 02bf 007c call 0x007c
791 035b 0081 0384 lri $AR1, #0x0384
792 035d 009f 0300 lri $AC1.M, #0x0300
793 035f 0080 0020 lri $AR0, #0x0020
794 0361 02bf 007c call 0x007c
798 0363 02bf 03cc call 0x03cc
799 0365 00de 0345 lr $AC0.M, @0x0345
800 0367 00fe 0342 sr @0x0342, $AC0.M
801 0369 02bf 0af0 call 0x0af0
802 036b 029f 0049 jmp 0x0049
803 036d 00de 0344 lr $AC0.M, @0x0344
804 036f 1404 lsl $ACC0, #4
805 0370 0200 03a8 addi $AC0.M, #0x03a8
806 0372 1c1e mrr $AR0, $AC0.M
807 0373 02bf 0051 call 0x0051
808 0375 02bf 0051 call 0x0051
809 0377 02bf 0051 call 0x0051
810 0379 00de 0345 lr $AC0.M, @0x0345
811 037b 1b1e srri @$AR0, $AC0.M
812 037c 00de 0344 lr $AC0.M, @0x0344
813 037e 0200 03a4 addi $AC0.M, #0x03a4
814 0380 1c1e mrr $AR0, $AC0.M
816 0382 1b1e srri @$AR0, $AC0.M
821 0384 00de 0344 lr $AC0.M, @0x0344
822 0386 1404 lsl $ACC0, #4
823 0387 0200 03b0 addi $AC0.M, #0x03b0
824 0389 1c1e mrr $AR0, $AC0.M
825 038a 02bf 0051 call 0x0051
826 038c 02bf 0051 call 0x0051
827 038e 02bf 0051 call 0x0051
828 0390 02bf 0051 call 0x0051
833 0393 0081 034c lri $AR1, #0x034c
834 0395 009f 0400 lri $AC1.M, #0x0400
835 0397 0080 00c0 lri $AR0, #0x00c0
836 0399 02bf 007c call 0x007c
841 039c 0081 034c lri $AR1, #0x034c
842 039e 009f 0400 lri $AC1.M, #0x0400
843 03a0 0080 0080 lri $AR0, #0x0080
844 03a2 0081 034c lri $AR1, #0x034c
845 03a4 193e lrri $AC0.M, @$AR1
846 03a5 193c lrri $AC0.L, @$AR1
847 03a6 0098 0000 lri $AX0.L, #0x0000
848 03a8 7000 addaxl $ACC0, $AX0.L
849 03a9 02bf 008b call 0x008b
854 03ac 191e lrri $AC0.M, @$AR0
855 03ad 191a lrri $AX0.H, @$AR0
856 03ae 005f loop $AC1.M
857 03af 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M
858 03b0 1b7e srri @$AR3, $AC0.M
859 03b1 1b7a srri @$AR3, $AX0.H
864 //a 03d9 0080 0f40 lri $AR0, #0x0f40
865 //a 03db 0082 0d00 lri $AR2, #0x0d00
866 //a 03dd 0083 0d60 lri $AR3, #0x0d60
867 //a 03df 009f 0028 lri $AC1.M, #0x0028
868 //a 03e1 02bf 03b3 call 0x03b3
869 // Not sure how AR2 fits into the picture...
870 void 03b3_XorBuffer(InputBuffer($AR0), OutputBuffer($AR3), HalfLength($AC1.M)) {
871 03b3 191e lrri $AC0.M, @$AR0
872 03b4 191a lrri $AX0.H, @$AR0
873 03b5 007f 03ba bloop $AC1.M, 0x03ba
874 03b7 32b2 xorr'sl $AC0.M, $AX1.H : $AC0.M, $AX1.H
875 03b8 65a0 movr'ls $ACC1, $AX0.H : $AX0.H, $AC0.M
876 03b9 33ba xorr'slm $AC1.M, $AX1.H : $AC0.M, $AX1.H
877 03ba 64a1 movr'ls $ACC0, $AX0.H : $AX0.H, $AC1.M
884 03be 157f lsr $ACC1, #-1
885 03bf 1c20 mrr $AR1, $AR0
886 03c0 1c03 mrr $AR0, $AR3
887 03c1 193a lrri $AX0.H, @$AR1
888 03c2 9051 mul'l $AX0.L, $AX0.H : $AX0.H, @$AR1
889 03c3 925b mulmvz'l $AX0.L, $AX0.H, $ACC0 : $AX1.H, @$AR3
890 03c4 007f 03c9 bloop $AC1.M, 0x03c9
891 03c6 4651 addr'l $ACC0, $AX1.H : $AX0.H, @$AR1
892 03c7 92b2 mulmvz'sl $AX0.L, $AX0.H, $ACC0 : $AC0.M, $AX1.H
893 03c8 4651 addr'l $ACC0, $AX1.H : $AX0.H, @$AR1
894 03c9 92b2 mulmvz'sl $AX0.L, $AX0.H, $ACC0 : $AC0.M, $AX1.H
900 03cc 0083 ffa0 lri $AR3, #0xffa0
901 03ce 0080 0300 lri $AR0, #0x0300
902 03d0 009f 000e lri $AC1.M, #0x000e
903 03d2 1108 03d7 bloopi #0x08, 0x03d7
904 03d4 191e lrri $AC0.M, @$AR0
905 03d5 1b7e srri @$AR3, $AC0.M
906 03d6 191e lrri $AC0.M, @$AR0
907 03d7 1b7e srri @$AR3, $AC0.M
913 03d9 0080 0f40 lri $AR0, #0x0f40
914 03db 0082 0d00 lri $AR2, #0x0d00
915 03dd 0083 0d60 lri $AR3, #0x0d60
916 03df 009f 0028 lri $AC1.M, #0x0028
918 03e1 02bf 03b3 call 0x03b3
920 // Clear a bunch of buffers.
922 03e4 009e 0050 lri $AC0.M, #0x0050
923 03e6 0080 0ca0 lri $AR0, #0x0ca0
924 03e8 005e loop $AC0.M
925 03e9 1b1f srri @$AR0, $AC1.M
926 03ea 0080 0f40 lri $AR0, #0x0f40
927 03ec 005e loop $AC0.M
928 03ed 1b1f srri @$AR0, $AC1.M
929 03ee 0080 0fa0 lri $AR0, #0x0fa0
930 03f0 005e loop $AC0.M
931 03f1 1b1f srri @$AR0, $AC1.M
932 03f2 0080 0b00 lri $AR0, #0x0b00
933 03f4 005e loop $AC0.M
934 03f5 1b1f srri @$AR0, $AC1.M
935 03f6 0080 09a0 lri $AR0, #0x09a0
936 03f8 005e loop $AC0.M
937 03f9 1b1f srri @$AR0, $AC1.M
943 03fb 00c0 03a0 lr $AR0, @0x03a0
944 03fd 191a lrri $AX0.H, @$AR0
945 03fe 00df 03a1 lr $AC1.M, @0x03a1
946 0400 009b 00a0 lri $AX1.H, #0x00a0
947 0402 0081 0393 lri $AR1, #0x0393
948 0404 18bc lrrd $AC0.L, @$AR1
949 0405 b871 mulx'l $AX0.H, $AX1.H : $AC0.M, @$AR1
950 0406 bc00 mulxac $AX0.H, $AX1.H, $ACC0
951 0407 0080 0050 lri $AR0, #0x0050
952 0409 0508 addis $ACC1, #0x08
953 040a 02bf 007e call 0x007e
954 040c 00de 0390 lr $AC0.M, @0x0390
955 040e 02a0 0001 andf $AC0.M, #0x0001
956 0410 029d 041a jlz 0x041a
957 0412 0080 0398 lri $AR0, #0x0398
958 0414 009e 0008 lri $AC0.M, #0x0008
959 0416 00c1 03a1 lr $AR1, @0x03a1
960 0418 02bf 01c2 call 0x01c2
961 041a 009f 0050 lri $AC1.M, #0x0050
962 041c 00c0 03a1 lr $AR0, @0x03a1
964 041f 00de 0394 lr $AC0.M, @0x0394
966 0422 0295 0429 jz 0x0429
967 0424 1c7e mrr $AR3, $AC0.M
968 0425 00d8 0395 lr $AX0.L, @0x0395
969 0427 02bf 03bd call 0x03bd
970 0429 009f 0050 lri $AC1.M, #0x0050
971 042b 00c0 03a1 lr $AR0, @0x03a1
973 042e 00de 0396 lr $AC0.M, @0x0396
975 0431 0295 0438 jz 0x0438
976 0433 1c7e mrr $AR3, $AC0.M
977 0434 00d8 0397 lr $AX0.L, @0x0397
978 0436 02bf 03bd call 0x03bd
979 0438 00de 0390 lr $AC0.M, @0x0390
980 043a 02a0 0002 andf $AC0.M, #0x0002
983 043d 0080 0398 lri $AR0, #0x0398
984 043f 009e 0008 lri $AC0.M, #0x0008
985 0441 00c1 03a1 lr $AR1, @0x03a1
986 0443 02bf 01c2 call 0x01c2
991 0446 009f 0dc0 lri $AC1.M, #0x0dc0
992 0448 00ff 03a1 sr @0x03a1, $AC1.M
993 044a 009f 03a8 lri $AC1.M, #0x03a8
994 044c 00ff 03a2 sr @0x03a2, $AC1.M
995 044e 009f 03a4 lri $AC1.M, #0x03a4
996 0450 00ff 03a0 sr @0x03a0, $AC1.M
997 0452 1104 047b bloopi #0x04, 0x047b
998 0454 00c0 03a2 lr $AR0, @0x03a2
999 0456 0083 0390 lri $AR3, #0x0390
1000 0458 009f 000e lri $AC1.M, #0x000e
1001 045a 02bf 03ac call 0x03ac
1002 045c 00da 0390 lr $AX0.H, @0x0390
1003 045e 8600 tstaxh $AX0.H
1004 045f 0295 046c jz 0x046c
1005 0461 00df 03a1 lr $AC1.M, @0x03a1
1006 0463 1c7f mrr $AR3, $AC1.M
1007 0464 0550 addis $ACC1, #0x50
1008 0465 1c1f mrr $AR0, $AC1.M
1009 0466 009f 0006 lri $AC1.M, #0x0006
1010 0468 02bf 03ac call 0x03ac
1011 046a 02bf 03fb call 0x03fb
1012 046c 00de 03a2 lr $AC0.M, @0x03a2
1013 046e 0410 addis $ACC0, #0x10
1014 046f 00fe 03a2 sr @0x03a2, $AC0.M
1015 0471 00de 03a1 lr $AC0.M, @0x03a1
1016 0473 0460 addis $ACC0, #0x60
1017 0474 00fe 03a1 sr @0x03a1, $AC0.M
1018 0476 00de 03a0 lr $AC0.M, @0x03a0
1019 0478 7400 incm $AC0.M
1020 0479 00fe 03a0 sr @0x03a0, $AC0.M
1026 047d 00c0 03a0 lr $AR0, @0x03a0
1027 047f 181a lrr $AX0.H, @$AR0
1029 0481 181e lrr $AC0.M, @$AR0
1030 0482 00db 0391 lr $AX1.H, @0x0391
1031 0484 7400 incm $AC0.M
1032 0485 d100 cmpar $ACC1, $AX0.H
1035 0488 1b1e srri @$AR0, $AC0.M
1036 0489 00df 03a1 lr $AC1.M, @0x03a1
1037 048b 009b 00a0 lri $AX1.H, #0x00a0
1038 048d 0081 0393 lri $AR1, #0x0393
1039 048f 18bc lrrd $AC0.L, @$AR1
1040 0490 b871 mulx'l $AX0.H, $AX1.H : $AC0.M, @$AR1
1041 0491 bc00 mulxac $AX0.H, $AX1.H, $ACC0
1042 0492 0080 0050 lri $AR0, #0x0050
1043 0494 02bf 008b call 0x008b
1048 0497 009f 0dc0 lri $AC1.M, #0x0dc0
1049 0499 00ff 03a1 sr @0x03a1, $AC1.M
1050 049b 009f 03a8 lri $AC1.M, #0x03a8
1051 049d 00ff 03a2 sr @0x03a2, $AC1.M
1052 049f 009f 03a4 lri $AC1.M, #0x03a4
1053 04a1 00ff 03a0 sr @0x03a0, $AC1.M
1054 04a3 1104 04c3 bloopi #0x04, 0x04c3
1055 04a5 00c0 03a2 lr $AR0, @0x03a2
1056 04a7 0083 0390 lri $AR3, #0x0390
1057 04a9 009f 000e lri $AC1.M, #0x000e
1058 04ab 02bf 03ac call 0x03ac
1059 04ad 00da 0390 lr $AX0.H, @0x0390
1060 04af 8600 tstaxh $AX0.H
1061 04b0 0295 04b4 jz 0x04b4
1062 04b2 02bf 047d call 0x047d
1063 04b4 00de 03a2 lr $AC0.M, @0x03a2
1064 04b6 0410 addis $ACC0, #0x10
1065 04b7 00fe 03a2 sr @0x03a2, $AC0.M
1066 04b9 00de 03a1 lr $AC0.M, @0x03a1
1067 04bb 0460 addis $ACC0, #0x60
1068 04bc 00fe 03a1 sr @0x03a1, $AC0.M
1069 04be 00de 03a0 lr $AC0.M, @0x03a0
1070 04c0 7400 incm $AC0.M
1071 04c1 00fe 03a0 sr @0x03a0, $AC0.M
1077 04c5 0081 0386 lri $AR1, #0x0386
1078 04c7 009f 03a8 lri $AC1.M, #0x03a8
1079 04c9 0080 0040 lri $AR0, #0x0040
1080 04cb 02bf 007c call 0x007c
1084 void 04ce_Increment32BitAddressAtAR0() {
1085 04ce 191e lrri $AC0.M, @$AR0
1086 04cf 189c lrrd $AC0.L, @$AR0
1087 04d0 4800 addax $ACC0, $AX0.L
1088 04d1 1b1e srri @$AR0, $AC0.M
1089 04d2 1b1c srri @$AR0, $AC0.L
1095 04d5 26fe lrs $AC0.M, @CMBH
1096 04d6 02c0 8000 andcf $AC0.M, #0x8000
1097 04d8 029c 04d5 jlnz 0x04d5
1098 04da 26ff lrs $AC0.M, @CMBL
1103 04dc 0080 0388 lri $AR0, #0x0388
1104 04de 0081 0051 lri $AR1, #0x0051
1105 04e0 173f callr $AR1
1106 04e1 00de 0344 lr $AC0.M, @0x0344
1107 04e3 00fe 0341 sr @0x0341, $AC0.M
1108 04e5 00de 0345 lr $AC0.M, @0x0345
1109 04e7 00fe 038e sr @0x038e, $AC0.M
1110 04e9 173f callr $AR1
1114 /////////////////////////
1117 // 0x0341: Number of Frames to render ...
1119 // 0x034c + 0x034d: RAM address of the current PB block
1121 // 0x034e: Last Sync message for rendered frame
1122 // 0x0354: PB loop counter
1124 // 0x0355: Current Frame
1129 // 0x0388: RAM Address of Output Buffer1
1130 // 0x038a: RAM Address of Output Buffer2
1132 // 0x038f: Output Buffer Address (0x0520 most of the time)
1135 // 0x0520: Some kind of sample buffer
1137 // 0x0d00: Left mix buffer
1138 // 0x0d60: Right mix buffer
1140 void 04eb_COMMAND_02() // sync frame
1141 04eb 02bf 04dc call 0x04dc
1142 04ed 009e 8000 lri $AC0.M, #0x8000
1143 04ef 00dc 0341 lr $AC0.L, @0x0341
1144 04f1 02bf 005a call 0x005a
1146 04f4 00fe 0355 sr @0x0355, $AC0.M
1147 04f6 02bf 04c5 call 0x04c5
1148 04f8 00de 0341 lr $AC0.M, @0x0341
1149 04fa 007e 0698 bloop $AC0.M, 0x0698
1150 04fc 02bf 03d9 call 0x03d9
1152 04fe 02bf 0446 call 0x0446
1153 0500 02bf 0bb6 call 0x0bb6
1154 0502 02bf 04d4 call 0x04d4
1156 0505 00fe 0354 sr @0x0354, $AC0.M
1157 0507 00de 0342 lr $AC0.M, @0x0342
1158 0509 007e 064c bloop $AC0.M, 0x064c
1159 050b 00d8 0354 lr $AX0.L, @0x0354
1160 050d 009a 0180 lri $AX0.H, #0x0180
1162 0510 00de 0380 lr $AC0.M, @0x0380
1163 0512 00dc 0381 lr $AC0.L, @0x0381
1164 0514 9000 mul $AX0.L, $AX0.H
1165 0515 9400 mulac $AX0.L, $AX0.H, $ACC0
1166 0516 00fe 034c sr @0x034c, $AC0.M
1167 0518 00fc 034d sr @0x034d, $AC0.L
1168 051a 02bf 0393 call 0x0393
1169 051c 00da 0400 lr $AX0.H, @0x0400
1170 051e 8600 tstaxh $AX0.H
1171 051f 0295 0647 jz 0x0647
1172 0521 00da 0401 lr $AX0.H, @0x0401
1173 0523 8600 tstaxh $AX0.H
1174 0524 0294 0647 jnz 0x0647
1175 0526 00da 0433 lr $AX0.H, @0x0433
1176 0528 00fa 03f8 sr @0x03f8, $AX0.H
1177 052a 00da 0406 lr $AX0.H, @0x0406
1178 052c 8600 tstaxh $AX0.H
1179 052d 0294 0a5e jnz 0x0a5e
1181 0530 00de 0480 lr $AC0.M, @0x0480
1182 0532 0609 cmpis $ACC0, #0x09
1183 0533 0295 0540 jz 0x0540
1184 0535 0620 cmpis $ACC0, #0x20
1185 0536 0295 08cd jz 0x08cd
1186 0538 0621 cmpis $ACC0, #0x21
1187 0539 0295 08d6 jz 0x08d6
1188 053b 0608 cmpis $ACC0, #0x08
1189 053c 0295 0a66 jz 0x0a66
1190 053e 029f 0266 jmp 0x0266
1191 0540 00d8 0402 lr $AX0.L, @0x0402
1194 0544 00dc 0430 lr $AC0.L, @0x0430
1196 0547 0099 0050 lri $AX1.L, #0x0050
1197 0549 a000 mulx $AX0.L, $AX1.L
1198 054a a400 mulxac $AX0.L, $AX1.L, $ACC0
1199 054b 1404 lsl $ACC0, #4
1201 054d 1ffe mrr $AC1.M, $AC0.M
1202 054e 0083 0580 lri $AR3, #0x0580
1203 0550 00da 0481 lr $AX0.H, @0x0481
1204 0552 8600 tstaxh $AX0.H
1205 0553 0295 0563 jz 0x0563
1206 0555 00da 0489 lr $AX0.H, @0x0489
1208 0558 00de 048b lr $AC0.M, @0x048b
1209 055a 3800 orr $AC0.M, $AX0.H
1210 055b 0240 000f andi $AC0.M, #0x000f
1211 055d 0295 0563 jz 0x0563
1212 055f 02bf 07d5 call 0x07d5
1213 0561 029f 0565 jmp 0x0565
1214 0563 02bf 0966 call 0x0966
1215 0565 0080 0580 lri $AR0, #0x0580
1216 0567 0081 0520 lri $AR1, #0x0520
1217 0569 0099 0000 lri $AX1.L, #0x0000
1218 056b 02bf 0141 call 0x0141
1219 056d 00da 04a8 lr $AX0.H, @0x04a8
1220 056f 8600 tstaxh $AX0.H
1221 0570 0295 0576 jz 0x0576
1222 0572 0080 0520 lri $AR0, #0x0520
1223 0574 02bf 0b90 call 0x0b90
1224 0576 009e 0520 lri $AC0.M, #0x0520
1225 0578 00fe 038f sr @0x038f, $AC0.M
1227 057b 00df 0484 lr $AC1.M, @0x0484
1228 057d 0340 001f andi $AC1.M, #0x001f
1230 0580 0295 05a6 jz 0x05a6
1231 0582 00de 038f lr $AC0.M, @0x038f
1232 0584 5c00 sub $ACC0, $AC1.L
1233 0585 00fe 038f sr @0x038f, $AC0.M
1234 0587 1c7e mrr $AR3, $AC0.M
1235 0588 0080 0440 lri $AR0, #0x0440
1236 058a 05fe addis $ACC1, #0xfe
1237 058b 02bf 03ac call 0x03ac
1238 058d 0080 0490 lri $AR0, #0x0490
1239 058f 00c1 038f lr $AR1, @0x038f
1241 0592 00df 0484 lr $AC1.M, @0x0484
1242 0594 0340 001f andi $AC1.M, #0x001f
1243 0596 02bf 01e1 call 0x01e1
1244 0598 00de 038f lr $AC0.M, @0x038f
1245 059a 0450 addis $ACC0, #0x50
1246 059b 1c1e mrr $AR0, $AC0.M
1247 059c 0083 0440 lri $AR3, #0x0440
1249 059f 00df 0484 lr $AC1.M, @0x0484
1250 05a1 0340 001f andi $AC1.M, #0x001f
1251 05a3 05fe addis $ACC1, #0xfe
1252 05a4 02bf 03ac call 0x03ac
1253 05a6 00de 0484 lr $AC0.M, @0x0484
1254 05a8 0240 0020 andi $AC0.M, #0x0020
1255 05aa 0295 05c8 jz 0x05c8
1256 05ac 0080 04a4 lri $AR0, #0x04a4
1257 05ae 00c1 038f lr $AR1, @0x038f
1258 05b0 0082 0454 lri $AR2, #0x0454
1259 05b2 0083 04a7 lri $AR3, #0x04a7
1260 05b4 18fa lrrd $AX0.H, @$AR3
1261 05b5 8600 tstaxh $AX0.H
1262 05b6 0294 05c6 jnz 0x05c6
1263 05b8 18fa lrrd $AX0.H, @$AR3
1264 05b9 8600 tstaxh $AX0.H
1265 05ba 0294 05c6 jnz 0x05c6
1266 05bc 18fa lrrd $AX0.H, @$AR3
1267 05bd 8600 tstaxh $AX0.H
1268 05be 0294 05c6 jnz 0x05c6
1270 05c1 18fe lrrd $AC0.M, @$AR3
1271 05c2 0280 7fff cmpi $AC0.M, #0x7fff
1272 05c4 0295 05c8 jz 0x05c8
1273 05c6 02bf 01fc call 0x01fc
1275 05c9 1c9e mrr $IX0, $AC0.M
1276 05ca 1cde mrr $IX2, $AC0.M
1277 05cb 7400 incm $AC0.M
1278 05cc 1cfe mrr $IX3, $AC0.M
1280 05ce 00de 0407 lr $AC0.M, @0x0407
1282 05d1 0295 05e0 jz 0x05e0
1283 05d3 00c3 038f lr $AR3, @0x038f
1285 05d6 0080 0477 lri $AR0, #0x0477
1286 05d8 0084 ffff lri $IX0, #0xffff
1287 05da 0087 ffff lri $IX3, #0xffff
1288 05dc 199a lrrn $AX0.H, @$AR0
1289 05dd 6554 movr'ln $ACC1, $AX0.H : $AX0.H, @$AR0
1290 05de 005e loop $AC0.M
1291 05df 65ad movr'lsnm $ACC1, $AX0.H : $AX0.H, $AC1.M
1292 05e0 00da 0485 lr $AX0.H, @0x0485
1293 05e2 8600 tstaxh $AX0.H
1294 05e3 0295 05f6 jz 0x05f6
1296 05e6 0086 0005 lri $IX2, #0x0005
1297 05e8 0082 040a lri $AR2, #0x040a
1298 05ea 1106 05ee bloopi #0x06, 0x05ee
1299 05ec 18de lrrd $AC0.M, @$AR2
1300 05ed 147f lsr $ACC0, #-1
1301 05ee 4d36 add'sn $ACC1, $AC0.L : @$AR2, $AC0.M
1303 05f0 0294 05f6 jnz 0x05f6
1304 05f2 009a 0001 lri $AX0.H, #0x0001
1305 05f4 00fa 0401 sr @0x0401, $AX0.H
1307 05f7 0086 0002 lri $IX2, #0x0002
1308 05f9 0082 0408 lri $AR2, #0x0408
1309 05fb 1106 0626 bloopi #0x06, 0x0626
1311 05fe 195e lrri $AC0.M, @$AR2
1312 05ff 1200 sbclr #0x00
1315 0602 1300 sbset #0x00
1316 0603 1c7e mrr $AR3, $AC0.M
1317 0604 195e lrri $AC0.M, @$AR2
1318 0605 195f lrri $AC1.M, @$AR2
1319 0606 5c00 sub $ACC0, $AC1.L
1320 0607 14fb asr $ACC0, #-5
1321 0608 1f5e mrr $AX0.H, $AC0.M
1322 0609 1f1c mrr $AX0.L, $AC0.L
1323 060a 185e lrr $AC0.M, @$AR2
1324 060b 0240 00ff andi $AC0.M, #0x00ff
1325 060d 1f7e mrr $AX1.H, $AC0.M
1326 060e 185e lrr $AC0.M, @$AR2
1327 060f 1478 lsr $ACC0, #-8
1328 0610 009c 0000 lri $AC0.L, #0x0000
1329 0612 d100 cmpar $ACC1, $AX0.H
1330 0613 0295 061b jz 0x061b
1331 0615 185e lrr $AC0.M, @$AR2
1333 0617 7400 incm $AC0.M
1335 0619 7800 decm $AC0.M
1336 061a 1a5e srr @$AR2, $AC0.M
1338 061c 00de 038f lr $AC0.M, @0x038f
1339 061e 5600 subr $ACC0, $AX1.H
1340 061f 029d 0624 jlz 0x0624
1341 0621 1c1e mrr $AR0, $AC0.M
1342 0622 02bf 011e call 0x011e
1344 0625 1b5f srri @$AR2, $AC1.M
1348 0629 00de 0407 lr $AC0.M, @0x0407
1350 062c 0295 063d jz 0x063d
1351 062e 00c3 038f lr $AR3, @0x038f
1352 0630 0087 004f lri $IX3, #0x004f
1353 0632 001f addarn $AR3, $IX3
1354 0633 0080 0477 lri $AR0, #0x0477
1355 0635 0084 ffff lri $IX0, #0xffff
1356 0637 0087 ffff lri $IX3, #0xffff
1357 0639 19fa lrrn $AX0.H, @$AR3
1358 063a 6557 movr'ln $ACC1, $AX0.H : $AX0.H, @$AR3
1359 063b 005e loop $AC0.M
1360 063c 65af movr'slnm $ACC1, $AX0.H : $AC1.M, $AX0.H
1361 063d 00da 0406 lr $AX0.H, @0x0406
1362 063f 8600 tstaxh $AX0.H
1363 0640 0294 0645 jnz 0x0645
1365 0643 00fe 0404 sr @0x0404, $AC0.M
1366 0645 02bf 039c call 0x039c
1369 0647 00de 0354 lr $AC0.M, @0x0354
1370 0649 7400 incm $AC0.M
1371 064a 00fe 0354 sr @0x0354, $AC0.M
1373 064d 16fb 0001 si @DIRQ, #0x0001
1374 064f 02bf 0b11 call 0x0b11
1375 0651 02bf 0b24 call 0x0b24
1376 0653 02bf 0b7b call 0x0b7b
1377 0655 0080 09a0 lri $AR0, #0x09a0
1378 0657 0083 0d00 lri $AR3, #0x0d00
1379 0659 009f 0050 lri $AC1.M, #0x0050
1380 065b 0098 5a82 lri $AX0.L, #0x5a82
1381 065d 02bf 03bd call 0x03bd
1382 065f 0080 09a0 lri $AR0, #0x09a0
1383 0661 0083 0d60 lri $AR3, #0x0d60
1384 0663 009f 0050 lri $AC1.M, #0x0050
1385 0665 02bf 03bd call 0x03bd
1386 0667 0083 0d00 lri $AR3, #0x0d00
1387 0669 02bf 0130 call 0x0130
1388 066b 0081 0388 lri $AR1, #0x0388
1389 066d 009f 0d00 lri $AC1.M, #0x0d00
1390 066f 0080 0050 lri $AR0, #0x0050
1391 0671 02bf 0089 call 0x0089
1392 0673 0080 0fa0 lri $AR0, #0x0fa0
1393 0675 0083 0d60 lri $AR3, #0x0d60
1394 0677 009f 0050 lri $AC1.M, #0x0050
1395 0679 0098 8000 lri $AX0.L, #0x8000
1396 067b 02bf 03bd call 0x03bd
1397 067d 0083 0d60 lri $AR3, #0x0d60
1398 067f 02bf 0130 call 0x0130
1399 0681 0081 038a lri $AR1, #0x038a
1400 0683 009f 0d60 lri $AC1.M, #0x0d60
1401 0685 0080 0050 lri $AR0, #0x0050
1402 0687 02bf 0089 call 0x0089
1403 0689 009a 0000 lri $AX0.H, #0x0000
1404 068b 0098 00a0 lri $AX0.L, #0x00a0
1405 068d 0080 0388 lri $AR0, #0x0388
1406 068f 02bf 04ce call 0x04ce
1407 0691 0080 038a lri $AR0, #0x038a
1408 0693 02bf 04ce call 0x04ce
1409 0695 02bf 0497 call 0x0497
1413 0699 029f 0031 jmp 0x0031
1414 069b 0080 0346 lri $AR0, #0x0346
1415 069d 02bf 0051 call 0x0051
1416 069f 02bf 0051 call 0x0051
1417 06a1 0081 0346 lri $AR1, #0x0346
1418 06a3 193e lrri $AC0.M, @$AR1
1419 06a4 193c lrri $AC0.L, @$AR1
1420 06a5 009f 0400 lri $AC1.M, #0x0400
1421 06a7 00c0 0345 lr $AR0, @0x0345
1422 06a9 02bf 007e call 0x007e
1424 06ab 0081 0348 lri $AR1, #0x0348
1425 06ad 193e lrri $AC0.M, @$AR1
1426 06ae 193c lrri $AC0.L, @$AR1
1427 06af 009f 0800 lri $AC1.M, #0x0800
1428 06b1 00c0 0345 lr $AR0, @0x0345
1429 06b3 02bf 007e call 0x007e
1431 06b5 0081 0346 lri $AR1, #0x0346
1432 06b7 193e lrri $AC0.M, @$AR1
1433 06b8 193c lrri $AC0.L, @$AR1
1434 06b9 009f 0800 lri $AC1.M, #0x0800
1435 06bb 00c0 0345 lr $AR0, @0x0345
1436 06bd 02bf 008b call 0x008b
1438 06bf 0081 0348 lri $AR1, #0x0348
1439 06c1 193e lrri $AC0.M, @$AR1
1440 06c2 193c lrri $AC0.L, @$AR1
1441 06c3 009f 0400 lri $AC1.M, #0x0400
1442 06c5 00c0 0345 lr $AR0, @0x0345
1443 06c7 02bf 008b call 0x008b
1445 06c9 029f 0049 jmp 0x0049
1449 06cb 0080 0346 lri $AR0, #0x0346
1450 06cd 02bf 0051 call 0x0051
1451 06cf 02bf 0051 call 0x0051
1452 06d1 0081 0346 lri $AR1, #0x0346
1453 06d3 193e lrri $AC0.M, @$AR1
1454 06d4 193c lrri $AC0.L, @$AR1
1455 06d5 009f 0400 lri $AC1.M, #0x0400
1456 06d7 00c0 0345 lr $AR0, @0x0345
1457 06d9 02bf 007e call 0x007e
1458 06db 0081 0348 lri $AR1, #0x0348
1459 06dd 193e lrri $AC0.M, @$AR1
1460 06de 193c lrri $AC0.L, @$AR1
1461 06df 009f 0400 lri $AC1.M, #0x0400
1462 06e1 00c0 0345 lr $AR0, @0x0345
1463 06e3 02bf 008b call 0x008b
1464 06e5 029f 0049 jmp 0x0049
1468 06e7 0080 0346 lri $AR0, #0x0346
1469 06e9 02bf 0051 call 0x0051
1470 06eb 02bf 0051 call 0x0051
1471 06ed 0081 0346 lri $AR1, #0x0346
1472 06ef 193e lrri $AC0.M, @$AR1
1473 06f0 193c lrri $AC0.L, @$AR1
1474 06f1 009f 0400 lri $AC1.M, #0x0400
1475 06f3 00c0 0345 lr $AR0, @0x0345
1476 06f5 02bf 00ae call 0x00ae
1477 06f7 0081 0348 lri $AR1, #0x0348
1478 06f9 193e lrri $AC0.M, @$AR1
1479 06fa 193c lrri $AC0.L, @$AR1
1480 06fb 009f 0400 lri $AC1.M, #0x0400
1481 06fd 00c0 0345 lr $AR0, @0x0345
1482 06ff 02bf 008b call 0x008b
1483 0701 029f 0049 jmp 0x0049
1484 0703 0080 0346 lri $AR0, #0x0346
1485 0705 02bf 0051 call 0x0051
1486 0707 02bf 0051 call 0x0051
1487 0709 0081 0346 lri $AR1, #0x0346
1488 070b 193e lrri $AC0.M, @$AR1
1489 070c 193c lrri $AC0.L, @$AR1
1490 070d 009f 0400 lri $AC1.M, #0x0400
1491 070f 00c0 0344 lr $AR0, @0x0344
1492 0711 02bf 007e call 0x007e
1493 0713 0081 0348 lri $AR1, #0x0348
1494 0715 193e lrri $AC0.M, @$AR1
1495 0716 193c lrri $AC0.L, @$AR1
1496 0717 009f 0800 lri $AC1.M, #0x0800
1497 0719 00c0 0344 lr $AR0, @0x0344
1498 071b 02bf 007e call 0x007e
1499 071d 0080 0400 lri $AR0, #0x0400
1500 071f 0083 0800 lri $AR3, #0x0800
1501 0721 0084 0000 lri $IX0, #0x0000
1502 0723 00da 0345 lr $AX0.H, @0x0345
1503 0725 00df 0344 lr $AC1.M, @0x0344
1505 0728 197b lrri $AX1.H, @$AR3
1506 0729 b800 mulx $AX0.H, $AX1.H
1507 072a 197b lrri $AX1.H, @$AR3
1508 072b 007f 0730 bloop $AC1.M, 0x0730
1509 072d 199e lrrn $AC0.M, @$AR0
1510 072e bc00 mulxac $AX0.H, $AX1.H, $ACC0
1511 072f 80b2 nx'sl : $AC0.M, $AX1.H
1514 0732 0081 0346 lri $AR1, #0x0346
1515 0734 193e lrri $AC0.M, @$AR1
1516 0735 193c lrri $AC0.L, @$AR1
1517 0736 009f 0400 lri $AC1.M, #0x0400
1518 0738 00c0 0344 lr $AR0, @0x0344
1519 073a 02bf 008b call 0x008b
1520 073c 009e 8200 lri $AC0.M, #0x8200
1521 073e 00dc 0344 lr $AC0.L, @0x0344
1522 0740 02bf 005a call 0x005a
1523 0742 029f 0031 jmp 0x0031
1524 0744 0080 0346 lri $AR0, #0x0346
1525 0746 02bf 0051 call 0x0051
1526 0748 0081 0346 lri $AR1, #0x0346
1527 074a 009f 0400 lri $AC1.M, #0x0400
1528 074c 00c0 0345 lr $AR0, @0x0345
1529 074e 02bf 007c call 0x007c
1530 0750 02bf 8644 call 0x8644
1531 0752 029f 0049 jmp 0x0049
1535 0754 009e 0458 lri $AC0.M, #0x0458
1536 0756 2231 lrs $AX0.H, @0x0031
1537 0757 4400 addr $ACC0, $AX0.H
1538 0758 1c1e mrr $AR0, $AC0.M
1539 0759 1fda mrr $AC0.M, $AX0.H
1540 075a 3280 xorr'ls $AC0.M, $AX1.H : $AX0.L, $AC0.M
1541 075b 7400 incm $AC0.M
1542 075c 2232 lrs $AX0.H, @0x0032
1543 075d 4400 addr $ACC0, $AX0.H
1544 075e 0090 0000 lri $AC0.H, #0x0000
1545 0760 029f 0771 jmp 0x0771
1546 0762 009e 0458 lri $AC0.M, #0x0458
1547 0764 2231 lrs $AX0.H, @0x0031
1548 0765 4400 addr $ACC0, $AX0.H
1549 0766 1c1e mrr $AR0, $AC0.M
1550 0767 1fda mrr $AC0.M, $AX0.H
1551 0768 3280 xorr'ls $AC0.M, $AX1.H : $AX0.L, $AC0.M
1552 0769 7400 incm $AC0.M
1553 076a 2232 lrs $AX0.H, @0x0032
1554 076b 4400 addr $ACC0, $AX0.H
1555 076c 0090 0000 lri $AC0.H, #0x0000
1558 0770 1fdf mrr $AC0.M, $AC1.M
1559 0771 1f3e mrr $AX1.L, $AC0.M
1560 0772 02bf 07c8 call 0x07c8
1561 0774 2634 lrs $AC0.M, @0x0034
1562 0775 2435 lrs $AC0.L, @0x0035
1563 0776 7200 addaxl $ACC0, $AX1.L
1564 0777 5300 subr $ACC1, $AX1.L
1565 0778 2e34 srs @0x0034, $AC0.M
1566 0779 2c35 srs @0x0035, $AC0.L
1572 077c 2234 lrs $AX0.H, @0x0034
1573 077d 2035 lrs $AX0.L, @0x0035
1574 077e 4800 addax $ACC0, $AX0.L
1575 077f 147c lsr $ACC0, #-4
1576 0780 2e36 srs @0x0036, $AC0.M
1577 0781 2c37 srs @0x0037, $AC0.L
1578 0782 2380 lrs $AX1.H, @0xff80
1580 0784 c810 mulc'mv $AC0.M, $AX1.H : $AX0.L, $AC0.L
1581 0785 ae00 mulxmv $AX0.L, $AX1.H, $ACC0
1583 0787 2035 lrs $AX0.L, @0x0035
1584 0788 f000 lsl16 $ACC0
1585 0789 4e00 addp $ACC0
1586 078a 238c lrs $AX1.H, @0xff8c
1587 078b 218d lrs $AX1.L, @0xff8d
1588 078c 4a00 addax $ACC0, $AX1.L
1589 078d 2e38 srs @0x0038, $AC0.M
1590 078e 2c39 srs @0x0039, $AC0.L
1591 078f 1fd8 mrr $AC0.M, $AX0.L
1592 0790 0240 000f andi $AC0.M, #0x000f
1593 0792 2e31 srs @0x0031, $AC0.M
1594 0793 268a lrs $AC0.M, @0xff8a
1595 0794 248b lrs $AC0.L, @0xff8b
1596 0795 5800 subax $ACC0, $AX0.L
1597 0796 2e3a srs @0x003a, $AC0.M
1598 0797 2c3b srs @0x003b, $AC0.L
1603 0799 2236 lrs $AX0.H, @0x0036
1604 079a 2037 lrs $AX0.L, @0x0037
1606 079c 268a lrs $AC0.M, @0xff8a
1607 079d 248b lrs $AC0.L, @0xff8b
1608 079e 147c lsr $ACC0, #-4
1609 079f 5800 subax $ACC0, $AX0.L
1610 07a0 0295 07a9 jz 0x07a9
1611 07a2 02bf 081b call 0x081b
1612 07a4 0e10 lris $AC0.M, #0x10
1613 07a5 2e32 srs @0x0032, $AC0.M
1615 07a7 2e31 srs @0x0031, $AC0.M
1620 07a9 228a lrs $AX0.H, @0xff8a
1621 07aa 208b lrs $AX0.L, @0xff8b
1623 07ac 2634 lrs $AC0.M, @0x0034
1624 07ad 2435 lrs $AC0.L, @0x0035
1625 07ae 5800 subax $ACC0, $AX0.L
1626 07af 0290 07b6 jns 0x07b6
1627 07b1 02bf 081b call 0x081b
1628 07b3 263b lrs $AC0.M, @0x003b
1629 07b4 029f 07a5 jmp 0x07a5
1630 07b6 2688 lrs $AC0.M, @0xff88
1631 07b7 2489 lrs $AC0.L, @0xff89
1632 07b8 2e34 srs @0x0034, $AC0.M
1633 07b9 2c35 srs @0x0035, $AC0.L
1634 07ba 0e10 lris $AC0.M, #0x10
1635 07bb 2e32 srs @0x0032, $AC0.M
1636 07bc 02bf 077b call 0x077b
1637 07be 2682 lrs $AC0.M, @0xff82
1638 07bf 2e67 srs @0x0067, $AC0.M
1639 07c0 2683 lrs $AC0.M, @0xff83
1640 07c1 2e66 srs @0x0066, $AC0.M
1642 07c3 00fe 0362 sr @0x0362, $AC0.M
1643 07c5 02bf 081b call 0x081b
1650 07ca 04fe addis $ACC0, #0xfe
1651 07cb 1f1e mrr $AX0.L, $AC0.M
1652 07cc 191e lrri $AC0.M, @$AR0
1653 07cd 0291 07d3 js 0x07d3
1654 07cf 191a lrri $AX0.H, @$AR0
1655 07d0 0058 loop $AX0.L
1656 07d1 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M
1657 07d2 6433 movr's $ACC0, $AX0.H : @$AR3, $AC0.M
1658 07d3 1b7e srri @$AR3, $AC0.M
1663 07d5 0092 0004 lri $CR, #0x0004
1664 07d7 02bf 077b call 0x077b
1666 07da 00fe 0362 sr @0x0362, $AC0.M
1668 07dd 263a lrs $AC0.M, @0x003a
1669 07de 243b lrs $AC0.L, @0x003b
1671 07e0 0294 07f2 jnz 0x07f2
1672 07e2 02bf 0799 call 0x0799
1673 07e4 2231 lrs $AX0.H, @0x0031
1674 07e5 8600 tstaxh $AX0.H
1675 07e6 0294 07ef jnz 0x07ef
1676 07e8 02bf 0762 call 0x0762
1678 07eb 0295 0818 jz 0x0818
1679 07ed 02bf 077b call 0x077b
1681 07f0 263a lrs $AC0.M, @0x003a
1682 07f1 243b lrs $AC0.L, @0x003b
1683 07f2 1f1f mrr $AX0.L, $AC1.M
1684 07f3 009a 0000 lri $AX0.H, #0x0000
1685 07f5 5800 subax $ACC0, $AX0.L
1686 07f6 0290 0805 jns 0x0805
1688 07f9 2631 lrs $AC0.M, @0x0031
1690 07fb 0294 07ff jnz 0x07ff
1691 07fd 02bf 0799 call 0x0799
1692 07ff 02bf 0754 call 0x0754
1693 0801 02bf 077b call 0x077b
1694 0803 029f 07dc jmp 0x07dc
1696 0806 2631 lrs $AC0.M, @0x0031
1698 0808 0294 080c jnz 0x080c
1699 080a 02bf 0799 call 0x0799
1700 080c 02bf 0762 call 0x0762
1702 080f 0295 0818 jz 0x0818
1703 0811 02bf 077b call 0x077b
1704 0813 029f 0805 jmp 0x0805
1706 0816 005f loop $AC1.M
1707 0817 1b7e srri @$AR3, $AC0.M
1708 0818 0092 00ff lri $CR, #0x00ff
1713 081b 00ff 0360 sr @0x0360, $AC1.M
1714 081d 00da 0362 lr $AX0.H, @0x0362
1715 081f 8600 tstaxh $AX0.H
1716 0820 0294 082d jnz 0x082d
1717 0822 0a01 lris $AX0.H, #0x01
1718 0823 00fa 0362 sr @0x0362, $AX0.H
1719 0825 2638 lrs $AC0.M, @0x0038
1720 0826 2439 lrs $AC0.L, @0x0039
1721 0827 009f 0005 lri $AC1.M, #0x0005
1722 0829 02bf 0103 call 0x0103
1723 082b 0092 0004 lri $CR, #0x0004
1724 082d 0080 ffd3 lri $AR0, #0xffd3
1725 082f 0084 0000 lri $IX0, #0x0000
1726 0831 199e lrrn $AC0.M, @$AR0
1727 0832 1ffe mrr $AC1.M, $AC0.M
1728 0833 1401 lsl $ACC0, #1
1729 0834 0240 001e andi $AC0.M, #0x001e
1730 0836 0200 0300 addi $AC0.M, #0x0300
1731 0838 1c3e mrr $AR1, $AC0.M
1732 0839 157c lsr $ACC1, #-4
1733 083a 0340 000f andi $AC1.M, #0x000f
1734 083c 0a11 lris $AX0.H, #0x11
1735 083d 5500 subr $ACC1, $AX0.H
1736 083e 009a 00f0 lri $AX0.H, #0x00f0
1737 0840 009b 000f lri $AX1.H, #0x000f
1738 0842 0082 0370 lri $AR2, #0x0370
1739 0844 1998 lrrn $AX0.L, @$AR0
1740 0845 6000 movr $ACC0, $AX0.L
1741 0846 1107 084d bloopi #0x07, 0x084d
1742 0848 3400 andr $AC0.M, $AX0.H
1743 0849 1408 lsl $ACC0, #8
1744 084a 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M
1745 084b 3644 andr'ln $AC0.M, $AX1.H : $AX0.L, @$AR0
1746 084c 140c lsl $ACC0, #12
1747 084d 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M
1748 084e 3400 andr $AC0.M, $AX0.H
1749 084f 1408 lsl $ACC0, #8
1750 0850 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M
1751 0851 3600 andr $AC0.M, $AX1.H
1752 0852 140c lsl $ACC0, #12
1753 0853 1b5e srri @$AR2, $AC0.M
1755 0855 1f7f mrr $AX1.H, $AC1.M
1756 0856 2066 lrs $AX0.L, @0x0066
1757 0857 2767 lrs $AC1.M, @0x0067
1758 0858 193a lrri $AX0.H, @$AR1
1759 0859 1939 lrri $AX1.L, @$AR1
1760 085a 0080 0370 lri $AR0, #0x0370
1761 085c 0081 0458 lri $AR1, #0x0458
1762 085e 1c80 mrr $IX0, $AR0
1763 085f a000 mulx $AX0.L, $AX1.L
1764 0860 ea70 maddc'l $AC1.M, $AX1.L : $AC0.M, @$AR0
1765 0861 1108 086a bloopi #0x08, 0x086a
1766 0863 3a93 orr'sl $AC0.M, $AX1.H : $AC1.M, $AX1.L
1767 0864 a478 mulxac'l $AX0.L, $AX1.L, $ACC0 : $AC1.M, @$AR0
1768 0865 1485 asl $ACC0, #5
1769 0866 e831 maddc's $AC0.M, $AX1.L : @$AR1, $AC0.M
1770 0867 3b92 orr'sl $AC1.M, $AX1.H : $AC0.M, $AX1.L
1771 0868 a570 mulxac'l $AX0.L, $AX1.L, $ACC1 : $AC0.M, @$AR0
1772 0869 1585 asl $ACC1, #5
1773 086a ea39 maddc's $AC1.M, $AX1.L : @$AR1, $AC1.M
1776 086d 00df 0360 lr $AC1.M, @0x0360
1781 0870 0080 0346 lri $AR0, #0x0346
1782 0872 02bf 0051 call 0x0051
1784 0875 0080 0458 lri $AR0, #0x0458
1785 0877 1010 loopi #0x10
1786 0878 1b1e srri @$AR0, $AC0.M
1787 0879 00fe 0482 sr @0x0482, $AC0.M
1788 087b 00fe 0483 sr @0x0483, $AC0.M
1789 087d 009c 0000 lri $AC0.L, #0x0000
1790 087f 00fe 0434 sr @0x0434, $AC0.M
1791 0881 00fc 0435 sr @0x0435, $AC0.L
1792 0883 009e 0100 lri $AC0.M, #0x0100
1793 0885 009c f100 lri $AC0.L, #0xf100
1794 0887 00fe 048e sr @0x048e, $AC0.M
1795 0889 00fc 048f sr @0x048f, $AC0.L
1796 088b 009e 0040 lri $AC0.M, #0x0040
1797 088d 009c 0000 lri $AC0.L, #0x0000
1798 088f 00fe 048c sr @0x048c, $AC0.M
1799 0891 00fc 048d sr @0x048d, $AC0.L
1800 0893 009e 0009 lri $AC0.M, #0x0009
1801 0895 00fe 0480 sr @0x0480, $AC0.M
1802 0897 009e 0010 lri $AC0.M, #0x0010
1803 0899 00fe 0432 sr @0x0432, $AC0.M
1804 089b 009e 0100 lri $AC0.M, #0x0100
1805 089d 009c f250 lri $AC0.L, #0xf250
1806 089f 00fe 048a sr @0x048a, $AC0.M
1807 08a1 00fc 048b sr @0x048b, $AC0.L
1808 08a3 009c 0000 lri $AC0.L, #0x0000
1809 08a5 00fe 0488 sr @0x0488, $AC0.M
1810 08a7 00fc 0489 sr @0x0489, $AC0.L
1811 08a9 009e 0001 lri $AC0.M, #0x0001
1812 08ab 00fe 0481 sr @0x0481, $AC0.M
1814 08ae 00ff 0401 sr @0x0401, $AC1.M
1815 08b0 1180 08ca bloopi #0x80, 0x08ca
1816 08b2 0083 0580 lri $AR3, #0x0580
1817 08b4 009f 0100 lri $AC1.M, #0x0100
1818 08b6 02bf 07d5 call 0x07d5
1819 08b8 0081 0346 lri $AR1, #0x0346
1820 08ba 193e lrri $AC0.M, @$AR1
1821 08bb 18bc lrrd $AC0.L, @$AR1
1822 08bc 009f 0580 lri $AC1.M, #0x0580
1823 08be 0080 0100 lri $AR0, #0x0100
1824 08c0 02bf 008b call 0x008b
1825 08c2 0081 0346 lri $AR1, #0x0346
1826 08c4 193e lrri $AC0.M, @$AR1
1827 08c5 18bc lrrd $AC0.L, @$AR1
1828 08c6 0098 0200 lri $AX0.L, #0x0200
1829 08c8 7000 addaxl $ACC0, $AX0.L
1830 08c9 1b3e srri @$AR1, $AC0.M
1831 08ca 1abc srrd @$AR1, $AC0.L
1832 08cb 029f 0049 jmp 0x0049
1837 08ce 009f 0050 lri $AC1.M, #0x0050
1838 08d0 0083 0520 lri $AR3, #0x0520
1839 08d2 02bf 08e8 call 0x08e8
1840 08d4 029f 056d jmp 0x056d
1844 08d6 00d8 0402 lr $AX0.L, @0x0402
1847 08da 00dc 0430 lr $AC0.L, @0x0430
1848 08dc 009a 0050 lri $AX0.H, #0x0050
1849 08de 9000 mul $AX0.L, $AX0.H
1850 08df 9400 mulac $AX0.L, $AX0.H, $ACC0
1851 08e0 1404 lsl $ACC0, #4
1852 08e1 1ffe mrr $AC1.M, $AC0.M
1853 08e2 0083 0580 lri $AR3, #0x0580
1854 08e4 02bf 08e8 call 0x08e8
1855 08e6 029f 0565 jmp 0x0565
1859 08e8 0092 0004 lri $CR, #0x0004
1861 08eb 263a lrs $AC0.M, @0x003a
1862 08ec 243b lrs $AC0.L, @0x003b
1863 08ed 1f1f mrr $AX0.L, $AC1.M
1864 08ee 009a 0000 lri $AX0.H, #0x0000
1865 08f0 5800 subax $ACC0, $AX0.L
1866 08f1 0290 0908 jns 0x0908
1868 08f4 00c0 043b lr $AR0, @0x043b
1869 08f6 02bf 092d call 0x092d
1871 08f9 1fd8 mrr $AC0.M, $AX0.L
1872 08fa 223b lrs $AX0.H, @0x003b
1873 08fb 5400 subr $ACC0, $AX0.H
1875 08fd 1979 lrri $AX1.L, @$AR3
1876 08fe 005e loop $AC0.M
1877 08ff 1b79 srri @$AR3, $AX1.L
1878 0900 009f 0001 lri $AC1.M, #0x0001
1879 0902 2f01 srs @0x0001, $AC1.M
1881 0904 2f3b srs @0x003b, $AC1.M
1882 0905 0092 00ff lri $CR, #0x00ff
1887 0908 2e3a srs @0x003a, $AC0.M
1888 0909 2c3b srs @0x003b, $AC0.L
1891 090c 268a lrs $AC0.M, @0xff8a
1892 090d 2734 lrs $AC1.M, @0x0034
1893 090e 5c00 sub $ACC0, $AC1.L
1894 090f 2e36 srs @0x0036, $AC0.M
1895 0910 5000 subr $ACC0, $AX0.L
1896 0911 0290 0927 jns 0x0927
1897 0913 00c0 0436 lr $AR0, @0x0436
1898 0915 02bf 092d call 0x092d
1900 0918 1fd8 mrr $AC0.M, $AX0.L
1901 0919 2236 lrs $AX0.H, @0x0036
1902 091a 5400 subr $ACC0, $AX0.H
1903 091b 1c1e mrr $AR0, $AC0.M
1905 091d 2e34 srs @0x0034, $AC0.M
1906 091e 2688 lrs $AC0.M, @0xff88
1907 091f 2489 lrs $AC0.L, @0xff89
1908 0920 2e8c srs @0xff8c, $AC0.M
1909 0921 2c8d srs @0xff8d, $AC0.L
1910 0922 02bf 092d call 0x092d
1911 0924 0092 00ff lri $CR, #0x00ff
1916 0927 1c18 mrr $AR0, $AX0.L
1917 0928 02bf 092d call 0x092d
1918 092a 0092 00ff lri $CR, #0x00ff
1924 092e 1fc0 mrr $AC0.M, $AR0
1928 0932 2734 lrs $AC1.M, @0x0034
1929 0933 0340 0001 andi $AC1.M, #0x0001
1930 0935 009b 0000 lri $AX1.H, #0x0000
1931 0937 1f3f mrr $AX1.L, $AC1.M
1932 0938 268c lrs $AC0.M, @0xff8c
1933 0939 248d lrs $AC0.L, @0xff8d
1935 093b 2534 lrs $AC1.L, @0x0034
1936 093c 1501 lsl $ACC1, #1
1937 093d 4c00 add $ACC0, $AC1.L
1938 093e 5a00 subax $ACC0, $AX1.L
1939 093f 5a00 subax $ACC0, $AX1.L
1940 0940 1c20 mrr $AR1, $AR0
1941 0941 1fe0 mrr $AC1.M, $AR0
1942 0942 0502 addis $ACC1, #0x02
1943 0943 1c1f mrr $AR0, $AC1.M
1944 0944 009f 0a00 lri $AC1.M, #0x0a00
1945 0946 0092 00ff lri $CR, #0x00ff
1946 0948 02bf 007e call 0x007e
1947 094a 0092 0004 lri $CR, #0x0004
1948 094c 2734 lrs $AC1.M, @0x0034
1949 094d 1f61 mrr $AX1.H, $AR1
1950 094e 4700 addr $ACC1, $AX1.H
1951 094f 2f34 srs @0x0034, $AC1.M
1952 0950 0080 0a00 lri $AR0, #0x0a00
1954 0953 1ff9 mrr $AC1.M, $AX1.L
1959 0958 1fe1 mrr $AC1.M, $AR1
1960 0959 191e lrri $AC0.M, @$AR0
1961 095a 0701 cmpis $ACC1, #0x01
1962 095b 0293 0964 jle 0x0964
1963 095d 191a lrri $AX0.H, @$AR0
1964 095e 05fe addis $ACC1, #0xfe
1965 095f 005f loop $AC1.M
1966 0960 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M
1967 0961 1b7e srri @$AR3, $AC0.M
1968 0962 1b7a srri @$AR3, $AX0.H
1973 0964 1b7e srri @$AR3, $AC0.M
1978 0966 0092 0004 lri $CR, #0x0004
1979 0968 2201 lrs $AX0.H, @0x0001
1980 0969 8600 tstaxh $AX0.H
1981 096a 0294 0997 jnz 0x0997
1982 096c 2204 lrs $AX0.H, @0x0004
1983 096d 8600 tstaxh $AX0.H
1984 096e 02b4 09eb callne 0x09eb
1985 0970 2231 lrs $AX0.H, @0x0031
1986 0971 8600 tstaxh $AX0.H
1987 0972 0295 098c jz 0x098c
1988 0974 009e 0458 lri $AC0.M, #0x0458
1989 0976 4400 addr $ACC0, $AX0.H
1990 0977 1c1e mrr $AR0, $AC0.M
1991 0978 0e10 lris $AC0.M, #0x10
1992 0979 5400 subr $ACC0, $AX0.H
1993 097a 1f7e mrr $AX1.H, $AC0.M
1994 097b 02bf 07c8 call 0x07c8
1995 097d d900 cmpar $ACC1, $AX1.H
1996 097e 0292 098b jg 0x098b
1997 0980 0295 0987 jz 0x0987
1998 0982 2631 lrs $AC0.M, @0x0031
1999 0983 4c00 add $ACC0, $AC1.L
2000 0984 2e31 srs @0x0031, $AC0.M
2001 0985 029f 09e8 jmp 0x09e8
2003 0988 2e31 srs @0x0031, $AC0.M
2004 0989 029f 09e8 jmp 0x09e8
2005 098b 5700 subr $ACC1, $AX1.H
2007 098d 2605 lrs $AC0.M, @0x0005
2009 098f 0295 09a8 jz 0x09a8
2011 0992 2e05 srs @0x0005, $AC0.M
2012 0993 2281 lrs $AX0.H, @0xff81
2013 0994 8600 tstaxh $AX0.H
2014 0995 0294 099e jnz 0x099e
2016 0998 005f loop $AC1.M
2017 0999 1b7e srri @$AR3, $AC0.M
2018 099a 7400 incm $AC0.M
2019 099b 2e01 srs @0x0001, $AC0.M
2020 099c 029f 09e8 jmp 0x09e8
2021 099e 2688 lrs $AC0.M, @0xff88
2022 099f 2489 lrs $AC0.L, @0xff89
2023 09a0 2e34 srs @0x0034, $AC0.M
2024 09a1 2c35 srs @0x0035, $AC0.L
2025 09a2 02bf 09f0 call 0x09f0
2026 09a4 2682 lrs $AC0.M, @0xff82
2027 09a5 2483 lrs $AC0.L, @0xff83
2028 09a6 2e67 srs @0x0067, $AC0.M
2029 09a7 2c66 srs @0x0066, $AC0.L
2030 09a8 00ff 0360 sr @0x0360, $AC1.M
2031 09aa 2638 lrs $AC0.M, @0x0038
2032 09ab 2439 lrs $AC0.L, @0x0039
2033 09ac 009f 0005 lri $AC1.M, #0x0005
2034 09ae 02bf 0103 call 0x0103
2035 09b0 0092 0004 lri $CR, #0x0004
2037 09b3 00ff 0362 sr @0x0362, $AC1.M
2038 09b5 00df 0360 lr $AC1.M, @0x0360
2039 09b7 02bf 0a09 call 0x0a09
2041 09ba 00de 0362 lr $AC0.M, @0x0362
2042 09bc 2280 lrs $AX0.H, @0xff80
2043 09bd 4400 addr $ACC0, $AX0.H
2044 09be 00fe 0362 sr @0x0362, $AC0.M
2046 09c1 263a lrs $AC0.M, @0x003a
2047 09c2 243b lrs $AC0.L, @0x003b
2048 09c3 0a01 lris $AX0.H, #0x01
2049 09c4 0081 0405 lri $AR1, #0x0405
2053 09c9 1a3a srr @$AR1, $AX0.H
2054 09ca 2e3a srs @0x003a, $AC0.M
2055 09cb 2c3b srs @0x003b, $AC0.L
2056 09cc 0710 cmpis $ACC1, #0x10
2057 09cd 0293 09d6 jle 0x09d6
2058 09cf 05f0 addis $ACC1, #0xf0
2059 09d0 2205 lrs $AX0.H, @0x0005
2060 09d1 8600 tstaxh $AX0.H
2061 09d2 0294 0991 jnz 0x0991
2062 09d4 029f 09b7 jmp 0x09b7
2065 09d8 2f31 srs @0x0031, $AC1.M
2066 09d9 1fc3 mrr $AC0.M, $AR3
2067 09da 04f0 addis $ACC0, #0xf0
2068 09db 1c1e mrr $AR0, $AC0.M
2069 09dc 0083 0458 lri $AR3, #0x0458
2070 09de 0e10 lris $AC0.M, #0x10
2071 09df 02bf 07c8 call 0x07c8
2072 09e1 2638 lrs $AC0.M, @0x0038
2073 09e2 2439 lrs $AC0.L, @0x0039
2074 09e3 00d8 0362 lr $AX0.L, @0x0362
2075 09e5 7000 addaxl $ACC0, $AX0.L
2076 09e6 2c39 srs @0x0039, $AC0.L
2077 09e7 2e38 srs @0x0038, $AC0.M
2078 09e8 0092 00ff lri $CR, #0x00ff
2084 09ec 2e34 srs @0x0034, $AC0.M
2085 09ed 2e35 srs @0x0035, $AC0.M
2086 09ee 2e66 srs @0x0066, $AC0.M
2087 09ef 2e67 srs @0x0067, $AC0.M
2088 09f0 2334 lrs $AX1.H, @0x0034
2089 09f1 2135 lrs $AX1.L, @0x0035
2090 09f2 268a lrs $AC0.M, @0xff8a
2091 09f3 248b lrs $AC0.L, @0xff8b
2092 09f4 5a00 subax $ACC0, $AX1.L
2093 09f5 147c lsr $ACC0, #-4
2094 09f6 2e3a srs @0x003a, $AC0.M
2095 09f7 2c3b srs @0x003b, $AC0.L
2096 09f8 2634 lrs $AC0.M, @0x0034
2097 09f9 2435 lrs $AC0.L, @0x0035
2098 09fa 147c lsr $ACC0, #-4
2099 09fb 2280 lrs $AX0.H, @0xff80
2100 09fc c010 mulc'mv $AC0.M, $AX0.H : $AX0.L, $AC0.L
2101 09fd 9600 mulmv $AX0.L, $AX0.H, $ACC0
2102 09fe f000 lsl16 $ACC0
2103 09ff 4e00 addp $ACC0
2104 0a00 238c lrs $AX1.H, @0xff8c
2105 0a01 218d lrs $AX1.L, @0xff8d
2106 0a02 4a00 addax $ACC0, $AX1.L
2107 0a03 2e38 srs @0x0038, $AC0.M
2108 0a04 2c39 srs @0x0039, $AC0.L
2110 0a06 2e05 srs @0x0005, $AC0.M
2111 0a07 2e31 srs @0x0031, $AC0.M
2117 0a09 00ff 0360 sr @0x0360, $AC1.M
2118 0a0b 0080 ffd3 lri $AR0, #0xffd3
2119 0a0d 0084 0000 lri $IX0, #0x0000
2120 0a0f 199e lrrn $AC0.M, @$AR0
2121 0a10 1ffe mrr $AC1.M, $AC0.M
2122 0a11 1401 lsl $ACC0, #1
2123 0a12 0240 001e andi $AC0.M, #0x001e
2124 0a14 0200 0300 addi $AC0.M, #0x0300
2125 0a16 1c3e mrr $AR1, $AC0.M
2126 0a17 157c lsr $ACC1, #-4
2127 0a18 0340 000f andi $AC1.M, #0x000f
2128 0a1a 0a11 lris $AX0.H, #0x11
2129 0a1b 5500 subr $ACC1, $AX0.H
2130 0a1c 009a 00f0 lri $AX0.H, #0x00f0
2131 0a1e 009b 000f lri $AX1.H, #0x000f
2132 0a20 0082 0370 lri $AR2, #0x0370
2133 0a22 1998 lrrn $AX0.L, @$AR0
2134 0a23 6000 movr $ACC0, $AX0.L
2135 0a24 1107 0a2b bloopi #0x07, 0x0a2b
2136 0a26 3400 andr $AC0.M, $AX0.H
2137 0a27 1408 lsl $ACC0, #8
2138 0a28 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M
2139 0a29 3644 andr'ln $AC0.M, $AX1.H : $AX0.L, @$AR0
2140 0a2a 140c lsl $ACC0, #12
2141 0a2b 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M
2142 0a2c 3400 andr $AC0.M, $AX0.H
2143 0a2d 1408 lsl $ACC0, #8
2144 0a2e 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M
2145 0a2f 3600 andr $AC0.M, $AX1.H
2146 0a30 140c lsl $ACC0, #12
2147 0a31 1b5e srri @$AR2, $AC0.M
2149 0a33 1f7f mrr $AX1.H, $AC1.M
2150 0a34 2066 lrs $AX0.L, @0x0066
2151 0a35 2767 lrs $AC1.M, @0x0067
2152 0a36 193a lrri $AX0.H, @$AR1
2153 0a37 1939 lrri $AX1.L, @$AR1
2154 0a38 0080 0370 lri $AR0, #0x0370
2155 0a3a 1c80 mrr $IX0, $AR0
2156 0a3b a000 mulx $AX0.L, $AX1.L
2157 0a3c ea70 maddc'l $AC1.M, $AX1.L : $AC0.M, @$AR0
2158 0a3d 3a93 orr'sl $AC0.M, $AX1.H : $AC1.M, $AX1.L
2159 0a3e a478 mulxac'l $AX0.L, $AX1.L, $ACC0 : $AC1.M, @$AR0
2160 0a3f 1485 asl $ACC0, #5
2161 0a40 e833 maddc's $AC0.M, $AX1.L : @$AR3, $AC0.M
2162 0a41 3b92 orr'sl $AC1.M, $AX1.H : $AC0.M, $AX1.L
2163 0a42 a570 mulxac'l $AX0.L, $AX1.L, $ACC1 : $AC0.M, @$AR0
2164 0a43 1585 asl $ACC1, #5
2165 0a44 ea3b maddc's $AC1.M, $AX1.L : @$AR3, $AC1.M
2166 0a45 1106 0a4e bloopi #0x06, 0x0a4e
2167 0a47 3a93 orr'sl $AC0.M, $AX1.H : $AC1.M, $AX1.L
2168 0a48 a478 mulxac'l $AX0.L, $AX1.L, $ACC0 : $AC1.M, @$AR0
2169 0a49 1485 asl $ACC0, #5
2170 0a4a e833 maddc's $AC0.M, $AX1.L : @$AR3, $AC0.M
2171 0a4b 3b92 orr'sl $AC1.M, $AX1.H : $AC0.M, $AX1.L
2172 0a4c a570 mulxac'l $AX0.L, $AX1.L, $ACC1 : $AC0.M, @$AR0
2173 0a4d 1585 asl $ACC1, #5
2174 0a4e ea3b maddc's $AC1.M, $AX1.L : @$AR3, $AC1.M
2175 0a4f 3a93 orr'sl $AC0.M, $AX1.H : $AC1.M, $AX1.L
2176 0a50 a478 mulxac'l $AX0.L, $AX1.L, $ACC0 : $AC1.M, @$AR0
2177 0a51 1485 asl $ACC0, #5
2178 0a52 e833 maddc's $AC0.M, $AX1.L : @$AR3, $AC0.M
2179 0a53 3b92 orr'sl $AC1.M, $AX1.H : $AC0.M, $AX1.L
2180 0a54 a500 mulxac $AX0.L, $AX1.L, $ACC1
2181 0a55 1585 asl $ACC1, #5
2182 0a56 1b7f srri @$AR3, $AC1.M
2183 0a57 2e66 srs @0x0066, $AC0.M
2184 0a58 2f67 srs @0x0067, $AC1.M
2187 0a5b 00df 0360 lr $AC1.M, @0x0360
2192 0a5e 0083 0520 lri $AR3, #0x0520
2193 0a60 00de 0433 lr $AC0.M, @0x0433
2194 0a62 1050 loopi #0x50
2195 0a63 1b7e srri @$AR3, $AC0.M
2196 0a64 029f 056d jmp 0x056d
2197 0a66 0092 0004 lri $CR, #0x0004
2198 0a68 2002 lrs $AX0.L, @0x0002
2201 0a6b 2430 lrs $AC0.L, @0x0030
2203 0a6d 0099 0050 lri $AX1.L, #0x0050
2204 0a6f a000 mulx $AX0.L, $AX1.L
2205 0a70 a400 mulxac $AX0.L, $AX1.L, $ACC0
2206 0a71 1404 lsl $ACC0, #4
2208 0a73 1ffe mrr $AC1.M, $AC0.M
2209 0a74 0083 0580 lri $AR3, #0x0580
2210 0a76 2201 lrs $AX0.H, @0x0001
2211 0a77 8600 tstaxh $AX0.H
2212 0a78 0294 0a89 jnz 0x0a89
2213 0a7a 2204 lrs $AX0.H, @0x0004
2214 0a7b 8600 tstaxh $AX0.H
2215 0a7c 02b4 0ad2 callne 0x0ad2
2217 0a7f 2605 lrs $AC0.M, @0x0005
2219 0a81 0295 0a96 jz 0x0a96
2221 0a84 2e05 srs @0x0005, $AC0.M
2222 0a85 2281 lrs $AX0.H, @0xff81
2223 0a86 8600 tstaxh $AX0.H
2224 0a87 0294 0a90 jnz 0x0a90
2226 0a8a 005f loop $AC1.M
2227 0a8b 1b7e srri @$AR3, $AC0.M
2228 0a8c 7400 incm $AC0.M
2229 0a8d 2e01 srs @0x0001, $AC0.M
2230 0a8e 029f 0ace jmp 0x0ace
2231 0a90 2688 lrs $AC0.M, @0xff88
2232 0a91 2489 lrs $AC0.L, @0xff89
2233 0a92 2e34 srs @0x0034, $AC0.M
2234 0a93 2c35 srs @0x0035, $AC0.L
2235 0a94 02bf 0ad5 call 0x0ad5
2236 0a96 00ff 0360 sr @0x0360, $AC1.M
2237 0a98 2638 lrs $AC0.M, @0x0038
2238 0a99 2439 lrs $AC0.L, @0x0039
2239 0a9a 009f 0005 lri $AC1.M, #0x0005
2240 0a9c 02bf 0103 call 0x0103
2241 0a9e 0092 0004 lri $CR, #0x0004
2242 0aa0 00df 0360 lr $AC1.M, @0x0360
2244 0aa3 263a lrs $AC0.M, @0x003a
2246 0aa5 0294 0ab5 jnz 0x0ab5
2247 0aa7 263b lrs $AC0.M, @0x003b
2248 0aa8 5c00 sub $ACC0, $AC1.L
2249 0aa9 0290 0ab5 jns 0x0ab5
2250 0aab 223b lrs $AX0.H, @0x003b
2251 0aac 02bf 0ae6 call 0x0ae6
2252 0aae 5500 subr $ACC1, $AX0.H
2253 0aaf 009a 0001 lri $AX0.H, #0x0001
2254 0ab1 00fa 0405 sr @0x0405, $AX0.H
2255 0ab3 029f 0a83 jmp 0x0a83
2256 0ab5 1f5f mrr $AX0.H, $AC1.M
2257 0ab6 02bf 0ae6 call 0x0ae6
2258 0ab8 00fa 0362 sr @0x0362, $AX0.H
2260 0abb 263a lrs $AC0.M, @0x003a
2261 0abc 243b lrs $AC0.L, @0x003b
2262 0abd 1570 lsr $ACC1, #-16
2263 0abe 0a01 lris $AX0.H, #0x01
2264 0abf 0081 0405 lri $AR1, #0x0405
2265 0ac1 5c00 sub $ACC0, $AC1.L
2268 0ac4 1a3a srr @$AR1, $AX0.H
2269 0ac5 2e3a srs @0x003a, $AC0.M
2270 0ac6 2c3b srs @0x003b, $AC0.L
2271 0ac7 2638 lrs $AC0.M, @0x0038
2272 0ac8 2439 lrs $AC0.L, @0x0039
2273 0ac9 00d8 0362 lr $AX0.L, @0x0362
2274 0acb 7000 addaxl $ACC0, $AX0.L
2275 0acc 2c39 srs @0x0039, $AC0.L
2276 0acd 2e38 srs @0x0038, $AC0.M
2277 0ace 0092 00ff lri $CR, #0x00ff
2278 0ad0 029f 0565 jmp 0x0565
2280 0ad3 2e34 srs @0x0034, $AC0.M
2281 0ad4 2e35 srs @0x0035, $AC0.M
2282 0ad5 2334 lrs $AX1.H, @0x0034
2283 0ad6 2135 lrs $AX1.L, @0x0035
2284 0ad7 268a lrs $AC0.M, @0xff8a
2285 0ad8 248b lrs $AC0.L, @0xff8b
2286 0ad9 5a00 subax $ACC0, $AX1.L
2287 0ada 2e3a srs @0x003a, $AC0.M
2288 0adb 2c3b srs @0x003b, $AC0.L
2289 0adc 2634 lrs $AC0.M, @0x0034
2290 0add 2435 lrs $AC0.L, @0x0035
2291 0ade 238c lrs $AX1.H, @0xff8c
2292 0adf 218d lrs $AX1.L, @0xff8d
2293 0ae0 4a00 addax $ACC0, $AX1.L
2294 0ae1 2e38 srs @0x0038, $AC0.M
2295 0ae2 2c39 srs @0x0039, $AC0.L
2297 0ae4 2e05 srs @0x0005, $AC0.M
2301 void 0ae6_ConvSigned8bitToSigned16bit() {
2302 0ae6 0080 ffd3 lri $AR0, #0xffd3
2303 0ae8 0084 0000 lri $IX0, #0x0000
2304 0aea 007a 0aee bloop $AX0.H, 0x0aee
2305 0aec 199e lrrn $AC0.M, @$AR0
2306 0aed 1488 asl $ACC0, #8
2307 0aee 1b7e srri @$AR3, $AC0.M
2312 0af0 009e ffff lri $AC0.M, #0xffff
2313 0af2 00fe 03f2 sr @0x03f2, $AC0.M
2315 0af5 00fe 03f0 sr @0x03f0, $AC0.M
2316 0af7 00fe 03f6 sr @0x03f6, $AC0.M
2317 0af9 009e 0100 lri $AC0.M, #0x0100
2318 0afb 00fe 03f7 sr @0x03f7, $AC0.M
2319 0afd 00da 03f7 lr $AX0.H, @0x03f7
2320 0aff 009e 8000 lri $AC0.M, #0x8000
2321 0b01 5400 subr $ACC0, $AX0.H
2322 0b02 00fe 03f5 sr @0x03f5, $AC0.M
2323 0b04 009e 0030 lri $AC0.M, #0x0030
2324 0b06 00fe 03f3 sr @0x03f3, $AC0.M
2325 0b08 009e 0010 lri $AC0.M, #0x0010
2326 0b0a 00fe 03f4 sr @0x03f4, $AC0.M
2327 0b0c 009e 0096 lri $AC0.M, #0x0096
2328 0b0e 00fe 03f1 sr @0x03f1, $AC0.M
2333 0b11 0080 0b00 lri $AR0, #0x0b00
2335 0b14 00de 03f0 lr $AC0.M, @0x03f0
2339 0b19 0550 addis $ACC1, #0x50
2340 0b1a 00ff 03f0 sr @0x03f0, $AC1.M
2341 0b1c 0200 0b60 addi $AC0.M, #0x0b60
2342 0b1e 1c7e mrr $AR3, $AC0.M
2343 0b1f 009f 004e lri $AC1.M, #0x004e
2344 0b21 02bf 03ac call 0x03ac
2350 0b24 00de 03f1 lr $AC0.M, @0x03f1
2351 0b26 0200 0b60 addi $AC0.M, #0x0b60
2352 0b28 1c7e mrr $AR3, $AC0.M
2355 0b2b 009f 00a0 lri $AC1.M, #0x00a0
2356 0b2d 00de 03f1 lr $AC0.M, @0x03f1
2357 0b2f 5d00 sub $ACC1, $AC0.L
2358 0b30 009e 0050 lri $AC0.M, #0x0050
2359 0b32 0750 cmpis $ACC1, #0x50
2361 0b34 5d00 sub $ACC1, $AC0.L
2362 0b35 00da 03f2 lr $AX0.H, @0x03f2
2363 0b37 8600 tstaxh $AX0.H
2364 0b38 0290 0b56 jns 0x0b56
2365 0b3a 00de 03f3 lr $AC0.M, @0x03f3
2366 0b3c 5c00 sub $ACC0, $AC1.L
2367 0b3d 0293 0b41 jle 0x0b41
2368 0b3f 029f 0b5b jmp 0x0b5b
2369 0b41 00db 03f7 lr $AX1.H, @0x03f7
2370 0b43 009e 8000 lri $AC0.M, #0x8000
2371 0b45 4600 addr $ACC0, $AX1.H
2372 0b46 029f 0b4d jmp 0x0b4d
2373 0b48 00db 03f7 lr $AX1.H, @0x03f7
2374 0b4a 009e 8000 lri $AC0.M, #0x8000
2375 0b4c 5600 subr $ACC0, $AX1.H
2376 0b4d 00fe 03f5 sr @0x03f5, $AC0.M
2377 0b4f 1fda mrr $AC0.M, $AX0.H
2379 0b51 1f5e mrr $AX0.H, $AC0.M
2380 0b52 00fe 03f2 sr @0x03f2, $AC0.M
2381 0b54 029f 0b5b jmp 0x0b5b
2382 0b56 00de 03f4 lr $AC0.M, @0x03f4
2383 0b58 5d00 sub $ACC1, $AC0.L
2384 0b59 0293 0b48 jle 0x0b48
2386 0b5c 00dd 03f5 lr $AC1.L, @0x03f5
2387 0b5e 1501 lsl $ACC1, #1
2389 0b60 00dc 03f6 lr $AC0.L, @0x03f6
2390 0b62 008b 009f lri $WR3, #0x009f
2391 0b64 0080 0b00 lri $AR0, #0x0b00
2392 0b66 0099 0000 lri $AX1.L, #0x0000
2393 0b68 1150 0b6f bloopi #0x50, 0x0b6f
2394 0b6a 1878 lrr $AX0.L, @$AR3
2395 0b6b 4c00 add $ACC0, $AC1.L
2396 0b6c 1cfe mrr $IX3, $AC0.M
2397 0b6d 001f addarn $AR3, $IX3
2398 0b6e 1fd9 mrr $AC0.M, $AX1.L
2399 0b6f 1b18 srri @$AR0, $AX0.L
2400 0b70 009f 0b60 lri $AC1.M, #0x0b60
2401 0b72 1fc3 mrr $AC0.M, $AR3
2402 0b73 5c00 sub $ACC0, $AC1.L
2403 0b74 00fe 03f1 sr @0x03f1, $AC0.M
2404 0b76 00fc 03f6 sr @0x03f6, $AC0.L
2405 0b78 008b ffff lri $WR3, #0xffff
2410 0b7b 009f 0050 lri $AC1.M, #0x0050
2411 0b7d 0080 0b00 lri $AR0, #0x0b00
2412 0b7f 0083 0d60 lri $AR3, #0x0d60
2413 0b81 0098 3fff lri $AX0.L, #0x3fff
2414 0b83 02bf 03bd call 0x03bd
2415 0b85 009f 0050 lri $AC1.M, #0x0050
2416 0b87 0080 0b00 lri $AR0, #0x0b00
2417 0b89 0083 0d00 lri $AR3, #0x0d00
2418 0b8b 0098 3fff lri $AX0.L, #0x3fff
2419 0b8d 02bf 03bd call 0x03bd
2427 0b93 00de 0404 lr $AC0.M, @0x0404
2429 0b96 0295 0b9d jz 0x0b9d
2431 0b99 00fe 0478 sr @0x0478, $AC0.M
2432 0b9b 00fe 0479 sr @0x0479, $AC0.M
2433 0b9d 00df 0479 lr $AC1.M, @0x0479
2434 0b9f 00db 0478 lr $AX1.H, @0x0478
2435 0ba1 0099 0000 lri $AX1.L, #0x0000
2436 0ba3 0084 0000 lri $IX0, #0x0000
2437 0ba5 1150 0bae bloopi #0x50, 0x0bae
2438 0ba7 199e lrrn $AC0.M, @$AR0
2439 0ba8 5c7c sub'ln $ACC0, $AC1.L : $AC1.M, @$AR0
2440 0ba9 c000 mulc $AC0.M, $AX0.H
2441 0baa 6e00 movp $ACC0
2442 0bab 1488 asl $ACC0, #8
2443 0bac 4a00 addax $ACC0, $AX1.L
2444 0bad 1b1e srri @$AR0, $AC0.M
2445 0bae 1f7e mrr $AX1.H, $AC0.M
2446 0baf 00fb 0478 sr @0x0478, $AX1.H
2447 0bb1 00ff 0479 sr @0x0479, $AC1.M
2454 0bb6 0080 01be lri $AR0, #0x01be
2455 0bb8 1918 lrri $AX0.L, @$AR0
2456 0bb9 191a lrri $AX0.H, @$AR0
2457 0bba 0080 0180 lri $AR0, #0x0180
2458 0bbc 0083 0180 lri $AR3, #0x0180
2459 0bbe 9070 mul'l $AX0.L, $AX0.H : $AC0.M, @$AR0
2460 0bbf 1ffe mrr $AC1.M, $AC0.M
2461 0bc0 1120 0bc7 bloopi #0x20, 0x0bc7
2463 0bc3 d450 mulcac'l $AC1.M, $AX0.H, $ACC0 : $AX0.H, @$AR0
2464 0bc4 6533 movr's $ACC1, $AX0.H : @$AR3, $AC0.M
2465 0bc5 c550 mulcac'l $AC0.M, $AX0.H, $ACC1 : $AX0.H, @$AR0
2466 0bc6 1501 lsl $ACC1, #1
2467 0bc7 643b movr's $ACC0, $AX0.H : @$AR3, $AC1.M
2468 0bc8 0080 01fe lri $AR0, #0x01fe
2469 0bca 191a lrri $AX0.H, @$AR0
2470 0bcb 1918 lrri $AX0.L, @$AR0
2471 0bcc 0080 01c0 lri $AR0, #0x01c0
2472 0bce 0083 01c0 lri $AR3, #0x01c0
2473 0bd0 1ff8 mrr $AC1.M, $AX0.L
2474 0bd1 9070 mul'l $AX0.L, $AX0.H : $AC0.M, @$AR0
2475 0bd2 f800 addpaxz $ACC0, $AX0.H
2476 0bd3 0240 01ff andi $AC0.M, #0x01ff
2477 0bd5 0260 2000 ori $AC0.M, #0x2000
2478 0bd7 02bf 0bda call 0x0bda
2486 0bdd 1f7e mrr $AX1.H, $AC0.M
2487 0bde 4700 addr $ACC1, $AX1.H
2488 0bdf 1110 0be4 bloopi #0x10, 0x0be4
2489 0be1 473b addr's $ACC1, $AX1.H : @$AR3, $AC1.M
2490 0be2 473b addr's $ACC1, $AX1.H : @$AR3, $AC1.M
2491 0be3 473b addr's $ACC1, $AX1.H : @$AR3, $AC1.M
2492 0be4 473b addr's $ACC1, $AX1.H : @$AR3, $AC1.M