-
-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathclearImage.asm
47 lines (43 loc) · 1.32 KB
/
clearImage.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
void clearImage(headerPtr, red, green, blue) {
printRectDebugInfo(0x113E7C, headerPtr) // "ClearImage"
rgb = (blue & 0xFF) << 0x10 | (green & 0xFF) << 0x08 | (red & 0xFF)
somePtr = load(0x116BB4)
gpuFunctionPtr = load(somePtr + 0x0C) // 0x9332C -> fillRect
gpuLoadImage(gpuFunctionPtr, headerPtr, 8, rgb) // call load(somePtr + 0x08)
}
0x00094818 addiu r29,r29,0xffd8
0x0009481c sw r19,0x001c(r29)
0x00094820 addu r19,r4,r0
0x00094824 lui r4,0x8011
0x00094828 addiu r4,r4,0x3e7c
0x0009482c sw r18,0x0018(r29)
0x00094830 addu r18,r5,r0
0x00094834 addu r5,r19,r0
0x00094838 sw r17,0x0014(r29)
0x0009483c addu r17,r6,r0
0x00094840 sw r16,0x0010(r29)
0x00094844 sw r31,0x0020(r29)
0x00094848 jal 0x00092cbc
0x0009484c addu r16,r7,r0
0x00094850 addu r5,r19,r0
0x00094854 andi r16,r16,0x00ff
0x00094858 sll r16,r16,0x10
0x0009485c andi r17,r17,0x00ff
0x00094860 sll r17,r17,0x08
0x00094864 or r16,r16,r17
0x00094868 andi r18,r18,0x00ff
0x0009486c lui r2,0x8011
0x00094870 lw r2,0x6bb4(r2)
0x00094874 addiu r6,r0,0x0008
0x00094878 lw r4,0x000c(r2)
0x0009487c lw r2,0x0008(r2)
0x00094880 nop
0x00094884 jalr r2,r31
0x00094888 or r7,r16,r18
0x0009488c lw r31,0x0020(r29)
0x00094890 lw r19,0x001c(r29)
0x00094894 lw r18,0x0018(r29)
0x00094898 lw r17,0x0014(r29)
0x0009489c lw r16,0x0010(r29)
0x000948a0 jr r31
0x000948a4 addiu r29,r29,0x0028