mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2024-12-28 02:24:35 +01:00
0bdf6656c5
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3764 8ced0084-cf51-0410-be5f-012b33b47a6e
2507 lines
94 KiB
Plaintext
2507 lines
94 KiB
Plaintext
// 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
|
|
} |