400 lines
17 KiB
ArmAsm
400 lines
17 KiB
ArmAsm
.include "macros.inc"
|
|
|
|
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
|
|
.global btu_task_init
|
|
btu_task_init:
|
|
/* 80077AF0 00073930 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
/* 80077AF4 00073934 7C 08 02 A6 */ mflr r0
|
|
/* 80077AF8 00073938 38 60 00 01 */ li r3, 0x1
|
|
/* 80077AFC 0007393C 90 01 00 14 */ stw r0, 0x14(r1)
|
|
/* 80077B00 00073940 38 00 00 00 */ li r0, 0x0
|
|
/* 80077B04 00073944 98 6D 84 D0 */ stb r3, btu_count@sda21(r13)
|
|
/* 80077B08 00073948 90 6D 84 D4 */ stw r3, execute_btu@sda21(r13)
|
|
/* 80077B0C 0007394C 90 0D EA E8 */ stw r0, _btu_g_count@sda21(r13)
|
|
/* 80077B10 00073950 90 0D EA EC */ stw r0, _btu_last_timer_tick@sda21(r13)
|
|
/* 80077B14 00073954 48 01 19 75 */ bl btu_init_core
|
|
/* 80077B18 00073958 4B FF FD 59 */ bl BTE_InitStack
|
|
/* 80077B1C 0007395C 48 00 07 41 */ bl bta_sys_init
|
|
/* 80077B20 00073960 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
/* 80077B24 00073964 7C 08 03 A6 */ mtlr r0
|
|
/* 80077B28 00073968 38 21 00 10 */ addi r1, r1, 0x10
|
|
/* 80077B2C 0007396C 4E 80 00 20 */ blr
|
|
.global btu_task_msg_handler
|
|
btu_task_msg_handler:
|
|
/* 80077B30 00073970 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
/* 80077B34 00073974 7C 08 02 A6 */ mflr r0
|
|
/* 80077B38 00073978 90 01 00 24 */ stw r0, 0x24(r1)
|
|
/* 80077B3C 0007397C 39 61 00 20 */ addi r11, r1, 0x20
|
|
/* 80077B40 00073980 4B F8 F7 F9 */ bl lbl_80007338
|
|
/* 80077B44 00073984 3B C0 00 00 */ li r30, 0x0
|
|
/* 80077B48 00073988 4B FA DF F9 */ bl OSGetTime
|
|
/* 80077B4C 0007398C 80 6D EA E8 */ lwz r3, _btu_g_count@sda21(r13)
|
|
/* 80077B50 00073990 38 03 00 01 */ addi r0, r3, 0x1
|
|
/* 80077B54 00073994 90 0D EA E8 */ stw r0, _btu_g_count@sda21(r13)
|
|
/* 80077B58 00073998 4B FF E8 89 */ bl GKI_disable
|
|
/* 80077B5C 0007399C 80 0D 84 D4 */ lwz r0, execute_btu@sda21(r13)
|
|
/* 80077B60 000739A0 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 80077B64 000739A4 41 82 00 18 */ beq lbl_80077B7C
|
|
/* 80077B68 000739A8 38 60 00 00 */ li r3, 0x0
|
|
/* 80077B6C 000739AC 38 00 00 01 */ li r0, 0x1
|
|
/* 80077B70 000739B0 90 6D 84 D4 */ stw r3, execute_btu@sda21(r13)
|
|
/* 80077B74 000739B4 98 0D 84 D0 */ stb r0, btu_count@sda21(r13)
|
|
/* 80077B78 000739B8 48 00 00 18 */ b lbl_80077B90
|
|
.global lbl_80077B7C
|
|
lbl_80077B7C:
|
|
/* 80077B7C 000739BC 88 6D 84 D0 */ lbz r3, btu_count@sda21(r13)
|
|
/* 80077B80 000739C0 38 03 00 01 */ addi r0, r3, 0x1
|
|
/* 80077B84 000739C4 98 0D 84 D0 */ stb r0, btu_count@sda21(r13)
|
|
/* 80077B88 000739C8 4B FF E8 29 */ bl GKI_enable
|
|
/* 80077B8C 000739CC 48 00 03 08 */ b lbl_80077E94
|
|
.global lbl_80077B90
|
|
lbl_80077B90:
|
|
/* 80077B90 000739D0 4B FF E8 21 */ bl GKI_enable
|
|
/* 80077B94 000739D4 80 6D EA EC */ lwz r3, _btu_last_timer_tick@sda21(r13)
|
|
/* 80077B98 000739D8 3B E0 00 05 */ li r31, 0x5
|
|
/* 80077B9C 000739DC 80 8D EA E8 */ lwz r4, _btu_g_count@sda21(r13)
|
|
/* 80077BA0 000739E0 38 03 01 F4 */ addi r0, r3, 0x1f4
|
|
/* 80077BA4 000739E4 7C 04 00 40 */ cmplw r4, r0
|
|
/* 80077BA8 000739E8 40 81 00 0C */ ble lbl_80077BB4
|
|
/* 80077BAC 000739EC 90 8D EA EC */ stw r4, _btu_last_timer_tick@sda21(r13)
|
|
/* 80077BB0 000739F0 63 FF 00 30 */ ori r31, r31, 0x30
|
|
.global lbl_80077BB4
|
|
lbl_80077BB4:
|
|
/* 80077BB4 000739F4 3C 60 80 4F */ lis r3, btu_cb@ha
|
|
/* 80077BB8 000739F8 3B A3 5A 30 */ addi r29, r3, btu_cb@l
|
|
/* 80077BBC 000739FC 48 00 02 C8 */ b lbl_80077E84
|
|
.global lbl_80077BC0
|
|
lbl_80077BC0:
|
|
/* 80077BC0 00073A00 57 E0 07 FF */ clrlwi. r0, r31, 31
|
|
/* 80077BC4 00073A04 3B C0 00 01 */ li r30, 0x1
|
|
/* 80077BC8 00073A08 41 82 01 00 */ beq lbl_80077CC8
|
|
/* 80077BCC 00073A0C 48 00 00 E8 */ b lbl_80077CB4
|
|
.global lbl_80077BD0
|
|
lbl_80077BD0:
|
|
/* 80077BD0 00073A10 A0 03 00 00 */ lhz r0, 0x0(r3)
|
|
/* 80077BD4 00073A14 3B C0 00 00 */ li r30, 0x0
|
|
/* 80077BD8 00073A18 54 1C 04 2E */ rlwinm r28, r0, 0, 16, 23
|
|
/* 80077BDC 00073A1C 2C 1C 11 00 */ cmpwi r28, 0x1100
|
|
/* 80077BE0 00073A20 41 82 00 28 */ beq lbl_80077C08
|
|
/* 80077BE4 00073A24 2C 1C 19 00 */ cmpwi r28, 0x1900
|
|
/* 80077BE8 00073A28 41 82 00 2C */ beq lbl_80077C14
|
|
/* 80077BEC 00073A2C 2C 1C 12 00 */ cmpwi r28, 0x1200
|
|
/* 80077BF0 00073A30 41 82 00 30 */ beq lbl_80077C20
|
|
/* 80077BF4 00073A34 2C 1C 10 00 */ cmpwi r28, 0x1000
|
|
/* 80077BF8 00073A38 41 82 00 34 */ beq lbl_80077C2C
|
|
/* 80077BFC 00073A3C 2C 1C 16 00 */ cmpwi r28, 0x1600
|
|
/* 80077C00 00073A40 41 82 00 40 */ beq lbl_80077C40
|
|
/* 80077C04 00073A44 48 00 00 48 */ b lbl_80077C4C
|
|
.global lbl_80077C08
|
|
lbl_80077C08:
|
|
/* 80077C08 00073A48 7F 63 DB 78 */ mr r3, r27
|
|
/* 80077C0C 00073A4C 48 01 B9 19 */ bl l2c_rcv_acl_data
|
|
/* 80077C10 00073A50 48 00 00 A4 */ b lbl_80077CB4
|
|
.global lbl_80077C14
|
|
lbl_80077C14:
|
|
/* 80077C14 00073A54 7F 63 DB 78 */ mr r3, r27
|
|
/* 80077C18 00073A58 48 01 B6 D9 */ bl l2c_link_segments_xmitted
|
|
/* 80077C1C 00073A5C 48 00 00 98 */ b lbl_80077CB4
|
|
.global lbl_80077C20
|
|
lbl_80077C20:
|
|
/* 80077C20 00073A60 7F 63 DB 78 */ mr r3, r27
|
|
/* 80077C24 00073A64 48 00 D2 3D */ bl btm_route_sco_data
|
|
/* 80077C28 00073A68 48 00 00 8C */ b lbl_80077CB4
|
|
.global lbl_80077C2C
|
|
lbl_80077C2C:
|
|
/* 80077C2C 00073A6C 7F 63 DB 78 */ mr r3, r27
|
|
/* 80077C30 00073A70 48 01 05 FD */ bl btu_hcif_process_event
|
|
/* 80077C34 00073A74 7F 63 DB 78 */ mr r3, r27
|
|
/* 80077C38 00073A78 4B FF D2 D9 */ bl GKI_freebuf
|
|
/* 80077C3C 00073A7C 48 00 00 78 */ b lbl_80077CB4
|
|
.global lbl_80077C40
|
|
lbl_80077C40:
|
|
/* 80077C40 00073A80 7F 63 DB 78 */ mr r3, r27
|
|
/* 80077C44 00073A84 48 01 0B A1 */ bl btu_hcif_send_cmd
|
|
/* 80077C48 00073A88 48 00 00 6C */ b lbl_80077CB4
|
|
.global lbl_80077C4C
|
|
lbl_80077C4C:
|
|
/* 80077C4C 00073A8C 3B 40 00 00 */ li r26, 0x0
|
|
/* 80077C50 00073A90 38 80 00 00 */ li r4, 0x0
|
|
/* 80077C54 00073A94 48 00 00 3C */ b lbl_80077C90
|
|
.global lbl_80077C58
|
|
lbl_80077C58:
|
|
/* 80077C58 00073A98 57 40 1D 78 */ rlwinm r0, r26, 3, 21, 28
|
|
/* 80077C5C 00073A9C 7C 7D 02 14 */ add r3, r29, r0
|
|
/* 80077C60 00073AA0 81 83 00 14 */ lwz r12, 0x14(r3)
|
|
/* 80077C64 00073AA4 2C 8C 00 00 */ cmpwi cr1, r12, 0x0
|
|
/* 80077C68 00073AA8 41 86 00 24 */ beq cr1, lbl_80077C8C
|
|
/* 80077C6C 00073AAC A0 03 00 10 */ lhz r0, 0x10(r3)
|
|
/* 80077C70 00073AB0 7C 1C 00 40 */ cmplw r28, r0
|
|
/* 80077C74 00073AB4 40 82 00 18 */ bne lbl_80077C8C
|
|
/* 80077C78 00073AB8 41 86 00 14 */ beq cr1, lbl_80077C8C
|
|
/* 80077C7C 00073ABC 7F 63 DB 78 */ mr r3, r27
|
|
/* 80077C80 00073AC0 7D 89 03 A6 */ mtctr r12
|
|
/* 80077C84 00073AC4 4E 80 04 21 */ bctrl
|
|
/* 80077C88 00073AC8 38 80 00 01 */ li r4, 0x1
|
|
.global lbl_80077C8C
|
|
lbl_80077C8C:
|
|
/* 80077C8C 00073ACC 3B 5A 00 01 */ addi r26, r26, 0x1
|
|
.global lbl_80077C90
|
|
lbl_80077C90:
|
|
/* 80077C90 00073AD0 2C 04 00 00 */ cmpwi r4, 0x0
|
|
/* 80077C94 00073AD4 40 82 00 10 */ bne lbl_80077CA4
|
|
/* 80077C98 00073AD8 57 40 06 3E */ clrlwi r0, r26, 24
|
|
/* 80077C9C 00073ADC 28 00 00 06 */ cmplwi r0, 0x6
|
|
/* 80077CA0 00073AE0 41 80 FF B8 */ blt lbl_80077C58
|
|
.global lbl_80077CA4
|
|
lbl_80077CA4:
|
|
/* 80077CA4 00073AE4 2C 04 00 00 */ cmpwi r4, 0x0
|
|
/* 80077CA8 00073AE8 40 82 00 0C */ bne lbl_80077CB4
|
|
/* 80077CAC 00073AEC 7F 63 DB 78 */ mr r3, r27
|
|
/* 80077CB0 00073AF0 4B FF D2 61 */ bl GKI_freebuf
|
|
.global lbl_80077CB4
|
|
lbl_80077CB4:
|
|
/* 80077CB4 00073AF4 38 60 00 00 */ li r3, 0x0
|
|
/* 80077CB8 00073AF8 4B FF D5 D9 */ bl GKI_read_mbox
|
|
/* 80077CBC 00073AFC 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 80077CC0 00073B00 7C 7B 1B 78 */ mr r27, r3
|
|
/* 80077CC4 00073B04 40 82 FF 0C */ bne lbl_80077BD0
|
|
.global lbl_80077CC8
|
|
lbl_80077CC8:
|
|
/* 80077CC8 00073B08 57 E0 06 F7 */ rlwinm. r0, r31, 0, 27, 27
|
|
/* 80077CCC 00073B0C 41 82 01 78 */ beq lbl_80077E44
|
|
/* 80077CD0 00073B10 38 7D 00 40 */ addi r3, r29, 0x40
|
|
/* 80077CD4 00073B14 38 80 00 01 */ li r4, 0x1
|
|
/* 80077CD8 00073B18 4B FF E2 39 */ bl GKI_update_timer_list
|
|
/* 80077CDC 00073B1C 57 E0 07 34 */ rlwinm r0, r31, 0, 28, 26
|
|
/* 80077CE0 00073B20 54 1F 04 3E */ clrlwi r31, r0, 16
|
|
/* 80077CE4 00073B24 48 00 01 48 */ b lbl_80077E2C
|
|
.global lbl_80077CE8
|
|
lbl_80077CE8:
|
|
/* 80077CE8 00073B28 7F 84 E3 78 */ mr r4, r28
|
|
/* 80077CEC 00073B2C 38 7D 00 40 */ addi r3, r29, 0x40
|
|
/* 80077CF0 00073B30 3B C0 00 00 */ li r30, 0x0
|
|
/* 80077CF4 00073B34 4B FF E3 9D */ bl GKI_remove_from_timer_list
|
|
/* 80077CF8 00073B38 A0 1C 00 14 */ lhz r0, 0x14(r28)
|
|
/* 80077CFC 00073B3C 2C 00 00 0A */ cmpwi r0, 0xa
|
|
/* 80077D00 00073B40 41 82 00 94 */ beq lbl_80077D94
|
|
/* 80077D04 00073B44 40 80 00 30 */ bge lbl_80077D34
|
|
/* 80077D08 00073B48 2C 00 00 05 */ cmpwi r0, 0x5
|
|
/* 80077D0C 00073B4C 41 82 00 7C */ beq lbl_80077D88
|
|
/* 80077D10 00073B50 40 80 00 14 */ bge lbl_80077D24
|
|
/* 80077D14 00073B54 2C 00 00 01 */ cmpwi r0, 0x1
|
|
/* 80077D18 00073B58 41 82 00 4C */ beq lbl_80077D64
|
|
/* 80077D1C 00073B5C 40 80 00 60 */ bge lbl_80077D7C
|
|
/* 80077D20 00073B60 48 00 00 B8 */ b lbl_80077DD8
|
|
.global lbl_80077D24
|
|
lbl_80077D24:
|
|
/* 80077D24 00073B64 2C 00 00 08 */ cmpwi r0, 0x8
|
|
/* 80077D28 00073B68 41 82 00 74 */ beq lbl_80077D9C
|
|
/* 80077D2C 00073B6C 40 80 00 44 */ bge lbl_80077D70
|
|
/* 80077D30 00073B70 48 00 00 A8 */ b lbl_80077DD8
|
|
.global lbl_80077D34
|
|
lbl_80077D34:
|
|
/* 80077D34 00073B74 2C 00 00 3C */ cmpwi r0, 0x3c
|
|
/* 80077D38 00073B78 41 82 00 78 */ beq lbl_80077DB0
|
|
/* 80077D3C 00073B7C 40 80 00 1C */ bge lbl_80077D58
|
|
/* 80077D40 00073B80 2C 00 00 16 */ cmpwi r0, 0x16
|
|
/* 80077D44 00073B84 41 82 00 80 */ beq lbl_80077DC4
|
|
/* 80077D48 00073B88 40 80 00 90 */ bge lbl_80077DD8
|
|
/* 80077D4C 00073B8C 2C 00 00 0D */ cmpwi r0, 0xd
|
|
/* 80077D50 00073B90 40 80 00 88 */ bge lbl_80077DD8
|
|
/* 80077D54 00073B94 48 00 00 50 */ b lbl_80077DA4
|
|
.global lbl_80077D58
|
|
lbl_80077D58:
|
|
/* 80077D58 00073B98 2C 00 00 42 */ cmpwi r0, 0x42
|
|
/* 80077D5C 00073B9C 41 82 00 5C */ beq lbl_80077DB8
|
|
/* 80077D60 00073BA0 48 00 00 78 */ b lbl_80077DD8
|
|
.global lbl_80077D64
|
|
lbl_80077D64:
|
|
/* 80077D64 00073BA4 7F 83 E3 78 */ mr r3, r28
|
|
/* 80077D68 00073BA8 48 00 88 2D */ bl btm_dev_timeout
|
|
/* 80077D6C 00073BAC 48 00 00 C0 */ b lbl_80077E2C
|
|
.global lbl_80077D70
|
|
lbl_80077D70:
|
|
/* 80077D70 00073BB0 7F 83 E3 78 */ mr r3, r28
|
|
/* 80077D74 00073BB4 48 00 73 15 */ bl btm_acl_timeout
|
|
/* 80077D78 00073BB8 48 00 00 B4 */ b lbl_80077E2C
|
|
.global lbl_80077D7C
|
|
lbl_80077D7C:
|
|
/* 80077D7C 00073BBC 7F 83 E3 78 */ mr r3, r28
|
|
/* 80077D80 00073BC0 48 01 C5 45 */ bl l2c_process_timeout
|
|
/* 80077D84 00073BC4 48 00 00 A8 */ b lbl_80077E2C
|
|
.global lbl_80077D88
|
|
lbl_80077D88:
|
|
/* 80077D88 00073BC8 80 7C 00 10 */ lwz r3, 0x10(r28)
|
|
/* 80077D8C 00073BCC 48 02 82 95 */ bl sdp_conn_timeout
|
|
/* 80077D90 00073BD0 48 00 00 9C */ b lbl_80077E2C
|
|
.global lbl_80077D94
|
|
lbl_80077D94:
|
|
/* 80077D94 00073BD4 48 00 B9 6D */ bl btm_inq_rmt_name_failed
|
|
/* 80077D98 00073BD8 48 00 00 94 */ b lbl_80077E2C
|
|
.global lbl_80077D9C
|
|
lbl_80077D9C:
|
|
/* 80077D9C 00073BDC 4B FA C7 05 */ bl DefaultSwitchThreadCallback
|
|
/* 80077DA0 00073BE0 48 00 00 8C */ b lbl_80077E2C
|
|
.global lbl_80077DA4
|
|
lbl_80077DA4:
|
|
/* 80077DA4 00073BE4 7F 83 E3 78 */ mr r3, r28
|
|
/* 80077DA8 00073BE8 48 02 46 D5 */ bl rfcomm_process_timeout
|
|
/* 80077DAC 00073BEC 48 00 00 80 */ b lbl_80077E2C
|
|
.global lbl_80077DB0
|
|
lbl_80077DB0:
|
|
/* 80077DB0 00073BF0 48 01 14 A1 */ bl btu_hcif_cmd_timeout
|
|
/* 80077DB4 00073BF4 48 00 00 78 */ b lbl_80077E2C
|
|
.global lbl_80077DB8
|
|
lbl_80077DB8:
|
|
/* 80077DB8 00073BF8 7F 83 E3 78 */ mr r3, r28
|
|
/* 80077DBC 00073BFC 48 01 69 69 */ bl hidh_proc_repage_timeout
|
|
/* 80077DC0 00073C00 48 00 00 6C */ b lbl_80077E2C
|
|
.global lbl_80077DC4
|
|
lbl_80077DC4:
|
|
/* 80077DC4 00073C04 81 9C 00 10 */ lwz r12, 0x10(r28)
|
|
/* 80077DC8 00073C08 7F 83 E3 78 */ mr r3, r28
|
|
/* 80077DCC 00073C0C 7D 89 03 A6 */ mtctr r12
|
|
/* 80077DD0 00073C10 4E 80 04 21 */ bctrl
|
|
/* 80077DD4 00073C14 48 00 00 58 */ b lbl_80077E2C
|
|
.global lbl_80077DD8
|
|
lbl_80077DD8:
|
|
/* 80077DD8 00073C18 3B 60 00 00 */ li r27, 0x0
|
|
/* 80077DDC 00073C1C 38 80 00 00 */ li r4, 0x0
|
|
/* 80077DE0 00073C20 48 00 00 38 */ b lbl_80077E18
|
|
.global lbl_80077DE4
|
|
lbl_80077DE4:
|
|
/* 80077DE4 00073C24 57 60 1D 78 */ rlwinm r0, r27, 3, 21, 28
|
|
/* 80077DE8 00073C28 7C 7D 02 14 */ add r3, r29, r0
|
|
/* 80077DEC 00073C2C 81 83 00 04 */ lwz r12, 0x4(r3)
|
|
/* 80077DF0 00073C30 2C 0C 00 00 */ cmpwi r12, 0x0
|
|
/* 80077DF4 00073C34 41 82 00 20 */ beq lbl_80077E14
|
|
/* 80077DF8 00073C38 80 03 00 00 */ lwz r0, 0x0(r3)
|
|
/* 80077DFC 00073C3C 7C 00 E0 40 */ cmplw r0, r28
|
|
/* 80077E00 00073C40 40 82 00 14 */ bne lbl_80077E14
|
|
/* 80077E04 00073C44 7F 83 E3 78 */ mr r3, r28
|
|
/* 80077E08 00073C48 7D 89 03 A6 */ mtctr r12
|
|
/* 80077E0C 00073C4C 4E 80 04 21 */ bctrl
|
|
/* 80077E10 00073C50 38 80 00 01 */ li r4, 0x1
|
|
.global lbl_80077E14
|
|
lbl_80077E14:
|
|
/* 80077E14 00073C54 3B 7B 00 01 */ addi r27, r27, 0x1
|
|
.global lbl_80077E18
|
|
lbl_80077E18:
|
|
/* 80077E18 00073C58 2C 04 00 00 */ cmpwi r4, 0x0
|
|
/* 80077E1C 00073C5C 40 82 00 10 */ bne lbl_80077E2C
|
|
/* 80077E20 00073C60 57 60 06 3E */ clrlwi r0, r27, 24
|
|
/* 80077E24 00073C64 28 00 00 02 */ cmplwi r0, 0x2
|
|
/* 80077E28 00073C68 41 80 FF BC */ blt lbl_80077DE4
|
|
.global lbl_80077E2C
|
|
lbl_80077E2C:
|
|
/* 80077E2C 00073C6C 83 9D 00 40 */ lwz r28, 0x40(r29)
|
|
/* 80077E30 00073C70 2C 1C 00 00 */ cmpwi r28, 0x0
|
|
/* 80077E34 00073C74 41 82 00 10 */ beq lbl_80077E44
|
|
/* 80077E38 00073C78 80 1C 00 0C */ lwz r0, 0xc(r28)
|
|
/* 80077E3C 00073C7C 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 80077E40 00073C80 41 82 FE A8 */ beq lbl_80077CE8
|
|
.global lbl_80077E44
|
|
lbl_80077E44:
|
|
/* 80077E44 00073C84 57 E0 07 7B */ rlwinm. r0, r31, 0, 29, 29
|
|
/* 80077E48 00073C88 41 82 00 20 */ beq lbl_80077E68
|
|
/* 80077E4C 00073C8C 48 00 00 0C */ b lbl_80077E58
|
|
.global lbl_80077E50
|
|
lbl_80077E50:
|
|
/* 80077E50 00073C90 3B C0 00 00 */ li r30, 0x0
|
|
/* 80077E54 00073C94 48 00 04 6D */ bl bta_sys_event
|
|
.global lbl_80077E58
|
|
lbl_80077E58:
|
|
/* 80077E58 00073C98 38 60 00 02 */ li r3, 0x2
|
|
/* 80077E5C 00073C9C 4B FF D4 35 */ bl GKI_read_mbox
|
|
/* 80077E60 00073CA0 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 80077E64 00073CA4 40 82 FF EC */ bne lbl_80077E50
|
|
.global lbl_80077E68
|
|
lbl_80077E68:
|
|
/* 80077E68 00073CA8 57 E0 06 B5 */ rlwinm. r0, r31, 0, 26, 26
|
|
/* 80077E6C 00073CAC 41 82 00 10 */ beq lbl_80077E7C
|
|
/* 80077E70 00073CB0 57 E0 06 F2 */ rlwinm r0, r31, 0, 27, 25
|
|
/* 80077E74 00073CB4 54 1F 04 3E */ clrlwi r31, r0, 16
|
|
/* 80077E78 00073CB8 48 00 05 35 */ bl bta_sys_timer_update
|
|
.global lbl_80077E7C
|
|
lbl_80077E7C:
|
|
/* 80077E7C 00073CBC 57 E0 04 21 */ rlwinm. r0, r31, 0, 16, 16
|
|
/* 80077E80 00073CC0 40 82 00 0C */ bne lbl_80077E8C
|
|
.global lbl_80077E84
|
|
lbl_80077E84:
|
|
/* 80077E84 00073CC4 2C 1E 00 00 */ cmpwi r30, 0x0
|
|
/* 80077E88 00073CC8 41 82 FD 38 */ beq lbl_80077BC0
|
|
.global lbl_80077E8C
|
|
lbl_80077E8C:
|
|
/* 80077E8C 00073CCC 38 00 00 01 */ li r0, 0x1
|
|
/* 80077E90 00073CD0 90 0D 84 D4 */ stw r0, execute_btu@sda21(r13)
|
|
.global lbl_80077E94
|
|
lbl_80077E94:
|
|
/* 80077E94 00073CD4 39 61 00 20 */ addi r11, r1, 0x20
|
|
/* 80077E98 00073CD8 4B F8 F4 ED */ bl lbl_80007384
|
|
/* 80077E9C 00073CDC 80 01 00 24 */ lwz r0, 0x24(r1)
|
|
/* 80077EA0 00073CE0 7C 08 03 A6 */ mtlr r0
|
|
/* 80077EA4 00073CE4 38 21 00 20 */ addi r1, r1, 0x20
|
|
/* 80077EA8 00073CE8 4E 80 00 20 */ blr
|
|
/* 80077EAC 00073CEC 00 00 00 00 */ .4byte 0x00000000
|
|
.global btu_start_timer
|
|
btu_start_timer:
|
|
/* 80077EB0 00073CF0 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
/* 80077EB4 00073CF4 7C 08 02 A6 */ mflr r0
|
|
/* 80077EB8 00073CF8 90 01 00 24 */ stw r0, 0x24(r1)
|
|
/* 80077EBC 00073CFC 93 E1 00 1C */ stw r31, 0x1c(r1)
|
|
/* 80077EC0 00073D00 3F E0 80 4F */ lis r31, btu_cb@ha
|
|
/* 80077EC4 00073D04 3B FF 5A 30 */ addi r31, r31, btu_cb@l
|
|
/* 80077EC8 00073D08 93 C1 00 18 */ stw r30, 0x18(r1)
|
|
/* 80077ECC 00073D0C 7C BE 2B 78 */ mr r30, r5
|
|
/* 80077ED0 00073D10 93 A1 00 14 */ stw r29, 0x14(r1)
|
|
/* 80077ED4 00073D14 7C 9D 23 78 */ mr r29, r4
|
|
/* 80077ED8 00073D18 93 81 00 10 */ stw r28, 0x10(r1)
|
|
/* 80077EDC 00073D1C 7C 7C 1B 78 */ mr r28, r3
|
|
/* 80077EE0 00073D20 7F 84 E3 78 */ mr r4, r28
|
|
/* 80077EE4 00073D24 38 7F 00 40 */ addi r3, r31, 0x40
|
|
/* 80077EE8 00073D28 4B FF E1 A9 */ bl GKI_remove_from_timer_list
|
|
/* 80077EEC 00073D2C B3 BC 00 14 */ sth r29, 0x14(r28)
|
|
/* 80077EF0 00073D30 7F 84 E3 78 */ mr r4, r28
|
|
/* 80077EF4 00073D34 38 7F 00 40 */ addi r3, r31, 0x40
|
|
/* 80077EF8 00073D38 93 DC 00 0C */ stw r30, 0xc(r28)
|
|
/* 80077EFC 00073D3C 4B FF E0 A5 */ bl GKI_add_to_timer_list
|
|
/* 80077F00 00073D40 80 01 00 24 */ lwz r0, 0x24(r1)
|
|
/* 80077F04 00073D44 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
|
/* 80077F08 00073D48 83 C1 00 18 */ lwz r30, 0x18(r1)
|
|
/* 80077F0C 00073D4C 83 A1 00 14 */ lwz r29, 0x14(r1)
|
|
/* 80077F10 00073D50 83 81 00 10 */ lwz r28, 0x10(r1)
|
|
/* 80077F14 00073D54 7C 08 03 A6 */ mtlr r0
|
|
/* 80077F18 00073D58 38 21 00 20 */ addi r1, r1, 0x20
|
|
/* 80077F1C 00073D5C 4E 80 00 20 */ blr
|
|
.global btu_stop_timer
|
|
btu_stop_timer:
|
|
/* 80077F20 00073D60 3C A0 80 4F */ lis r5, btu_cb@ha
|
|
/* 80077F24 00073D64 7C 64 1B 78 */ mr r4, r3
|
|
/* 80077F28 00073D68 38 A5 5A 30 */ addi r5, r5, btu_cb@l
|
|
/* 80077F2C 00073D6C 38 65 00 40 */ addi r3, r5, 0x40
|
|
/* 80077F30 00073D70 4B FF E1 60 */ b GKI_remove_from_timer_list
|
|
.include "macros.inc"
|
|
|
|
.section .bss, "", @nobits # 0x80496700 - 0x80556420 ; 0x000BFD20
|
|
.global btu_cb
|
|
btu_cb:
|
|
.skip 0x88
|
|
.include "macros.inc"
|
|
|
|
.section .sdata, "wa" # 0x80556420 - 0x8055C6E0 ; 0x000062C0
|
|
.global btu_count
|
|
btu_count:
|
|
|
|
.4byte 0x01000000
|
|
|
|
.global execute_btu
|
|
execute_btu:
|
|
|
|
.4byte 0x00000001
|
|
.include "macros.inc"
|
|
|
|
.section .sbss, "", @nobits # 0x8055C6E0 - 0x8055DF80 ; 0x000018A0
|
|
.global _btu_g_count
|
|
_btu_g_count:
|
|
.skip 0x4
|
|
|
|
.global _btu_last_timer_tick
|
|
_btu_last_timer_tick:
|
|
.skip 0x4
|