-
-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy path0x000C61D4.asm
95 lines (88 loc) · 2.41 KB
/
0x000C61D4.asm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
0x000C61D4(val1, val2, val3) {
bitMask = 0
r23 = load(0x127EAC + val1 * 4) + 0x0820 + val2 << 9
for(i = 0; i < 0x10; i++) {
if(val3 != load(r23 + i * 0x20 + 0x07))
continue
voiceId = getNextSPUVoice(0x18)
if(voiceId == -1)
break
0x000CEA04(voiceId, val1, val2, i, val3, 0, 0x7F, 0x7F)
bitMask |= | (1 << voiceId)
}
return bitMask
}
0x000c61d4 addiu r29,r29,0xffb8
0x000c61d8 sw r31,0x0044(r29)
0x000c61dc sw r30,0x0040(r29)
0x000c61e0 sw r23,0x003c(r29)
0x000c61e4 sw r22,0x0038(r29)
0x000c61e8 sw r21,0x0034(r29)
0x000c61ec sw r20,0x0030(r29)
0x000c61f0 sw r19,0x002c(r29)
0x000c61f4 sw r18,0x0028(r29)
0x000c61f8 sw r17,0x0024(r29)
0x000c61fc addu r22,r4,r0
0x000c6200 lui r2,0x8012
0x000c6204 sw r16,0x0020(r29)
0x000c6208 sll r21,r6,0x10
0x000c620c sll r20,r5,0x10
0x000c6210 sll r3,r22,0x02
0x000c6214 addiu r2,r2,0x7eac
0x000c6218 addu r2,r2,r3
0x000c621c lw r2,0x0000(r2)
0x000c6220 addu r18,r0,r0
0x000c6224 addiu r23,r2,0x0820
0x000c6228 sll r2,r5,0x09
0x000c622c add r23,r23,r2
0x000c6230 addiu r17,r0,0x0018
0x000c6234 addu r16,r0,r0
0x000c6238 addu r19,r0,r0
0x000c623c addu r30,r6,r0
0x000c6240 sra r21,r21,0x10
0x000c6244 beq r0,r0,0x000c62bc
0x000c6248 sra r20,r20,0x10
0x000c624c addu r2,r19,r23
0x000c6250 lbu r2,0x0007(r2)
0x000c6254 nop
0x000c6258 bne r30,r2,0x000c62b4
0x000c625c nop
0x000c6260 jal 0x000c6134
0x000c6264 addu r4,r17,r0
0x000c6268 addiu r1,r0,0xffff
0x000c626c beq r2,r1,0x000c62c8
0x000c6270 addu r17,r2,r0
0x000c6274 sw r21,0x0010(r29)
0x000c6278 sll r4,r17,0x10
0x000c627c sll r5,r22,0x10
0x000c6280 sll r7,r16,0x10
0x000c6284 sw r0,0x0014(r29)
0x000c6288 addiu r2,r0,0x007f
0x000c628c sw r2,0x0018(r29)
0x000c6290 sw r2,0x001c(r29)
0x000c6294 sra r4,r4,0x10
0x000c6298 sra r5,r5,0x10
0x000c629c sra r7,r7,0x10
0x000c62a0 jal 0x000cea04
0x000c62a4 addu r6,r20,r0
0x000c62a8 addiu r2,r0,0x0001
0x000c62ac sllv r2,r2,r17
0x000c62b0 or r18,r18,r2
0x000c62b4 addi r16,r16,0x0001
0x000c62b8 addi r19,r19,0x0020
0x000c62bc slti r1,r16,0x0010
0x000c62c0 bne r1,r0,0x000c624c
0x000c62c4 nop
0x000c62c8 addu r2,r18,r0
0x000c62cc lw r31,0x0044(r29)
0x000c62d0 lw r30,0x0040(r29)
0x000c62d4 lw r23,0x003c(r29)
0x000c62d8 lw r22,0x0038(r29)
0x000c62dc lw r21,0x0034(r29)
0x000c62e0 lw r20,0x0030(r29)
0x000c62e4 lw r19,0x002c(r29)
0x000c62e8 lw r18,0x0028(r29)
0x000c62ec lw r17,0x0024(r29)
0x000c62f0 lw r16,0x0020(r29)
0x000c62f4 jr r31
0x000c62f8 addiu r29,r29,0x0048