.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global bta_hh_find_cb bta_hh_find_cb: /* 802C3080 002BECE0 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802C3084 002BECE4 7C 08 02 A6 */ mflr r0 /* 802C3088 002BECE8 90 01 00 24 */ stw r0, 0x24(r1) /* 802C308C 002BECEC 39 61 00 20 */ addi r11, r1, 0x20 /* 802C3090 002BECF0 4B F0 40 99 */ bl _savegpr_27 /* 802C3094 002BECF4 3F E0 80 57 */ lis r31, lbl_80568948@ha /* 802C3098 002BECF8 3F C0 80 44 */ lis r30, lbl_80440A00@ha /* 802C309C 002BECFC 7C 7B 1B 78 */ mr r27, r3 /* 802C30A0 002BED00 3B 80 00 00 */ li r28, 0 /* 802C30A4 002BED04 3B DE 0A 00 */ addi r30, r30, lbl_80440A00@l /* 802C30A8 002BED08 3B FF 89 48 */ addi r31, r31, lbl_80568948@l lbl_802C30AC: /* 802C30AC 002BED0C 57 9D 2C F4 */ rlwinm r29, r28, 5, 0x13, 0x1a /* 802C30B0 002BED10 7F 63 DB 78 */ mr r3, r27 /* 802C30B4 002BED14 7C 9F EA 14 */ add r4, r31, r29 /* 802C30B8 002BED18 38 84 00 18 */ addi r4, r4, 0x18 /* 802C30BC 002BED1C 4B FF A4 D9 */ bl bdcmp /* 802C30C0 002BED20 2C 03 00 00 */ cmpwi r3, 0 /* 802C30C4 002BED24 40 82 00 44 */ bne lbl_802C3108 /* 802C30C8 002BED28 7F 63 DB 78 */ mr r3, r27 /* 802C30CC 002BED2C 38 82 AA 28 */ addi r4, r2, lbl_80643028-_SDA2_BASE_ /* 802C30D0 002BED30 4B FF A4 C5 */ bl bdcmp /* 802C30D4 002BED34 2C 03 00 00 */ cmpwi r3, 0 /* 802C30D8 002BED38 41 82 00 30 */ beq lbl_802C3108 /* 802C30DC 002BED3C 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13) /* 802C30E0 002BED40 28 00 00 05 */ cmplwi r0, 5 /* 802C30E4 002BED44 41 80 00 1C */ blt lbl_802C3100 /* 802C30E8 002BED48 7C 7F EA 14 */ add r3, r31, r29 /* 802C30EC 002BED4C 38 9E 00 00 */ addi r4, r30, 0 /* 802C30F0 002BED50 88 C3 00 26 */ lbz r6, 0x26(r3) /* 802C30F4 002BED54 57 85 06 3E */ clrlwi r5, r28, 0x18 /* 802C30F8 002BED58 38 60 05 04 */ li r3, 0x504 /* 802C30FC 002BED5C 4B FF 9E 45 */ bl LogMsg_2 lbl_802C3100: /* 802C3100 002BED60 7F 83 E3 78 */ mr r3, r28 /* 802C3104 002BED64 48 00 00 A0 */ b lbl_802C31A4 lbl_802C3108: /* 802C3108 002BED68 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13) /* 802C310C 002BED6C 28 00 00 05 */ cmplwi r0, 5 /* 802C3110 002BED70 41 80 00 24 */ blt lbl_802C3134 /* 802C3114 002BED74 7D 1F EA 14 */ add r8, r31, r29 /* 802C3118 002BED78 38 9E 00 24 */ addi r4, r30, 0x24 /* 802C311C 002BED7C 88 A8 00 28 */ lbz r5, 0x28(r8) /* 802C3120 002BED80 57 86 06 3E */ clrlwi r6, r28, 0x18 /* 802C3124 002BED84 88 E8 00 26 */ lbz r7, 0x26(r8) /* 802C3128 002BED88 38 60 05 04 */ li r3, 0x504 /* 802C312C 002BED8C 89 08 00 2C */ lbz r8, 0x2c(r8) /* 802C3130 002BED90 4B FF 9E 41 */ bl LogMsg_4 lbl_802C3134: /* 802C3134 002BED94 3B 9C 00 01 */ addi r28, r28, 1 /* 802C3138 002BED98 28 1C 00 10 */ cmplwi r28, 0x10 /* 802C313C 002BED9C 41 80 FF 70 */ blt lbl_802C30AC /* 802C3140 002BEDA0 3C 80 80 57 */ lis r4, lbl_80568948@ha /* 802C3144 002BEDA4 38 00 00 10 */ li r0, 0x10 /* 802C3148 002BEDA8 38 84 89 48 */ addi r4, r4, lbl_80568948@l /* 802C314C 002BEDAC 3B A0 00 00 */ li r29, 0 /* 802C3150 002BEDB0 7C 09 03 A6 */ mtctr r0 lbl_802C3154: /* 802C3154 002BEDB4 57 A0 2C F4 */ rlwinm r0, r29, 5, 0x13, 0x1a /* 802C3158 002BEDB8 7C 64 02 14 */ add r3, r4, r0 /* 802C315C 002BEDBC 88 03 00 28 */ lbz r0, 0x28(r3) /* 802C3160 002BEDC0 2C 00 00 00 */ cmpwi r0, 0 /* 802C3164 002BEDC4 40 82 00 14 */ bne lbl_802C3178 /* 802C3168 002BEDC8 7F 64 DB 78 */ mr r4, r27 /* 802C316C 002BEDCC 38 63 00 18 */ addi r3, r3, 0x18 /* 802C3170 002BEDD0 4B FF A3 F1 */ bl bdcpy /* 802C3174 002BEDD4 48 00 00 0C */ b lbl_802C3180 lbl_802C3178: /* 802C3178 002BEDD8 3B BD 00 01 */ addi r29, r29, 1 /* 802C317C 002BEDDC 42 00 FF D8 */ bdnz lbl_802C3154 lbl_802C3180: /* 802C3180 002BEDE0 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13) /* 802C3184 002BEDE4 28 00 00 05 */ cmplwi r0, 5 /* 802C3188 002BEDE8 41 80 00 18 */ blt lbl_802C31A0 /* 802C318C 002BEDEC 38 9E 00 58 */ addi r4, r30, 0x58 /* 802C3190 002BEDF0 57 A5 06 3E */ clrlwi r5, r29, 0x18 /* 802C3194 002BEDF4 38 60 05 04 */ li r3, 0x504 /* 802C3198 002BEDF8 38 C0 00 10 */ li r6, 0x10 /* 802C319C 002BEDFC 4B FF 9D A5 */ bl LogMsg_2 lbl_802C31A0: /* 802C31A0 002BEE00 7F A3 EB 78 */ mr r3, r29 lbl_802C31A4: /* 802C31A4 002BEE04 39 61 00 20 */ addi r11, r1, 0x20 /* 802C31A8 002BEE08 4B F0 3F CD */ bl _restgpr_27 /* 802C31AC 002BEE0C 80 01 00 24 */ lwz r0, 0x24(r1) /* 802C31B0 002BEE10 7C 08 03 A6 */ mtlr r0 /* 802C31B4 002BEE14 38 21 00 20 */ addi r1, r1, 0x20 /* 802C31B8 002BEE18 4E 80 00 20 */ blr .global bta_hh_clean_up_kdev bta_hh_clean_up_kdev: /* 802C31BC 002BEE1C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802C31C0 002BEE20 7C 08 02 A6 */ mflr r0 /* 802C31C4 002BEE24 90 01 00 14 */ stw r0, 0x14(r1) /* 802C31C8 002BEE28 93 E1 00 0C */ stw r31, 0xc(r1) /* 802C31CC 002BEE2C 93 C1 00 08 */ stw r30, 8(r1) /* 802C31D0 002BEE30 7C 7E 1B 78 */ mr r30, r3 /* 802C31D4 002BEE34 88 A3 00 16 */ lbz r5, 0x16(r3) /* 802C31D8 002BEE38 28 05 00 FF */ cmplwi r5, 0xff /* 802C31DC 002BEE3C 41 82 00 18 */ beq lbl_802C31F4 /* 802C31E0 002BEE40 3C 80 80 57 */ lis r4, lbl_80568948@ha /* 802C31E4 002BEE44 38 00 00 10 */ li r0, 0x10 /* 802C31E8 002BEE48 38 84 89 48 */ addi r4, r4, lbl_80568948@l /* 802C31EC 002BEE4C 7C 84 2A 14 */ add r4, r4, r5 /* 802C31F0 002BEE50 98 04 02 14 */ stb r0, 0x214(r4) lbl_802C31F4: /* 802C31F4 002BEE54 8B E3 00 12 */ lbz r31, 0x12(r3) /* 802C31F8 002BEE58 38 63 00 04 */ addi r3, r3, 4 /* 802C31FC 002BEE5C 4B FF AA B1 */ bl utl_freebuf /* 802C3200 002BEE60 7F C3 F3 78 */ mr r3, r30 /* 802C3204 002BEE64 38 80 00 00 */ li r4, 0 /* 802C3208 002BEE68 38 A0 00 20 */ li r5, 0x20 /* 802C320C 002BEE6C 4B D4 0E F9 */ bl memset /* 802C3210 002BEE70 38 60 00 01 */ li r3, 1 /* 802C3214 002BEE74 38 00 00 FF */ li r0, 0xff /* 802C3218 002BEE78 9B FE 00 12 */ stb r31, 0x12(r30) /* 802C321C 002BEE7C 98 7E 00 1C */ stb r3, 0x1c(r30) /* 802C3220 002BEE80 98 1E 00 16 */ stb r0, 0x16(r30) /* 802C3224 002BEE84 83 E1 00 0C */ lwz r31, 0xc(r1) /* 802C3228 002BEE88 83 C1 00 08 */ lwz r30, 8(r1) /* 802C322C 002BEE8C 80 01 00 14 */ lwz r0, 0x14(r1) /* 802C3230 002BEE90 7C 08 03 A6 */ mtlr r0 /* 802C3234 002BEE94 38 21 00 10 */ addi r1, r1, 0x10 /* 802C3238 002BEE98 4E 80 00 20 */ blr .global bta_hh_add_device_to_list bta_hh_add_device_to_list: /* 802C323C 002BEE9C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802C3240 002BEEA0 7C 08 02 A6 */ mflr r0 /* 802C3244 002BEEA4 90 01 00 24 */ stw r0, 0x24(r1) /* 802C3248 002BEEA8 39 61 00 20 */ addi r11, r1, 0x20 /* 802C324C 002BEEAC 4B F0 3E D9 */ bl _savegpr_26 /* 802C3250 002BEEB0 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13) /* 802C3254 002BEEB4 7C 7A 1B 78 */ mr r26, r3 /* 802C3258 002BEEB8 7C 9B 23 78 */ mr r27, r4 /* 802C325C 002BEEBC 7C BC 2B 78 */ mr r28, r5 /* 802C3260 002BEEC0 28 00 00 05 */ cmplwi r0, 5 /* 802C3264 002BEEC4 7C DD 33 78 */ mr r29, r6 /* 802C3268 002BEEC8 7C FE 3B 78 */ mr r30, r7 /* 802C326C 002BEECC 7D 1F 43 78 */ mr r31, r8 /* 802C3270 002BEED0 41 80 00 18 */ blt lbl_802C3288 /* 802C3274 002BEED4 3C 80 80 44 */ lis r4, lbl_80440A84@ha /* 802C3278 002BEED8 7F C5 F3 78 */ mr r5, r30 /* 802C327C 002BEEDC 38 84 0A 84 */ addi r4, r4, lbl_80440A84@l /* 802C3280 002BEEE0 38 60 05 04 */ li r3, 0x504 /* 802C3284 002BEEE4 4B FF 9C A5 */ bl LogMsg_1 lbl_802C3288: /* 802C3288 002BEEE8 38 00 00 01 */ li r0, 1 /* 802C328C 002BEEEC 2C 1D 00 00 */ cmpwi r29, 0 /* 802C3290 002BEEF0 9B 7A 00 16 */ stb r27, 0x16(r26) /* 802C3294 002BEEF4 98 1A 00 18 */ stb r0, 0x18(r26) /* 802C3298 002BEEF8 B3 9A 00 0E */ sth r28, 0xe(r26) /* 802C329C 002BEEFC 9B DA 00 13 */ stb r30, 0x13(r26) /* 802C32A0 002BEF00 9B FA 00 15 */ stb r31, 0x15(r26) /* 802C32A4 002BEF04 41 82 00 3C */ beq lbl_802C32E0 /* 802C32A8 002BEF08 38 7A 00 04 */ addi r3, r26, 4 /* 802C32AC 002BEF0C 4B FF AA 01 */ bl utl_freebuf /* 802C32B0 002BEF10 A0 7D 00 00 */ lhz r3, 0(r29) /* 802C32B4 002BEF14 2C 03 00 00 */ cmpwi r3, 0 /* 802C32B8 002BEF18 41 82 00 28 */ beq lbl_802C32E0 /* 802C32BC 002BEF1C 4B FF 67 F1 */ bl GKI_getbuf /* 802C32C0 002BEF20 2C 03 00 00 */ cmpwi r3, 0 /* 802C32C4 002BEF24 90 7A 00 04 */ stw r3, 4(r26) /* 802C32C8 002BEF28 41 82 00 18 */ beq lbl_802C32E0 /* 802C32CC 002BEF2C A0 1D 00 00 */ lhz r0, 0(r29) /* 802C32D0 002BEF30 B0 1A 00 00 */ sth r0, 0(r26) /* 802C32D4 002BEF34 80 9D 00 04 */ lwz r4, 4(r29) /* 802C32D8 002BEF38 A0 BD 00 00 */ lhz r5, 0(r29) /* 802C32DC 002BEF3C 4B D4 0D 25 */ bl memcpy lbl_802C32E0: /* 802C32E0 002BEF40 39 61 00 20 */ addi r11, r1, 0x20 /* 802C32E4 002BEF44 4B F0 3E 8D */ bl _restgpr_26 /* 802C32E8 002BEF48 80 01 00 24 */ lwz r0, 0x24(r1) /* 802C32EC 002BEF4C 7C 08 03 A6 */ mtlr r0 /* 802C32F0 002BEF50 38 21 00 20 */ addi r1, r1, 0x20 /* 802C32F4 002BEF54 4E 80 00 20 */ blr .global bta_hh_tod_spt bta_hh_tod_spt: /* 802C32F8 002BEF58 80 ED 8A 08 */ lwz r7, lbl_8063DCC8-_SDA_BASE_(r13) /* 802C32FC 002BEF5C 54 89 F6 BE */ rlwinm r9, r4, 0x1e, 0x1a, 0x1f /* 802C3300 002BEF60 39 00 00 00 */ li r8, 0 /* 802C3304 002BEF64 88 A7 00 00 */ lbz r5, 0(r7) /* 802C3308 002BEF68 48 00 00 30 */ b lbl_802C3338 lbl_802C330C: /* 802C330C 002BEF6C 80 87 00 04 */ lwz r4, 4(r7) /* 802C3310 002BEF70 55 06 0D FC */ rlwinm r6, r8, 1, 0x17, 0x1e /* 802C3314 002BEF74 7C 04 30 AE */ lbzx r0, r4, r6 /* 802C3318 002BEF78 7C 09 00 40 */ cmplw r9, r0 /* 802C331C 002BEF7C 40 82 00 18 */ bne lbl_802C3334 /* 802C3320 002BEF80 7C 84 32 14 */ add r4, r4, r6 /* 802C3324 002BEF84 88 04 00 01 */ lbz r0, 1(r4) /* 802C3328 002BEF88 98 03 00 15 */ stb r0, 0x15(r3) /* 802C332C 002BEF8C 38 60 00 01 */ li r3, 1 /* 802C3330 002BEF90 4E 80 00 20 */ blr lbl_802C3334: /* 802C3334 002BEF94 39 08 00 01 */ addi r8, r8, 1 lbl_802C3338: /* 802C3338 002BEF98 55 00 06 3E */ clrlwi r0, r8, 0x18 /* 802C333C 002BEF9C 7C 00 28 40 */ cmplw r0, r5 /* 802C3340 002BEFA0 41 80 FF CC */ blt lbl_802C330C /* 802C3344 002BEFA4 38 60 00 00 */ li r3, 0 /* 802C3348 002BEFA8 4E 80 00 20 */ blr .global bta_hh_trace_dev_db bta_hh_trace_dev_db: /* 802C334C 002BEFAC 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802C3350 002BEFB0 7C 08 02 A6 */ mflr r0 /* 802C3354 002BEFB4 90 01 00 24 */ stw r0, 0x24(r1) /* 802C3358 002BEFB8 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802C335C 002BEFBC 93 C1 00 18 */ stw r30, 0x18(r1) /* 802C3360 002BEFC0 3F C0 80 44 */ lis r30, lbl_80440A00@ha /* 802C3364 002BEFC4 3B DE 0A 00 */ addi r30, r30, lbl_80440A00@l /* 802C3368 002BEFC8 93 A1 00 14 */ stw r29, 0x14(r1) /* 802C336C 002BEFCC 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13) /* 802C3370 002BEFD0 28 00 00 05 */ cmplwi r0, 5 /* 802C3374 002BEFD4 41 80 00 10 */ blt lbl_802C3384 /* 802C3378 002BEFD8 38 9E 01 E4 */ addi r4, r30, 0x1e4 /* 802C337C 002BEFDC 38 60 05 04 */ li r3, 0x504 /* 802C3380 002BEFE0 4B FF 9B 91 */ bl LogMsg_0 lbl_802C3384: /* 802C3384 002BEFE4 3C 60 80 57 */ lis r3, lbl_80568948@ha /* 802C3388 002BEFE8 3B A0 00 00 */ li r29, 0 /* 802C338C 002BEFEC 3B E3 89 48 */ addi r31, r3, lbl_80568948@l lbl_802C3390: /* 802C3390 002BEFF0 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13) /* 802C3394 002BEFF4 28 00 00 05 */ cmplwi r0, 5 /* 802C3398 002BEFF8 41 80 00 24 */ blt lbl_802C33BC /* 802C339C 002BEFFC 57 A0 2C F4 */ rlwinm r0, r29, 5, 0x13, 0x1a /* 802C33A0 002BF000 38 9E 02 20 */ addi r4, r30, 0x220 /* 802C33A4 002BF004 7C FF 02 14 */ add r7, r31, r0 /* 802C33A8 002BF008 57 A5 06 3E */ clrlwi r5, r29, 0x18 /* 802C33AC 002BF00C 88 C7 00 28 */ lbz r6, 0x28(r7) /* 802C33B0 002BF010 38 60 05 04 */ li r3, 0x504 /* 802C33B4 002BF014 88 E7 00 26 */ lbz r7, 0x26(r7) /* 802C33B8 002BF018 4B FF 9B A1 */ bl LogMsg_3 lbl_802C33BC: /* 802C33BC 002BF01C 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13) /* 802C33C0 002BF020 28 00 00 05 */ cmplwi r0, 5 /* 802C33C4 002BF024 41 80 00 28 */ blt lbl_802C33EC /* 802C33C8 002BF028 57 A0 2C F4 */ rlwinm r0, r29, 5, 0x13, 0x1a /* 802C33CC 002BF02C 38 9E 02 44 */ addi r4, r30, 0x244 /* 802C33D0 002BF030 7D 1F 02 14 */ add r8, r31, r0 /* 802C33D4 002BF034 38 60 05 04 */ li r3, 0x504 /* 802C33D8 002BF038 A0 A8 00 1E */ lhz r5, 0x1e(r8) /* 802C33DC 002BF03C 88 C8 00 2C */ lbz r6, 0x2c(r8) /* 802C33E0 002BF040 88 E8 00 23 */ lbz r7, 0x23(r8) /* 802C33E4 002BF044 89 08 00 22 */ lbz r8, 0x22(r8) /* 802C33E8 002BF048 4B FF 9B 89 */ bl LogMsg_4 lbl_802C33EC: /* 802C33EC 002BF04C 3B BD 00 01 */ addi r29, r29, 1 /* 802C33F0 002BF050 28 1D 00 10 */ cmplwi r29, 0x10 /* 802C33F4 002BF054 41 80 FF 9C */ blt lbl_802C3390 /* 802C33F8 002BF058 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13) /* 802C33FC 002BF05C 28 00 00 05 */ cmplwi r0, 5 /* 802C3400 002BF060 41 80 00 10 */ blt lbl_802C3410 /* 802C3404 002BF064 38 9E 02 80 */ addi r4, r30, 0x280 /* 802C3408 002BF068 38 60 05 04 */ li r3, 0x504 /* 802C340C 002BF06C 4B FF 9B 05 */ bl LogMsg_0 lbl_802C3410: /* 802C3410 002BF070 80 01 00 24 */ lwz r0, 0x24(r1) /* 802C3414 002BF074 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802C3418 002BF078 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802C341C 002BF07C 83 A1 00 14 */ lwz r29, 0x14(r1) /* 802C3420 002BF080 7C 08 03 A6 */ mtlr r0 /* 802C3424 002BF084 38 21 00 20 */ addi r1, r1, 0x20 /* 802C3428 002BF088 4E 80 00 20 */ blr