diff options
Diffstat (limited to 'asm/SDK/DWC/dwc_common')
-rw-r--r-- | asm/SDK/DWC/dwc_common/dwc_base64.s | 256 | ||||
-rw-r--r-- | asm/SDK/DWC/dwc_common/dwc_error.s | 89 | ||||
-rw-r--r-- | asm/SDK/DWC/dwc_common/dwc_init.s | 235 | ||||
-rw-r--r-- | asm/SDK/DWC/dwc_common/dwc_memfunc.s | 176 | ||||
-rw-r--r-- | asm/SDK/DWC/dwc_common/dwc_report.s | 246 |
5 files changed, 1002 insertions, 0 deletions
diff --git a/asm/SDK/DWC/dwc_common/dwc_base64.s b/asm/SDK/DWC/dwc_common/dwc_base64.s new file mode 100644 index 0000000..9cfad48 --- /dev/null +++ b/asm/SDK/DWC/dwc_common/dwc_base64.s @@ -0,0 +1,256 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global DWC_Base64Encode
+DWC_Base64Encode:
+/* 8031C124 00317D84 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 8031C128 00317D88 7C 08 02 A6 */ mflr r0
+/* 8031C12C 00317D8C 90 01 00 34 */ stw r0, 0x34(r1)
+/* 8031C130 00317D90 39 61 00 30 */ addi r11, r1, 0x30
+/* 8031C134 00317D94 4B EA AF E9 */ bl _savegpr_24
+/* 8031C138 00317D98 3C E0 AA AB */ lis r7, 0xAAAAAAAB@ha
+/* 8031C13C 00317D9C 2C 05 00 00 */ cmpwi r5, 0
+/* 8031C140 00317DA0 3B C7 AA AB */ addi r30, r7, 0xAAAAAAAB@l
+/* 8031C144 00317DA4 7C B9 2B 78 */ mr r25, r5
+/* 8031C148 00317DA8 7C FE 20 16 */ mulhwu r7, r30, r4
+/* 8031C14C 00317DAC 54 E0 F8 7E */ srwi r0, r7, 1
+/* 8031C150 00317DB0 54 E7 08 3A */ rlwinm r7, r7, 1, 0, 0x1d
+/* 8031C154 00317DB4 1C 00 00 03 */ mulli r0, r0, 3
+/* 8031C158 00317DB8 7C A0 20 50 */ subf r5, r0, r4
+/* 8031C15C 00317DBC 7C 05 00 D0 */ neg r0, r5
+/* 8031C160 00317DC0 7C 00 2B 78 */ or r0, r0, r5
+/* 8031C164 00317DC4 7C 00 FE 70 */ srawi r0, r0, 0x1f
+/* 8031C168 00317DC8 54 00 07 7A */ rlwinm r0, r0, 0, 0x1d, 0x1d
+/* 8031C16C 00317DCC 7C 07 02 14 */ add r0, r7, r0
+/* 8031C170 00317DD0 40 82 00 0C */ bne lbl_8031C17C
+/* 8031C174 00317DD4 7C 03 03 78 */ mr r3, r0
+/* 8031C178 00317DD8 48 00 01 24 */ b lbl_8031C29C
+lbl_8031C17C:
+/* 8031C17C 00317DDC 7C 06 00 40 */ cmplw r6, r0
+/* 8031C180 00317DE0 40 80 00 0C */ bge lbl_8031C18C
+/* 8031C184 00317DE4 38 60 FF FF */ li r3, -1
+/* 8031C188 00317DE8 48 00 01 14 */ b lbl_8031C29C
+lbl_8031C18C:
+/* 8031C18C 00317DEC 7C 7C 1B 78 */ mr r28, r3
+/* 8031C190 00317DF0 7F 3A CB 78 */ mr r26, r25
+/* 8031C194 00317DF4 7F 63 22 14 */ add r27, r3, r4
+/* 8031C198 00317DF8 3B 00 00 2A */ li r24, 0x2a
+/* 8031C19C 00317DFC 48 00 00 F4 */ b lbl_8031C290
+lbl_8031C1A0:
+/* 8031C1A0 00317E00 7C BC D8 50 */ subf r5, r28, r27
+/* 8031C1A4 00317E04 3B E0 00 03 */ li r31, 3
+/* 8031C1A8 00317E08 54 A3 18 38 */ slwi r3, r5, 3
+/* 8031C1AC 00317E0C 7C 1E 18 16 */ mulhwu r0, r30, r3
+/* 8031C1B0 00317E10 2C 05 00 03 */ cmpwi r5, 3
+/* 8031C1B4 00317E14 54 04 F0 BE */ srwi r4, r0, 2
+/* 8031C1B8 00317E18 1C 04 00 06 */ mulli r0, r4, 6
+/* 8031C1BC 00317E1C 7C 60 18 50 */ subf r3, r0, r3
+/* 8031C1C0 00317E20 7C 03 00 D0 */ neg r0, r3
+/* 8031C1C4 00317E24 7C 00 1B 78 */ or r0, r0, r3
+/* 8031C1C8 00317E28 54 00 0F FE */ srwi r0, r0, 0x1f
+/* 8031C1CC 00317E2C 7F A4 02 14 */ add r29, r4, r0
+/* 8031C1D0 00317E30 40 80 00 08 */ bge lbl_8031C1D8
+/* 8031C1D4 00317E34 7C BF 2B 78 */ mr r31, r5
+lbl_8031C1D8:
+/* 8031C1D8 00317E38 38 61 00 08 */ addi r3, r1, 8
+/* 8031C1DC 00317E3C 38 80 00 00 */ li r4, 0
+/* 8031C1E0 00317E40 38 A0 00 03 */ li r5, 3
+/* 8031C1E4 00317E44 4B CE 7F 21 */ bl memset
+/* 8031C1E8 00317E48 7F 84 E3 78 */ mr r4, r28
+/* 8031C1EC 00317E4C 7F E5 FB 78 */ mr r5, r31
+/* 8031C1F0 00317E50 38 61 00 08 */ addi r3, r1, 8
+/* 8031C1F4 00317E54 4B CE 7E 0D */ bl memcpy
+/* 8031C1F8 00317E58 88 01 00 08 */ lbz r0, 8(r1)
+/* 8031C1FC 00317E5C 28 1D 00 02 */ cmplwi r29, 2
+/* 8031C200 00317E60 80 6D 8D 28 */ lwz r3, lbl_8063DFE8-_SDA_BASE_(r13)
+/* 8031C204 00317E64 7C 00 16 70 */ srawi r0, r0, 2
+/* 8031C208 00317E68 7C 03 00 AE */ lbzx r0, r3, r0
+/* 8031C20C 00317E6C 98 1A 00 00 */ stb r0, 0(r26)
+/* 8031C210 00317E70 41 80 00 24 */ blt lbl_8031C234
+/* 8031C214 00317E74 88 01 00 09 */ lbz r0, 9(r1)
+/* 8031C218 00317E78 88 61 00 08 */ lbz r3, 8(r1)
+/* 8031C21C 00317E7C 7C 00 26 70 */ srawi r0, r0, 4
+/* 8031C220 00317E80 80 8D 8D 28 */ lwz r4, lbl_8063DFE8-_SDA_BASE_(r13)
+/* 8031C224 00317E84 50 60 26 B6 */ rlwimi r0, r3, 4, 0x1a, 0x1b
+/* 8031C228 00317E88 7C 04 00 AE */ lbzx r0, r4, r0
+/* 8031C22C 00317E8C 98 1A 00 01 */ stb r0, 1(r26)
+/* 8031C230 00317E90 48 00 00 08 */ b lbl_8031C238
+lbl_8031C234:
+/* 8031C234 00317E94 9B 1A 00 01 */ stb r24, 1(r26)
+lbl_8031C238:
+/* 8031C238 00317E98 28 1D 00 03 */ cmplwi r29, 3
+/* 8031C23C 00317E9C 41 80 00 24 */ blt lbl_8031C260
+/* 8031C240 00317EA0 88 01 00 0A */ lbz r0, 0xa(r1)
+/* 8031C244 00317EA4 88 61 00 09 */ lbz r3, 9(r1)
+/* 8031C248 00317EA8 7C 00 36 70 */ srawi r0, r0, 6
+/* 8031C24C 00317EAC 80 8D 8D 28 */ lwz r4, lbl_8063DFE8-_SDA_BASE_(r13)
+/* 8031C250 00317EB0 50 60 16 BA */ rlwimi r0, r3, 2, 0x1a, 0x1d
+/* 8031C254 00317EB4 7C 04 00 AE */ lbzx r0, r4, r0
+/* 8031C258 00317EB8 98 1A 00 02 */ stb r0, 2(r26)
+/* 8031C25C 00317EBC 48 00 00 08 */ b lbl_8031C264
+lbl_8031C260:
+/* 8031C260 00317EC0 9B 1A 00 02 */ stb r24, 2(r26)
+lbl_8031C264:
+/* 8031C264 00317EC4 28 1D 00 04 */ cmplwi r29, 4
+/* 8031C268 00317EC8 41 80 00 1C */ blt lbl_8031C284
+/* 8031C26C 00317ECC 88 01 00 0A */ lbz r0, 0xa(r1)
+/* 8031C270 00317ED0 80 6D 8D 28 */ lwz r3, lbl_8063DFE8-_SDA_BASE_(r13)
+/* 8031C274 00317ED4 54 00 06 BE */ clrlwi r0, r0, 0x1a
+/* 8031C278 00317ED8 7C 03 00 AE */ lbzx r0, r3, r0
+/* 8031C27C 00317EDC 98 1A 00 03 */ stb r0, 3(r26)
+/* 8031C280 00317EE0 48 00 00 08 */ b lbl_8031C288
+lbl_8031C284:
+/* 8031C284 00317EE4 9B 1A 00 03 */ stb r24, 3(r26)
+lbl_8031C288:
+/* 8031C288 00317EE8 7F 9C FA 14 */ add r28, r28, r31
+/* 8031C28C 00317EEC 3B 5A 00 04 */ addi r26, r26, 4
+lbl_8031C290:
+/* 8031C290 00317EF0 7C 1C D8 40 */ cmplw r28, r27
+/* 8031C294 00317EF4 40 82 FF 0C */ bne lbl_8031C1A0
+/* 8031C298 00317EF8 7C 79 D0 50 */ subf r3, r25, r26
+lbl_8031C29C:
+/* 8031C29C 00317EFC 39 61 00 30 */ addi r11, r1, 0x30
+/* 8031C2A0 00317F00 4B EA AE C9 */ bl _restgpr_24
+/* 8031C2A4 00317F04 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 8031C2A8 00317F08 7C 08 03 A6 */ mtlr r0
+/* 8031C2AC 00317F0C 38 21 00 30 */ addi r1, r1, 0x30
+/* 8031C2B0 00317F10 4E 80 00 20 */ blr
+
+.global DWC_Base64Decode
+DWC_Base64Decode:
+/* 8031C2B4 00317F14 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 8031C2B8 00317F18 54 80 07 BF */ clrlwi. r0, r4, 0x1e
+/* 8031C2BC 00317F1C 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 8031C2C0 00317F20 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 8031C2C4 00317F24 41 82 00 0C */ beq lbl_8031C2D0
+/* 8031C2C8 00317F28 38 60 FF FF */ li r3, -1
+/* 8031C2CC 00317F2C 48 00 01 B0 */ b lbl_8031C47C
+lbl_8031C2D0:
+/* 8031C2D0 00317F30 7C 68 1B 78 */ mr r8, r3
+/* 8031C2D4 00317F34 38 E0 00 00 */ li r7, 0
+/* 8031C2D8 00317F38 7C 89 03 A6 */ mtctr r4
+/* 8031C2DC 00317F3C 2C 04 00 00 */ cmpwi r4, 0
+/* 8031C2E0 00317F40 40 81 00 1C */ ble lbl_8031C2FC
+lbl_8031C2E4:
+/* 8031C2E4 00317F44 88 08 00 00 */ lbz r0, 0(r8)
+/* 8031C2E8 00317F48 2C 00 00 2A */ cmpwi r0, 0x2a
+/* 8031C2EC 00317F4C 41 82 00 08 */ beq lbl_8031C2F4
+/* 8031C2F0 00317F50 38 E7 00 06 */ addi r7, r7, 6
+lbl_8031C2F4:
+/* 8031C2F4 00317F54 39 08 00 01 */ addi r8, r8, 1
+/* 8031C2F8 00317F58 42 00 FF EC */ bdnz lbl_8031C2E4
+lbl_8031C2FC:
+/* 8031C2FC 00317F5C 2C 05 00 00 */ cmpwi r5, 0
+/* 8031C300 00317F60 7C E0 1E 70 */ srawi r0, r7, 3
+/* 8031C304 00317F64 7C E0 01 94 */ addze r7, r0
+/* 8031C308 00317F68 40 82 00 0C */ bne lbl_8031C314
+/* 8031C30C 00317F6C 7C E3 3B 78 */ mr r3, r7
+/* 8031C310 00317F70 48 00 01 6C */ b lbl_8031C47C
+lbl_8031C314:
+/* 8031C314 00317F74 7C 06 38 40 */ cmplw r6, r7
+/* 8031C318 00317F78 40 80 00 0C */ bge lbl_8031C324
+/* 8031C31C 00317F7C 38 60 FF FF */ li r3, -1
+/* 8031C320 00317F80 48 00 01 5C */ b lbl_8031C47C
+lbl_8031C324:
+/* 8031C324 00317F84 2C 04 00 00 */ cmpwi r4, 0
+/* 8031C328 00317F88 40 82 00 14 */ bne lbl_8031C33C
+/* 8031C32C 00317F8C 38 00 00 00 */ li r0, 0
+/* 8031C330 00317F90 38 60 00 00 */ li r3, 0
+/* 8031C334 00317F94 98 05 00 00 */ stb r0, 0(r5)
+/* 8031C338 00317F98 48 00 01 44 */ b lbl_8031C47C
+lbl_8031C33C:
+/* 8031C33C 00317F9C 7C A4 2B 78 */ mr r4, r5
+/* 8031C340 00317FA0 39 40 00 00 */ li r10, 0
+/* 8031C344 00317FA4 39 60 00 3F */ li r11, 0x3f
+/* 8031C348 00317FA8 39 80 00 3E */ li r12, 0x3e
+/* 8031C34C 00317FAC 38 00 00 04 */ li r0, 4
+lbl_8031C350:
+/* 8031C350 00317FB0 7C 66 1B 78 */ mr r6, r3
+/* 8031C354 00317FB4 39 21 00 08 */ addi r9, r1, 8
+/* 8031C358 00317FB8 3B C0 00 00 */ li r30, 0
+/* 8031C35C 00317FBC 7C 09 03 A6 */ mtctr r0
+lbl_8031C360:
+/* 8031C360 00317FC0 8B E6 00 00 */ lbz r31, 0(r6)
+/* 8031C364 00317FC4 7F E8 07 74 */ extsb r8, r31
+/* 8031C368 00317FC8 2C 08 00 41 */ cmpwi r8, 0x41
+/* 8031C36C 00317FCC 41 80 00 18 */ blt lbl_8031C384
+/* 8031C370 00317FD0 2C 08 00 5A */ cmpwi r8, 0x5a
+/* 8031C374 00317FD4 41 81 00 10 */ bgt lbl_8031C384
+/* 8031C378 00317FD8 39 1F FF BF */ addi r8, r31, -65
+/* 8031C37C 00317FDC 99 09 00 00 */ stb r8, 0(r9)
+/* 8031C380 00317FE0 48 00 00 6C */ b lbl_8031C3EC
+lbl_8031C384:
+/* 8031C384 00317FE4 7F E8 07 74 */ extsb r8, r31
+/* 8031C388 00317FE8 2C 08 00 61 */ cmpwi r8, 0x61
+/* 8031C38C 00317FEC 41 80 00 18 */ blt lbl_8031C3A4
+/* 8031C390 00317FF0 2C 08 00 7A */ cmpwi r8, 0x7a
+/* 8031C394 00317FF4 41 81 00 10 */ bgt lbl_8031C3A4
+/* 8031C398 00317FF8 39 1F FF B9 */ addi r8, r31, -71
+/* 8031C39C 00317FFC 99 09 00 00 */ stb r8, 0(r9)
+/* 8031C3A0 00318000 48 00 00 4C */ b lbl_8031C3EC
+lbl_8031C3A4:
+/* 8031C3A4 00318004 7F E8 07 74 */ extsb r8, r31
+/* 8031C3A8 00318008 2C 08 00 30 */ cmpwi r8, 0x30
+/* 8031C3AC 0031800C 41 80 00 18 */ blt lbl_8031C3C4
+/* 8031C3B0 00318010 2C 08 00 39 */ cmpwi r8, 0x39
+/* 8031C3B4 00318014 41 81 00 10 */ bgt lbl_8031C3C4
+/* 8031C3B8 00318018 39 1F 00 04 */ addi r8, r31, 4
+/* 8031C3BC 0031801C 99 09 00 00 */ stb r8, 0(r9)
+/* 8031C3C0 00318020 48 00 00 2C */ b lbl_8031C3EC
+lbl_8031C3C4:
+/* 8031C3C4 00318024 7F E8 07 74 */ extsb r8, r31
+/* 8031C3C8 00318028 2C 08 00 2E */ cmpwi r8, 0x2e
+/* 8031C3CC 0031802C 40 82 00 0C */ bne lbl_8031C3D8
+/* 8031C3D0 00318030 99 89 00 00 */ stb r12, 0(r9)
+/* 8031C3D4 00318034 48 00 00 18 */ b lbl_8031C3EC
+lbl_8031C3D8:
+/* 8031C3D8 00318038 2C 08 00 2D */ cmpwi r8, 0x2d
+/* 8031C3DC 0031803C 40 82 00 0C */ bne lbl_8031C3E8
+/* 8031C3E0 00318040 99 69 00 00 */ stb r11, 0(r9)
+/* 8031C3E4 00318044 48 00 00 08 */ b lbl_8031C3EC
+lbl_8031C3E8:
+/* 8031C3E8 00318048 99 49 00 00 */ stb r10, 0(r9)
+lbl_8031C3EC:
+/* 8031C3EC 0031804C 39 29 00 01 */ addi r9, r9, 1
+/* 8031C3F0 00318050 3B DE 00 01 */ addi r30, r30, 1
+/* 8031C3F4 00318054 38 C6 00 01 */ addi r6, r6, 1
+/* 8031C3F8 00318058 42 00 FF 68 */ bdnz lbl_8031C360
+/* 8031C3FC 0031805C 89 21 00 08 */ lbz r9, 8(r1)
+/* 8031C400 00318060 38 C4 00 01 */ addi r6, r4, 1
+/* 8031C404 00318064 89 01 00 09 */ lbz r8, 9(r1)
+/* 8031C408 00318068 7F E5 30 50 */ subf r31, r5, r6
+/* 8031C40C 0031806C 7D 26 07 74 */ extsb r6, r9
+/* 8031C410 00318070 38 63 00 04 */ addi r3, r3, 4
+/* 8031C414 00318074 7D 09 07 74 */ extsb r9, r8
+/* 8031C418 00318078 7C 1F 38 00 */ cmpw r31, r7
+/* 8031C41C 0031807C 54 C8 10 3A */ slwi r8, r6, 2
+/* 8031C420 00318080 7D 26 26 70 */ srawi r6, r9, 4
+/* 8031C424 00318084 7D 06 33 78 */ or r6, r8, r6
+/* 8031C428 00318088 98 C4 00 00 */ stb r6, 0(r4)
+/* 8031C42C 0031808C 40 80 00 4C */ bge lbl_8031C478
+/* 8031C430 00318090 89 01 00 0A */ lbz r8, 0xa(r1)
+/* 8031C434 00318094 38 C4 00 02 */ addi r6, r4, 2
+/* 8031C438 00318098 7F E5 30 50 */ subf r31, r5, r6
+/* 8031C43C 0031809C 55 29 20 36 */ slwi r9, r9, 4
+/* 8031C440 003180A0 7D 08 07 74 */ extsb r8, r8
+/* 8031C444 003180A4 7D 06 16 70 */ srawi r6, r8, 2
+/* 8031C448 003180A8 7C 1F 38 00 */ cmpw r31, r7
+/* 8031C44C 003180AC 7D 26 33 78 */ or r6, r9, r6
+/* 8031C450 003180B0 98 C4 00 01 */ stb r6, 1(r4)
+/* 8031C454 003180B4 40 80 00 24 */ bge lbl_8031C478
+/* 8031C458 003180B8 88 C1 00 0B */ lbz r6, 0xb(r1)
+/* 8031C45C 003180BC 55 08 30 32 */ slwi r8, r8, 6
+/* 8031C460 003180C0 7D 06 33 78 */ or r6, r8, r6
+/* 8031C464 003180C4 98 C4 00 02 */ stb r6, 2(r4)
+/* 8031C468 003180C8 38 84 00 03 */ addi r4, r4, 3
+/* 8031C46C 003180CC 7F E5 20 50 */ subf r31, r5, r4
+/* 8031C470 003180D0 7C 1F 38 00 */ cmpw r31, r7
+/* 8031C474 003180D4 41 80 FE DC */ blt lbl_8031C350
+lbl_8031C478:
+/* 8031C478 003180D8 7F E3 FB 78 */ mr r3, r31
+lbl_8031C47C:
+/* 8031C47C 003180DC 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 8031C480 003180E0 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 8031C484 003180E4 38 21 00 20 */ addi r1, r1, 0x20
+/* 8031C488 003180E8 4E 80 00 20 */ blr
diff --git a/asm/SDK/DWC/dwc_common/dwc_error.s b/asm/SDK/DWC/dwc_common/dwc_error.s new file mode 100644 index 0000000..9663fe0 --- /dev/null +++ b/asm/SDK/DWC/dwc_common/dwc_error.s @@ -0,0 +1,89 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global DWC_GetLastError
+DWC_GetLastError:
+/* 8031C48C 003180EC 2C 03 00 00 */ cmpwi r3, 0
+/* 8031C490 003180F0 41 82 00 0C */ beq lbl_8031C49C
+/* 8031C494 003180F4 80 0D B0 14 */ lwz r0, lbl_806402D4-_SDA_BASE_(r13)
+/* 8031C498 003180F8 90 03 00 00 */ stw r0, 0(r3)
+lbl_8031C49C:
+/* 8031C49C 003180FC 80 6D B0 10 */ lwz r3, lbl_806402D0-_SDA_BASE_(r13)
+/* 8031C4A0 00318100 4E 80 00 20 */ blr
+
+.global DWC_GetLastErrorEx
+DWC_GetLastErrorEx:
+/* 8031C4A4 00318104 2C 03 00 00 */ cmpwi r3, 0
+/* 8031C4A8 00318108 41 82 00 0C */ beq lbl_8031C4B4
+/* 8031C4AC 0031810C 80 0D B0 14 */ lwz r0, lbl_806402D4-_SDA_BASE_(r13)
+/* 8031C4B0 00318110 90 03 00 00 */ stw r0, 0(r3)
+lbl_8031C4B4:
+/* 8031C4B4 00318114 2C 04 00 00 */ cmpwi r4, 0
+/* 8031C4B8 00318118 41 82 00 90 */ beq lbl_8031C548
+/* 8031C4BC 0031811C 80 0D B0 10 */ lwz r0, lbl_806402D0-_SDA_BASE_(r13)
+/* 8031C4C0 00318120 28 00 00 11 */ cmplwi r0, 0x11
+/* 8031C4C4 00318124 41 81 00 7C */ bgt lbl_8031C540
+/* 8031C4C8 00318128 3C 60 80 44 */ lis r3, lbl_804466D0@ha
+/* 8031C4CC 0031812C 54 00 10 3A */ slwi r0, r0, 2
+/* 8031C4D0 00318130 38 63 66 D0 */ addi r3, r3, lbl_804466D0@l
+/* 8031C4D4 00318134 7C 63 00 2E */ lwzx r3, r3, r0
+/* 8031C4D8 00318138 7C 69 03 A6 */ mtctr r3
+/* 8031C4DC 0031813C 4E 80 04 20 */ bctr
+/* 8031C4E0 00318140 38 00 00 06 */ li r0, 6
+/* 8031C4E4 00318144 90 04 00 00 */ stw r0, 0(r4)
+/* 8031C4E8 00318148 48 00 00 60 */ b lbl_8031C548
+/* 8031C4EC 0031814C 38 00 00 03 */ li r0, 3
+/* 8031C4F0 00318150 90 04 00 00 */ stw r0, 0(r4)
+/* 8031C4F4 00318154 48 00 00 54 */ b lbl_8031C548
+/* 8031C4F8 00318158 38 00 00 04 */ li r0, 4
+/* 8031C4FC 0031815C 90 04 00 00 */ stw r0, 0(r4)
+/* 8031C500 00318160 48 00 00 48 */ b lbl_8031C548
+/* 8031C504 00318164 38 00 00 01 */ li r0, 1
+/* 8031C508 00318168 90 04 00 00 */ stw r0, 0(r4)
+/* 8031C50C 0031816C 48 00 00 3C */ b lbl_8031C548
+/* 8031C510 00318170 38 00 00 07 */ li r0, 7
+/* 8031C514 00318174 90 04 00 00 */ stw r0, 0(r4)
+/* 8031C518 00318178 48 00 00 30 */ b lbl_8031C548
+/* 8031C51C 0031817C 38 00 00 05 */ li r0, 5
+/* 8031C520 00318180 90 04 00 00 */ stw r0, 0(r4)
+/* 8031C524 00318184 48 00 00 24 */ b lbl_8031C548
+/* 8031C528 00318188 38 00 00 06 */ li r0, 6
+/* 8031C52C 0031818C 90 04 00 00 */ stw r0, 0(r4)
+/* 8031C530 00318190 48 00 00 18 */ b lbl_8031C548
+/* 8031C534 00318194 38 00 00 02 */ li r0, 2
+/* 8031C538 00318198 90 04 00 00 */ stw r0, 0(r4)
+/* 8031C53C 0031819C 48 00 00 0C */ b lbl_8031C548
+lbl_8031C540:
+/* 8031C540 003181A0 38 00 00 00 */ li r0, 0
+/* 8031C544 003181A4 90 04 00 00 */ stw r0, 0(r4)
+lbl_8031C548:
+/* 8031C548 003181A8 80 6D B0 10 */ lwz r3, lbl_806402D0-_SDA_BASE_(r13)
+/* 8031C54C 003181AC 4E 80 00 20 */ blr
+
+.global DWC_ClearError
+DWC_ClearError:
+/* 8031C550 003181B0 80 0D B0 10 */ lwz r0, lbl_806402D0-_SDA_BASE_(r13)
+/* 8031C554 003181B4 2C 00 00 09 */ cmpwi r0, 9
+/* 8031C558 003181B8 4D 82 00 20 */ beqlr
+/* 8031C55C 003181BC 38 00 00 00 */ li r0, 0
+/* 8031C560 003181C0 90 0D B0 10 */ stw r0, lbl_806402D0-_SDA_BASE_(r13)
+/* 8031C564 003181C4 90 0D B0 14 */ stw r0, lbl_806402D4-_SDA_BASE_(r13)
+/* 8031C568 003181C8 4E 80 00 20 */ blr
+
+.global DWCi_IsError
+DWCi_IsError:
+/* 8031C56C 003181CC 80 6D B0 10 */ lwz r3, lbl_806402D0-_SDA_BASE_(r13)
+/* 8031C570 003181D0 7C 03 00 D0 */ neg r0, r3
+/* 8031C574 003181D4 7C 00 1B 78 */ or r0, r0, r3
+/* 8031C578 003181D8 54 03 0F FE */ srwi r3, r0, 0x1f
+/* 8031C57C 003181DC 4E 80 00 20 */ blr
+
+.global DWCi_SetError
+DWCi_SetError:
+/* 8031C580 003181E0 80 0D B0 10 */ lwz r0, lbl_806402D0-_SDA_BASE_(r13)
+/* 8031C584 003181E4 2C 00 00 09 */ cmpwi r0, 9
+/* 8031C588 003181E8 4D 82 00 20 */ beqlr
+/* 8031C58C 003181EC 90 6D B0 10 */ stw r3, lbl_806402D0-_SDA_BASE_(r13)
+/* 8031C590 003181F0 90 8D B0 14 */ stw r4, lbl_806402D4-_SDA_BASE_(r13)
+/* 8031C594 003181F4 4E 80 00 20 */ blr
diff --git a/asm/SDK/DWC/dwc_common/dwc_init.s b/asm/SDK/DWC/dwc_common/dwc_init.s new file mode 100644 index 0000000..6340ced --- /dev/null +++ b/asm/SDK/DWC/dwc_common/dwc_init.s @@ -0,0 +1,235 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global DWC_Init
+DWC_Init:
+/* 8031C598 003181F8 94 21 FE E0 */ stwu r1, -0x120(r1)
+/* 8031C59C 003181FC 7C 08 02 A6 */ mflr r0
+/* 8031C5A0 00318200 90 01 01 24 */ stw r0, 0x124(r1)
+/* 8031C5A4 00318204 39 61 01 20 */ addi r11, r1, 0x120
+/* 8031C5A8 00318208 4B EA AB 7D */ bl _savegpr_26
+/* 8031C5AC 0031820C 3F C0 80 44 */ lis r30, lbl_80446718@ha
+/* 8031C5B0 00318210 7C 7A 1B 78 */ mr r26, r3
+/* 8031C5B4 00318214 7C 9F 23 78 */ mr r31, r4
+/* 8031C5B8 00318218 7C BB 2B 78 */ mr r27, r5
+/* 8031C5BC 0031821C 7C DC 33 78 */ mr r28, r6
+/* 8031C5C0 00318220 7C FD 3B 78 */ mr r29, r7
+/* 8031C5C4 00318224 3B DE 67 18 */ addi r30, r30, lbl_80446718@l
+/* 8031C5C8 00318228 38 6D 8D 30 */ addi r3, r13, lbl_8063DFF0-_SDA_BASE_
+/* 8031C5CC 0031822C 38 8D 8D 30 */ addi r4, r13, lbl_8063DFF0-_SDA_BASE_
+/* 8031C5D0 00318230 4B EB 1E 7D */ bl strcmp
+/* 8031C5D4 00318234 2C 03 00 00 */ cmpwi r3, 0
+/* 8031C5D8 00318238 40 82 00 10 */ bne lbl_8031C5E8
+/* 8031C5DC 0031823C 38 7E 00 00 */ addi r3, r30, 0
+/* 8031C5E0 00318240 4B F4 D0 71 */ bl OSRegisterVersion
+/* 8031C5E4 00318244 48 00 00 2C */ b lbl_8031C610
+lbl_8031C5E8:
+/* 8031C5E8 00318248 38 9E 00 48 */ addi r4, r30, 0x48
+/* 8031C5EC 0031824C 38 6D 8D 30 */ addi r3, r13, lbl_8063DFF0-_SDA_BASE_
+/* 8031C5F0 00318250 4B EB 1E 5D */ bl strcmp
+/* 8031C5F4 00318254 2C 03 00 00 */ cmpwi r3, 0
+/* 8031C5F8 00318258 40 82 00 10 */ bne lbl_8031C608
+/* 8031C5FC 0031825C 38 7E 00 54 */ addi r3, r30, 0x54
+/* 8031C600 00318260 4B F4 D0 51 */ bl OSRegisterVersion
+/* 8031C604 00318264 48 00 00 0C */ b lbl_8031C610
+lbl_8031C608:
+/* 8031C608 00318268 38 7E 00 00 */ addi r3, r30, 0
+/* 8031C60C 0031826C 4B F4 D0 45 */ bl OSRegisterVersion
+lbl_8031C610:
+/* 8031C610 00318270 7F 83 E3 78 */ mr r3, r28
+/* 8031C614 00318274 7F A4 EB 78 */ mr r4, r29
+/* 8031C618 00318278 48 00 02 C9 */ bl DWCi_SetMemFunc
+/* 8031C61C 0031827C 7F 43 D3 78 */ mr r3, r26
+/* 8031C620 00318280 48 01 79 FD */ bl func_8033401C
+/* 8031C624 00318284 93 6D B0 18 */ stw r27, lbl_806402D8-_SDA_BASE_(r13)
+/* 8031C628 00318288 48 01 52 CD */ bl func_803318F4
+/* 8031C62C 0031828C 3C 60 80 32 */ lis r3, DWCi_GsMalloc@ha
+/* 8031C630 00318290 3C 80 80 32 */ lis r4, DWCi_GsFree@ha
+/* 8031C634 00318294 3C A0 80 32 */ lis r5, DWCi_GsRealloc@ha
+/* 8031C638 00318298 3C C0 80 32 */ lis r6, DWCi_GsMemalign@ha
+/* 8031C63C 0031829C 38 63 C9 A4 */ addi r3, r3, DWCi_GsMalloc@l
+/* 8031C640 003182A0 38 84 CA B4 */ addi r4, r4, DWCi_GsFree@l
+/* 8031C644 003182A4 38 A5 C9 F8 */ addi r5, r5, DWCi_GsRealloc@l
+/* 8031C648 003182A8 38 C6 CA D8 */ addi r6, r6, DWCi_GsMemalign@l
+/* 8031C64C 003182AC 48 01 CC AD */ bl gsiMemoryCallbacksSet
+/* 8031C650 003182B0 3C 60 80 62 */ lis r3, lbl_80620DE8@ha
+/* 8031C654 003182B4 7F E4 FB 78 */ mr r4, r31
+/* 8031C658 003182B8 38 63 0D E8 */ addi r3, r3, lbl_80620DE8@l
+/* 8031C65C 003182BC 4B EB 1C 75 */ bl strcpy
+/* 8031C660 003182C0 2C 1A 00 00 */ cmpwi r26, 0
+/* 8031C664 003182C4 40 82 00 14 */ bne lbl_8031C678
+/* 8031C668 003182C8 3C 60 80 45 */ lis r3, lbl_8044C338@ha
+/* 8031C66C 003182CC 38 9E 00 A0 */ addi r4, r30, 0xa0
+/* 8031C670 003182D0 38 63 C3 38 */ addi r3, r3, lbl_8044C338@l
+/* 8031C674 003182D4 4B EB 1C 5D */ bl strcpy
+lbl_8031C678:
+/* 8031C678 003182D8 38 7E 00 B4 */ addi r3, r30, 0xb4
+/* 8031C67C 003182DC 48 01 BA 5D */ bl gethostbyname
+/* 8031C680 003182E0 2C 03 00 00 */ cmpwi r3, 0
+/* 8031C684 003182E4 41 82 01 E0 */ beq lbl_8031C864
+/* 8031C688 003182E8 38 7E 00 D0 */ addi r3, r30, 0xd0
+/* 8031C68C 003182EC 48 01 BA 4D */ bl gethostbyname
+/* 8031C690 003182F0 2C 03 00 00 */ cmpwi r3, 0
+/* 8031C694 003182F4 41 82 01 D0 */ beq lbl_8031C864
+/* 8031C698 003182F8 38 7E 00 EC */ addi r3, r30, 0xec
+/* 8031C69C 003182FC 48 01 BA 3D */ bl gethostbyname
+/* 8031C6A0 00318300 2C 03 00 00 */ cmpwi r3, 0
+/* 8031C6A4 00318304 41 82 01 C0 */ beq lbl_8031C864
+/* 8031C6A8 00318308 38 7E 01 0C */ addi r3, r30, 0x10c
+/* 8031C6AC 0031830C 48 01 BA 2D */ bl gethostbyname
+/* 8031C6B0 00318310 2C 03 00 00 */ cmpwi r3, 0
+/* 8031C6B4 00318314 41 82 01 B0 */ beq lbl_8031C864
+/* 8031C6B8 00318318 2C 1F 00 00 */ cmpwi r31, 0
+/* 8031C6BC 0031831C 41 82 01 A0 */ beq lbl_8031C85C
+/* 8031C6C0 00318320 7F E5 FB 78 */ mr r5, r31
+/* 8031C6C4 00318324 38 61 00 08 */ addi r3, r1, 8
+/* 8031C6C8 00318328 38 9E 01 2C */ addi r4, r30, 0x12c
+/* 8031C6CC 0031832C 4C C6 31 82 */ crclr 6
+/* 8031C6D0 00318330 4B EB 04 2D */ bl sprintf
+/* 8031C6D4 00318334 38 61 00 08 */ addi r3, r1, 8
+/* 8031C6D8 00318338 48 01 BA 01 */ bl gethostbyname
+/* 8031C6DC 0031833C 2C 03 00 00 */ cmpwi r3, 0
+/* 8031C6E0 00318340 41 82 01 84 */ beq lbl_8031C864
+/* 8031C6E4 00318344 7F E5 FB 78 */ mr r5, r31
+/* 8031C6E8 00318348 38 61 00 08 */ addi r3, r1, 8
+/* 8031C6EC 0031834C 38 9E 01 50 */ addi r4, r30, 0x150
+/* 8031C6F0 00318350 4C C6 31 82 */ crclr 6
+/* 8031C6F4 00318354 4B EB 04 09 */ bl sprintf
+/* 8031C6F8 00318358 38 61 00 08 */ addi r3, r1, 8
+/* 8031C6FC 0031835C 48 01 B9 DD */ bl gethostbyname
+/* 8031C700 00318360 2C 03 00 00 */ cmpwi r3, 0
+/* 8031C704 00318364 41 82 01 60 */ beq lbl_8031C864
+/* 8031C708 00318368 7F E5 FB 78 */ mr r5, r31
+/* 8031C70C 0031836C 38 61 00 08 */ addi r3, r1, 8
+/* 8031C710 00318370 38 9E 01 70 */ addi r4, r30, 0x170
+/* 8031C714 00318374 4C C6 31 82 */ crclr 6
+/* 8031C718 00318378 4B EB 03 E5 */ bl sprintf
+/* 8031C71C 0031837C 38 61 00 08 */ addi r3, r1, 8
+/* 8031C720 00318380 48 01 B9 B9 */ bl gethostbyname
+/* 8031C724 00318384 2C 03 00 00 */ cmpwi r3, 0
+/* 8031C728 00318388 41 82 01 3C */ beq lbl_8031C864
+/* 8031C72C 0031838C 7F E5 FB 78 */ mr r5, r31
+/* 8031C730 00318390 38 61 00 08 */ addi r3, r1, 8
+/* 8031C734 00318394 38 9E 01 90 */ addi r4, r30, 0x190
+/* 8031C738 00318398 4C C6 31 82 */ crclr 6
+/* 8031C73C 0031839C 4B EB 03 C1 */ bl sprintf
+/* 8031C740 003183A0 38 61 00 08 */ addi r3, r1, 8
+/* 8031C744 003183A4 48 01 B9 95 */ bl gethostbyname
+/* 8031C748 003183A8 2C 03 00 00 */ cmpwi r3, 0
+/* 8031C74C 003183AC 41 82 01 18 */ beq lbl_8031C864
+/* 8031C750 003183B0 7F E5 FB 78 */ mr r5, r31
+/* 8031C754 003183B4 38 61 00 08 */ addi r3, r1, 8
+/* 8031C758 003183B8 38 9E 01 B0 */ addi r4, r30, 0x1b0
+/* 8031C75C 003183BC 4C C6 31 82 */ crclr 6
+/* 8031C760 003183C0 4B EB 03 9D */ bl sprintf
+/* 8031C764 003183C4 38 61 00 08 */ addi r3, r1, 8
+/* 8031C768 003183C8 48 01 B9 71 */ bl gethostbyname
+/* 8031C76C 003183CC 2C 03 00 00 */ cmpwi r3, 0
+/* 8031C770 003183D0 41 82 00 F4 */ beq lbl_8031C864
+/* 8031C774 003183D4 7F E5 FB 78 */ mr r5, r31
+/* 8031C778 003183D8 38 61 00 08 */ addi r3, r1, 8
+/* 8031C77C 003183DC 38 9E 01 D0 */ addi r4, r30, 0x1d0
+/* 8031C780 003183E0 4C C6 31 82 */ crclr 6
+/* 8031C784 003183E4 4B EB 03 79 */ bl sprintf
+/* 8031C788 003183E8 38 61 00 08 */ addi r3, r1, 8
+/* 8031C78C 003183EC 48 01 B9 4D */ bl gethostbyname
+/* 8031C790 003183F0 2C 03 00 00 */ cmpwi r3, 0
+/* 8031C794 003183F4 41 82 00 D0 */ beq lbl_8031C864
+/* 8031C798 003183F8 7F E5 FB 78 */ mr r5, r31
+/* 8031C79C 003183FC 38 61 00 08 */ addi r3, r1, 8
+/* 8031C7A0 00318400 38 9E 01 F4 */ addi r4, r30, 0x1f4
+/* 8031C7A4 00318404 4C C6 31 82 */ crclr 6
+/* 8031C7A8 00318408 4B EB 03 55 */ bl sprintf
+/* 8031C7AC 0031840C 38 61 00 08 */ addi r3, r1, 8
+/* 8031C7B0 00318410 48 01 B9 29 */ bl gethostbyname
+/* 8031C7B4 00318414 2C 03 00 00 */ cmpwi r3, 0
+/* 8031C7B8 00318418 41 82 00 AC */ beq lbl_8031C864
+/* 8031C7BC 0031841C 3C 80 80 42 */ lis r4, lbl_80422D48@ha
+/* 8031C7C0 00318420 3C 60 9C D0 */ lis r3, 0x9CCF9319@ha
+/* 8031C7C4 00318424 38 84 2D 48 */ addi r4, r4, lbl_80422D48@l
+/* 8031C7C8 00318428 7F E7 FB 78 */ mr r7, r31
+/* 8031C7CC 0031842C 80 C4 00 38 */ lwz r6, 0x38(r4)
+/* 8031C7D0 00318430 38 A3 93 19 */ addi r5, r3, 0x9CCF9319@l
+/* 8031C7D4 00318434 39 00 00 00 */ li r8, 0
+/* 8031C7D8 00318438 48 00 00 3C */ b lbl_8031C814
+lbl_8031C7DC:
+/* 8031C7DC 0031843C 7C 88 29 D6 */ mullw r4, r8, r5
+/* 8031C7E0 00318440 7C 68 07 75 */ extsb. r8, r3
+/* 8031C7E4 00318444 38 00 00 00 */ li r0, 0
+/* 8031C7E8 00318448 41 80 00 0C */ blt lbl_8031C7F4
+/* 8031C7EC 0031844C 2C 08 01 00 */ cmpwi r8, 0x100
+/* 8031C7F0 00318450 41 80 00 08 */ blt lbl_8031C7F8
+lbl_8031C7F4:
+/* 8031C7F4 00318454 38 00 00 01 */ li r0, 1
+lbl_8031C7F8:
+/* 8031C7F8 00318458 2C 00 00 00 */ cmpwi r0, 0
+/* 8031C7FC 0031845C 41 82 00 08 */ beq lbl_8031C804
+/* 8031C800 00318460 48 00 00 0C */ b lbl_8031C80C
+lbl_8031C804:
+/* 8031C804 00318464 80 66 00 10 */ lwz r3, 0x10(r6)
+/* 8031C808 00318468 7D 03 40 AE */ lbzx r8, r3, r8
+lbl_8031C80C:
+/* 8031C80C 0031846C 7D 04 42 14 */ add r8, r4, r8
+/* 8031C810 00318470 38 E7 00 01 */ addi r7, r7, 1
+lbl_8031C814:
+/* 8031C814 00318474 88 67 00 00 */ lbz r3, 0(r7)
+/* 8031C818 00318478 7C 60 07 75 */ extsb. r0, r3
+/* 8031C81C 0031847C 40 82 FF C0 */ bne lbl_8031C7DC
+/* 8031C820 00318480 3C 60 CC CD */ lis r3, 0xCCCCCCCD@ha
+/* 8031C824 00318484 7F E5 FB 78 */ mr r5, r31
+/* 8031C828 00318488 38 03 CC CD */ addi r0, r3, 0xCCCCCCCD@l
+/* 8031C82C 0031848C 38 9E 02 18 */ addi r4, r30, 0x218
+/* 8031C830 00318490 7C 00 40 16 */ mulhwu r0, r0, r8
+/* 8031C834 00318494 38 61 00 08 */ addi r3, r1, 8
+/* 8031C838 00318498 54 00 E1 3E */ srwi r0, r0, 4
+/* 8031C83C 0031849C 1C 00 00 14 */ mulli r0, r0, 0x14
+/* 8031C840 003184A0 7C C0 40 50 */ subf r6, r0, r8
+/* 8031C844 003184A4 4C C6 31 82 */ crclr 6
+/* 8031C848 003184A8 4B EB 02 B5 */ bl sprintf
+/* 8031C84C 003184AC 38 61 00 08 */ addi r3, r1, 8
+/* 8031C850 003184B0 48 01 B8 89 */ bl gethostbyname
+/* 8031C854 003184B4 2C 03 00 00 */ cmpwi r3, 0
+/* 8031C858 003184B8 41 82 00 0C */ beq lbl_8031C864
+lbl_8031C85C:
+/* 8031C85C 003184BC 38 60 00 00 */ li r3, 0
+/* 8031C860 003184C0 48 00 00 18 */ b lbl_8031C878
+lbl_8031C864:
+/* 8031C864 003184C4 38 9E 02 34 */ addi r4, r30, 0x234
+/* 8031C868 003184C8 38 60 00 08 */ li r3, 8
+/* 8031C86C 003184CC 4C C6 31 82 */ crclr 6
+/* 8031C870 003184D0 48 00 02 C5 */ bl DWC_Printf
+/* 8031C874 003184D4 38 60 FF FF */ li r3, -1
+lbl_8031C878:
+/* 8031C878 003184D8 39 61 01 20 */ addi r11, r1, 0x120
+/* 8031C87C 003184DC 4B EA A8 F5 */ bl _restgpr_26
+/* 8031C880 003184E0 80 01 01 24 */ lwz r0, 0x124(r1)
+/* 8031C884 003184E4 7C 08 03 A6 */ mtlr r0
+/* 8031C888 003184E8 38 21 01 20 */ addi r1, r1, 0x120
+/* 8031C88C 003184EC 4E 80 00 20 */ blr
+
+.global DWC_Shutdown
+DWC_Shutdown:
+/* 8031C890 003184F0 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8031C894 003184F4 7C 08 02 A6 */ mflr r0
+/* 8031C898 003184F8 3C 60 80 32 */ lis r3, DWCi_GsMalloc@ha
+/* 8031C89C 003184FC 3C 80 80 32 */ lis r4, DWCi_GsFree@ha
+/* 8031C8A0 00318500 3C A0 80 32 */ lis r5, DWCi_GsRealloc@ha
+/* 8031C8A4 00318504 3C C0 80 32 */ lis r6, DWCi_GsMemalign@ha
+/* 8031C8A8 00318508 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8031C8AC 0031850C 38 63 C9 A4 */ addi r3, r3, DWCi_GsMalloc@l
+/* 8031C8B0 00318510 38 84 CA B4 */ addi r4, r4, DWCi_GsFree@l
+/* 8031C8B4 00318514 38 A5 C9 F8 */ addi r5, r5, DWCi_GsRealloc@l
+/* 8031C8B8 00318518 38 C6 CA D8 */ addi r6, r6, DWCi_GsMemalign@l
+/* 8031C8BC 0031851C 48 01 CA 3D */ bl gsiMemoryCallbacksSet
+/* 8031C8C0 00318520 38 6D 8D 38 */ addi r3, r13, lbl_8063DFF8-_SDA_BASE_
+/* 8031C8C4 00318524 48 01 B8 15 */ bl gethostbyname
+/* 8031C8C8 00318528 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8031C8CC 0031852C 7C 08 03 A6 */ mtlr r0
+/* 8031C8D0 00318530 38 21 00 10 */ addi r1, r1, 0x10
+/* 8031C8D4 00318534 4E 80 00 20 */ blr
+
+.global DWCi_GetGamecode
+DWCi_GetGamecode:
+/* 8031C8D8 00318538 80 6D B0 18 */ lwz r3, lbl_806402D8-_SDA_BASE_(r13)
+/* 8031C8DC 0031853C 4E 80 00 20 */ blr
diff --git a/asm/SDK/DWC/dwc_common/dwc_memfunc.s b/asm/SDK/DWC/dwc_common/dwc_memfunc.s new file mode 100644 index 0000000..143f389 --- /dev/null +++ b/asm/SDK/DWC/dwc_common/dwc_memfunc.s @@ -0,0 +1,176 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global DWCi_SetMemFunc
+DWCi_SetMemFunc:
+/* 8031C8E0 00318540 90 6D B0 24 */ stw r3, lbl_806402E4-_SDA_BASE_(r13)
+/* 8031C8E4 00318544 90 8D B0 20 */ stw r4, lbl_806402E0-_SDA_BASE_(r13)
+/* 8031C8E8 00318548 4E 80 00 20 */ blr
+
+.global DWC_Alloc
+DWC_Alloc:
+/* 8031C8EC 0031854C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8031C8F0 00318550 7C 08 02 A6 */ mflr r0
+/* 8031C8F4 00318554 38 A0 00 20 */ li r5, 0x20
+/* 8031C8F8 00318558 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8031C8FC 0031855C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8031C900 00318560 7C 9F 23 78 */ mr r31, r4
+/* 8031C904 00318564 81 8D B0 24 */ lwz r12, lbl_806402E4-_SDA_BASE_(r13)
+/* 8031C908 00318568 7D 89 03 A6 */ mtctr r12
+/* 8031C90C 0031856C 38 84 00 20 */ addi r4, r4, 0x20
+/* 8031C910 00318570 4E 80 04 21 */ bctrl
+/* 8031C914 00318574 3C 80 44 57 */ lis r4, 0x4457434D@ha
+/* 8031C918 00318578 38 04 43 4D */ addi r0, r4, 0x4457434D@l
+/* 8031C91C 0031857C 90 03 00 00 */ stw r0, 0(r3)
+/* 8031C920 00318580 93 E3 00 04 */ stw r31, 4(r3)
+/* 8031C924 00318584 38 63 00 20 */ addi r3, r3, 0x20
+/* 8031C928 00318588 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8031C92C 0031858C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8031C930 00318590 7C 08 03 A6 */ mtlr r0
+/* 8031C934 00318594 38 21 00 10 */ addi r1, r1, 0x10
+/* 8031C938 00318598 4E 80 00 20 */ blr
+
+.global DWC_AllocEx
+DWC_AllocEx:
+/* 8031C93C 0031859C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8031C940 003185A0 7C 08 02 A6 */ mflr r0
+/* 8031C944 003185A4 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8031C948 003185A8 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8031C94C 003185AC 7C 9F 23 78 */ mr r31, r4
+/* 8031C950 003185B0 81 8D B0 24 */ lwz r12, lbl_806402E4-_SDA_BASE_(r13)
+/* 8031C954 003185B4 7D 89 03 A6 */ mtctr r12
+/* 8031C958 003185B8 38 84 00 20 */ addi r4, r4, 0x20
+/* 8031C95C 003185BC 4E 80 04 21 */ bctrl
+/* 8031C960 003185C0 3C 80 44 57 */ lis r4, 0x4457434D@ha
+/* 8031C964 003185C4 38 04 43 4D */ addi r0, r4, 0x4457434D@l
+/* 8031C968 003185C8 90 03 00 00 */ stw r0, 0(r3)
+/* 8031C96C 003185CC 93 E3 00 04 */ stw r31, 4(r3)
+/* 8031C970 003185D0 38 63 00 20 */ addi r3, r3, 0x20
+/* 8031C974 003185D4 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8031C978 003185D8 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8031C97C 003185DC 7C 08 03 A6 */ mtlr r0
+/* 8031C980 003185E0 38 21 00 10 */ addi r1, r1, 0x10
+/* 8031C984 003185E4 4E 80 00 20 */ blr
+
+.global DWC_Free
+DWC_Free:
+/* 8031C988 003185E8 2C 04 00 00 */ cmpwi r4, 0
+/* 8031C98C 003185EC 4D 82 00 20 */ beqlr
+/* 8031C990 003185F0 81 8D B0 20 */ lwz r12, lbl_806402E0-_SDA_BASE_(r13)
+/* 8031C994 003185F4 7D 89 03 A6 */ mtctr r12
+/* 8031C998 003185F8 38 84 FF E0 */ addi r4, r4, -32
+/* 8031C99C 003185FC 4E 80 04 20 */ bctr
+/* 8031C9A0 00318600 4E 80 00 20 */ blr
+
+.global DWCi_GsMalloc
+DWCi_GsMalloc:
+/* 8031C9A4 00318604 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8031C9A8 00318608 7C 08 02 A6 */ mflr r0
+/* 8031C9AC 0031860C 38 A0 00 20 */ li r5, 0x20
+/* 8031C9B0 00318610 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8031C9B4 00318614 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8031C9B8 00318618 7C 7F 1B 78 */ mr r31, r3
+/* 8031C9BC 0031861C 38 9F 00 20 */ addi r4, r31, 0x20
+/* 8031C9C0 00318620 38 60 00 09 */ li r3, 9
+/* 8031C9C4 00318624 81 8D B0 24 */ lwz r12, lbl_806402E4-_SDA_BASE_(r13)
+/* 8031C9C8 00318628 7D 89 03 A6 */ mtctr r12
+/* 8031C9CC 0031862C 4E 80 04 21 */ bctrl
+/* 8031C9D0 00318630 3C 80 44 57 */ lis r4, 0x4457434D@ha
+/* 8031C9D4 00318634 38 04 43 4D */ addi r0, r4, 0x4457434D@l
+/* 8031C9D8 00318638 90 03 00 00 */ stw r0, 0(r3)
+/* 8031C9DC 0031863C 93 E3 00 04 */ stw r31, 4(r3)
+/* 8031C9E0 00318640 38 63 00 20 */ addi r3, r3, 0x20
+/* 8031C9E4 00318644 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8031C9E8 00318648 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8031C9EC 0031864C 7C 08 03 A6 */ mtlr r0
+/* 8031C9F0 00318650 38 21 00 10 */ addi r1, r1, 0x10
+/* 8031C9F4 00318654 4E 80 00 20 */ blr
+
+.global DWCi_GsRealloc
+DWCi_GsRealloc:
+/* 8031C9F8 00318658 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 8031C9FC 0031865C 7C 08 02 A6 */ mflr r0
+/* 8031CA00 00318660 38 A0 00 20 */ li r5, 0x20
+/* 8031CA04 00318664 90 01 00 24 */ stw r0, 0x24(r1)
+/* 8031CA08 00318668 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 8031CA0C 0031866C 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 8031CA10 00318670 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 8031CA14 00318674 7C 9D 23 78 */ mr r29, r4
+/* 8031CA18 00318678 93 81 00 10 */ stw r28, 0x10(r1)
+/* 8031CA1C 0031867C 7C 7C 1B 78 */ mr r28, r3
+/* 8031CA20 00318680 38 60 00 09 */ li r3, 9
+/* 8031CA24 00318684 81 8D B0 24 */ lwz r12, lbl_806402E4-_SDA_BASE_(r13)
+/* 8031CA28 00318688 7D 89 03 A6 */ mtctr r12
+/* 8031CA2C 0031868C 38 84 00 20 */ addi r4, r4, 0x20
+/* 8031CA30 00318690 4E 80 04 21 */ bctrl
+/* 8031CA34 00318694 3C 80 44 57 */ lis r4, 0x4457434D@ha
+/* 8031CA38 00318698 37 E3 00 20 */ addic. r31, r3, 0x20
+/* 8031CA3C 0031869C 38 04 43 4D */ addi r0, r4, 0x4457434D@l
+/* 8031CA40 003186A0 90 03 00 00 */ stw r0, 0(r3)
+/* 8031CA44 003186A4 93 A3 00 04 */ stw r29, 4(r3)
+/* 8031CA48 003186A8 40 82 00 0C */ bne lbl_8031CA54
+/* 8031CA4C 003186AC 3B E0 00 00 */ li r31, 0
+/* 8031CA50 003186B0 48 00 00 40 */ b lbl_8031CA90
+lbl_8031CA54:
+/* 8031CA54 003186B4 2C 1C 00 00 */ cmpwi r28, 0
+/* 8031CA58 003186B8 41 82 00 38 */ beq lbl_8031CA90
+/* 8031CA5C 003186BC 80 BC FF E4 */ lwz r5, -0x1c(r28)
+/* 8031CA60 003186C0 3B DC FF E0 */ addi r30, r28, -32
+/* 8031CA64 003186C4 7F E3 FB 78 */ mr r3, r31
+/* 8031CA68 003186C8 7F 84 E3 78 */ mr r4, r28
+/* 8031CA6C 003186CC 4B CE 75 95 */ bl memcpy
+/* 8031CA70 003186D0 2C 1C 00 00 */ cmpwi r28, 0
+/* 8031CA74 003186D4 41 82 00 1C */ beq lbl_8031CA90
+/* 8031CA78 003186D8 81 8D B0 20 */ lwz r12, lbl_806402E0-_SDA_BASE_(r13)
+/* 8031CA7C 003186DC 7F C4 F3 78 */ mr r4, r30
+/* 8031CA80 003186E0 7F A5 EB 78 */ mr r5, r29
+/* 8031CA84 003186E4 38 60 00 09 */ li r3, 9
+/* 8031CA88 003186E8 7D 89 03 A6 */ mtctr r12
+/* 8031CA8C 003186EC 4E 80 04 21 */ bctrl
+lbl_8031CA90:
+/* 8031CA90 003186F0 7F E3 FB 78 */ mr r3, r31
+/* 8031CA94 003186F4 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 8031CA98 003186F8 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 8031CA9C 003186FC 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 8031CAA0 00318700 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 8031CAA4 00318704 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 8031CAA8 00318708 7C 08 03 A6 */ mtlr r0
+/* 8031CAAC 0031870C 38 21 00 20 */ addi r1, r1, 0x20
+/* 8031CAB0 00318710 4E 80 00 20 */ blr
+
+.global DWCi_GsFree
+DWCi_GsFree:
+/* 8031CAB4 00318714 2C 03 00 00 */ cmpwi r3, 0
+/* 8031CAB8 00318718 4D 82 00 20 */ beqlr
+/* 8031CABC 0031871C 81 8D B0 20 */ lwz r12, lbl_806402E0-_SDA_BASE_(r13)
+/* 8031CAC0 00318720 38 83 FF E0 */ addi r4, r3, -32
+/* 8031CAC4 00318724 38 60 00 09 */ li r3, 9
+/* 8031CAC8 00318728 38 A0 00 00 */ li r5, 0
+/* 8031CACC 0031872C 7D 89 03 A6 */ mtctr r12
+/* 8031CAD0 00318730 4E 80 04 20 */ bctr
+/* 8031CAD4 00318734 4E 80 00 20 */ blr
+
+.global DWCi_GsMemalign
+DWCi_GsMemalign:
+/* 8031CAD8 00318738 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8031CADC 0031873C 7C 08 02 A6 */ mflr r0
+/* 8031CAE0 00318740 7C 65 1B 78 */ mr r5, r3
+/* 8031CAE4 00318744 38 60 00 09 */ li r3, 9
+/* 8031CAE8 00318748 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8031CAEC 0031874C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8031CAF0 00318750 7C 9F 23 78 */ mr r31, r4
+/* 8031CAF4 00318754 81 8D B0 24 */ lwz r12, lbl_806402E4-_SDA_BASE_(r13)
+/* 8031CAF8 00318758 7D 89 03 A6 */ mtctr r12
+/* 8031CAFC 0031875C 38 84 00 20 */ addi r4, r4, 0x20
+/* 8031CB00 00318760 4E 80 04 21 */ bctrl
+/* 8031CB04 00318764 3C 80 44 57 */ lis r4, 0x4457434D@ha
+/* 8031CB08 00318768 38 04 43 4D */ addi r0, r4, 0x4457434D@l
+/* 8031CB0C 0031876C 90 03 00 00 */ stw r0, 0(r3)
+/* 8031CB10 00318770 93 E3 00 04 */ stw r31, 4(r3)
+/* 8031CB14 00318774 38 63 00 20 */ addi r3, r3, 0x20
+/* 8031CB18 00318778 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8031CB1C 0031877C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8031CB20 00318780 7C 08 03 A6 */ mtlr r0
+/* 8031CB24 00318784 38 21 00 10 */ addi r1, r1, 0x10
+/* 8031CB28 00318788 4E 80 00 20 */ blr
diff --git a/asm/SDK/DWC/dwc_common/dwc_report.s b/asm/SDK/DWC/dwc_common/dwc_report.s new file mode 100644 index 0000000..9481281 --- /dev/null +++ b/asm/SDK/DWC/dwc_common/dwc_report.s @@ -0,0 +1,246 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global DWC_SetReportLevel
+DWC_SetReportLevel:
+/* 8031CB2C 0031878C 90 6D B0 28 */ stw r3, lbl_806402E8-_SDA_BASE_(r13)
+/* 8031CB30 00318790 4E 80 00 20 */ blr
+
+.global DWC_Printf
+DWC_Printf:
+/* 8031CB34 00318794 94 21 FF 80 */ stwu r1, -0x80(r1)
+/* 8031CB38 00318798 7C 08 02 A6 */ mflr r0
+/* 8031CB3C 0031879C 90 01 00 84 */ stw r0, 0x84(r1)
+/* 8031CB40 003187A0 93 E1 00 7C */ stw r31, 0x7c(r1)
+/* 8031CB44 003187A4 7C 9F 23 78 */ mr r31, r4
+/* 8031CB48 003187A8 40 86 00 24 */ bne cr1, lbl_8031CB6C
+/* 8031CB4C 003187AC D8 21 00 28 */ stfd f1, 0x28(r1)
+/* 8031CB50 003187B0 D8 41 00 30 */ stfd f2, 0x30(r1)
+/* 8031CB54 003187B4 D8 61 00 38 */ stfd f3, 0x38(r1)
+/* 8031CB58 003187B8 D8 81 00 40 */ stfd f4, 0x40(r1)
+/* 8031CB5C 003187BC D8 A1 00 48 */ stfd f5, 0x48(r1)
+/* 8031CB60 003187C0 D8 C1 00 50 */ stfd f6, 0x50(r1)
+/* 8031CB64 003187C4 D8 E1 00 58 */ stfd f7, 0x58(r1)
+/* 8031CB68 003187C8 D9 01 00 60 */ stfd f8, 0x60(r1)
+lbl_8031CB6C:
+/* 8031CB6C 003187CC 80 0D B0 28 */ lwz r0, lbl_806402E8-_SDA_BASE_(r13)
+/* 8031CB70 003187D0 3D 60 80 44 */ lis r11, lbl_80446968@ha
+/* 8031CB74 003187D4 90 61 00 08 */ stw r3, 8(r1)
+/* 8031CB78 003187D8 39 6B 69 68 */ addi r11, r11, lbl_80446968@l
+/* 8031CB7C 003187DC 7C 60 00 39 */ and. r0, r3, r0
+/* 8031CB80 003187E0 90 81 00 0C */ stw r4, 0xc(r1)
+/* 8031CB84 003187E4 90 A1 00 10 */ stw r5, 0x10(r1)
+/* 8031CB88 003187E8 90 C1 00 14 */ stw r6, 0x14(r1)
+/* 8031CB8C 003187EC 90 E1 00 18 */ stw r7, 0x18(r1)
+/* 8031CB90 003187F0 91 01 00 1C */ stw r8, 0x1c(r1)
+/* 8031CB94 003187F4 91 21 00 20 */ stw r9, 0x20(r1)
+/* 8031CB98 003187F8 91 41 00 24 */ stw r10, 0x24(r1)
+/* 8031CB9C 003187FC 41 82 02 AC */ beq lbl_8031CE48
+/* 8031CBA0 00318800 2C 03 04 00 */ cmpwi r3, 0x400
+/* 8031CBA4 00318804 41 82 01 C4 */ beq lbl_8031CD68
+/* 8031CBA8 00318808 40 80 00 90 */ bge lbl_8031CC38
+/* 8031CBAC 0031880C 2C 03 00 20 */ cmpwi r3, 0x20
+/* 8031CBB0 00318810 41 82 01 68 */ beq lbl_8031CD18
+/* 8031CBB4 00318814 40 80 00 54 */ bge lbl_8031CC08
+/* 8031CBB8 00318818 2C 03 00 04 */ cmpwi r3, 4
+/* 8031CBBC 0031881C 41 82 01 2C */ beq lbl_8031CCE8
+/* 8031CBC0 00318820 40 80 00 30 */ bge lbl_8031CBF0
+/* 8031CBC4 00318824 2C 03 00 01 */ cmpwi r3, 1
+/* 8031CBC8 00318828 41 82 01 00 */ beq lbl_8031CCC8
+/* 8031CBCC 0031882C 40 80 00 18 */ bge lbl_8031CBE4
+/* 8031CBD0 00318830 3C 80 80 00 */ lis r4, 0x80000001@ha
+/* 8031CBD4 00318834 38 04 00 01 */ addi r0, r4, 0x80000001@l
+/* 8031CBD8 00318838 7C 03 00 00 */ cmpw r3, r0
+/* 8031CBDC 0031883C 40 80 02 3C */ bge lbl_8031CE18
+/* 8031CBE0 00318840 48 00 02 28 */ b lbl_8031CE08
+lbl_8031CBE4:
+/* 8031CBE4 00318844 2C 03 00 03 */ cmpwi r3, 3
+/* 8031CBE8 00318848 40 80 02 30 */ bge lbl_8031CE18
+/* 8031CBEC 0031884C 48 00 00 EC */ b lbl_8031CCD8
+lbl_8031CBF0:
+/* 8031CBF0 00318850 2C 03 00 10 */ cmpwi r3, 0x10
+/* 8031CBF4 00318854 41 82 01 14 */ beq lbl_8031CD08
+/* 8031CBF8 00318858 40 80 02 20 */ bge lbl_8031CE18
+/* 8031CBFC 0031885C 2C 03 00 08 */ cmpwi r3, 8
+/* 8031CC00 00318860 41 82 00 F8 */ beq lbl_8031CCF8
+/* 8031CC04 00318864 48 00 02 14 */ b lbl_8031CE18
+lbl_8031CC08:
+/* 8031CC08 00318868 2C 03 01 00 */ cmpwi r3, 0x100
+/* 8031CC0C 0031886C 41 82 01 3C */ beq lbl_8031CD48
+/* 8031CC10 00318870 40 80 00 1C */ bge lbl_8031CC2C
+/* 8031CC14 00318874 2C 03 00 80 */ cmpwi r3, 0x80
+/* 8031CC18 00318878 41 82 01 20 */ beq lbl_8031CD38
+/* 8031CC1C 0031887C 40 80 01 FC */ bge lbl_8031CE18
+/* 8031CC20 00318880 2C 03 00 40 */ cmpwi r3, 0x40
+/* 8031CC24 00318884 41 82 01 04 */ beq lbl_8031CD28
+/* 8031CC28 00318888 48 00 01 F0 */ b lbl_8031CE18
+lbl_8031CC2C:
+/* 8031CC2C 0031888C 2C 03 02 00 */ cmpwi r3, 0x200
+/* 8031CC30 00318890 41 82 01 28 */ beq lbl_8031CD58
+/* 8031CC34 00318894 48 00 01 E4 */ b lbl_8031CE18
+lbl_8031CC38:
+/* 8031CC38 00318898 3C 00 01 00 */ lis r0, 0x100
+/* 8031CC3C 0031889C 7C 03 00 00 */ cmpw r3, r0
+/* 8031CC40 003188A0 41 82 01 78 */ beq lbl_8031CDB8
+/* 8031CC44 003188A4 40 80 00 44 */ bge lbl_8031CC88
+/* 8031CC48 003188A8 3C 00 00 02 */ lis r0, 2
+/* 8031CC4C 003188AC 7C 03 00 00 */ cmpw r3, r0
+/* 8031CC50 003188B0 41 82 01 48 */ beq lbl_8031CD98
+/* 8031CC54 003188B4 40 80 00 24 */ bge lbl_8031CC78
+/* 8031CC58 003188B8 3C 80 00 01 */ lis r4, 1
+/* 8031CC5C 003188BC 7C 03 20 00 */ cmpw r3, r4
+/* 8031CC60 003188C0 41 82 01 28 */ beq lbl_8031CD88
+/* 8031CC64 003188C4 40 80 01 B4 */ bge lbl_8031CE18
+/* 8031CC68 003188C8 38 04 80 00 */ addi r0, r4, -32768
+/* 8031CC6C 003188CC 7C 03 00 00 */ cmpw r3, r0
+/* 8031CC70 003188D0 41 82 01 08 */ beq lbl_8031CD78
+/* 8031CC74 003188D4 48 00 01 A4 */ b lbl_8031CE18
+lbl_8031CC78:
+/* 8031CC78 003188D8 3C 00 00 04 */ lis r0, 4
+/* 8031CC7C 003188DC 7C 03 00 00 */ cmpw r3, r0
+/* 8031CC80 003188E0 41 82 01 28 */ beq lbl_8031CDA8
+/* 8031CC84 003188E4 48 00 01 94 */ b lbl_8031CE18
+lbl_8031CC88:
+/* 8031CC88 003188E8 3C 00 08 00 */ lis r0, 0x800
+/* 8031CC8C 003188EC 7C 03 00 00 */ cmpw r3, r0
+/* 8031CC90 003188F0 41 82 01 58 */ beq lbl_8031CDE8
+/* 8031CC94 003188F4 40 80 00 24 */ bge lbl_8031CCB8
+/* 8031CC98 003188F8 3C 00 04 00 */ lis r0, 0x400
+/* 8031CC9C 003188FC 7C 03 00 00 */ cmpw r3, r0
+/* 8031CCA0 00318900 41 82 01 38 */ beq lbl_8031CDD8
+/* 8031CCA4 00318904 40 80 01 74 */ bge lbl_8031CE18
+/* 8031CCA8 00318908 3C 00 02 00 */ lis r0, 0x200
+/* 8031CCAC 0031890C 7C 03 00 00 */ cmpw r3, r0
+/* 8031CCB0 00318910 41 82 01 18 */ beq lbl_8031CDC8
+/* 8031CCB4 00318914 48 00 01 64 */ b lbl_8031CE18
+lbl_8031CCB8:
+/* 8031CCB8 00318918 3C 00 10 00 */ lis r0, 0x1000
+/* 8031CCBC 0031891C 7C 03 00 00 */ cmpw r3, r0
+/* 8031CCC0 00318920 41 82 01 38 */ beq lbl_8031CDF8
+/* 8031CCC4 00318924 48 00 01 54 */ b lbl_8031CE18
+lbl_8031CCC8:
+/* 8031CCC8 00318928 38 6B 00 00 */ addi r3, r11, 0
+/* 8031CCCC 0031892C 4C C6 31 82 */ crclr 6
+/* 8031CCD0 00318930 4B EA FB 95 */ bl printf
+/* 8031CCD4 00318934 48 00 01 50 */ b lbl_8031CE24
+lbl_8031CCD8:
+/* 8031CCD8 00318938 38 6B 00 10 */ addi r3, r11, 0x10
+/* 8031CCDC 0031893C 4C C6 31 82 */ crclr 6
+/* 8031CCE0 00318940 4B EA FB 85 */ bl printf
+/* 8031CCE4 00318944 48 00 01 40 */ b lbl_8031CE24
+lbl_8031CCE8:
+/* 8031CCE8 00318948 38 6B 00 20 */ addi r3, r11, 0x20
+/* 8031CCEC 0031894C 4C C6 31 82 */ crclr 6
+/* 8031CCF0 00318950 4B EA FB 75 */ bl printf
+/* 8031CCF4 00318954 48 00 01 30 */ b lbl_8031CE24
+lbl_8031CCF8:
+/* 8031CCF8 00318958 38 6B 00 30 */ addi r3, r11, 0x30
+/* 8031CCFC 0031895C 4C C6 31 82 */ crclr 6
+/* 8031CD00 00318960 4B EA FB 65 */ bl printf
+/* 8031CD04 00318964 48 00 01 20 */ b lbl_8031CE24
+lbl_8031CD08:
+/* 8031CD08 00318968 38 6B 00 40 */ addi r3, r11, 0x40
+/* 8031CD0C 0031896C 4C C6 31 82 */ crclr 6
+/* 8031CD10 00318970 4B EA FB 55 */ bl printf
+/* 8031CD14 00318974 48 00 01 10 */ b lbl_8031CE24
+lbl_8031CD18:
+/* 8031CD18 00318978 38 6B 00 50 */ addi r3, r11, 0x50
+/* 8031CD1C 0031897C 4C C6 31 82 */ crclr 6
+/* 8031CD20 00318980 4B EA FB 45 */ bl printf
+/* 8031CD24 00318984 48 00 01 00 */ b lbl_8031CE24
+lbl_8031CD28:
+/* 8031CD28 00318988 38 6B 00 60 */ addi r3, r11, 0x60
+/* 8031CD2C 0031898C 4C C6 31 82 */ crclr 6
+/* 8031CD30 00318990 4B EA FB 35 */ bl printf
+/* 8031CD34 00318994 48 00 00 F0 */ b lbl_8031CE24
+lbl_8031CD38:
+/* 8031CD38 00318998 38 6B 00 70 */ addi r3, r11, 0x70
+/* 8031CD3C 0031899C 4C C6 31 82 */ crclr 6
+/* 8031CD40 003189A0 4B EA FB 25 */ bl printf
+/* 8031CD44 003189A4 48 00 00 E0 */ b lbl_8031CE24
+lbl_8031CD48:
+/* 8031CD48 003189A8 38 6B 00 80 */ addi r3, r11, 0x80
+/* 8031CD4C 003189AC 4C C6 31 82 */ crclr 6
+/* 8031CD50 003189B0 4B EA FB 15 */ bl printf
+/* 8031CD54 003189B4 48 00 00 D0 */ b lbl_8031CE24
+lbl_8031CD58:
+/* 8031CD58 003189B8 38 6B 00 90 */ addi r3, r11, 0x90
+/* 8031CD5C 003189BC 4C C6 31 82 */ crclr 6
+/* 8031CD60 003189C0 4B EA FB 05 */ bl printf
+/* 8031CD64 003189C4 48 00 00 C0 */ b lbl_8031CE24
+lbl_8031CD68:
+/* 8031CD68 003189C8 38 6B 00 A0 */ addi r3, r11, 0xa0
+/* 8031CD6C 003189CC 4C C6 31 82 */ crclr 6
+/* 8031CD70 003189D0 4B EA FA F5 */ bl printf
+/* 8031CD74 003189D4 48 00 00 B0 */ b lbl_8031CE24
+lbl_8031CD78:
+/* 8031CD78 003189D8 38 6B 00 B0 */ addi r3, r11, 0xb0
+/* 8031CD7C 003189DC 4C C6 31 82 */ crclr 6
+/* 8031CD80 003189E0 4B EA FA E5 */ bl printf
+/* 8031CD84 003189E4 48 00 00 A0 */ b lbl_8031CE24
+lbl_8031CD88:
+/* 8031CD88 003189E8 38 6B 00 C0 */ addi r3, r11, 0xc0
+/* 8031CD8C 003189EC 4C C6 31 82 */ crclr 6
+/* 8031CD90 003189F0 4B EA FA D5 */ bl printf
+/* 8031CD94 003189F4 48 00 00 90 */ b lbl_8031CE24
+lbl_8031CD98:
+/* 8031CD98 003189F8 38 6B 00 D0 */ addi r3, r11, 0xd0
+/* 8031CD9C 003189FC 4C C6 31 82 */ crclr 6
+/* 8031CDA0 00318A00 4B EA FA C5 */ bl printf
+/* 8031CDA4 00318A04 48 00 00 80 */ b lbl_8031CE24
+lbl_8031CDA8:
+/* 8031CDA8 00318A08 38 6B 00 E0 */ addi r3, r11, 0xe0
+/* 8031CDAC 00318A0C 4C C6 31 82 */ crclr 6
+/* 8031CDB0 00318A10 4B EA FA B5 */ bl printf
+/* 8031CDB4 00318A14 48 00 00 70 */ b lbl_8031CE24
+lbl_8031CDB8:
+/* 8031CDB8 00318A18 38 6B 00 F4 */ addi r3, r11, 0xf4
+/* 8031CDBC 00318A1C 4C C6 31 82 */ crclr 6
+/* 8031CDC0 00318A20 4B EA FA A5 */ bl printf
+/* 8031CDC4 00318A24 48 00 00 60 */ b lbl_8031CE24
+lbl_8031CDC8:
+/* 8031CDC8 00318A28 38 6B 01 04 */ addi r3, r11, 0x104
+/* 8031CDCC 00318A2C 4C C6 31 82 */ crclr 6
+/* 8031CDD0 00318A30 4B EA FA 95 */ bl printf
+/* 8031CDD4 00318A34 48 00 00 50 */ b lbl_8031CE24
+lbl_8031CDD8:
+/* 8031CDD8 00318A38 38 6B 01 14 */ addi r3, r11, 0x114
+/* 8031CDDC 00318A3C 4C C6 31 82 */ crclr 6
+/* 8031CDE0 00318A40 4B EA FA 85 */ bl printf
+/* 8031CDE4 00318A44 48 00 00 40 */ b lbl_8031CE24
+lbl_8031CDE8:
+/* 8031CDE8 00318A48 38 6B 01 24 */ addi r3, r11, 0x124
+/* 8031CDEC 00318A4C 4C C6 31 82 */ crclr 6
+/* 8031CDF0 00318A50 4B EA FA 75 */ bl printf
+/* 8031CDF4 00318A54 48 00 00 30 */ b lbl_8031CE24
+lbl_8031CDF8:
+/* 8031CDF8 00318A58 38 6B 01 34 */ addi r3, r11, 0x134
+/* 8031CDFC 00318A5C 4C C6 31 82 */ crclr 6
+/* 8031CE00 00318A60 4B EA FA 65 */ bl printf
+/* 8031CE04 00318A64 48 00 00 20 */ b lbl_8031CE24
+lbl_8031CE08:
+/* 8031CE08 00318A68 38 6B 01 44 */ addi r3, r11, 0x144
+/* 8031CE0C 00318A6C 4C C6 31 82 */ crclr 6
+/* 8031CE10 00318A70 4B EA FA 55 */ bl printf
+/* 8031CE14 00318A74 48 00 00 10 */ b lbl_8031CE24
+lbl_8031CE18:
+/* 8031CE18 00318A78 38 6B 01 54 */ addi r3, r11, 0x154
+/* 8031CE1C 00318A7C 4C C6 31 82 */ crclr 6
+/* 8031CE20 00318A80 4B EA FA 45 */ bl printf
+lbl_8031CE24:
+/* 8031CE24 00318A84 38 A1 00 88 */ addi r5, r1, 0x88
+/* 8031CE28 00318A88 38 01 00 08 */ addi r0, r1, 8
+/* 8031CE2C 00318A8C 3C 60 02 00 */ lis r3, 0x200
+/* 8031CE30 00318A90 90 A1 00 6C */ stw r5, 0x6c(r1)
+/* 8031CE34 00318A94 38 81 00 68 */ addi r4, r1, 0x68
+/* 8031CE38 00318A98 90 61 00 68 */ stw r3, 0x68(r1)
+/* 8031CE3C 00318A9C 7F E3 FB 78 */ mr r3, r31
+/* 8031CE40 00318AA0 90 01 00 70 */ stw r0, 0x70(r1)
+/* 8031CE44 00318AA4 4B EA FA E9 */ bl vprintf
+lbl_8031CE48:
+/* 8031CE48 00318AA8 80 01 00 84 */ lwz r0, 0x84(r1)
+/* 8031CE4C 00318AAC 83 E1 00 7C */ lwz r31, 0x7c(r1)
+/* 8031CE50 00318AB0 7C 08 03 A6 */ mtlr r0
+/* 8031CE54 00318AB4 38 21 00 80 */ addi r1, r1, 0x80
+/* 8031CE58 00318AB8 4E 80 00 20 */ blr
|