1135 lines
49 KiB
ArmAsm
1135 lines
49 KiB
ArmAsm
.include "macros.inc"
|
|
|
|
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
|
|
.global HID_HostGetSDPRecord
|
|
HID_HostGetSDPRecord:
|
|
/* 8008D420 00089260 94 21 FF D0 */ stwu r1, -0x30(r1)
|
|
/* 8008D424 00089264 7C 08 02 A6 */ mflr r0
|
|
/* 8008D428 00089268 90 01 00 34 */ stw r0, 0x34(r1)
|
|
/* 8008D42C 0008926C 93 E1 00 2C */ stw r31, 0x2c(r1)
|
|
/* 8008D430 00089270 3F E0 80 50 */ lis r31, hh_cb@ha
|
|
/* 8008D434 00089274 3B FF 8C 18 */ addi r31, r31, hh_cb@l
|
|
/* 8008D438 00089278 93 C1 00 28 */ stw r30, 0x28(r1)
|
|
/* 8008D43C 0008927C 7C DE 33 78 */ mr r30, r6
|
|
/* 8008D440 00089280 93 A1 00 24 */ stw r29, 0x24(r1)
|
|
/* 8008D444 00089284 7C 9D 23 78 */ mr r29, r4
|
|
/* 8008D448 00089288 93 81 00 20 */ stw r28, 0x20(r1)
|
|
/* 8008D44C 0008928C 7C 7C 1B 78 */ mr r28, r3
|
|
/* 8008D450 00089290 88 1F 03 80 */ lbz r0, 0x380(r31)
|
|
/* 8008D454 00089294 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 8008D458 00089298 41 82 00 0C */ beq lbl_8008D464
|
|
/* 8008D45C 0008929C 38 60 00 10 */ li r3, 0x10
|
|
/* 8008D460 000892A0 48 00 00 68 */ b lbl_8008D4C8
|
|
.global lbl_8008D464
|
|
lbl_8008D464:
|
|
/* 8008D464 000892A4 38 E0 00 02 */ li r7, 0x2
|
|
/* 8008D468 000892A8 38 00 11 24 */ li r0, 0x1124
|
|
/* 8008D46C 000892AC 90 9F 03 88 */ stw r4, 0x388(r31)
|
|
/* 8008D470 000892B0 7C A4 2B 78 */ mr r4, r5
|
|
/* 8008D474 000892B4 7F A3 EB 78 */ mr r3, r29
|
|
/* 8008D478 000892B8 38 C1 00 08 */ addi r6, r1, 0x8
|
|
/* 8008D47C 000892BC B0 E1 00 08 */ sth r7, 0x8(r1)
|
|
/* 8008D480 000892C0 38 A0 00 01 */ li r5, 0x1
|
|
/* 8008D484 000892C4 38 E0 00 00 */ li r7, 0x0
|
|
/* 8008D488 000892C8 39 00 00 00 */ li r8, 0x0
|
|
/* 8008D48C 000892CC B0 01 00 0C */ sth r0, 0xc(r1)
|
|
/* 8008D490 000892D0 48 00 F3 01 */ bl SDP_InitDiscoveryDb
|
|
/* 8008D494 000892D4 3C A0 80 09 */ lis r5, hidh_search_callback@ha
|
|
/* 8008D498 000892D8 7F 83 E3 78 */ mr r3, r28
|
|
/* 8008D49C 000892DC 7F A4 EB 78 */ mr r4, r29
|
|
/* 8008D4A0 000892E0 38 A5 D4 E8 */ addi r5, r5, hidh_search_callback@l
|
|
/* 8008D4A4 000892E4 48 00 F6 65 */ bl SDP_ServiceSearchRequest
|
|
/* 8008D4A8 000892E8 54 60 06 3F */ clrlwi. r0, r3, 24
|
|
/* 8008D4AC 000892EC 41 82 00 18 */ beq lbl_8008D4C4
|
|
/* 8008D4B0 000892F0 38 00 00 01 */ li r0, 0x1
|
|
/* 8008D4B4 000892F4 93 DF 03 84 */ stw r30, 0x384(r31)
|
|
/* 8008D4B8 000892F8 38 60 00 00 */ li r3, 0x0
|
|
/* 8008D4BC 000892FC 98 1F 03 80 */ stb r0, 0x380(r31)
|
|
/* 8008D4C0 00089300 48 00 00 08 */ b lbl_8008D4C8
|
|
.global lbl_8008D4C4
|
|
lbl_8008D4C4:
|
|
/* 8008D4C4 00089304 38 60 00 03 */ li r3, 0x3
|
|
.global lbl_8008D4C8
|
|
lbl_8008D4C8:
|
|
/* 8008D4C8 00089308 80 01 00 34 */ lwz r0, 0x34(r1)
|
|
/* 8008D4CC 0008930C 83 E1 00 2C */ lwz r31, 0x2c(r1)
|
|
/* 8008D4D0 00089310 83 C1 00 28 */ lwz r30, 0x28(r1)
|
|
/* 8008D4D4 00089314 83 A1 00 24 */ lwz r29, 0x24(r1)
|
|
/* 8008D4D8 00089318 83 81 00 20 */ lwz r28, 0x20(r1)
|
|
/* 8008D4DC 0008931C 7C 08 03 A6 */ mtlr r0
|
|
/* 8008D4E0 00089320 38 21 00 30 */ addi r1, r1, 0x30
|
|
/* 8008D4E4 00089324 4E 80 00 20 */ blr
|
|
.global hidh_search_callback
|
|
hidh_search_callback:
|
|
/* 8008D4E8 00089328 94 21 FF D0 */ stwu r1, -0x30(r1)
|
|
/* 8008D4EC 0008932C 7C 08 02 A6 */ mflr r0
|
|
/* 8008D4F0 00089330 38 80 00 02 */ li r4, 0x2
|
|
/* 8008D4F4 00089334 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 8008D4F8 00089338 90 01 00 34 */ stw r0, 0x34(r1)
|
|
/* 8008D4FC 0008933C 38 00 11 24 */ li r0, 0x1124
|
|
/* 8008D500 00089340 93 E1 00 2C */ stw r31, 0x2c(r1)
|
|
/* 8008D504 00089344 93 C1 00 28 */ stw r30, 0x28(r1)
|
|
/* 8008D508 00089348 93 A1 00 24 */ stw r29, 0x24(r1)
|
|
/* 8008D50C 0008934C 3B A0 00 00 */ li r29, 0x0
|
|
/* 8008D510 00089350 93 81 00 20 */ stw r28, 0x20(r1)
|
|
/* 8008D514 00089354 3F 80 80 50 */ lis r28, hh_cb@ha
|
|
/* 8008D518 00089358 3B 9C 8C 18 */ addi r28, r28, hh_cb@l
|
|
/* 8008D51C 0008935C B0 81 00 08 */ sth r4, 0x8(r1)
|
|
/* 8008D520 00089360 3B DC 03 8C */ addi r30, r28, 0x38c
|
|
/* 8008D524 00089364 80 9C 03 88 */ lwz r4, 0x388(r28)
|
|
/* 8008D528 00089368 B0 01 00 0C */ sth r0, 0xc(r1)
|
|
/* 8008D52C 0008936C 9B BC 03 80 */ stb r29, 0x380(r28)
|
|
/* 8008D530 00089370 41 82 00 1C */ beq lbl_8008D54C
|
|
/* 8008D534 00089374 81 9C 03 84 */ lwz r12, 0x384(r28)
|
|
/* 8008D538 00089378 38 80 00 00 */ li r4, 0x0
|
|
/* 8008D53C 0008937C 38 A0 00 00 */ li r5, 0x0
|
|
/* 8008D540 00089380 7D 89 03 A6 */ mtctr r12
|
|
/* 8008D544 00089384 4E 80 04 21 */ bctrl
|
|
/* 8008D548 00089388 48 00 03 D0 */ b lbl_8008D918
|
|
.global lbl_8008D54C
|
|
lbl_8008D54C:
|
|
/* 8008D54C 0008938C 7C 83 23 78 */ mr r3, r4
|
|
/* 8008D550 00089390 38 81 00 08 */ addi r4, r1, 0x8
|
|
/* 8008D554 00089394 38 A0 00 00 */ li r5, 0x0
|
|
/* 8008D558 00089398 48 00 F7 65 */ bl SDP_FindServiceUUIDInDb
|
|
/* 8008D55C 0008939C 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 8008D560 000893A0 7C 7F 1B 78 */ mr r31, r3
|
|
/* 8008D564 000893A4 40 82 00 20 */ bne lbl_8008D584
|
|
/* 8008D568 000893A8 81 9C 03 84 */ lwz r12, 0x384(r28)
|
|
/* 8008D56C 000893AC 38 60 00 0C */ li r3, 0xc
|
|
/* 8008D570 000893B0 38 80 00 00 */ li r4, 0x0
|
|
/* 8008D574 000893B4 38 A0 00 00 */ li r5, 0x0
|
|
/* 8008D578 000893B8 7D 89 03 A6 */ mtctr r12
|
|
/* 8008D57C 000893BC 4E 80 04 21 */ bctrl
|
|
/* 8008D580 000893C0 48 00 03 98 */ b lbl_8008D918
|
|
.global lbl_8008D584
|
|
lbl_8008D584:
|
|
/* 8008D584 000893C4 7F C3 F3 78 */ mr r3, r30
|
|
/* 8008D588 000893C8 38 80 00 00 */ li r4, 0x0
|
|
/* 8008D58C 000893CC 38 A0 00 74 */ li r5, 0x74
|
|
/* 8008D590 000893D0 4B F7 6D C1 */ bl memset
|
|
/* 8008D594 000893D4 7F E3 FB 78 */ mr r3, r31
|
|
/* 8008D598 000893D8 38 80 02 06 */ li r4, 0x206
|
|
/* 8008D59C 000893DC 48 00 F6 2D */ bl SDP_FindAttributeInRec
|
|
/* 8008D5A0 000893E0 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 8008D5A4 000893E4 41 82 00 58 */ beq lbl_8008D5FC
|
|
/* 8008D5A8 000893E8 A0 03 00 06 */ lhz r0, 0x6(r3)
|
|
/* 8008D5AC 000893EC 7C 00 66 70 */ srawi r0, r0, 12
|
|
/* 8008D5B0 000893F0 2C 00 00 06 */ cmpwi r0, 0x6
|
|
/* 8008D5B4 000893F4 40 82 00 48 */ bne lbl_8008D5FC
|
|
/* 8008D5B8 000893F8 80 63 00 08 */ lwz r3, 0x8(r3)
|
|
/* 8008D5BC 000893FC 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 8008D5C0 00089400 41 82 00 3C */ beq lbl_8008D5FC
|
|
/* 8008D5C4 00089404 A0 03 00 06 */ lhz r0, 0x6(r3)
|
|
/* 8008D5C8 00089408 7C 00 66 70 */ srawi r0, r0, 12
|
|
/* 8008D5CC 0008940C 2C 00 00 06 */ cmpwi r0, 0x6
|
|
/* 8008D5D0 00089410 40 82 00 2C */ bne lbl_8008D5FC
|
|
/* 8008D5D4 00089414 80 63 00 08 */ lwz r3, 0x8(r3)
|
|
/* 8008D5D8 00089418 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 8008D5DC 0008941C 41 82 00 20 */ beq lbl_8008D5FC
|
|
/* 8008D5E0 00089420 80 83 00 00 */ lwz r4, 0x0(r3)
|
|
/* 8008D5E4 00089424 2C 04 00 00 */ cmpwi r4, 0x0
|
|
/* 8008D5E8 00089428 41 82 00 14 */ beq lbl_8008D5FC
|
|
/* 8008D5EC 0008942C A0 64 00 06 */ lhz r3, 0x6(r4)
|
|
/* 8008D5F0 00089430 7C 60 66 70 */ srawi r0, r3, 12
|
|
/* 8008D5F4 00089434 2C 00 00 04 */ cmpwi r0, 0x4
|
|
/* 8008D5F8 00089438 41 82 00 28 */ beq lbl_8008D620
|
|
.global lbl_8008D5FC
|
|
lbl_8008D5FC:
|
|
/* 8008D5FC 0008943C 3C A0 80 50 */ lis r5, hh_cb@ha
|
|
/* 8008D600 00089440 38 60 00 0D */ li r3, 0xd
|
|
/* 8008D604 00089444 38 A5 8C 18 */ addi r5, r5, hh_cb@l
|
|
/* 8008D608 00089448 38 80 00 00 */ li r4, 0x0
|
|
/* 8008D60C 0008944C 81 85 03 84 */ lwz r12, 0x384(r5)
|
|
/* 8008D610 00089450 38 A0 00 00 */ li r5, 0x0
|
|
/* 8008D614 00089454 7D 89 03 A6 */ mtctr r12
|
|
/* 8008D618 00089458 4E 80 04 21 */ bctrl
|
|
/* 8008D61C 0008945C 48 00 02 FC */ b lbl_8008D918
|
|
.global lbl_8008D620
|
|
lbl_8008D620:
|
|
/* 8008D620 00089460 54 60 05 3F */ clrlwi. r0, r3, 20
|
|
/* 8008D624 00089464 B0 1E 00 68 */ sth r0, 0x68(r30)
|
|
/* 8008D628 00089468 41 82 00 0C */ beq lbl_8008D634
|
|
/* 8008D62C 0008946C 38 04 00 08 */ addi r0, r4, 0x8
|
|
/* 8008D630 00089470 90 1E 00 6C */ stw r0, 0x6c(r30)
|
|
.global lbl_8008D634
|
|
lbl_8008D634:
|
|
/* 8008D634 00089474 7F E3 FB 78 */ mr r3, r31
|
|
/* 8008D638 00089478 38 80 02 04 */ li r4, 0x204
|
|
/* 8008D63C 0008947C 48 00 F5 8D */ bl SDP_FindAttributeInRec
|
|
/* 8008D640 00089480 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 8008D644 00089484 41 82 00 14 */ beq lbl_8008D658
|
|
/* 8008D648 00089488 88 03 00 08 */ lbz r0, 0x8(r3)
|
|
/* 8008D64C 0008948C 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 8008D650 00089490 41 82 00 08 */ beq lbl_8008D658
|
|
/* 8008D654 00089494 63 BD 00 01 */ ori r29, r29, 0x1
|
|
.global lbl_8008D658
|
|
lbl_8008D658:
|
|
/* 8008D658 00089498 7F E3 FB 78 */ mr r3, r31
|
|
/* 8008D65C 0008949C 38 80 02 05 */ li r4, 0x205
|
|
/* 8008D660 000894A0 48 00 F5 69 */ bl SDP_FindAttributeInRec
|
|
/* 8008D664 000894A4 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 8008D668 000894A8 41 82 00 18 */ beq lbl_8008D680
|
|
/* 8008D66C 000894AC 88 03 00 08 */ lbz r0, 0x8(r3)
|
|
/* 8008D670 000894B0 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 8008D674 000894B4 41 82 00 0C */ beq lbl_8008D680
|
|
/* 8008D678 000894B8 63 A0 00 04 */ ori r0, r29, 0x4
|
|
/* 8008D67C 000894BC 54 1D 04 3E */ clrlwi r29, r0, 16
|
|
.global lbl_8008D680
|
|
lbl_8008D680:
|
|
/* 8008D680 000894C0 7F E3 FB 78 */ mr r3, r31
|
|
/* 8008D684 000894C4 38 80 02 0D */ li r4, 0x20d
|
|
/* 8008D688 000894C8 48 00 F5 41 */ bl SDP_FindAttributeInRec
|
|
/* 8008D68C 000894CC 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 8008D690 000894D0 41 82 00 18 */ beq lbl_8008D6A8
|
|
/* 8008D694 000894D4 88 03 00 08 */ lbz r0, 0x8(r3)
|
|
/* 8008D698 000894D8 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 8008D69C 000894DC 41 82 00 0C */ beq lbl_8008D6A8
|
|
/* 8008D6A0 000894E0 63 A0 00 02 */ ori r0, r29, 0x2
|
|
/* 8008D6A4 000894E4 54 1D 04 3E */ clrlwi r29, r0, 16
|
|
.global lbl_8008D6A8
|
|
lbl_8008D6A8:
|
|
/* 8008D6A8 000894E8 7F E3 FB 78 */ mr r3, r31
|
|
/* 8008D6AC 000894EC 38 80 02 08 */ li r4, 0x208
|
|
/* 8008D6B0 000894F0 48 00 F5 19 */ bl SDP_FindAttributeInRec
|
|
/* 8008D6B4 000894F4 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 8008D6B8 000894F8 41 82 00 18 */ beq lbl_8008D6D0
|
|
/* 8008D6BC 000894FC 88 03 00 08 */ lbz r0, 0x8(r3)
|
|
/* 8008D6C0 00089500 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 8008D6C4 00089504 41 82 00 0C */ beq lbl_8008D6D0
|
|
/* 8008D6C8 00089508 63 A0 00 08 */ ori r0, r29, 0x8
|
|
/* 8008D6CC 0008950C 54 1D 04 3E */ clrlwi r29, r0, 16
|
|
.global lbl_8008D6D0
|
|
lbl_8008D6D0:
|
|
/* 8008D6D0 00089510 7F E3 FB 78 */ mr r3, r31
|
|
/* 8008D6D4 00089514 38 80 02 09 */ li r4, 0x209
|
|
/* 8008D6D8 00089518 48 00 F4 F1 */ bl SDP_FindAttributeInRec
|
|
/* 8008D6DC 0008951C 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 8008D6E0 00089520 41 82 00 18 */ beq lbl_8008D6F8
|
|
/* 8008D6E4 00089524 88 03 00 08 */ lbz r0, 0x8(r3)
|
|
/* 8008D6E8 00089528 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 8008D6EC 0008952C 41 82 00 0C */ beq lbl_8008D6F8
|
|
/* 8008D6F0 00089530 63 A0 00 10 */ ori r0, r29, 0x10
|
|
/* 8008D6F4 00089534 54 1D 04 3E */ clrlwi r29, r0, 16
|
|
.global lbl_8008D6F8
|
|
lbl_8008D6F8:
|
|
/* 8008D6F8 00089538 7F E3 FB 78 */ mr r3, r31
|
|
/* 8008D6FC 0008953C 38 80 02 0A */ li r4, 0x20a
|
|
/* 8008D700 00089540 48 00 F4 C9 */ bl SDP_FindAttributeInRec
|
|
/* 8008D704 00089544 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 8008D708 00089548 41 82 00 18 */ beq lbl_8008D720
|
|
/* 8008D70C 0008954C 88 03 00 08 */ lbz r0, 0x8(r3)
|
|
/* 8008D710 00089550 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 8008D714 00089554 41 82 00 0C */ beq lbl_8008D720
|
|
/* 8008D718 00089558 63 A0 00 20 */ ori r0, r29, 0x20
|
|
/* 8008D71C 0008955C 54 1D 04 3E */ clrlwi r29, r0, 16
|
|
.global lbl_8008D720
|
|
lbl_8008D720:
|
|
/* 8008D720 00089560 7F E3 FB 78 */ mr r3, r31
|
|
/* 8008D724 00089564 38 80 01 00 */ li r4, 0x100
|
|
/* 8008D728 00089568 48 00 F4 A1 */ bl SDP_FindAttributeInRec
|
|
/* 8008D72C 0008956C 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 8008D730 00089570 7C 64 1B 78 */ mr r4, r3
|
|
/* 8008D734 00089574 41 82 00 4C */ beq lbl_8008D780
|
|
/* 8008D738 00089578 A0 03 00 06 */ lhz r0, 0x6(r3)
|
|
/* 8008D73C 0008957C 54 1C 05 3E */ clrlwi r28, r0, 20
|
|
/* 8008D740 00089580 28 1C 00 20 */ cmplwi r28, 0x20
|
|
/* 8008D744 00089584 40 80 00 20 */ bge lbl_8008D764
|
|
/* 8008D748 00089588 7F C3 F3 78 */ mr r3, r30
|
|
/* 8008D74C 0008958C 7F 85 E3 78 */ mr r5, r28
|
|
/* 8008D750 00089590 38 84 00 08 */ addi r4, r4, 0x8
|
|
/* 8008D754 00089594 4B F7 68 AD */ bl memcpy
|
|
/* 8008D758 00089598 38 00 00 00 */ li r0, 0x0
|
|
/* 8008D75C 0008959C 7C 1E E1 AE */ stbx r0, r30, r28
|
|
/* 8008D760 000895A0 48 00 00 28 */ b lbl_8008D788
|
|
.global lbl_8008D764
|
|
lbl_8008D764:
|
|
/* 8008D764 000895A4 7F C3 F3 78 */ mr r3, r30
|
|
/* 8008D768 000895A8 38 84 00 08 */ addi r4, r4, 0x8
|
|
/* 8008D76C 000895AC 38 A0 00 1F */ li r5, 0x1f
|
|
/* 8008D770 000895B0 4B F7 68 91 */ bl memcpy
|
|
/* 8008D774 000895B4 38 00 00 00 */ li r0, 0x0
|
|
/* 8008D778 000895B8 98 1E 00 20 */ stb r0, 0x20(r30)
|
|
/* 8008D77C 000895BC 48 00 00 0C */ b lbl_8008D788
|
|
.global lbl_8008D780
|
|
lbl_8008D780:
|
|
/* 8008D780 000895C0 38 00 00 00 */ li r0, 0x0
|
|
/* 8008D784 000895C4 98 1E 00 00 */ stb r0, 0x0(r30)
|
|
.global lbl_8008D788
|
|
lbl_8008D788:
|
|
/* 8008D788 000895C8 7F E3 FB 78 */ mr r3, r31
|
|
/* 8008D78C 000895CC 38 80 01 01 */ li r4, 0x101
|
|
/* 8008D790 000895D0 48 00 F4 39 */ bl SDP_FindAttributeInRec
|
|
/* 8008D794 000895D4 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 8008D798 000895D8 7C 64 1B 78 */ mr r4, r3
|
|
/* 8008D79C 000895DC 41 82 00 50 */ beq lbl_8008D7EC
|
|
/* 8008D7A0 000895E0 A0 03 00 06 */ lhz r0, 0x6(r3)
|
|
/* 8008D7A4 000895E4 54 1C 05 3E */ clrlwi r28, r0, 20
|
|
/* 8008D7A8 000895E8 28 1C 00 20 */ cmplwi r28, 0x20
|
|
/* 8008D7AC 000895EC 40 80 00 24 */ bge lbl_8008D7D0
|
|
/* 8008D7B0 000895F0 7F 85 E3 78 */ mr r5, r28
|
|
/* 8008D7B4 000895F4 38 7E 00 20 */ addi r3, r30, 0x20
|
|
/* 8008D7B8 000895F8 38 84 00 08 */ addi r4, r4, 0x8
|
|
/* 8008D7BC 000895FC 4B F7 68 45 */ bl memcpy
|
|
/* 8008D7C0 00089600 7C 7E E2 14 */ add r3, r30, r28
|
|
/* 8008D7C4 00089604 38 00 00 00 */ li r0, 0x0
|
|
/* 8008D7C8 00089608 98 03 00 20 */ stb r0, 0x20(r3)
|
|
/* 8008D7CC 0008960C 48 00 00 28 */ b lbl_8008D7F4
|
|
.global lbl_8008D7D0
|
|
lbl_8008D7D0:
|
|
/* 8008D7D0 00089610 38 7E 00 20 */ addi r3, r30, 0x20
|
|
/* 8008D7D4 00089614 38 84 00 08 */ addi r4, r4, 0x8
|
|
/* 8008D7D8 00089618 38 A0 00 1F */ li r5, 0x1f
|
|
/* 8008D7DC 0008961C 4B F7 68 25 */ bl memcpy
|
|
/* 8008D7E0 00089620 38 00 00 00 */ li r0, 0x0
|
|
/* 8008D7E4 00089624 98 1E 00 40 */ stb r0, 0x40(r30)
|
|
/* 8008D7E8 00089628 48 00 00 0C */ b lbl_8008D7F4
|
|
.global lbl_8008D7EC
|
|
lbl_8008D7EC:
|
|
/* 8008D7EC 0008962C 38 00 00 00 */ li r0, 0x0
|
|
/* 8008D7F0 00089630 98 1E 00 20 */ stb r0, 0x20(r30)
|
|
.global lbl_8008D7F4
|
|
lbl_8008D7F4:
|
|
/* 8008D7F4 00089634 7F E3 FB 78 */ mr r3, r31
|
|
/* 8008D7F8 00089638 38 80 01 02 */ li r4, 0x102
|
|
/* 8008D7FC 0008963C 48 00 F3 CD */ bl SDP_FindAttributeInRec
|
|
/* 8008D800 00089640 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 8008D804 00089644 7C 64 1B 78 */ mr r4, r3
|
|
/* 8008D808 00089648 41 82 00 50 */ beq lbl_8008D858
|
|
/* 8008D80C 0008964C A0 03 00 06 */ lhz r0, 0x6(r3)
|
|
/* 8008D810 00089650 54 1C 05 3E */ clrlwi r28, r0, 20
|
|
/* 8008D814 00089654 28 1C 00 20 */ cmplwi r28, 0x20
|
|
/* 8008D818 00089658 40 80 00 24 */ bge lbl_8008D83C
|
|
/* 8008D81C 0008965C 7F 85 E3 78 */ mr r5, r28
|
|
/* 8008D820 00089660 38 7E 00 40 */ addi r3, r30, 0x40
|
|
/* 8008D824 00089664 38 84 00 08 */ addi r4, r4, 0x8
|
|
/* 8008D828 00089668 4B F7 67 D9 */ bl memcpy
|
|
/* 8008D82C 0008966C 7C 7E E2 14 */ add r3, r30, r28
|
|
/* 8008D830 00089670 38 00 00 00 */ li r0, 0x0
|
|
/* 8008D834 00089674 98 03 00 40 */ stb r0, 0x40(r3)
|
|
/* 8008D838 00089678 48 00 00 28 */ b lbl_8008D860
|
|
.global lbl_8008D83C
|
|
lbl_8008D83C:
|
|
/* 8008D83C 0008967C 38 7E 00 40 */ addi r3, r30, 0x40
|
|
/* 8008D840 00089680 38 84 00 08 */ addi r4, r4, 0x8
|
|
/* 8008D844 00089684 38 A0 00 1F */ li r5, 0x1f
|
|
/* 8008D848 00089688 4B F7 67 B9 */ bl memcpy
|
|
/* 8008D84C 0008968C 38 00 00 00 */ li r0, 0x0
|
|
/* 8008D850 00089690 98 1E 00 60 */ stb r0, 0x60(r30)
|
|
/* 8008D854 00089694 48 00 00 0C */ b lbl_8008D860
|
|
.global lbl_8008D858
|
|
lbl_8008D858:
|
|
/* 8008D858 00089698 38 00 00 00 */ li r0, 0x0
|
|
/* 8008D85C 0008969C 98 1E 00 40 */ stb r0, 0x40(r30)
|
|
.global lbl_8008D860
|
|
lbl_8008D860:
|
|
/* 8008D860 000896A0 7F E3 FB 78 */ mr r3, r31
|
|
/* 8008D864 000896A4 38 80 02 00 */ li r4, 0x200
|
|
/* 8008D868 000896A8 48 00 F3 61 */ bl SDP_FindAttributeInRec
|
|
/* 8008D86C 000896AC 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 8008D870 000896B0 41 82 00 0C */ beq lbl_8008D87C
|
|
/* 8008D874 000896B4 A0 03 00 08 */ lhz r0, 0x8(r3)
|
|
/* 8008D878 000896B8 B0 1E 00 60 */ sth r0, 0x60(r30)
|
|
.global lbl_8008D87C
|
|
lbl_8008D87C:
|
|
/* 8008D87C 000896BC 7F E3 FB 78 */ mr r3, r31
|
|
/* 8008D880 000896C0 38 80 02 03 */ li r4, 0x203
|
|
/* 8008D884 000896C4 48 00 F3 45 */ bl SDP_FindAttributeInRec
|
|
/* 8008D888 000896C8 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 8008D88C 000896CC 41 82 00 0C */ beq lbl_8008D898
|
|
/* 8008D890 000896D0 88 03 00 08 */ lbz r0, 0x8(r3)
|
|
/* 8008D894 000896D4 98 1E 00 65 */ stb r0, 0x65(r30)
|
|
.global lbl_8008D898
|
|
lbl_8008D898:
|
|
/* 8008D898 000896D8 7F E3 FB 78 */ mr r3, r31
|
|
/* 8008D89C 000896DC 38 80 02 02 */ li r4, 0x202
|
|
/* 8008D8A0 000896E0 48 00 F3 29 */ bl SDP_FindAttributeInRec
|
|
/* 8008D8A4 000896E4 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 8008D8A8 000896E8 41 82 00 0C */ beq lbl_8008D8B4
|
|
/* 8008D8AC 000896EC 88 03 00 08 */ lbz r0, 0x8(r3)
|
|
/* 8008D8B0 000896F0 98 1E 00 64 */ stb r0, 0x64(r30)
|
|
.global lbl_8008D8B4
|
|
lbl_8008D8B4:
|
|
/* 8008D8B4 000896F4 7F E3 FB 78 */ mr r3, r31
|
|
/* 8008D8B8 000896F8 38 80 02 01 */ li r4, 0x201
|
|
/* 8008D8BC 000896FC 48 00 F3 0D */ bl SDP_FindAttributeInRec
|
|
/* 8008D8C0 00089700 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 8008D8C4 00089704 41 82 00 0C */ beq lbl_8008D8D0
|
|
/* 8008D8C8 00089708 A0 03 00 08 */ lhz r0, 0x8(r3)
|
|
/* 8008D8CC 0008970C B0 1E 00 62 */ sth r0, 0x62(r30)
|
|
.global lbl_8008D8D0
|
|
lbl_8008D8D0:
|
|
/* 8008D8D0 00089710 7F E3 FB 78 */ mr r3, r31
|
|
/* 8008D8D4 00089714 38 80 02 0C */ li r4, 0x20c
|
|
/* 8008D8D8 00089718 48 00 F2 F1 */ bl SDP_FindAttributeInRec
|
|
/* 8008D8DC 0008971C 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 8008D8E0 00089720 41 82 00 14 */ beq lbl_8008D8F4
|
|
/* 8008D8E4 00089724 A0 03 00 08 */ lhz r0, 0x8(r3)
|
|
/* 8008D8E8 00089728 63 A3 00 40 */ ori r3, r29, 0x40
|
|
/* 8008D8EC 0008972C 54 7D 04 3E */ clrlwi r29, r3, 16
|
|
/* 8008D8F0 00089730 B0 1E 00 66 */ sth r0, 0x66(r30)
|
|
.global lbl_8008D8F4
|
|
lbl_8008D8F4:
|
|
/* 8008D8F4 00089734 3C C0 80 50 */ lis r6, hh_cb@ha
|
|
/* 8008D8F8 00089738 57 A4 04 3E */ clrlwi r4, r29, 16
|
|
/* 8008D8FC 0008973C 38 C6 8C 18 */ addi r6, r6, hh_cb@l
|
|
/* 8008D900 00089740 38 60 00 00 */ li r3, 0x0
|
|
/* 8008D904 00089744 81 86 03 84 */ lwz r12, 0x384(r6)
|
|
/* 8008D908 00089748 38 A6 03 8C */ addi r5, r6, 0x38c
|
|
/* 8008D90C 0008974C 93 E6 03 FC */ stw r31, 0x3fc(r6)
|
|
/* 8008D910 00089750 7D 89 03 A6 */ mtctr r12
|
|
/* 8008D914 00089754 4E 80 04 21 */ bctrl
|
|
.global lbl_8008D918
|
|
lbl_8008D918:
|
|
/* 8008D918 00089758 80 01 00 34 */ lwz r0, 0x34(r1)
|
|
/* 8008D91C 0008975C 83 E1 00 2C */ lwz r31, 0x2c(r1)
|
|
/* 8008D920 00089760 83 C1 00 28 */ lwz r30, 0x28(r1)
|
|
/* 8008D924 00089764 83 A1 00 24 */ lwz r29, 0x24(r1)
|
|
/* 8008D928 00089768 83 81 00 20 */ lwz r28, 0x20(r1)
|
|
/* 8008D92C 0008976C 7C 08 03 A6 */ mtlr r0
|
|
/* 8008D930 00089770 38 21 00 30 */ addi r1, r1, 0x30
|
|
/* 8008D934 00089774 4E 80 00 20 */ blr
|
|
.global HID_HostInit
|
|
HID_HostInit:
|
|
/* 8008D938 00089778 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
/* 8008D93C 0008977C 7C 08 02 A6 */ mflr r0
|
|
/* 8008D940 00089780 38 80 00 00 */ li r4, 0x0
|
|
/* 8008D944 00089784 38 A0 04 04 */ li r5, 0x404
|
|
/* 8008D948 00089788 90 01 00 14 */ stw r0, 0x14(r1)
|
|
/* 8008D94C 0008978C 93 E1 00 0C */ stw r31, 0xc(r1)
|
|
/* 8008D950 00089790 3F E0 80 50 */ lis r31, hh_cb@ha
|
|
/* 8008D954 00089794 38 7F 8C 18 */ addi r3, r31, hh_cb@l
|
|
/* 8008D958 00089798 4B F7 69 F9 */ bl memset
|
|
/* 8008D95C 0008979C 38 7F 8C 18 */ addi r3, r31, -0x73e8
|
|
/* 8008D960 000897A0 38 00 00 00 */ li r0, 0x0
|
|
/* 8008D964 000897A4 98 03 04 01 */ stb r0, 0x401(r3)
|
|
/* 8008D968 000897A8 83 E1 00 0C */ lwz r31, 0xc(r1)
|
|
/* 8008D96C 000897AC 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
/* 8008D970 000897B0 7C 08 03 A6 */ mtlr r0
|
|
/* 8008D974 000897B4 38 21 00 10 */ addi r1, r1, 0x10
|
|
/* 8008D978 000897B8 4E 80 00 20 */ blr
|
|
.global HID_HostRegister
|
|
HID_HostRegister:
|
|
/* 8008D97C 000897BC 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
/* 8008D980 000897C0 7C 08 02 A6 */ mflr r0
|
|
/* 8008D984 000897C4 90 01 00 14 */ stw r0, 0x14(r1)
|
|
/* 8008D988 000897C8 93 E1 00 0C */ stw r31, 0xc(r1)
|
|
/* 8008D98C 000897CC 3F E0 80 50 */ lis r31, hh_cb@ha
|
|
/* 8008D990 000897D0 3B FF 8C 18 */ addi r31, r31, hh_cb@l
|
|
/* 8008D994 000897D4 93 C1 00 08 */ stw r30, 0x8(r1)
|
|
/* 8008D998 000897D8 7C 7E 1B 78 */ mr r30, r3
|
|
/* 8008D99C 000897DC 88 1F 04 00 */ lbz r0, 0x400(r31)
|
|
/* 8008D9A0 000897E0 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 8008D9A4 000897E4 41 82 00 0C */ beq lbl_8008D9B0
|
|
/* 8008D9A8 000897E8 38 60 00 02 */ li r3, 0x2
|
|
/* 8008D9AC 000897EC 48 00 00 34 */ b lbl_8008D9E0
|
|
.global lbl_8008D9B0
|
|
lbl_8008D9B0:
|
|
/* 8008D9B0 000897F0 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 8008D9B4 000897F4 40 82 00 0C */ bne lbl_8008D9C0
|
|
/* 8008D9B8 000897F8 38 60 00 05 */ li r3, 0x5
|
|
/* 8008D9BC 000897FC 48 00 00 24 */ b lbl_8008D9E0
|
|
.global lbl_8008D9C0
|
|
lbl_8008D9C0:
|
|
/* 8008D9C0 00089800 48 00 07 E1 */ bl hidh_conn_reg
|
|
/* 8008D9C4 00089804 54 60 06 3F */ clrlwi. r0, r3, 24
|
|
/* 8008D9C8 00089808 41 82 00 08 */ beq lbl_8008D9D0
|
|
/* 8008D9CC 0008980C 48 00 00 14 */ b lbl_8008D9E0
|
|
.global lbl_8008D9D0
|
|
lbl_8008D9D0:
|
|
/* 8008D9D0 00089810 38 00 00 01 */ li r0, 0x1
|
|
/* 8008D9D4 00089814 93 DF 03 40 */ stw r30, 0x340(r31)
|
|
/* 8008D9D8 00089818 38 60 00 00 */ li r3, 0x0
|
|
/* 8008D9DC 0008981C 98 1F 04 00 */ stb r0, 0x400(r31)
|
|
.global lbl_8008D9E0
|
|
lbl_8008D9E0:
|
|
/* 8008D9E0 00089820 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
/* 8008D9E4 00089824 83 E1 00 0C */ lwz r31, 0xc(r1)
|
|
/* 8008D9E8 00089828 83 C1 00 08 */ lwz r30, 0x8(r1)
|
|
/* 8008D9EC 0008982C 7C 08 03 A6 */ mtlr r0
|
|
/* 8008D9F0 00089830 38 21 00 10 */ addi r1, r1, 0x10
|
|
/* 8008D9F4 00089834 4E 80 00 20 */ blr
|
|
.global HID_HostDeregister
|
|
HID_HostDeregister:
|
|
/* 8008D9F8 00089838 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
/* 8008D9FC 0008983C 7C 08 02 A6 */ mflr r0
|
|
/* 8008DA00 00089840 90 01 00 24 */ stw r0, 0x24(r1)
|
|
/* 8008DA04 00089844 39 61 00 20 */ addi r11, r1, 0x20
|
|
/* 8008DA08 00089848 4B F7 99 35 */ bl lbl_8000733C
|
|
/* 8008DA0C 0008984C 3C 60 80 50 */ lis r3, hh_cb@ha
|
|
/* 8008DA10 00089850 3B A3 8C 18 */ addi r29, r3, hh_cb@l
|
|
/* 8008DA14 00089854 88 1D 04 00 */ lbz r0, 0x400(r29)
|
|
/* 8008DA18 00089858 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 8008DA1C 0008985C 40 82 00 0C */ bne lbl_8008DA28
|
|
/* 8008DA20 00089860 38 60 00 01 */ li r3, 0x1
|
|
/* 8008DA24 00089864 48 00 00 A0 */ b lbl_8008DAC4
|
|
.global lbl_8008DA28
|
|
lbl_8008DA28:
|
|
/* 8008DA28 00089868 3B 60 00 00 */ li r27, 0x0
|
|
/* 8008DA2C 0008986C 3B C0 00 01 */ li r30, 0x1
|
|
/* 8008DA30 00089870 3B E0 00 00 */ li r31, 0x0
|
|
.global lbl_8008DA34
|
|
lbl_8008DA34:
|
|
/* 8008DA34 00089874 88 1D 04 00 */ lbz r0, 0x400(r29)
|
|
/* 8008DA38 00089878 2F 00 00 00 */ cmpwi cr6, r0, 0x0
|
|
/* 8008DA3C 0008987C 41 9A 00 64 */ beq cr6, lbl_8008DAA0
|
|
/* 8008DA40 00089880 57 60 06 3E */ clrlwi r0, r27, 24
|
|
/* 8008DA44 00089884 28 80 00 10 */ cmplwi cr1, r0, 0x10
|
|
/* 8008DA48 00089888 41 85 00 58 */ bgt cr1, lbl_8008DAA0
|
|
/* 8008DA4C 0008988C 1C 00 00 34 */ mulli r0, r0, 0x34
|
|
/* 8008DA50 00089890 7F 9D 02 14 */ add r28, r29, r0
|
|
/* 8008DA54 00089894 7C 1D 00 AE */ lbzx r0, r29, r0
|
|
/* 8008DA58 00089898 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 8008DA5C 0008989C 41 82 00 44 */ beq lbl_8008DAA0
|
|
/* 8008DA60 000898A0 41 9A 00 30 */ beq cr6, lbl_8008DA90
|
|
/* 8008DA64 000898A4 41 85 00 2C */ bgt cr1, lbl_8008DA90
|
|
/* 8008DA68 000898A8 41 82 00 28 */ beq lbl_8008DA90
|
|
/* 8008DA6C 000898AC 9B DC 00 0C */ stb r30, 0xc(r28)
|
|
/* 8008DA70 000898B0 38 7C 00 1C */ addi r3, r28, 0x1c
|
|
/* 8008DA74 000898B4 4B FE A4 AD */ bl btu_stop_timer
|
|
/* 8008DA78 000898B8 88 1C 00 0A */ lbz r0, 0xa(r28)
|
|
/* 8008DA7C 000898BC 28 00 00 01 */ cmplwi r0, 0x1
|
|
/* 8008DA80 000898C0 40 82 00 10 */ bne lbl_8008DA90
|
|
/* 8008DA84 000898C4 9B DC 00 0C */ stb r30, 0xc(r28)
|
|
/* 8008DA88 000898C8 57 63 06 3E */ clrlwi r3, r27, 24
|
|
/* 8008DA8C 000898CC 48 00 08 6D */ bl hidh_conn_disconnect
|
|
.global lbl_8008DA90
|
|
lbl_8008DA90:
|
|
/* 8008DA90 000898D0 9B FC 00 00 */ stb r31, 0x0(r28)
|
|
/* 8008DA94 000898D4 9B FC 00 10 */ stb r31, 0x10(r28)
|
|
/* 8008DA98 000898D8 B3 FC 00 16 */ sth r31, 0x16(r28)
|
|
/* 8008DA9C 000898DC B3 FC 00 14 */ sth r31, 0x14(r28)
|
|
.global lbl_8008DAA0
|
|
lbl_8008DAA0:
|
|
/* 8008DAA0 000898E0 3B 7B 00 01 */ addi r27, r27, 0x1
|
|
/* 8008DAA4 000898E4 28 1B 00 10 */ cmplwi r27, 0x10
|
|
/* 8008DAA8 000898E8 41 80 FF 8C */ blt lbl_8008DA34
|
|
/* 8008DAAC 000898EC 48 00 27 09 */ bl hidh_conn_dereg
|
|
/* 8008DAB0 000898F0 3C 80 80 50 */ lis r4, hh_cb@ha
|
|
/* 8008DAB4 000898F4 38 00 00 00 */ li r0, 0x0
|
|
/* 8008DAB8 000898F8 38 84 8C 18 */ addi r4, r4, hh_cb@l
|
|
/* 8008DABC 000898FC 38 60 00 00 */ li r3, 0x0
|
|
/* 8008DAC0 00089900 98 04 04 00 */ stb r0, 0x400(r4)
|
|
.global lbl_8008DAC4
|
|
lbl_8008DAC4:
|
|
/* 8008DAC4 00089904 39 61 00 20 */ addi r11, r1, 0x20
|
|
/* 8008DAC8 00089908 4B F7 98 C1 */ bl lbl_80007388
|
|
/* 8008DACC 0008990C 80 01 00 24 */ lwz r0, 0x24(r1)
|
|
/* 8008DAD0 00089910 7C 08 03 A6 */ mtlr r0
|
|
/* 8008DAD4 00089914 38 21 00 20 */ addi r1, r1, 0x20
|
|
/* 8008DAD8 00089918 4E 80 00 20 */ blr
|
|
.global HID_HostAddDev
|
|
HID_HostAddDev:
|
|
/* 8008DADC 0008991C 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
/* 8008DAE0 00089920 7C 08 02 A6 */ mflr r0
|
|
/* 8008DAE4 00089924 90 01 00 24 */ stw r0, 0x24(r1)
|
|
/* 8008DAE8 00089928 39 61 00 20 */ addi r11, r1, 0x20
|
|
/* 8008DAEC 0008992C 4B F7 98 4D */ bl lbl_80007338
|
|
/* 8008DAF0 00089930 3F E0 80 50 */ lis r31, hh_cb@ha
|
|
/* 8008DAF4 00089934 7C 7A 1B 78 */ mr r26, r3
|
|
/* 8008DAF8 00089938 3B FF 8C 18 */ addi r31, r31, hh_cb@l
|
|
/* 8008DAFC 0008993C 7C 9B 23 78 */ mr r27, r4
|
|
/* 8008DB00 00089940 88 1F 04 00 */ lbz r0, 0x400(r31)
|
|
/* 8008DB04 00089944 7C BC 2B 78 */ mr r28, r5
|
|
/* 8008DB08 00089948 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 8008DB0C 0008994C 40 82 00 0C */ bne lbl_8008DB18
|
|
/* 8008DB10 00089950 38 60 00 01 */ li r3, 0x1
|
|
/* 8008DB14 00089954 48 00 01 40 */ b lbl_8008DC54
|
|
.global lbl_8008DB18
|
|
lbl_8008DB18:
|
|
/* 8008DB18 00089958 3B A0 00 00 */ li r29, 0x0
|
|
.global lbl_8008DB1C
|
|
lbl_8008DB1C:
|
|
/* 8008DB1C 0008995C 7F 43 D3 78 */ mr r3, r26
|
|
/* 8008DB20 00089960 38 9F 00 01 */ addi r4, r31, 0x1
|
|
/* 8008DB24 00089964 38 A0 00 06 */ li r5, 0x6
|
|
/* 8008DB28 00089968 4B F7 D3 49 */ bl memcmp
|
|
/* 8008DB2C 0008996C 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 8008DB30 00089970 41 82 00 14 */ beq lbl_8008DB44
|
|
/* 8008DB34 00089974 3B BD 00 01 */ addi r29, r29, 0x1
|
|
/* 8008DB38 00089978 3B FF 00 34 */ addi r31, r31, 0x34
|
|
/* 8008DB3C 0008997C 2C 1D 00 10 */ cmpwi r29, 0x10
|
|
/* 8008DB40 00089980 41 80 FF DC */ blt lbl_8008DB1C
|
|
.global lbl_8008DB44
|
|
lbl_8008DB44:
|
|
/* 8008DB44 00089984 2C 1D 00 10 */ cmpwi r29, 0x10
|
|
/* 8008DB48 00089988 40 82 00 A0 */ bne lbl_8008DBE8
|
|
/* 8008DB4C 0008998C 3C 60 80 50 */ lis r3, hh_cb@ha
|
|
/* 8008DB50 00089990 38 00 00 02 */ li r0, 0x2
|
|
/* 8008DB54 00089994 38 63 8C 18 */ addi r3, r3, hh_cb@l
|
|
/* 8008DB58 00089998 3B A0 00 00 */ li r29, 0x0
|
|
/* 8008DB5C 0008999C 7C 09 03 A6 */ mtctr r0
|
|
.global lbl_8008DB60
|
|
lbl_8008DB60:
|
|
/* 8008DB60 000899A0 88 03 00 00 */ lbz r0, 0x0(r3)
|
|
/* 8008DB64 000899A4 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 8008DB68 000899A8 41 82 00 80 */ beq lbl_8008DBE8
|
|
/* 8008DB6C 000899AC 88 03 00 34 */ lbz r0, 0x34(r3)
|
|
/* 8008DB70 000899B0 3B BD 00 01 */ addi r29, r29, 0x1
|
|
/* 8008DB74 000899B4 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 8008DB78 000899B8 41 82 00 70 */ beq lbl_8008DBE8
|
|
/* 8008DB7C 000899BC 88 03 00 68 */ lbz r0, 0x68(r3)
|
|
/* 8008DB80 000899C0 3B BD 00 01 */ addi r29, r29, 0x1
|
|
/* 8008DB84 000899C4 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 8008DB88 000899C8 41 82 00 60 */ beq lbl_8008DBE8
|
|
/* 8008DB8C 000899CC 88 03 00 9C */ lbz r0, 0x9c(r3)
|
|
/* 8008DB90 000899D0 3B BD 00 01 */ addi r29, r29, 0x1
|
|
/* 8008DB94 000899D4 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 8008DB98 000899D8 41 82 00 50 */ beq lbl_8008DBE8
|
|
/* 8008DB9C 000899DC 88 03 00 D0 */ lbz r0, 0xd0(r3)
|
|
/* 8008DBA0 000899E0 3B BD 00 01 */ addi r29, r29, 0x1
|
|
/* 8008DBA4 000899E4 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 8008DBA8 000899E8 41 82 00 40 */ beq lbl_8008DBE8
|
|
/* 8008DBAC 000899EC 88 03 01 04 */ lbz r0, 0x104(r3)
|
|
/* 8008DBB0 000899F0 3B BD 00 01 */ addi r29, r29, 0x1
|
|
/* 8008DBB4 000899F4 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 8008DBB8 000899F8 41 82 00 30 */ beq lbl_8008DBE8
|
|
/* 8008DBBC 000899FC 88 03 01 38 */ lbz r0, 0x138(r3)
|
|
/* 8008DBC0 00089A00 3B BD 00 01 */ addi r29, r29, 0x1
|
|
/* 8008DBC4 00089A04 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 8008DBC8 00089A08 41 82 00 20 */ beq lbl_8008DBE8
|
|
/* 8008DBCC 00089A0C 88 03 01 6C */ lbz r0, 0x16c(r3)
|
|
/* 8008DBD0 00089A10 3B BD 00 01 */ addi r29, r29, 0x1
|
|
/* 8008DBD4 00089A14 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 8008DBD8 00089A18 41 82 00 10 */ beq lbl_8008DBE8
|
|
/* 8008DBDC 00089A1C 38 63 01 A0 */ addi r3, r3, 0x1a0
|
|
/* 8008DBE0 00089A20 3B BD 00 01 */ addi r29, r29, 0x1
|
|
/* 8008DBE4 00089A24 42 00 FF 7C */ bdnz lbl_8008DB60
|
|
.global lbl_8008DBE8
|
|
lbl_8008DBE8:
|
|
/* 8008DBE8 00089A28 2C 1D 00 10 */ cmpwi r29, 0x10
|
|
/* 8008DBEC 00089A2C 40 82 00 0C */ bne lbl_8008DBF8
|
|
/* 8008DBF0 00089A30 38 60 00 03 */ li r3, 0x3
|
|
/* 8008DBF4 00089A34 48 00 00 60 */ b lbl_8008DC54
|
|
.global lbl_8008DBF8
|
|
lbl_8008DBF8:
|
|
/* 8008DBF8 00089A38 1F DD 00 34 */ mulli r30, r29, 0x34
|
|
/* 8008DBFC 00089A3C 3F E0 80 50 */ lis r31, hh_cb@ha
|
|
/* 8008DC00 00089A40 3B FF 8C 18 */ addi r31, r31, hh_cb@l
|
|
/* 8008DC04 00089A44 7C 1F F0 AE */ lbzx r0, r31, r30
|
|
/* 8008DC08 00089A48 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 8008DC0C 00089A4C 40 82 00 30 */ bne lbl_8008DC3C
|
|
/* 8008DC10 00089A50 38 00 00 01 */ li r0, 0x1
|
|
/* 8008DC14 00089A54 7C 7F F2 14 */ add r3, r31, r30
|
|
/* 8008DC18 00089A58 7C 1F F1 AE */ stbx r0, r31, r30
|
|
/* 8008DC1C 00089A5C 7F 44 D3 78 */ mr r4, r26
|
|
/* 8008DC20 00089A60 38 63 00 01 */ addi r3, r3, 0x1
|
|
/* 8008DC24 00089A64 38 A0 00 06 */ li r5, 0x6
|
|
/* 8008DC28 00089A68 4B F7 63 D9 */ bl memcpy
|
|
/* 8008DC2C 00089A6C 7C 7F F2 14 */ add r3, r31, r30
|
|
/* 8008DC30 00089A70 38 00 00 00 */ li r0, 0x0
|
|
/* 8008DC34 00089A74 98 03 00 0A */ stb r0, 0xa(r3)
|
|
/* 8008DC38 00089A78 98 03 00 0C */ stb r0, 0xc(r3)
|
|
.global lbl_8008DC3C
|
|
lbl_8008DC3C:
|
|
/* 8008DC3C 00089A7C 3C 80 80 50 */ lis r4, hh_cb@ha
|
|
/* 8008DC40 00089A80 38 60 00 00 */ li r3, 0x0
|
|
/* 8008DC44 00089A84 38 84 8C 18 */ addi r4, r4, hh_cb@l
|
|
/* 8008DC48 00089A88 7C 84 F2 14 */ add r4, r4, r30
|
|
/* 8008DC4C 00089A8C B3 64 00 08 */ sth r27, 0x8(r4)
|
|
/* 8008DC50 00089A90 9B BC 00 00 */ stb r29, 0x0(r28)
|
|
.global lbl_8008DC54
|
|
lbl_8008DC54:
|
|
/* 8008DC54 00089A94 39 61 00 20 */ addi r11, r1, 0x20
|
|
/* 8008DC58 00089A98 4B F7 97 2D */ bl lbl_80007384
|
|
/* 8008DC5C 00089A9C 80 01 00 24 */ lwz r0, 0x24(r1)
|
|
/* 8008DC60 00089AA0 7C 08 03 A6 */ mtlr r0
|
|
/* 8008DC64 00089AA4 38 21 00 20 */ addi r1, r1, 0x20
|
|
/* 8008DC68 00089AA8 4E 80 00 20 */ blr
|
|
.global HID_HostRemoveDev
|
|
HID_HostRemoveDev:
|
|
/* 8008DC6C 00089AAC 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
/* 8008DC70 00089AB0 7C 08 02 A6 */ mflr r0
|
|
/* 8008DC74 00089AB4 90 01 00 24 */ stw r0, 0x24(r1)
|
|
/* 8008DC78 00089AB8 39 61 00 20 */ addi r11, r1, 0x20
|
|
/* 8008DC7C 00089ABC 4B F7 96 C1 */ bl lbl_8000733C
|
|
/* 8008DC80 00089AC0 3F C0 80 50 */ lis r30, hh_cb@ha
|
|
/* 8008DC84 00089AC4 7C 7B 1B 78 */ mr r27, r3
|
|
/* 8008DC88 00089AC8 3B DE 8C 18 */ addi r30, r30, hh_cb@l
|
|
/* 8008DC8C 00089ACC 88 1E 04 00 */ lbz r0, 0x400(r30)
|
|
/* 8008DC90 00089AD0 2F 00 00 00 */ cmpwi cr6, r0, 0x0
|
|
/* 8008DC94 00089AD4 40 9A 00 0C */ bne cr6, lbl_8008DCA0
|
|
/* 8008DC98 00089AD8 38 60 00 01 */ li r3, 0x1
|
|
/* 8008DC9C 00089ADC 48 00 00 80 */ b lbl_8008DD1C
|
|
.global lbl_8008DCA0
|
|
lbl_8008DCA0:
|
|
/* 8008DCA0 00089AE0 28 83 00 10 */ cmplwi cr1, r3, 0x10
|
|
/* 8008DCA4 00089AE4 41 85 00 18 */ bgt cr1, lbl_8008DCBC
|
|
/* 8008DCA8 00089AE8 1F 83 00 34 */ mulli r28, r3, 0x34
|
|
/* 8008DCAC 00089AEC 7C 1E E0 AE */ lbzx r0, r30, r28
|
|
/* 8008DCB0 00089AF0 7F BE E2 14 */ add r29, r30, r28
|
|
/* 8008DCB4 00089AF4 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 8008DCB8 00089AF8 40 82 00 0C */ bne lbl_8008DCC4
|
|
.global lbl_8008DCBC
|
|
lbl_8008DCBC:
|
|
/* 8008DCBC 00089AFC 38 60 00 05 */ li r3, 0x5
|
|
/* 8008DCC0 00089B00 48 00 00 5C */ b lbl_8008DD1C
|
|
.global lbl_8008DCC4
|
|
lbl_8008DCC4:
|
|
/* 8008DCC4 00089B04 41 9A 00 34 */ beq cr6, lbl_8008DCF8
|
|
/* 8008DCC8 00089B08 41 85 00 30 */ bgt cr1, lbl_8008DCF8
|
|
/* 8008DCCC 00089B0C 41 82 00 2C */ beq lbl_8008DCF8
|
|
/* 8008DCD0 00089B10 3B E0 00 01 */ li r31, 0x1
|
|
/* 8008DCD4 00089B14 38 7D 00 1C */ addi r3, r29, 0x1c
|
|
/* 8008DCD8 00089B18 9B FD 00 0C */ stb r31, 0xc(r29)
|
|
/* 8008DCDC 00089B1C 4B FE A2 45 */ bl btu_stop_timer
|
|
/* 8008DCE0 00089B20 88 1D 00 0A */ lbz r0, 0xa(r29)
|
|
/* 8008DCE4 00089B24 28 00 00 01 */ cmplwi r0, 0x1
|
|
/* 8008DCE8 00089B28 40 82 00 10 */ bne lbl_8008DCF8
|
|
/* 8008DCEC 00089B2C 9B FD 00 0C */ stb r31, 0xc(r29)
|
|
/* 8008DCF0 00089B30 7F 63 DB 78 */ mr r3, r27
|
|
/* 8008DCF4 00089B34 48 00 06 05 */ bl hidh_conn_disconnect
|
|
.global lbl_8008DCF8
|
|
lbl_8008DCF8:
|
|
/* 8008DCF8 00089B38 38 00 00 00 */ li r0, 0x0
|
|
/* 8008DCFC 00089B3C 3C 60 80 50 */ lis r3, hh_cb@ha
|
|
/* 8008DD00 00089B40 38 63 8C 18 */ addi r3, r3, hh_cb@l
|
|
/* 8008DD04 00089B44 98 1D 00 00 */ stb r0, 0x0(r29)
|
|
/* 8008DD08 00089B48 7C 83 E2 14 */ add r4, r3, r28
|
|
/* 8008DD0C 00089B4C 98 04 00 10 */ stb r0, 0x10(r4)
|
|
/* 8008DD10 00089B50 38 60 00 00 */ li r3, 0x0
|
|
/* 8008DD14 00089B54 B0 04 00 16 */ sth r0, 0x16(r4)
|
|
/* 8008DD18 00089B58 B0 04 00 14 */ sth r0, 0x14(r4)
|
|
.global lbl_8008DD1C
|
|
lbl_8008DD1C:
|
|
/* 8008DD1C 00089B5C 39 61 00 20 */ addi r11, r1, 0x20
|
|
/* 8008DD20 00089B60 4B F7 96 69 */ bl lbl_80007388
|
|
/* 8008DD24 00089B64 80 01 00 24 */ lwz r0, 0x24(r1)
|
|
/* 8008DD28 00089B68 7C 08 03 A6 */ mtlr r0
|
|
/* 8008DD2C 00089B6C 38 21 00 20 */ addi r1, r1, 0x20
|
|
/* 8008DD30 00089B70 4E 80 00 20 */ blr
|
|
.global HID_HostOpenDev
|
|
HID_HostOpenDev:
|
|
/* 8008DD34 00089B74 3C 80 80 50 */ lis r4, hh_cb@ha
|
|
/* 8008DD38 00089B78 38 84 8C 18 */ addi r4, r4, hh_cb@l
|
|
/* 8008DD3C 00089B7C 88 04 04 00 */ lbz r0, 0x400(r4)
|
|
/* 8008DD40 00089B80 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 8008DD44 00089B84 40 82 00 0C */ bne lbl_8008DD50
|
|
/* 8008DD48 00089B88 38 60 00 01 */ li r3, 0x1
|
|
/* 8008DD4C 00089B8C 4E 80 00 20 */ blr
|
|
.global lbl_8008DD50
|
|
lbl_8008DD50:
|
|
/* 8008DD50 00089B90 28 03 00 10 */ cmplwi r3, 0x10
|
|
/* 8008DD54 00089B94 41 81 00 14 */ bgt lbl_8008DD68
|
|
/* 8008DD58 00089B98 1C A3 00 34 */ mulli r5, r3, 0x34
|
|
/* 8008DD5C 00089B9C 7C 04 28 AE */ lbzx r0, r4, r5
|
|
/* 8008DD60 00089BA0 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 8008DD64 00089BA4 40 82 00 0C */ bne lbl_8008DD70
|
|
.global lbl_8008DD68
|
|
lbl_8008DD68:
|
|
/* 8008DD68 00089BA8 38 60 00 05 */ li r3, 0x5
|
|
/* 8008DD6C 00089BAC 4E 80 00 20 */ blr
|
|
.global lbl_8008DD70
|
|
lbl_8008DD70:
|
|
/* 8008DD70 00089BB0 7C 84 2A 14 */ add r4, r4, r5
|
|
/* 8008DD74 00089BB4 88 04 00 0A */ lbz r0, 0xa(r4)
|
|
/* 8008DD78 00089BB8 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 8008DD7C 00089BBC 41 82 00 0C */ beq lbl_8008DD88
|
|
/* 8008DD80 00089BC0 38 60 00 0A */ li r3, 0xa
|
|
/* 8008DD84 00089BC4 4E 80 00 20 */ blr
|
|
.global lbl_8008DD88
|
|
lbl_8008DD88:
|
|
/* 8008DD88 00089BC8 38 00 00 01 */ li r0, 0x1
|
|
/* 8008DD8C 00089BCC 98 04 00 0C */ stb r0, 0xc(r4)
|
|
/* 8008DD90 00089BD0 48 00 23 28 */ b hidh_conn_initiate
|
|
/* 8008DD94 00089BD4 4E 80 00 20 */ blr
|
|
.global HID_HostWriteDev
|
|
HID_HostWriteDev:
|
|
/* 8008DD98 00089BD8 94 21 FF D0 */ stwu r1, -0x30(r1)
|
|
/* 8008DD9C 00089BDC 7C 08 02 A6 */ mflr r0
|
|
/* 8008DDA0 00089BE0 90 01 00 34 */ stw r0, 0x34(r1)
|
|
/* 8008DDA4 00089BE4 39 61 00 30 */ addi r11, r1, 0x30
|
|
/* 8008DDA8 00089BE8 4B F7 95 89 */ bl lbl_80007330
|
|
/* 8008DDAC 00089BEC 3D 20 80 50 */ lis r9, hh_cb@ha
|
|
/* 8008DDB0 00089BF0 3F E0 80 44 */ lis r31, "@1051_8043D130"@ha
|
|
/* 8008DDB4 00089BF4 39 29 8C 18 */ addi r9, r9, hh_cb@l
|
|
/* 8008DDB8 00089BF8 7C 79 1B 78 */ mr r25, r3
|
|
/* 8008DDBC 00089BFC 88 09 04 00 */ lbz r0, 0x400(r9)
|
|
/* 8008DDC0 00089C00 7C 9A 23 78 */ mr r26, r4
|
|
/* 8008DDC4 00089C04 7C BB 2B 78 */ mr r27, r5
|
|
/* 8008DDC8 00089C08 7C DC 33 78 */ mr r28, r6
|
|
/* 8008DDCC 00089C0C 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 8008DDD0 00089C10 7C FD 3B 78 */ mr r29, r7
|
|
/* 8008DDD4 00089C14 7D 1E 43 78 */ mr r30, r8
|
|
/* 8008DDD8 00089C18 3B FF D1 30 */ addi r31, r31, "@1051_8043D130"@l
|
|
/* 8008DDDC 00089C1C 3B 00 00 00 */ li r24, 0x0
|
|
/* 8008DDE0 00089C20 40 82 00 20 */ bne lbl_8008DE00
|
|
/* 8008DDE4 00089C24 88 09 04 01 */ lbz r0, 0x401(r9)
|
|
/* 8008DDE8 00089C28 28 00 00 01 */ cmplwi r0, 0x1
|
|
/* 8008DDEC 00089C2C 41 80 00 10 */ blt lbl_8008DDFC
|
|
/* 8008DDF0 00089C30 38 9F 00 00 */ addi r4, r31, 0x0
|
|
/* 8008DDF4 00089C34 3C 60 00 1E */ lis r3, 0x1e
|
|
/* 8008DDF8 00089C38 4B FE 9B 69 */ bl LogMsg_0
|
|
.global lbl_8008DDFC
|
|
lbl_8008DDFC:
|
|
/* 8008DDFC 00089C3C 3B 00 00 01 */ li r24, 0x1
|
|
.global lbl_8008DE00
|
|
lbl_8008DE00:
|
|
/* 8008DE00 00089C40 28 19 00 10 */ cmplwi r25, 0x10
|
|
/* 8008DE04 00089C44 41 81 00 1C */ bgt lbl_8008DE20
|
|
/* 8008DE08 00089C48 1C 19 00 34 */ mulli r0, r25, 0x34
|
|
/* 8008DE0C 00089C4C 3C 60 80 50 */ lis r3, hh_cb@ha
|
|
/* 8008DE10 00089C50 38 63 8C 18 */ addi r3, r3, hh_cb@l
|
|
/* 8008DE14 00089C54 7C 03 00 AE */ lbzx r0, r3, r0
|
|
/* 8008DE18 00089C58 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 8008DE1C 00089C5C 40 82 00 28 */ bne lbl_8008DE44
|
|
.global lbl_8008DE20
|
|
lbl_8008DE20:
|
|
/* 8008DE20 00089C60 3C 60 80 50 */ lis r3, hh_cb@ha
|
|
/* 8008DE24 00089C64 38 63 8C 18 */ addi r3, r3, hh_cb@l
|
|
/* 8008DE28 00089C68 88 03 04 01 */ lbz r0, 0x401(r3)
|
|
/* 8008DE2C 00089C6C 28 00 00 01 */ cmplwi r0, 0x1
|
|
/* 8008DE30 00089C70 41 80 00 10 */ blt lbl_8008DE40
|
|
/* 8008DE34 00089C74 38 9F 00 18 */ addi r4, r31, 0x18
|
|
/* 8008DE38 00089C78 3C 60 00 1E */ lis r3, 0x1e
|
|
/* 8008DE3C 00089C7C 4B FE 9B 25 */ bl LogMsg_0
|
|
.global lbl_8008DE40
|
|
lbl_8008DE40:
|
|
/* 8008DE40 00089C80 3B 00 00 05 */ li r24, 0x5
|
|
.global lbl_8008DE44
|
|
lbl_8008DE44:
|
|
/* 8008DE44 00089C84 1C 19 00 34 */ mulli r0, r25, 0x34
|
|
/* 8008DE48 00089C88 3C 80 80 50 */ lis r4, hh_cb@ha
|
|
/* 8008DE4C 00089C8C 38 84 8C 18 */ addi r4, r4, hh_cb@l
|
|
/* 8008DE50 00089C90 7C 64 02 14 */ add r3, r4, r0
|
|
/* 8008DE54 00089C94 88 03 00 0A */ lbz r0, 0xa(r3)
|
|
/* 8008DE58 00089C98 28 00 00 01 */ cmplwi r0, 0x1
|
|
/* 8008DE5C 00089C9C 41 82 00 24 */ beq lbl_8008DE80
|
|
/* 8008DE60 00089CA0 88 04 04 01 */ lbz r0, 0x401(r4)
|
|
/* 8008DE64 00089CA4 28 00 00 01 */ cmplwi r0, 0x1
|
|
/* 8008DE68 00089CA8 41 80 00 14 */ blt lbl_8008DE7C
|
|
/* 8008DE6C 00089CAC 7F 25 CB 78 */ mr r5, r25
|
|
/* 8008DE70 00089CB0 38 9F 00 30 */ addi r4, r31, 0x30
|
|
/* 8008DE74 00089CB4 3C 60 00 1E */ lis r3, 0x1e
|
|
/* 8008DE78 00089CB8 4B FE 9A E9 */ bl LogMsg_0
|
|
.global lbl_8008DE7C
|
|
lbl_8008DE7C:
|
|
/* 8008DE7C 00089CBC 3B 00 00 04 */ li r24, 0x4
|
|
.global lbl_8008DE80
|
|
lbl_8008DE80:
|
|
/* 8008DE80 00089CC0 2C 18 00 00 */ cmpwi r24, 0x0
|
|
/* 8008DE84 00089CC4 41 82 00 18 */ beq lbl_8008DE9C
|
|
/* 8008DE88 00089CC8 2C 1E 00 00 */ cmpwi r30, 0x0
|
|
/* 8008DE8C 00089CCC 41 82 00 30 */ beq lbl_8008DEBC
|
|
/* 8008DE90 00089CD0 7F C3 F3 78 */ mr r3, r30
|
|
/* 8008DE94 00089CD4 4B FE 70 7D */ bl GKI_freebuf
|
|
/* 8008DE98 00089CD8 48 00 00 24 */ b lbl_8008DEBC
|
|
.global lbl_8008DE9C
|
|
lbl_8008DE9C:
|
|
/* 8008DE9C 00089CDC 7F 23 CB 78 */ mr r3, r25
|
|
/* 8008DEA0 00089CE0 7F 44 D3 78 */ mr r4, r26
|
|
/* 8008DEA4 00089CE4 7F 65 DB 78 */ mr r5, r27
|
|
/* 8008DEA8 00089CE8 7F 86 E3 78 */ mr r6, r28
|
|
/* 8008DEAC 00089CEC 7F A7 EB 78 */ mr r7, r29
|
|
/* 8008DEB0 00089CF0 7F C8 F3 78 */ mr r8, r30
|
|
/* 8008DEB4 00089CF4 48 00 1F 69 */ bl hidh_conn_snd_data
|
|
/* 8008DEB8 00089CF8 7C 78 1B 78 */ mr r24, r3
|
|
.global lbl_8008DEBC
|
|
lbl_8008DEBC:
|
|
/* 8008DEBC 00089CFC 39 61 00 30 */ addi r11, r1, 0x30
|
|
/* 8008DEC0 00089D00 7F 03 C3 78 */ mr r3, r24
|
|
/* 8008DEC4 00089D04 4B F7 94 B9 */ bl lbl_8000737C
|
|
/* 8008DEC8 00089D08 80 01 00 34 */ lwz r0, 0x34(r1)
|
|
/* 8008DECC 00089D0C 7C 08 03 A6 */ mtlr r0
|
|
/* 8008DED0 00089D10 38 21 00 30 */ addi r1, r1, 0x30
|
|
/* 8008DED4 00089D14 4E 80 00 20 */ blr
|
|
.global HID_HostCloseDev
|
|
HID_HostCloseDev:
|
|
/* 8008DED8 00089D18 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
/* 8008DEDC 00089D1C 7C 08 02 A6 */ mflr r0
|
|
/* 8008DEE0 00089D20 90 01 00 24 */ stw r0, 0x24(r1)
|
|
/* 8008DEE4 00089D24 39 61 00 20 */ addi r11, r1, 0x20
|
|
/* 8008DEE8 00089D28 4B F7 94 55 */ bl lbl_8000733C
|
|
/* 8008DEEC 00089D2C 3F C0 80 50 */ lis r30, hh_cb@ha
|
|
/* 8008DEF0 00089D30 7C 7B 1B 78 */ mr r27, r3
|
|
/* 8008DEF4 00089D34 3B DE 8C 18 */ addi r30, r30, hh_cb@l
|
|
/* 8008DEF8 00089D38 88 1E 04 00 */ lbz r0, 0x400(r30)
|
|
/* 8008DEFC 00089D3C 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 8008DF00 00089D40 40 82 00 0C */ bne lbl_8008DF0C
|
|
/* 8008DF04 00089D44 38 60 00 01 */ li r3, 0x1
|
|
/* 8008DF08 00089D48 48 00 00 58 */ b lbl_8008DF60
|
|
.global lbl_8008DF0C
|
|
lbl_8008DF0C:
|
|
/* 8008DF0C 00089D4C 28 03 00 10 */ cmplwi r3, 0x10
|
|
/* 8008DF10 00089D50 41 81 00 18 */ bgt lbl_8008DF28
|
|
/* 8008DF14 00089D54 1F 83 00 34 */ mulli r28, r3, 0x34
|
|
/* 8008DF18 00089D58 7C 1E E0 AE */ lbzx r0, r30, r28
|
|
/* 8008DF1C 00089D5C 7F BE E2 14 */ add r29, r30, r28
|
|
/* 8008DF20 00089D60 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 8008DF24 00089D64 40 82 00 0C */ bne lbl_8008DF30
|
|
.global lbl_8008DF28
|
|
lbl_8008DF28:
|
|
/* 8008DF28 00089D68 38 60 00 05 */ li r3, 0x5
|
|
/* 8008DF2C 00089D6C 48 00 00 34 */ b lbl_8008DF60
|
|
.global lbl_8008DF30
|
|
lbl_8008DF30:
|
|
/* 8008DF30 00089D70 3B E0 00 01 */ li r31, 0x1
|
|
/* 8008DF34 00089D74 38 7D 00 1C */ addi r3, r29, 0x1c
|
|
/* 8008DF38 00089D78 9B FD 00 0C */ stb r31, 0xc(r29)
|
|
/* 8008DF3C 00089D7C 4B FE 9F E5 */ bl btu_stop_timer
|
|
/* 8008DF40 00089D80 88 1D 00 0A */ lbz r0, 0xa(r29)
|
|
/* 8008DF44 00089D84 28 00 00 01 */ cmplwi r0, 0x1
|
|
/* 8008DF48 00089D88 41 82 00 0C */ beq lbl_8008DF54
|
|
/* 8008DF4C 00089D8C 38 60 00 04 */ li r3, 0x4
|
|
/* 8008DF50 00089D90 48 00 00 10 */ b lbl_8008DF60
|
|
.global lbl_8008DF54
|
|
lbl_8008DF54:
|
|
/* 8008DF54 00089D94 9B FD 00 0C */ stb r31, 0xc(r29)
|
|
/* 8008DF58 00089D98 7F 63 DB 78 */ mr r3, r27
|
|
/* 8008DF5C 00089D9C 48 00 03 9D */ bl hidh_conn_disconnect
|
|
.global lbl_8008DF60
|
|
lbl_8008DF60:
|
|
/* 8008DF60 00089DA0 39 61 00 20 */ addi r11, r1, 0x20
|
|
/* 8008DF64 00089DA4 4B F7 94 25 */ bl lbl_80007388
|
|
/* 8008DF68 00089DA8 80 01 00 24 */ lwz r0, 0x24(r1)
|
|
/* 8008DF6C 00089DAC 7C 08 03 A6 */ mtlr r0
|
|
/* 8008DF70 00089DB0 38 21 00 20 */ addi r1, r1, 0x20
|
|
/* 8008DF74 00089DB4 4E 80 00 20 */ blr
|
|
.global HID_HostSetSecurityLevel
|
|
HID_HostSetSecurityLevel:
|
|
/* 8008DF78 00089DB8 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
/* 8008DF7C 00089DBC 7C 08 02 A6 */ mflr r0
|
|
/* 8008DF80 00089DC0 38 A0 00 20 */ li r5, 0x20
|
|
/* 8008DF84 00089DC4 38 E0 00 11 */ li r7, 0x11
|
|
/* 8008DF88 00089DC8 90 01 00 24 */ stw r0, 0x24(r1)
|
|
/* 8008DF8C 00089DCC 39 00 00 06 */ li r8, 0x6
|
|
/* 8008DF90 00089DD0 39 20 00 01 */ li r9, 0x1
|
|
/* 8008DF94 00089DD4 93 E1 00 1C */ stw r31, 0x1c(r1)
|
|
/* 8008DF98 00089DD8 3F E0 80 44 */ lis r31, "@1051_8043D130"@ha
|
|
/* 8008DF9C 00089DDC 3B FF D1 30 */ addi r31, r31, "@1051_8043D130"@l
|
|
/* 8008DFA0 00089DE0 93 C1 00 18 */ stw r30, 0x18(r1)
|
|
/* 8008DFA4 00089DE4 7C 9E 23 78 */ mr r30, r4
|
|
/* 8008DFA8 00089DE8 7F C6 F3 78 */ mr r6, r30
|
|
/* 8008DFAC 00089DEC 93 A1 00 14 */ stw r29, 0x14(r1)
|
|
/* 8008DFB0 00089DF0 7C 7D 1B 78 */ mr r29, r3
|
|
/* 8008DFB4 00089DF4 38 60 00 00 */ li r3, 0x0
|
|
/* 8008DFB8 00089DF8 7F A4 EB 78 */ mr r4, r29
|
|
/* 8008DFBC 00089DFC 4B FF 74 79 */ bl BTM_SetSecurityLevel
|
|
/* 8008DFC0 00089E00 54 60 06 3F */ clrlwi. r0, r3, 24
|
|
/* 8008DFC4 00089E04 40 82 00 2C */ bne lbl_8008DFF0
|
|
/* 8008DFC8 00089E08 3C 60 80 50 */ lis r3, hh_cb@ha
|
|
/* 8008DFCC 00089E0C 38 63 8C 18 */ addi r3, r3, hh_cb@l
|
|
/* 8008DFD0 00089E10 88 03 04 01 */ lbz r0, 0x401(r3)
|
|
/* 8008DFD4 00089E14 28 00 00 01 */ cmplwi r0, 0x1
|
|
/* 8008DFD8 00089E18 41 80 00 10 */ blt lbl_8008DFE8
|
|
/* 8008DFDC 00089E1C 38 9F 00 54 */ addi r4, r31, 0x54
|
|
/* 8008DFE0 00089E20 3C 60 00 1E */ lis r3, 0x1e
|
|
/* 8008DFE4 00089E24 4B FE 99 7D */ bl LogMsg_0
|
|
.global lbl_8008DFE8
|
|
lbl_8008DFE8:
|
|
/* 8008DFE8 00089E28 38 60 00 03 */ li r3, 0x3
|
|
/* 8008DFEC 00089E2C 48 00 01 98 */ b lbl_8008E184
|
|
.global lbl_8008DFF0
|
|
lbl_8008DFF0:
|
|
/* 8008DFF0 00089E30 7F A4 EB 78 */ mr r4, r29
|
|
/* 8008DFF4 00089E34 7F C6 F3 78 */ mr r6, r30
|
|
/* 8008DFF8 00089E38 38 60 00 01 */ li r3, 0x1
|
|
/* 8008DFFC 00089E3C 38 A0 00 20 */ li r5, 0x20
|
|
/* 8008E000 00089E40 38 E0 00 11 */ li r7, 0x11
|
|
/* 8008E004 00089E44 39 00 00 06 */ li r8, 0x6
|
|
/* 8008E008 00089E48 39 20 00 01 */ li r9, 0x1
|
|
/* 8008E00C 00089E4C 4B FF 74 29 */ bl BTM_SetSecurityLevel
|
|
/* 8008E010 00089E50 54 60 06 3F */ clrlwi. r0, r3, 24
|
|
/* 8008E014 00089E54 40 82 00 2C */ bne lbl_8008E040
|
|
/* 8008E018 00089E58 3C 60 80 50 */ lis r3, hh_cb@ha
|
|
/* 8008E01C 00089E5C 38 63 8C 18 */ addi r3, r3, hh_cb@l
|
|
/* 8008E020 00089E60 88 03 04 01 */ lbz r0, 0x401(r3)
|
|
/* 8008E024 00089E64 28 00 00 01 */ cmplwi r0, 0x1
|
|
/* 8008E028 00089E68 41 80 00 10 */ blt lbl_8008E038
|
|
/* 8008E02C 00089E6C 38 9F 00 74 */ addi r4, r31, 0x74
|
|
/* 8008E030 00089E70 3C 60 00 1E */ lis r3, 0x1e
|
|
/* 8008E034 00089E74 4B FE 99 2D */ bl LogMsg_0
|
|
.global lbl_8008E038
|
|
lbl_8008E038:
|
|
/* 8008E038 00089E78 38 60 00 03 */ li r3, 0x3
|
|
/* 8008E03C 00089E7C 48 00 01 48 */ b lbl_8008E184
|
|
.global lbl_8008E040
|
|
lbl_8008E040:
|
|
/* 8008E040 00089E80 7F A4 EB 78 */ mr r4, r29
|
|
/* 8008E044 00089E84 38 60 00 00 */ li r3, 0x0
|
|
/* 8008E048 00089E88 38 A0 00 21 */ li r5, 0x21
|
|
/* 8008E04C 00089E8C 38 C0 00 00 */ li r6, 0x0
|
|
/* 8008E050 00089E90 38 E0 00 11 */ li r7, 0x11
|
|
/* 8008E054 00089E94 39 00 00 06 */ li r8, 0x6
|
|
/* 8008E058 00089E98 39 20 00 02 */ li r9, 0x2
|
|
/* 8008E05C 00089E9C 4B FF 73 D9 */ bl BTM_SetSecurityLevel
|
|
/* 8008E060 00089EA0 54 60 06 3F */ clrlwi. r0, r3, 24
|
|
/* 8008E064 00089EA4 40 82 00 2C */ bne lbl_8008E090
|
|
/* 8008E068 00089EA8 3C 60 80 50 */ lis r3, hh_cb@ha
|
|
/* 8008E06C 00089EAC 38 63 8C 18 */ addi r3, r3, hh_cb@l
|
|
/* 8008E070 00089EB0 88 03 04 01 */ lbz r0, 0x401(r3)
|
|
/* 8008E074 00089EB4 28 00 00 01 */ cmplwi r0, 0x1
|
|
/* 8008E078 00089EB8 41 80 00 10 */ blt lbl_8008E088
|
|
/* 8008E07C 00089EBC 38 9F 00 94 */ addi r4, r31, 0x94
|
|
/* 8008E080 00089EC0 3C 60 00 1E */ lis r3, 0x1e
|
|
/* 8008E084 00089EC4 4B FE 98 DD */ bl LogMsg_0
|
|
.global lbl_8008E088
|
|
lbl_8008E088:
|
|
/* 8008E088 00089EC8 38 60 00 03 */ li r3, 0x3
|
|
/* 8008E08C 00089ECC 48 00 00 F8 */ b lbl_8008E184
|
|
.global lbl_8008E090
|
|
lbl_8008E090:
|
|
/* 8008E090 00089ED0 7F A4 EB 78 */ mr r4, r29
|
|
/* 8008E094 00089ED4 38 60 00 01 */ li r3, 0x1
|
|
/* 8008E098 00089ED8 38 A0 00 21 */ li r5, 0x21
|
|
/* 8008E09C 00089EDC 38 C0 00 00 */ li r6, 0x0
|
|
/* 8008E0A0 00089EE0 38 E0 00 11 */ li r7, 0x11
|
|
/* 8008E0A4 00089EE4 39 00 00 06 */ li r8, 0x6
|
|
/* 8008E0A8 00089EE8 39 20 00 02 */ li r9, 0x2
|
|
/* 8008E0AC 00089EEC 4B FF 73 89 */ bl BTM_SetSecurityLevel
|
|
/* 8008E0B0 00089EF0 54 60 06 3F */ clrlwi. r0, r3, 24
|
|
/* 8008E0B4 00089EF4 40 82 00 2C */ bne lbl_8008E0E0
|
|
/* 8008E0B8 00089EF8 3C 60 80 50 */ lis r3, hh_cb@ha
|
|
/* 8008E0BC 00089EFC 38 63 8C 18 */ addi r3, r3, hh_cb@l
|
|
/* 8008E0C0 00089F00 88 03 04 01 */ lbz r0, 0x401(r3)
|
|
/* 8008E0C4 00089F04 28 00 00 01 */ cmplwi r0, 0x1
|
|
/* 8008E0C8 00089F08 41 80 00 10 */ blt lbl_8008E0D8
|
|
/* 8008E0CC 00089F0C 38 9F 00 B4 */ addi r4, r31, 0xb4
|
|
/* 8008E0D0 00089F10 3C 60 00 1E */ lis r3, 0x1e
|
|
/* 8008E0D4 00089F14 4B FE 98 8D */ bl LogMsg_0
|
|
.global lbl_8008E0D8
|
|
lbl_8008E0D8:
|
|
/* 8008E0D8 00089F18 38 60 00 03 */ li r3, 0x3
|
|
/* 8008E0DC 00089F1C 48 00 00 A8 */ b lbl_8008E184
|
|
.global lbl_8008E0E0
|
|
lbl_8008E0E0:
|
|
/* 8008E0E0 00089F20 7F A4 EB 78 */ mr r4, r29
|
|
/* 8008E0E4 00089F24 38 60 00 01 */ li r3, 0x1
|
|
/* 8008E0E8 00089F28 38 A0 00 22 */ li r5, 0x22
|
|
/* 8008E0EC 00089F2C 38 C0 00 00 */ li r6, 0x0
|
|
/* 8008E0F0 00089F30 38 E0 00 13 */ li r7, 0x13
|
|
/* 8008E0F4 00089F34 39 00 00 06 */ li r8, 0x6
|
|
/* 8008E0F8 00089F38 39 20 00 00 */ li r9, 0x0
|
|
/* 8008E0FC 00089F3C 4B FF 73 39 */ bl BTM_SetSecurityLevel
|
|
/* 8008E100 00089F40 54 60 06 3F */ clrlwi. r0, r3, 24
|
|
/* 8008E104 00089F44 40 82 00 2C */ bne lbl_8008E130
|
|
/* 8008E108 00089F48 3C 60 80 50 */ lis r3, hh_cb@ha
|
|
/* 8008E10C 00089F4C 38 63 8C 18 */ addi r3, r3, hh_cb@l
|
|
/* 8008E110 00089F50 88 03 04 01 */ lbz r0, 0x401(r3)
|
|
/* 8008E114 00089F54 28 00 00 01 */ cmplwi r0, 0x1
|
|
/* 8008E118 00089F58 41 80 00 10 */ blt lbl_8008E128
|
|
/* 8008E11C 00089F5C 38 9F 00 D4 */ addi r4, r31, 0xd4
|
|
/* 8008E120 00089F60 3C 60 00 1E */ lis r3, 0x1e
|
|
/* 8008E124 00089F64 4B FE 98 3D */ bl LogMsg_0
|
|
.global lbl_8008E128
|
|
lbl_8008E128:
|
|
/* 8008E128 00089F68 38 60 00 03 */ li r3, 0x3
|
|
/* 8008E12C 00089F6C 48 00 00 58 */ b lbl_8008E184
|
|
.global lbl_8008E130
|
|
lbl_8008E130:
|
|
/* 8008E130 00089F70 7F A4 EB 78 */ mr r4, r29
|
|
/* 8008E134 00089F74 38 60 00 00 */ li r3, 0x0
|
|
/* 8008E138 00089F78 38 A0 00 22 */ li r5, 0x22
|
|
/* 8008E13C 00089F7C 38 C0 00 00 */ li r6, 0x0
|
|
/* 8008E140 00089F80 38 E0 00 13 */ li r7, 0x13
|
|
/* 8008E144 00089F84 39 00 00 06 */ li r8, 0x6
|
|
/* 8008E148 00089F88 39 20 00 00 */ li r9, 0x0
|
|
/* 8008E14C 00089F8C 4B FF 72 E9 */ bl BTM_SetSecurityLevel
|
|
/* 8008E150 00089F90 54 60 06 3F */ clrlwi. r0, r3, 24
|
|
/* 8008E154 00089F94 40 82 00 2C */ bne lbl_8008E180
|
|
/* 8008E158 00089F98 3C 60 80 50 */ lis r3, hh_cb@ha
|
|
/* 8008E15C 00089F9C 38 63 8C 18 */ addi r3, r3, hh_cb@l
|
|
/* 8008E160 00089FA0 88 03 04 01 */ lbz r0, 0x401(r3)
|
|
/* 8008E164 00089FA4 28 00 00 01 */ cmplwi r0, 0x1
|
|
/* 8008E168 00089FA8 41 80 00 10 */ blt lbl_8008E178
|
|
/* 8008E16C 00089FAC 38 9F 00 F4 */ addi r4, r31, 0xf4
|
|
/* 8008E170 00089FB0 3C 60 00 1E */ lis r3, 0x1e
|
|
/* 8008E174 00089FB4 4B FE 97 ED */ bl LogMsg_0
|
|
.global lbl_8008E178
|
|
lbl_8008E178:
|
|
/* 8008E178 00089FB8 38 60 00 03 */ li r3, 0x3
|
|
/* 8008E17C 00089FBC 48 00 00 08 */ b lbl_8008E184
|
|
.global lbl_8008E180
|
|
lbl_8008E180:
|
|
/* 8008E180 00089FC0 38 60 00 00 */ li r3, 0x0
|
|
.global lbl_8008E184
|
|
lbl_8008E184:
|
|
/* 8008E184 00089FC4 80 01 00 24 */ lwz r0, 0x24(r1)
|
|
/* 8008E188 00089FC8 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
|
/* 8008E18C 00089FCC 83 C1 00 18 */ lwz r30, 0x18(r1)
|
|
/* 8008E190 00089FD0 83 A1 00 14 */ lwz r29, 0x14(r1)
|
|
/* 8008E194 00089FD4 7C 08 03 A6 */ mtlr r0
|
|
/* 8008E198 00089FD8 38 21 00 20 */ addi r1, r1, 0x20
|
|
/* 8008E19C 00089FDC 4E 80 00 20 */ blr
|
|
.include "macros.inc"
|
|
|
|
.section .data, "wa" # 0x80421040 - 0x80496700 ; 0x000756C0
|
|
.global "@1051_8043D130"
|
|
"@1051_8043D130":
|
|
|
|
.4byte 0x4849445F
|
|
.4byte 0x4552525F
|
|
.4byte 0x4E4F545F
|
|
.4byte 0x52454749
|
|
.4byte 0x53544552
|
|
.4byte 0x45440000
|
|
.4byte 0x4849445F
|
|
.4byte 0x4552525F
|
|
.4byte 0x494E5641
|
|
.4byte 0x4C49445F
|
|
.4byte 0x50415241
|
|
.4byte 0x4D000000
|
|
.4byte 0x4849445F
|
|
.4byte 0x4552525F
|
|
.4byte 0x4E4F5F43
|
|
.4byte 0x4F4E4E45
|
|
.4byte 0x4354494F
|
|
.4byte 0x4E206465
|
|
.4byte 0x765F6861
|
|
.4byte 0x6E646C65
|
|
.4byte 0x20256400
|
|
.4byte 0x53656375
|
|
.4byte 0x72697479
|
|
.4byte 0x20526567
|
|
.4byte 0x69737472
|
|
.4byte 0x6174696F
|
|
.4byte 0x6E203120
|
|
.4byte 0x6661696C
|
|
.4byte 0x65640000
|
|
.4byte 0x53656375
|
|
.4byte 0x72697479
|
|
.4byte 0x20526567
|
|
.4byte 0x69737472
|
|
.4byte 0x6174696F
|
|
.4byte 0x6E203220
|
|
.4byte 0x6661696C
|
|
.4byte 0x65640000
|
|
.4byte 0x53656375
|
|
.4byte 0x72697479
|
|
.4byte 0x20526567
|
|
.4byte 0x69737472
|
|
.4byte 0x6174696F
|
|
.4byte 0x6E203320
|
|
.4byte 0x6661696C
|
|
.4byte 0x65640000
|
|
.4byte 0x53656375
|
|
.4byte 0x72697479
|
|
.4byte 0x20526567
|
|
.4byte 0x69737472
|
|
.4byte 0x6174696F
|
|
.4byte 0x6E203420
|
|
.4byte 0x6661696C
|
|
.4byte 0x65640000
|
|
.4byte 0x53656375
|
|
.4byte 0x72697479
|
|
.4byte 0x20526567
|
|
.4byte 0x69737472
|
|
.4byte 0x6174696F
|
|
.4byte 0x6E203520
|
|
.4byte 0x6661696C
|
|
.4byte 0x65640000
|
|
.4byte 0x53656375
|
|
.4byte 0x72697479
|
|
.4byte 0x20526567
|
|
.4byte 0x69737472
|
|
.4byte 0x6174696F
|
|
.4byte 0x6E203620
|
|
.4byte 0x6661696C
|
|
.4byte 0x65640000
|
|
.4byte 0
|
|
.include "macros.inc"
|
|
|
|
.section .bss, "", @nobits # 0x80496700 - 0x80556420 ; 0x000BFD20
|
|
.global hh_cb
|
|
hh_cb:
|
|
.skip 0x408
|