diff options
Diffstat (limited to 'asm/SDK')
-rw-r--r-- | asm/SDK/BTE/gki_buffer.s | 1468 | ||||
-rw-r--r-- | asm/SDK/BTE/gki_time.s | 406 | ||||
-rw-r--r-- | asm/SDK/EUART/euart.s (renamed from asm/SDK/euart.s) | 0 | ||||
-rw-r--r-- | asm/SDK/USB/usb.s (renamed from asm/SDK/usb.s) | 0 | ||||
-rw-r--r-- | asm/SDK/WPAD/WPAD.s | 2 | ||||
-rw-r--r-- | asm/SDK/WUD/WUD.s (renamed from asm/SDK/WUD.s) | 188 | ||||
-rw-r--r-- | asm/SDK/WUD/WUDHidHost.s | 376 | ||||
-rw-r--r-- | asm/SDK/WUD/debug_msg.s | 27 |
8 files changed, 2372 insertions, 95 deletions
diff --git a/asm/SDK/BTE/gki_buffer.s b/asm/SDK/BTE/gki_buffer.s new file mode 100644 index 0000000..76247f2 --- /dev/null +++ b/asm/SDK/BTE/gki_buffer.s @@ -0,0 +1,1468 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global gki_init_free_queue
+gki_init_free_queue:
+/* 802B95CC 002B522C 94 21 FF C0 */ stwu r1, -0x40(r1)
+/* 802B95D0 002B5230 7C 08 02 A6 */ mflr r0
+/* 802B95D4 002B5234 90 01 00 44 */ stw r0, 0x44(r1)
+/* 802B95D8 002B5238 39 61 00 40 */ addi r11, r1, 0x40
+/* 802B95DC 002B523C 4B F0 DB 29 */ bl _savegpr_18
+/* 802B95E0 002B5240 39 84 00 03 */ addi r12, r4, 3
+/* 802B95E4 002B5244 3C 80 80 54 */ lis r4, lbl_8053C2C0@ha
+/* 802B95E8 002B5248 55 89 00 3A */ rlwinm r9, r12, 0, 0, 0x1d
+/* 802B95EC 002B524C 54 6B 15 BA */ rlwinm r11, r3, 2, 0x16, 0x1d
+/* 802B95F0 002B5250 3B 49 00 0C */ addi r26, r9, 0xc
+/* 802B95F4 002B5254 38 84 C2 C0 */ addi r4, r4, lbl_8053C2C0@l
+/* 802B95F8 002B5258 57 48 04 3E */ clrlwi r8, r26, 0x10
+/* 802B95FC 002B525C 54 60 25 36 */ rlwinm r0, r3, 4, 0x14, 0x1b
+/* 802B9600 002B5260 7C E8 29 D6 */ mullw r7, r8, r5
+/* 802B9604 002B5264 39 44 00 54 */ addi r10, r4, 0x54
+/* 802B9608 002B5268 54 64 0D FC */ rlwinm r4, r3, 1, 0x17, 0x1e
+/* 802B960C 002B526C 3F 2A 00 03 */ addis r25, r10, 3
+/* 802B9610 002B5270 55 8C 04 3A */ rlwinm r12, r12, 0, 0x10, 0x1d
+/* 802B9614 002B5274 7F 19 5A 14 */ add r24, r25, r11
+/* 802B9618 002B5278 7D 66 3A 14 */ add r11, r6, r7
+/* 802B961C 002B527C 90 D8 8A 1C */ stw r6, -0x75e4(r24)
+/* 802B9620 002B5280 7C F9 22 14 */ add r7, r25, r4
+/* 802B9624 002B5284 38 80 00 00 */ li r4, 0
+/* 802B9628 002B5288 91 78 8A 40 */ stw r11, -0x75c0(r24)
+/* 802B962C 002B528C 7D 79 02 14 */ add r11, r25, r0
+/* 802B9630 002B5290 2C 05 00 00 */ cmpwi r5, 0
+/* 802B9634 002B5294 B3 47 8A 64 */ sth r26, -0x759c(r7)
+/* 802B9638 002B5298 38 E0 00 00 */ li r7, 0
+/* 802B963C 002B529C B1 8B 89 94 */ sth r12, -0x766c(r11)
+/* 802B9640 002B52A0 B0 AB 89 96 */ sth r5, -0x766a(r11)
+/* 802B9644 002B52A4 B0 8B 89 98 */ sth r4, -0x7668(r11)
+/* 802B9648 002B52A8 B0 8B 89 9A */ sth r4, -0x7666(r11)
+/* 802B964C 002B52AC 90 CB 89 8C */ stw r6, -0x7674(r11)
+/* 802B9650 002B52B0 41 82 01 70 */ beq lbl_802B97C0
+/* 802B9654 002B52B4 28 05 00 08 */ cmplwi r5, 8
+/* 802B9658 002B52B8 3D 65 00 01 */ addis r11, r5, 1
+/* 802B965C 002B52BC 39 6B FF F8 */ addi r11, r11, -8
+/* 802B9660 002B52C0 40 81 01 14 */ ble lbl_802B9774
+/* 802B9664 002B52C4 55 6C 04 3E */ clrlwi r12, r11, 0x10
+/* 802B9668 002B52C8 3F 60 DD BB */ lis r27, 0xDDBADDBA@ha
+/* 802B966C 002B52CC 39 6C 00 07 */ addi r11, r12, 7
+/* 802B9670 002B52D0 3B 00 00 F0 */ li r24, 0xf0
+/* 802B9674 002B52D4 55 6B E8 FE */ srwi r11, r11, 3
+/* 802B9678 002B52D8 3B 5B DD BA */ addi r26, r27, 0xDDBADDBA@l
+/* 802B967C 002B52DC 3B 20 00 00 */ li r25, 0
+/* 802B9680 002B52E0 7D 69 03 A6 */ mtctr r11
+/* 802B9684 002B52E4 28 0C 00 00 */ cmplwi r12, 0
+/* 802B9688 002B52E8 40 81 00 EC */ ble lbl_802B9774
+lbl_802B968C:
+/* 802B968C 002B52EC 9B 06 00 05 */ stb r24, 5(r6)
+/* 802B9690 002B52F0 7E 46 42 14 */ add r18, r6, r8
+/* 802B9694 002B52F4 7E 72 42 14 */ add r19, r18, r8
+/* 802B9698 002B52F8 7C 86 4A 14 */ add r4, r6, r9
+/* 802B969C 002B52FC 98 66 00 04 */ stb r3, 4(r6)
+/* 802B96A0 002B5300 7E 93 42 14 */ add r20, r19, r8
+/* 802B96A4 002B5304 7E B4 42 14 */ add r21, r20, r8
+/* 802B96A8 002B5308 7F 72 4A 14 */ add r27, r18, r9
+/* 802B96AC 002B530C 9B 26 00 06 */ stb r25, 6(r6)
+/* 802B96B0 002B5310 7E D5 42 14 */ add r22, r21, r8
+/* 802B96B4 002B5314 7E F6 42 14 */ add r23, r22, r8
+/* 802B96B8 002B5318 7F 93 4A 14 */ add r28, r19, r9
+/* 802B96BC 002B531C 93 44 00 08 */ stw r26, 8(r4)
+/* 802B96C0 002B5320 7C 97 42 14 */ add r4, r23, r8
+/* 802B96C4 002B5324 7F F4 4A 14 */ add r31, r20, r9
+/* 802B96C8 002B5328 7F D5 4A 14 */ add r30, r21, r9
+/* 802B96CC 002B532C 92 46 00 00 */ stw r18, 0(r6)
+/* 802B96D0 002B5330 7F B6 4A 14 */ add r29, r22, r9
+/* 802B96D4 002B5334 7D 97 4A 14 */ add r12, r23, r9
+/* 802B96D8 002B5338 7D 64 4A 14 */ add r11, r4, r9
+/* 802B96DC 002B533C 9B 12 00 05 */ stb r24, 5(r18)
+/* 802B96E0 002B5340 7C C4 42 14 */ add r6, r4, r8
+/* 802B96E4 002B5344 38 E7 00 08 */ addi r7, r7, 8
+/* 802B96E8 002B5348 98 72 00 04 */ stb r3, 4(r18)
+/* 802B96EC 002B534C 9B 32 00 06 */ stb r25, 6(r18)
+/* 802B96F0 002B5350 93 5B 00 08 */ stw r26, 8(r27)
+/* 802B96F4 002B5354 92 72 00 00 */ stw r19, 0(r18)
+/* 802B96F8 002B5358 9B 13 00 05 */ stb r24, 5(r19)
+/* 802B96FC 002B535C 98 73 00 04 */ stb r3, 4(r19)
+/* 802B9700 002B5360 9B 33 00 06 */ stb r25, 6(r19)
+/* 802B9704 002B5364 93 5C 00 08 */ stw r26, 8(r28)
+/* 802B9708 002B5368 7E 92 41 2E */ stwx r20, r18, r8
+/* 802B970C 002B536C 9B 14 00 05 */ stb r24, 5(r20)
+/* 802B9710 002B5370 98 74 00 04 */ stb r3, 4(r20)
+/* 802B9714 002B5374 9B 34 00 06 */ stb r25, 6(r20)
+/* 802B9718 002B5378 93 5F 00 08 */ stw r26, 8(r31)
+/* 802B971C 002B537C 7E B3 41 2E */ stwx r21, r19, r8
+/* 802B9720 002B5380 9B 15 00 05 */ stb r24, 5(r21)
+/* 802B9724 002B5384 98 75 00 04 */ stb r3, 4(r21)
+/* 802B9728 002B5388 9B 35 00 06 */ stb r25, 6(r21)
+/* 802B972C 002B538C 93 5E 00 08 */ stw r26, 8(r30)
+/* 802B9730 002B5390 7E D4 41 2E */ stwx r22, r20, r8
+/* 802B9734 002B5394 9B 16 00 05 */ stb r24, 5(r22)
+/* 802B9738 002B5398 98 76 00 04 */ stb r3, 4(r22)
+/* 802B973C 002B539C 9B 36 00 06 */ stb r25, 6(r22)
+/* 802B9740 002B53A0 93 5D 00 08 */ stw r26, 8(r29)
+/* 802B9744 002B53A4 7E F5 41 2E */ stwx r23, r21, r8
+/* 802B9748 002B53A8 9B 17 00 05 */ stb r24, 5(r23)
+/* 802B974C 002B53AC 98 77 00 04 */ stb r3, 4(r23)
+/* 802B9750 002B53B0 9B 37 00 06 */ stb r25, 6(r23)
+/* 802B9754 002B53B4 93 4C 00 08 */ stw r26, 8(r12)
+/* 802B9758 002B53B8 7C 96 41 2E */ stwx r4, r22, r8
+/* 802B975C 002B53BC 9B 04 00 05 */ stb r24, 5(r4)
+/* 802B9760 002B53C0 98 64 00 04 */ stb r3, 4(r4)
+/* 802B9764 002B53C4 9B 24 00 06 */ stb r25, 6(r4)
+/* 802B9768 002B53C8 93 4B 00 08 */ stw r26, 8(r11)
+/* 802B976C 002B53CC 7C D7 41 2E */ stwx r6, r23, r8
+/* 802B9770 002B53D0 42 00 FF 1C */ bdnz lbl_802B968C
+lbl_802B9774:
+/* 802B9774 002B53D4 54 EC 04 3E */ clrlwi r12, r7, 0x10
+/* 802B9778 002B53D8 3F E0 DD BB */ lis r31, 0xDDBADDBA@ha
+/* 802B977C 002B53DC 7D 6C 28 50 */ subf r11, r12, r5
+/* 802B9780 002B53E0 3B A0 00 F0 */ li r29, 0xf0
+/* 802B9784 002B53E4 3B FF DD BA */ addi r31, r31, 0xDDBADDBA@l
+/* 802B9788 002B53E8 3B C0 00 00 */ li r30, 0
+/* 802B978C 002B53EC 7D 69 03 A6 */ mtctr r11
+/* 802B9790 002B53F0 7C 0C 28 40 */ cmplw r12, r5
+/* 802B9794 002B53F4 40 80 00 2C */ bge lbl_802B97C0
+lbl_802B9798:
+/* 802B9798 002B53F8 9B A6 00 05 */ stb r29, 5(r6)
+/* 802B979C 002B53FC 7C A6 4A 14 */ add r5, r6, r9
+/* 802B97A0 002B5400 7C C4 33 78 */ mr r4, r6
+/* 802B97A4 002B5404 38 E7 00 01 */ addi r7, r7, 1
+/* 802B97A8 002B5408 98 66 00 04 */ stb r3, 4(r6)
+/* 802B97AC 002B540C 9B C6 00 06 */ stb r30, 6(r6)
+/* 802B97B0 002B5410 7C C6 42 14 */ add r6, r6, r8
+/* 802B97B4 002B5414 93 E5 00 08 */ stw r31, 8(r5)
+/* 802B97B8 002B5418 90 C4 00 00 */ stw r6, 0(r4)
+/* 802B97BC 002B541C 42 00 FF DC */ bdnz lbl_802B9798
+lbl_802B97C0:
+/* 802B97C0 002B5420 38 A0 00 00 */ li r5, 0
+/* 802B97C4 002B5424 3C 6A 00 03 */ addis r3, r10, 3
+/* 802B97C8 002B5428 90 A4 00 00 */ stw r5, 0(r4)
+/* 802B97CC 002B542C 7C 63 02 14 */ add r3, r3, r0
+/* 802B97D0 002B5430 39 61 00 40 */ addi r11, r1, 0x40
+/* 802B97D4 002B5434 90 83 89 90 */ stw r4, -0x7670(r3)
+/* 802B97D8 002B5438 4B F0 D9 79 */ bl _restgpr_18
+/* 802B97DC 002B543C 80 01 00 44 */ lwz r0, 0x44(r1)
+/* 802B97E0 002B5440 7C 08 03 A6 */ mtlr r0
+/* 802B97E4 002B5444 38 21 00 40 */ addi r1, r1, 0x40
+/* 802B97E8 002B5448 4E 80 00 20 */ blr
+
+.global gki_buffer_init
+gki_buffer_init:
+/* 802B97EC 002B544C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802B97F0 002B5450 7C 08 02 A6 */ mflr r0
+/* 802B97F4 002B5454 3C 60 80 54 */ lis r3, lbl_8053C2C0@ha
+/* 802B97F8 002B5458 38 C0 00 00 */ li r6, 0
+/* 802B97FC 002B545C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802B9800 002B5460 38 00 00 02 */ li r0, 2
+/* 802B9804 002B5464 38 63 C2 C0 */ addi r3, r3, lbl_8053C2C0@l
+/* 802B9808 002B5468 38 80 00 00 */ li r4, 0
+/* 802B980C 002B546C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802B9810 002B5470 3B E3 00 54 */ addi r31, r3, 0x54
+/* 802B9814 002B5474 7C 09 03 A6 */ mtctr r0
+lbl_802B9818:
+/* 802B9818 002B5478 54 C0 25 36 */ rlwinm r0, r6, 4, 0x14, 0x1b
+/* 802B981C 002B547C 38 C6 00 01 */ addi r6, r6, 1
+/* 802B9820 002B5480 7C BF 02 14 */ add r5, r31, r0
+/* 802B9824 002B5484 3C 65 00 03 */ addis r3, r5, 3
+/* 802B9828 002B5488 54 C0 25 36 */ rlwinm r0, r6, 4, 0x14, 0x1b
+/* 802B982C 002B548C 90 83 88 8C */ stw r4, -0x7774(r3)
+/* 802B9830 002B5490 7C BF 02 14 */ add r5, r31, r0
+/* 802B9834 002B5494 38 C6 00 01 */ addi r6, r6, 1
+/* 802B9838 002B5498 90 83 89 0C */ stw r4, -0x76f4(r3)
+/* 802B983C 002B549C 54 C0 25 36 */ rlwinm r0, r6, 4, 0x14, 0x1b
+/* 802B9840 002B54A0 38 C6 00 01 */ addi r6, r6, 1
+/* 802B9844 002B54A4 90 83 88 90 */ stw r4, -0x7770(r3)
+/* 802B9848 002B54A8 90 83 89 10 */ stw r4, -0x76f0(r3)
+/* 802B984C 002B54AC 90 83 88 94 */ stw r4, -0x776c(r3)
+/* 802B9850 002B54B0 90 83 89 14 */ stw r4, -0x76ec(r3)
+/* 802B9854 002B54B4 90 83 88 98 */ stw r4, -0x7768(r3)
+/* 802B9858 002B54B8 90 83 89 18 */ stw r4, -0x76e8(r3)
+/* 802B985C 002B54BC 3C 65 00 03 */ addis r3, r5, 3
+/* 802B9860 002B54C0 7C BF 02 14 */ add r5, r31, r0
+/* 802B9864 002B54C4 54 C0 25 36 */ rlwinm r0, r6, 4, 0x14, 0x1b
+/* 802B9868 002B54C8 90 83 88 8C */ stw r4, -0x7774(r3)
+/* 802B986C 002B54CC 38 C6 00 01 */ addi r6, r6, 1
+/* 802B9870 002B54D0 90 83 89 0C */ stw r4, -0x76f4(r3)
+/* 802B9874 002B54D4 90 83 88 90 */ stw r4, -0x7770(r3)
+/* 802B9878 002B54D8 90 83 89 10 */ stw r4, -0x76f0(r3)
+/* 802B987C 002B54DC 90 83 88 94 */ stw r4, -0x776c(r3)
+/* 802B9880 002B54E0 90 83 89 14 */ stw r4, -0x76ec(r3)
+/* 802B9884 002B54E4 90 83 88 98 */ stw r4, -0x7768(r3)
+/* 802B9888 002B54E8 90 83 89 18 */ stw r4, -0x76e8(r3)
+/* 802B988C 002B54EC 3C 65 00 03 */ addis r3, r5, 3
+/* 802B9890 002B54F0 7C BF 02 14 */ add r5, r31, r0
+/* 802B9894 002B54F4 90 83 88 8C */ stw r4, -0x7774(r3)
+/* 802B9898 002B54F8 90 83 89 0C */ stw r4, -0x76f4(r3)
+/* 802B989C 002B54FC 90 83 88 90 */ stw r4, -0x7770(r3)
+/* 802B98A0 002B5500 90 83 89 10 */ stw r4, -0x76f0(r3)
+/* 802B98A4 002B5504 90 83 88 94 */ stw r4, -0x776c(r3)
+/* 802B98A8 002B5508 90 83 89 14 */ stw r4, -0x76ec(r3)
+/* 802B98AC 002B550C 90 83 88 98 */ stw r4, -0x7768(r3)
+/* 802B98B0 002B5510 90 83 89 18 */ stw r4, -0x76e8(r3)
+/* 802B98B4 002B5514 3C 65 00 03 */ addis r3, r5, 3
+/* 802B98B8 002B5518 90 83 88 8C */ stw r4, -0x7774(r3)
+/* 802B98BC 002B551C 90 83 89 0C */ stw r4, -0x76f4(r3)
+/* 802B98C0 002B5520 90 83 88 90 */ stw r4, -0x7770(r3)
+/* 802B98C4 002B5524 90 83 89 10 */ stw r4, -0x76f0(r3)
+/* 802B98C8 002B5528 90 83 88 94 */ stw r4, -0x776c(r3)
+/* 802B98CC 002B552C 90 83 89 14 */ stw r4, -0x76ec(r3)
+/* 802B98D0 002B5530 90 83 88 98 */ stw r4, -0x7768(r3)
+/* 802B98D4 002B5534 90 83 89 18 */ stw r4, -0x76e8(r3)
+/* 802B98D8 002B5538 42 00 FF 40 */ bdnz lbl_802B9818
+/* 802B98DC 002B553C 38 00 00 03 */ li r0, 3
+/* 802B98E0 002B5540 39 40 00 00 */ li r10, 0
+/* 802B98E4 002B5544 38 E0 00 00 */ li r7, 0
+/* 802B98E8 002B5548 7C 09 03 A6 */ mtctr r0
+lbl_802B98EC:
+/* 802B98EC 002B554C 55 40 15 BA */ rlwinm r0, r10, 2, 0x16, 0x1d
+/* 802B98F0 002B5550 55 44 0D FC */ rlwinm r4, r10, 1, 0x17, 0x1e
+/* 802B98F4 002B5554 7D 1F 02 14 */ add r8, r31, r0
+/* 802B98F8 002B5558 3C C8 00 03 */ addis r6, r8, 3
+/* 802B98FC 002B555C 55 40 25 36 */ rlwinm r0, r10, 4, 0x14, 0x1b
+/* 802B9900 002B5560 90 E6 8A 1C */ stw r7, -0x75e4(r6)
+/* 802B9904 002B5564 3C 84 00 03 */ addis r4, r4, 3
+/* 802B9908 002B5568 7D 3F 02 14 */ add r9, r31, r0
+/* 802B990C 002B556C 39 4A 00 01 */ addi r10, r10, 1
+/* 802B9910 002B5570 90 E6 8A 40 */ stw r7, -0x75c0(r6)
+/* 802B9914 002B5574 38 A4 8A 64 */ addi r5, r4, -30108
+/* 802B9918 002B5578 55 40 15 BA */ rlwinm r0, r10, 2, 0x16, 0x1d
+/* 802B991C 002B557C 55 44 0D FC */ rlwinm r4, r10, 1, 0x17, 0x1e
+/* 802B9920 002B5580 7C FF 2B 2E */ sthx r7, r31, r5
+/* 802B9924 002B5584 7D 1F 02 14 */ add r8, r31, r0
+/* 802B9928 002B5588 3C 69 00 03 */ addis r3, r9, 3
+/* 802B992C 002B558C 55 40 25 36 */ rlwinm r0, r10, 4, 0x14, 0x1b
+/* 802B9930 002B5590 90 E3 89 8C */ stw r7, -0x7674(r3)
+/* 802B9934 002B5594 3C 84 00 03 */ addis r4, r4, 3
+/* 802B9938 002B5598 3C C8 00 03 */ addis r6, r8, 3
+/* 802B993C 002B559C 7D 3F 02 14 */ add r9, r31, r0
+/* 802B9940 002B55A0 90 E3 89 90 */ stw r7, -0x7670(r3)
+/* 802B9944 002B55A4 39 4A 00 01 */ addi r10, r10, 1
+/* 802B9948 002B55A8 38 A4 8A 64 */ addi r5, r4, -30108
+/* 802B994C 002B55AC B0 E3 89 94 */ sth r7, -0x766c(r3)
+/* 802B9950 002B55B0 55 40 15 BA */ rlwinm r0, r10, 2, 0x16, 0x1d
+/* 802B9954 002B55B4 7D 1F 02 14 */ add r8, r31, r0
+/* 802B9958 002B55B8 55 44 0D FC */ rlwinm r4, r10, 1, 0x17, 0x1e
+/* 802B995C 002B55BC B0 E3 89 96 */ sth r7, -0x766a(r3)
+/* 802B9960 002B55C0 55 40 25 36 */ rlwinm r0, r10, 4, 0x14, 0x1b
+/* 802B9964 002B55C4 3C 84 00 03 */ addis r4, r4, 3
+/* 802B9968 002B55C8 39 4A 00 01 */ addi r10, r10, 1
+/* 802B996C 002B55CC B0 E3 89 98 */ sth r7, -0x7668(r3)
+/* 802B9970 002B55D0 B0 E3 89 9A */ sth r7, -0x7666(r3)
+/* 802B9974 002B55D4 3C 69 00 03 */ addis r3, r9, 3
+/* 802B9978 002B55D8 7D 3F 02 14 */ add r9, r31, r0
+/* 802B997C 002B55DC 90 E6 8A 1C */ stw r7, -0x75e4(r6)
+/* 802B9980 002B55E0 90 E6 8A 40 */ stw r7, -0x75c0(r6)
+/* 802B9984 002B55E4 3C C8 00 03 */ addis r6, r8, 3
+/* 802B9988 002B55E8 7C FF 2B 2E */ sthx r7, r31, r5
+/* 802B998C 002B55EC 38 A4 8A 64 */ addi r5, r4, -30108
+/* 802B9990 002B55F0 90 E3 89 8C */ stw r7, -0x7674(r3)
+/* 802B9994 002B55F4 90 E3 89 90 */ stw r7, -0x7670(r3)
+/* 802B9998 002B55F8 B0 E3 89 94 */ sth r7, -0x766c(r3)
+/* 802B999C 002B55FC B0 E3 89 96 */ sth r7, -0x766a(r3)
+/* 802B99A0 002B5600 B0 E3 89 98 */ sth r7, -0x7668(r3)
+/* 802B99A4 002B5604 B0 E3 89 9A */ sth r7, -0x7666(r3)
+/* 802B99A8 002B5608 3C 69 00 03 */ addis r3, r9, 3
+/* 802B99AC 002B560C 90 E6 8A 1C */ stw r7, -0x75e4(r6)
+/* 802B99B0 002B5610 90 E6 8A 40 */ stw r7, -0x75c0(r6)
+/* 802B99B4 002B5614 7C FF 2B 2E */ sthx r7, r31, r5
+/* 802B99B8 002B5618 90 E3 89 8C */ stw r7, -0x7674(r3)
+/* 802B99BC 002B561C 90 E3 89 90 */ stw r7, -0x7670(r3)
+/* 802B99C0 002B5620 B0 E3 89 94 */ sth r7, -0x766c(r3)
+/* 802B99C4 002B5624 B0 E3 89 96 */ sth r7, -0x766a(r3)
+/* 802B99C8 002B5628 B0 E3 89 98 */ sth r7, -0x7668(r3)
+/* 802B99CC 002B562C B0 E3 89 9A */ sth r7, -0x7666(r3)
+/* 802B99D0 002B5630 42 00 FF 1C */ bdnz lbl_802B98EC
+/* 802B99D4 002B5634 3C 80 00 01 */ lis r4, 0x0000FFF0@ha
+/* 802B99D8 002B5638 3C 7F 00 03 */ addis r3, r31, 3
+/* 802B99DC 002B563C 38 04 FF F0 */ addi r0, r4, 0x0000FFF0@l
+/* 802B99E0 002B5640 7F E6 FB 78 */ mr r6, r31
+/* 802B99E4 002B5644 B0 03 8A 7C */ sth r0, -0x7584(r3)
+/* 802B99E8 002B5648 38 60 00 00 */ li r3, 0
+/* 802B99EC 002B564C 38 80 00 40 */ li r4, 0x40
+/* 802B99F0 002B5650 38 A0 00 30 */ li r5, 0x30
+/* 802B99F4 002B5654 4B FF FB D9 */ bl gki_init_free_queue
+/* 802B99F8 002B5658 38 DF 0E 40 */ addi r6, r31, 0xe40
+/* 802B99FC 002B565C 38 60 00 01 */ li r3, 1
+/* 802B9A00 002B5660 38 80 00 80 */ li r4, 0x80
+/* 802B9A04 002B5664 38 A0 00 1A */ li r5, 0x1a
+/* 802B9A08 002B5668 4B FF FB C5 */ bl gki_init_free_queue
+/* 802B9A0C 002B566C 38 DF 1C 78 */ addi r6, r31, 0x1c78
+/* 802B9A10 002B5670 38 60 00 02 */ li r3, 2
+/* 802B9A14 002B5674 38 80 02 94 */ li r4, 0x294
+/* 802B9A18 002B5678 38 A0 00 2D */ li r5, 0x2d
+/* 802B9A1C 002B567C 4B FF FB B1 */ bl gki_init_free_queue
+/* 802B9A20 002B5680 3C DF 00 01 */ addis r6, r31, 1
+/* 802B9A24 002B5684 38 60 00 03 */ li r3, 3
+/* 802B9A28 002B5688 38 80 07 08 */ li r4, 0x708
+/* 802B9A2C 002B568C 38 A0 00 1E */ li r5, 0x1e
+/* 802B9A30 002B5690 38 C6 92 98 */ addi r6, r6, -28008
+/* 802B9A34 002B5694 4B FF FB 99 */ bl gki_init_free_queue
+/* 802B9A38 002B5698 3C DF 00 01 */ addis r6, r31, 1
+/* 802B9A3C 002B569C 38 60 00 04 */ li r3, 4
+/* 802B9A40 002B56A0 38 80 20 00 */ li r4, 0x2000
+/* 802B9A44 002B56A4 38 A0 00 09 */ li r5, 9
+/* 802B9A48 002B56A8 38 C6 66 F0 */ addi r6, r6, 0x66f0
+/* 802B9A4C 002B56AC 4B FF FB 81 */ bl gki_init_free_queue
+/* 802B9A50 002B56B0 3C DF 00 03 */ addis r6, r31, 3
+/* 802B9A54 002B56B4 38 00 00 00 */ li r0, 0
+/* 802B9A58 002B56B8 98 06 8A 7E */ stb r0, -0x7582(r6)
+/* 802B9A5C 002B56BC 38 00 00 01 */ li r0, 1
+/* 802B9A60 002B56C0 38 A0 00 02 */ li r5, 2
+/* 802B9A64 002B56C4 38 80 00 03 */ li r4, 3
+/* 802B9A68 002B56C8 98 06 8A 7F */ stb r0, -0x7581(r6)
+/* 802B9A6C 002B56CC 38 60 00 04 */ li r3, 4
+/* 802B9A70 002B56D0 38 00 00 05 */ li r0, 5
+/* 802B9A74 002B56D4 98 A6 8A 80 */ stb r5, -0x7580(r6)
+/* 802B9A78 002B56D8 98 86 8A 81 */ stb r4, -0x757f(r6)
+/* 802B9A7C 002B56DC 98 66 8A 82 */ stb r3, -0x757e(r6)
+/* 802B9A80 002B56E0 98 06 8A 87 */ stb r0, -0x7579(r6)
+/* 802B9A84 002B56E4 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802B9A88 002B56E8 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802B9A8C 002B56EC 7C 08 03 A6 */ mtlr r0
+/* 802B9A90 002B56F0 38 21 00 10 */ addi r1, r1, 0x10
+/* 802B9A94 002B56F4 4E 80 00 20 */ blr
+
+.global GKI_init_q
+GKI_init_q:
+/* 802B9A98 002B56F8 38 00 00 00 */ li r0, 0
+/* 802B9A9C 002B56FC 90 03 00 04 */ stw r0, 4(r3)
+/* 802B9AA0 002B5700 90 03 00 00 */ stw r0, 0(r3)
+/* 802B9AA4 002B5704 B0 03 00 08 */ sth r0, 8(r3)
+/* 802B9AA8 002B5708 4E 80 00 20 */ blr
+
+.global GKI_getbuf
+GKI_getbuf:
+/* 802B9AAC 002B570C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802B9AB0 002B5710 7C 08 02 A6 */ mflr r0
+/* 802B9AB4 002B5714 3C 80 80 54 */ lis r4, lbl_8053C2C0@ha
+/* 802B9AB8 002B5718 2C 03 00 00 */ cmpwi r3, 0
+/* 802B9ABC 002B571C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802B9AC0 002B5720 38 84 C2 C0 */ addi r4, r4, lbl_8053C2C0@l
+/* 802B9AC4 002B5724 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802B9AC8 002B5728 93 C1 00 08 */ stw r30, 8(r1)
+/* 802B9ACC 002B572C 3B C4 00 54 */ addi r30, r4, 0x54
+/* 802B9AD0 002B5730 40 82 00 24 */ bne lbl_802B9AF4
+/* 802B9AD4 002B5734 3C 60 00 01 */ lis r3, 0x0000FFF6@ha
+/* 802B9AD8 002B5738 3C 80 80 44 */ lis r4, lbl_8043F130@ha
+/* 802B9ADC 002B573C 38 03 FF F6 */ addi r0, r3, 0x0000FFF6@l
+/* 802B9AE0 002B5740 54 03 04 3E */ clrlwi r3, r0, 0x10
+/* 802B9AE4 002B5744 38 84 F1 30 */ addi r4, r4, lbl_8043F130@l
+/* 802B9AE8 002B5748 48 00 16 DD */ bl func_802BB1C4
+/* 802B9AEC 002B574C 38 60 00 00 */ li r3, 0
+/* 802B9AF0 002B5750 48 00 01 44 */ b lbl_802B9C34
+lbl_802B9AF4:
+/* 802B9AF4 002B5754 3C 9E 00 03 */ addis r4, r30, 3
+/* 802B9AF8 002B5758 3B E0 00 00 */ li r31, 0
+/* 802B9AFC 002B575C 88 A4 8A 87 */ lbz r5, -0x7579(r4)
+/* 802B9B00 002B5760 48 00 00 30 */ b lbl_802B9B30
+lbl_802B9B04:
+/* 802B9B04 002B5764 57 E4 06 3E */ clrlwi r4, r31, 0x18
+/* 802B9B08 002B5768 3C 84 00 03 */ addis r4, r4, 3
+/* 802B9B0C 002B576C 38 04 8A 7E */ addi r0, r4, -30082
+/* 802B9B10 002B5770 7C 1E 00 AE */ lbzx r0, r30, r0
+/* 802B9B14 002B5774 54 04 20 36 */ slwi r4, r0, 4
+/* 802B9B18 002B5778 3C 84 00 03 */ addis r4, r4, 3
+/* 802B9B1C 002B577C 38 04 89 94 */ addi r0, r4, -30316
+/* 802B9B20 002B5780 7C 1E 02 2E */ lhzx r0, r30, r0
+/* 802B9B24 002B5784 7C 03 00 40 */ cmplw r3, r0
+/* 802B9B28 002B5788 40 81 00 14 */ ble lbl_802B9B3C
+/* 802B9B2C 002B578C 3B FF 00 01 */ addi r31, r31, 1
+lbl_802B9B30:
+/* 802B9B30 002B5790 57 E0 06 3E */ clrlwi r0, r31, 0x18
+/* 802B9B34 002B5794 7C 00 28 40 */ cmplw r0, r5
+/* 802B9B38 002B5798 41 80 FF CC */ blt lbl_802B9B04
+lbl_802B9B3C:
+/* 802B9B3C 002B579C 57 E0 06 3E */ clrlwi r0, r31, 0x18
+/* 802B9B40 002B57A0 7C 00 28 40 */ cmplw r0, r5
+/* 802B9B44 002B57A4 40 82 00 24 */ bne lbl_802B9B68
+/* 802B9B48 002B57A8 3C 60 00 01 */ lis r3, 0x0000FFF7@ha
+/* 802B9B4C 002B57AC 3C 80 80 44 */ lis r4, lbl_8043F148@ha
+/* 802B9B50 002B57B0 38 03 FF F7 */ addi r0, r3, 0x0000FFF7@l
+/* 802B9B54 002B57B4 54 03 04 3E */ clrlwi r3, r0, 0x10
+/* 802B9B58 002B57B8 38 84 F1 48 */ addi r4, r4, lbl_8043F148@l
+/* 802B9B5C 002B57BC 48 00 16 69 */ bl func_802BB1C4
+/* 802B9B60 002B57C0 38 60 00 00 */ li r3, 0
+/* 802B9B64 002B57C4 48 00 00 D0 */ b lbl_802B9C34
+lbl_802B9B68:
+/* 802B9B68 002B57C8 48 00 16 19 */ bl func_802BB180
+/* 802B9B6C 002B57CC 3C DE 00 03 */ addis r6, r30, 3
+/* 802B9B70 002B57D0 38 A0 00 01 */ li r5, 1
+/* 802B9B74 002B57D4 88 E6 8A 87 */ lbz r7, -0x7579(r6)
+/* 802B9B78 002B57D8 48 00 00 A8 */ b lbl_802B9C20
+lbl_802B9B7C:
+/* 802B9B7C 002B57DC 57 E4 06 3E */ clrlwi r4, r31, 0x18
+/* 802B9B80 002B57E0 A0 66 8A 7C */ lhz r3, -0x7584(r6)
+/* 802B9B84 002B57E4 3C 84 00 03 */ addis r4, r4, 3
+/* 802B9B88 002B57E8 38 04 8A 7E */ addi r0, r4, -30082
+/* 802B9B8C 002B57EC 7C 9E 00 AE */ lbzx r4, r30, r0
+/* 802B9B90 002B57F0 7C A0 20 30 */ slw r0, r5, r4
+/* 802B9B94 002B57F4 7C 60 00 39 */ and. r0, r3, r0
+/* 802B9B98 002B57F8 40 82 00 84 */ bne lbl_802B9C1C
+/* 802B9B9C 002B57FC 54 80 25 36 */ rlwinm r0, r4, 4, 0x14, 0x1b
+/* 802B9BA0 002B5800 7C 86 02 14 */ add r4, r6, r0
+/* 802B9BA4 002B5804 A0 64 89 98 */ lhz r3, -0x7668(r4)
+/* 802B9BA8 002B5808 A0 04 89 96 */ lhz r0, -0x766a(r4)
+/* 802B9BAC 002B580C 7C 03 00 40 */ cmplw r3, r0
+/* 802B9BB0 002B5810 40 80 00 6C */ bge lbl_802B9C1C
+/* 802B9BB4 002B5814 83 C4 89 8C */ lwz r30, -0x7674(r4)
+/* 802B9BB8 002B5818 80 1E 00 00 */ lwz r0, 0(r30)
+/* 802B9BBC 002B581C 2C 00 00 00 */ cmpwi r0, 0
+/* 802B9BC0 002B5820 90 04 89 8C */ stw r0, -0x7674(r4)
+/* 802B9BC4 002B5824 40 82 00 0C */ bne lbl_802B9BD0
+/* 802B9BC8 002B5828 38 00 00 00 */ li r0, 0
+/* 802B9BCC 002B582C 90 04 89 90 */ stw r0, -0x7670(r4)
+lbl_802B9BD0:
+/* 802B9BD0 002B5830 A0 64 89 98 */ lhz r3, -0x7668(r4)
+/* 802B9BD4 002B5834 38 03 00 01 */ addi r0, r3, 1
+/* 802B9BD8 002B5838 B0 04 89 98 */ sth r0, -0x7668(r4)
+/* 802B9BDC 002B583C 54 03 04 3E */ clrlwi r3, r0, 0x10
+/* 802B9BE0 002B5840 A0 04 89 9A */ lhz r0, -0x7666(r4)
+/* 802B9BE4 002B5844 7C 03 00 40 */ cmplw r3, r0
+/* 802B9BE8 002B5848 40 81 00 0C */ ble lbl_802B9BF4
+/* 802B9BEC 002B584C A0 04 89 98 */ lhz r0, -0x7668(r4)
+/* 802B9BF0 002B5850 B0 04 89 9A */ sth r0, -0x7666(r4)
+lbl_802B9BF4:
+/* 802B9BF4 002B5854 48 00 15 69 */ bl func_802BB15C
+/* 802B9BF8 002B5858 48 00 15 5D */ bl func_802BB154
+/* 802B9BFC 002B585C 98 7E 00 05 */ stb r3, 5(r30)
+/* 802B9C00 002B5860 38 80 00 01 */ li r4, 1
+/* 802B9C04 002B5864 38 00 00 00 */ li r0, 0
+/* 802B9C08 002B5868 38 7E 00 08 */ addi r3, r30, 8
+/* 802B9C0C 002B586C 98 9E 00 06 */ stb r4, 6(r30)
+/* 802B9C10 002B5870 90 1E 00 00 */ stw r0, 0(r30)
+/* 802B9C14 002B5874 98 1E 00 07 */ stb r0, 7(r30)
+/* 802B9C18 002B5878 48 00 00 1C */ b lbl_802B9C34
+lbl_802B9C1C:
+/* 802B9C1C 002B587C 3B FF 00 01 */ addi r31, r31, 1
+lbl_802B9C20:
+/* 802B9C20 002B5880 57 E0 06 3E */ clrlwi r0, r31, 0x18
+/* 802B9C24 002B5884 7C 00 38 40 */ cmplw r0, r7
+/* 802B9C28 002B5888 41 80 FF 54 */ blt lbl_802B9B7C
+/* 802B9C2C 002B588C 48 00 15 31 */ bl func_802BB15C
+/* 802B9C30 002B5890 38 60 00 00 */ li r3, 0
+lbl_802B9C34:
+/* 802B9C34 002B5894 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802B9C38 002B5898 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802B9C3C 002B589C 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802B9C40 002B58A0 7C 08 03 A6 */ mtlr r0
+/* 802B9C44 002B58A4 38 21 00 10 */ addi r1, r1, 0x10
+/* 802B9C48 002B58A8 4E 80 00 20 */ blr
+
+.global GKI_getpoolbuf
+GKI_getpoolbuf:
+/* 802B9C4C 002B58AC 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802B9C50 002B58B0 7C 08 02 A6 */ mflr r0
+/* 802B9C54 002B58B4 3C 80 80 54 */ lis r4, lbl_8053C2C0@ha
+/* 802B9C58 002B58B8 28 03 00 09 */ cmplwi r3, 9
+/* 802B9C5C 002B58BC 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802B9C60 002B58C0 38 84 C2 C0 */ addi r4, r4, lbl_8053C2C0@l
+/* 802B9C64 002B58C4 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802B9C68 002B58C8 7C 7F 1B 78 */ mr r31, r3
+/* 802B9C6C 002B58CC 93 C1 00 08 */ stw r30, 8(r1)
+/* 802B9C70 002B58D0 3B C4 00 54 */ addi r30, r4, 0x54
+/* 802B9C74 002B58D4 41 80 00 0C */ blt lbl_802B9C80
+/* 802B9C78 002B58D8 38 60 00 00 */ li r3, 0
+/* 802B9C7C 002B58DC 48 00 00 A0 */ b lbl_802B9D1C
+lbl_802B9C80:
+/* 802B9C80 002B58E0 48 00 15 01 */ bl func_802BB180
+/* 802B9C84 002B58E4 57 FF 25 36 */ rlwinm r31, r31, 4, 0x14, 0x1b
+/* 802B9C88 002B58E8 3C 1E 00 03 */ addis r0, r30, 3
+/* 802B9C8C 002B58EC 7C 80 FA 14 */ add r4, r0, r31
+/* 802B9C90 002B58F0 A0 64 89 98 */ lhz r3, -0x7668(r4)
+/* 802B9C94 002B58F4 A0 04 89 96 */ lhz r0, -0x766a(r4)
+/* 802B9C98 002B58F8 7C 03 00 40 */ cmplw r3, r0
+/* 802B9C9C 002B58FC 40 80 00 6C */ bge lbl_802B9D08
+/* 802B9CA0 002B5900 83 E4 89 8C */ lwz r31, -0x7674(r4)
+/* 802B9CA4 002B5904 80 1F 00 00 */ lwz r0, 0(r31)
+/* 802B9CA8 002B5908 2C 00 00 00 */ cmpwi r0, 0
+/* 802B9CAC 002B590C 90 04 89 8C */ stw r0, -0x7674(r4)
+/* 802B9CB0 002B5910 40 82 00 0C */ bne lbl_802B9CBC
+/* 802B9CB4 002B5914 38 00 00 00 */ li r0, 0
+/* 802B9CB8 002B5918 90 04 89 90 */ stw r0, -0x7670(r4)
+lbl_802B9CBC:
+/* 802B9CBC 002B591C A0 64 89 98 */ lhz r3, -0x7668(r4)
+/* 802B9CC0 002B5920 38 03 00 01 */ addi r0, r3, 1
+/* 802B9CC4 002B5924 B0 04 89 98 */ sth r0, -0x7668(r4)
+/* 802B9CC8 002B5928 54 03 04 3E */ clrlwi r3, r0, 0x10
+/* 802B9CCC 002B592C A0 04 89 9A */ lhz r0, -0x7666(r4)
+/* 802B9CD0 002B5930 7C 03 00 40 */ cmplw r3, r0
+/* 802B9CD4 002B5934 40 81 00 0C */ ble lbl_802B9CE0
+/* 802B9CD8 002B5938 A0 04 89 98 */ lhz r0, -0x7668(r4)
+/* 802B9CDC 002B593C B0 04 89 9A */ sth r0, -0x7666(r4)
+lbl_802B9CE0:
+/* 802B9CE0 002B5940 48 00 14 7D */ bl func_802BB15C
+/* 802B9CE4 002B5944 48 00 14 71 */ bl func_802BB154
+/* 802B9CE8 002B5948 98 7F 00 05 */ stb r3, 5(r31)
+/* 802B9CEC 002B594C 38 80 00 01 */ li r4, 1
+/* 802B9CF0 002B5950 38 00 00 00 */ li r0, 0
+/* 802B9CF4 002B5954 38 7F 00 08 */ addi r3, r31, 8
+/* 802B9CF8 002B5958 98 9F 00 06 */ stb r4, 6(r31)
+/* 802B9CFC 002B595C 90 1F 00 00 */ stw r0, 0(r31)
+/* 802B9D00 002B5960 98 1F 00 07 */ stb r0, 7(r31)
+/* 802B9D04 002B5964 48 00 00 18 */ b lbl_802B9D1C
+lbl_802B9D08:
+/* 802B9D08 002B5968 48 00 14 55 */ bl func_802BB15C
+/* 802B9D0C 002B596C 3C 1E 00 03 */ addis r0, r30, 3
+/* 802B9D10 002B5970 7C 60 FA 14 */ add r3, r0, r31
+/* 802B9D14 002B5974 A0 63 89 94 */ lhz r3, -0x766c(r3)
+/* 802B9D18 002B5978 4B FF FD 95 */ bl GKI_getbuf
+lbl_802B9D1C:
+/* 802B9D1C 002B597C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802B9D20 002B5980 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802B9D24 002B5984 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802B9D28 002B5988 7C 08 03 A6 */ mtlr r0
+/* 802B9D2C 002B598C 38 21 00 10 */ addi r1, r1, 0x10
+/* 802B9D30 002B5990 4E 80 00 20 */ blr
+
+.global GKI_freebuf
+GKI_freebuf:
+/* 802B9D34 002B5994 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802B9D38 002B5998 7C 08 02 A6 */ mflr r0
+/* 802B9D3C 002B599C 3C A0 80 44 */ lis r5, lbl_8043F130@ha
+/* 802B9D40 002B59A0 2C 03 00 00 */ cmpwi r3, 0
+/* 802B9D44 002B59A4 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802B9D48 002B59A8 38 A5 F1 30 */ addi r5, r5, lbl_8043F130@l
+/* 802B9D4C 002B59AC 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802B9D50 002B59B0 41 82 00 7C */ beq lbl_802B9DCC
+/* 802B9D54 002B59B4 3B E3 FF F8 */ addi r31, r3, -8
+/* 802B9D58 002B59B8 57 E0 07 FF */ clrlwi. r0, r31, 0x1f
+/* 802B9D5C 002B59BC 41 82 00 0C */ beq lbl_802B9D68
+/* 802B9D60 002B59C0 38 00 00 00 */ li r0, 0
+/* 802B9D64 002B59C4 48 00 00 30 */ b lbl_802B9D94
+lbl_802B9D68:
+/* 802B9D68 002B59C8 88 1F 00 04 */ lbz r0, 4(r31)
+/* 802B9D6C 002B59CC 28 00 00 09 */ cmplwi r0, 9
+/* 802B9D70 002B59D0 40 80 00 20 */ bge lbl_802B9D90
+/* 802B9D74 002B59D4 3C 80 80 54 */ lis r4, lbl_8053C2C0@ha
+/* 802B9D78 002B59D8 54 00 25 36 */ rlwinm r0, r0, 4, 0x14, 0x1b
+/* 802B9D7C 002B59DC 38 84 C2 C0 */ addi r4, r4, lbl_8053C2C0@l
+/* 802B9D80 002B59E0 3C 84 00 03 */ addis r4, r4, 3
+/* 802B9D84 002B59E4 7C 84 02 14 */ add r4, r4, r0
+/* 802B9D88 002B59E8 A0 04 89 E8 */ lhz r0, -0x7618(r4)
+/* 802B9D8C 002B59EC 48 00 00 08 */ b lbl_802B9D94
+lbl_802B9D90:
+/* 802B9D90 002B59F0 38 00 00 00 */ li r0, 0
+lbl_802B9D94:
+/* 802B9D94 002B59F4 7C 83 02 14 */ add r4, r3, r0
+/* 802B9D98 002B59F8 54 80 07 FF */ clrlwi. r0, r4, 0x1f
+/* 802B9D9C 002B59FC 41 82 00 0C */ beq lbl_802B9DA8
+/* 802B9DA0 002B5A00 38 00 00 01 */ li r0, 1
+/* 802B9DA4 002B5A04 48 00 00 20 */ b lbl_802B9DC4
+lbl_802B9DA8:
+/* 802B9DA8 002B5A08 3C 60 DD BB */ lis r3, 0xDDBADDBA@ha
+/* 802B9DAC 002B5A0C 80 84 00 00 */ lwz r4, 0(r4)
+/* 802B9DB0 002B5A10 38 03 DD BA */ addi r0, r3, 0xDDBADDBA@l
+/* 802B9DB4 002B5A14 7C 64 00 50 */ subf r3, r4, r0
+/* 802B9DB8 002B5A18 7C 00 20 50 */ subf r0, r0, r4
+/* 802B9DBC 002B5A1C 7C 60 03 78 */ or r0, r3, r0
+/* 802B9DC0 002B5A20 54 00 0F FE */ srwi r0, r0, 0x1f
+lbl_802B9DC4:
+/* 802B9DC4 002B5A24 54 00 06 3F */ clrlwi. r0, r0, 0x18
+/* 802B9DC8 002B5A28 41 82 00 1C */ beq lbl_802B9DE4
+lbl_802B9DCC:
+/* 802B9DCC 002B5A2C 3C 60 00 01 */ lis r3, 0x0000FFFF@ha
+/* 802B9DD0 002B5A30 38 85 00 30 */ addi r4, r5, 0x30
+/* 802B9DD4 002B5A34 38 03 FF FF */ addi r0, r3, 0x0000FFFF@l
+/* 802B9DD8 002B5A38 54 03 04 3E */ clrlwi r3, r0, 0x10
+/* 802B9DDC 002B5A3C 48 00 13 E9 */ bl func_802BB1C4
+/* 802B9DE0 002B5A40 48 00 00 B0 */ b lbl_802B9E90
+lbl_802B9DE4:
+/* 802B9DE4 002B5A44 88 1F 00 06 */ lbz r0, 6(r31)
+/* 802B9DE8 002B5A48 28 00 00 01 */ cmplwi r0, 1
+/* 802B9DEC 002B5A4C 41 82 00 1C */ beq lbl_802B9E08
+/* 802B9DF0 002B5A50 3C 60 00 01 */ lis r3, 0x0000FFFC@ha
+/* 802B9DF4 002B5A54 38 85 00 48 */ addi r4, r5, 0x48
+/* 802B9DF8 002B5A58 38 03 FF FC */ addi r0, r3, 0x0000FFFC@l
+/* 802B9DFC 002B5A5C 54 03 04 3E */ clrlwi r3, r0, 0x10
+/* 802B9E00 002B5A60 48 00 13 C5 */ bl func_802BB1C4
+/* 802B9E04 002B5A64 48 00 00 8C */ b lbl_802B9E90
+lbl_802B9E08:
+/* 802B9E08 002B5A68 88 1F 00 04 */ lbz r0, 4(r31)
+/* 802B9E0C 002B5A6C 28 00 00 09 */ cmplwi r0, 9
+/* 802B9E10 002B5A70 41 80 00 1C */ blt lbl_802B9E2C
+/* 802B9E14 002B5A74 3C 60 00 01 */ lis r3, 0x0000FFFD@ha
+/* 802B9E18 002B5A78 38 85 00 5C */ addi r4, r5, 0x5c
+/* 802B9E1C 002B5A7C 38 03 FF FD */ addi r0, r3, 0x0000FFFD@l
+/* 802B9E20 002B5A80 54 03 04 3E */ clrlwi r3, r0, 0x10
+/* 802B9E24 002B5A84 48 00 13 A1 */ bl func_802BB1C4
+/* 802B9E28 002B5A88 48 00 00 68 */ b lbl_802B9E90
+lbl_802B9E2C:
+/* 802B9E2C 002B5A8C 48 00 13 55 */ bl func_802BB180
+/* 802B9E30 002B5A90 88 1F 00 04 */ lbz r0, 4(r31)
+/* 802B9E34 002B5A94 3C 60 80 54 */ lis r3, lbl_8053C2C0@ha
+/* 802B9E38 002B5A98 38 63 C2 C0 */ addi r3, r3, lbl_8053C2C0@l
+/* 802B9E3C 002B5A9C 3C 63 00 03 */ addis r3, r3, 3
+/* 802B9E40 002B5AA0 54 00 20 36 */ slwi r0, r0, 4
+/* 802B9E44 002B5AA4 7C 83 02 14 */ add r4, r3, r0
+/* 802B9E48 002B5AA8 80 64 89 E4 */ lwz r3, -0x761c(r4)
+/* 802B9E4C 002B5AAC 2C 03 00 00 */ cmpwi r3, 0
+/* 802B9E50 002B5AB0 41 82 00 0C */ beq lbl_802B9E5C
+/* 802B9E54 002B5AB4 93 E3 00 00 */ stw r31, 0(r3)
+/* 802B9E58 002B5AB8 48 00 00 08 */ b lbl_802B9E60
+lbl_802B9E5C:
+/* 802B9E5C 002B5ABC 93 E4 89 E0 */ stw r31, -0x7620(r4)
+lbl_802B9E60:
+/* 802B9E60 002B5AC0 93 E4 89 E4 */ stw r31, -0x761c(r4)
+/* 802B9E64 002B5AC4 38 60 00 00 */ li r3, 0
+/* 802B9E68 002B5AC8 38 00 00 F0 */ li r0, 0xf0
+/* 802B9E6C 002B5ACC 90 7F 00 00 */ stw r3, 0(r31)
+/* 802B9E70 002B5AD0 98 7F 00 06 */ stb r3, 6(r31)
+/* 802B9E74 002B5AD4 98 1F 00 05 */ stb r0, 5(r31)
+/* 802B9E78 002B5AD8 A0 64 89 EC */ lhz r3, -0x7614(r4)
+/* 802B9E7C 002B5ADC 2C 03 00 00 */ cmpwi r3, 0
+/* 802B9E80 002B5AE0 41 82 00 0C */ beq lbl_802B9E8C
+/* 802B9E84 002B5AE4 38 03 FF FF */ addi r0, r3, -1
+/* 802B9E88 002B5AE8 B0 04 89 EC */ sth r0, -0x7614(r4)
+lbl_802B9E8C:
+/* 802B9E8C 002B5AEC 48 00 12 D1 */ bl func_802BB15C
+lbl_802B9E90:
+/* 802B9E90 002B5AF0 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802B9E94 002B5AF4 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802B9E98 002B5AF8 7C 08 03 A6 */ mtlr r0
+/* 802B9E9C 002B5AFC 38 21 00 10 */ addi r1, r1, 0x10
+/* 802B9EA0 002B5B00 4E 80 00 20 */ blr
+
+.global GKI_get_buf_size
+GKI_get_buf_size:
+/* 802B9EA4 002B5B04 38 63 FF F8 */ addi r3, r3, -8
+/* 802B9EA8 002B5B08 54 60 07 FF */ clrlwi. r0, r3, 0x1f
+/* 802B9EAC 002B5B0C 41 82 00 0C */ beq lbl_802B9EB8
+/* 802B9EB0 002B5B10 38 60 00 00 */ li r3, 0
+/* 802B9EB4 002B5B14 4E 80 00 20 */ blr
+lbl_802B9EB8:
+/* 802B9EB8 002B5B18 88 03 00 04 */ lbz r0, 4(r3)
+/* 802B9EBC 002B5B1C 28 00 00 09 */ cmplwi r0, 9
+/* 802B9EC0 002B5B20 40 80 00 20 */ bge lbl_802B9EE0
+/* 802B9EC4 002B5B24 3C 60 80 54 */ lis r3, lbl_8053C2C0@ha
+/* 802B9EC8 002B5B28 54 00 25 36 */ rlwinm r0, r0, 4, 0x14, 0x1b
+/* 802B9ECC 002B5B2C 38 63 C2 C0 */ addi r3, r3, lbl_8053C2C0@l
+/* 802B9ED0 002B5B30 3C 63 00 03 */ addis r3, r3, 3
+/* 802B9ED4 002B5B34 7C 63 02 14 */ add r3, r3, r0
+/* 802B9ED8 002B5B38 A0 63 89 E8 */ lhz r3, -0x7618(r3)
+/* 802B9EDC 002B5B3C 4E 80 00 20 */ blr
+lbl_802B9EE0:
+/* 802B9EE0 002B5B40 38 60 00 00 */ li r3, 0
+/* 802B9EE4 002B5B44 4E 80 00 20 */ blr
+
+.global GKI_send_msg
+GKI_send_msg:
+/* 802B9EE8 002B5B48 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802B9EEC 002B5B4C 7C 08 02 A6 */ mflr r0
+/* 802B9EF0 002B5B50 3C E0 80 54 */ lis r7, lbl_8053C2C0@ha
+/* 802B9EF4 002B5B54 3C C0 80 44 */ lis r6, lbl_8043F130@ha
+/* 802B9EF8 002B5B58 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802B9EFC 002B5B5C 28 03 00 08 */ cmplwi r3, 8
+/* 802B9F00 002B5B60 38 E7 C2 C0 */ addi r7, r7, lbl_8053C2C0@l
+/* 802B9F04 002B5B64 38 C6 F1 30 */ addi r6, r6, lbl_8043F130@l
+/* 802B9F08 002B5B68 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802B9F0C 002B5B6C 7C BF 2B 78 */ mr r31, r5
+/* 802B9F10 002B5B70 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802B9F14 002B5B74 3B C7 00 54 */ addi r30, r7, 0x54
+/* 802B9F18 002B5B78 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802B9F1C 002B5B7C 7C 9D 23 78 */ mr r29, r4
+/* 802B9F20 002B5B80 93 81 00 10 */ stw r28, 0x10(r1)
+/* 802B9F24 002B5B84 7C 7C 1B 78 */ mr r28, r3
+/* 802B9F28 002B5B88 40 80 00 20 */ bge lbl_802B9F48
+/* 802B9F2C 002B5B8C 28 04 00 04 */ cmplwi r4, 4
+/* 802B9F30 002B5B90 40 80 00 18 */ bge lbl_802B9F48
+/* 802B9F34 002B5B94 3C 1E 00 03 */ addis r0, r30, 3
+/* 802B9F38 002B5B98 7C 60 1A 14 */ add r3, r0, r3
+/* 802B9F3C 002B5B9C 88 03 87 AC */ lbz r0, -0x7854(r3)
+/* 802B9F40 002B5BA0 2C 00 00 00 */ cmpwi r0, 0
+/* 802B9F44 002B5BA4 40 82 00 24 */ bne lbl_802B9F68
+lbl_802B9F48:
+/* 802B9F48 002B5BA8 3C 60 00 01 */ lis r3, 0x0000FFFB@ha
+/* 802B9F4C 002B5BAC 38 86 00 68 */ addi r4, r6, 0x68
+/* 802B9F50 002B5BB0 38 03 FF FB */ addi r0, r3, 0x0000FFFB@l
+/* 802B9F54 002B5BB4 54 03 04 3E */ clrlwi r3, r0, 0x10
+/* 802B9F58 002B5BB8 48 00 12 6D */ bl func_802BB1C4
+/* 802B9F5C 002B5BBC 7F E3 FB 78 */ mr r3, r31
+/* 802B9F60 002B5BC0 4B FF FD D5 */ bl GKI_freebuf
+/* 802B9F64 002B5BC4 48 00 01 20 */ b lbl_802BA084
+lbl_802B9F68:
+/* 802B9F68 002B5BC8 3B E5 FF F8 */ addi r31, r5, -8
+/* 802B9F6C 002B5BCC 57 E0 07 FF */ clrlwi. r0, r31, 0x1f
+/* 802B9F70 002B5BD0 41 82 00 0C */ beq lbl_802B9F7C
+/* 802B9F74 002B5BD4 38 00 00 00 */ li r0, 0
+/* 802B9F78 002B5BD8 48 00 00 28 */ b lbl_802B9FA0
+lbl_802B9F7C:
+/* 802B9F7C 002B5BDC 88 1F 00 04 */ lbz r0, 4(r31)
+/* 802B9F80 002B5BE0 28 00 00 09 */ cmplwi r0, 9
+/* 802B9F84 002B5BE4 40 80 00 18 */ bge lbl_802B9F9C
+/* 802B9F88 002B5BE8 3C 67 00 03 */ addis r3, r7, 3
+/* 802B9F8C 002B5BEC 54 00 25 36 */ rlwinm r0, r0, 4, 0x14, 0x1b
+/* 802B9F90 002B5BF0 7C 63 02 14 */ add r3, r3, r0
+/* 802B9F94 002B5BF4 A0 03 89 E8 */ lhz r0, -0x7618(r3)
+/* 802B9F98 002B5BF8 48 00 00 08 */ b lbl_802B9FA0
+lbl_802B9F9C:
+/* 802B9F9C 002B5BFC 38 00 00 00 */ li r0, 0
+lbl_802B9FA0:
+/* 802B9FA0 002B5C00 7C 85 02 14 */ add r4, r5, r0
+/* 802B9FA4 002B5C04 54 80 07 FF */ clrlwi. r0, r4, 0x1f
+/* 802B9FA8 002B5C08 41 82 00 0C */ beq lbl_802B9FB4
+/* 802B9FAC 002B5C0C 38 00 00 01 */ li r0, 1
+/* 802B9FB0 002B5C10 48 00 00 20 */ b lbl_802B9FD0
+lbl_802B9FB4:
+/* 802B9FB4 002B5C14 3C 60 DD BB */ lis r3, 0xDDBADDBA@ha
+/* 802B9FB8 002B5C18 80 84 00 00 */ lwz r4, 0(r4)
+/* 802B9FBC 002B5C1C 38 03 DD BA */ addi r0, r3, 0xDDBADDBA@l
+/* 802B9FC0 002B5C20 7C 64 00 50 */ subf r3, r4, r0
+/* 802B9FC4 002B5C24 7C 00 20 50 */ subf r0, r0, r4
+/* 802B9FC8 002B5C28 7C 60 03 78 */ or r0, r3, r0
+/* 802B9FCC 002B5C2C 54 00 0F FE */ srwi r0, r0, 0x1f
+lbl_802B9FD0:
+/* 802B9FD0 002B5C30 54 00 06 3F */ clrlwi. r0, r0, 0x18
+/* 802B9FD4 002B5C34 41 82 00 1C */ beq lbl_802B9FF0
+/* 802B9FD8 002B5C38 3C 60 00 01 */ lis r3, 0x0000FFFF@ha
+/* 802B9FDC 002B5C3C 38 86 00 80 */ addi r4, r6, 0x80
+/* 802B9FE0 002B5C40 38 03 FF FF */ addi r0, r3, 0x0000FFFF@l
+/* 802B9FE4 002B5C44 54 03 04 3E */ clrlwi r3, r0, 0x10
+/* 802B9FE8 002B5C48 48 00 11 DD */ bl func_802BB1C4
+/* 802B9FEC 002B5C4C 48 00 00 98 */ b lbl_802BA084
+lbl_802B9FF0:
+/* 802B9FF0 002B5C50 88 1F 00 06 */ lbz r0, 6(r31)
+/* 802B9FF4 002B5C54 28 00 00 01 */ cmplwi r0, 1
+/* 802B9FF8 002B5C58 41 82 00 1C */ beq lbl_802BA014
+/* 802B9FFC 002B5C5C 3C 60 00 01 */ lis r3, 0x0000FFFA@ha
+/* 802BA000 002B5C60 38 86 00 98 */ addi r4, r6, 0x98
+/* 802BA004 002B5C64 38 03 FF FA */ addi r0, r3, 0x0000FFFA@l
+/* 802BA008 002B5C68 54 03 04 3E */ clrlwi r3, r0, 0x10
+/* 802BA00C 002B5C6C 48 00 11 B9 */ bl func_802BB1C4
+/* 802BA010 002B5C70 48 00 00 74 */ b lbl_802BA084
+lbl_802BA014:
+/* 802BA014 002B5C74 48 00 11 6D */ bl func_802BB180
+/* 802BA018 002B5C78 57 84 25 36 */ rlwinm r4, r28, 4, 0x14, 0x1b
+/* 802BA01C 002B5C7C 3C 1E 00 03 */ addis r0, r30, 3
+/* 802BA020 002B5C80 57 A5 15 BA */ rlwinm r5, r29, 2, 0x16, 0x1d
+/* 802BA024 002B5C84 7C 00 22 14 */ add r0, r0, r4
+/* 802BA028 002B5C88 7C 60 2A 14 */ add r3, r0, r5
+/* 802BA02C 002B5C8C 80 03 88 8C */ lwz r0, -0x7774(r3)
+/* 802BA030 002B5C90 2C 00 00 00 */ cmpwi r0, 0
+/* 802BA034 002B5C94 41 82 00 10 */ beq lbl_802BA044
+/* 802BA038 002B5C98 80 63 89 0C */ lwz r3, -0x76f4(r3)
+/* 802BA03C 002B5C9C 93 E3 00 00 */ stw r31, 0(r3)
+/* 802BA040 002B5CA0 48 00 00 08 */ b lbl_802BA048
+lbl_802BA044:
+/* 802BA044 002B5CA4 93 E3 88 8C */ stw r31, -0x7774(r3)
+lbl_802BA048:
+/* 802BA048 002B5CA8 3C 1E 00 03 */ addis r0, r30, 3
+/* 802BA04C 002B5CAC 38 60 00 00 */ li r3, 0
+/* 802BA050 002B5CB0 7C 80 22 14 */ add r4, r0, r4
+/* 802BA054 002B5CB4 7C 84 2A 14 */ add r4, r4, r5
+/* 802BA058 002B5CB8 38 00 00 02 */ li r0, 2
+/* 802BA05C 002B5CBC 93 E4 89 0C */ stw r31, -0x76f4(r4)
+/* 802BA060 002B5CC0 90 7F 00 00 */ stw r3, 0(r31)
+/* 802BA064 002B5CC4 98 1F 00 06 */ stb r0, 6(r31)
+/* 802BA068 002B5CC8 9B 9F 00 05 */ stb r28, 5(r31)
+/* 802BA06C 002B5CCC 48 00 10 F1 */ bl func_802BB15C
+/* 802BA070 002B5CD0 38 00 00 01 */ li r0, 1
+/* 802BA074 002B5CD4 7F 83 E3 78 */ mr r3, r28
+/* 802BA078 002B5CD8 7C 00 E8 30 */ slw r0, r0, r29
+/* 802BA07C 002B5CDC 54 04 04 3E */ clrlwi r4, r0, 0x10
+/* 802BA080 002B5CE0 48 00 10 31 */ bl func_802BB0B0
+lbl_802BA084:
+/* 802BA084 002B5CE4 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802BA088 002B5CE8 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802BA08C 002B5CEC 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802BA090 002B5CF0 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802BA094 002B5CF4 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 802BA098 002B5CF8 7C 08 03 A6 */ mtlr r0
+/* 802BA09C 002B5CFC 38 21 00 20 */ addi r1, r1, 0x20
+/* 802BA0A0 002B5D00 4E 80 00 20 */ blr
+
+.global GKI_read_mbox
+GKI_read_mbox:
+/* 802BA0A4 002B5D04 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802BA0A8 002B5D08 7C 08 02 A6 */ mflr r0
+/* 802BA0AC 002B5D0C 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802BA0B0 002B5D10 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802BA0B4 002B5D14 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802BA0B8 002B5D18 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802BA0BC 002B5D1C 7C 7D 1B 78 */ mr r29, r3
+/* 802BA0C0 002B5D20 48 00 10 95 */ bl func_802BB154
+/* 802BA0C4 002B5D24 54 60 06 3E */ clrlwi r0, r3, 0x18
+/* 802BA0C8 002B5D28 7C 7F 1B 78 */ mr r31, r3
+/* 802BA0CC 002B5D2C 28 00 00 08 */ cmplwi r0, 8
+/* 802BA0D0 002B5D30 3B C0 00 00 */ li r30, 0
+/* 802BA0D4 002B5D34 40 80 00 0C */ bge lbl_802BA0E0
+/* 802BA0D8 002B5D38 28 1D 00 04 */ cmplwi r29, 4
+/* 802BA0DC 002B5D3C 41 80 00 0C */ blt lbl_802BA0E8
+lbl_802BA0E0:
+/* 802BA0E0 002B5D40 38 60 00 00 */ li r3, 0
+/* 802BA0E4 002B5D44 48 00 00 54 */ b lbl_802BA138
+lbl_802BA0E8:
+/* 802BA0E8 002B5D48 48 00 10 99 */ bl func_802BB180
+/* 802BA0EC 002B5D4C 3C 60 80 54 */ lis r3, lbl_8053C2C0@ha
+/* 802BA0F0 002B5D50 57 E4 25 36 */ rlwinm r4, r31, 4, 0x14, 0x1b
+/* 802BA0F4 002B5D54 38 63 C2 C0 */ addi r3, r3, lbl_8053C2C0@l
+/* 802BA0F8 002B5D58 57 A6 15 BA */ rlwinm r6, r29, 2, 0x16, 0x1d
+/* 802BA0FC 002B5D5C 3C 03 00 03 */ addis r0, r3, 3
+/* 802BA100 002B5D60 7C 60 22 14 */ add r3, r0, r4
+/* 802BA104 002B5D64 38 E3 88 E0 */ addi r7, r3, -30496
+/* 802BA108 002B5D68 7C A7 30 2E */ lwzx r5, r7, r6
+/* 802BA10C 002B5D6C 2C 05 00 00 */ cmpwi r5, 0
+/* 802BA110 002B5D70 41 82 00 20 */ beq lbl_802BA130
+/* 802BA114 002B5D74 80 85 00 00 */ lwz r4, 0(r5)
+/* 802BA118 002B5D78 38 60 00 00 */ li r3, 0
+/* 802BA11C 002B5D7C 38 00 00 01 */ li r0, 1
+/* 802BA120 002B5D80 3B C5 00 08 */ addi r30, r5, 8
+/* 802BA124 002B5D84 7C 87 31 2E */ stwx r4, r7, r6
+/* 802BA128 002B5D88 90 65 00 00 */ stw r3, 0(r5)
+/* 802BA12C 002B5D8C 98 05 00 06 */ stb r0, 6(r5)
+lbl_802BA130:
+/* 802BA130 002B5D90 48 00 10 2D */ bl func_802BB15C
+/* 802BA134 002B5D94 7F C3 F3 78 */ mr r3, r30
+lbl_802BA138:
+/* 802BA138 002B5D98 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802BA13C 002B5D9C 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802BA140 002B5DA0 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802BA144 002B5DA4 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802BA148 002B5DA8 7C 08 03 A6 */ mtlr r0
+/* 802BA14C 002B5DAC 38 21 00 20 */ addi r1, r1, 0x20
+/* 802BA150 002B5DB0 4E 80 00 20 */ blr
+
+.global GKI_enqueue
+GKI_enqueue:
+/* 802BA154 002B5DB4 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802BA158 002B5DB8 7C 08 02 A6 */ mflr r0
+/* 802BA15C 002B5DBC 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802BA160 002B5DC0 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802BA164 002B5DC4 3B E4 FF F8 */ addi r31, r4, -8
+/* 802BA168 002B5DC8 57 E0 07 FF */ clrlwi. r0, r31, 0x1f
+/* 802BA16C 002B5DCC 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802BA170 002B5DD0 7C 9E 23 78 */ mr r30, r4
+/* 802BA174 002B5DD4 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802BA178 002B5DD8 7C 7D 1B 78 */ mr r29, r3
+/* 802BA17C 002B5DDC 41 82 00 0C */ beq lbl_802BA188
+/* 802BA180 002B5DE0 38 00 00 00 */ li r0, 0
+/* 802BA184 002B5DE4 48 00 00 30 */ b lbl_802BA1B4
+lbl_802BA188:
+/* 802BA188 002B5DE8 88 1F 00 04 */ lbz r0, 4(r31)
+/* 802BA18C 002B5DEC 28 00 00 09 */ cmplwi r0, 9
+/* 802BA190 002B5DF0 40 80 00 20 */ bge lbl_802BA1B0
+/* 802BA194 002B5DF4 3C 60 80 54 */ lis r3, lbl_8053C2C0@ha
+/* 802BA198 002B5DF8 54 00 25 36 */ rlwinm r0, r0, 4, 0x14, 0x1b
+/* 802BA19C 002B5DFC 38 63 C2 C0 */ addi r3, r3, lbl_8053C2C0@l
+/* 802BA1A0 002B5E00 3C 63 00 03 */ addis r3, r3, 3
+/* 802BA1A4 002B5E04 7C 63 02 14 */ add r3, r3, r0
+/* 802BA1A8 002B5E08 A0 03 89 E8 */ lhz r0, -0x7618(r3)
+/* 802BA1AC 002B5E0C 48 00 00 08 */ b lbl_802BA1B4
+lbl_802BA1B0:
+/* 802BA1B0 002B5E10 38 00 00 00 */ li r0, 0
+lbl_802BA1B4:
+/* 802BA1B4 002B5E14 7C 84 02 14 */ add r4, r4, r0
+/* 802BA1B8 002B5E18 54 80 07 FF */ clrlwi. r0, r4, 0x1f
+/* 802BA1BC 002B5E1C 41 82 00 0C */ beq lbl_802BA1C8
+/* 802BA1C0 002B5E20 38 00 00 01 */ li r0, 1
+/* 802BA1C4 002B5E24 48 00 00 20 */ b lbl_802BA1E4
+lbl_802BA1C8:
+/* 802BA1C8 002B5E28 3C 60 DD BB */ lis r3, 0xDDBADDBA@ha
+/* 802BA1CC 002B5E2C 80 84 00 00 */ lwz r4, 0(r4)
+/* 802BA1D0 002B5E30 38 03 DD BA */ addi r0, r3, 0xDDBADDBA@l
+/* 802BA1D4 002B5E34 7C 64 00 50 */ subf r3, r4, r0
+/* 802BA1D8 002B5E38 7C 00 20 50 */ subf r0, r0, r4
+/* 802BA1DC 002B5E3C 7C 60 03 78 */ or r0, r3, r0
+/* 802BA1E0 002B5E40 54 00 0F FE */ srwi r0, r0, 0x1f
+lbl_802BA1E4:
+/* 802BA1E4 002B5E44 54 00 06 3F */ clrlwi. r0, r0, 0x18
+/* 802BA1E8 002B5E48 41 82 00 20 */ beq lbl_802BA208
+/* 802BA1EC 002B5E4C 3C 60 00 01 */ lis r3, 0x0000FFFF@ha
+/* 802BA1F0 002B5E50 3C 80 80 44 */ lis r4, lbl_8043F1E0@ha
+/* 802BA1F4 002B5E54 38 03 FF FF */ addi r0, r3, 0x0000FFFF@l
+/* 802BA1F8 002B5E58 54 03 04 3E */ clrlwi r3, r0, 0x10
+/* 802BA1FC 002B5E5C 38 84 F1 E0 */ addi r4, r4, lbl_8043F1E0@l
+/* 802BA200 002B5E60 48 00 0F C5 */ bl func_802BB1C4
+/* 802BA204 002B5E64 48 00 00 70 */ b lbl_802BA274
+lbl_802BA208:
+/* 802BA208 002B5E68 88 1F 00 06 */ lbz r0, 6(r31)
+/* 802BA20C 002B5E6C 28 00 00 01 */ cmplwi r0, 1
+/* 802BA210 002B5E70 41 82 00 20 */ beq lbl_802BA230
+/* 802BA214 002B5E74 3C 60 00 01 */ lis r3, 0x0000FFF9@ha
+/* 802BA218 002B5E78 3C 80 80 44 */ lis r4, lbl_8043F1FC@ha
+/* 802BA21C 002B5E7C 38 03 FF F9 */ addi r0, r3, 0x0000FFF9@l
+/* 802BA220 002B5E80 54 03 04 3E */ clrlwi r3, r0, 0x10
+/* 802BA224 002B5E84 38 84 F1 FC */ addi r4, r4, lbl_8043F1FC@l
+/* 802BA228 002B5E88 48 00 0F 9D */ bl func_802BB1C4
+/* 802BA22C 002B5E8C 48 00 00 48 */ b lbl_802BA274
+lbl_802BA230:
+/* 802BA230 002B5E90 48 00 0F 51 */ bl func_802BB180
+/* 802BA234 002B5E94 80 1D 00 00 */ lwz r0, 0(r29)
+/* 802BA238 002B5E98 2C 00 00 00 */ cmpwi r0, 0
+/* 802BA23C 002B5E9C 41 82 00 10 */ beq lbl_802BA24C
+/* 802BA240 002B5EA0 80 7D 00 04 */ lwz r3, 4(r29)
+/* 802BA244 002B5EA4 93 E3 FF F8 */ stw r31, -8(r3)
+/* 802BA248 002B5EA8 48 00 00 08 */ b lbl_802BA250
+lbl_802BA24C:
+/* 802BA24C 002B5EAC 93 DD 00 00 */ stw r30, 0(r29)
+lbl_802BA250:
+/* 802BA250 002B5EB0 A0 9D 00 08 */ lhz r4, 8(r29)
+/* 802BA254 002B5EB4 38 60 00 00 */ li r3, 0
+/* 802BA258 002B5EB8 93 DD 00 04 */ stw r30, 4(r29)
+/* 802BA25C 002B5EBC 38 00 00 02 */ li r0, 2
+/* 802BA260 002B5EC0 38 84 00 01 */ addi r4, r4, 1
+/* 802BA264 002B5EC4 B0 9D 00 08 */ sth r4, 8(r29)
+/* 802BA268 002B5EC8 90 7F 00 00 */ stw r3, 0(r31)
+/* 802BA26C 002B5ECC 98 1F 00 06 */ stb r0, 6(r31)
+/* 802BA270 002B5ED0 48 00 0E ED */ bl func_802BB15C
+lbl_802BA274:
+/* 802BA274 002B5ED4 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802BA278 002B5ED8 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802BA27C 002B5EDC 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802BA280 002B5EE0 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802BA284 002B5EE4 7C 08 03 A6 */ mtlr r0
+/* 802BA288 002B5EE8 38 21 00 20 */ addi r1, r1, 0x20
+/* 802BA28C 002B5EEC 4E 80 00 20 */ blr
+
+.global GKI_enqueue_head
+GKI_enqueue_head:
+/* 802BA290 002B5EF0 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802BA294 002B5EF4 7C 08 02 A6 */ mflr r0
+/* 802BA298 002B5EF8 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802BA29C 002B5EFC 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802BA2A0 002B5F00 3B E4 FF F8 */ addi r31, r4, -8
+/* 802BA2A4 002B5F04 57 E0 07 FF */ clrlwi. r0, r31, 0x1f
+/* 802BA2A8 002B5F08 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802BA2AC 002B5F0C 7C 9E 23 78 */ mr r30, r4
+/* 802BA2B0 002B5F10 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802BA2B4 002B5F14 7C 7D 1B 78 */ mr r29, r3
+/* 802BA2B8 002B5F18 41 82 00 0C */ beq lbl_802BA2C4
+/* 802BA2BC 002B5F1C 38 00 00 00 */ li r0, 0
+/* 802BA2C0 002B5F20 48 00 00 30 */ b lbl_802BA2F0
+lbl_802BA2C4:
+/* 802BA2C4 002B5F24 88 1F 00 04 */ lbz r0, 4(r31)
+/* 802BA2C8 002B5F28 28 00 00 09 */ cmplwi r0, 9
+/* 802BA2CC 002B5F2C 40 80 00 20 */ bge lbl_802BA2EC
+/* 802BA2D0 002B5F30 3C 60 80 54 */ lis r3, lbl_8053C2C0@ha
+/* 802BA2D4 002B5F34 54 00 25 36 */ rlwinm r0, r0, 4, 0x14, 0x1b
+/* 802BA2D8 002B5F38 38 63 C2 C0 */ addi r3, r3, lbl_8053C2C0@l
+/* 802BA2DC 002B5F3C 3C 63 00 03 */ addis r3, r3, 3
+/* 802BA2E0 002B5F40 7C 63 02 14 */ add r3, r3, r0
+/* 802BA2E4 002B5F44 A0 03 89 E8 */ lhz r0, -0x7618(r3)
+/* 802BA2E8 002B5F48 48 00 00 08 */ b lbl_802BA2F0
+lbl_802BA2EC:
+/* 802BA2EC 002B5F4C 38 00 00 00 */ li r0, 0
+lbl_802BA2F0:
+/* 802BA2F0 002B5F50 7C 84 02 14 */ add r4, r4, r0
+/* 802BA2F4 002B5F54 54 80 07 FF */ clrlwi. r0, r4, 0x1f
+/* 802BA2F8 002B5F58 41 82 00 0C */ beq lbl_802BA304
+/* 802BA2FC 002B5F5C 38 00 00 01 */ li r0, 1
+/* 802BA300 002B5F60 48 00 00 20 */ b lbl_802BA320
+lbl_802BA304:
+/* 802BA304 002B5F64 3C 60 DD BB */ lis r3, 0xDDBADDBA@ha
+/* 802BA308 002B5F68 80 84 00 00 */ lwz r4, 0(r4)
+/* 802BA30C 002B5F6C 38 03 DD BA */ addi r0, r3, 0xDDBADDBA@l
+/* 802BA310 002B5F70 7C 64 00 50 */ subf r3, r4, r0
+/* 802BA314 002B5F74 7C 00 20 50 */ subf r0, r0, r4
+/* 802BA318 002B5F78 7C 60 03 78 */ or r0, r3, r0
+/* 802BA31C 002B5F7C 54 00 0F FE */ srwi r0, r0, 0x1f
+lbl_802BA320:
+/* 802BA320 002B5F80 54 00 06 3F */ clrlwi. r0, r0, 0x18
+/* 802BA324 002B5F84 41 82 00 20 */ beq lbl_802BA344
+/* 802BA328 002B5F88 3C 60 00 01 */ lis r3, 0x0000FFFF@ha
+/* 802BA32C 002B5F8C 3C 80 80 44 */ lis r4, lbl_8043F1E0@ha
+/* 802BA330 002B5F90 38 03 FF FF */ addi r0, r3, 0x0000FFFF@l
+/* 802BA334 002B5F94 54 03 04 3E */ clrlwi r3, r0, 0x10
+/* 802BA338 002B5F98 38 84 F1 E0 */ addi r4, r4, lbl_8043F1E0@l
+/* 802BA33C 002B5F9C 48 00 0E 89 */ bl func_802BB1C4
+/* 802BA340 002B5FA0 48 00 00 74 */ b lbl_802BA3B4
+lbl_802BA344:
+/* 802BA344 002B5FA4 88 1F 00 06 */ lbz r0, 6(r31)
+/* 802BA348 002B5FA8 28 00 00 01 */ cmplwi r0, 1
+/* 802BA34C 002B5FAC 41 82 00 20 */ beq lbl_802BA36C
+/* 802BA350 002B5FB0 3C 60 00 01 */ lis r3, 0x0000FFF9@ha
+/* 802BA354 002B5FB4 3C 80 80 44 */ lis r4, lbl_8043F21C@ha
+/* 802BA358 002B5FB8 38 03 FF F9 */ addi r0, r3, 0x0000FFF9@l
+/* 802BA35C 002B5FBC 54 03 04 3E */ clrlwi r3, r0, 0x10
+/* 802BA360 002B5FC0 38 84 F2 1C */ addi r4, r4, lbl_8043F21C@l
+/* 802BA364 002B5FC4 48 00 0E 61 */ bl func_802BB1C4
+/* 802BA368 002B5FC8 48 00 00 4C */ b lbl_802BA3B4
+lbl_802BA36C:
+/* 802BA36C 002B5FCC 48 00 0E 15 */ bl func_802BB180
+/* 802BA370 002B5FD0 80 7D 00 00 */ lwz r3, 0(r29)
+/* 802BA374 002B5FD4 2C 03 00 00 */ cmpwi r3, 0
+/* 802BA378 002B5FD8 41 82 00 14 */ beq lbl_802BA38C
+/* 802BA37C 002B5FDC 38 03 FF F8 */ addi r0, r3, -8
+/* 802BA380 002B5FE0 90 1F 00 00 */ stw r0, 0(r31)
+/* 802BA384 002B5FE4 93 DD 00 00 */ stw r30, 0(r29)
+/* 802BA388 002B5FE8 48 00 00 14 */ b lbl_802BA39C
+lbl_802BA38C:
+/* 802BA38C 002B5FEC 93 DD 00 00 */ stw r30, 0(r29)
+/* 802BA390 002B5FF0 38 00 00 00 */ li r0, 0
+/* 802BA394 002B5FF4 93 DD 00 04 */ stw r30, 4(r29)
+/* 802BA398 002B5FF8 90 1F 00 00 */ stw r0, 0(r31)
+lbl_802BA39C:
+/* 802BA39C 002B5FFC A0 7D 00 08 */ lhz r3, 8(r29)
+/* 802BA3A0 002B6000 38 00 00 02 */ li r0, 2
+/* 802BA3A4 002B6004 38 63 00 01 */ addi r3, r3, 1
+/* 802BA3A8 002B6008 B0 7D 00 08 */ sth r3, 8(r29)
+/* 802BA3AC 002B600C 98 1F 00 06 */ stb r0, 6(r31)
+/* 802BA3B0 002B6010 48 00 0D AD */ bl func_802BB15C
+lbl_802BA3B4:
+/* 802BA3B4 002B6014 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802BA3B8 002B6018 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802BA3BC 002B601C 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802BA3C0 002B6020 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802BA3C4 002B6024 7C 08 03 A6 */ mtlr r0
+/* 802BA3C8 002B6028 38 21 00 20 */ addi r1, r1, 0x20
+/* 802BA3CC 002B602C 4E 80 00 20 */ blr
+
+.global GKI_dequeue
+GKI_dequeue:
+/* 802BA3D0 002B6030 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802BA3D4 002B6034 7C 08 02 A6 */ mflr r0
+/* 802BA3D8 002B6038 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802BA3DC 002B603C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802BA3E0 002B6040 93 C1 00 08 */ stw r30, 8(r1)
+/* 802BA3E4 002B6044 7C 7E 1B 78 */ mr r30, r3
+/* 802BA3E8 002B6048 48 00 0D 99 */ bl func_802BB180
+/* 802BA3EC 002B604C 2C 1E 00 00 */ cmpwi r30, 0
+/* 802BA3F0 002B6050 41 82 00 10 */ beq lbl_802BA400
+/* 802BA3F4 002B6054 A0 1E 00 08 */ lhz r0, 8(r30)
+/* 802BA3F8 002B6058 2C 00 00 00 */ cmpwi r0, 0
+/* 802BA3FC 002B605C 40 82 00 10 */ bne lbl_802BA40C
+lbl_802BA400:
+/* 802BA400 002B6060 48 00 0D 5D */ bl func_802BB15C
+/* 802BA404 002B6064 38 60 00 00 */ li r3, 0
+/* 802BA408 002B6068 48 00 00 50 */ b lbl_802BA458
+lbl_802BA40C:
+/* 802BA40C 002B606C 83 FE 00 00 */ lwz r31, 0(r30)
+/* 802BA410 002B6070 80 7F FF F8 */ lwz r3, -8(r31)
+/* 802BA414 002B6074 2C 03 00 00 */ cmpwi r3, 0
+/* 802BA418 002B6078 41 82 00 10 */ beq lbl_802BA428
+/* 802BA41C 002B607C 38 03 00 08 */ addi r0, r3, 8
+/* 802BA420 002B6080 90 1E 00 00 */ stw r0, 0(r30)
+/* 802BA424 002B6084 48 00 00 10 */ b lbl_802BA434
+lbl_802BA428:
+/* 802BA428 002B6088 38 00 00 00 */ li r0, 0
+/* 802BA42C 002B608C 90 1E 00 00 */ stw r0, 0(r30)
+/* 802BA430 002B6090 90 1E 00 04 */ stw r0, 4(r30)
+lbl_802BA434:
+/* 802BA434 002B6094 A0 9E 00 08 */ lhz r4, 8(r30)
+/* 802BA438 002B6098 38 60 00 00 */ li r3, 0
+/* 802BA43C 002B609C 38 00 00 01 */ li r0, 1
+/* 802BA440 002B60A0 38 84 FF FF */ addi r4, r4, -1
+/* 802BA444 002B60A4 B0 9E 00 08 */ sth r4, 8(r30)
+/* 802BA448 002B60A8 90 7F FF F8 */ stw r3, -8(r31)
+/* 802BA44C 002B60AC 98 1F FF FE */ stb r0, -2(r31)
+/* 802BA450 002B60B0 48 00 0D 0D */ bl func_802BB15C
+/* 802BA454 002B60B4 7F E3 FB 78 */ mr r3, r31
+lbl_802BA458:
+/* 802BA458 002B60B8 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802BA45C 002B60BC 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802BA460 002B60C0 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802BA464 002B60C4 7C 08 03 A6 */ mtlr r0
+/* 802BA468 002B60C8 38 21 00 10 */ addi r1, r1, 0x10
+/* 802BA46C 002B60CC 4E 80 00 20 */ blr
+
+.global GKI_remove_from_queue
+GKI_remove_from_queue:
+/* 802BA470 002B60D0 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802BA474 002B60D4 7C 08 02 A6 */ mflr r0
+/* 802BA478 002B60D8 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802BA47C 002B60DC 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802BA480 002B60E0 7C 9F 23 78 */ mr r31, r4
+/* 802BA484 002B60E4 93 C1 00 08 */ stw r30, 8(r1)
+/* 802BA488 002B60E8 7C 7E 1B 78 */ mr r30, r3
+/* 802BA48C 002B60EC 48 00 0C F5 */ bl func_802BB180
+/* 802BA490 002B60F0 80 7E 00 00 */ lwz r3, 0(r30)
+/* 802BA494 002B60F4 7C 1F 18 40 */ cmplw r31, r3
+/* 802BA498 002B60F8 40 82 00 14 */ bne lbl_802BA4AC
+/* 802BA49C 002B60FC 48 00 0C C1 */ bl func_802BB15C
+/* 802BA4A0 002B6100 7F C3 F3 78 */ mr r3, r30
+/* 802BA4A4 002B6104 4B FF FF 2D */ bl GKI_dequeue
+/* 802BA4A8 002B6108 48 00 00 74 */ b lbl_802BA51C
+lbl_802BA4AC:
+/* 802BA4AC 002B610C 38 BF FF F8 */ addi r5, r31, -8
+/* 802BA4B0 002B6110 38 63 FF F8 */ addi r3, r3, -8
+/* 802BA4B4 002B6114 48 00 00 58 */ b lbl_802BA50C
+lbl_802BA4B8:
+/* 802BA4B8 002B6118 80 03 00 00 */ lwz r0, 0(r3)
+/* 802BA4BC 002B611C 7C 00 28 40 */ cmplw r0, r5
+/* 802BA4C0 002B6120 40 82 00 48 */ bne lbl_802BA508
+/* 802BA4C4 002B6124 80 05 00 00 */ lwz r0, 0(r5)
+/* 802BA4C8 002B6128 90 03 00 00 */ stw r0, 0(r3)
+/* 802BA4CC 002B612C 80 1E 00 04 */ lwz r0, 4(r30)
+/* 802BA4D0 002B6130 7C 1F 00 40 */ cmplw r31, r0
+/* 802BA4D4 002B6134 40 82 00 0C */ bne lbl_802BA4E0
+/* 802BA4D8 002B6138 38 03 00 08 */ addi r0, r3, 8
+/* 802BA4DC 002B613C 90 1E 00 04 */ stw r0, 4(r30)
+lbl_802BA4E0:
+/* 802BA4E0 002B6140 A0 9E 00 08 */ lhz r4, 8(r30)
+/* 802BA4E4 002B6144 38 60 00 00 */ li r3, 0
+/* 802BA4E8 002B6148 38 00 00 01 */ li r0, 1
+/* 802BA4EC 002B614C 38 84 FF FF */ addi r4, r4, -1
+/* 802BA4F0 002B6150 B0 9E 00 08 */ sth r4, 8(r30)
+/* 802BA4F4 002B6154 90 65 00 00 */ stw r3, 0(r5)
+/* 802BA4F8 002B6158 98 05 00 06 */ stb r0, 6(r5)
+/* 802BA4FC 002B615C 48 00 0C 61 */ bl func_802BB15C
+/* 802BA500 002B6160 7F E3 FB 78 */ mr r3, r31
+/* 802BA504 002B6164 48 00 00 18 */ b lbl_802BA51C
+lbl_802BA508:
+/* 802BA508 002B6168 7C 03 03 78 */ mr r3, r0
+lbl_802BA50C:
+/* 802BA50C 002B616C 2C 03 00 00 */ cmpwi r3, 0
+/* 802BA510 002B6170 40 82 FF A8 */ bne lbl_802BA4B8
+/* 802BA514 002B6174 48 00 0C 49 */ bl func_802BB15C
+/* 802BA518 002B6178 38 60 00 00 */ li r3, 0
+lbl_802BA51C:
+/* 802BA51C 002B617C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802BA520 002B6180 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802BA524 002B6184 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802BA528 002B6188 7C 08 03 A6 */ mtlr r0
+/* 802BA52C 002B618C 38 21 00 10 */ addi r1, r1, 0x10
+/* 802BA530 002B6190 4E 80 00 20 */ blr
+
+.global GKI_getfirst
+GKI_getfirst:
+/* 802BA534 002B6194 80 63 00 00 */ lwz r3, 0(r3)
+/* 802BA538 002B6198 4E 80 00 20 */ blr
+
+.global GKI_getnext
+GKI_getnext:
+/* 802BA53C 002B619C 80 63 FF F8 */ lwz r3, -8(r3)
+/* 802BA540 002B61A0 2C 03 00 00 */ cmpwi r3, 0
+/* 802BA544 002B61A4 41 82 00 0C */ beq lbl_802BA550
+/* 802BA548 002B61A8 38 63 00 08 */ addi r3, r3, 8
+/* 802BA54C 002B61AC 4E 80 00 20 */ blr
+lbl_802BA550:
+/* 802BA550 002B61B0 38 60 00 00 */ li r3, 0
+/* 802BA554 002B61B4 4E 80 00 20 */ blr
+
+.global GKI_queue_is_empty
+GKI_queue_is_empty:
+/* 802BA558 002B61B8 A0 03 00 08 */ lhz r0, 8(r3)
+/* 802BA55C 002B61BC 7C 00 00 34 */ cntlzw r0, r0
+/* 802BA560 002B61C0 54 03 DE 3E */ rlwinm r3, r0, 0x1b, 0x18, 0x1f
+/* 802BA564 002B61C4 4E 80 00 20 */ blr
+
+.global GKI_create_pool
+GKI_create_pool:
+/* 802BA568 002B61C8 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802BA56C 002B61CC 7C 08 02 A6 */ mflr r0
+/* 802BA570 002B61D0 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802BA574 002B61D4 39 61 00 20 */ addi r11, r1, 0x20
+/* 802BA578 002B61D8 4B F0 CB B1 */ bl _savegpr_27
+/* 802BA57C 002B61DC 3C E0 80 54 */ lis r7, lbl_8053C2C0@ha
+/* 802BA580 002B61E0 28 03 FF F3 */ cmplwi r3, 0xfff3
+/* 802BA584 002B61E4 38 E7 C2 C0 */ addi r7, r7, lbl_8053C2C0@l
+/* 802BA588 002B61E8 7C 7B 1B 78 */ mr r27, r3
+/* 802BA58C 002B61EC 7C 9C 23 78 */ mr r28, r4
+/* 802BA590 002B61F0 7C BD 2B 78 */ mr r29, r5
+/* 802BA594 002B61F4 3B C7 00 54 */ addi r30, r7, 0x54
+/* 802BA598 002B61F8 40 81 00 0C */ ble lbl_802BA5A4
+/* 802BA59C 002B61FC 38 60 00 FF */ li r3, 0xff
+/* 802BA5A0 002B6200 48 00 02 F8 */ b lbl_802BA898
+lbl_802BA5A4:
+/* 802BA5A4 002B6204 38 00 00 03 */ li r0, 3
+/* 802BA5A8 002B6208 3B E0 00 00 */ li r31, 0
+/* 802BA5AC 002B620C 7C 09 03 A6 */ mtctr r0
+lbl_802BA5B0:
+/* 802BA5B0 002B6210 57 E5 15 BA */ rlwinm r5, r31, 2, 0x16, 0x1d
+/* 802BA5B4 002B6214 3C A5 00 03 */ addis r5, r5, 3
+/* 802BA5B8 002B6218 38 05 8A 1C */ addi r0, r5, -30180
+/* 802BA5BC 002B621C 7C 1E 00 2E */ lwzx r0, r30, r0
+/* 802BA5C0 002B6220 2C 00 00 00 */ cmpwi r0, 0
+/* 802BA5C4 002B6224 41 82 00 44 */ beq lbl_802BA608
+/* 802BA5C8 002B6228 3B FF 00 01 */ addi r31, r31, 1
+/* 802BA5CC 002B622C 57 E5 15 BA */ rlwinm r5, r31, 2, 0x16, 0x1d
+/* 802BA5D0 002B6230 3C A5 00 03 */ addis r5, r5, 3
+/* 802BA5D4 002B6234 38 05 8A 1C */ addi r0, r5, -30180
+/* 802BA5D8 002B6238 7C 1E 00 2E */ lwzx r0, r30, r0
+/* 802BA5DC 002B623C 2C 00 00 00 */ cmpwi r0, 0
+/* 802BA5E0 002B6240 41 82 00 28 */ beq lbl_802BA608
+/* 802BA5E4 002B6244 3B FF 00 01 */ addi r31, r31, 1
+/* 802BA5E8 002B6248 57 E5 15 BA */ rlwinm r5, r31, 2, 0x16, 0x1d
+/* 802BA5EC 002B624C 3C A5 00 03 */ addis r5, r5, 3
+/* 802BA5F0 002B6250 38 05 8A 1C */ addi r0, r5, -30180
+/* 802BA5F4 002B6254 7C 1E 00 2E */ lwzx r0, r30, r0
+/* 802BA5F8 002B6258 2C 00 00 00 */ cmpwi r0, 0
+/* 802BA5FC 002B625C 41 82 00 0C */ beq lbl_802BA608
+/* 802BA600 002B6260 3B FF 00 01 */ addi r31, r31, 1
+/* 802BA604 002B6264 42 00 FF AC */ bdnz lbl_802BA5B0
+lbl_802BA608:
+/* 802BA608 002B6268 57 E0 06 3E */ clrlwi r0, r31, 0x18
+/* 802BA60C 002B626C 28 00 00 09 */ cmplwi r0, 9
+/* 802BA610 002B6270 40 82 00 0C */ bne lbl_802BA61C
+/* 802BA614 002B6274 38 60 00 FF */ li r3, 0xff
+/* 802BA618 002B6278 48 00 02 80 */ b lbl_802BA898
+lbl_802BA61C:
+/* 802BA61C 002B627C 38 03 00 03 */ addi r0, r3, 3
+/* 802BA620 002B6280 2C 06 00 00 */ cmpwi r6, 0
+/* 802BA624 002B6284 54 03 00 3A */ rlwinm r3, r0, 0, 0, 0x1d
+/* 802BA628 002B6288 38 03 00 0C */ addi r0, r3, 0xc
+/* 802BA62C 002B628C 7C 60 21 D6 */ mullw r3, r0, r4
+/* 802BA630 002B6290 40 82 00 0C */ bne lbl_802BA63C
+/* 802BA634 002B6294 48 00 0B 95 */ bl func_802BB1C8
+/* 802BA638 002B6298 7C 66 1B 78 */ mr r6, r3
+lbl_802BA63C:
+/* 802BA63C 002B629C 2C 06 00 00 */ cmpwi r6, 0
+/* 802BA640 002B62A0 41 82 02 54 */ beq lbl_802BA894
+/* 802BA644 002B62A4 7F 64 DB 78 */ mr r4, r27
+/* 802BA648 002B62A8 7F 85 E3 78 */ mr r5, r28
+/* 802BA64C 002B62AC 57 E3 06 3E */ clrlwi r3, r31, 0x18
+/* 802BA650 002B62B0 4B FF EF 7D */ bl gki_init_free_queue
+/* 802BA654 002B62B4 3C 60 80 54 */ lis r3, lbl_8053C2C0@ha
+/* 802BA658 002B62B8 57 E5 25 36 */ rlwinm r5, r31, 4, 0x14, 0x1b
+/* 802BA65C 002B62BC 38 63 C2 C0 */ addi r3, r3, lbl_8053C2C0@l
+/* 802BA660 002B62C0 38 80 00 00 */ li r4, 0
+/* 802BA664 002B62C4 38 63 00 54 */ addi r3, r3, 0x54
+/* 802BA668 002B62C8 3C C5 00 03 */ addis r6, r5, 3
+/* 802BA66C 002B62CC 3C A3 00 03 */ addis r5, r3, 3
+/* 802BA670 002B62D0 88 A5 8A 87 */ lbz r5, -0x7579(r5)
+/* 802BA674 002B62D4 38 06 89 94 */ addi r0, r6, -30316
+/* 802BA678 002B62D8 7C E3 02 2E */ lhzx r7, r3, r0
+/* 802BA67C 002B62DC 7C A9 03 A6 */ mtctr r5
+/* 802BA680 002B62E0 2C 05 00 00 */ cmpwi r5, 0
+/* 802BA684 002B62E4 40 81 00 30 */ ble lbl_802BA6B4
+lbl_802BA688:
+/* 802BA688 002B62E8 3C C4 00 03 */ addis r6, r4, 3
+/* 802BA68C 002B62EC 38 06 8A 7E */ addi r0, r6, -30082
+/* 802BA690 002B62F0 7C 03 00 AE */ lbzx r0, r3, r0
+/* 802BA694 002B62F4 54 06 20 36 */ slwi r6, r0, 4
+/* 802BA698 002B62F8 3C C6 00 03 */ addis r6, r6, 3
+/* 802BA69C 002B62FC 38 06 89 94 */ addi r0, r6, -30316
+/* 802BA6A0 002B6300 7C 03 02 2E */ lhzx r0, r3, r0
+/* 802BA6A4 002B6304 7C 07 00 40 */ cmplw r7, r0
+/* 802BA6A8 002B6308 40 81 00 0C */ ble lbl_802BA6B4
+/* 802BA6AC 002B630C 38 84 00 01 */ addi r4, r4, 1
+/* 802BA6B0 002B6310 42 00 FF D8 */ bdnz lbl_802BA688
+lbl_802BA6B4:
+/* 802BA6B4 002B6314 7C 05 20 00 */ cmpw r5, r4
+/* 802BA6B8 002B6318 40 81 01 64 */ ble lbl_802BA81C
+/* 802BA6BC 002B631C 7C 04 28 50 */ subf r0, r4, r5
+/* 802BA6C0 002B6320 39 04 00 08 */ addi r8, r4, 8
+/* 802BA6C4 002B6324 2C 00 00 08 */ cmpwi r0, 8
+/* 802BA6C8 002B6328 40 81 01 2C */ ble lbl_802BA7F4
+/* 802BA6CC 002B632C 3C C3 00 03 */ addis r6, r3, 3
+/* 802BA6D0 002B6330 39 20 00 00 */ li r9, 0
+/* 802BA6D4 002B6334 88 06 8A 87 */ lbz r0, -0x7579(r6)
+/* 802BA6D8 002B6338 39 40 00 00 */ li r10, 0
+/* 802BA6DC 002B633C 39 60 00 00 */ li r11, 0
+/* 802BA6E0 002B6340 38 E0 00 00 */ li r7, 0
+/* 802BA6E4 002B6344 7C 00 20 00 */ cmpw r0, r4
+/* 802BA6E8 002B6348 41 80 00 18 */ blt lbl_802BA700
+/* 802BA6EC 002B634C 3C C0 80 00 */ lis r6, 0x80000001@ha
+/* 802BA6F0 002B6350 38 06 00 01 */ addi r0, r6, 0x80000001@l
+/* 802BA6F4 002B6354 7C 04 00 00 */ cmpw r4, r0
+/* 802BA6F8 002B6358 41 80 00 08 */ blt lbl_802BA700
+/* 802BA6FC 002B635C 38 E0 00 01 */ li r7, 1
+lbl_802BA700:
+/* 802BA700 002B6360 2C 07 00 00 */ cmpwi r7, 0
+/* 802BA704 002B6364 41 82 00 20 */ beq lbl_802BA724
+/* 802BA708 002B6368 3C E3 00 03 */ addis r7, r3, 3
+/* 802BA70C 002B636C 3C C0 80 00 */ lis r6, 0x80000001@ha
+/* 802BA710 002B6370 88 E7 8A 87 */ lbz r7, -0x7579(r7)
+/* 802BA714 002B6374 38 06 00 01 */ addi r0, r6, 0x80000001@l
+/* 802BA718 002B6378 7C 07 00 00 */ cmpw r7, r0
+/* 802BA71C 002B637C 41 80 00 08 */ blt lbl_802BA724
+/* 802BA720 002B6380 39 60 00 01 */ li r11, 1
+lbl_802BA724:
+/* 802BA724 002B6384 2C 0B 00 00 */ cmpwi r11, 0
+/* 802BA728 002B6388 41 82 00 14 */ beq lbl_802BA73C
+/* 802BA72C 002B638C 3C 04 80 00 */ addis r0, r4, 0x8000
+/* 802BA730 002B6390 28 00 00 00 */ cmplwi r0, 0
+/* 802BA734 002B6394 41 82 00 08 */ beq lbl_802BA73C
+/* 802BA738 002B6398 39 40 00 01 */ li r10, 1
+lbl_802BA73C:
+/* 802BA73C 002B639C 2C 0A 00 00 */ cmpwi r10, 0
+/* 802BA740 002B63A0 41 82 00 44 */ beq lbl_802BA784
+/* 802BA744 002B63A4 3C C3 00 03 */ addis r6, r3, 3
+/* 802BA748 002B63A8 7C 04 00 D0 */ neg r0, r4
+/* 802BA74C 002B63AC 89 46 8A 87 */ lbz r10, -0x7579(r6)
+/* 802BA750 002B63B0 54 00 00 00 */ rlwinm r0, r0, 0, 0, 0
+/* 802BA754 002B63B4 38 C0 00 01 */ li r6, 1
+/* 802BA758 002B63B8 55 47 00 00 */ rlwinm r7, r10, 0, 0, 0
+/* 802BA75C 002B63BC 7C 07 00 00 */ cmpw r7, r0
+/* 802BA760 002B63C0 40 82 00 18 */ bne lbl_802BA778
+/* 802BA764 002B63C4 7C 04 50 50 */ subf r0, r4, r10
+/* 802BA768 002B63C8 54 00 00 00 */ rlwinm r0, r0, 0, 0, 0
+/* 802BA76C 002B63CC 7C 07 00 00 */ cmpw r7, r0
+/* 802BA770 002B63D0 41 82 00 08 */ beq lbl_802BA778
+/* 802BA774 002B63D4 38 C0 00 00 */ li r6, 0
+lbl_802BA778:
+/* 802BA778 002B63D8 2C 06 00 00 */ cmpwi r6, 0
+/* 802BA77C 002B63DC 41 82 00 08 */ beq lbl_802BA784
+/* 802BA780 002B63E0 39 20 00 01 */ li r9, 1
+lbl_802BA784:
+/* 802BA784 002B63E4 2C 09 00 00 */ cmpwi r9, 0
+/* 802BA788 002B63E8 41 82 00 6C */ beq lbl_802BA7F4
+/* 802BA78C 002B63EC 38 05 00 07 */ addi r0, r5, 7
+/* 802BA790 002B63F0 7C 08 00 50 */ subf r0, r8, r0
+/* 802BA794 002B63F4 54 00 E8 FE */ srwi r0, r0, 3
+/* 802BA798 002B63F8 7C 09 03 A6 */ mtctr r0
+/* 802BA79C 002B63FC 7C 05 40 00 */ cmpw r5, r8
+/* 802BA7A0 002B6400 40 81 00 54 */ ble lbl_802BA7F4
+lbl_802BA7A4:
+/* 802BA7A4 002B6404 7C C3 2A 14 */ add r6, r3, r5
+/* 802BA7A8 002B6408 38 A5 FF F8 */ addi r5, r5, -8
+/* 802BA7AC 002B640C 3C C6 00 03 */ addis r6, r6, 3
+/* 802BA7B0 002B6410 88 06 8A 7D */ lbz r0, -0x7583(r6)
+/* 802BA7B4 002B6414 98 06 8A 7E */ stb r0, -0x7582(r6)
+/* 802BA7B8 002B6418 88 06 8A 7C */ lbz r0, -0x7584(r6)
+/* 802BA7BC 002B641C 98 06 8A 7D */ stb r0, -0x7583(r6)
+/* 802BA7C0 002B6420 88 06 8A 7B */ lbz r0, -0x7585(r6)
+/* 802BA7C4 002B6424 98 06 8A 7C */ stb r0, -0x7584(r6)
+/* 802BA7C8 002B6428 88 06 8A 7A */ lbz r0, -0x7586(r6)
+/* 802BA7CC 002B642C 98 06 8A 7B */ stb r0, -0x7585(r6)
+/* 802BA7D0 002B6430 88 06 8A 79 */ lbz r0, -0x7587(r6)
+/* 802BA7D4 002B6434 98 06 8A 7A */ stb r0, -0x7586(r6)
+/* 802BA7D8 002B6438 88 06 8A 78 */ lbz r0, -0x7588(r6)
+/* 802BA7DC 002B643C 98 06 8A 79 */ stb r0, -0x7587(r6)
+/* 802BA7E0 002B6440 88 06 8A 77 */ lbz r0, -0x7589(r6)
+/* 802BA7E4 002B6444 98 06 8A 78 */ stb r0, -0x7588(r6)
+/* 802BA7E8 002B6448 88 06 8A 76 */ lbz r0, -0x758a(r6)
+/* 802BA7EC 002B644C 98 06 8A 77 */ stb r0, -0x7589(r6)
+/* 802BA7F0 002B6450 42 00 FF B4 */ bdnz lbl_802BA7A4
+lbl_802BA7F4:
+/* 802BA7F4 002B6454 7C 04 28 50 */ subf r0, r4, r5
+/* 802BA7F8 002B6458 7C 09 03 A6 */ mtctr r0
+/* 802BA7FC 002B645C 7C 05 20 00 */ cmpw r5, r4
+/* 802BA800 002B6460 40 81 00 1C */ ble lbl_802BA81C
+lbl_802BA804:
+/* 802BA804 002B6464 7C C3 2A 14 */ add r6, r3, r5
+/* 802BA808 002B6468 38 A5 FF FF */ addi r5, r5, -1
+/* 802BA80C 002B646C 3C C6 00 03 */ addis r6, r6, 3
+/* 802BA810 002B6470 88 06 8A 7D */ lbz r0, -0x7583(r6)
+/* 802BA814 002B6474 98 06 8A 7E */ stb r0, -0x7582(r6)
+/* 802BA818 002B6478 42 00 FF EC */ bdnz lbl_802BA804
+lbl_802BA81C:
+/* 802BA81C 002B647C 3C 03 00 03 */ addis r0, r3, 3
+/* 802BA820 002B6480 57 E5 06 3E */ clrlwi r5, r31, 0x18
+/* 802BA824 002B6484 7C 80 22 14 */ add r4, r0, r4
+/* 802BA828 002B6488 3C 60 80 54 */ lis r3, lbl_8053C2C0@ha
+/* 802BA82C 002B648C 38 63 C2 C0 */ addi r3, r3, lbl_8053C2C0@l
+/* 802BA830 002B6490 28 05 00 09 */ cmplwi r5, 9
+/* 802BA834 002B6494 9B E4 8A 7E */ stb r31, -0x7582(r4)
+/* 802BA838 002B6498 38 63 00 54 */ addi r3, r3, 0x54
+/* 802BA83C 002B649C 40 80 00 40 */ bge lbl_802BA87C
+/* 802BA840 002B64A0 28 1D 00 01 */ cmplwi r29, 1
+/* 802BA844 002B64A4 40 82 00 20 */ bne lbl_802BA864
+/* 802BA848 002B64A8 3C 83 00 03 */ addis r4, r3, 3
+/* 802BA84C 002B64AC 38 00 00 01 */ li r0, 1
+/* 802BA850 002B64B0 A0 64 8A 7C */ lhz r3, -0x7584(r4)
+/* 802BA854 002B64B4 7C 00 28 30 */ slw r0, r0, r5
+/* 802BA858 002B64B8 7C 60 03 78 */ or r0, r3, r0
+/* 802BA85C 002B64BC B0 04 8A 7C */ sth r0, -0x7584(r4)
+/* 802BA860 002B64C0 48 00 00 1C */ b lbl_802BA87C
+lbl_802BA864:
+/* 802BA864 002B64C4 3C 83 00 03 */ addis r4, r3, 3
+/* 802BA868 002B64C8 38 00 00 01 */ li r0, 1
+/* 802BA86C 002B64CC A0 64 8A 7C */ lhz r3, -0x7584(r4)
+/* 802BA870 002B64D0 7C 00 28 30 */ slw r0, r0, r5
+/* 802BA874 002B64D4 7C 60 00 78 */ andc r0, r3, r0
+/* 802BA878 002B64D8 B0 04 8A 7C */ sth r0, -0x7584(r4)
+lbl_802BA87C:
+/* 802BA87C 002B64DC 3C BE 00 03 */ addis r5, r30, 3
+/* 802BA880 002B64E0 7F E3 FB 78 */ mr r3, r31
+/* 802BA884 002B64E4 88 85 8A 87 */ lbz r4, -0x7579(r5)
+/* 802BA888 002B64E8 38 04 00 01 */ addi r0, r4, 1
+/* 802BA88C 002B64EC 98 05 8A 87 */ stb r0, -0x7579(r5)
+/* 802BA890 002B64F0 48 00 00 08 */ b lbl_802BA898
+lbl_802BA894:
+/* 802BA894 002B64F4 38 60 00 FF */ li r3, 0xff
+lbl_802BA898:
+/* 802BA898 002B64F8 39 61 00 20 */ addi r11, r1, 0x20
+/* 802BA89C 002B64FC 4B F0 C8 D9 */ bl _restgpr_27
+/* 802BA8A0 002B6500 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802BA8A4 002B6504 7C 08 03 A6 */ mtlr r0
+/* 802BA8A8 002B6508 38 21 00 20 */ addi r1, r1, 0x20
+/* 802BA8AC 002B650C 4E 80 00 20 */ blr
+
+.global GKI_delete_pool
+GKI_delete_pool:
+/* 802BA8B0 002B6510 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802BA8B4 002B6514 7C 08 02 A6 */ mflr r0
+/* 802BA8B8 002B6518 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802BA8BC 002B651C 39 61 00 20 */ addi r11, r1, 0x20
+/* 802BA8C0 002B6520 4B F0 C8 65 */ bl _savegpr_26
+/* 802BA8C4 002B6524 3F 60 80 54 */ lis r27, lbl_8053C2C0@ha
+/* 802BA8C8 002B6528 28 03 00 09 */ cmplwi r3, 9
+/* 802BA8CC 002B652C 3B 7B C2 C0 */ addi r27, r27, lbl_8053C2C0@l
+/* 802BA8D0 002B6530 7C 7E 1B 78 */ mr r30, r3
+/* 802BA8D4 002B6534 3B FB 00 54 */ addi r31, r27, 0x54
+/* 802BA8D8 002B6538 40 80 01 20 */ bge lbl_802BA9F8
+/* 802BA8DC 002B653C 54 7A 15 BA */ rlwinm r26, r3, 2, 0x16, 0x1d
+/* 802BA8E0 002B6540 3C 1F 00 03 */ addis r0, r31, 3
+/* 802BA8E4 002B6544 7C 60 D2 14 */ add r3, r0, r26
+/* 802BA8E8 002B6548 80 03 8A 1C */ lwz r0, -0x75e4(r3)
+/* 802BA8EC 002B654C 2C 00 00 00 */ cmpwi r0, 0
+/* 802BA8F0 002B6550 40 82 00 08 */ bne lbl_802BA8F8
+/* 802BA8F4 002B6554 48 00 01 04 */ b lbl_802BA9F8
+lbl_802BA8F8:
+/* 802BA8F8 002B6558 48 00 08 89 */ bl func_802BB180
+/* 802BA8FC 002B655C 3C 9F 00 03 */ addis r4, r31, 3
+/* 802BA900 002B6560 57 C0 25 36 */ rlwinm r0, r30, 4, 0x14, 0x1b
+/* 802BA904 002B6564 7C 64 02 14 */ add r3, r4, r0
+/* 802BA908 002B6568 A0 03 89 98 */ lhz r0, -0x7668(r3)
+/* 802BA90C 002B656C 2C 00 00 00 */ cmpwi r0, 0
+/* 802BA910 002B6570 40 82 00 CC */ bne lbl_802BA9DC
+/* 802BA914 002B6574 3B 80 00 00 */ li r28, 0
+/* 802BA918 002B6578 7F A4 D2 14 */ add r29, r4, r26
+/* 802BA91C 002B657C B3 83 89 94 */ sth r28, -0x766c(r3)
+/* 802BA920 002B6580 B3 83 89 96 */ sth r28, -0x766a(r3)
+/* 802BA924 002B6584 B3 83 89 98 */ sth r28, -0x7668(r3)
+/* 802BA928 002B6588 B3 83 89 9A */ sth r28, -0x7666(r3)
+/* 802BA92C 002B658C 93 83 89 8C */ stw r28, -0x7674(r3)
+/* 802BA930 002B6590 93 83 89 90 */ stw r28, -0x7670(r3)
+/* 802BA934 002B6594 80 7D 8A 1C */ lwz r3, -0x75e4(r29)
+/* 802BA938 002B6598 48 00 08 BD */ bl func_802BB1F4
+/* 802BA93C 002B659C 3C 9F 00 03 */ addis r4, r31, 3
+/* 802BA940 002B65A0 93 9D 8A 1C */ stw r28, -0x75e4(r29)
+/* 802BA944 002B65A4 7C 64 D2 14 */ add r3, r4, r26
+/* 802BA948 002B65A8 57 C0 0D FC */ rlwinm r0, r30, 1, 0x17, 0x1e
+/* 802BA94C 002B65AC 93 83 8A 40 */ stw r28, -0x75c0(r3)
+/* 802BA950 002B65B0 7C 64 02 14 */ add r3, r4, r0
+/* 802BA954 002B65B4 7F E7 FB 78 */ mr r7, r31
+/* 802BA958 002B65B8 38 C0 00 00 */ li r6, 0
+/* 802BA95C 002B65BC B3 83 8A 64 */ sth r28, -0x759c(r3)
+/* 802BA960 002B65C0 88 84 8A 87 */ lbz r4, -0x7579(r4)
+/* 802BA964 002B65C4 48 00 00 20 */ b lbl_802BA984
+lbl_802BA968:
+/* 802BA968 002B65C8 54 C3 06 3E */ clrlwi r3, r6, 0x18
+/* 802BA96C 002B65CC 3C 63 00 03 */ addis r3, r3, 3
+/* 802BA970 002B65D0 38 03 8A 7E */ addi r0, r3, -30082
+/* 802BA974 002B65D4 7C 07 00 AE */ lbzx r0, r7, r0
+/* 802BA978 002B65D8 7C 1E 00 40 */ cmplw r30, r0
+/* 802BA97C 002B65DC 41 82 00 14 */ beq lbl_802BA990
+/* 802BA980 002B65E0 38 C6 00 01 */ addi r6, r6, 1
+lbl_802BA984:
+/* 802BA984 002B65E4 54 C0 06 3E */ clrlwi r0, r6, 0x18
+/* 802BA988 002B65E8 7C 00 20 40 */ cmplw r0, r4
+/* 802BA98C 002B65EC 41 80 FF DC */ blt lbl_802BA968
+lbl_802BA990:
+/* 802BA990 002B65F0 3C 87 00 03 */ addis r4, r7, 3
+/* 802BA994 002B65F4 48 00 00 20 */ b lbl_802BA9B4
+lbl_802BA998:
+/* 802BA998 002B65F8 54 C3 06 3E */ clrlwi r3, r6, 0x18
+/* 802BA99C 002B65FC 38 C6 00 01 */ addi r6, r6, 1
+/* 802BA9A0 002B6600 3C 63 00 03 */ addis r3, r3, 3
+/* 802BA9A4 002B6604 38 63 8A 7E */ addi r3, r3, -30082
+/* 802BA9A8 002B6608 7C 67 1A 14 */ add r3, r7, r3
+/* 802BA9AC 002B660C 88 03 00 01 */ lbz r0, 1(r3)
+/* 802BA9B0 002B6610 98 03 00 00 */ stb r0, 0(r3)
+lbl_802BA9B4:
+/* 802BA9B4 002B6614 88 64 8A 87 */ lbz r3, -0x7579(r4)
+/* 802BA9B8 002B6618 54 C5 06 3E */ clrlwi r5, r6, 0x18
+/* 802BA9BC 002B661C 38 03 FF FF */ addi r0, r3, -1
+/* 802BA9C0 002B6620 7C 05 00 00 */ cmpw r5, r0
+/* 802BA9C4 002B6624 41 80 FF D4 */ blt lbl_802BA998
+/* 802BA9C8 002B6628 3C 9F 00 03 */ addis r4, r31, 3
+/* 802BA9CC 002B662C 88 64 8A 87 */ lbz r3, -0x7579(r4)
+/* 802BA9D0 002B6630 38 03 FF FF */ addi r0, r3, -1
+/* 802BA9D4 002B6634 98 04 8A 87 */ stb r0, -0x7579(r4)
+/* 802BA9D8 002B6638 48 00 00 1C */ b lbl_802BA9F4
+lbl_802BA9DC:
+/* 802BA9DC 002B663C 3C 60 00 01 */ lis r3, 0x0000FFF8@ha
+/* 802BA9E0 002B6640 3C 80 80 44 */ lis r4, lbl_8043F260@ha
+/* 802BA9E4 002B6644 38 03 FF F8 */ addi r0, r3, 0x0000FFF8@l
+/* 802BA9E8 002B6648 54 03 04 3E */ clrlwi r3, r0, 0x10
+/* 802BA9EC 002B664C 38 84 F2 60 */ addi r4, r4, lbl_8043F260@l
+/* 802BA9F0 002B6650 48 00 07 D5 */ bl func_802BB1C4
+lbl_802BA9F4:
+/* 802BA9F4 002B6654 48 00 07 69 */ bl func_802BB15C
+lbl_802BA9F8:
+/* 802BA9F8 002B6658 39 61 00 20 */ addi r11, r1, 0x20
+/* 802BA9FC 002B665C 4B F0 C7 75 */ bl _restgpr_26
+/* 802BAA00 002B6660 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802BAA04 002B6664 7C 08 03 A6 */ mtlr r0
+/* 802BAA08 002B6668 38 21 00 20 */ addi r1, r1, 0x20
+/* 802BAA0C 002B666C 4E 80 00 20 */ blr
diff --git a/asm/SDK/BTE/gki_time.s b/asm/SDK/BTE/gki_time.s new file mode 100644 index 0000000..09d34c6 --- /dev/null +++ b/asm/SDK/BTE/gki_time.s @@ -0,0 +1,406 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global gki_timers_init
+gki_timers_init:
+/* 802BAA10 002B6670 3C 60 80 54 */ lis r3, lbl_8053C2C0@ha
+/* 802BAA14 002B6674 38 00 00 00 */ li r0, 0
+/* 802BAA18 002B6678 38 63 C2 C0 */ addi r3, r3, lbl_8053C2C0@l
+/* 802BAA1C 002B667C 3C 63 00 03 */ addis r3, r3, 3
+/* 802BAA20 002B6680 90 03 88 38 */ stw r0, -0x77c8(r3)
+/* 802BAA24 002B6684 90 03 88 3C */ stw r0, -0x77c4(r3)
+/* 802BAA28 002B6688 90 03 88 40 */ stw r0, -0x77c0(r3)
+/* 802BAA2C 002B668C 90 03 88 60 */ stw r0, -0x77a0(r3)
+/* 802BAA30 002B6690 90 03 88 80 */ stw r0, -0x7780(r3)
+/* 802BAA34 002B6694 90 03 88 A0 */ stw r0, -0x7760(r3)
+/* 802BAA38 002B6698 90 03 88 C0 */ stw r0, -0x7740(r3)
+/* 802BAA3C 002B669C 90 03 88 44 */ stw r0, -0x77bc(r3)
+/* 802BAA40 002B66A0 90 03 88 64 */ stw r0, -0x779c(r3)
+/* 802BAA44 002B66A4 90 03 88 84 */ stw r0, -0x777c(r3)
+/* 802BAA48 002B66A8 90 03 88 A4 */ stw r0, -0x775c(r3)
+/* 802BAA4C 002B66AC 90 03 88 C4 */ stw r0, -0x773c(r3)
+/* 802BAA50 002B66B0 90 03 88 48 */ stw r0, -0x77b8(r3)
+/* 802BAA54 002B66B4 90 03 88 68 */ stw r0, -0x7798(r3)
+/* 802BAA58 002B66B8 90 03 88 88 */ stw r0, -0x7778(r3)
+/* 802BAA5C 002B66BC 90 03 88 A8 */ stw r0, -0x7758(r3)
+/* 802BAA60 002B66C0 90 03 88 C8 */ stw r0, -0x7738(r3)
+/* 802BAA64 002B66C4 90 03 88 4C */ stw r0, -0x77b4(r3)
+/* 802BAA68 002B66C8 90 03 88 6C */ stw r0, -0x7794(r3)
+/* 802BAA6C 002B66CC 90 03 88 8C */ stw r0, -0x7774(r3)
+/* 802BAA70 002B66D0 90 03 88 AC */ stw r0, -0x7754(r3)
+/* 802BAA74 002B66D4 90 03 88 CC */ stw r0, -0x7734(r3)
+/* 802BAA78 002B66D8 90 03 88 50 */ stw r0, -0x77b0(r3)
+/* 802BAA7C 002B66DC 90 03 88 70 */ stw r0, -0x7790(r3)
+/* 802BAA80 002B66E0 90 03 88 90 */ stw r0, -0x7770(r3)
+/* 802BAA84 002B66E4 90 03 88 B0 */ stw r0, -0x7750(r3)
+/* 802BAA88 002B66E8 90 03 88 D0 */ stw r0, -0x7730(r3)
+/* 802BAA8C 002B66EC 90 03 88 54 */ stw r0, -0x77ac(r3)
+/* 802BAA90 002B66F0 90 03 88 74 */ stw r0, -0x778c(r3)
+/* 802BAA94 002B66F4 90 03 88 94 */ stw r0, -0x776c(r3)
+/* 802BAA98 002B66F8 90 03 88 B4 */ stw r0, -0x774c(r3)
+/* 802BAA9C 002B66FC 90 03 88 D4 */ stw r0, -0x772c(r3)
+/* 802BAAA0 002B6700 90 03 88 58 */ stw r0, -0x77a8(r3)
+/* 802BAAA4 002B6704 90 03 88 78 */ stw r0, -0x7788(r3)
+/* 802BAAA8 002B6708 90 03 88 98 */ stw r0, -0x7768(r3)
+/* 802BAAAC 002B670C 90 03 88 B8 */ stw r0, -0x7748(r3)
+/* 802BAAB0 002B6710 90 03 88 D8 */ stw r0, -0x7728(r3)
+/* 802BAAB4 002B6714 90 03 88 5C */ stw r0, -0x77a4(r3)
+/* 802BAAB8 002B6718 90 03 88 7C */ stw r0, -0x7784(r3)
+/* 802BAABC 002B671C 90 03 88 9C */ stw r0, -0x7764(r3)
+/* 802BAAC0 002B6720 90 03 88 BC */ stw r0, -0x7744(r3)
+/* 802BAAC4 002B6724 90 03 88 DC */ stw r0, -0x7724(r3)
+/* 802BAAC8 002B6728 4E 80 00 20 */ blr
+
+.global GKI_get_tick_count
+GKI_get_tick_count:
+/* 802BAACC 002B672C 3C 60 80 54 */ lis r3, lbl_8053C2C0@ha
+/* 802BAAD0 002B6730 38 63 C2 C0 */ addi r3, r3, lbl_8053C2C0@l
+/* 802BAAD4 002B6734 3C 63 00 03 */ addis r3, r3, 3
+/* 802BAAD8 002B6738 80 63 88 28 */ lwz r3, -0x77d8(r3)
+/* 802BAADC 002B673C 4E 80 00 20 */ blr
+
+.global GKI_start_timer
+GKI_start_timer:
+/* 802BAAE0 002B6740 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802BAAE4 002B6744 7C 08 02 A6 */ mflr r0
+/* 802BAAE8 002B6748 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802BAAEC 002B674C 39 61 00 20 */ addi r11, r1, 0x20
+/* 802BAAF0 002B6750 4B F0 C6 39 */ bl _savegpr_27
+/* 802BAAF4 002B6754 7C 7B 1B 78 */ mr r27, r3
+/* 802BAAF8 002B6758 7C 9D 23 78 */ mr r29, r4
+/* 802BAAFC 002B675C 7C BF 2B 78 */ mr r31, r5
+/* 802BAB00 002B6760 48 00 06 55 */ bl func_802BB154
+/* 802BAB04 002B6764 2C 1D 00 00 */ cmpwi r29, 0
+/* 802BAB08 002B6768 7C 7C 1B 78 */ mr r28, r3
+/* 802BAB0C 002B676C 3B C0 00 00 */ li r30, 0
+/* 802BAB10 002B6770 41 81 00 08 */ bgt lbl_802BAB18
+/* 802BAB14 002B6774 3B A0 00 01 */ li r29, 1
+lbl_802BAB18:
+/* 802BAB18 002B6778 7C 1F 00 D0 */ neg r0, r31
+/* 802BAB1C 002B677C 7C 00 FB 78 */ or r0, r0, r31
+/* 802BAB20 002B6780 7C 00 FE 70 */ srawi r0, r0, 0x1f
+/* 802BAB24 002B6784 7F BF 00 38 */ and r31, r29, r0
+/* 802BAB28 002B6788 48 00 06 59 */ bl func_802BB180
+/* 802BAB2C 002B678C 3C 80 80 54 */ lis r4, lbl_8053C2C0@ha
+/* 802BAB30 002B6790 3C 60 80 00 */ lis r3, 0x7FFFFFFF@ha
+/* 802BAB34 002B6794 38 84 C2 C0 */ addi r4, r4, lbl_8053C2C0@l
+/* 802BAB38 002B6798 3C A4 00 03 */ addis r5, r4, 3
+/* 802BAB3C 002B679C 38 83 FF FF */ addi r4, r3, 0x7FFFFFFF@l
+/* 802BAB40 002B67A0 80 65 88 38 */ lwz r3, -0x77c8(r5)
+/* 802BAB44 002B67A4 80 05 88 3C */ lwz r0, -0x77c4(r5)
+/* 802BAB48 002B67A8 7C 63 00 50 */ subf r3, r3, r0
+/* 802BAB4C 002B67AC 7C 03 20 50 */ subf r0, r3, r4
+/* 802BAB50 002B67B0 7C 00 E8 00 */ cmpw r0, r29
+/* 802BAB54 002B67B4 40 81 00 08 */ ble lbl_802BAB5C
+/* 802BAB58 002B67B8 7C 9D 1A 14 */ add r4, r29, r3
+lbl_802BAB5C:
+/* 802BAB5C 002B67BC 2C 1B 00 01 */ cmpwi r27, 1
+/* 802BAB60 002B67C0 41 82 00 34 */ beq lbl_802BAB94
+/* 802BAB64 002B67C4 40 80 00 50 */ bge lbl_802BABB4
+/* 802BAB68 002B67C8 2C 1B 00 00 */ cmpwi r27, 0
+/* 802BAB6C 002B67CC 40 80 00 08 */ bge lbl_802BAB74
+/* 802BAB70 002B67D0 48 00 00 44 */ b lbl_802BABB4
+lbl_802BAB74:
+/* 802BAB74 002B67D4 3C 60 80 54 */ lis r3, lbl_8053C2C0@ha
+/* 802BAB78 002B67D8 57 85 15 BA */ rlwinm r5, r28, 2, 0x16, 0x1d
+/* 802BAB7C 002B67DC 38 63 C2 C0 */ addi r3, r3, lbl_8053C2C0@l
+/* 802BAB80 002B67E0 3C 03 00 03 */ addis r0, r3, 3
+/* 802BAB84 002B67E4 7C 60 2A 14 */ add r3, r0, r5
+/* 802BAB88 002B67E8 93 E3 88 80 */ stw r31, -0x7780(r3)
+/* 802BAB8C 002B67EC 90 83 88 60 */ stw r4, -0x77a0(r3)
+/* 802BAB90 002B67F0 48 00 00 28 */ b lbl_802BABB8
+lbl_802BAB94:
+/* 802BAB94 002B67F4 3C 60 80 54 */ lis r3, lbl_8053C2C0@ha
+/* 802BAB98 002B67F8 57 85 15 BA */ rlwinm r5, r28, 2, 0x16, 0x1d
+/* 802BAB9C 002B67FC 38 63 C2 C0 */ addi r3, r3, lbl_8053C2C0@l
+/* 802BABA0 002B6800 3C 03 00 03 */ addis r0, r3, 3
+/* 802BABA4 002B6804 7C 60 2A 14 */ add r3, r0, r5
+/* 802BABA8 002B6808 93 E3 88 C0 */ stw r31, -0x7740(r3)
+/* 802BABAC 002B680C 90 83 88 A0 */ stw r4, -0x7760(r3)
+/* 802BABB0 002B6810 48 00 00 08 */ b lbl_802BABB8
+lbl_802BABB4:
+/* 802BABB4 002B6814 3B C0 00 01 */ li r30, 1
+lbl_802BABB8:
+/* 802BABB8 002B6818 2C 1E 00 00 */ cmpwi r30, 0
+/* 802BABBC 002B681C 40 82 00 58 */ bne lbl_802BAC14
+/* 802BABC0 002B6820 2C 1D 00 00 */ cmpwi r29, 0
+/* 802BABC4 002B6824 40 81 00 50 */ ble lbl_802BAC14
+/* 802BABC8 002B6828 3C 60 80 54 */ lis r3, lbl_8053C2C0@ha
+/* 802BABCC 002B682C 38 63 C2 C0 */ addi r3, r3, lbl_8053C2C0@l
+/* 802BABD0 002B6830 3C 63 00 03 */ addis r3, r3, 3
+/* 802BABD4 002B6834 80 83 88 3C */ lwz r4, -0x77c4(r3)
+/* 802BABD8 002B6838 2C 04 00 00 */ cmpwi r4, 0
+/* 802BABDC 002B683C 41 82 00 18 */ beq lbl_802BABF4
+/* 802BABE0 002B6840 80 03 88 38 */ lwz r0, -0x77c8(r3)
+/* 802BABE4 002B6844 7C 1D 00 00 */ cmpw r29, r0
+/* 802BABE8 002B6848 40 80 00 2C */ bge lbl_802BAC14
+/* 802BABEC 002B684C 2C 00 00 00 */ cmpwi r0, 0
+/* 802BABF0 002B6850 40 81 00 24 */ ble lbl_802BAC14
+lbl_802BABF4:
+/* 802BABF4 002B6854 3C 60 80 54 */ lis r3, lbl_8053C2C0@ha
+/* 802BABF8 002B6858 38 63 C2 C0 */ addi r3, r3, lbl_8053C2C0@l
+/* 802BABFC 002B685C 3C 63 00 03 */ addis r3, r3, 3
+/* 802BAC00 002B6860 80 03 88 38 */ lwz r0, -0x77c8(r3)
+/* 802BAC04 002B6864 7C 00 20 50 */ subf r0, r0, r4
+/* 802BAC08 002B6868 7C 1D 02 14 */ add r0, r29, r0
+/* 802BAC0C 002B686C 90 03 88 3C */ stw r0, -0x77c4(r3)
+/* 802BAC10 002B6870 93 A3 88 38 */ stw r29, -0x77c8(r3)
+lbl_802BAC14:
+/* 802BAC14 002B6874 48 00 05 49 */ bl func_802BB15C
+/* 802BAC18 002B6878 39 61 00 20 */ addi r11, r1, 0x20
+/* 802BAC1C 002B687C 4B F0 C5 59 */ bl _restgpr_27
+/* 802BAC20 002B6880 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802BAC24 002B6884 7C 08 03 A6 */ mtlr r0
+/* 802BAC28 002B6888 38 21 00 20 */ addi r1, r1, 0x20
+/* 802BAC2C 002B688C 4E 80 00 20 */ blr
+
+.global GKI_stop_timer
+GKI_stop_timer:
+/* 802BAC30 002B6890 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802BAC34 002B6894 7C 08 02 A6 */ mflr r0
+/* 802BAC38 002B6898 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802BAC3C 002B689C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802BAC40 002B68A0 7C 7F 1B 78 */ mr r31, r3
+/* 802BAC44 002B68A4 48 00 05 11 */ bl func_802BB154
+/* 802BAC48 002B68A8 2C 1F 00 01 */ cmpwi r31, 1
+/* 802BAC4C 002B68AC 41 82 00 38 */ beq lbl_802BAC84
+/* 802BAC50 002B68B0 40 80 00 54 */ bge lbl_802BACA4
+/* 802BAC54 002B68B4 2C 1F 00 00 */ cmpwi r31, 0
+/* 802BAC58 002B68B8 40 80 00 08 */ bge lbl_802BAC60
+/* 802BAC5C 002B68BC 48 00 00 48 */ b lbl_802BACA4
+lbl_802BAC60:
+/* 802BAC60 002B68C0 3C 80 80 54 */ lis r4, lbl_8053C2C0@ha
+/* 802BAC64 002B68C4 54 63 15 BA */ rlwinm r3, r3, 2, 0x16, 0x1d
+/* 802BAC68 002B68C8 38 84 C2 C0 */ addi r4, r4, lbl_8053C2C0@l
+/* 802BAC6C 002B68CC 38 A0 00 00 */ li r5, 0
+/* 802BAC70 002B68D0 3C 04 00 03 */ addis r0, r4, 3
+/* 802BAC74 002B68D4 7C 60 1A 14 */ add r3, r0, r3
+/* 802BAC78 002B68D8 90 A3 88 80 */ stw r5, -0x7780(r3)
+/* 802BAC7C 002B68DC 90 A3 88 60 */ stw r5, -0x77a0(r3)
+/* 802BAC80 002B68E0 48 00 00 24 */ b lbl_802BACA4
+lbl_802BAC84:
+/* 802BAC84 002B68E4 3C 80 80 54 */ lis r4, lbl_8053C2C0@ha
+/* 802BAC88 002B68E8 54 63 15 BA */ rlwinm r3, r3, 2, 0x16, 0x1d
+/* 802BAC8C 002B68EC 38 84 C2 C0 */ addi r4, r4, lbl_8053C2C0@l
+/* 802BAC90 002B68F0 38 A0 00 00 */ li r5, 0
+/* 802BAC94 002B68F4 3C 04 00 03 */ addis r0, r4, 3
+/* 802BAC98 002B68F8 7C 60 1A 14 */ add r3, r0, r3
+/* 802BAC9C 002B68FC 90 A3 88 C0 */ stw r5, -0x7740(r3)
+/* 802BACA0 002B6900 90 A3 88 A0 */ stw r5, -0x7760(r3)
+lbl_802BACA4:
+/* 802BACA4 002B6904 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802BACA8 002B6908 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802BACAC 002B690C 7C 08 03 A6 */ mtlr r0
+/* 802BACB0 002B6910 38 21 00 10 */ addi r1, r1, 0x10
+/* 802BACB4 002B6914 4E 80 00 20 */ blr
+
+.global GKI_init_timer_list
+GKI_init_timer_list:
+/* 802BACB8 002B6918 38 00 00 00 */ li r0, 0
+/* 802BACBC 002B691C 90 03 00 00 */ stw r0, 0(r3)
+/* 802BACC0 002B6920 90 03 00 04 */ stw r0, 4(r3)
+/* 802BACC4 002B6924 90 03 00 08 */ stw r0, 8(r3)
+/* 802BACC8 002B6928 4E 80 00 20 */ blr
+
+.global GKI_update_timer_list
+GKI_update_timer_list:
+/* 802BACCC 002B692C 80 C3 00 00 */ lwz r6, 0(r3)
+/* 802BACD0 002B6930 38 E0 00 00 */ li r7, 0
+/* 802BACD4 002B6934 48 00 00 0C */ b lbl_802BACE0
+lbl_802BACD8:
+/* 802BACD8 002B6938 80 C6 00 00 */ lwz r6, 0(r6)
+/* 802BACDC 002B693C 38 E7 00 01 */ addi r7, r7, 1
+lbl_802BACE0:
+/* 802BACE0 002B6940 2C 06 00 00 */ cmpwi r6, 0
+/* 802BACE4 002B6944 41 82 00 10 */ beq lbl_802BACF4
+/* 802BACE8 002B6948 80 06 00 0C */ lwz r0, 0xc(r6)
+/* 802BACEC 002B694C 2C 00 00 00 */ cmpwi r0, 0
+/* 802BACF0 002B6950 40 81 FF E8 */ ble lbl_802BACD8
+lbl_802BACF4:
+/* 802BACF4 002B6954 7C 88 23 78 */ mr r8, r4
+/* 802BACF8 002B6958 38 00 00 00 */ li r0, 0
+/* 802BACFC 002B695C 48 00 00 24 */ b lbl_802BAD20
+lbl_802BAD00:
+/* 802BAD00 002B6960 81 26 00 0C */ lwz r9, 0xc(r6)
+/* 802BAD04 002B6964 7C A8 48 51 */ subf. r5, r8, r9
+/* 802BAD08 002B6968 90 A6 00 0C */ stw r5, 0xc(r6)
+/* 802BAD0C 002B696C 41 81 00 0C */ bgt lbl_802BAD18
+/* 802BAD10 002B6970 90 06 00 0C */ stw r0, 0xc(r6)
+/* 802BAD14 002B6974 38 E7 00 01 */ addi r7, r7, 1
+lbl_802BAD18:
+/* 802BAD18 002B6978 7D 09 40 50 */ subf r8, r9, r8
+/* 802BAD1C 002B697C 80 C6 00 00 */ lwz r6, 0(r6)
+lbl_802BAD20:
+/* 802BAD20 002B6980 2C 06 00 00 */ cmpwi r6, 0
+/* 802BAD24 002B6984 41 82 00 0C */ beq lbl_802BAD30
+/* 802BAD28 002B6988 2C 08 00 00 */ cmpwi r8, 0
+/* 802BAD2C 002B698C 41 81 FF D4 */ bgt lbl_802BAD00
+lbl_802BAD30:
+/* 802BAD30 002B6990 80 03 00 08 */ lwz r0, 8(r3)
+/* 802BAD34 002B6994 2C 00 00 00 */ cmpwi r0, 0
+/* 802BAD38 002B6998 40 81 00 18 */ ble lbl_802BAD50
+/* 802BAD3C 002B699C 7C 04 00 51 */ subf. r0, r4, r0
+/* 802BAD40 002B69A0 90 03 00 08 */ stw r0, 8(r3)
+/* 802BAD44 002B69A4 40 80 00 0C */ bge lbl_802BAD50
+/* 802BAD48 002B69A8 38 00 00 00 */ li r0, 0
+/* 802BAD4C 002B69AC 90 03 00 08 */ stw r0, 8(r3)
+lbl_802BAD50:
+/* 802BAD50 002B69B0 7C E3 3B 78 */ mr r3, r7
+/* 802BAD54 002B69B4 4E 80 00 20 */ blr
+
+.global GKI_add_to_timer_list
+GKI_add_to_timer_list:
+/* 802BAD58 002B69B8 80 A4 00 0C */ lwz r5, 0xc(r4)
+/* 802BAD5C 002B69BC 2C 05 00 00 */ cmpwi r5, 0
+/* 802BAD60 002B69C0 4D 80 00 20 */ bltlr
+/* 802BAD64 002B69C4 80 03 00 08 */ lwz r0, 8(r3)
+/* 802BAD68 002B69C8 7C 05 00 00 */ cmpw r5, r0
+/* 802BAD6C 002B69CC 41 80 00 54 */ blt lbl_802BADC0
+/* 802BAD70 002B69D0 80 03 00 00 */ lwz r0, 0(r3)
+/* 802BAD74 002B69D4 2C 00 00 00 */ cmpwi r0, 0
+/* 802BAD78 002B69D8 40 82 00 0C */ bne lbl_802BAD84
+/* 802BAD7C 002B69DC 90 83 00 00 */ stw r4, 0(r3)
+/* 802BAD80 002B69E0 48 00 00 1C */ b lbl_802BAD9C
+lbl_802BAD84:
+/* 802BAD84 002B69E4 80 A3 00 04 */ lwz r5, 4(r3)
+/* 802BAD88 002B69E8 2C 05 00 00 */ cmpwi r5, 0
+/* 802BAD8C 002B69EC 41 82 00 08 */ beq lbl_802BAD94
+/* 802BAD90 002B69F0 90 85 00 00 */ stw r4, 0(r5)
+lbl_802BAD94:
+/* 802BAD94 002B69F4 80 03 00 04 */ lwz r0, 4(r3)
+/* 802BAD98 002B69F8 90 04 00 04 */ stw r0, 4(r4)
+lbl_802BAD9C:
+/* 802BAD9C 002B69FC 38 00 00 00 */ li r0, 0
+/* 802BADA0 002B6A00 90 04 00 00 */ stw r0, 0(r4)
+/* 802BADA4 002B6A04 90 83 00 04 */ stw r4, 4(r3)
+/* 802BADA8 002B6A08 80 03 00 08 */ lwz r0, 8(r3)
+/* 802BADAC 002B6A0C 80 A4 00 0C */ lwz r5, 0xc(r4)
+/* 802BADB0 002B6A10 7C 00 28 50 */ subf r0, r0, r5
+/* 802BADB4 002B6A14 90 04 00 0C */ stw r0, 0xc(r4)
+/* 802BADB8 002B6A18 90 A3 00 08 */ stw r5, 8(r3)
+/* 802BADBC 002B6A1C 48 00 00 7C */ b lbl_802BAE38
+lbl_802BADC0:
+/* 802BADC0 002B6A20 80 C3 00 00 */ lwz r6, 0(r3)
+/* 802BADC4 002B6A24 48 00 00 1C */ b lbl_802BADE0
+lbl_802BADC8:
+/* 802BADC8 002B6A28 2C 05 00 00 */ cmpwi r5, 0
+/* 802BADCC 002B6A2C 40 81 00 10 */ ble lbl_802BADDC
+/* 802BADD0 002B6A30 80 04 00 0C */ lwz r0, 0xc(r4)
+/* 802BADD4 002B6A34 7C 05 00 50 */ subf r0, r5, r0
+/* 802BADD8 002B6A38 90 04 00 0C */ stw r0, 0xc(r4)
+lbl_802BADDC:
+/* 802BADDC 002B6A3C 80 C6 00 00 */ lwz r6, 0(r6)
+lbl_802BADE0:
+/* 802BADE0 002B6A40 80 A6 00 0C */ lwz r5, 0xc(r6)
+/* 802BADE4 002B6A44 80 04 00 0C */ lwz r0, 0xc(r4)
+/* 802BADE8 002B6A48 7C 00 28 00 */ cmpw r0, r5
+/* 802BADEC 002B6A4C 41 81 FF DC */ bgt lbl_802BADC8
+/* 802BADF0 002B6A50 80 03 00 00 */ lwz r0, 0(r3)
+/* 802BADF4 002B6A54 7C 06 00 40 */ cmplw r6, r0
+/* 802BADF8 002B6A58 40 82 00 18 */ bne lbl_802BAE10
+/* 802BADFC 002B6A5C 90 04 00 00 */ stw r0, 0(r4)
+/* 802BAE00 002B6A60 80 A3 00 00 */ lwz r5, 0(r3)
+/* 802BAE04 002B6A64 90 85 00 04 */ stw r4, 4(r5)
+/* 802BAE08 002B6A68 90 83 00 00 */ stw r4, 0(r3)
+/* 802BAE0C 002B6A6C 48 00 00 1C */ b lbl_802BAE28
+lbl_802BAE10:
+/* 802BAE10 002B6A70 80 66 00 04 */ lwz r3, 4(r6)
+/* 802BAE14 002B6A74 90 83 00 00 */ stw r4, 0(r3)
+/* 802BAE18 002B6A78 80 06 00 04 */ lwz r0, 4(r6)
+/* 802BAE1C 002B6A7C 90 04 00 04 */ stw r0, 4(r4)
+/* 802BAE20 002B6A80 90 86 00 04 */ stw r4, 4(r6)
+/* 802BAE24 002B6A84 90 C4 00 00 */ stw r6, 0(r4)
+lbl_802BAE28:
+/* 802BAE28 002B6A88 80 64 00 0C */ lwz r3, 0xc(r4)
+/* 802BAE2C 002B6A8C 80 06 00 0C */ lwz r0, 0xc(r6)
+/* 802BAE30 002B6A90 7C 03 00 50 */ subf r0, r3, r0
+/* 802BAE34 002B6A94 90 06 00 0C */ stw r0, 0xc(r6)
+lbl_802BAE38:
+/* 802BAE38 002B6A98 38 00 00 01 */ li r0, 1
+/* 802BAE3C 002B6A9C 98 04 00 16 */ stb r0, 0x16(r4)
+/* 802BAE40 002B6AA0 4E 80 00 20 */ blr
+
+.global GKI_remove_from_timer_list
+GKI_remove_from_timer_list:
+/* 802BAE44 002B6AA4 2C 04 00 00 */ cmpwi r4, 0
+/* 802BAE48 002B6AA8 4D 82 00 20 */ beqlr
+/* 802BAE4C 002B6AAC 88 04 00 16 */ lbz r0, 0x16(r4)
+/* 802BAE50 002B6AB0 2C 00 00 00 */ cmpwi r0, 0
+/* 802BAE54 002B6AB4 4D 82 00 20 */ beqlr
+/* 802BAE58 002B6AB8 80 03 00 00 */ lwz r0, 0(r3)
+/* 802BAE5C 002B6ABC 2C 00 00 00 */ cmpwi r0, 0
+/* 802BAE60 002B6AC0 40 82 00 08 */ bne lbl_802BAE68
+/* 802BAE64 002B6AC4 4E 80 00 20 */ blr
+lbl_802BAE68:
+/* 802BAE68 002B6AC8 80 C4 00 00 */ lwz r6, 0(r4)
+/* 802BAE6C 002B6ACC 2C 06 00 00 */ cmpwi r6, 0
+/* 802BAE70 002B6AD0 41 82 00 18 */ beq lbl_802BAE88
+/* 802BAE74 002B6AD4 80 A6 00 0C */ lwz r5, 0xc(r6)
+/* 802BAE78 002B6AD8 80 04 00 0C */ lwz r0, 0xc(r4)
+/* 802BAE7C 002B6ADC 7C 05 02 14 */ add r0, r5, r0
+/* 802BAE80 002B6AE0 90 06 00 0C */ stw r0, 0xc(r6)
+/* 802BAE84 002B6AE4 48 00 00 14 */ b lbl_802BAE98
+lbl_802BAE88:
+/* 802BAE88 002B6AE8 80 A4 00 0C */ lwz r5, 0xc(r4)
+/* 802BAE8C 002B6AEC 80 03 00 08 */ lwz r0, 8(r3)
+/* 802BAE90 002B6AF0 7C 05 00 50 */ subf r0, r5, r0
+/* 802BAE94 002B6AF4 90 03 00 08 */ stw r0, 8(r3)
+lbl_802BAE98:
+/* 802BAE98 002B6AF8 80 03 00 00 */ lwz r0, 0(r3)
+/* 802BAE9C 002B6AFC 7C 00 20 40 */ cmplw r0, r4
+/* 802BAEA0 002B6B00 40 82 00 34 */ bne lbl_802BAED4
+/* 802BAEA4 002B6B04 80 A4 00 00 */ lwz r5, 0(r4)
+/* 802BAEA8 002B6B08 2C 05 00 00 */ cmpwi r5, 0
+/* 802BAEAC 002B6B0C 90 A3 00 00 */ stw r5, 0(r3)
+/* 802BAEB0 002B6B10 41 82 00 0C */ beq lbl_802BAEBC
+/* 802BAEB4 002B6B14 38 00 00 00 */ li r0, 0
+/* 802BAEB8 002B6B18 90 05 00 04 */ stw r0, 4(r5)
+lbl_802BAEBC:
+/* 802BAEBC 002B6B1C 80 03 00 04 */ lwz r0, 4(r3)
+/* 802BAEC0 002B6B20 7C 00 20 40 */ cmplw r0, r4
+/* 802BAEC4 002B6B24 40 82 00 88 */ bne lbl_802BAF4C
+/* 802BAEC8 002B6B28 38 00 00 00 */ li r0, 0
+/* 802BAECC 002B6B2C 90 03 00 04 */ stw r0, 4(r3)
+/* 802BAED0 002B6B30 48 00 00 7C */ b lbl_802BAF4C
+lbl_802BAED4:
+/* 802BAED4 002B6B34 80 03 00 04 */ lwz r0, 4(r3)
+/* 802BAED8 002B6B38 7C 00 20 40 */ cmplw r0, r4
+/* 802BAEDC 002B6B3C 40 82 00 20 */ bne lbl_802BAEFC
+/* 802BAEE0 002B6B40 80 A4 00 04 */ lwz r5, 4(r4)
+/* 802BAEE4 002B6B44 2C 05 00 00 */ cmpwi r5, 0
+/* 802BAEE8 002B6B48 90 A3 00 04 */ stw r5, 4(r3)
+/* 802BAEEC 002B6B4C 41 82 00 60 */ beq lbl_802BAF4C
+/* 802BAEF0 002B6B50 38 00 00 00 */ li r0, 0
+/* 802BAEF4 002B6B54 90 05 00 00 */ stw r0, 0(r5)
+/* 802BAEF8 002B6B58 48 00 00 54 */ b lbl_802BAF4C
+lbl_802BAEFC:
+/* 802BAEFC 002B6B5C 80 64 00 00 */ lwz r3, 0(r4)
+/* 802BAF00 002B6B60 2C 03 00 00 */ cmpwi r3, 0
+/* 802BAF04 002B6B64 4D 82 00 20 */ beqlr
+/* 802BAF08 002B6B68 80 03 00 04 */ lwz r0, 4(r3)
+/* 802BAF0C 002B6B6C 7C 00 20 40 */ cmplw r0, r4
+/* 802BAF10 002B6B70 4C 82 00 20 */ bnelr
+/* 802BAF14 002B6B74 80 04 00 04 */ lwz r0, 4(r4)
+/* 802BAF18 002B6B78 90 03 00 04 */ stw r0, 4(r3)
+/* 802BAF1C 002B6B7C 48 00 00 08 */ b lbl_802BAF24
+/* 802BAF20 002B6B80 4E 80 00 20 */ blr
+lbl_802BAF24:
+/* 802BAF24 002B6B84 80 64 00 04 */ lwz r3, 4(r4)
+/* 802BAF28 002B6B88 2C 03 00 00 */ cmpwi r3, 0
+/* 802BAF2C 002B6B8C 4D 82 00 20 */ beqlr
+/* 802BAF30 002B6B90 80 03 00 00 */ lwz r0, 0(r3)
+/* 802BAF34 002B6B94 7C 00 20 40 */ cmplw r0, r4
+/* 802BAF38 002B6B98 4C 82 00 20 */ bnelr
+/* 802BAF3C 002B6B9C 80 04 00 00 */ lwz r0, 0(r4)
+/* 802BAF40 002B6BA0 90 03 00 00 */ stw r0, 0(r3)
+/* 802BAF44 002B6BA4 48 00 00 08 */ b lbl_802BAF4C
+/* 802BAF48 002B6BA8 4E 80 00 20 */ blr
+lbl_802BAF4C:
+/* 802BAF4C 002B6BAC 38 60 00 00 */ li r3, 0
+/* 802BAF50 002B6BB0 3C 00 80 00 */ lis r0, 0x8000
+/* 802BAF54 002B6BB4 90 64 00 04 */ stw r3, 4(r4)
+/* 802BAF58 002B6BB8 90 64 00 00 */ stw r3, 0(r4)
+/* 802BAF5C 002B6BBC 90 04 00 0C */ stw r0, 0xc(r4)
+/* 802BAF60 002B6BC0 98 64 00 16 */ stb r3, 0x16(r4)
+/* 802BAF64 002B6BC4 4E 80 00 20 */ blr
diff --git a/asm/SDK/euart.s b/asm/SDK/EUART/euart.s index 76d486f..76d486f 100644 --- a/asm/SDK/euart.s +++ b/asm/SDK/EUART/euart.s diff --git a/asm/SDK/usb.s b/asm/SDK/USB/usb.s index a276a0e..a276a0e 100644 --- a/asm/SDK/usb.s +++ b/asm/SDK/USB/usb.s diff --git a/asm/SDK/WPAD/WPAD.s b/asm/SDK/WPAD/WPAD.s index 273c48e..0438b59 100644 --- a/asm/SDK/WPAD/WPAD.s +++ b/asm/SDK/WPAD/WPAD.s @@ -7579,7 +7579,7 @@ lbl_802AC910: /* 802AC924 002A8584 48 00 6F 3D */ bl DEBUGPrint
/* 802AC928 002A8588 38 19 00 12 */ addi r0, r25, 0x12
/* 802AC92C 002A858C 54 03 06 3E */ clrlwi r3, r0, 0x18
-/* 802AC930 002A8590 48 00 D1 7D */ bl func_802B9AAC
+/* 802AC930 002A8590 48 00 D1 7D */ bl GKI_getbuf
/* 802AC934 002A8594 38 99 00 01 */ addi r4, r25, 1
/* 802AC938 002A8598 38 00 00 0A */ li r0, 0xa
/* 802AC93C 002A859C 54 84 06 3E */ clrlwi r4, r4, 0x18
diff --git a/asm/SDK/WUD.s b/asm/SDK/WUD/WUD.s index 21933de..e999af9 100644 --- a/asm/SDK/WUD.s +++ b/asm/SDK/WUD/WUD.s @@ -12,7 +12,7 @@ App_MEMalloc: /* 802B4CD4 002B0934 7C 7F 1B 78 */ mr r31, r3
/* 802B4CD8 002B0938 38 64 E1 24 */ addi r3, r4, lbl_8043E124@l
/* 802B4CDC 002B093C 4C C6 31 82 */ crclr 6
-/* 802B4CE0 002B0940 48 00 48 9D */ bl func_802B957C
+/* 802B4CE0 002B0940 48 00 48 9D */ bl WUD_DEBUGPrint
/* 802B4CE4 002B0944 3C 80 80 54 */ lis r4, lbl_8053A4E0@ha
/* 802B4CE8 002B0948 7F E3 FB 78 */ mr r3, r31
/* 802B4CEC 002B094C 38 84 A4 E0 */ addi r4, r4, lbl_8053A4E0@l
@@ -35,7 +35,7 @@ App_MEMfree: /* 802B4D24 002B0984 7C 7F 1B 78 */ mr r31, r3
/* 802B4D28 002B0988 38 64 E1 34 */ addi r3, r4, lbl_8043E134@l
/* 802B4D2C 002B098C 4C C6 31 82 */ crclr 6
-/* 802B4D30 002B0990 48 00 48 4D */ bl func_802B957C
+/* 802B4D30 002B0990 48 00 48 4D */ bl WUD_DEBUGPrint
/* 802B4D34 002B0994 3C 80 80 54 */ lis r4, lbl_8053A4E0@ha
/* 802B4D38 002B0998 7F E3 FB 78 */ mr r3, r31
/* 802B4D3C 002B099C 38 84 A4 E0 */ addi r4, r4, lbl_8053A4E0@l
@@ -62,7 +62,7 @@ SyncFlushCallback: /* 802B4D88 002B09E8 7F C4 F3 78 */ mr r4, r30
/* 802B4D8C 002B09EC 38 63 E1 44 */ addi r3, r3, lbl_8043E144@l
/* 802B4D90 002B09F0 4C C6 31 82 */ crclr 6
-/* 802B4D94 002B09F4 48 00 47 E9 */ bl func_802B957C
+/* 802B4D94 002B09F4 48 00 47 E9 */ bl WUD_DEBUGPrint
/* 802B4D98 002B09F8 88 1F 00 0C */ lbz r0, 0xc(r31)
/* 802B4D9C 002B09FC 2C 00 00 00 */ cmpwi r0, 0
/* 802B4DA0 002B0A00 41 82 00 20 */ beq lbl_802B4DC0
@@ -94,7 +94,7 @@ DeleteFlushCallback: /* 802B4DF8 002B0A58 3B FF A4 E0 */ addi r31, r31, lbl_8053A4E0@l
/* 802B4DFC 002B0A5C 88 BF 00 0D */ lbz r5, 0xd(r31)
/* 802B4E00 002B0A60 4C C6 31 82 */ crclr 6
-/* 802B4E04 002B0A64 48 00 47 79 */ bl func_802B957C
+/* 802B4E04 002B0A64 48 00 47 79 */ bl WUD_DEBUGPrint
/* 802B4E08 002B0A68 88 1F 00 0D */ lbz r0, 0xd(r31)
/* 802B4E0C 002B0A6C 2C 00 00 00 */ cmpwi r0, 0
/* 802B4E10 002B0A70 41 82 00 0C */ beq lbl_802B4E1C
@@ -119,7 +119,7 @@ ShutFlushCallback: /* 802B4E50 002B0AB0 3B FF A4 E0 */ addi r31, r31, lbl_8053A4E0@l
/* 802B4E54 002B0AB4 88 BF 00 11 */ lbz r5, 0x11(r31)
/* 802B4E58 002B0AB8 4C C6 31 82 */ crclr 6
-/* 802B4E5C 002B0ABC 48 00 47 21 */ bl func_802B957C
+/* 802B4E5C 002B0ABC 48 00 47 21 */ bl WUD_DEBUGPrint
/* 802B4E60 002B0AC0 38 7F 07 10 */ addi r3, r31, 0x710
/* 802B4E64 002B0AC4 4B FB 4C 15 */ bl OSCancelAlarm
/* 802B4E68 002B0AC8 38 00 00 03 */ li r0, 3
@@ -293,7 +293,7 @@ lbl_802B50A8: /* 802B50B4 002B0D14 57 A4 06 3E */ clrlwi r4, r29, 0x18
/* 802B50B8 002B0D18 38 63 E1 B8 */ addi r3, r3, lbl_8043E1B8@l
/* 802B50BC 002B0D1C 4C C6 31 82 */ crclr 6
-/* 802B50C0 002B0D20 48 00 44 BD */ bl func_802B957C
+/* 802B50C0 002B0D20 48 00 44 BD */ bl WUD_DEBUGPrint
/* 802B50C4 002B0D24 3C 60 80 54 */ lis r3, lbl_8053AC28@ha
/* 802B50C8 002B0D28 38 63 AC 28 */ addi r3, r3, lbl_8053AC28@l
/* 802B50CC 002B0D2C 48 03 75 41 */ bl func_802EC60C
@@ -400,7 +400,7 @@ lbl_802B5230: /* 802B5230 002B0E90 3C 60 80 44 */ lis r3, lbl_8043E1D8@ha
/* 802B5234 002B0E94 38 63 E1 D8 */ addi r3, r3, lbl_8043E1D8@l
/* 802B5238 002B0E98 4C C6 31 82 */ crclr 6
-/* 802B523C 002B0E9C 48 00 43 41 */ bl func_802B957C
+/* 802B523C 002B0E9C 48 00 43 41 */ bl WUD_DEBUGPrint
/* 802B5240 002B0EA0 38 60 00 00 */ li r3, 0
lbl_802B5244:
/* 802B5244 002B0EA4 80 01 00 34 */ lwz r0, 0x34(r1)
@@ -856,7 +856,7 @@ lbl_802B5878: /* 802B5884 002B14E4 7C 7E 1B 78 */ mr r30, r3
/* 802B5888 002B14E8 38 7B 01 B4 */ addi r3, r27, 0x1b4
/* 802B588C 002B14EC 4C C6 31 82 */ crclr 6
-/* 802B5890 002B14F0 48 00 3C ED */ bl func_802B957C
+/* 802B5890 002B14F0 48 00 3C ED */ bl WUD_DEBUGPrint
/* 802B5894 002B14F4 88 9E 00 40 */ lbz r4, 0x40(r30)
/* 802B5898 002B14F8 38 7B 01 CC */ addi r3, r27, 0x1cc
/* 802B589C 002B14FC 88 BE 00 41 */ lbz r5, 0x41(r30)
@@ -865,7 +865,7 @@ lbl_802B5878: /* 802B58A8 002B1508 89 1E 00 44 */ lbz r8, 0x44(r30)
/* 802B58AC 002B150C 89 3E 00 45 */ lbz r9, 0x45(r30)
/* 802B58B0 002B1510 4C C6 31 82 */ crclr 6
-/* 802B58B4 002B1514 48 00 3C C9 */ bl func_802B957C
+/* 802B58B4 002B1514 48 00 3C C9 */ bl WUD_DEBUGPrint
/* 802B58B8 002B1518 88 1E 00 4D */ lbz r0, 0x4d(r30)
/* 802B58BC 002B151C 38 7B 01 F8 */ addi r3, r27, 0x1f8
/* 802B58C0 002B1520 90 01 00 08 */ stw r0, 8(r1)
@@ -893,7 +893,7 @@ lbl_802B5878: /* 802B5918 002B1578 89 3E 00 4B */ lbz r9, 0x4b(r30)
/* 802B591C 002B157C 89 5E 00 4C */ lbz r10, 0x4c(r30)
/* 802B5920 002B1580 4C C6 31 82 */ crclr 6
-/* 802B5924 002B1584 48 00 3C 59 */ bl func_802B957C
+/* 802B5924 002B1584 48 00 3C 59 */ bl WUD_DEBUGPrint
/* 802B5928 002B1588 38 00 00 02 */ li r0, 2
/* 802B592C 002B158C 3C C0 80 2C */ lis r6, WUDStoredLinkKeyCallback@ha
/* 802B5930 002B1590 98 1D 00 0E */ stb r0, 0xe(r29)
@@ -985,7 +985,7 @@ lbl_802B5A30: /* 802B5A54 002B16B4 40 82 00 1C */ bne lbl_802B5A70
/* 802B5A58 002B16B8 38 7B 02 50 */ addi r3, r27, 0x250
/* 802B5A5C 002B16BC 4C C6 31 82 */ crclr 6
-/* 802B5A60 002B16C0 48 00 3B 1D */ bl func_802B957C
+/* 802B5A60 002B16C0 48 00 3B 1D */ bl WUD_DEBUGPrint
/* 802B5A64 002B16C4 48 00 A8 01 */ bl func_802C0264
/* 802B5A68 002B16C8 38 00 00 1A */ li r0, 0x1a
/* 802B5A6C 002B16CC 48 00 00 08 */ b lbl_802B5A74
@@ -997,7 +997,7 @@ lbl_802B5A74: lbl_802B5A7C:
/* 802B5A7C 002B16DC 38 7B 02 80 */ addi r3, r27, 0x280
/* 802B5A80 002B16E0 4C C6 31 82 */ crclr 6
-/* 802B5A84 002B16E4 48 00 3A F9 */ bl func_802B957C
+/* 802B5A84 002B16E4 48 00 3A F9 */ bl WUD_DEBUGPrint
lbl_802B5A88:
/* 802B5A88 002B16E8 39 61 00 60 */ addi r11, r1, 0x60
/* 802B5A8C 002B16EC 4B F1 16 E5 */ bl _restgpr_26
@@ -1335,35 +1335,35 @@ lbl_802B5EFC: /* 802B5F18 002B1B78 88 81 00 08 */ lbz r4, 8(r1)
/* 802B5F1C 002B1B7C 38 7E 02 C0 */ addi r3, r30, 0x2c0
/* 802B5F20 002B1B80 4C C6 31 82 */ crclr 6
-/* 802B5F24 002B1B84 48 00 36 59 */ bl func_802B957C
+/* 802B5F24 002B1B84 48 00 36 59 */ bl WUD_DEBUGPrint
/* 802B5F28 002B1B88 A0 81 00 0A */ lhz r4, 0xa(r1)
/* 802B5F2C 002B1B8C 38 7E 02 D8 */ addi r3, r30, 0x2d8
/* 802B5F30 002B1B90 4C C6 31 82 */ crclr 6
-/* 802B5F34 002B1B94 48 00 36 49 */ bl func_802B957C
+/* 802B5F34 002B1B94 48 00 36 49 */ bl WUD_DEBUGPrint
/* 802B5F38 002B1B98 88 81 00 0C */ lbz r4, 0xc(r1)
/* 802B5F3C 002B1B9C 38 7E 02 F0 */ addi r3, r30, 0x2f0
/* 802B5F40 002B1BA0 4C C6 31 82 */ crclr 6
-/* 802B5F44 002B1BA4 48 00 36 39 */ bl func_802B957C
+/* 802B5F44 002B1BA4 48 00 36 39 */ bl WUD_DEBUGPrint
/* 802B5F48 002B1BA8 A0 81 00 10 */ lhz r4, 0x10(r1)
/* 802B5F4C 002B1BAC 38 7E 03 08 */ addi r3, r30, 0x308
/* 802B5F50 002B1BB0 4C C6 31 82 */ crclr 6
-/* 802B5F54 002B1BB4 48 00 36 29 */ bl func_802B957C
+/* 802B5F54 002B1BB4 48 00 36 29 */ bl WUD_DEBUGPrint
/* 802B5F58 002B1BB8 A0 81 00 0E */ lhz r4, 0xe(r1)
/* 802B5F5C 002B1BBC 38 7E 03 20 */ addi r3, r30, 0x320
/* 802B5F60 002B1BC0 4C C6 31 82 */ crclr 6
-/* 802B5F64 002B1BC4 48 00 36 19 */ bl func_802B957C
+/* 802B5F64 002B1BC4 48 00 36 19 */ bl WUD_DEBUGPrint
/* 802B5F68 002B1BC8 A0 01 00 0A */ lhz r0, 0xa(r1)
/* 802B5F6C 002B1BCC 38 7E 03 38 */ addi r3, r30, 0x338
/* 802B5F70 002B1BD0 54 04 05 3E */ clrlwi r4, r0, 0x14
/* 802B5F74 002B1BD4 4C C6 31 82 */ crclr 6
-/* 802B5F78 002B1BD8 48 00 36 05 */ bl func_802B957C
+/* 802B5F78 002B1BD8 48 00 36 05 */ bl WUD_DEBUGPrint
/* 802B5F7C 002B1BDC A0 01 00 0A */ lhz r0, 0xa(r1)
/* 802B5F80 002B1BE0 54 00 05 3E */ clrlwi r0, r0, 0x14
/* 802B5F84 002B1BE4 2C 00 00 A7 */ cmpwi r0, 0xa7
/* 802B5F88 002B1BE8 40 82 00 94 */ bne lbl_802B601C
/* 802B5F8C 002B1BEC 38 7E 03 60 */ addi r3, r30, 0x360
/* 802B5F90 002B1BF0 4C C6 31 82 */ crclr 6
-/* 802B5F94 002B1BF4 48 00 35 E9 */ bl func_802B957C
+/* 802B5F94 002B1BF4 48 00 35 E9 */ bl WUD_DEBUGPrint
/* 802B5F98 002B1BF8 3D 00 80 44 */ lis r8, lbl_8043E54C@ha
/* 802B5F9C 002B1BFC 3C 60 00 01 */ lis r3, 0x0000FC4F@ha
/* 802B5FA0 002B1C00 39 48 E5 4C */ addi r10, r8, lbl_8043E54C@l
@@ -1483,11 +1483,11 @@ lbl_802B6124: /* 802B6138 002B1D98 89 15 00 44 */ lbz r8, 0x44(r21)
/* 802B613C 002B1D9C 89 35 00 45 */ lbz r9, 0x45(r21)
/* 802B6140 002B1DA0 4C C6 31 82 */ crclr 6
-/* 802B6144 002B1DA4 48 00 34 39 */ bl func_802B957C
+/* 802B6144 002B1DA4 48 00 34 39 */ bl WUD_DEBUGPrint
/* 802B6148 002B1DA8 7E A4 AB 78 */ mr r4, r21
/* 802B614C 002B1DAC 38 79 03 90 */ addi r3, r25, 0x390
/* 802B6150 002B1DB0 4C C6 31 82 */ crclr 6
-/* 802B6154 002B1DB4 48 00 34 29 */ bl func_802B957C
+/* 802B6154 002B1DB4 48 00 34 29 */ bl WUD_DEBUGPrint
/* 802B6158 002B1DB8 3B 18 00 46 */ addi r24, r24, 0x46
/* 802B615C 002B1DBC 3A F7 00 46 */ addi r23, r23, 0x46
/* 802B6160 002B1DC0 3A D6 00 01 */ addi r22, r22, 1
@@ -1641,7 +1641,7 @@ InitCore: /* 802B6358 002B1FB8 3B DF 00 00 */ addi r30, r31, 0
/* 802B635C 002B1FBC 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802B6360 002B1FC0 4C C6 31 82 */ crclr 6
-/* 802B6364 002B1FC4 48 00 32 19 */ bl func_802B957C
+/* 802B6364 002B1FC4 48 00 32 19 */ bl WUD_DEBUGPrint
/* 802B6368 002B1FC8 38 DF 0D 48 */ addi r6, r31, 0xd48
/* 802B636C 002B1FCC 39 40 00 00 */ li r10, 0
/* 802B6370 002B1FD0 91 46 00 00 */ stw r10, 0(r6)
@@ -1893,7 +1893,7 @@ lbl_802B66F0: /* 802B66F0 002B2350 3C 60 80 44 */ lis r3, lbl_8043E3F0@ha
/* 802B66F4 002B2354 38 63 E3 F0 */ addi r3, r3, lbl_8043E3F0@l
/* 802B66F8 002B2358 4C C6 31 82 */ crclr 6
-/* 802B66FC 002B235C 48 00 2E 81 */ bl func_802B957C
+/* 802B66FC 002B235C 48 00 2E 81 */ bl WUD_DEBUGPrint
/* 802B6700 002B2360 48 00 68 D1 */ bl func_802BCFD0
/* 802B6704 002B2364 88 6D AE AC */ lbz r3, lbl_8064016C-_SDA_BASE_(r13)
/* 802B6708 002B2368 48 00 73 BD */ bl func_802BDAC4
@@ -1904,7 +1904,7 @@ lbl_802B66F0: /* 802B671C 002B237C 3C 60 80 44 */ lis r3, lbl_8043E408@ha
/* 802B6720 002B2380 38 63 E4 08 */ addi r3, r3, lbl_8043E408@l
/* 802B6724 002B2384 4C C6 31 82 */ crclr 6
-/* 802B6728 002B2388 48 00 2E 55 */ bl func_802B957C
+/* 802B6728 002B2388 48 00 2E 55 */ bl WUD_DEBUGPrint
/* 802B672C 002B238C 38 00 00 00 */ li r0, 0
/* 802B6730 002B2390 3B E0 00 01 */ li r31, 1
/* 802B6734 002B2394 90 1E 00 00 */ stw r0, 0(r30)
@@ -1976,7 +1976,7 @@ WUDShutdown: /* 802B6820 002B2480 3B FF A4 E0 */ addi r31, r31, lbl_8053A4E0@l
/* 802B6824 002B2484 38 63 E4 1C */ addi r3, r3, lbl_8043E41C@l
/* 802B6828 002B2488 4C C6 31 82 */ crclr 6
-/* 802B682C 002B248C 48 00 2D 51 */ bl func_802B957C
+/* 802B682C 002B248C 48 00 2D 51 */ bl WUD_DEBUGPrint
/* 802B6830 002B2490 4B FB 7F 2D */ bl OSDisableInterrupts
/* 802B6834 002B2494 38 00 00 00 */ li r0, 0
/* 802B6838 002B2498 98 1F 06 EB */ stb r0, 0x6eb(r31)
@@ -2153,7 +2153,7 @@ WUDSetSyncSimpleCallback: /* 802B6A98 002B26F8 7C 7E 1B 78 */ mr r30, r3
/* 802B6A9C 002B26FC 38 64 E4 2C */ addi r3, r4, lbl_8043E42C@l
/* 802B6AA0 002B2700 4C C6 31 82 */ crclr 6
-/* 802B6AA4 002B2704 48 00 2A D9 */ bl func_802B957C
+/* 802B6AA4 002B2704 48 00 2A D9 */ bl WUD_DEBUGPrint
/* 802B6AA8 002B2708 4B FB 7C B5 */ bl OSDisableInterrupts
/* 802B6AAC 002B270C 3C 80 80 54 */ lis r4, lbl_8053A4E0@ha
/* 802B6AB0 002B2710 38 84 A4 E0 */ addi r4, r4, lbl_8053A4E0@l
@@ -2261,7 +2261,7 @@ WUDStartFastSyncSimple: /* 802B6C24 002B2884 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802B6C28 002B2888 93 C1 00 08 */ stw r30, 8(r1)
/* 802B6C2C 002B288C 4C C6 31 82 */ crclr 6
-/* 802B6C30 002B2890 48 00 29 4D */ bl func_802B957C
+/* 802B6C30 002B2890 48 00 29 4D */ bl WUD_DEBUGPrint
/* 802B6C34 002B2894 38 60 00 01 */ li r3, 1
/* 802B6C38 002B2898 38 80 FF FF */ li r4, -1
/* 802B6C3C 002B289C 38 A0 00 01 */ li r5, 1
@@ -2301,7 +2301,7 @@ WUDStopSyncSimple: /* 802B6CB4 002B2914 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802B6CB8 002B2918 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802B6CBC 002B291C 4C C6 31 82 */ crclr 6
-/* 802B6CC0 002B2920 48 00 28 BD */ bl func_802B957C
+/* 802B6CC0 002B2920 48 00 28 BD */ bl WUD_DEBUGPrint
/* 802B6CC4 002B2924 3F A0 80 54 */ lis r29, lbl_8053A4E0@ha
/* 802B6CC8 002B2928 3B C0 00 00 */ li r30, 0
/* 802B6CCC 002B292C 3B BD A4 E0 */ addi r29, r29, lbl_8053A4E0@l
@@ -2349,7 +2349,7 @@ WUDSetDisableChannel: /* 802B6D5C 002B29BC 7C 7D 1B 78 */ mr r29, r3
/* 802B6D60 002B29C0 38 64 E4 E0 */ addi r3, r4, lbl_8043E4E0@l
/* 802B6D64 002B29C4 4C C6 31 82 */ crclr 6
-/* 802B6D68 002B29C8 48 00 28 15 */ bl func_802B957C
+/* 802B6D68 002B29C8 48 00 28 15 */ bl WUD_DEBUGPrint
/* 802B6D6C 002B29CC 7F A0 07 75 */ extsb. r0, r29
/* 802B6D70 002B29D0 41 80 00 0C */ blt lbl_802B6D7C
/* 802B6D74 002B29D4 2C 00 00 0D */ cmpwi r0, 0xd
@@ -2390,7 +2390,7 @@ lbl_802B6DD8: /* 802B6DEC 002B2A4C 38 63 E4 F8 */ addi r3, r3, lbl_8043E4F8@l
/* 802B6DF0 002B2A50 54 04 06 3E */ clrlwi r4, r0, 0x18
/* 802B6DF4 002B2A54 4C C6 31 82 */ crclr 6
-/* 802B6DF8 002B2A58 48 00 27 85 */ bl func_802B957C
+/* 802B6DF8 002B2A58 48 00 27 85 */ bl WUD_DEBUGPrint
/* 802B6DFC 002B2A5C 3B E0 00 01 */ li r31, 1
lbl_802B6E00:
/* 802B6E00 002B2A60 7F E3 FB 78 */ mr r3, r31
@@ -2414,7 +2414,7 @@ WUDSetHidRecvCallback: /* 802B6E38 002B2A98 7C 7E 1B 78 */ mr r30, r3
/* 802B6E3C 002B2A9C 38 64 E5 14 */ addi r3, r4, lbl_8043E514@l
/* 802B6E40 002B2AA0 4C C6 31 82 */ crclr 6
-/* 802B6E44 002B2AA4 48 00 27 39 */ bl func_802B957C
+/* 802B6E44 002B2AA4 48 00 27 39 */ bl WUD_DEBUGPrint
/* 802B6E48 002B2AA8 4B FB 79 15 */ bl OSDisableInterrupts
/* 802B6E4C 002B2AAC 3C 80 80 54 */ lis r4, lbl_8053A4E0@ha
/* 802B6E50 002B2AB0 38 84 A4 E0 */ addi r4, r4, lbl_8053A4E0@l
@@ -2440,7 +2440,7 @@ WUDSetHidConnCallback: /* 802B6E94 002B2AF4 7C 7E 1B 78 */ mr r30, r3
/* 802B6E98 002B2AF8 38 64 E5 30 */ addi r3, r4, lbl_8043E530@l
/* 802B6E9C 002B2AFC 4C C6 31 82 */ crclr 6
-/* 802B6EA0 002B2B00 48 00 26 DD */ bl func_802B957C
+/* 802B6EA0 002B2B00 48 00 26 DD */ bl WUD_DEBUGPrint
/* 802B6EA4 002B2B04 4B FB 78 B9 */ bl OSDisableInterrupts
/* 802B6EA8 002B2B08 3C 80 80 54 */ lis r4, lbl_8053A4E0@ha
/* 802B6EAC 002B2B0C 38 84 A4 E0 */ addi r4, r4, lbl_8053A4E0@l
@@ -2826,7 +2826,7 @@ WUDiInitSub: /* 802B740C 002B306C 98 81 00 09 */ stb r4, 9(r1)
/* 802B7410 002B3070 98 01 00 0A */ stb r0, 0xa(r1)
/* 802B7414 002B3074 4C C6 31 82 */ crclr 6
-/* 802B7418 002B3078 48 00 21 65 */ bl func_802B957C
+/* 802B7418 002B3078 48 00 21 65 */ bl WUD_DEBUGPrint
/* 802B741C 002B307C 38 61 00 0C */ addi r3, r1, 0xc
/* 802B7420 002B3080 48 00 8D 05 */ bl func_802C0124
/* 802B7424 002B3084 38 61 00 08 */ addi r3, r1, 8
@@ -2912,7 +2912,7 @@ WUDiRegisterDevice: /* 802B7550 002B31B0 38 7F 06 78 */ addi r3, r31, 0x678
/* 802B7554 002B31B4 54 04 06 3E */ clrlwi r4, r0, 0x18
/* 802B7558 002B31B8 4C C6 31 82 */ crclr 6
-/* 802B755C 002B31BC 48 00 20 21 */ bl func_802B957C
+/* 802B755C 002B31BC 48 00 20 21 */ bl WUD_DEBUGPrint
/* 802B7560 002B31C0 7F A3 EB 78 */ mr r3, r29
/* 802B7564 002B31C4 38 9F 01 A0 */ addi r4, r31, 0x1a0
/* 802B7568 002B31C8 38 A0 00 10 */ li r5, 0x10
@@ -2925,7 +2925,7 @@ WUDiRegisterDevice: /* 802B7584 002B31E4 38 7F 06 90 */ addi r3, r31, 0x690
/* 802B7588 002B31E8 90 01 00 14 */ stw r0, 0x14(r1)
/* 802B758C 002B31EC 4C C6 31 82 */ crclr 6
-/* 802B7590 002B31F0 48 00 1F ED */ bl func_802B957C
+/* 802B7590 002B31F0 48 00 1F ED */ bl WUD_DEBUGPrint
/* 802B7594 002B31F4 80 81 00 10 */ lwz r4, 0x10(r1)
/* 802B7598 002B31F8 38 7D 00 40 */ addi r3, r29, 0x40
/* 802B759C 002B31FC 80 01 00 14 */ lwz r0, 0x14(r1)
@@ -2984,7 +2984,7 @@ WUDiRemoveDevice: /* 802B7654 002B32B4 7C 7C 1B 78 */ mr r28, r3
/* 802B7658 002B32B8 38 7F 06 A0 */ addi r3, r31, 0x6a0
/* 802B765C 002B32BC 4C C6 31 82 */ crclr 6
-/* 802B7660 002B32C0 48 00 1F 1D */ bl func_802B957C
+/* 802B7660 002B32C0 48 00 1F 1D */ bl WUD_DEBUGPrint
/* 802B7664 002B32C4 7F A3 EB 78 */ mr r3, r29
/* 802B7668 002B32C8 48 00 00 FD */ bl WUDiGetDevInfo
/* 802B766C 002B32CC 2C 03 00 00 */ cmpwi r3, 0
@@ -2999,10 +2999,10 @@ WUDiRemoveDevice: /* 802B7690 002B32F0 89 3D 00 44 */ lbz r9, 0x44(r29)
/* 802B7694 002B32F4 89 5D 00 45 */ lbz r10, 0x45(r29)
/* 802B7698 002B32F8 4C C6 31 82 */ crclr 6
-/* 802B769C 002B32FC 48 00 1E E1 */ bl func_802B957C
+/* 802B769C 002B32FC 48 00 1E E1 */ bl WUD_DEBUGPrint
/* 802B76A0 002B3300 38 7F 06 F0 */ addi r3, r31, 0x6f0
/* 802B76A4 002B3304 4C C6 31 82 */ crclr 6
-/* 802B76A8 002B3308 48 00 1E D5 */ bl func_802B957C
+/* 802B76A8 002B3308 48 00 1E D5 */ bl WUD_DEBUGPrint
/* 802B76AC 002B330C 7F A3 EB 78 */ mr r3, r29
/* 802B76B0 002B3310 38 9F 01 A0 */ addi r4, r31, 0x1a0
/* 802B76B4 002B3314 38 A0 00 10 */ li r5, 0x10
@@ -3011,11 +3011,11 @@ WUDiRemoveDevice: /* 802B76C0 002B3320 40 82 00 28 */ bne lbl_802B76E8
/* 802B76C4 002B3324 38 7F 07 14 */ addi r3, r31, 0x714
/* 802B76C8 002B3328 4C C6 31 82 */ crclr 6
-/* 802B76CC 002B332C 48 00 1E B1 */ bl func_802B957C
+/* 802B76CC 002B332C 48 00 1E B1 */ bl WUD_DEBUGPrint
/* 802B76D0 002B3330 88 9D 00 56 */ lbz r4, 0x56(r29)
/* 802B76D4 002B3334 38 7F 07 28 */ addi r3, r31, 0x728
/* 802B76D8 002B3338 4C C6 31 82 */ crclr 6
-/* 802B76DC 002B333C 48 00 1E A1 */ bl func_802B957C
+/* 802B76DC 002B333C 48 00 1E A1 */ bl WUD_DEBUGPrint
/* 802B76E0 002B3340 88 7D 00 56 */ lbz r3, 0x56(r29)
/* 802B76E4 002B3344 48 00 B3 89 */ bl func_802C2A6C
lbl_802B76E8:
@@ -3025,7 +3025,7 @@ lbl_802B76E8: /* 802B76F4 002B3354 38 7F 07 38 */ addi r3, r31, 0x738
/* 802B76F8 002B3358 54 04 06 3E */ clrlwi r4, r0, 0x18
/* 802B76FC 002B335C 4C C6 31 82 */ crclr 6
-/* 802B7700 002B3360 48 00 1E 7D */ bl func_802B957C
+/* 802B7700 002B3360 48 00 1E 7D */ bl WUD_DEBUGPrint
/* 802B7704 002B3364 88 1D 00 5B */ lbz r0, 0x5b(r29)
/* 802B7708 002B3368 2C 00 00 00 */ cmpwi r0, 0
/* 802B770C 002B336C 40 82 00 14 */ bne lbl_802B7720
@@ -3146,7 +3146,7 @@ lbl_802B7888: /* 802B7898 002B34F8 7F 84 E3 78 */ mr r4, r28
/* 802B789C 002B34FC 38 63 E7 9C */ addi r3, r3, lbl_8043E79C@l
/* 802B78A0 002B3500 4C C6 31 82 */ crclr 6
-/* 802B78A4 002B3504 48 00 1C D9 */ bl func_802B957C
+/* 802B78A4 002B3504 48 00 1C D9 */ bl WUD_DEBUGPrint
/* 802B78A8 002B3508 1C 1C 00 60 */ mulli r0, r28, 0x60
/* 802B78AC 002B350C 7C 7F 02 14 */ add r3, r31, r0
/* 802B78B0 002B3510 3B C3 00 E4 */ addi r30, r3, 0xe4
@@ -3691,7 +3691,7 @@ lbl_802B802C: /* 802B802C 002B3C8C 3C 60 80 44 */ lis r3, lbl_8043E7B4@ha
/* 802B8030 002B3C90 38 63 E7 B4 */ addi r3, r3, lbl_8043E7B4@l
/* 802B8034 002B3C94 4C C6 31 82 */ crclr 6
-/* 802B8038 002B3C98 48 00 15 44 */ b func_802B957C
+/* 802B8038 002B3C98 48 00 15 44 */ b WUD_DEBUGPrint
/* 802B803C 002B3C9C 4E 80 00 20 */ blr
WUDSecurityCallback:
@@ -3709,7 +3709,7 @@ WUDSecurityCallback: /* 802B806C 002B3CCC 3B BF 00 00 */ addi r29, r31, 0
/* 802B8070 002B3CD0 38 7E 07 8C */ addi r3, r30, 0x78c
/* 802B8074 002B3CD4 4C C6 31 82 */ crclr 6
-/* 802B8078 002B3CD8 48 00 15 05 */ bl func_802B957C
+/* 802B8078 002B3CD8 48 00 15 05 */ bl WUD_DEBUGPrint
/* 802B807C 002B3CDC 28 19 00 08 */ cmplwi r25, 8
/* 802B8080 002B3CE0 41 81 04 FC */ bgt lbl_802B857C
/* 802B8084 002B3CE4 3C 60 80 44 */ lis r3, lbl_8043EA30@ha
@@ -3724,7 +3724,7 @@ WUDSecurityCallback: /* 802B80A8 002B3D08 4B D4 BF 59 */ bl memcpy
/* 802B80AC 002B3D0C 38 7E 07 A8 */ addi r3, r30, 0x7a8
/* 802B80B0 002B3D10 4C C6 31 82 */ crclr 6
-/* 802B80B4 002B3D14 48 00 14 C9 */ bl func_802B957C
+/* 802B80B4 002B3D14 48 00 14 C9 */ bl WUD_DEBUGPrint
/* 802B80B8 002B3D18 88 9D 07 02 */ lbz r4, 0x702(r29)
/* 802B80BC 002B3D1C 38 7E 07 B8 */ addi r3, r30, 0x7b8
/* 802B80C0 002B3D20 88 BD 07 03 */ lbz r5, 0x703(r29)
@@ -3733,10 +3733,10 @@ WUDSecurityCallback: /* 802B80CC 002B3D2C 89 1D 07 06 */ lbz r8, 0x706(r29)
/* 802B80D0 002B3D30 89 3D 07 07 */ lbz r9, 0x707(r29)
/* 802B80D4 002B3D34 4C C6 31 82 */ crclr 6
-/* 802B80D8 002B3D38 48 00 14 A5 */ bl func_802B957C
-/* 802B80DC 002B3D3C 3C 80 80 2C */ lis r4, lbl_802B9030@ha
+/* 802B80D8 002B3D38 48 00 14 A5 */ bl WUD_DEBUGPrint
+/* 802B80DC 002B3D3C 3C 80 80 2C */ lis r4, WUDHidHostCallback@ha
/* 802B80E0 002B3D40 38 60 00 12 */ li r3, 0x12
-/* 802B80E4 002B3D44 38 84 90 30 */ addi r4, r4, lbl_802B9030@l
+/* 802B80E4 002B3D44 38 84 90 30 */ addi r4, r4, WUDHidHostCallback@l
/* 802B80E8 002B3D48 48 00 A6 75 */ bl func_802C275C
/* 802B80EC 002B3D4C 38 00 00 01 */ li r0, 1
/* 802B80F0 002B3D50 38 7D 07 10 */ addi r3, r29, 0x710
@@ -3763,14 +3763,14 @@ WUDSecurityCallback: /* 802B8144 002B3DA4 48 00 04 38 */ b lbl_802B857C
/* 802B8148 002B3DA8 38 7E 07 E0 */ addi r3, r30, 0x7e0
/* 802B814C 002B3DAC 4C C6 31 82 */ crclr 6
-/* 802B8150 002B3DB0 48 00 14 2D */ bl func_802B957C
+/* 802B8150 002B3DB0 48 00 14 2D */ bl WUD_DEBUGPrint
/* 802B8154 002B3DB4 3C 60 80 2C */ lis r3, CleanupCallback@ha
/* 802B8158 002B3DB8 38 63 80 0C */ addi r3, r3, CleanupCallback@l
/* 802B815C 002B3DBC 48 00 4F 51 */ bl func_802BD0AC
/* 802B8160 002B3DC0 48 00 04 1C */ b lbl_802B857C
/* 802B8164 002B3DC4 38 7E 07 F4 */ addi r3, r30, 0x7f4
/* 802B8168 002B3DC8 4C C6 31 82 */ crclr 6
-/* 802B816C 002B3DCC 48 00 14 11 */ bl func_802B957C
+/* 802B816C 002B3DCC 48 00 14 11 */ bl WUD_DEBUGPrint
/* 802B8170 002B3DD0 88 1D 06 E9 */ lbz r0, 0x6e9(r29)
/* 802B8174 002B3DD4 2C 00 00 00 */ cmpwi r0, 0
/* 802B8178 002B3DD8 40 82 00 0C */ bne lbl_802B8184
@@ -3813,7 +3813,7 @@ lbl_802B81A8: /* 802B8200 002B3E60 48 00 03 7C */ b lbl_802B857C
/* 802B8204 002B3E64 38 7E 08 08 */ addi r3, r30, 0x808
/* 802B8208 002B3E68 4C C6 31 82 */ crclr 6
-/* 802B820C 002B3E6C 48 00 13 71 */ bl func_802B957C
+/* 802B820C 002B3E6C 48 00 13 71 */ bl WUD_DEBUGPrint
/* 802B8210 002B3E70 88 9C 00 00 */ lbz r4, 0(r28)
/* 802B8214 002B3E74 38 7E 08 20 */ addi r3, r30, 0x820
/* 802B8218 002B3E78 88 BC 00 01 */ lbz r5, 1(r28)
@@ -3822,7 +3822,7 @@ lbl_802B81A8: /* 802B8224 002B3E84 89 1C 00 04 */ lbz r8, 4(r28)
/* 802B8228 002B3E88 89 3C 00 05 */ lbz r9, 5(r28)
/* 802B822C 002B3E8C 4C C6 31 82 */ crclr 6
-/* 802B8230 002B3E90 48 00 13 4D */ bl func_802B957C
+/* 802B8230 002B3E90 48 00 13 4D */ bl WUD_DEBUGPrint
/* 802B8234 002B3E94 88 1C 01 06 */ lbz r0, 0x106(r28)
/* 802B8238 002B3E98 38 7E 08 48 */ addi r3, r30, 0x848
/* 802B823C 002B3E9C 90 01 00 08 */ stw r0, 8(r1)
@@ -3850,11 +3850,11 @@ lbl_802B81A8: /* 802B8294 002B3EF4 89 3C 01 04 */ lbz r9, 0x104(r28)
/* 802B8298 002B3EF8 89 5C 01 05 */ lbz r10, 0x105(r28)
/* 802B829C 002B3EFC 4C C6 31 82 */ crclr 6
-/* 802B82A0 002B3F00 48 00 12 DD */ bl func_802B957C
+/* 802B82A0 002B3F00 48 00 12 DD */ bl WUD_DEBUGPrint
/* 802B82A4 002B3F04 88 9C 01 0F */ lbz r4, 0x10f(r28)
/* 802B82A8 002B3F08 38 7E 08 A4 */ addi r3, r30, 0x8a4
/* 802B82AC 002B3F0C 4C C6 31 82 */ crclr 6
-/* 802B82B0 002B3F10 48 00 12 CD */ bl func_802B957C
+/* 802B82B0 002B3F10 48 00 12 CD */ bl WUD_DEBUGPrint
/* 802B82B4 002B3F14 88 1C 01 0F */ lbz r0, 0x10f(r28)
/* 802B82B8 002B3F18 2C 00 00 00 */ cmpwi r0, 0
/* 802B82BC 002B3F1C 41 82 02 C0 */ beq lbl_802B857C
@@ -3881,11 +3881,11 @@ lbl_802B82FC: /* 802B830C 002B3F6C 48 00 02 70 */ b lbl_802B857C
/* 802B8310 002B3F70 38 7E 08 B4 */ addi r3, r30, 0x8b4
/* 802B8314 002B3F74 4C C6 31 82 */ crclr 6
-/* 802B8318 002B3F78 48 00 12 65 */ bl func_802B957C
+/* 802B8318 002B3F78 48 00 12 65 */ bl WUD_DEBUGPrint
/* 802B831C 002B3F7C 48 00 02 60 */ b lbl_802B857C
/* 802B8320 002B3F80 38 7E 08 CC */ addi r3, r30, 0x8cc
/* 802B8324 002B3F84 4C C6 31 82 */ crclr 6
-/* 802B8328 002B3F88 48 00 12 55 */ bl func_802B957C
+/* 802B8328 002B3F88 48 00 12 55 */ bl WUD_DEBUGPrint
/* 802B832C 002B3F8C 88 9C 00 00 */ lbz r4, 0(r28)
/* 802B8330 002B3F90 38 7E 08 E0 */ addi r3, r30, 0x8e0
/* 802B8334 002B3F94 88 BC 00 01 */ lbz r5, 1(r28)
@@ -3894,7 +3894,7 @@ lbl_802B82FC: /* 802B8340 002B3FA0 89 1C 00 04 */ lbz r8, 4(r28)
/* 802B8344 002B3FA4 89 3C 00 05 */ lbz r9, 5(r28)
/* 802B8348 002B3FA8 4C C6 31 82 */ crclr 6
-/* 802B834C 002B3FAC 48 00 12 31 */ bl func_802B957C
+/* 802B834C 002B3FAC 48 00 12 31 */ bl WUD_DEBUGPrint
/* 802B8350 002B3FB0 7F 83 E3 78 */ mr r3, r28
/* 802B8354 002B3FB4 4B FF F4 11 */ bl WUDiGetDevInfo
/* 802B8358 002B3FB8 2C 03 00 00 */ cmpwi r3, 0
@@ -3933,7 +3933,7 @@ lbl_802B83C0: /* 802B83D0 002B4030 89 3C 00 04 */ lbz r9, 4(r28)
/* 802B83D4 002B4034 89 5C 00 05 */ lbz r10, 5(r28)
/* 802B83D8 002B4038 4C C6 31 82 */ crclr 6
-/* 802B83DC 002B403C 48 00 11 A1 */ bl func_802B957C
+/* 802B83DC 002B403C 48 00 11 A1 */ bl WUD_DEBUGPrint
/* 802B83E0 002B4040 48 00 01 9C */ b lbl_802B857C
lbl_802B83E4:
/* 802B83E4 002B4044 88 1A 00 59 */ lbz r0, 0x59(r26)
@@ -3949,7 +3949,7 @@ lbl_802B83F8: /* 802B8408 002B4068 48 00 01 74 */ b lbl_802B857C
/* 802B840C 002B406C 38 7E 09 50 */ addi r3, r30, 0x950
/* 802B8410 002B4070 4C C6 31 82 */ crclr 6
-/* 802B8414 002B4074 48 00 11 69 */ bl func_802B957C
+/* 802B8414 002B4074 48 00 11 69 */ bl WUD_DEBUGPrint
/* 802B8418 002B4078 88 9C 00 00 */ lbz r4, 0(r28)
/* 802B841C 002B407C 38 7E 08 E0 */ addi r3, r30, 0x8e0
/* 802B8420 002B4080 88 BC 00 01 */ lbz r5, 1(r28)
@@ -3958,11 +3958,11 @@ lbl_802B83F8: /* 802B842C 002B408C 89 1C 00 04 */ lbz r8, 4(r28)
/* 802B8430 002B4090 89 3C 00 05 */ lbz r9, 5(r28)
/* 802B8434 002B4094 4C C6 31 82 */ crclr 6
-/* 802B8438 002B4098 48 00 11 45 */ bl func_802B957C
+/* 802B8438 002B4098 48 00 11 45 */ bl WUD_DEBUGPrint
/* 802B843C 002B409C 88 9C 00 06 */ lbz r4, 6(r28)
/* 802B8440 002B40A0 38 7E 09 68 */ addi r3, r30, 0x968
/* 802B8444 002B40A4 4C C6 31 82 */ crclr 6
-/* 802B8448 002B40A8 48 00 11 35 */ bl func_802B957C
+/* 802B8448 002B40A8 48 00 11 35 */ bl WUD_DEBUGPrint
/* 802B844C 002B40AC 7F 83 E3 78 */ mr r3, r28
/* 802B8450 002B40B0 4B FF F3 15 */ bl WUDiGetDevInfo
/* 802B8454 002B40B4 2C 03 00 00 */ cmpwi r3, 0
@@ -4027,7 +4027,7 @@ lbl_802B84FC: lbl_802B8530:
/* 802B8530 002B4190 38 7E 09 74 */ addi r3, r30, 0x974
/* 802B8534 002B4194 4C C6 31 82 */ crclr 6
-/* 802B8538 002B4198 48 00 10 45 */ bl func_802B957C
+/* 802B8538 002B4198 48 00 10 45 */ bl WUD_DEBUGPrint
lbl_802B853C:
/* 802B853C 002B419C 88 1D 06 E5 */ lbz r0, 0x6e5(r29)
/* 802B8540 002B41A0 28 00 00 FA */ cmplwi r0, 0xfa
@@ -4040,11 +4040,11 @@ lbl_802B853C: /* 802B855C 002B41BC 48 00 00 20 */ b lbl_802B857C
/* 802B8560 002B41C0 38 7E 09 B4 */ addi r3, r30, 0x9b4
/* 802B8564 002B41C4 4C C6 31 82 */ crclr 6
-/* 802B8568 002B41C8 48 00 10 15 */ bl func_802B957C
+/* 802B8568 002B41C8 48 00 10 15 */ bl WUD_DEBUGPrint
/* 802B856C 002B41CC 48 00 00 10 */ b lbl_802B857C
/* 802B8570 002B41D0 38 7E 09 D0 */ addi r3, r30, 0x9d0
/* 802B8574 002B41D4 4C C6 31 82 */ crclr 6
-/* 802B8578 002B41D8 48 00 10 05 */ bl func_802B957C
+/* 802B8578 002B41D8 48 00 10 05 */ bl WUD_DEBUGPrint
lbl_802B857C:
/* 802B857C 002B41DC 39 61 00 60 */ addi r11, r1, 0x60
/* 802B8580 002B41E0 4B F0 EB ED */ bl _restgpr_25
@@ -4093,7 +4093,7 @@ lbl_802B85E8: /* 802B861C 002B427C 89 3C 00 05 */ lbz r9, 5(r28)
/* 802B8620 002B4280 89 5C 00 06 */ lbz r10, 6(r28)
/* 802B8624 002B4284 4C C6 31 82 */ crclr 6
-/* 802B8628 002B4288 48 00 0F 55 */ bl func_802B957C
+/* 802B8628 002B4288 48 00 0F 55 */ bl WUD_DEBUGPrint
/* 802B862C 002B428C 3F C0 80 54 */ lis r30, lbl_8053A4E0@ha
/* 802B8630 002B4290 88 1C 00 09 */ lbz r0, 9(r28)
/* 802B8634 002B4294 3B DE A4 E0 */ addi r30, r30, lbl_8053A4E0@l
@@ -4121,7 +4121,7 @@ lbl_802B8674: lbl_802B8680:
/* 802B8680 002B42E0 38 7D 0A 50 */ addi r3, r29, 0xa50
/* 802B8684 002B42E4 4C C6 31 82 */ crclr 6
-/* 802B8688 002B42E8 48 00 0E F5 */ bl func_802B957C
+/* 802B8688 002B42E8 48 00 0E F5 */ bl WUD_DEBUGPrint
/* 802B868C 002B42EC 48 00 00 D4 */ b lbl_802B8760
lbl_802B8690:
/* 802B8690 002B42F0 3F C0 80 54 */ lis r30, lbl_8053B090@ha
@@ -4148,12 +4148,12 @@ lbl_802B8690: /* 802B86E4 002B4344 89 1F 00 04 */ lbz r8, 4(r31)
/* 802B86E8 002B4348 89 3F 00 05 */ lbz r9, 5(r31)
/* 802B86EC 002B434C 4C C6 31 82 */ crclr 6
-/* 802B86F0 002B4350 48 00 0E 8D */ bl func_802B957C
+/* 802B86F0 002B4350 48 00 0E 8D */ bl WUD_DEBUGPrint
/* 802B86F4 002B4354 48 00 00 6C */ b lbl_802B8760
lbl_802B86F8:
/* 802B86F8 002B4358 38 7D 0A A4 */ addi r3, r29, 0xaa4
/* 802B86FC 002B435C 4C C6 31 82 */ crclr 6
-/* 802B8700 002B4360 48 00 0E 7D */ bl func_802B957C
+/* 802B8700 002B4360 48 00 0E 7D */ bl WUD_DEBUGPrint
/* 802B8704 002B4364 3C 60 80 54 */ lis r3, lbl_8053A4E0@ha
/* 802B8708 002B4368 38 00 00 04 */ li r0, 4
/* 802B870C 002B436C 38 63 A4 E0 */ addi r3, r3, lbl_8053A4E0@l
@@ -4162,7 +4162,7 @@ lbl_802B86F8: lbl_802B8718:
/* 802B8718 002B4378 38 7D 0A B8 */ addi r3, r29, 0xab8
/* 802B871C 002B437C 4C C6 31 82 */ crclr 6
-/* 802B8720 002B4380 48 00 0E 5D */ bl func_802B957C
+/* 802B8720 002B4380 48 00 0E 5D */ bl WUD_DEBUGPrint
/* 802B8724 002B4384 38 00 00 00 */ li r0, 0
/* 802B8728 002B4388 3C 60 80 54 */ lis r3, lbl_8053B090@ha
/* 802B872C 002B438C 98 0D AE C1 */ stb r0, lbl_80640181-_SDA_BASE_(r13)
@@ -4178,7 +4178,7 @@ lbl_802B8718: lbl_802B8754:
/* 802B8754 002B43B4 38 7D 0A C8 */ addi r3, r29, 0xac8
/* 802B8758 002B43B8 4C C6 31 82 */ crclr 6
-/* 802B875C 002B43BC 48 00 0E 21 */ bl func_802B957C
+/* 802B875C 002B43BC 48 00 0E 21 */ bl WUD_DEBUGPrint
lbl_802B8760:
/* 802B8760 002B43C0 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802B8764 002B43C4 83 E1 00 2C */ lwz r31, 0x2c(r1)
@@ -4217,10 +4217,10 @@ lbl_802B87D0: lbl_802B87DC:
/* 802B87DC 002B443C 38 7E 0A F8 */ addi r3, r30, 0xaf8
/* 802B87E0 002B4440 4C C6 31 82 */ crclr 6
-/* 802B87E4 002B4444 48 00 0D 99 */ bl func_802B957C
+/* 802B87E4 002B4444 48 00 0D 99 */ bl WUD_DEBUGPrint
/* 802B87E8 002B4448 38 7E 06 38 */ addi r3, r30, 0x638
/* 802B87EC 002B444C 4C C6 31 82 */ crclr 6
-/* 802B87F0 002B4450 48 00 0D 8D */ bl func_802B957C
+/* 802B87F0 002B4450 48 00 0D 8D */ bl WUD_DEBUGPrint
/* 802B87F4 002B4454 4B FB 5F 69 */ bl OSDisableInterrupts
/* 802B87F8 002B4458 83 BF A4 E0 */ lwz r29, -0x5b20(r31)
/* 802B87FC 002B445C 7C 7F 1B 78 */ mr r31, r3
@@ -4261,7 +4261,7 @@ lbl_802B8848: lbl_802B8880:
/* 802B8880 002B44E0 38 7E 04 1C */ addi r3, r30, 0x41c
/* 802B8884 002B44E4 4C C6 31 82 */ crclr 6
-/* 802B8888 002B44E8 48 00 0C F5 */ bl func_802B957C
+/* 802B8888 002B44E8 48 00 0C F5 */ bl WUD_DEBUGPrint
/* 802B888C 002B44EC 38 60 00 00 */ li r3, 0
/* 802B8890 002B44F0 38 80 00 03 */ li r4, 3
/* 802B8894 002B44F4 38 A0 00 00 */ li r5, 0
@@ -4284,10 +4284,10 @@ lbl_802B8880: lbl_802B88D8:
/* 802B88D8 002B4538 38 7E 0B 10 */ addi r3, r30, 0xb10
/* 802B88DC 002B453C 4C C6 31 82 */ crclr 6
-/* 802B88E0 002B4540 48 00 0C 9D */ bl func_802B957C
+/* 802B88E0 002B4540 48 00 0C 9D */ bl WUD_DEBUGPrint
/* 802B88E4 002B4544 38 7E 06 5C */ addi r3, r30, 0x65c
/* 802B88E8 002B4548 4C C6 31 82 */ crclr 6
-/* 802B88EC 002B454C 48 00 0C 91 */ bl func_802B957C
+/* 802B88EC 002B454C 48 00 0C 91 */ bl WUD_DEBUGPrint
/* 802B88F0 002B4550 4B FB 5E 6D */ bl OSDisableInterrupts
/* 802B88F4 002B4554 83 FC 00 08 */ lwz r31, 8(r28)
/* 802B88F8 002B4558 7C 7D 1B 78 */ mr r29, r3
@@ -4329,7 +4329,7 @@ lbl_802B8978: /* 802B897C 002B45DC 38 7E 04 7C */ addi r3, r30, 0x47c
/* 802B8980 002B45E0 3B BD A4 E0 */ addi r29, r29, lbl_8053A4E0@l
/* 802B8984 002B45E4 4C C6 31 82 */ crclr 6
-/* 802B8988 002B45E8 48 00 0B F5 */ bl func_802B957C
+/* 802B8988 002B45E8 48 00 0B F5 */ bl WUD_DEBUGPrint
/* 802B898C 002B45EC 4B FB 5D D1 */ bl OSDisableInterrupts
/* 802B8990 002B45F0 8B DD 07 08 */ lbz r30, 0x708(r29)
/* 802B8994 002B45F4 7F DE 07 74 */ extsb r30, r30
@@ -4387,7 +4387,7 @@ lbl_802B8A58: /* 802B8A58 002B46B8 88 84 00 01 */ lbz r4, 1(r4)
/* 802B8A5C 002B46BC 38 7E 0B 28 */ addi r3, r30, 0xb28
/* 802B8A60 002B46C0 4C C6 31 82 */ crclr 6
-/* 802B8A64 002B46C4 48 00 0B 19 */ bl func_802B957C
+/* 802B8A64 002B46C4 48 00 0B 19 */ bl WUD_DEBUGPrint
/* 802B8A68 002B46C8 88 1D 00 01 */ lbz r0, 1(r29)
/* 802B8A6C 002B46CC 98 1C 07 09 */ stb r0, 0x709(r28)
/* 802B8A70 002B46D0 48 00 00 28 */ b lbl_802B8A98
@@ -4395,7 +4395,7 @@ lbl_802B8A74: /* 802B8A74 002B46D4 88 84 00 01 */ lbz r4, 1(r4)
/* 802B8A78 002B46D8 38 7E 0B 4C */ addi r3, r30, 0xb4c
/* 802B8A7C 002B46DC 4C C6 31 82 */ crclr 6
-/* 802B8A80 002B46E0 48 00 0A FD */ bl func_802B957C
+/* 802B8A80 002B46E0 48 00 0A FD */ bl WUD_DEBUGPrint
/* 802B8A84 002B46E4 38 BE 0B 74 */ addi r5, r30, 0xb74
/* 802B8A88 002B46E8 38 6D 89 C0 */ addi r3, r13, lbl_8063DC80-_SDA_BASE_
/* 802B8A8C 002B46EC 38 80 0F 25 */ li r4, 0xf25
@@ -4420,7 +4420,7 @@ WUDDeviceStatusCallback: /* 802B8ACC 002B472C 7C 7F 1B 78 */ mr r31, r3
/* 802B8AD0 002B4730 38 64 EB D0 */ addi r3, r4, lbl_8043EBD0@l
/* 802B8AD4 002B4734 4C C6 31 82 */ crclr 6
-/* 802B8AD8 002B4738 48 00 0A A5 */ bl func_802B957C
+/* 802B8AD8 002B4738 48 00 0A A5 */ bl WUD_DEBUGPrint
/* 802B8ADC 002B473C 28 1F 00 02 */ cmplwi r31, 2
/* 802B8AE0 002B4740 40 82 00 14 */ bne lbl_802B8AF4
/* 802B8AE4 002B4744 3C 60 80 44 */ lis r3, lbl_8043EBEC@ha
@@ -4460,7 +4460,7 @@ lbl_802B8B50: lbl_802B8B5C:
/* 802B8B5C 002B47BC 38 7E 0B CC */ addi r3, r30, 0xbcc
/* 802B8B60 002B47C0 4C C6 31 82 */ crclr 6
-/* 802B8B64 002B47C4 48 00 0A 19 */ bl func_802B957C
+/* 802B8B64 002B47C4 48 00 0A 19 */ bl WUD_DEBUGPrint
/* 802B8B68 002B47C8 3B BA 00 02 */ addi r29, r26, 2
/* 802B8B6C 002B47CC 3B 60 00 00 */ li r27, 0
/* 802B8B70 002B47D0 3A E0 00 01 */ li r23, 1
@@ -4479,7 +4479,7 @@ lbl_802B8B80: /* 802B8BA0 002B4800 89 1D 00 04 */ lbz r8, 4(r29)
/* 802B8BA4 002B4804 89 3D 00 05 */ lbz r9, 5(r29)
/* 802B8BA8 002B4808 4C C6 31 82 */ crclr 6
-/* 802B8BAC 002B480C 48 00 09 D1 */ bl func_802B957C
+/* 802B8BAC 002B480C 48 00 09 D1 */ bl WUD_DEBUGPrint
/* 802B8BB0 002B4810 88 1D 00 0D */ lbz r0, 0xd(r29)
/* 802B8BB4 002B4814 38 7E 0C 18 */ addi r3, r30, 0xc18
/* 802B8BB8 002B4818 90 01 00 08 */ stw r0, 8(r1)
@@ -4507,12 +4507,12 @@ lbl_802B8B80: /* 802B8C10 002B4870 89 3D 00 0B */ lbz r9, 0xb(r29)
/* 802B8C14 002B4874 89 5D 00 0C */ lbz r10, 0xc(r29)
/* 802B8C18 002B4878 4C C6 31 82 */ crclr 6
-/* 802B8C1C 002B487C 48 00 09 61 */ bl func_802B957C
+/* 802B8C1C 002B487C 48 00 09 61 */ bl WUD_DEBUGPrint
/* 802B8C20 002B4880 2C 1F 00 00 */ cmpwi r31, 0
/* 802B8C24 002B4884 40 82 00 88 */ bne lbl_802B8CAC
/* 802B8C28 002B4888 38 7E 0C 74 */ addi r3, r30, 0xc74
/* 802B8C2C 002B488C 4C C6 31 82 */ crclr 6
-/* 802B8C30 002B4890 48 00 09 4D */ bl func_802B957C
+/* 802B8C30 002B4890 48 00 09 4D */ bl WUD_DEBUGPrint
/* 802B8C34 002B4894 4B FF EC 09 */ bl WUDiGetNewDevInfo
/* 802B8C38 002B4898 2C 03 00 00 */ cmpwi r3, 0
/* 802B8C3C 002B489C 7C 7F 1B 78 */ mr r31, r3
@@ -4572,7 +4572,7 @@ lbl_802B8CDC: /* 802B8D00 002B4960 89 1C 07 00 */ lbz r8, 0x700(r28)
/* 802B8D04 002B4964 89 3C 07 01 */ lbz r9, 0x701(r28)
/* 802B8D08 002B4968 4C C6 31 82 */ crclr 6
-/* 802B8D0C 002B496C 48 00 08 71 */ bl func_802B957C
+/* 802B8D0C 002B496C 48 00 08 71 */ bl WUD_DEBUGPrint
lbl_802B8D10:
/* 802B8D10 002B4970 3B BD 00 16 */ addi r29, r29, 0x16
/* 802B8D14 002B4974 3B 7B 00 01 */ addi r27, r27, 1
@@ -4584,43 +4584,43 @@ lbl_802B8D18: lbl_802B8D28:
/* 802B8D28 002B4988 38 7E 0C C0 */ addi r3, r30, 0xcc0
/* 802B8D2C 002B498C 4C C6 31 82 */ crclr 6
-/* 802B8D30 002B4990 48 00 08 4D */ bl func_802B957C
+/* 802B8D30 002B4990 48 00 08 4D */ bl WUD_DEBUGPrint
/* 802B8D34 002B4994 88 9A 00 01 */ lbz r4, 1(r26)
/* 802B8D38 002B4998 38 7E 0C E4 */ addi r3, r30, 0xce4
/* 802B8D3C 002B499C A0 BA 00 02 */ lhz r5, 2(r26)
/* 802B8D40 002B49A0 A0 DA 00 04 */ lhz r6, 4(r26)
/* 802B8D44 002B49A4 4C C6 31 82 */ crclr 6
-/* 802B8D48 002B49A8 48 00 08 35 */ bl func_802B957C
+/* 802B8D48 002B49A8 48 00 08 35 */ bl WUD_DEBUGPrint
/* 802B8D4C 002B49AC 38 00 00 00 */ li r0, 0
/* 802B8D50 002B49B0 98 1C 00 0E */ stb r0, 0xe(r28)
/* 802B8D54 002B49B4 48 00 00 88 */ b lbl_802B8DDC
lbl_802B8D58:
/* 802B8D58 002B49B8 38 7E 0D 10 */ addi r3, r30, 0xd10
/* 802B8D5C 002B49BC 4C C6 31 82 */ crclr 6
-/* 802B8D60 002B49C0 48 00 08 1D */ bl func_802B957C
+/* 802B8D60 002B49C0 48 00 08 1D */ bl WUD_DEBUGPrint
/* 802B8D64 002B49C4 88 9A 00 01 */ lbz r4, 1(r26)
/* 802B8D68 002B49C8 38 7E 0D 34 */ addi r3, r30, 0xd34
/* 802B8D6C 002B49CC 88 BA 00 02 */ lbz r5, 2(r26)
/* 802B8D70 002B49D0 4C C6 31 82 */ crclr 6
-/* 802B8D74 002B49D4 48 00 08 09 */ bl func_802B957C
+/* 802B8D74 002B49D4 48 00 08 09 */ bl WUD_DEBUGPrint
/* 802B8D78 002B49D8 38 00 00 00 */ li r0, 0
/* 802B8D7C 002B49DC 98 1C 00 0E */ stb r0, 0xe(r28)
/* 802B8D80 002B49E0 48 00 00 5C */ b lbl_802B8DDC
lbl_802B8D84:
/* 802B8D84 002B49E4 38 7E 0D 50 */ addi r3, r30, 0xd50
/* 802B8D88 002B49E8 4C C6 31 82 */ crclr 6
-/* 802B8D8C 002B49EC 48 00 07 F1 */ bl func_802B957C
+/* 802B8D8C 002B49EC 48 00 07 F1 */ bl WUD_DEBUGPrint
/* 802B8D90 002B49F0 88 9A 00 01 */ lbz r4, 1(r26)
/* 802B8D94 002B49F4 38 7E 0D 34 */ addi r3, r30, 0xd34
/* 802B8D98 002B49F8 A0 BA 00 02 */ lhz r5, 2(r26)
/* 802B8D9C 002B49FC 4C C6 31 82 */ crclr 6
-/* 802B8DA0 002B4A00 48 00 07 DD */ bl func_802B957C
+/* 802B8DA0 002B4A00 48 00 07 DD */ bl WUD_DEBUGPrint
/* 802B8DA4 002B4A04 A0 1A 00 02 */ lhz r0, 2(r26)
/* 802B8DA8 002B4A08 2C 00 00 00 */ cmpwi r0, 0
/* 802B8DAC 002B4A0C 40 82 00 10 */ bne lbl_802B8DBC
/* 802B8DB0 002B4A10 38 7E 0D 74 */ addi r3, r30, 0xd74
/* 802B8DB4 002B4A14 4C C6 31 82 */ crclr 6
-/* 802B8DB8 002B4A18 48 00 07 C5 */ bl func_802B957C
+/* 802B8DB8 002B4A18 48 00 07 C5 */ bl WUD_DEBUGPrint
lbl_802B8DBC:
/* 802B8DBC 002B4A1C 38 00 00 00 */ li r0, 0
/* 802B8DC0 002B4A20 98 1C 00 0E */ stb r0, 0xe(r28)
@@ -4652,11 +4652,11 @@ WUDPowerManagerCallback: /* 802B8E18 002B4A78 7C DD 33 78 */ mr r29, r6
/* 802B8E1C 002B4A7C 38 7E 0D A4 */ addi r3, r30, 0xda4
/* 802B8E20 002B4A80 4C C6 31 82 */ crclr 6
-/* 802B8E24 002B4A84 48 00 07 59 */ bl func_802B957C
+/* 802B8E24 002B4A84 48 00 07 59 */ bl WUD_DEBUGPrint
/* 802B8E28 002B4A88 7F A4 EB 78 */ mr r4, r29
/* 802B8E2C 002B4A8C 38 7E 0D C0 */ addi r3, r30, 0xdc0
/* 802B8E30 002B4A90 4C C6 31 82 */ crclr 6
-/* 802B8E34 002B4A94 48 00 07 49 */ bl func_802B957C
+/* 802B8E34 002B4A94 48 00 07 49 */ bl WUD_DEBUGPrint
/* 802B8E38 002B4A98 7F 63 DB 78 */ mr r3, r27
/* 802B8E3C 002B4A9C 4B FF E9 29 */ bl WUDiGetDevInfo
/* 802B8E40 002B4AA0 2C 03 00 00 */ cmpwi r3, 0
@@ -4699,7 +4699,7 @@ lbl_802B8EA8: /* 802B8EC0 002B4B20 89 3D 00 45 */ lbz r9, 0x45(r29)
/* 802B8EC4 002B4B24 89 5D 00 59 */ lbz r10, 0x59(r29)
/* 802B8EC8 002B4B28 4C C6 31 82 */ crclr 6
-/* 802B8ECC 002B4B2C 48 00 06 B1 */ bl func_802B957C
+/* 802B8ECC 002B4B2C 48 00 06 B1 */ bl WUD_DEBUGPrint
/* 802B8ED0 002B4B30 39 61 00 20 */ addi r11, r1, 0x20
/* 802B8ED4 002B4B34 4B F0 E2 A1 */ bl _restgpr_27
/* 802B8ED8 002B4B38 80 01 00 24 */ lwz r0, 0x24(r1)
diff --git a/asm/SDK/WUD/WUDHidHost.s b/asm/SDK/WUD/WUDHidHost.s new file mode 100644 index 0000000..f16facb --- /dev/null +++ b/asm/SDK/WUD/WUDHidHost.s @@ -0,0 +1,376 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global WUDHidHostCallback
+WUDHidHostCallback:
+/* 802B9030 002B4C90 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802B9034 002B4C94 7C 08 02 A6 */ mflr r0
+/* 802B9038 002B4C98 28 03 00 0F */ cmplwi r3, 0xf
+/* 802B903C 002B4C9C 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802B9040 002B4CA0 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802B9044 002B4CA4 3F E0 80 54 */ lis r31, lbl_8053A4E0@ha
+/* 802B9048 002B4CA8 3B FF A4 E0 */ addi r31, r31, lbl_8053A4E0@l
+/* 802B904C 002B4CAC 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802B9050 002B4CB0 7C 9E 23 78 */ mr r30, r4
+/* 802B9054 002B4CB4 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802B9058 002B4CB8 3F A0 80 44 */ lis r29, lbl_8043EEB0@ha
+/* 802B905C 002B4CBC 3B BD EE B0 */ addi r29, r29, lbl_8043EEB0@l
+/* 802B9060 002B4CC0 41 81 04 9C */ bgt lbl_802B94FC
+/* 802B9064 002B4CC4 3C A0 80 44 */ lis r5, lbl_8043F0B0@ha
+/* 802B9068 002B4CC8 54 60 10 3A */ slwi r0, r3, 2
+/* 802B906C 002B4CCC 38 A5 F0 B0 */ addi r5, r5, lbl_8043F0B0@l
+/* 802B9070 002B4CD0 7C A5 00 2E */ lwzx r5, r5, r0
+/* 802B9074 002B4CD4 7C A9 03 A6 */ mtctr r5
+/* 802B9078 002B4CD8 4E 80 04 20 */ bctr
+/* 802B907C 002B4CDC 38 7D 00 00 */ addi r3, r29, 0
+/* 802B9080 002B4CE0 4C C6 31 82 */ crclr 6
+/* 802B9084 002B4CE4 48 00 04 F9 */ bl WUD_DEBUGPrint
+/* 802B9088 002B4CE8 80 1F 07 40 */ lwz r0, 0x740(r31)
+/* 802B908C 002B4CEC 60 00 00 01 */ ori r0, r0, 1
+/* 802B9090 002B4CF0 90 1F 07 40 */ stw r0, 0x740(r31)
+/* 802B9094 002B4CF4 48 00 04 68 */ b lbl_802B94FC
+/* 802B9098 002B4CF8 38 7D 00 14 */ addi r3, r29, 0x14
+/* 802B909C 002B4CFC 4C C6 31 82 */ crclr 6
+/* 802B90A0 002B4D00 48 00 04 DD */ bl WUD_DEBUGPrint
+/* 802B90A4 002B4D04 48 00 04 58 */ b lbl_802B94FC
+/* 802B90A8 002B4D08 38 7D 00 28 */ addi r3, r29, 0x28
+/* 802B90AC 002B4D0C 4C C6 31 82 */ crclr 6
+/* 802B90B0 002B4D10 48 00 04 CD */ bl WUD_DEBUGPrint
+/* 802B90B4 002B4D14 88 9E 00 07 */ lbz r4, 7(r30)
+/* 802B90B8 002B4D18 38 7D 00 3C */ addi r3, r29, 0x3c
+/* 802B90BC 002B4D1C 88 BE 00 00 */ lbz r5, 0(r30)
+/* 802B90C0 002B4D20 88 DE 00 01 */ lbz r6, 1(r30)
+/* 802B90C4 002B4D24 88 FE 00 02 */ lbz r7, 2(r30)
+/* 802B90C8 002B4D28 89 1E 00 03 */ lbz r8, 3(r30)
+/* 802B90CC 002B4D2C 89 3E 00 04 */ lbz r9, 4(r30)
+/* 802B90D0 002B4D30 89 5E 00 05 */ lbz r10, 5(r30)
+/* 802B90D4 002B4D34 4C C6 31 82 */ crclr 6
+/* 802B90D8 002B4D38 48 00 04 A5 */ bl WUD_DEBUGPrint
+/* 802B90DC 002B4D3C 88 9E 00 06 */ lbz r4, 6(r30)
+/* 802B90E0 002B4D40 2C 04 00 00 */ cmpwi r4, 0
+/* 802B90E4 002B4D44 40 82 01 30 */ bne lbl_802B9214
+/* 802B90E8 002B4D48 3F A0 80 54 */ lis r29, lbl_8053B1C8@ha
+/* 802B90EC 002B4D4C 7F C4 F3 78 */ mr r4, r30
+/* 802B90F0 002B4D50 3B BD B1 C8 */ addi r29, r29, lbl_8053B1C8@l
+/* 802B90F4 002B4D54 38 A0 00 06 */ li r5, 6
+/* 802B90F8 002B4D58 38 7D 00 40 */ addi r3, r29, 0x40
+/* 802B90FC 002B4D5C 4B F1 12 9D */ bl memcmp
+/* 802B9100 002B4D60 2C 03 00 00 */ cmpwi r3, 0
+/* 802B9104 002B4D64 41 82 00 10 */ beq lbl_802B9114
+/* 802B9108 002B4D68 7F C3 F3 78 */ mr r3, r30
+/* 802B910C 002B4D6C 4B FF E6 59 */ bl WUDiGetDevInfo
+/* 802B9110 002B4D70 7C 7D 1B 78 */ mr r29, r3
+lbl_802B9114:
+/* 802B9114 002B4D74 88 1D 00 59 */ lbz r0, 0x59(r29)
+/* 802B9118 002B4D78 2C 00 00 0C */ cmpwi r0, 0xc
+/* 802B911C 002B4D7C 41 82 00 14 */ beq lbl_802B9130
+/* 802B9120 002B4D80 40 80 00 24 */ bge lbl_802B9144
+/* 802B9124 002B4D84 2C 00 00 02 */ cmpwi r0, 2
+/* 802B9128 002B4D88 41 82 00 14 */ beq lbl_802B913C
+/* 802B912C 002B4D8C 48 00 00 18 */ b lbl_802B9144
+lbl_802B9130:
+/* 802B9130 002B4D90 38 00 00 12 */ li r0, 0x12
+/* 802B9134 002B4D94 98 1F 00 0C */ stb r0, 0xc(r31)
+/* 802B9138 002B4D98 48 00 00 0C */ b lbl_802B9144
+lbl_802B913C:
+/* 802B913C 002B4D9C 38 00 00 17 */ li r0, 0x17
+/* 802B9140 002B4DA0 98 1F 00 0C */ stb r0, 0xc(r31)
+lbl_802B9144:
+/* 802B9144 002B4DA4 38 00 00 08 */ li r0, 8
+/* 802B9148 002B4DA8 7F C3 F3 78 */ mr r3, r30
+/* 802B914C 002B4DAC 98 1D 00 59 */ stb r0, 0x59(r29)
+/* 802B9150 002B4DB0 88 1E 00 07 */ lbz r0, 7(r30)
+/* 802B9154 002B4DB4 98 1D 00 56 */ stb r0, 0x56(r29)
+/* 802B9158 002B4DB8 88 9F 06 E4 */ lbz r4, 0x6e4(r31)
+/* 802B915C 002B4DBC 38 04 00 01 */ addi r0, r4, 1
+/* 802B9160 002B4DC0 98 1F 06 E4 */ stb r0, 0x6e4(r31)
+/* 802B9164 002B4DC4 4B FF E6 01 */ bl WUDiGetDevInfo
+/* 802B9168 002B4DC8 2C 03 00 00 */ cmpwi r3, 0
+/* 802B916C 002B4DCC 7C 7D 1B 78 */ mr r29, r3
+/* 802B9170 002B4DD0 40 82 00 0C */ bne lbl_802B917C
+/* 802B9174 002B4DD4 3F A0 80 54 */ lis r29, lbl_8053B1C8@ha
+/* 802B9178 002B4DD8 3B BD B1 C8 */ addi r29, r29, lbl_8053B1C8@l
+lbl_802B917C:
+/* 802B917C 002B4DDC 88 1E 00 07 */ lbz r0, 7(r30)
+/* 802B9180 002B4DE0 3C A0 80 54 */ lis r5, lbl_8053B228@ha
+/* 802B9184 002B4DE4 3C 80 80 54 */ lis r4, lbl_8053C280@ha
+/* 802B9188 002B4DE8 3C 60 80 54 */ lis r3, lbl_8053C2A0@ha
+/* 802B918C 002B4DEC 38 DD 00 40 */ addi r6, r29, 0x40
+/* 802B9190 002B4DF0 54 00 10 3A */ slwi r0, r0, 2
+/* 802B9194 002B4DF4 38 A5 B2 28 */ addi r5, r5, lbl_8053B228@l
+/* 802B9198 002B4DF8 38 84 C2 80 */ addi r4, r4, lbl_8053C280@l
+/* 802B919C 002B4DFC 7C C5 01 2E */ stwx r6, r5, r0
+/* 802B91A0 002B4E00 38 A0 00 00 */ li r5, 0
+/* 802B91A4 002B4E04 38 63 C2 A0 */ addi r3, r3, lbl_8053C2A0@l
+/* 802B91A8 002B4E08 88 1E 00 07 */ lbz r0, 7(r30)
+/* 802B91AC 002B4E0C 54 00 08 3C */ slwi r0, r0, 1
+/* 802B91B0 002B4E10 7C A4 03 2E */ sthx r5, r4, r0
+/* 802B91B4 002B4E14 88 1E 00 07 */ lbz r0, 7(r30)
+/* 802B91B8 002B4E18 54 00 08 3C */ slwi r0, r0, 1
+/* 802B91BC 002B4E1C 7C A3 03 2E */ sthx r5, r3, r0
+/* 802B91C0 002B4E20 88 1D 00 5B */ lbz r0, 0x5b(r29)
+/* 802B91C4 002B4E24 28 00 00 03 */ cmplwi r0, 3
+/* 802B91C8 002B4E28 41 82 00 0C */ beq lbl_802B91D4
+/* 802B91CC 002B4E2C 28 00 00 01 */ cmplwi r0, 1
+/* 802B91D0 002B4E30 40 82 00 10 */ bne lbl_802B91E0
+lbl_802B91D4:
+/* 802B91D4 002B4E34 7F A3 EB 78 */ mr r3, r29
+/* 802B91D8 002B4E38 4B FF E7 25 */ bl WUDiMoveTopSmpDevInfoPtr
+/* 802B91DC 002B4E3C 48 00 00 0C */ b lbl_802B91E8
+lbl_802B91E0:
+/* 802B91E0 002B4E40 7F A3 EB 78 */ mr r3, r29
+/* 802B91E4 002B4E44 4B FF EA A1 */ bl WUDiMoveTopStdDevInfoPtr
+lbl_802B91E8:
+/* 802B91E8 002B4E48 38 7D 00 40 */ addi r3, r29, 0x40
+/* 802B91EC 002B4E4C 38 80 00 08 */ li r4, 8
+/* 802B91F0 002B4E50 4B FF D8 25 */ bl WUDSetSniffMode
+/* 802B91F4 002B4E54 81 9F 06 F0 */ lwz r12, 0x6f0(r31)
+/* 802B91F8 002B4E58 2C 0C 00 00 */ cmpwi r12, 0
+/* 802B91FC 002B4E5C 41 82 03 00 */ beq lbl_802B94FC
+/* 802B9200 002B4E60 88 7E 00 07 */ lbz r3, 7(r30)
+/* 802B9204 002B4E64 38 80 00 01 */ li r4, 1
+/* 802B9208 002B4E68 7D 89 03 A6 */ mtctr r12
+/* 802B920C 002B4E6C 4E 80 04 21 */ bctrl
+/* 802B9210 002B4E70 48 00 02 EC */ b lbl_802B94FC
+lbl_802B9214:
+/* 802B9214 002B4E74 38 7D 00 70 */ addi r3, r29, 0x70
+/* 802B9218 002B4E78 4C C6 31 82 */ crclr 6
+/* 802B921C 002B4E7C 48 00 03 61 */ bl WUD_DEBUGPrint
+/* 802B9220 002B4E80 3F A0 80 54 */ lis r29, lbl_8053B1C8@ha
+/* 802B9224 002B4E84 7F C3 F3 78 */ mr r3, r30
+/* 802B9228 002B4E88 3B BD B1 C8 */ addi r29, r29, lbl_8053B1C8@l
+/* 802B922C 002B4E8C 38 A0 00 06 */ li r5, 6
+/* 802B9230 002B4E90 38 9D 00 40 */ addi r4, r29, 0x40
+/* 802B9234 002B4E94 4B F1 11 65 */ bl memcmp
+/* 802B9238 002B4E98 2C 03 00 00 */ cmpwi r3, 0
+/* 802B923C 002B4E9C 40 82 02 C0 */ bne lbl_802B94FC
+/* 802B9240 002B4EA0 88 1F 00 0C */ lbz r0, 0xc(r31)
+/* 802B9244 002B4EA4 2C 00 00 00 */ cmpwi r0, 0
+/* 802B9248 002B4EA8 41 82 02 B4 */ beq lbl_802B94FC
+/* 802B924C 002B4EAC 88 1D 00 59 */ lbz r0, 0x59(r29)
+/* 802B9250 002B4EB0 28 00 00 02 */ cmplwi r0, 2
+/* 802B9254 002B4EB4 40 82 02 A8 */ bne lbl_802B94FC
+/* 802B9258 002B4EB8 7F C3 F3 78 */ mr r3, r30
+/* 802B925C 002B4EBC 4B FF E5 09 */ bl WUDiGetDevInfo
+/* 802B9260 002B4EC0 2C 03 00 00 */ cmpwi r3, 0
+/* 802B9264 002B4EC4 41 82 00 24 */ beq lbl_802B9288
+/* 802B9268 002B4EC8 88 1E 00 06 */ lbz r0, 6(r30)
+/* 802B926C 002B4ECC 28 00 00 0C */ cmplwi r0, 0xc
+/* 802B9270 002B4ED0 40 82 00 18 */ bne lbl_802B9288
+/* 802B9274 002B4ED4 7F C3 F3 78 */ mr r3, r30
+/* 802B9278 002B4ED8 4B FF E3 A9 */ bl WUDiRemoveDevice
+/* 802B927C 002B4EDC 88 7F 06 E5 */ lbz r3, 0x6e5(r31)
+/* 802B9280 002B4EE0 38 03 FF FF */ addi r0, r3, -1
+/* 802B9284 002B4EE4 98 1F 06 E5 */ stb r0, 0x6e5(r31)
+lbl_802B9288:
+/* 802B9288 002B4EE8 38 00 00 FF */ li r0, 0xff
+/* 802B928C 002B4EEC 98 1F 00 0C */ stb r0, 0xc(r31)
+/* 802B9290 002B4EF0 48 00 02 6C */ b lbl_802B94FC
+/* 802B9294 002B4EF4 38 7D 00 80 */ addi r3, r29, 0x80
+/* 802B9298 002B4EF8 4C C6 31 82 */ crclr 6
+/* 802B929C 002B4EFC 48 00 02 E1 */ bl WUD_DEBUGPrint
+/* 802B92A0 002B4F00 88 9F 06 E4 */ lbz r4, 0x6e4(r31)
+/* 802B92A4 002B4F04 38 7D 00 94 */ addi r3, r29, 0x94
+/* 802B92A8 002B4F08 38 04 FF FF */ addi r0, r4, -1
+/* 802B92AC 002B4F0C 98 1F 06 E4 */ stb r0, 0x6e4(r31)
+/* 802B92B0 002B4F10 88 9E 00 01 */ lbz r4, 1(r30)
+/* 802B92B4 002B4F14 88 BE 00 00 */ lbz r5, 0(r30)
+/* 802B92B8 002B4F18 4C C6 31 82 */ crclr 6
+/* 802B92BC 002B4F1C 48 00 02 C1 */ bl WUD_DEBUGPrint
+/* 802B92C0 002B4F20 88 1E 00 01 */ lbz r0, 1(r30)
+/* 802B92C4 002B4F24 3C 60 80 54 */ lis r3, lbl_8053B228@ha
+/* 802B92C8 002B4F28 38 63 B2 28 */ addi r3, r3, lbl_8053B228@l
+/* 802B92CC 002B4F2C 54 00 10 3A */ slwi r0, r0, 2
+/* 802B92D0 002B4F30 7C 63 00 2E */ lwzx r3, r3, r0
+/* 802B92D4 002B4F34 4B FF E4 91 */ bl WUDiGetDevInfo
+/* 802B92D8 002B4F38 2C 03 00 00 */ cmpwi r3, 0
+/* 802B92DC 002B4F3C 41 82 00 24 */ beq lbl_802B9300
+/* 802B92E0 002B4F40 88 03 00 5B */ lbz r0, 0x5b(r3)
+/* 802B92E4 002B4F44 28 00 00 03 */ cmplwi r0, 3
+/* 802B92E8 002B4F48 41 82 00 0C */ beq lbl_802B92F4
+/* 802B92EC 002B4F4C 28 00 00 01 */ cmplwi r0, 1
+/* 802B92F0 002B4F50 40 82 00 0C */ bne lbl_802B92FC
+lbl_802B92F4:
+/* 802B92F4 002B4F54 4B FF E8 39 */ bl WUDiMoveTopOfDisconnectedSmpDevice
+/* 802B92F8 002B4F58 48 00 00 08 */ b lbl_802B9300
+lbl_802B92FC:
+/* 802B92FC 002B4F5C 4B FF EB B9 */ bl WUDiMoveTopOfDisconnectedStdDevice
+lbl_802B9300:
+/* 802B9300 002B4F60 88 1E 00 01 */ lbz r0, 1(r30)
+/* 802B9304 002B4F64 3C A0 80 54 */ lis r5, lbl_8053B228@ha
+/* 802B9308 002B4F68 3C 80 80 54 */ lis r4, lbl_8053C280@ha
+/* 802B930C 002B4F6C 81 9F 06 F0 */ lwz r12, 0x6f0(r31)
+/* 802B9310 002B4F70 54 00 10 3A */ slwi r0, r0, 2
+/* 802B9314 002B4F74 38 A5 B2 28 */ addi r5, r5, lbl_8053B228@l
+/* 802B9318 002B4F78 38 C0 00 00 */ li r6, 0
+/* 802B931C 002B4F7C 3C 60 80 54 */ lis r3, lbl_8053C2A0@ha
+/* 802B9320 002B4F80 7C C5 01 2E */ stwx r6, r5, r0
+/* 802B9324 002B4F84 38 84 C2 80 */ addi r4, r4, lbl_8053C280@l
+/* 802B9328 002B4F88 2C 0C 00 00 */ cmpwi r12, 0
+/* 802B932C 002B4F8C 38 63 C2 A0 */ addi r3, r3, lbl_8053C2A0@l
+/* 802B9330 002B4F90 88 1E 00 01 */ lbz r0, 1(r30)
+/* 802B9334 002B4F94 54 00 08 3C */ slwi r0, r0, 1
+/* 802B9338 002B4F98 7C C4 03 2E */ sthx r6, r4, r0
+/* 802B933C 002B4F9C 88 1E 00 01 */ lbz r0, 1(r30)
+/* 802B9340 002B4FA0 54 00 08 3C */ slwi r0, r0, 1
+/* 802B9344 002B4FA4 7C C3 03 2E */ sthx r6, r3, r0
+/* 802B9348 002B4FA8 41 82 01 B4 */ beq lbl_802B94FC
+/* 802B934C 002B4FAC 88 7E 00 01 */ lbz r3, 1(r30)
+/* 802B9350 002B4FB0 38 80 00 00 */ li r4, 0
+/* 802B9354 002B4FB4 7D 89 03 A6 */ mtctr r12
+/* 802B9358 002B4FB8 4E 80 04 21 */ bctrl
+/* 802B935C 002B4FBC 48 00 01 A0 */ b lbl_802B94FC
+/* 802B9360 002B4FC0 38 7D 00 B8 */ addi r3, r29, 0xb8
+/* 802B9364 002B4FC4 4C C6 31 82 */ crclr 6
+/* 802B9368 002B4FC8 48 00 02 15 */ bl WUD_DEBUGPrint
+/* 802B936C 002B4FCC 48 00 01 90 */ b lbl_802B94FC
+/* 802B9370 002B4FD0 38 7D 00 CC */ addi r3, r29, 0xcc
+/* 802B9374 002B4FD4 4C C6 31 82 */ crclr 6
+/* 802B9378 002B4FD8 48 00 02 05 */ bl WUD_DEBUGPrint
+/* 802B937C 002B4FDC 48 00 01 80 */ b lbl_802B94FC
+/* 802B9380 002B4FE0 38 7D 00 E0 */ addi r3, r29, 0xe0
+/* 802B9384 002B4FE4 4C C6 31 82 */ crclr 6
+/* 802B9388 002B4FE8 48 00 01 F5 */ bl WUD_DEBUGPrint
+/* 802B938C 002B4FEC 48 00 01 70 */ b lbl_802B94FC
+/* 802B9390 002B4FF0 38 7D 00 F8 */ addi r3, r29, 0xf8
+/* 802B9394 002B4FF4 4C C6 31 82 */ crclr 6
+/* 802B9398 002B4FF8 48 00 01 E5 */ bl WUD_DEBUGPrint
+/* 802B939C 002B4FFC 48 00 01 60 */ b lbl_802B94FC
+/* 802B93A0 002B5000 38 7D 01 10 */ addi r3, r29, 0x110
+/* 802B93A4 002B5004 4C C6 31 82 */ crclr 6
+/* 802B93A8 002B5008 48 00 01 D5 */ bl WUD_DEBUGPrint
+/* 802B93AC 002B500C 48 00 01 50 */ b lbl_802B94FC
+/* 802B93B0 002B5010 38 7D 01 28 */ addi r3, r29, 0x128
+/* 802B93B4 002B5014 4C C6 31 82 */ crclr 6
+/* 802B93B8 002B5018 48 00 01 C5 */ bl WUD_DEBUGPrint
+/* 802B93BC 002B501C 48 00 01 40 */ b lbl_802B94FC
+/* 802B93C0 002B5020 38 7D 01 40 */ addi r3, r29, 0x140
+/* 802B93C4 002B5024 4C C6 31 82 */ crclr 6
+/* 802B93C8 002B5028 48 00 01 B5 */ bl WUD_DEBUGPrint
+/* 802B93CC 002B502C 48 00 01 30 */ b lbl_802B94FC
+/* 802B93D0 002B5030 38 7D 01 58 */ addi r3, r29, 0x158
+/* 802B93D4 002B5034 4C C6 31 82 */ crclr 6
+/* 802B93D8 002B5038 48 00 01 A5 */ bl WUD_DEBUGPrint
+/* 802B93DC 002B503C 88 1E 00 05 */ lbz r0, 5(r30)
+/* 802B93E0 002B5040 38 7D 01 6C */ addi r3, r29, 0x16c
+/* 802B93E4 002B5044 90 01 00 08 */ stw r0, 8(r1)
+/* 802B93E8 002B5048 88 9E 00 06 */ lbz r4, 6(r30)
+/* 802B93EC 002B504C 88 BE 00 07 */ lbz r5, 7(r30)
+/* 802B93F0 002B5050 88 DE 00 00 */ lbz r6, 0(r30)
+/* 802B93F4 002B5054 88 FE 00 01 */ lbz r7, 1(r30)
+/* 802B93F8 002B5058 89 1E 00 02 */ lbz r8, 2(r30)
+/* 802B93FC 002B505C 89 3E 00 03 */ lbz r9, 3(r30)
+/* 802B9400 002B5060 89 5E 00 04 */ lbz r10, 4(r30)
+/* 802B9404 002B5064 4C C6 31 82 */ crclr 6
+/* 802B9408 002B5068 48 00 01 75 */ bl WUD_DEBUGPrint
+/* 802B940C 002B506C 7F C3 F3 78 */ mr r3, r30
+/* 802B9410 002B5070 4B FF E3 55 */ bl WUDiGetDevInfo
+/* 802B9414 002B5074 88 1E 00 07 */ lbz r0, 7(r30)
+/* 802B9418 002B5078 98 03 00 56 */ stb r0, 0x56(r3)
+/* 802B941C 002B507C 48 00 00 E0 */ b lbl_802B94FC
+/* 802B9420 002B5080 38 7D 01 AC */ addi r3, r29, 0x1ac
+/* 802B9424 002B5084 4C C6 31 82 */ crclr 6
+/* 802B9428 002B5088 48 00 01 55 */ bl WUD_DEBUGPrint
+/* 802B942C 002B508C 88 1E 00 05 */ lbz r0, 5(r30)
+/* 802B9430 002B5090 38 7D 01 6C */ addi r3, r29, 0x16c
+/* 802B9434 002B5094 90 01 00 08 */ stw r0, 8(r1)
+/* 802B9438 002B5098 88 9E 00 06 */ lbz r4, 6(r30)
+/* 802B943C 002B509C 88 BE 00 07 */ lbz r5, 7(r30)
+/* 802B9440 002B50A0 88 DE 00 00 */ lbz r6, 0(r30)
+/* 802B9444 002B50A4 88 FE 00 01 */ lbz r7, 1(r30)
+/* 802B9448 002B50A8 89 1E 00 02 */ lbz r8, 2(r30)
+/* 802B944C 002B50AC 89 3E 00 03 */ lbz r9, 3(r30)
+/* 802B9450 002B50B0 89 5E 00 04 */ lbz r10, 4(r30)
+/* 802B9454 002B50B4 4C C6 31 82 */ crclr 6
+/* 802B9458 002B50B8 48 00 01 25 */ bl WUD_DEBUGPrint
+/* 802B945C 002B50BC 48 00 00 A0 */ b lbl_802B94FC
+/* 802B9460 002B50C0 38 7D 01 C0 */ addi r3, r29, 0x1c0
+/* 802B9464 002B50C4 4C C6 31 82 */ crclr 6
+/* 802B9468 002B50C8 48 00 01 15 */ bl WUD_DEBUGPrint
+/* 802B946C 002B50CC 48 00 00 90 */ b lbl_802B94FC
+/* 802B9470 002B50D0 A0 04 00 00 */ lhz r0, 0(r4)
+/* 802B9474 002B50D4 88 7F 06 E5 */ lbz r3, 0x6e5(r31)
+/* 802B9478 002B50D8 B0 1F 07 44 */ sth r0, 0x744(r31)
+/* 802B947C 002B50DC A0 04 00 02 */ lhz r0, 2(r4)
+/* 802B9480 002B50E0 B0 1F 07 46 */ sth r0, 0x746(r31)
+/* 802B9484 002B50E4 A0 04 00 04 */ lhz r0, 4(r4)
+/* 802B9488 002B50E8 7C 03 00 00 */ cmpw r3, r0
+/* 802B948C 002B50EC 40 80 00 18 */ bge lbl_802B94A4
+/* 802B9490 002B50F0 38 7D 01 D8 */ addi r3, r29, 0x1d8
+/* 802B9494 002B50F4 4C C6 31 82 */ crclr 6
+/* 802B9498 002B50F8 4B D4 E6 2D */ bl func_80007AC4
+/* 802B949C 002B50FC A0 1E 00 04 */ lhz r0, 4(r30)
+/* 802B94A0 002B5100 98 1F 06 E5 */ stb r0, 0x6e5(r31)
+lbl_802B94A4:
+/* 802B94A4 002B5104 3C A0 80 54 */ lis r5, lbl_8053C280@ha
+/* 802B94A8 002B5108 3C 60 80 54 */ lis r3, lbl_8053C2A0@ha
+/* 802B94AC 002B510C 7F C6 F3 78 */ mr r6, r30
+/* 802B94B0 002B5110 38 E0 00 00 */ li r7, 0
+/* 802B94B4 002B5114 38 A5 C2 80 */ addi r5, r5, lbl_8053C280@l
+/* 802B94B8 002B5118 38 63 C2 A0 */ addi r3, r3, lbl_8053C2A0@l
+/* 802B94BC 002B511C 48 00 00 34 */ b lbl_802B94F0
+lbl_802B94C0:
+/* 802B94C0 002B5120 88 06 00 06 */ lbz r0, 6(r6)
+/* 802B94C4 002B5124 28 00 00 10 */ cmplwi r0, 0x10
+/* 802B94C8 002B5128 40 80 00 20 */ bge lbl_802B94E8
+/* 802B94CC 002B512C A0 86 00 08 */ lhz r4, 8(r6)
+/* 802B94D0 002B5130 54 00 0D FC */ rlwinm r0, r0, 1, 0x17, 0x1e
+/* 802B94D4 002B5134 7C 85 03 2E */ sthx r4, r5, r0
+/* 802B94D8 002B5138 88 06 00 06 */ lbz r0, 6(r6)
+/* 802B94DC 002B513C A0 86 00 0A */ lhz r4, 0xa(r6)
+/* 802B94E0 002B5140 54 00 08 3C */ slwi r0, r0, 1
+/* 802B94E4 002B5144 7C 83 03 2E */ sthx r4, r3, r0
+lbl_802B94E8:
+/* 802B94E8 002B5148 38 C6 00 06 */ addi r6, r6, 6
+/* 802B94EC 002B514C 38 E7 00 01 */ addi r7, r7, 1
+lbl_802B94F0:
+/* 802B94F0 002B5150 A0 1E 00 04 */ lhz r0, 4(r30)
+/* 802B94F4 002B5154 7C 07 00 00 */ cmpw r7, r0
+/* 802B94F8 002B5158 41 80 FF C8 */ blt lbl_802B94C0
+lbl_802B94FC:
+/* 802B94FC 002B515C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802B9500 002B5160 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802B9504 002B5164 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802B9508 002B5168 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802B950C 002B516C 7C 08 03 A6 */ mtlr r0
+/* 802B9510 002B5170 38 21 00 20 */ addi r1, r1, 0x20
+/* 802B9514 002B5174 4E 80 00 20 */ blr
+
+.global bta_hh_co_data
+bta_hh_co_data:
+/* 802B9518 002B5178 28 08 00 03 */ cmplwi r8, 3
+/* 802B951C 002B517C 3C C0 80 54 */ lis r6, lbl_8053A4E0@ha
+/* 802B9520 002B5180 38 C6 A4 E0 */ addi r6, r6, lbl_8053A4E0@l
+/* 802B9524 002B5184 40 82 00 18 */ bne lbl_802B953C
+/* 802B9528 002B5188 81 86 06 EC */ lwz r12, 0x6ec(r6)
+/* 802B952C 002B518C 2C 0C 00 00 */ cmpwi r12, 0
+/* 802B9530 002B5190 4D 82 00 20 */ beqlr
+/* 802B9534 002B5194 7D 89 03 A6 */ mtctr r12
+/* 802B9538 002B5198 4E 80 04 20 */ bctr
+lbl_802B953C:
+/* 802B953C 002B519C 3C 60 80 44 */ lis r3, lbl_8043F0F0@ha
+/* 802B9540 002B51A0 7D 04 43 78 */ mr r4, r8
+/* 802B9544 002B51A4 38 63 F0 F0 */ addi r3, r3, lbl_8043F0F0@l
+/* 802B9548 002B51A8 4C C6 31 82 */ crclr 6
+/* 802B954C 002B51AC 48 00 00 30 */ b WUD_DEBUGPrint
+/* 802B9550 002B51B0 4E 80 00 20 */ blr
+
+.global bta_hh_co_open
+bta_hh_co_open:
+/* 802B9554 002B51B4 3C 60 80 44 */ lis r3, lbl_8043F108@ha
+/* 802B9558 002B51B8 38 63 F1 08 */ addi r3, r3, lbl_8043F108@l
+/* 802B955C 002B51BC 4C C6 31 82 */ crclr 6
+/* 802B9560 002B51C0 48 00 00 1C */ b WUD_DEBUGPrint
+
+.global bta_hh_co_close
+bta_hh_co_close:
+/* 802B9564 002B51C4 3C 60 80 44 */ lis r3, lbl_8043F11C@ha
+/* 802B9568 002B51C8 38 63 F1 1C */ addi r3, r3, lbl_8043F11C@l
+/* 802B956C 002B51CC 4C C6 31 82 */ crclr 6
+/* 802B9570 002B51D0 48 00 00 0C */ b WUD_DEBUGPrint
+
+.global bta_dm_co_get_compress_memory
+bta_dm_co_get_compress_memory:
+/* 802B9574 002B51D4 38 60 00 00 */ li r3, 0
+/* 802B9578 002B51D8 4E 80 00 20 */ blr
diff --git a/asm/SDK/WUD/debug_msg.s b/asm/SDK/WUD/debug_msg.s new file mode 100644 index 0000000..cc7fa1f --- /dev/null +++ b/asm/SDK/WUD/debug_msg.s @@ -0,0 +1,27 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global WUD_DEBUGPrint
+WUD_DEBUGPrint:
+/* 802B957C 002B51DC 94 21 FF 90 */ stwu r1, -0x70(r1)
+/* 802B9580 002B51E0 40 86 00 24 */ bne cr1, lbl_802B95A4
+/* 802B9584 002B51E4 D8 21 00 28 */ stfd f1, 0x28(r1)
+/* 802B9588 002B51E8 D8 41 00 30 */ stfd f2, 0x30(r1)
+/* 802B958C 002B51EC D8 61 00 38 */ stfd f3, 0x38(r1)
+/* 802B9590 002B51F0 D8 81 00 40 */ stfd f4, 0x40(r1)
+/* 802B9594 002B51F4 D8 A1 00 48 */ stfd f5, 0x48(r1)
+/* 802B9598 002B51F8 D8 C1 00 50 */ stfd f6, 0x50(r1)
+/* 802B959C 002B51FC D8 E1 00 58 */ stfd f7, 0x58(r1)
+/* 802B95A0 002B5200 D9 01 00 60 */ stfd f8, 0x60(r1)
+lbl_802B95A4:
+/* 802B95A4 002B5204 90 61 00 08 */ stw r3, 8(r1)
+/* 802B95A8 002B5208 90 81 00 0C */ stw r4, 0xc(r1)
+/* 802B95AC 002B520C 90 A1 00 10 */ stw r5, 0x10(r1)
+/* 802B95B0 002B5210 90 C1 00 14 */ stw r6, 0x14(r1)
+/* 802B95B4 002B5214 90 E1 00 18 */ stw r7, 0x18(r1)
+/* 802B95B8 002B5218 91 01 00 1C */ stw r8, 0x1c(r1)
+/* 802B95BC 002B521C 91 21 00 20 */ stw r9, 0x20(r1)
+/* 802B95C0 002B5220 91 41 00 24 */ stw r10, 0x24(r1)
+/* 802B95C4 002B5224 38 21 00 70 */ addi r1, r1, 0x70
+/* 802B95C8 002B5228 4E 80 00 20 */ blr
|