// This ucode is interesting because it is very similar to the Zelda ucode, // but does not make use of exceptions. Hence, it might be possible to get // it running okay even without understanding how the exceptions work. // CRC: 379F1139 // ector-CRC: 42f64ac4 // Notable differences: // // Luigi init (not using mail exception): // sbset #0x02 // sbset #0x03 // sbclr #0x04 // sbset #0x05 // sbset #0x06 // set16 // clr15 // m0 // Zelda init (using mail exception): // sbclr #0x02 ! // sbclr #0x03 ! // sbclr #0x04 // sbset #0x05 (late, just when it's time to receive messages) // sbset #0x06 // set16 // clr15 // m0 // AX1 init (not using mail exception, same as Luigi init): // sbset #0x02 // sbset #0x03 // sbclr #0x04 // sbset #0x05 // sbset #0x06 // set16 // clr15 // m0 // exception vectors 0000 029f 0010 jmp 0x0010 0002 0000 nop 0003 0000 nop 0004 02ff rti 0005 0000 nop 0006 02ff rti 0007 0000 nop 0008 02ff rti 0009 0000 nop 000a 02ff rti 000b 0000 nop 000c 02ff rti 000d 0000 nop 000e 02ff rti // This is Zelda's message exception. 000f 0000 nop // Reset vector void 0010_ResetVector() { // Compare to 0057 in the Zelda ucode 0010 1302 sbset #0x02 0011 1303 sbset #0x03 0012 1204 sbclr #0x04 0013 1305 sbset #0x05 0014 1306 sbset #0x06 0015 8e00 set16 0016 8c00 clr15 0017 8b00 m0 0018 009e ffff lri $AC0.M, #0xffff 001a 1d1e mrr $WR0, $AC0.M 001b 1d3e mrr $WR1, $AC0.M 001c 1d5e mrr $WR2, $AC0.M 001d 1d7e mrr $WR3, $AC0.M 001e 0092 00ff lri $CR, #0x00ff 0020 8100 clr $ACC0 // Clear memory 0021 009f 1000 lri $AC1.M, #0x1000 0023 0080 0000 lri $AR0, #0x0000 0025 005f loop $AC1.M 0026 1b1e srri @$AR0, $AC0.M 0027 26ff lrs $AC0.M, @CMBL 0028 16fc 8888 si @DMBH, #0x8888 002a 16fd 1111 si @DMBL, #0x1111 002c 26fc lrs $AC0.M, @DMBH 002d 02a0 8000 andf $AC0.M, #0x8000 002f 029c 002c jlnz 0x002c while (true) { 0031 8100 clr $ACC0 0032 8900 clr $ACC1 0033 26fe lrs $AC0.M, @CMBH 0034 02c0 8000 andcf $AC0.M, #0x8000 0036 029c 0031 jlnz 0x0031 0038 27ff lrs $AC1.M, @CMBL 0039 00ff 0345 sr @0x0345, $AC1.M 003b 1ffe mrr $AC1.M, $AC0.M 003c 0340 00ff andi $AC1.M, #0x00ff 003e 00ff 0344 sr @0x0344, $AC1.M 0040 1479 lsr $ACC0, #-7 // Jump table below 0041 0240 007e andi $AC0.M, #0x007e 0043 0200 0062 addi $AC0.M, #0x0062 0045 00fe 0343 sr @0x0343, $AC0.M 0047 1c1e mrr $AR0, $AC0.M 0048 170f jmpr $AR0 0049 009e 8000 lri $AC0.M, #0x8000 004b 00dc 0343 lr $AC0.L, @0x0343 004d 02bf 005a call 0x005a 004f 029f 0031 jmp 0x0031 } } void 0051_Unk_Mail() { 0051 26fe lrs $AC0.M, @CMBH 0052 02c0 8000 andcf $AC0.M, #0x8000 0054 029c 0051 jlnz 0x0051 0056 24ff lrs $AC0.L, @CMBL 0057 1b1e srri @$AR0, $AC0.M 0058 1b1c srri @$AR0, $AC0.L 0059 02df ret } void 005a_Unk_Mail() { 005a 2efc srs @DMBH, $AC0.M 005b 2cfd srs @DMBL, $AC0.L 005c 26fc lrs $AC0.M, @DMBH 005d 02a0 8000 andf $AC0.M, #0x8000 005f 029c 005c jlnz 0x005c 0061 02df ret } // Just a jump table. 0062 029f 0049 jmp 0x0049 0064 029f 0349 jmp 0x0349 // Command 01 0066 029f 04eb jmp 0x04eb // Command 02 0068 029f 0031 jmp 0x0031 006a 029f 00df jmp 0x00df 006c 029f 00f1 jmp 0x00f1 006e 029f 06e7 jmp 0x06e7 0070 029f 069b jmp 0x069b 0072 029f 0703 jmp 0x0703 0074 029f 06cb jmp 0x06cb 0076 029f 0870 jmp 0x0870 0078 029f 0744 jmp 0x0744 007a 029f 0238 jmp 0x0238 void 007c_Unk() { 007c 193e lrri $AC0.M, @$AR1 007d 193c lrri $AC0.L, @$AR1 007e 2fcd srs @DSPA, $AC1.M 007f 0f00 lris $AC1.M, #0x00 0080 2fc9 srs @DSCR, $AC1.M 0081 2ece srs @DSMAH, $AC0.M 0082 2ccf srs @DSMAL, $AC0.L 0083 1fe0 mrr $AC1.M, $AR0 0084 1501 lsl $ACC1, #1 0085 2fcb srs @DSBL, $AC1.M 0086 02bf 008f call 0x008f 0088 02df ret } void 0089_Unk() { 0089 193e lrri $AC0.M, @$AR1 008a 193c lrri $AC0.L, @$AR1 008b 2fcd srs @DSPA, $AC1.M 008c 0f01 lris $AC1.M, #0x01 008d 029f 0080 jmp 0x0080 008f 26c9 lrs $AC0.M, @DSCR 0090 02a0 0004 andf $AC0.M, #0x0004 0092 029c 008f jlnz 0x008f 0094 02df ret } void 0095_Unk() { 0095 193e lrri $AC0.M, @$AR1 0096 193c lrri $AC0.L, @$AR1 0097 00ff ffcd sr @DSPA, $AC1.M 0099 0f00 lris $AC1.M, #0x00 009a 00ff ffc9 sr @DSCR, $AC1.M 009c 00fe ffce sr @DSMAH, $AC0.M 009e 00fc ffcf sr @DSMAL, $AC0.L 00a0 1fe0 mrr $AC1.M, $AR0 00a1 1501 lsl $ACC1, #1 00a2 00ff ffcb sr @DSBL, $AC1.M 00a4 02df ret } void 00a5_Unk() { 00a5 00de ffc9 lr $AC0.M, @DSCR 00a7 02a0 0004 andf $AC0.M, #0x0004 00a9 029c 00a5 jlnz 0x00a5 00ab 02df ret } void 00ac_ReadBlockFromAccelerator() { 00ac 193e lrri $AC0.M, @$AR1 00ad 193c lrri $AC0.L, @$AR1 00ae 0240 7fff andi $AC0.M, #0x7fff // 00b0 02bf 00ba call 0x00ba 00ba_SetupAccelerator() 00b2 007a 00b8 bloop $AX0.H, 0x00b8 00b4 26d3 lrs $AC0.M, @UnkZelda 00b5 1b3e srri @$AR1, $AC0.M 00b6 0000 nop 00b7 0000 nop 00b8 0000 nop 00b9 02df ret } void 00ba_SetupAccelerator() { 00ba 1c3f mrr $AR1, $AC1.M 00bb 009f 0005 lri $AC1.M, #0x0005 00bd 2fd1 srs @SampleFormat, $AC1.M 00be 1f5e mrr $AX0.H, $AC0.M 00bf 1f1c mrr $AX0.L, $AC0.L 00c0 2ed4 srs @ACSAH, $AC0.M 00c1 2cd5 srs @ACSAL, $AC0.L 00c2 8900 clr $ACC1 00c3 1fa0 mrr $AC1.L, $AR0 00c4 4c00 add $ACC0, $AC1.L 00c5 0200 0030 addi $AC0.M, #0x0030 00c7 2ed6 srs @ACEAH, $AC0.M 00c8 2cd7 srs @ACEAL, $AC0.L 00c9 1fda mrr $AC0.M, $AX0.H 00ca 1f98 mrr $AC0.L, $AX0.L 00cb 147f lsr $ACC0, #-1 00cc 2ed8 srs @ACCAH, $AC0.M 00cd 2cd9 srs @ACCAL, $AC0.L 00ce 1f40 mrr $AX0.H, $AR0 00cf 02df ret } void 00d0_Unk() { 00d0 193e lrri $AC0.M, @$AR1 00d1 193c lrri $AC0.L, @$AR1 00d2 0260 8000 ori $AC0.M, #0x8000 // 00d4 02bf 00ba call 0x00ba 00ba_SetupAccelerator() 00d6 007a 00dd bloop $AX0.H, 0x00dd 00d8 193e lrri $AC0.M, @$AR1 00d9 2ed3 srs @UnkZelda, $AC0.M 00da 0000 nop 00db 0000 nop 00dc 0000 nop 00dd 0000 nop 00de 02df ret } void 00df_Unk() { 00df 0080 0346 lri $AR0, #0x0346 00e1 02bf 0051 call 0x0051 00e3 02bf 0051 call 0x0051 00e5 0081 0346 lri $AR1, #0x0346 00e7 00df 0349 lr $AC1.M, @0x0349 00e9 0340 ffff andi $AC1.M, #0xffff 00eb 00c0 0345 lr $AR0, @0x0345 00ed 02bf 007c call 0x007c 00ef 029f 0049 jmp 0x0049 00f1 0080 0346 lri $AR0, #0x0346 00f3 02bf 0051 call 0x0051 00f5 02bf 0051 call 0x0051 00f7 0081 0346 lri $AR1, #0x0346 00f9 00df 0349 lr $AC1.M, @0x0349 00fb 0340 ffff andi $AC1.M, #0xffff 00fd 00c0 0345 lr $AR0, @0x0345 00ff 02bf 0089 call 0x0089 0101 029f 0049 jmp 0x0049 } void 0103_SetupAcceleratorMystery() { 0103 0092 00ff lri $CR, #0x00ff 0105 2fd1 srs @SampleFormat, $AC1.M 0106 0340 0003 andi $AC1.M, #0x0003 0108 1f7f mrr $AX1.H, $AC1.M 0109 1f5e mrr $AX0.H, $AC0.M 010a 1f1c mrr $AX0.L, $AC0.L 010b 0200 0010 addi $AC0.M, #0x0010 010d 2ed4 srs @ACSAH, $AC0.M 010e 2cd5 srs @ACSAL, $AC0.L 010f 8900 clr $ACC1 0110 1fa0 mrr $AC1.L, $AR0 0111 4c00 add $ACC0, $AC1.L 0112 0200 0030 addi $AC0.M, #0x0030 0114 2ed6 srs @ACEAH, $AC0.M 0115 2cd7 srs @ACEAL, $AC0.L 0116 1fda mrr $AC0.M, $AX0.H 0117 1f98 mrr $AC0.L, $AX0.L 0118 1ffb mrr $AC1.M, $AX1.H 0119 7900 decm $AC1.M 011a 02ca lsrn 011b 2ed8 srs @ACCAH, $AC0.M 011c 2cd9 srs @ACCAL, $AC0.L 011d 02df ret } void 011e_Unk() { 011e 1c23 mrr $AR1, $AR3 011f 197e lrri $AC0.M, @$AR3 0120 191b lrri $AX1.H, @$AR0 0121 d858 mulc'l $AC1.M, $AX1.H : $AX1.H, @$AR0 0122 1120 0128 bloopi #0x20, 0x0128 0124 dcd3 mulcac'ld $AC1.M, $AX1.H, $ACC0 : $AX0.L, $AX1.H, @$AR3 0125 6231 movr's $ACC0, $AX1.L : @$AR1, $AC0.M 0126 dcd3 mulcac'ld $AC1.M, $AX1.H, $ACC0 : $AX0.L, $AX1.H, @$AR3 0127 6231 movr's $ACC0, $AX1.L : @$AR1, $AC0.M 0128 4900 addax $ACC1, $AX0.L 0129 1108 012e bloopi #0x08, 0x012e 012b dcd3 mulcac'ld $AC1.M, $AX1.H, $ACC0 : $AX0.L, $AX1.H, @$AR3 012c 6231 movr's $ACC0, $AX1.L : @$AR1, $AC0.M 012d dcd3 mulcac'ld $AC1.M, $AX1.H, $ACC0 : $AX0.L, $AX1.H, @$AR3 012e 6231 movr's $ACC0, $AX1.L : @$AR1, $AC0.M 012f 02df ret } void 0130_Unk() { 0130 8f00 set40 0131 1c03 mrr $AR0, $AR3 0132 00db 038e lr $AX1.H, @0x038e 0134 009a 0004 lri $AX0.H, #0x0004 0136 1978 lrri $AX0.L, @$AR3 0137 a843 mulx'l $AX0.L, $AX1.H : $AX0.L, @$AR3 0138 ae00 mulxmv $AX0.L, $AX1.H, $ACC0 0139 1128 013e bloopi #0x28, 0x013e 013b 38c3 orr'ld $AC0.M, $AX0.H : $AX0.L, $AX1.L, @$AR3 013c ae30 mulxmv's $AX0.L, $AX1.H, $ACC0 : @$AR0, $AC0.M 013d 38c3 orr'ld $AC0.M, $AX0.H : $AX0.L, $AX1.L, @$AR3 013e ae30 mulxmv's $AX0.L, $AX1.H, $ACC0 : @$AR0, $AC0.M 013f 8e00 set16 0140 02df ret } void 0141_Unk() { 0141 00f9 0361 sr @0x0361, $AX1.L 0143 1fc0 mrr $AC0.M, $AR0 0144 0200 fffc addi $AC0.M, #0xfffc 0146 1c1e mrr $AR0, $AC0.M 0147 1c5e mrr $AR2, $AC0.M 0148 0083 043c lri $AR3, #0x043c 014a 197e lrri $AC0.M, @$AR3 014b 197f lrri $AC1.M, @$AR3 014c 80a2 nx'sl : $AC0.M, $AX0.H 014d 64a3 movr'sl $ACC0, $AX0.H : $AC1.M, $AX0.H 014e 6530 movr's $ACC1, $AX0.H : @$AR0, $AC0.M 014f 1b1f srri @$AR0, $AC1.M 0150 1c02 mrr $AR0, $AR2 0151 8100 clr $ACC0 0152 00de 0402 lr $AC0.M, @0x0402 0154 00fe 0362 sr @0x0362, $AC0.M 0156 1474 lsr $ACC0, #-12 0157 1f7e mrr $AX1.H, $AC0.M 0158 1f3c mrr $AX1.L, $AC0.L 0159 8900 clr $ACC1 015a 00dd 0430 lr $AC1.L, @0x0430 015c 1504 lsl $ACC1, #4 015d 0604 cmpis $ACC0, #0x04 015e 0290 01b6 jns 0x01b6 0160 1fdd mrr $AC0.M, $AC1.L 0161 0082 0c00 lri $AR2, #0x0c00 0163 1050 loopi #0x50 0164 4b2a addax's $ACC1, $AX1.L : @$AR2, $AC1.L 0165 1fbe mrr $AC1.L, $AC0.M 0166 00fe 0360 sr @0x0360, $AC0.M 0168 8900 clr $ACC1 0169 1fbe mrr $AC1.L, $AC0.M 016a 009a fff8 lri $AX0.H, #0xfff8 016c 009b 00fc lri $AX1.H, #0x00fc 016e 00d8 0361 lr $AX0.L, @0x0361 0170 0082 0c00 lri $AR2, #0x0c00 0172 0083 0c00 lri $AR3, #0x0c00 0174 195e lrri $AC0.M, @$AR2 0175 3480 andr'ls $AC0.M, $AX0.H : $AX0.L, $AC0.M 0176 1128 017b bloopi #0x28, 0x017b 0178 367a andr'l $AC0.M, $AX1.H : $AC1.M, @$AR2 0179 35b3 andr'sl $AC1.M, $AX0.H : $AC1.M, $AX1.H 017a 3772 andr'l $AC1.M, $AX1.H : $AC0.M, @$AR2 017b 34bb andr'slm $AC0.M, $AX0.H : $AC1.M, $AX1.H 017c 8a00 m2 017d 0082 0c00 lri $AR2, #0x0c00 017f 00dd 0430 lr $AC1.L, @0x0430 0181 1504 lsl $ACC1, #4 0182 1fe0 mrr $AC1.M, $AR0 0183 8100 clr $ACC0 0184 00de 0362 lr $AC0.M, @0x0362 0186 1474 lsr $ACC0, #-12 0187 1f7e mrr $AX1.H, $AC0.M 0188 1f3c mrr $AX1.L, $AC0.L 0189 8f00 set40 018a 1943 lrri $AR3, @$AR2 018b 4bc3 addax'ld $ACC1, $AX1.L : $AX0.L, $AX1.L, @$AR3 018c 90c3 mul'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 018d f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 018e f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 018f f200 madd $AX0.L, $AX0.H 0190 fe00 movpz $ACC0 0191 1c1f mrr $AR0, $AC1.M 0192 1943 lrri $AR3, @$AR2 0193 4bc3 addax'ld $ACC1, $AX1.L : $AX0.L, $AX1.L, @$AR3 0194 90c3 mul'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 0195 114e 019d bloopi #0x4e, 0x019d 0197 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 0198 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 0199 f231 madd's $AX0.L, $AX0.H : @$AR1, $AC0.M 019a 1c1f mrr $AR0, $AC1.M 019b 1943 lrri $AR3, @$AR2 019c 4bc3 addax'ld $ACC1, $AX1.L : $AX0.L, $AX1.L, @$AR3 019d 92c3 mulmvz'ld $AX0.L, $AX0.H, $ACC0 : $AX0.L, $AX1.L, @$AR3 019e f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 019f f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 01a0 f231 madd's $AX0.L, $AX0.H : @$AR1, $AC0.M 01a1 fe00 movpz $ACC0 01a2 1b3e srri @$AR1, $AC0.M 01a3 8b00 m0 01a4 8e00 set16 01a5 00fe 0433 sr @0x0433, $AC0.M 01a7 1c1f mrr $AR0, $AC1.M 01a8 150c lsl $ACC1, #12 01a9 0340 0fff andi $AC1.M, #0x0fff 01ab 00ff 0430 sr @0x0430, $AC1.M 01ad 0083 043c lri $AR3, #0x043c 01af 191e lrri $AC0.M, @$AR0 01b0 191f lrri $AC1.M, @$AR0 01b1 80a0 nx'ls : $AX0.H, $AC0.M 01b2 64a1 movr'ls $ACC0, $AX0.H : $AX0.H, $AC1.M 01b3 6533 movr's $ACC1, $AX0.H : @$AR3, $AC0.M 01b4 1b7f srri @$AR3, $AC1.M 01b5 02df ret subroutine: 01b6 1fe0 mrr $AC1.M, $AR0 01b7 1c1f mrr $AR0, $AC1.M 01b8 1128 01bf bloopi #0x28, 0x01bf 01ba 4b70 addax'l $ACC1, $AX1.L : $AC0.M, @$AR0 01bb 1b3e srri @$AR1, $AC0.M 01bc 1c1f mrr $AR0, $AC1.M 01bd 4b70 addax'l $ACC1, $AX1.L : $AC0.M, @$AR0 01be 1b3e srri @$AR1, $AC0.M 01bf 1c1f mrr $AR0, $AC1.M 01c0 029f 01a5 jmp 0x01a5 } void 01c2_Unk() { 01c2 8a00 m2 01c3 0083 03e8 lri $AR3, #0x03e8 01c5 191e lrri $AC0.M, @$AR0 01c6 191a lrri $AX0.H, @$AR0 01c7 1006 loopi #0x06 01c8 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M 01c9 1b7e srri @$AR3, $AC0.M 01ca 1b7a srri @$AR3, $AX0.H 01cb 0080 03e8 lri $AR0, #0x03e8 01cd 0088 0007 lri $WR0, #0x0007 01cf 1150 01dc bloopi #0x50, 0x01dc 01d1 1c61 mrr $AR3, $AR1 01d2 84c3 clrp'ld : $AX0.L, $AX1.L, @$AR3 01d3 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 01d4 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 01d5 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 01d6 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 01d7 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 01d8 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 01d9 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 01da f200 madd $AX0.L, $AX0.H 01db fe00 movpz $ACC0 01dc 1b3e srri @$AR1, $AC0.M 01dd 0088 ffff lri $WR0, #0xffff 01df 8b00 m0 01e0 02df ret } void 01e1_Unk() { // ZWW: 0b4d_IIR_Filter 01e1 8a00 m2 01e2 05fe addis $ACC1, #0xfe 01e3 0083 03e8 lri $AR3, #0x03e8 01e5 191e lrri $AC0.M, @$AR0 01e6 191a lrri $AX0.H, @$AR0 01e7 005f loop $AC1.M 01e8 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M 01e9 1b7e srri @$AR3, $AC0.M 01ea 1b7a srri @$AR3, $AX0.H 01eb 0080 03e8 lri $AR0, #0x03e8 01ed 0501 addis $ACC1, #0x01 01ee 1d1f mrr $WR0, $AC1.M 01ef 1150 01f7 bloopi #0x50, 0x01f7 01f1 1c61 mrr $AR3, $AR1 01f2 84c3 clrp'ld : $AX0.L, $AX1.L, @$AR3 01f3 005f loop $AC1.M 01f4 f2c3 madd'ld $AX0.L, $AX0.H : $AX0.L, $AX1.L, @$AR3 01f5 f200 madd $AX0.L, $AX0.H 01f6 fe00 movpz $ACC0 01f7 1b3e srri @$AR1, $AC0.M 01f8 0088 ffff lri $WR0, #0xffff 01fa 8b00 m0 01fb 02df ret } void 01fc_Unk() { // ZWW: 0b68_4TapFIR 01fc 0083 03e8 lri $AR3, #0x03e8 01fe 191e lrri $AC0.M, @$AR0 01ff 191a lrri $AX0.H, @$AR0 0200 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M 0201 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M 0202 1b7e srri @$AR3, $AC0.M 0203 1b7a srri @$AR3, $AX0.H 0204 0080 03e8 lri $AR0, #0x03e8 0206 0088 0003 lri $WR0, #0x0003 0208 0085 0000 lri $IX1, #0x0000 020a 0087 0000 lri $IX3, #0x0000 020c 1fc2 mrr $AC0.M, $AR2 020d 195b lrri $AX1.H, @$AR2 020e 1959 lrri $AX1.L, @$AR2 020f 195f lrri $AC1.M, @$AR2 0210 195a lrri $AX0.H, @$AR2 0211 1c5e mrr $AR2, $AC0.M 0212 1fda mrr $AC0.M, $AX0.H 0213 1c61 mrr $AR3, $AR1 0214 8a00 m2 0215 8f00 set40 0216 191a lrri $AX0.H, @$AR0 0217 b850 mulx'l $AX0.H, $AX1.H : $AX0.H, @$AR0 0218 e250 maddx'l $AX0.H, $AX1.L : $AX0.H, @$AR0 0219 ea50 maddc'l $AC1.M, $AX1.L : $AX0.H, @$AR0 021a e8e8 maddc'ldm $AC0.M, $AX1.L : $AX0.H, $AX1.L, @$AR0 021b b650 mulxmv'l $AX0.H, $AX1.L, $ACC0 : $AX0.H, @$AR0 021c 1127 0227 bloopi #0x27, 0x0227 021e e3a8 maddx'lsm $AX0.H, $AX1.H : $AX0.H, $AC0.M 021f 197e lrri $AC0.M, @$AR3 0220 e850 maddc'l $AC0.M, $AX1.L : $AX0.H, @$AR0 0221 eaf8 maddc'ldm $AC1.M, $AX1.L : $AX0.H, $AX1.H, @$AR0 0222 bf50 mulxmv'l $AX0.H, $AX1.H, $ACC1 : $AX0.H, @$AR0 0223 e2a9 maddx'lsm $AX0.H, $AX1.L : $AX0.H, $AC1.M 0224 197f lrri $AC1.M, @$AR3 0225 ea50 maddc'l $AC1.M, $AX1.L : $AX0.H, @$AR0 0226 e8e8 maddc'ldm $AC0.M, $AX1.L : $AX0.H, $AX1.L, @$AR0 0227 b650 mulxmv'l $AX0.H, $AX1.L, $ACC0 : $AX0.H, @$AR0 0228 e3a8 maddx'lsm $AX0.H, $AX1.H : $AX0.H, $AC0.M 0229 197e lrri $AC0.M, @$AR3 022a e850 maddc'l $AC0.M, $AX1.L : $AX0.H, @$AR0 022b eaf8 maddc'ldm $AC1.M, $AX1.L : $AX0.H, $AX1.H, @$AR0 022c bf00 mulxmv $AX0.H, $AX1.H, $ACC1 022d 1bff srrn @$AR3, $AC1.M 022e 197f lrri $AC1.M, @$AR3 022f 8e00 set16 0230 8b00 m0 0231 0088 ffff lri $WR0, #0xffff 0233 1b5b srri @$AR2, $AX1.H 0234 1b59 srri @$AR2, $AX1.L 0235 1b5f srri @$AR2, $AC1.M 0236 1b5e srri @$AR2, $AC0.M 0237 02df ret } void 0238_Unk() { 0238 0080 0346 lri $AR0, #0x0346 023a 02bf 0051 call 0x0051 023c 02bf 0051 call 0x0051 023e 0081 0346 lri $AR1, #0x0346 0240 009f 0580 lri $AC1.M, #0x0580 0242 0080 0080 lri $AR0, #0x0080 0244 02bf 007c call 0x007c 0246 0081 0348 lri $AR1, #0x0348 0248 009f 0c00 lri $AC1.M, #0x0c00 024a 0080 0080 lri $AR0, #0x0080 024c 02bf 007c call 0x007c 024e 0080 0c00 lri $AR0, #0x0c00 0250 0081 0580 lri $AR1, #0x0580 0252 02bf 01fc call 0x01fc 0254 0081 0346 lri $AR1, #0x0346 0256 009f 0580 lri $AC1.M, #0x0580 0258 0080 0080 lri $AR0, #0x0080 025a 02bf 0089 call 0x0089 025c 0081 0348 lri $AR1, #0x0348 025e 009f 0c00 lri $AC1.M, #0x0c00 0260 0080 0080 lri $AR0, #0x0080 0262 02bf 0089 call 0x0089 0264 029f 0049 jmp 0x0049 0266 8100 clr $ACC0 0267 1f5e mrr $AX0.H, $AC0.M 0268 00d8 0402 lr $AX0.L, @0x0402 026a 00dc 0430 lr $AC0.L, @0x0430 026c 0080 0520 lri $AR0, #0x0520 026e 00df 0480 lr $AC1.M, @0x0480 0270 1501 lsl $ACC1, #1 0271 0340 007e andi $AC1.M, #0x007e 0273 0300 027b addi $AC1.M, #0x027b 0275 1c5f mrr $AR2, $AC1.M 0276 175f callr $AR2 0277 00fc 0430 sr @0x0430, $AC0.L 0279 029f 056d jmp 0x056d 027b 029f 029c jmp 0x029c 027d 029f 02d7 jmp 0x02d7 027f 029f 02bf jmp 0x02bf 0281 029f 02ac jmp 0x02ac 0283 029f 02e5 jmp 0x02e5 0285 029f 029b jmp 0x029b 0287 029f 0303 jmp 0x0303 0289 029f 0306 jmp 0x0306 028b 029f 029b jmp 0x029b 028d 029f 029b jmp 0x029b 028f 029f 0324 jmp 0x0324 0291 029f 02dd jmp 0x02dd 0293 029f 02e1 jmp 0x02e1 0295 029f 029b jmp 0x029b 0297 029f 029b jmp 0x029b 0299 029f 029b jmp 0x029b 029b 02df ret } void 029c_Unk() { 029c 1401 lsl $ACC0, #1 029d 009b c000 lri $AX1.H, #0xc000 029f 0099 4000 lri $AX1.L, #0x4000 02a1 1150 02a9 bloopi #0x50, 0x02a9 02a3 02c0 0001 andcf $AC0.M, #0x0001 02a5 027c iflnz 02a6 1b1b srri @$AR0, $AX1.H 02a7 027d iflz 02a8 1b19 srri @$AR0, $AX1.L 02a9 4800 addax $ACC0, $AX0.L 02aa 147f lsr $ACC0, #-1 02ab 02df ret } void 02ac_Unk() { 02ac 1402 lsl $ACC0, #2 02ad 8900 clr $ACC1 02ae 1fb8 mrr $AC1.L, $AX0.L 02af 1501 lsl $ACC1, #1 02b0 009b c000 lri $AX1.H, #0xc000 02b2 0099 4000 lri $AX1.L, #0x4000 02b4 1150 02bc bloopi #0x50, 0x02bc 02b6 02c0 0003 andcf $AC0.M, #0x0003 02b8 027c iflnz 02b9 1b1b srri @$AR0, $AX1.H 02ba 027d iflz 02bb 1b19 srri @$AR0, $AX1.L 02bc 4c00 add $ACC0, $AC1.L 02bd 147e lsr $ACC0, #-2 02be 02df ret } void 02bf_Unk() { // ZWW:08d5 02bf 1401 lsl $ACC0, #1 02c0 0081 0ca0 lri $AR1, #0x0ca0 02c2 009b c000 lri $AX1.H, #0xc000 02c4 0099 4000 lri $AX1.L, #0x4000 02c6 8900 clr $ACC1 02c7 0082 0000 lri $AR2, #0x0000 02c9 1150 02d4 bloopi #0x50, 0x02d4 02cb 02c0 0001 andcf $AC0.M, #0x0001 02cd 027c iflnz 02ce 1b1b srri @$AR0, $AX1.H 02cf 027d iflz 02d0 1b19 srri @$AR0, $AX1.L 02d1 183d lrr $AC1.L, @$AR1 02d2 4900 addax $ACC1, $AX0.L 02d3 1fe2 mrr $AC1.M, $AR2 02d4 4c39 add's $ACC0, $AC1.L : @$AR1, $AC1.M 02d5 147f lsr $ACC0, #-1 02d6 02df ret } void 02d7_Unk() { // ZWW:08ed 02d7 8900 clr $ACC1 02d8 1fb8 mrr $AC1.L, $AX0.L 02d9 157f lsr $ACC1, #-1 02da 1050 loopi #0x50 02db 4c20 add's $ACC0, $AC1.L : @$AR0, $AC0.L 02dc 02df ret } void 02dd_Unk() { // ZWW:08f3 02dd 0082 0180 lri $AR2, #0x0180 // Three entrances 02df 029f 02e7 jmp 0x02e7 02e1 0082 01c0 lri $AR2, #0x01c0 02e3 029f 02e7 jmp 0x02e7 02e5 0082 0140 lri $AR2, #0x0140 02e7 008a 003f lri $WR2, #0x003f 02e9 0086 0000 lri $IX2, #0x0000 02eb 1406 lsl $ACC0, #6 02ec 8900 clr $ACC1 02ed 1fb8 mrr $AC1.L, $AX0.L 02ee 1505 lsl $ACC1, #5 02ef 009b 003f lri $AX1.H, #0x003f 02f1 009a 0000 lri $AX0.H, #0x0000 02f3 3600 andr $AC0.M, $AX1.H 02f4 1cde mrr $IX2, $AC0.M 02f5 001a addarn $AR2, $IX2 02f6 3400 andr $AC0.M, $AX0.H 02f7 1150 02fd bloopi #0x50, 0x02fd 02f9 4c4a add'l $ACC0, $AC1.L : $AX1.L, @$AR2 02fa 3606 andr'dr $AC0.M, $AX1.H : $AR2 02fb 1cde mrr $IX2, $AC0.M 02fc 340e andr'nr $AC0.M, $AX0.H : $AR2 02fd 1b19 srri @$AR0, $AX1.L 02fe 1fc2 mrr $AC0.M, $AR2 02ff 147a lsr $ACC0, #-6 0300 008a ffff lri $WR2, #0xffff 0302 02df ret } void 030_MemsetBlock() { 0303 1050 loopi #0x50 0304 1b18 srri @$AR0, $AX0.L // 0305 02df ret } void 0306_Unk() { 0306 0082 0100 lri $AR2, #0x0100 0308 008a 003f lri $WR2, #0x003f 030a 0086 0000 lri $IX2, #0x0000 030c 1406 lsl $ACC0, #6 030d 8900 clr $ACC1 030e 1fb8 mrr $AC1.L, $AX0.L 030f 1505 lsl $ACC1, #5 0310 009b 003f lri $AX1.H, #0x003f 0312 009a 0000 lri $AX0.H, #0x0000 0314 3600 andr $AC0.M, $AX1.H 0315 1cde mrr $IX2, $AC0.M 0316 001a addarn $AR2, $IX2 0317 3400 andr $AC0.M, $AX0.H 0318 1150 031e bloopi #0x50, 0x031e 031a 4c4a add'l $ACC0, $AC1.L : $AX1.L, @$AR2 031b 3606 andr'dr $AC0.M, $AX1.H : $AR2 031c 1cde mrr $IX2, $AC0.M 031d 340e andr'nr $AC0.M, $AX0.H : $AR2 031e 1b19 srri @$AR0, $AX1.L 031f 1fc2 mrr $AC0.M, $AR2 0320 147a lsr $ACC0, #-6 0321 008a ffff lri $WR2, #0xffff 0323 02df ret } void 0324_Unk() { 0324 0082 0100 lri $AR2, #0x0100 0326 008a 003f lri $WR2, #0x003f 0328 0086 0000 lri $IX2, #0x0000 032a 0081 0ca0 lri $AR1, #0x0ca0 032c 1406 lsl $ACC0, #6 032d 8900 clr $ACC1 032e 1fb8 mrr $AC1.L, $AX0.L 032f 1505 lsl $ACC1, #5 0330 009b 003f lri $AX1.H, #0x003f 0332 009a 0000 lri $AX0.H, #0x0000 0334 3600 andr $AC0.M, $AX1.H 0335 1cde mrr $IX2, $AC0.M 0336 001a addarn $AR2, $IX2 0337 3400 andr $AC0.M, $AX0.H 0338 1150 0343 bloopi #0x50, 0x0343 033a 1939 lrri $AX1.L, @$AR1 033b a000 mulx $AX0.L, $AX1.L 033c 140a lsl $ACC0, #10 033d 4e00 addp $ACC0 033e 1476 lsr $ACC0, #-10 033f 4c4a add'l $ACC0, $AC1.L : $AX1.L, @$AR2 0340 3606 andr'dr $AC0.M, $AX1.H : $AR2 0341 1cde mrr $IX2, $AC0.M 0342 340e andr'nr $AC0.M, $AX0.H : $AR2 0343 1b19 srri @$AR0, $AX1.L 0344 1fc2 mrr $AC0.M, $AR2 0345 147a lsr $ACC0, #-6 0346 008a ffff lri $WR2, #0xffff 0348 02df ret } // DsetupTable void 0349_COMMAND_01() { 0349 0080 0380 lri $AR0, #0x0380 034b 02bf 0051 call 0x0051 034d 02bf 0051 call 0x0051 034f 02bf 0051 call 0x0051 0351 02bf 0051 call 0x0051 0353 0081 0382 lri $AR1, #0x0382 0355 009f 0000 lri $AC1.M, #0x0000 0357 0080 0200 lri $AR0, #0x0200 // 0359 02bf 007c call 0x007c 007c_CopyRAMtoDMEM() 035b 0081 0384 lri $AR1, #0x0384 035d 009f 0300 lri $AC1.M, #0x0300 035f 0080 0020 lri $AR0, #0x0020 0361 02bf 007c call 0x007c 007c_CopyRAMtoDMEM() 0363 02bf 03cc call 0x03cc 0365 00de 0345 lr $AC0.M, @0x0345 0367 00fe 0342 sr @0x0342, $AC0.M 0369 02bf 0af0 call 0x0af0 036b 029f 0049 jmp 0x0049 036d 00de 0344 lr $AC0.M, @0x0344 036f 1404 lsl $ACC0, #4 0370 0200 03a8 addi $AC0.M, #0x03a8 0372 1c1e mrr $AR0, $AC0.M 0373 02bf 0051 call 0x0051 0375 02bf 0051 call 0x0051 0377 02bf 0051 call 0x0051 0379 00de 0345 lr $AC0.M, @0x0345 037b 1b1e srri @$AR0, $AC0.M 037c 00de 0344 lr $AC0.M, @0x0344 037e 0200 03a4 addi $AC0.M, #0x03a4 0380 1c1e mrr $AR0, $AC0.M 0381 8100 clr $ACC0 0382 1b1e srri @$AR0, $AC0.M 0383 02df ret } void 0384_Unk() { 0384 00de 0344 lr $AC0.M, @0x0344 0386 1404 lsl $ACC0, #4 0387 0200 03b0 addi $AC0.M, #0x03b0 0389 1c1e mrr $AR0, $AC0.M 038a 02bf 0051 call 0x0051 038c 02bf 0051 call 0x0051 038e 02bf 0051 call 0x0051 0390 02bf 0051 call 0x0051 0392 02df ret } void 0393_Unk() { 0393 0081 034c lri $AR1, #0x034c 0395 009f 0400 lri $AC1.M, #0x0400 0397 0080 00c0 lri $AR0, #0x00c0 0399 02bf 007c call 0x007c 039b 02df ret } void 039c_Unk() { 039c 0081 034c lri $AR1, #0x034c 039e 009f 0400 lri $AC1.M, #0x0400 03a0 0080 0080 lri $AR0, #0x0080 03a2 0081 034c lri $AR1, #0x034c 03a4 193e lrri $AC0.M, @$AR1 03a5 193c lrri $AC0.L, @$AR1 03a6 0098 0000 lri $AX0.L, #0x0000 03a8 7000 addaxl $ACC0, $AX0.L 03a9 02bf 008b call 0x008b 03ab 02df ret } void 03ac_Unk() { 03ac 191e lrri $AC0.M, @$AR0 03ad 191a lrri $AX0.H, @$AR0 03ae 005f loop $AC1.M 03af 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M 03b0 1b7e srri @$AR3, $AC0.M 03b1 1b7a srri @$AR3, $AX0.H 03b2 02df ret } // Example call: //a 03d9 0080 0f40 lri $AR0, #0x0f40 //a 03db 0082 0d00 lri $AR2, #0x0d00 //a 03dd 0083 0d60 lri $AR3, #0x0d60 //a 03df 009f 0028 lri $AC1.M, #0x0028 //a 03e1 02bf 03b3 call 0x03b3 // Not sure how AR2 fits into the picture... void 03b3_XorBuffer(InputBuffer($AR0), OutputBuffer($AR3), HalfLength($AC1.M)) { 03b3 191e lrri $AC0.M, @$AR0 03b4 191a lrri $AX0.H, @$AR0 03b5 007f 03ba bloop $AC1.M, 0x03ba 03b7 32b2 xorr'sl $AC0.M, $AX1.H : $AC0.M, $AX1.H 03b8 65a0 movr'ls $ACC1, $AX0.H : $AX0.H, $AC0.M 03b9 33ba xorr'slm $AC1.M, $AX1.H : $AC0.M, $AX1.H 03ba 64a1 movr'ls $ACC0, $AX0.H : $AX0.H, $AC1.M 03bb 0000 nop 03bc 02df ret } void 03bd_Unk() { 03bd 8a00 m2 03be 157f lsr $ACC1, #-1 03bf 1c20 mrr $AR1, $AR0 03c0 1c03 mrr $AR0, $AR3 03c1 193a lrri $AX0.H, @$AR1 03c2 9051 mul'l $AX0.L, $AX0.H : $AX0.H, @$AR1 03c3 925b mulmvz'l $AX0.L, $AX0.H, $ACC0 : $AX1.H, @$AR3 03c4 007f 03c9 bloop $AC1.M, 0x03c9 03c6 4651 addr'l $ACC0, $AX1.H : $AX0.H, @$AR1 03c7 92b2 mulmvz'sl $AX0.L, $AX0.H, $ACC0 : $AC0.M, $AX1.H 03c8 4651 addr'l $ACC0, $AX1.H : $AX0.H, @$AR1 03c9 92b2 mulmvz'sl $AX0.L, $AX0.H, $ACC0 : $AC0.M, $AX1.H 03ca 8b00 m0 03cb 02df ret } void 03cc_Unk() { 03cc 0083 ffa0 lri $AR3, #0xffa0 03ce 0080 0300 lri $AR0, #0x0300 03d0 009f 000e lri $AC1.M, #0x000e 03d2 1108 03d7 bloopi #0x08, 0x03d7 03d4 191e lrri $AC0.M, @$AR0 03d5 1b7e srri @$AR3, $AC0.M 03d6 191e lrri $AC0.M, @$AR0 03d7 1b7e srri @$AR3, $AC0.M 03d8 02df ret } void 03d9_Unk() { 03d9 0080 0f40 lri $AR0, #0x0f40 03db 0082 0d00 lri $AR2, #0x0d00 03dd 0083 0d60 lri $AR3, #0x0d60 03df 009f 0028 lri $AC1.M, #0x0028 // XorBuffer, why?? 03e1 02bf 03b3 call 0x03b3 // Clear a bunch of buffers. 03e3 8900 clr $ACC1 03e4 009e 0050 lri $AC0.M, #0x0050 03e6 0080 0ca0 lri $AR0, #0x0ca0 03e8 005e loop $AC0.M 03e9 1b1f srri @$AR0, $AC1.M 03ea 0080 0f40 lri $AR0, #0x0f40 03ec 005e loop $AC0.M 03ed 1b1f srri @$AR0, $AC1.M 03ee 0080 0fa0 lri $AR0, #0x0fa0 03f0 005e loop $AC0.M 03f1 1b1f srri @$AR0, $AC1.M 03f2 0080 0b00 lri $AR0, #0x0b00 03f4 005e loop $AC0.M 03f5 1b1f srri @$AR0, $AC1.M 03f6 0080 09a0 lri $AR0, #0x09a0 03f8 005e loop $AC0.M 03f9 1b1f srri @$AR0, $AC1.M 03fa 02df ret } void 03fb_Unk() { 03fb 00c0 03a0 lr $AR0, @0x03a0 03fd 191a lrri $AX0.H, @$AR0 03fe 00df 03a1 lr $AC1.M, @0x03a1 0400 009b 00a0 lri $AX1.H, #0x00a0 0402 0081 0393 lri $AR1, #0x0393 0404 18bc lrrd $AC0.L, @$AR1 0405 b871 mulx'l $AX0.H, $AX1.H : $AC0.M, @$AR1 0406 bc00 mulxac $AX0.H, $AX1.H, $ACC0 0407 0080 0050 lri $AR0, #0x0050 0409 0508 addis $ACC1, #0x08 040a 02bf 007e call 0x007e 040c 00de 0390 lr $AC0.M, @0x0390 040e 02a0 0001 andf $AC0.M, #0x0001 0410 029d 041a jlz 0x041a 0412 0080 0398 lri $AR0, #0x0398 0414 009e 0008 lri $AC0.M, #0x0008 0416 00c1 03a1 lr $AR1, @0x03a1 0418 02bf 01c2 call 0x01c2 041a 009f 0050 lri $AC1.M, #0x0050 041c 00c0 03a1 lr $AR0, @0x03a1 041e 8100 clr $ACC0 041f 00de 0394 lr $AC0.M, @0x0394 0421 b100 tst $ACC0 0422 0295 0429 jz 0x0429 0424 1c7e mrr $AR3, $AC0.M 0425 00d8 0395 lr $AX0.L, @0x0395 0427 02bf 03bd call 0x03bd 0429 009f 0050 lri $AC1.M, #0x0050 042b 00c0 03a1 lr $AR0, @0x03a1 042d 8100 clr $ACC0 042e 00de 0396 lr $AC0.M, @0x0396 0430 b100 tst $ACC0 0431 0295 0438 jz 0x0438 0433 1c7e mrr $AR3, $AC0.M 0434 00d8 0397 lr $AX0.L, @0x0397 0436 02bf 03bd call 0x03bd 0438 00de 0390 lr $AC0.M, @0x0390 043a 02a0 0002 andf $AC0.M, #0x0002 043c 02dd retlz 043d 0080 0398 lri $AR0, #0x0398 043f 009e 0008 lri $AC0.M, #0x0008 0441 00c1 03a1 lr $AR1, @0x03a1 0443 02bf 01c2 call 0x01c2 0445 02df ret } void 0446_Unk() { 0446 009f 0dc0 lri $AC1.M, #0x0dc0 0448 00ff 03a1 sr @0x03a1, $AC1.M 044a 009f 03a8 lri $AC1.M, #0x03a8 044c 00ff 03a2 sr @0x03a2, $AC1.M 044e 009f 03a4 lri $AC1.M, #0x03a4 0450 00ff 03a0 sr @0x03a0, $AC1.M 0452 1104 047b bloopi #0x04, 0x047b 0454 00c0 03a2 lr $AR0, @0x03a2 0456 0083 0390 lri $AR3, #0x0390 0458 009f 000e lri $AC1.M, #0x000e 045a 02bf 03ac call 0x03ac 045c 00da 0390 lr $AX0.H, @0x0390 045e 8600 tstaxh $AX0.H 045f 0295 046c jz 0x046c 0461 00df 03a1 lr $AC1.M, @0x03a1 0463 1c7f mrr $AR3, $AC1.M 0464 0550 addis $ACC1, #0x50 0465 1c1f mrr $AR0, $AC1.M 0466 009f 0006 lri $AC1.M, #0x0006 0468 02bf 03ac call 0x03ac 046a 02bf 03fb call 0x03fb 046c 00de 03a2 lr $AC0.M, @0x03a2 046e 0410 addis $ACC0, #0x10 046f 00fe 03a2 sr @0x03a2, $AC0.M 0471 00de 03a1 lr $AC0.M, @0x03a1 0473 0460 addis $ACC0, #0x60 0474 00fe 03a1 sr @0x03a1, $AC0.M 0476 00de 03a0 lr $AC0.M, @0x03a0 0478 7400 incm $AC0.M 0479 00fe 03a0 sr @0x03a0, $AC0.M 047b 0000 nop 047c 02df ret } void 047d_Unk() { 047d 00c0 03a0 lr $AR0, @0x03a0 047f 181a lrr $AX0.H, @$AR0 0480 8100 clr $ACC0 0481 181e lrr $AC0.M, @$AR0 0482 00db 0391 lr $AX1.H, @0x0391 0484 7400 incm $AC0.M 0485 d100 cmpar $ACC1, $AX0.H 0486 0270 ifns 0487 8100 clr $ACC0 0488 1b1e srri @$AR0, $AC0.M 0489 00df 03a1 lr $AC1.M, @0x03a1 048b 009b 00a0 lri $AX1.H, #0x00a0 048d 0081 0393 lri $AR1, #0x0393 048f 18bc lrrd $AC0.L, @$AR1 0490 b871 mulx'l $AX0.H, $AX1.H : $AC0.M, @$AR1 0491 bc00 mulxac $AX0.H, $AX1.H, $ACC0 0492 0080 0050 lri $AR0, #0x0050 0494 02bf 008b call 0x008b 0496 02df ret } void 0497_Unk() { 0497 009f 0dc0 lri $AC1.M, #0x0dc0 0499 00ff 03a1 sr @0x03a1, $AC1.M 049b 009f 03a8 lri $AC1.M, #0x03a8 049d 00ff 03a2 sr @0x03a2, $AC1.M 049f 009f 03a4 lri $AC1.M, #0x03a4 04a1 00ff 03a0 sr @0x03a0, $AC1.M 04a3 1104 04c3 bloopi #0x04, 0x04c3 04a5 00c0 03a2 lr $AR0, @0x03a2 04a7 0083 0390 lri $AR3, #0x0390 04a9 009f 000e lri $AC1.M, #0x000e 04ab 02bf 03ac call 0x03ac 04ad 00da 0390 lr $AX0.H, @0x0390 04af 8600 tstaxh $AX0.H 04b0 0295 04b4 jz 0x04b4 04b2 02bf 047d call 0x047d 04b4 00de 03a2 lr $AC0.M, @0x03a2 04b6 0410 addis $ACC0, #0x10 04b7 00fe 03a2 sr @0x03a2, $AC0.M 04b9 00de 03a1 lr $AC0.M, @0x03a1 04bb 0460 addis $ACC0, #0x60 04bc 00fe 03a1 sr @0x03a1, $AC0.M 04be 00de 03a0 lr $AC0.M, @0x03a0 04c0 7400 incm $AC0.M 04c1 00fe 03a0 sr @0x03a0, $AC0.M 04c3 0000 nop 04c4 02df ret } void 04c5_Unk() { 04c5 0081 0386 lri $AR1, #0x0386 04c7 009f 03a8 lri $AC1.M, #0x03a8 04c9 0080 0040 lri $AR0, #0x0040 04cb 02bf 007c call 0x007c 04cd 02df ret } void 04ce_Increment32BitAddressAtAR0() { 04ce 191e lrri $AC0.M, @$AR0 04cf 189c lrrd $AC0.L, @$AR0 04d0 4800 addax $ACC0, $AX0.L 04d1 1b1e srri @$AR0, $AC0.M 04d2 1b1c srri @$AR0, $AC0.L 04d3 02df ret } void 04d4_Unk() { 04d4 8100 clr $ACC0 04d5 26fe lrs $AC0.M, @CMBH 04d6 02c0 8000 andcf $AC0.M, #0x8000 04d8 029c 04d5 jlnz 0x04d5 04da 26ff lrs $AC0.M, @CMBL 04db 02df ret } void 04dc_Unk() { 04dc 0080 0388 lri $AR0, #0x0388 04de 0081 0051 lri $AR1, #0x0051 04e0 173f callr $AR1 04e1 00de 0344 lr $AC0.M, @0x0344 04e3 00fe 0341 sr @0x0341, $AC0.M 04e5 00de 0345 lr $AC0.M, @0x0345 04e7 00fe 038e sr @0x038e, $AC0.M 04e9 173f callr $AR1 04ea 02df ret } ///////////////////////// // // // 0x0341: Number of Frames to render ... // 0x034c + 0x034d: RAM address of the current PB block // 0x034e: Last Sync message for rendered frame // 0x0354: PB loop counter // 0x0355: Current Frame // 0x0380: ??? // 0x0381: ??? // 0x0388: RAM Address of Output Buffer1 // 0x038a: RAM Address of Output Buffer2 // // 0x038f: Output Buffer Address (0x0520 most of the time) // // 0x03f8: *0x0433 // 0x0520: Some kind of sample buffer // 0x0d00: Left mix buffer // 0x0d60: Right mix buffer void 04eb_COMMAND_02() // sync frame 04eb 02bf 04dc call 0x04dc 04ed 009e 8000 lri $AC0.M, #0x8000 04ef 00dc 0341 lr $AC0.L, @0x0341 04f1 02bf 005a call 0x005a 04f3 8100 clr $ACC0 04f4 00fe 0355 sr @0x0355, $AC0.M 04f6 02bf 04c5 call 0x04c5 04f8 00de 0341 lr $AC0.M, @0x0341 04fa 007e 0698 bloop $AC0.M, 0x0698 04fc 02bf 03d9 call 0x03d9 04fe 02bf 0446 call 0x0446 0500 02bf 0bb6 call 0x0bb6 0502 02bf 04d4 call 0x04d4 0504 8100 clr $ACC0 0505 00fe 0354 sr @0x0354, $AC0.M 0507 00de 0342 lr $AC0.M, @0x0342 0509 007e 064c bloop $AC0.M, 0x064c 050b 00d8 0354 lr $AX0.L, @0x0354 050d 009a 0180 lri $AX0.H, #0x0180 050f 8100 clr $ACC0 0510 00de 0380 lr $AC0.M, @0x0380 0512 00dc 0381 lr $AC0.L, @0x0381 0514 9000 mul $AX0.L, $AX0.H 0515 9400 mulac $AX0.L, $AX0.H, $ACC0 0516 00fe 034c sr @0x034c, $AC0.M 0518 00fc 034d sr @0x034d, $AC0.L 051a 02bf 0393 call 0x0393 051c 00da 0400 lr $AX0.H, @0x0400 051e 8600 tstaxh $AX0.H 051f 0295 0647 jz 0x0647 0521 00da 0401 lr $AX0.H, @0x0401 0523 8600 tstaxh $AX0.H 0524 0294 0647 jnz 0x0647 0526 00da 0433 lr $AX0.H, @0x0433 0528 00fa 03f8 sr @0x03f8, $AX0.H 052a 00da 0406 lr $AX0.H, @0x0406 052c 8600 tstaxh $AX0.H 052d 0294 0a5e jnz 0x0a5e 052f 8100 clr $ACC0 0530 00de 0480 lr $AC0.M, @0x0480 0532 0609 cmpis $ACC0, #0x09 0533 0295 0540 jz 0x0540 0535 0620 cmpis $ACC0, #0x20 0536 0295 08cd jz 0x08cd 0538 0621 cmpis $ACC0, #0x21 0539 0295 08d6 jz 0x08d6 053b 0608 cmpis $ACC0, #0x08 053c 0295 0a66 jz 0x0a66 053e 029f 0266 jmp 0x0266 0540 00d8 0402 lr $AX0.L, @0x0402 0542 8100 clr $ACC0 0543 8900 clr $ACC1 0544 00dc 0430 lr $AC0.L, @0x0430 0546 8d00 set15 0547 0099 0050 lri $AX1.L, #0x0050 0549 a000 mulx $AX0.L, $AX1.L 054a a400 mulxac $AX0.L, $AX1.L, $ACC0 054b 1404 lsl $ACC0, #4 054c 8c00 clr15 054d 1ffe mrr $AC1.M, $AC0.M 054e 0083 0580 lri $AR3, #0x0580 0550 00da 0481 lr $AX0.H, @0x0481 0552 8600 tstaxh $AX0.H 0553 0295 0563 jz 0x0563 0555 00da 0489 lr $AX0.H, @0x0489 0557 8100 clr $ACC0 0558 00de 048b lr $AC0.M, @0x048b 055a 3800 orr $AC0.M, $AX0.H 055b 0240 000f andi $AC0.M, #0x000f 055d 0295 0563 jz 0x0563 055f 02bf 07d5 call 0x07d5 0561 029f 0565 jmp 0x0565 0563 02bf 0966 call 0x0966 0565 0080 0580 lri $AR0, #0x0580 0567 0081 0520 lri $AR1, #0x0520 0569 0099 0000 lri $AX1.L, #0x0000 056b 02bf 0141 call 0x0141 056d 00da 04a8 lr $AX0.H, @0x04a8 056f 8600 tstaxh $AX0.H 0570 0295 0576 jz 0x0576 0572 0080 0520 lri $AR0, #0x0520 0574 02bf 0b90 call 0x0b90 0576 009e 0520 lri $AC0.M, #0x0520 0578 00fe 038f sr @0x038f, $AC0.M 057a 8900 clr $ACC1 057b 00df 0484 lr $AC1.M, @0x0484 057d 0340 001f andi $AC1.M, #0x001f 057f b900 tst $ACC1 0580 0295 05a6 jz 0x05a6 0582 00de 038f lr $AC0.M, @0x038f 0584 5c00 sub $ACC0, $AC1.L 0585 00fe 038f sr @0x038f, $AC0.M 0587 1c7e mrr $AR3, $AC0.M 0588 0080 0440 lri $AR0, #0x0440 058a 05fe addis $ACC1, #0xfe 058b 02bf 03ac call 0x03ac 058d 0080 0490 lri $AR0, #0x0490 058f 00c1 038f lr $AR1, @0x038f 0591 8900 clr $ACC1 0592 00df 0484 lr $AC1.M, @0x0484 0594 0340 001f andi $AC1.M, #0x001f 0596 02bf 01e1 call 0x01e1 0598 00de 038f lr $AC0.M, @0x038f 059a 0450 addis $ACC0, #0x50 059b 1c1e mrr $AR0, $AC0.M 059c 0083 0440 lri $AR3, #0x0440 059e 8900 clr $ACC1 059f 00df 0484 lr $AC1.M, @0x0484 05a1 0340 001f andi $AC1.M, #0x001f 05a3 05fe addis $ACC1, #0xfe 05a4 02bf 03ac call 0x03ac 05a6 00de 0484 lr $AC0.M, @0x0484 05a8 0240 0020 andi $AC0.M, #0x0020 05aa 0295 05c8 jz 0x05c8 05ac 0080 04a4 lri $AR0, #0x04a4 05ae 00c1 038f lr $AR1, @0x038f 05b0 0082 0454 lri $AR2, #0x0454 05b2 0083 04a7 lri $AR3, #0x04a7 05b4 18fa lrrd $AX0.H, @$AR3 05b5 8600 tstaxh $AX0.H 05b6 0294 05c6 jnz 0x05c6 05b8 18fa lrrd $AX0.H, @$AR3 05b9 8600 tstaxh $AX0.H 05ba 0294 05c6 jnz 0x05c6 05bc 18fa lrrd $AX0.H, @$AR3 05bd 8600 tstaxh $AX0.H 05be 0294 05c6 jnz 0x05c6 05c0 8100 clr $ACC0 05c1 18fe lrrd $AC0.M, @$AR3 05c2 0280 7fff cmpi $AC0.M, #0x7fff 05c4 0295 05c8 jz 0x05c8 05c6 02bf 01fc call 0x01fc 05c8 8100 clr $ACC0 05c9 1c9e mrr $IX0, $AC0.M 05ca 1cde mrr $IX2, $AC0.M 05cb 7400 incm $AC0.M 05cc 1cfe mrr $IX3, $AC0.M 05cd 8100 clr $ACC0 05ce 00de 0407 lr $AC0.M, @0x0407 05d0 b100 tst $ACC0 05d1 0295 05e0 jz 0x05e0 05d3 00c3 038f lr $AR3, @0x038f 05d5 0007 dar $AR3 05d6 0080 0477 lri $AR0, #0x0477 05d8 0084 ffff lri $IX0, #0xffff 05da 0087 ffff lri $IX3, #0xffff 05dc 199a lrrn $AX0.H, @$AR0 05dd 6554 movr'ln $ACC1, $AX0.H : $AX0.H, @$AR0 05de 005e loop $AC0.M 05df 65ad movr'lsnm $ACC1, $AX0.H : $AX0.H, $AC1.M 05e0 00da 0485 lr $AX0.H, @0x0485 05e2 8600 tstaxh $AX0.H 05e3 0295 05f6 jz 0x05f6 05e5 8900 clr $ACC1 05e6 0086 0005 lri $IX2, #0x0005 05e8 0082 040a lri $AR2, #0x040a 05ea 1106 05ee bloopi #0x06, 0x05ee 05ec 18de lrrd $AC0.M, @$AR2 05ed 147f lsr $ACC0, #-1 05ee 4d36 add'sn $ACC1, $AC0.L : @$AR2, $AC0.M 05ef b900 tst $ACC1 05f0 0294 05f6 jnz 0x05f6 05f2 009a 0001 lri $AX0.H, #0x0001 05f4 00fa 0401 sr @0x0401, $AX0.H 05f6 8f00 set40 05f7 0086 0002 lri $IX2, #0x0002 05f9 0082 0408 lri $AR2, #0x0408 05fb 1106 0626 bloopi #0x06, 0x0626 05fd 8100 clr $ACC0 05fe 195e lrri $AC0.M, @$AR2 05ff 1200 sbclr #0x00 0600 b100 tst $ACC0 0601 0275 ifz 0602 1300 sbset #0x00 0603 1c7e mrr $AR3, $AC0.M 0604 195e lrri $AC0.M, @$AR2 0605 195f lrri $AC1.M, @$AR2 0606 5c00 sub $ACC0, $AC1.L 0607 14fb asr $ACC0, #-5 0608 1f5e mrr $AX0.H, $AC0.M 0609 1f1c mrr $AX0.L, $AC0.L 060a 185e lrr $AC0.M, @$AR2 060b 0240 00ff andi $AC0.M, #0x00ff 060d 1f7e mrr $AX1.H, $AC0.M 060e 185e lrr $AC0.M, @$AR2 060f 1478 lsr $ACC0, #-8 0610 009c 0000 lri $AC0.L, #0x0000 0612 d100 cmpar $ACC1, $AX0.H 0613 0295 061b jz 0x061b 0615 185e lrr $AC0.M, @$AR2 0616 0272 ifg 0617 7400 incm $AC0.M 0618 0271 ifs 0619 7800 decm $AC0.M 061a 1a5e srr @$AR2, $AC0.M 061b 0006 dar $AR2 061c 00de 038f lr $AC0.M, @0x038f 061e 5600 subr $ACC0, $AX1.H 061f 029d 0624 jlz 0x0624 0621 1c1e mrr $AR0, $AC0.M 0622 02bf 011e call 0x011e 0624 0000 nop 0625 1b5f srri @$AR2, $AC1.M 0626 000a iar $AR2 0627 8e00 set16 0628 8100 clr $ACC0 0629 00de 0407 lr $AC0.M, @0x0407 062b b100 tst $ACC0 062c 0295 063d jz 0x063d 062e 00c3 038f lr $AR3, @0x038f 0630 0087 004f lri $IX3, #0x004f 0632 001f addarn $AR3, $IX3 0633 0080 0477 lri $AR0, #0x0477 0635 0084 ffff lri $IX0, #0xffff 0637 0087 ffff lri $IX3, #0xffff 0639 19fa lrrn $AX0.H, @$AR3 063a 6557 movr'ln $ACC1, $AX0.H : $AX0.H, @$AR3 063b 005e loop $AC0.M 063c 65af movr'slnm $ACC1, $AX0.H : $AC1.M, $AX0.H 063d 00da 0406 lr $AX0.H, @0x0406 063f 8600 tstaxh $AX0.H 0640 0294 0645 jnz 0x0645 0642 8100 clr $ACC0 0643 00fe 0404 sr @0x0404, $AC0.M 0645 02bf 039c call 0x039c 0647 00de 0354 lr $AC0.M, @0x0354 0649 7400 incm $AC0.M 064a 00fe 0354 sr @0x0354, $AC0.M 064c 0000 nop 064d 16fb 0001 si @DIRQ, #0x0001 064f 02bf 0b11 call 0x0b11 0651 02bf 0b24 call 0x0b24 0653 02bf 0b7b call 0x0b7b 0655 0080 09a0 lri $AR0, #0x09a0 0657 0083 0d00 lri $AR3, #0x0d00 0659 009f 0050 lri $AC1.M, #0x0050 065b 0098 5a82 lri $AX0.L, #0x5a82 065d 02bf 03bd call 0x03bd 065f 0080 09a0 lri $AR0, #0x09a0 0661 0083 0d60 lri $AR3, #0x0d60 0663 009f 0050 lri $AC1.M, #0x0050 0665 02bf 03bd call 0x03bd 0667 0083 0d00 lri $AR3, #0x0d00 0669 02bf 0130 call 0x0130 066b 0081 0388 lri $AR1, #0x0388 066d 009f 0d00 lri $AC1.M, #0x0d00 066f 0080 0050 lri $AR0, #0x0050 0671 02bf 0089 call 0x0089 0673 0080 0fa0 lri $AR0, #0x0fa0 0675 0083 0d60 lri $AR3, #0x0d60 0677 009f 0050 lri $AC1.M, #0x0050 0679 0098 8000 lri $AX0.L, #0x8000 067b 02bf 03bd call 0x03bd 067d 0083 0d60 lri $AR3, #0x0d60 067f 02bf 0130 call 0x0130 0681 0081 038a lri $AR1, #0x038a 0683 009f 0d60 lri $AC1.M, #0x0d60 0685 0080 0050 lri $AR0, #0x0050 0687 02bf 0089 call 0x0089 0689 009a 0000 lri $AX0.H, #0x0000 068b 0098 00a0 lri $AX0.L, #0x00a0 068d 0080 0388 lri $AR0, #0x0388 068f 02bf 04ce call 0x04ce 0691 0080 038a lri $AR0, #0x038a 0693 02bf 04ce call 0x04ce 0695 02bf 0497 call 0x0497 0697 0000 nop 0698 0000 nop } 0699 029f 0031 jmp 0x0031 069b 0080 0346 lri $AR0, #0x0346 069d 02bf 0051 call 0x0051 069f 02bf 0051 call 0x0051 06a1 0081 0346 lri $AR1, #0x0346 06a3 193e lrri $AC0.M, @$AR1 06a4 193c lrri $AC0.L, @$AR1 06a5 009f 0400 lri $AC1.M, #0x0400 06a7 00c0 0345 lr $AR0, @0x0345 06a9 02bf 007e call 0x007e 06ab 0081 0348 lri $AR1, #0x0348 06ad 193e lrri $AC0.M, @$AR1 06ae 193c lrri $AC0.L, @$AR1 06af 009f 0800 lri $AC1.M, #0x0800 06b1 00c0 0345 lr $AR0, @0x0345 06b3 02bf 007e call 0x007e 06b5 0081 0346 lri $AR1, #0x0346 06b7 193e lrri $AC0.M, @$AR1 06b8 193c lrri $AC0.L, @$AR1 06b9 009f 0800 lri $AC1.M, #0x0800 06bb 00c0 0345 lr $AR0, @0x0345 06bd 02bf 008b call 0x008b 06bf 0081 0348 lri $AR1, #0x0348 06c1 193e lrri $AC0.M, @$AR1 06c2 193c lrri $AC0.L, @$AR1 06c3 009f 0400 lri $AC1.M, #0x0400 06c5 00c0 0345 lr $AR0, @0x0345 06c7 02bf 008b call 0x008b 06c9 029f 0049 jmp 0x0049 } void 06cb_Unk() { 06cb 0080 0346 lri $AR0, #0x0346 06cd 02bf 0051 call 0x0051 06cf 02bf 0051 call 0x0051 06d1 0081 0346 lri $AR1, #0x0346 06d3 193e lrri $AC0.M, @$AR1 06d4 193c lrri $AC0.L, @$AR1 06d5 009f 0400 lri $AC1.M, #0x0400 06d7 00c0 0345 lr $AR0, @0x0345 06d9 02bf 007e call 0x007e 06db 0081 0348 lri $AR1, #0x0348 06dd 193e lrri $AC0.M, @$AR1 06de 193c lrri $AC0.L, @$AR1 06df 009f 0400 lri $AC1.M, #0x0400 06e1 00c0 0345 lr $AR0, @0x0345 06e3 02bf 008b call 0x008b 06e5 029f 0049 jmp 0x0049 } void 06e7_Unk() { 06e7 0080 0346 lri $AR0, #0x0346 06e9 02bf 0051 call 0x0051 06eb 02bf 0051 call 0x0051 06ed 0081 0346 lri $AR1, #0x0346 06ef 193e lrri $AC0.M, @$AR1 06f0 193c lrri $AC0.L, @$AR1 06f1 009f 0400 lri $AC1.M, #0x0400 06f3 00c0 0345 lr $AR0, @0x0345 06f5 02bf 00ae call 0x00ae 06f7 0081 0348 lri $AR1, #0x0348 06f9 193e lrri $AC0.M, @$AR1 06fa 193c lrri $AC0.L, @$AR1 06fb 009f 0400 lri $AC1.M, #0x0400 06fd 00c0 0345 lr $AR0, @0x0345 06ff 02bf 008b call 0x008b 0701 029f 0049 jmp 0x0049 0703 0080 0346 lri $AR0, #0x0346 0705 02bf 0051 call 0x0051 0707 02bf 0051 call 0x0051 0709 0081 0346 lri $AR1, #0x0346 070b 193e lrri $AC0.M, @$AR1 070c 193c lrri $AC0.L, @$AR1 070d 009f 0400 lri $AC1.M, #0x0400 070f 00c0 0344 lr $AR0, @0x0344 0711 02bf 007e call 0x007e 0713 0081 0348 lri $AR1, #0x0348 0715 193e lrri $AC0.M, @$AR1 0716 193c lrri $AC0.L, @$AR1 0717 009f 0800 lri $AC1.M, #0x0800 0719 00c0 0344 lr $AR0, @0x0344 071b 02bf 007e call 0x007e 071d 0080 0400 lri $AR0, #0x0400 071f 0083 0800 lri $AR3, #0x0800 0721 0084 0000 lri $IX0, #0x0000 0723 00da 0345 lr $AX0.H, @0x0345 0725 00df 0344 lr $AC1.M, @0x0344 0727 8f00 set40 0728 197b lrri $AX1.H, @$AR3 0729 b800 mulx $AX0.H, $AX1.H 072a 197b lrri $AX1.H, @$AR3 072b 007f 0730 bloop $AC1.M, 0x0730 072d 199e lrrn $AC0.M, @$AR0 072e bc00 mulxac $AX0.H, $AX1.H, $ACC0 072f 80b2 nx'sl : $AC0.M, $AX1.H 0730 0000 nop 0731 8e00 set16 0732 0081 0346 lri $AR1, #0x0346 0734 193e lrri $AC0.M, @$AR1 0735 193c lrri $AC0.L, @$AR1 0736 009f 0400 lri $AC1.M, #0x0400 0738 00c0 0344 lr $AR0, @0x0344 073a 02bf 008b call 0x008b 073c 009e 8200 lri $AC0.M, #0x8200 073e 00dc 0344 lr $AC0.L, @0x0344 0740 02bf 005a call 0x005a 0742 029f 0031 jmp 0x0031 0744 0080 0346 lri $AR0, #0x0346 0746 02bf 0051 call 0x0051 0748 0081 0346 lri $AR1, #0x0346 074a 009f 0400 lri $AC1.M, #0x0400 074c 00c0 0345 lr $AR0, @0x0345 074e 02bf 007c call 0x007c 0750 02bf 8644 call 0x8644 0752 029f 0049 jmp 0x0049 } void 0754_Unk() { 0754 009e 0458 lri $AC0.M, #0x0458 0756 2231 lrs $AX0.H, @0x0031 0757 4400 addr $ACC0, $AX0.H 0758 1c1e mrr $AR0, $AC0.M 0759 1fda mrr $AC0.M, $AX0.H 075a 3280 xorr'ls $AC0.M, $AX1.H : $AX0.L, $AC0.M 075b 7400 incm $AC0.M 075c 2232 lrs $AX0.H, @0x0032 075d 4400 addr $ACC0, $AX0.H 075e 0090 0000 lri $AC0.H, #0x0000 0760 029f 0771 jmp 0x0771 0762 009e 0458 lri $AC0.M, #0x0458 0764 2231 lrs $AX0.H, @0x0031 0765 4400 addr $ACC0, $AX0.H 0766 1c1e mrr $AR0, $AC0.M 0767 1fda mrr $AC0.M, $AX0.H 0768 3280 xorr'ls $AC0.M, $AX1.H : $AX0.L, $AC0.M 0769 7400 incm $AC0.M 076a 2232 lrs $AX0.H, @0x0032 076b 4400 addr $ACC0, $AX0.H 076c 0090 0000 lri $AC0.H, #0x0000 076e 8200 cmp 076f 0270 ifns 0770 1fdf mrr $AC0.M, $AC1.M 0771 1f3e mrr $AX1.L, $AC0.M 0772 02bf 07c8 call 0x07c8 0774 2634 lrs $AC0.M, @0x0034 0775 2435 lrs $AC0.L, @0x0035 0776 7200 addaxl $ACC0, $AX1.L 0777 5300 subr $ACC1, $AX1.L 0778 2e34 srs @0x0034, $AC0.M 0779 2c35 srs @0x0035, $AC0.L 077a 02df ret } void 077b_Unk() { 077b 8100 clr $ACC0 077c 2234 lrs $AX0.H, @0x0034 077d 2035 lrs $AX0.L, @0x0035 077e 4800 addax $ACC0, $AX0.L 077f 147c lsr $ACC0, #-4 0780 2e36 srs @0x0036, $AC0.M 0781 2c37 srs @0x0037, $AC0.L 0782 2380 lrs $AX1.H, @0xff80 0783 8d00 set15 0784 c810 mulc'mv $AC0.M, $AX1.H : $AX0.L, $AC0.L 0785 ae00 mulxmv $AX0.L, $AX1.H, $ACC0 0786 8c00 clr15 0787 2035 lrs $AX0.L, @0x0035 0788 f000 lsl16 $ACC0 0789 4e00 addp $ACC0 078a 238c lrs $AX1.H, @0xff8c 078b 218d lrs $AX1.L, @0xff8d 078c 4a00 addax $ACC0, $AX1.L 078d 2e38 srs @0x0038, $AC0.M 078e 2c39 srs @0x0039, $AC0.L 078f 1fd8 mrr $AC0.M, $AX0.L 0790 0240 000f andi $AC0.M, #0x000f 0792 2e31 srs @0x0031, $AC0.M 0793 268a lrs $AC0.M, @0xff8a 0794 248b lrs $AC0.L, @0xff8b 0795 5800 subax $ACC0, $AX0.L 0796 2e3a srs @0x003a, $AC0.M 0797 2c3b srs @0x003b, $AC0.L 0798 02df ret } void 0799_Unk() { 0799 2236 lrs $AX0.H, @0x0036 079a 2037 lrs $AX0.L, @0x0037 079b 8100 clr $ACC0 079c 268a lrs $AC0.M, @0xff8a 079d 248b lrs $AC0.L, @0xff8b 079e 147c lsr $ACC0, #-4 079f 5800 subax $ACC0, $AX0.L 07a0 0295 07a9 jz 0x07a9 07a2 02bf 081b call 0x081b 07a4 0e10 lris $AC0.M, #0x10 07a5 2e32 srs @0x0032, $AC0.M 07a6 8100 clr $ACC0 07a7 2e31 srs @0x0031, $AC0.M 07a8 02df ret } void 07a9_Unk() { 07a9 228a lrs $AX0.H, @0xff8a 07aa 208b lrs $AX0.L, @0xff8b 07ab 8100 clr $ACC0 07ac 2634 lrs $AC0.M, @0x0034 07ad 2435 lrs $AC0.L, @0x0035 07ae 5800 subax $ACC0, $AX0.L 07af 0290 07b6 jns 0x07b6 07b1 02bf 081b call 0x081b 07b3 263b lrs $AC0.M, @0x003b 07b4 029f 07a5 jmp 0x07a5 07b6 2688 lrs $AC0.M, @0xff88 07b7 2489 lrs $AC0.L, @0xff89 07b8 2e34 srs @0x0034, $AC0.M 07b9 2c35 srs @0x0035, $AC0.L 07ba 0e10 lris $AC0.M, #0x10 07bb 2e32 srs @0x0032, $AC0.M 07bc 02bf 077b call 0x077b 07be 2682 lrs $AC0.M, @0xff82 07bf 2e67 srs @0x0067, $AC0.M 07c0 2683 lrs $AC0.M, @0xff83 07c1 2e66 srs @0x0066, $AC0.M 07c2 8100 clr $ACC0 07c3 00fe 0362 sr @0x0362, $AC0.M 07c5 02bf 081b call 0x081b 07c7 02df ret } void 07c8_Unk() { 07c8 b100 tst $ACC0 07c9 02d5 retz 07ca 04fe addis $ACC0, #0xfe 07cb 1f1e mrr $AX0.L, $AC0.M 07cc 191e lrri $AC0.M, @$AR0 07cd 0291 07d3 js 0x07d3 07cf 191a lrri $AX0.H, @$AR0 07d0 0058 loop $AX0.L 07d1 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M 07d2 6433 movr's $ACC0, $AX0.H : @$AR3, $AC0.M 07d3 1b7e srri @$AR3, $AC0.M 07d4 02df ret } void 07d5_Unk() { 07d5 0092 0004 lri $CR, #0x0004 07d7 02bf 077b call 0x077b 07d9 8100 clr $ACC0 07da 00fe 0362 sr @0x0362, $AC0.M 07dc 8100 clr $ACC0 07dd 263a lrs $AC0.M, @0x003a 07de 243b lrs $AC0.L, @0x003b 07df b100 tst $ACC0 07e0 0294 07f2 jnz 0x07f2 07e2 02bf 0799 call 0x0799 07e4 2231 lrs $AX0.H, @0x0031 07e5 8600 tstaxh $AX0.H 07e6 0294 07ef jnz 0x07ef 07e8 02bf 0762 call 0x0762 07ea b900 tst $ACC1 07eb 0295 0818 jz 0x0818 07ed 02bf 077b call 0x077b 07ef 8100 clr $ACC0 07f0 263a lrs $AC0.M, @0x003a 07f1 243b lrs $AC0.L, @0x003b 07f2 1f1f mrr $AX0.L, $AC1.M 07f3 009a 0000 lri $AX0.H, #0x0000 07f5 5800 subax $ACC0, $AX0.L 07f6 0290 0805 jns 0x0805 07f8 8100 clr $ACC0 07f9 2631 lrs $AC0.M, @0x0031 07fa b100 tst $ACC0 07fb 0294 07ff jnz 0x07ff 07fd 02bf 0799 call 0x0799 07ff 02bf 0754 call 0x0754 0801 02bf 077b call 0x077b 0803 029f 07dc jmp 0x07dc 0805 8100 clr $ACC0 0806 2631 lrs $AC0.M, @0x0031 0807 b100 tst $ACC0 0808 0294 080c jnz 0x080c 080a 02bf 0799 call 0x0799 080c 02bf 0762 call 0x0762 080e b900 tst $ACC1 080f 0295 0818 jz 0x0818 0811 02bf 077b call 0x077b 0813 029f 0805 jmp 0x0805 0815 8100 clr $ACC0 0816 005f loop $AC1.M 0817 1b7e srri @$AR3, $AC0.M 0818 0092 00ff lri $CR, #0x00ff 081a 02df ret } void 081b_Unk() { 081b 00ff 0360 sr @0x0360, $AC1.M 081d 00da 0362 lr $AX0.H, @0x0362 081f 8600 tstaxh $AX0.H 0820 0294 082d jnz 0x082d 0822 0a01 lris $AX0.H, #0x01 0823 00fa 0362 sr @0x0362, $AX0.H 0825 2638 lrs $AC0.M, @0x0038 0826 2439 lrs $AC0.L, @0x0039 0827 009f 0005 lri $AC1.M, #0x0005 0829 02bf 0103 call 0x0103 082b 0092 0004 lri $CR, #0x0004 082d 0080 ffd3 lri $AR0, #0xffd3 082f 0084 0000 lri $IX0, #0x0000 0831 199e lrrn $AC0.M, @$AR0 0832 1ffe mrr $AC1.M, $AC0.M 0833 1401 lsl $ACC0, #1 0834 0240 001e andi $AC0.M, #0x001e 0836 0200 0300 addi $AC0.M, #0x0300 0838 1c3e mrr $AR1, $AC0.M 0839 157c lsr $ACC1, #-4 083a 0340 000f andi $AC1.M, #0x000f 083c 0a11 lris $AX0.H, #0x11 083d 5500 subr $ACC1, $AX0.H 083e 009a 00f0 lri $AX0.H, #0x00f0 0840 009b 000f lri $AX1.H, #0x000f 0842 0082 0370 lri $AR2, #0x0370 0844 1998 lrrn $AX0.L, @$AR0 0845 6000 movr $ACC0, $AX0.L 0846 1107 084d bloopi #0x07, 0x084d 0848 3400 andr $AC0.M, $AX0.H 0849 1408 lsl $ACC0, #8 084a 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M 084b 3644 andr'ln $AC0.M, $AX1.H : $AX0.L, @$AR0 084c 140c lsl $ACC0, #12 084d 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M 084e 3400 andr $AC0.M, $AX0.H 084f 1408 lsl $ACC0, #8 0850 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M 0851 3600 andr $AC0.M, $AX1.H 0852 140c lsl $ACC0, #12 0853 1b5e srri @$AR2, $AC0.M 0854 8f00 set40 0855 1f7f mrr $AX1.H, $AC1.M 0856 2066 lrs $AX0.L, @0x0066 0857 2767 lrs $AC1.M, @0x0067 0858 193a lrri $AX0.H, @$AR1 0859 1939 lrri $AX1.L, @$AR1 085a 0080 0370 lri $AR0, #0x0370 085c 0081 0458 lri $AR1, #0x0458 085e 1c80 mrr $IX0, $AR0 085f a000 mulx $AX0.L, $AX1.L 0860 ea70 maddc'l $AC1.M, $AX1.L : $AC0.M, @$AR0 0861 1108 086a bloopi #0x08, 0x086a 0863 3a93 orr'sl $AC0.M, $AX1.H : $AC1.M, $AX1.L 0864 a478 mulxac'l $AX0.L, $AX1.L, $ACC0 : $AC1.M, @$AR0 0865 1485 asl $ACC0, #5 0866 e831 maddc's $AC0.M, $AX1.L : @$AR1, $AC0.M 0867 3b92 orr'sl $AC1.M, $AX1.H : $AC0.M, $AX1.L 0868 a570 mulxac'l $AX0.L, $AX1.L, $ACC1 : $AC0.M, @$AR0 0869 1585 asl $ACC1, #5 086a ea39 maddc's $AC1.M, $AX1.L : @$AR1, $AC1.M 086b 8e00 set16 086c 8900 clr $ACC1 086d 00df 0360 lr $AC1.M, @0x0360 086f 02df ret } void 0870_Unk() { 0870 0080 0346 lri $AR0, #0x0346 0872 02bf 0051 call 0x0051 0874 8100 clr $ACC0 0875 0080 0458 lri $AR0, #0x0458 0877 1010 loopi #0x10 0878 1b1e srri @$AR0, $AC0.M 0879 00fe 0482 sr @0x0482, $AC0.M 087b 00fe 0483 sr @0x0483, $AC0.M 087d 009c 0000 lri $AC0.L, #0x0000 087f 00fe 0434 sr @0x0434, $AC0.M 0881 00fc 0435 sr @0x0435, $AC0.L 0883 009e 0100 lri $AC0.M, #0x0100 0885 009c f100 lri $AC0.L, #0xf100 0887 00fe 048e sr @0x048e, $AC0.M 0889 00fc 048f sr @0x048f, $AC0.L 088b 009e 0040 lri $AC0.M, #0x0040 088d 009c 0000 lri $AC0.L, #0x0000 088f 00fe 048c sr @0x048c, $AC0.M 0891 00fc 048d sr @0x048d, $AC0.L 0893 009e 0009 lri $AC0.M, #0x0009 0895 00fe 0480 sr @0x0480, $AC0.M 0897 009e 0010 lri $AC0.M, #0x0010 0899 00fe 0432 sr @0x0432, $AC0.M 089b 009e 0100 lri $AC0.M, #0x0100 089d 009c f250 lri $AC0.L, #0xf250 089f 00fe 048a sr @0x048a, $AC0.M 08a1 00fc 048b sr @0x048b, $AC0.L 08a3 009c 0000 lri $AC0.L, #0x0000 08a5 00fe 0488 sr @0x0488, $AC0.M 08a7 00fc 0489 sr @0x0489, $AC0.L 08a9 009e 0001 lri $AC0.M, #0x0001 08ab 00fe 0481 sr @0x0481, $AC0.M 08ad 8900 clr $ACC1 08ae 00ff 0401 sr @0x0401, $AC1.M 08b0 1180 08ca bloopi #0x80, 0x08ca 08b2 0083 0580 lri $AR3, #0x0580 08b4 009f 0100 lri $AC1.M, #0x0100 08b6 02bf 07d5 call 0x07d5 08b8 0081 0346 lri $AR1, #0x0346 08ba 193e lrri $AC0.M, @$AR1 08bb 18bc lrrd $AC0.L, @$AR1 08bc 009f 0580 lri $AC1.M, #0x0580 08be 0080 0100 lri $AR0, #0x0100 08c0 02bf 008b call 0x008b 08c2 0081 0346 lri $AR1, #0x0346 08c4 193e lrri $AC0.M, @$AR1 08c5 18bc lrrd $AC0.L, @$AR1 08c6 0098 0200 lri $AX0.L, #0x0200 08c8 7000 addaxl $ACC0, $AX0.L 08c9 1b3e srri @$AR1, $AC0.M 08ca 1abc srrd @$AR1, $AC0.L 08cb 029f 0049 jmp 0x0049 } void 08cd_Unk() { 08cd 8900 clr $ACC1 08ce 009f 0050 lri $AC1.M, #0x0050 08d0 0083 0520 lri $AR3, #0x0520 08d2 02bf 08e8 call 0x08e8 08d4 029f 056d jmp 0x056d } void 08d6_Unk() { 08d6 00d8 0402 lr $AX0.L, @0x0402 08d8 8100 clr $ACC0 08d9 8900 clr $ACC1 08da 00dc 0430 lr $AC0.L, @0x0430 08dc 009a 0050 lri $AX0.H, #0x0050 08de 9000 mul $AX0.L, $AX0.H 08df 9400 mulac $AX0.L, $AX0.H, $ACC0 08e0 1404 lsl $ACC0, #4 08e1 1ffe mrr $AC1.M, $AC0.M 08e2 0083 0580 lri $AR3, #0x0580 08e4 02bf 08e8 call 0x08e8 08e6 029f 0565 jmp 0x0565 } void 08e8_Unk() { 08e8 0092 0004 lri $CR, #0x0004 08ea 8100 clr $ACC0 08eb 263a lrs $AC0.M, @0x003a 08ec 243b lrs $AC0.L, @0x003b 08ed 1f1f mrr $AX0.L, $AC1.M 08ee 009a 0000 lri $AX0.H, #0x0000 08f0 5800 subax $ACC0, $AX0.L 08f1 0290 0908 jns 0x0908 08f3 8900 clr $ACC1 08f4 00c0 043b lr $AR0, @0x043b 08f6 02bf 092d call 0x092d 08f8 8100 clr $ACC0 08f9 1fd8 mrr $AC0.M, $AX0.L 08fa 223b lrs $AX0.H, @0x003b 08fb 5400 subr $ACC0, $AX0.H 08fc 0007 dar $AR3 08fd 1979 lrri $AX1.L, @$AR3 08fe 005e loop $AC0.M 08ff 1b79 srri @$AR3, $AX1.L 0900 009f 0001 lri $AC1.M, #0x0001 0902 2f01 srs @0x0001, $AC1.M 0903 8900 clr $ACC1 0904 2f3b srs @0x003b, $AC1.M 0905 0092 00ff lri $CR, #0x00ff 0907 02df ret } void 0908_Unk() { 0908 2e3a srs @0x003a, $AC0.M 0909 2c3b srs @0x003b, $AC0.L 090a 8100 clr $ACC0 090b 8900 clr $ACC1 090c 268a lrs $AC0.M, @0xff8a 090d 2734 lrs $AC1.M, @0x0034 090e 5c00 sub $ACC0, $AC1.L 090f 2e36 srs @0x0036, $AC0.M 0910 5000 subr $ACC0, $AX0.L 0911 0290 0927 jns 0x0927 0913 00c0 0436 lr $AR0, @0x0436 0915 02bf 092d call 0x092d 0917 8100 clr $ACC0 0918 1fd8 mrr $AC0.M, $AX0.L 0919 2236 lrs $AX0.H, @0x0036 091a 5400 subr $ACC0, $AX0.H 091b 1c1e mrr $AR0, $AC0.M 091c 8100 clr $ACC0 091d 2e34 srs @0x0034, $AC0.M 091e 2688 lrs $AC0.M, @0xff88 091f 2489 lrs $AC0.L, @0xff89 0920 2e8c srs @0xff8c, $AC0.M 0921 2c8d srs @0xff8d, $AC0.L 0922 02bf 092d call 0x092d 0924 0092 00ff lri $CR, #0x00ff 0926 02df ret } void 0927_Unk() { 0927 1c18 mrr $AR0, $AX0.L 0928 02bf 092d call 0x092d 092a 0092 00ff lri $CR, #0x00ff 092c 02df ret } void 092d_Unk() { 092d 8100 clr $ACC0 092e 1fc0 mrr $AC0.M, $AR0 092f b100 tst $ACC0 0930 02d5 retz 0931 8900 clr $ACC1 0932 2734 lrs $AC1.M, @0x0034 0933 0340 0001 andi $AC1.M, #0x0001 0935 009b 0000 lri $AX1.H, #0x0000 0937 1f3f mrr $AX1.L, $AC1.M 0938 268c lrs $AC0.M, @0xff8c 0939 248d lrs $AC0.L, @0xff8d 093a 8900 clr $ACC1 093b 2534 lrs $AC1.L, @0x0034 093c 1501 lsl $ACC1, #1 093d 4c00 add $ACC0, $AC1.L 093e 5a00 subax $ACC0, $AX1.L 093f 5a00 subax $ACC0, $AX1.L 0940 1c20 mrr $AR1, $AR0 0941 1fe0 mrr $AC1.M, $AR0 0942 0502 addis $ACC1, #0x02 0943 1c1f mrr $AR0, $AC1.M 0944 009f 0a00 lri $AC1.M, #0x0a00 0946 0092 00ff lri $CR, #0x00ff 0948 02bf 007e call 0x007e 094a 0092 0004 lri $CR, #0x0004 094c 2734 lrs $AC1.M, @0x0034 094d 1f61 mrr $AX1.H, $AR1 094e 4700 addr $ACC1, $AX1.H 094f 2f34 srs @0x0034, $AC1.M 0950 0080 0a00 lri $AR0, #0x0a00 0952 8900 clr $ACC1 0953 1ff9 mrr $AC1.M, $AX1.L 0954 b900 tst $ACC1 0955 0274 ifnz 0956 0008 iar $AR0 0957 8900 clr $ACC1 0958 1fe1 mrr $AC1.M, $AR1 0959 191e lrri $AC0.M, @$AR0 095a 0701 cmpis $ACC1, #0x01 095b 0293 0964 jle 0x0964 095d 191a lrri $AX0.H, @$AR0 095e 05fe addis $ACC1, #0xfe 095f 005f loop $AC1.M 0960 64a0 movr'ls $ACC0, $AX0.H : $AX0.H, $AC0.M 0961 1b7e srri @$AR3, $AC0.M 0962 1b7a srri @$AR3, $AX0.H 0963 02df ret } void 0964_Unk() { 0964 1b7e srri @$AR3, $AC0.M 0965 02df ret } void 0966_Unk() { 0966 0092 0004 lri $CR, #0x0004 0968 2201 lrs $AX0.H, @0x0001 0969 8600 tstaxh $AX0.H 096a 0294 0997 jnz 0x0997 096c 2204 lrs $AX0.H, @0x0004 096d 8600 tstaxh $AX0.H 096e 02b4 09eb callne 0x09eb 0970 2231 lrs $AX0.H, @0x0031 0971 8600 tstaxh $AX0.H 0972 0295 098c jz 0x098c 0974 009e 0458 lri $AC0.M, #0x0458 0976 4400 addr $ACC0, $AX0.H 0977 1c1e mrr $AR0, $AC0.M 0978 0e10 lris $AC0.M, #0x10 0979 5400 subr $ACC0, $AX0.H 097a 1f7e mrr $AX1.H, $AC0.M 097b 02bf 07c8 call 0x07c8 097d d900 cmpar $ACC1, $AX1.H 097e 0292 098b jg 0x098b 0980 0295 0987 jz 0x0987 0982 2631 lrs $AC0.M, @0x0031 0983 4c00 add $ACC0, $AC1.L 0984 2e31 srs @0x0031, $AC0.M 0985 029f 09e8 jmp 0x09e8 0987 8100 clr $ACC0 0988 2e31 srs @0x0031, $AC0.M 0989 029f 09e8 jmp 0x09e8 098b 5700 subr $ACC1, $AX1.H 098c 8100 clr $ACC0 098d 2605 lrs $AC0.M, @0x0005 098e b100 tst $ACC0 098f 0295 09a8 jz 0x09a8 0991 8100 clr $ACC0 0992 2e05 srs @0x0005, $AC0.M 0993 2281 lrs $AX0.H, @0xff81 0994 8600 tstaxh $AX0.H 0995 0294 099e jnz 0x099e 0997 8100 clr $ACC0 0998 005f loop $AC1.M 0999 1b7e srri @$AR3, $AC0.M 099a 7400 incm $AC0.M 099b 2e01 srs @0x0001, $AC0.M 099c 029f 09e8 jmp 0x09e8 099e 2688 lrs $AC0.M, @0xff88 099f 2489 lrs $AC0.L, @0xff89 09a0 2e34 srs @0x0034, $AC0.M 09a1 2c35 srs @0x0035, $AC0.L 09a2 02bf 09f0 call 0x09f0 09a4 2682 lrs $AC0.M, @0xff82 09a5 2483 lrs $AC0.L, @0xff83 09a6 2e67 srs @0x0067, $AC0.M 09a7 2c66 srs @0x0066, $AC0.L 09a8 00ff 0360 sr @0x0360, $AC1.M 09aa 2638 lrs $AC0.M, @0x0038 09ab 2439 lrs $AC0.L, @0x0039 09ac 009f 0005 lri $AC1.M, #0x0005 09ae 02bf 0103 call 0x0103 09b0 0092 0004 lri $CR, #0x0004 09b2 8900 clr $ACC1 09b3 00ff 0362 sr @0x0362, $AC1.M 09b5 00df 0360 lr $AC1.M, @0x0360 09b7 02bf 0a09 call 0x0a09 09b9 8100 clr $ACC0 09ba 00de 0362 lr $AC0.M, @0x0362 09bc 2280 lrs $AX0.H, @0xff80 09bd 4400 addr $ACC0, $AX0.H 09be 00fe 0362 sr @0x0362, $AC0.M 09c0 8100 clr $ACC0 09c1 263a lrs $AC0.M, @0x003a 09c2 243b lrs $AC0.L, @0x003b 09c3 0a01 lris $AX0.H, #0x01 09c4 0081 0405 lri $AR1, #0x0405 09c6 7a00 dec $ACC0 09c7 b100 tst $ACC0 09c8 0275 ifz 09c9 1a3a srr @$AR1, $AX0.H 09ca 2e3a srs @0x003a, $AC0.M 09cb 2c3b srs @0x003b, $AC0.L 09cc 0710 cmpis $ACC1, #0x10 09cd 0293 09d6 jle 0x09d6 09cf 05f0 addis $ACC1, #0xf0 09d0 2205 lrs $AX0.H, @0x0005 09d1 8600 tstaxh $AX0.H 09d2 0294 0991 jnz 0x0991 09d4 029f 09b7 jmp 0x09b7 09d6 0275 ifz 09d7 8900 clr $ACC1 09d8 2f31 srs @0x0031, $AC1.M 09d9 1fc3 mrr $AC0.M, $AR3 09da 04f0 addis $ACC0, #0xf0 09db 1c1e mrr $AR0, $AC0.M 09dc 0083 0458 lri $AR3, #0x0458 09de 0e10 lris $AC0.M, #0x10 09df 02bf 07c8 call 0x07c8 09e1 2638 lrs $AC0.M, @0x0038 09e2 2439 lrs $AC0.L, @0x0039 09e3 00d8 0362 lr $AX0.L, @0x0362 09e5 7000 addaxl $ACC0, $AX0.L 09e6 2c39 srs @0x0039, $AC0.L 09e7 2e38 srs @0x0038, $AC0.M 09e8 0092 00ff lri $CR, #0x00ff 09ea 02df ret } void 09eb_Unk() { 09eb 8100 clr $ACC0 09ec 2e34 srs @0x0034, $AC0.M 09ed 2e35 srs @0x0035, $AC0.M 09ee 2e66 srs @0x0066, $AC0.M 09ef 2e67 srs @0x0067, $AC0.M 09f0 2334 lrs $AX1.H, @0x0034 09f1 2135 lrs $AX1.L, @0x0035 09f2 268a lrs $AC0.M, @0xff8a 09f3 248b lrs $AC0.L, @0xff8b 09f4 5a00 subax $ACC0, $AX1.L 09f5 147c lsr $ACC0, #-4 09f6 2e3a srs @0x003a, $AC0.M 09f7 2c3b srs @0x003b, $AC0.L 09f8 2634 lrs $AC0.M, @0x0034 09f9 2435 lrs $AC0.L, @0x0035 09fa 147c lsr $ACC0, #-4 09fb 2280 lrs $AX0.H, @0xff80 09fc c010 mulc'mv $AC0.M, $AX0.H : $AX0.L, $AC0.L 09fd 9600 mulmv $AX0.L, $AX0.H, $ACC0 09fe f000 lsl16 $ACC0 09ff 4e00 addp $ACC0 0a00 238c lrs $AX1.H, @0xff8c 0a01 218d lrs $AX1.L, @0xff8d 0a02 4a00 addax $ACC0, $AX1.L 0a03 2e38 srs @0x0038, $AC0.M 0a04 2c39 srs @0x0039, $AC0.L 0a05 8100 clr $ACC0 0a06 2e05 srs @0x0005, $AC0.M 0a07 2e31 srs @0x0031, $AC0.M 0a08 02df ret } void 0a09_Unk() { 0a09 00ff 0360 sr @0x0360, $AC1.M 0a0b 0080 ffd3 lri $AR0, #0xffd3 0a0d 0084 0000 lri $IX0, #0x0000 0a0f 199e lrrn $AC0.M, @$AR0 0a10 1ffe mrr $AC1.M, $AC0.M 0a11 1401 lsl $ACC0, #1 0a12 0240 001e andi $AC0.M, #0x001e 0a14 0200 0300 addi $AC0.M, #0x0300 0a16 1c3e mrr $AR1, $AC0.M 0a17 157c lsr $ACC1, #-4 0a18 0340 000f andi $AC1.M, #0x000f 0a1a 0a11 lris $AX0.H, #0x11 0a1b 5500 subr $ACC1, $AX0.H 0a1c 009a 00f0 lri $AX0.H, #0x00f0 0a1e 009b 000f lri $AX1.H, #0x000f 0a20 0082 0370 lri $AR2, #0x0370 0a22 1998 lrrn $AX0.L, @$AR0 0a23 6000 movr $ACC0, $AX0.L 0a24 1107 0a2b bloopi #0x07, 0x0a2b 0a26 3400 andr $AC0.M, $AX0.H 0a27 1408 lsl $ACC0, #8 0a28 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M 0a29 3644 andr'ln $AC0.M, $AX1.H : $AX0.L, @$AR0 0a2a 140c lsl $ACC0, #12 0a2b 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M 0a2c 3400 andr $AC0.M, $AX0.H 0a2d 1408 lsl $ACC0, #8 0a2e 6032 movr's $ACC0, $AX0.L : @$AR2, $AC0.M 0a2f 3600 andr $AC0.M, $AX1.H 0a30 140c lsl $ACC0, #12 0a31 1b5e srri @$AR2, $AC0.M 0a32 8f00 set40 0a33 1f7f mrr $AX1.H, $AC1.M 0a34 2066 lrs $AX0.L, @0x0066 0a35 2767 lrs $AC1.M, @0x0067 0a36 193a lrri $AX0.H, @$AR1 0a37 1939 lrri $AX1.L, @$AR1 0a38 0080 0370 lri $AR0, #0x0370 0a3a 1c80 mrr $IX0, $AR0 0a3b a000 mulx $AX0.L, $AX1.L 0a3c ea70 maddc'l $AC1.M, $AX1.L : $AC0.M, @$AR0 0a3d 3a93 orr'sl $AC0.M, $AX1.H : $AC1.M, $AX1.L 0a3e a478 mulxac'l $AX0.L, $AX1.L, $ACC0 : $AC1.M, @$AR0 0a3f 1485 asl $ACC0, #5 0a40 e833 maddc's $AC0.M, $AX1.L : @$AR3, $AC0.M 0a41 3b92 orr'sl $AC1.M, $AX1.H : $AC0.M, $AX1.L 0a42 a570 mulxac'l $AX0.L, $AX1.L, $ACC1 : $AC0.M, @$AR0 0a43 1585 asl $ACC1, #5 0a44 ea3b maddc's $AC1.M, $AX1.L : @$AR3, $AC1.M 0a45 1106 0a4e bloopi #0x06, 0x0a4e 0a47 3a93 orr'sl $AC0.M, $AX1.H : $AC1.M, $AX1.L 0a48 a478 mulxac'l $AX0.L, $AX1.L, $ACC0 : $AC1.M, @$AR0 0a49 1485 asl $ACC0, #5 0a4a e833 maddc's $AC0.M, $AX1.L : @$AR3, $AC0.M 0a4b 3b92 orr'sl $AC1.M, $AX1.H : $AC0.M, $AX1.L 0a4c a570 mulxac'l $AX0.L, $AX1.L, $ACC1 : $AC0.M, @$AR0 0a4d 1585 asl $ACC1, #5 0a4e ea3b maddc's $AC1.M, $AX1.L : @$AR3, $AC1.M 0a4f 3a93 orr'sl $AC0.M, $AX1.H : $AC1.M, $AX1.L 0a50 a478 mulxac'l $AX0.L, $AX1.L, $ACC0 : $AC1.M, @$AR0 0a51 1485 asl $ACC0, #5 0a52 e833 maddc's $AC0.M, $AX1.L : @$AR3, $AC0.M 0a53 3b92 orr'sl $AC1.M, $AX1.H : $AC0.M, $AX1.L 0a54 a500 mulxac $AX0.L, $AX1.L, $ACC1 0a55 1585 asl $ACC1, #5 0a56 1b7f srri @$AR3, $AC1.M 0a57 2e66 srs @0x0066, $AC0.M 0a58 2f67 srs @0x0067, $AC1.M 0a59 8e00 set16 0a5a 8900 clr $ACC1 0a5b 00df 0360 lr $AC1.M, @0x0360 0a5d 02df ret } void 0a5e_Unk() { 0a5e 0083 0520 lri $AR3, #0x0520 0a60 00de 0433 lr $AC0.M, @0x0433 0a62 1050 loopi #0x50 0a63 1b7e srri @$AR3, $AC0.M 0a64 029f 056d jmp 0x056d 0a66 0092 0004 lri $CR, #0x0004 0a68 2002 lrs $AX0.L, @0x0002 0a69 8100 clr $ACC0 0a6a 8900 clr $ACC1 0a6b 2430 lrs $AC0.L, @0x0030 0a6c 8d00 set15 0a6d 0099 0050 lri $AX1.L, #0x0050 0a6f a000 mulx $AX0.L, $AX1.L 0a70 a400 mulxac $AX0.L, $AX1.L, $ACC0 0a71 1404 lsl $ACC0, #4 0a72 8c00 clr15 0a73 1ffe mrr $AC1.M, $AC0.M 0a74 0083 0580 lri $AR3, #0x0580 0a76 2201 lrs $AX0.H, @0x0001 0a77 8600 tstaxh $AX0.H 0a78 0294 0a89 jnz 0x0a89 0a7a 2204 lrs $AX0.H, @0x0004 0a7b 8600 tstaxh $AX0.H 0a7c 02b4 0ad2 callne 0x0ad2 0a7e 8100 clr $ACC0 0a7f 2605 lrs $AC0.M, @0x0005 0a80 b100 tst $ACC0 0a81 0295 0a96 jz 0x0a96 0a83 8100 clr $ACC0 0a84 2e05 srs @0x0005, $AC0.M 0a85 2281 lrs $AX0.H, @0xff81 0a86 8600 tstaxh $AX0.H 0a87 0294 0a90 jnz 0x0a90 0a89 8100 clr $ACC0 0a8a 005f loop $AC1.M 0a8b 1b7e srri @$AR3, $AC0.M 0a8c 7400 incm $AC0.M 0a8d 2e01 srs @0x0001, $AC0.M 0a8e 029f 0ace jmp 0x0ace 0a90 2688 lrs $AC0.M, @0xff88 0a91 2489 lrs $AC0.L, @0xff89 0a92 2e34 srs @0x0034, $AC0.M 0a93 2c35 srs @0x0035, $AC0.L 0a94 02bf 0ad5 call 0x0ad5 0a96 00ff 0360 sr @0x0360, $AC1.M 0a98 2638 lrs $AC0.M, @0x0038 0a99 2439 lrs $AC0.L, @0x0039 0a9a 009f 0005 lri $AC1.M, #0x0005 0a9c 02bf 0103 call 0x0103 0a9e 0092 0004 lri $CR, #0x0004 0aa0 00df 0360 lr $AC1.M, @0x0360 0aa2 8100 clr $ACC0 0aa3 263a lrs $AC0.M, @0x003a 0aa4 b100 tst $ACC0 0aa5 0294 0ab5 jnz 0x0ab5 0aa7 263b lrs $AC0.M, @0x003b 0aa8 5c00 sub $ACC0, $AC1.L 0aa9 0290 0ab5 jns 0x0ab5 0aab 223b lrs $AX0.H, @0x003b 0aac 02bf 0ae6 call 0x0ae6 0aae 5500 subr $ACC1, $AX0.H 0aaf 009a 0001 lri $AX0.H, #0x0001 0ab1 00fa 0405 sr @0x0405, $AX0.H 0ab3 029f 0a83 jmp 0x0a83 0ab5 1f5f mrr $AX0.H, $AC1.M 0ab6 02bf 0ae6 call 0x0ae6 0ab8 00fa 0362 sr @0x0362, $AX0.H 0aba 8100 clr $ACC0 0abb 263a lrs $AC0.M, @0x003a 0abc 243b lrs $AC0.L, @0x003b 0abd 1570 lsr $ACC1, #-16 0abe 0a01 lris $AX0.H, #0x01 0abf 0081 0405 lri $AR1, #0x0405 0ac1 5c00 sub $ACC0, $AC1.L 0ac2 b100 tst $ACC0 0ac3 0275 ifz 0ac4 1a3a srr @$AR1, $AX0.H 0ac5 2e3a srs @0x003a, $AC0.M 0ac6 2c3b srs @0x003b, $AC0.L 0ac7 2638 lrs $AC0.M, @0x0038 0ac8 2439 lrs $AC0.L, @0x0039 0ac9 00d8 0362 lr $AX0.L, @0x0362 0acb 7000 addaxl $ACC0, $AX0.L 0acc 2c39 srs @0x0039, $AC0.L 0acd 2e38 srs @0x0038, $AC0.M 0ace 0092 00ff lri $CR, #0x00ff 0ad0 029f 0565 jmp 0x0565 0ad2 8100 clr $ACC0 0ad3 2e34 srs @0x0034, $AC0.M 0ad4 2e35 srs @0x0035, $AC0.M 0ad5 2334 lrs $AX1.H, @0x0034 0ad6 2135 lrs $AX1.L, @0x0035 0ad7 268a lrs $AC0.M, @0xff8a 0ad8 248b lrs $AC0.L, @0xff8b 0ad9 5a00 subax $ACC0, $AX1.L 0ada 2e3a srs @0x003a, $AC0.M 0adb 2c3b srs @0x003b, $AC0.L 0adc 2634 lrs $AC0.M, @0x0034 0add 2435 lrs $AC0.L, @0x0035 0ade 238c lrs $AX1.H, @0xff8c 0adf 218d lrs $AX1.L, @0xff8d 0ae0 4a00 addax $ACC0, $AX1.L 0ae1 2e38 srs @0x0038, $AC0.M 0ae2 2c39 srs @0x0039, $AC0.L 0ae3 8100 clr $ACC0 0ae4 2e05 srs @0x0005, $AC0.M 0ae5 02df ret } void 0ae6_ConvSigned8bitToSigned16bit() { 0ae6 0080 ffd3 lri $AR0, #0xffd3 0ae8 0084 0000 lri $IX0, #0x0000 0aea 007a 0aee bloop $AX0.H, 0x0aee 0aec 199e lrrn $AC0.M, @$AR0 0aed 1488 asl $ACC0, #8 0aee 1b7e srri @$AR3, $AC0.M 0aef 02df ret } void 0af0_Unk() { 0af0 009e ffff lri $AC0.M, #0xffff 0af2 00fe 03f2 sr @0x03f2, $AC0.M 0af4 8100 clr $ACC0 0af5 00fe 03f0 sr @0x03f0, $AC0.M 0af7 00fe 03f6 sr @0x03f6, $AC0.M 0af9 009e 0100 lri $AC0.M, #0x0100 0afb 00fe 03f7 sr @0x03f7, $AC0.M 0afd 00da 03f7 lr $AX0.H, @0x03f7 0aff 009e 8000 lri $AC0.M, #0x8000 0b01 5400 subr $ACC0, $AX0.H 0b02 00fe 03f5 sr @0x03f5, $AC0.M 0b04 009e 0030 lri $AC0.M, #0x0030 0b06 00fe 03f3 sr @0x03f3, $AC0.M 0b08 009e 0010 lri $AC0.M, #0x0010 0b0a 00fe 03f4 sr @0x03f4, $AC0.M 0b0c 009e 0096 lri $AC0.M, #0x0096 0b0e 00fe 03f1 sr @0x03f1, $AC0.M 0b10 02df ret } void 0b11_Unk() { 0b11 0080 0b00 lri $AR0, #0x0b00 0b13 8100 clr $ACC0 0b14 00de 03f0 lr $AC0.M, @0x03f0 0b16 8900 clr $ACC1 0b17 b100 tst $ACC0 0b18 0275 ifz 0b19 0550 addis $ACC1, #0x50 0b1a 00ff 03f0 sr @0x03f0, $AC1.M 0b1c 0200 0b60 addi $AC0.M, #0x0b60 0b1e 1c7e mrr $AR3, $AC0.M 0b1f 009f 004e lri $AC1.M, #0x004e 0b21 02bf 03ac call 0x03ac 0b23 02df ret } void 0b24_Unk() { 0b24 00de 03f1 lr $AC0.M, @0x03f1 0b26 0200 0b60 addi $AC0.M, #0x0b60 0b28 1c7e mrr $AR3, $AC0.M 0b29 8100 clr $ACC0 0b2a 8900 clr $ACC1 0b2b 009f 00a0 lri $AC1.M, #0x00a0 0b2d 00de 03f1 lr $AC0.M, @0x03f1 0b2f 5d00 sub $ACC1, $AC0.L 0b30 009e 0050 lri $AC0.M, #0x0050 0b32 0750 cmpis $ACC1, #0x50 0b33 0270 ifns 0b34 5d00 sub $ACC1, $AC0.L 0b35 00da 03f2 lr $AX0.H, @0x03f2 0b37 8600 tstaxh $AX0.H 0b38 0290 0b56 jns 0x0b56 0b3a 00de 03f3 lr $AC0.M, @0x03f3 0b3c 5c00 sub $ACC0, $AC1.L 0b3d 0293 0b41 jle 0x0b41 0b3f 029f 0b5b jmp 0x0b5b 0b41 00db 03f7 lr $AX1.H, @0x03f7 0b43 009e 8000 lri $AC0.M, #0x8000 0b45 4600 addr $ACC0, $AX1.H 0b46 029f 0b4d jmp 0x0b4d 0b48 00db 03f7 lr $AX1.H, @0x03f7 0b4a 009e 8000 lri $AC0.M, #0x8000 0b4c 5600 subr $ACC0, $AX1.H 0b4d 00fe 03f5 sr @0x03f5, $AC0.M 0b4f 1fda mrr $AC0.M, $AX0.H 0b50 7c00 neg $ACC0 0b51 1f5e mrr $AX0.H, $AC0.M 0b52 00fe 03f2 sr @0x03f2, $AC0.M 0b54 029f 0b5b jmp 0x0b5b 0b56 00de 03f4 lr $AC0.M, @0x03f4 0b58 5d00 sub $ACC1, $AC0.L 0b59 0293 0b48 jle 0x0b48 0b5b 8900 clr $ACC1 0b5c 00dd 03f5 lr $AC1.L, @0x03f5 0b5e 1501 lsl $ACC1, #1 0b5f 8100 clr $ACC0 0b60 00dc 03f6 lr $AC0.L, @0x03f6 0b62 008b 009f lri $WR3, #0x009f 0b64 0080 0b00 lri $AR0, #0x0b00 0b66 0099 0000 lri $AX1.L, #0x0000 0b68 1150 0b6f bloopi #0x50, 0x0b6f 0b6a 1878 lrr $AX0.L, @$AR3 0b6b 4c00 add $ACC0, $AC1.L 0b6c 1cfe mrr $IX3, $AC0.M 0b6d 001f addarn $AR3, $IX3 0b6e 1fd9 mrr $AC0.M, $AX1.L 0b6f 1b18 srri @$AR0, $AX0.L 0b70 009f 0b60 lri $AC1.M, #0x0b60 0b72 1fc3 mrr $AC0.M, $AR3 0b73 5c00 sub $ACC0, $AC1.L 0b74 00fe 03f1 sr @0x03f1, $AC0.M 0b76 00fc 03f6 sr @0x03f6, $AC0.L 0b78 008b ffff lri $WR3, #0xffff 0b7a 02df ret } void 0b7b_Unk() { 0b7b 009f 0050 lri $AC1.M, #0x0050 0b7d 0080 0b00 lri $AR0, #0x0b00 0b7f 0083 0d60 lri $AR3, #0x0d60 0b81 0098 3fff lri $AX0.L, #0x3fff 0b83 02bf 03bd call 0x03bd 0b85 009f 0050 lri $AC1.M, #0x0050 0b87 0080 0b00 lri $AR0, #0x0b00 0b89 0083 0d00 lri $AR3, #0x0d00 0b8b 0098 3fff lri $AX0.L, #0x3fff 0b8d 02bf 03bd call 0x03bd 0b8f 02df ret } void 0b90_Unk() { 0b90 8a00 m2 0b91 8f00 set40 0b92 8100 clr $ACC0 0b93 00de 0404 lr $AC0.M, @0x0404 0b95 b100 tst $ACC0 0b96 0295 0b9d jz 0x0b9d 0b98 8100 clr $ACC0 0b99 00fe 0478 sr @0x0478, $AC0.M 0b9b 00fe 0479 sr @0x0479, $AC0.M 0b9d 00df 0479 lr $AC1.M, @0x0479 0b9f 00db 0478 lr $AX1.H, @0x0478 0ba1 0099 0000 lri $AX1.L, #0x0000 0ba3 0084 0000 lri $IX0, #0x0000 0ba5 1150 0bae bloopi #0x50, 0x0bae 0ba7 199e lrrn $AC0.M, @$AR0 0ba8 5c7c sub'ln $ACC0, $AC1.L : $AC1.M, @$AR0 0ba9 c000 mulc $AC0.M, $AX0.H 0baa 6e00 movp $ACC0 0bab 1488 asl $ACC0, #8 0bac 4a00 addax $ACC0, $AX1.L 0bad 1b1e srri @$AR0, $AC0.M 0bae 1f7e mrr $AX1.H, $AC0.M 0baf 00fb 0478 sr @0x0478, $AX1.H 0bb1 00ff 0479 sr @0x0479, $AC1.M 0bb3 8b00 m0 0bb4 8e00 set16 0bb5 02df ret } void 0bb6_Unk() { 0bb6 0080 01be lri $AR0, #0x01be 0bb8 1918 lrri $AX0.L, @$AR0 0bb9 191a lrri $AX0.H, @$AR0 0bba 0080 0180 lri $AR0, #0x0180 0bbc 0083 0180 lri $AR3, #0x0180 0bbe 9070 mul'l $AX0.L, $AX0.H : $AC0.M, @$AR0 0bbf 1ffe mrr $AC1.M, $AC0.M 0bc0 1120 0bc7 bloopi #0x20, 0x0bc7 0bc2 7c00 neg $ACC0 0bc3 d450 mulcac'l $AC1.M, $AX0.H, $ACC0 : $AX0.H, @$AR0 0bc4 6533 movr's $ACC1, $AX0.H : @$AR3, $AC0.M 0bc5 c550 mulcac'l $AC0.M, $AX0.H, $ACC1 : $AX0.H, @$AR0 0bc6 1501 lsl $ACC1, #1 0bc7 643b movr's $ACC0, $AX0.H : @$AR3, $AC1.M 0bc8 0080 01fe lri $AR0, #0x01fe 0bca 191a lrri $AX0.H, @$AR0 0bcb 1918 lrri $AX0.L, @$AR0 0bcc 0080 01c0 lri $AR0, #0x01c0 0bce 0083 01c0 lri $AR3, #0x01c0 0bd0 1ff8 mrr $AC1.M, $AX0.L 0bd1 9070 mul'l $AX0.L, $AX0.H : $AC0.M, @$AR0 0bd2 f800 addpaxz $ACC0, $AX0.H 0bd3 0240 01ff andi $AC0.M, #0x01ff 0bd5 0260 2000 ori $AC0.M, #0x2000 0bd7 02bf 0bda call 0x0bda 0bd9 02df ret } void 0bda_Unk() { 0bda b900 tst $ACC1 0bdb 0272 ifg 0bdc 7c00 neg $ACC0 0bdd 1f7e mrr $AX1.H, $AC0.M 0bde 4700 addr $ACC1, $AX1.H 0bdf 1110 0be4 bloopi #0x10, 0x0be4 0be1 473b addr's $ACC1, $AX1.H : @$AR3, $AC1.M 0be2 473b addr's $ACC1, $AX1.H : @$AR3, $AC1.M 0be3 473b addr's $ACC1, $AX1.H : @$AR3, $AC1.M 0be4 473b addr's $ACC1, $AX1.H : @$AR3, $AC1.M 0be5 02df ret } void 0be6_Nop() { 0be6 0000 nop 0be7 0000 nop 0be8 0000 nop 0be9 0000 nop 0bea 0000 nop 0beb 0000 nop 0bec 0000 nop 0bed 0000 nop 0bee 0000 nop 0bef 0000 nop }