mirror of https://github.com/zeldaret/tp.git
89 lines
3.9 KiB
ArmAsm
89 lines
3.9 KiB
ArmAsm
.include "macros.inc"
|
|
|
|
.section .text, "ax" # 80023a48
|
|
|
|
|
|
/* 80023A48 00020988 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
/* 80023A4C 0002098C 7C 08 02 A6 */ mflr r0
|
|
/* 80023A50 00020990 90 01 00 14 */ stw r0, 0x14(r1)
|
|
/* 80023A54 00020994 7C 64 1B 78 */ mr r4, r3
|
|
/* 80023A58 00020998 81 83 00 48 */ lwz r12, 0x48(r3)
|
|
/* 80023A5C 0002099C 28 0C 00 00 */ cmplwi r12, 0
|
|
/* 80023A60 000209A0 41 82 00 24 */ beq lbl_80023A84
|
|
/* 80023A64 000209A4 80 64 00 40 */ lwz r3, 0x40(r4)
|
|
/* 80023A68 000209A8 80 84 00 4C */ lwz r4, 0x4c(r4)
|
|
/* 80023A6C 000209AC 7D 89 03 A6 */ mtctr r12
|
|
/* 80023A70 000209B0 4E 80 04 21 */ bctrl
|
|
/* 80023A74 000209B4 2C 03 00 00 */ cmpwi r3, 0
|
|
/* 80023A78 000209B8 40 82 00 0C */ bne lbl_80023A84
|
|
/* 80023A7C 000209BC 38 60 00 03 */ li r3, 3
|
|
/* 80023A80 000209C0 48 00 00 08 */ b lbl_80023A88
|
|
lbl_80023A84:
|
|
/* 80023A84 000209C4 38 60 00 04 */ li r3, 4
|
|
lbl_80023A88:
|
|
/* 80023A88 000209C8 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
/* 80023A8C 000209CC 7C 08 03 A6 */ mtlr r0
|
|
/* 80023A90 000209D0 38 21 00 10 */ addi r1, r1, 0x10
|
|
/* 80023A94 000209D4 4E 80 00 20 */ blr
|
|
/* 80023A98 000209D8 38 60 00 01 */ li r3, 1
|
|
/* 80023A9C 000209DC 4E 80 00 20 */ blr
|
|
|
|
.global fpcFCtRq_Request
|
|
fpcFCtRq_Request:
|
|
/* 80023AA0 000209E0 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
/* 80023AA4 000209E4 7C 08 02 A6 */ mflr r0
|
|
/* 80023AA8 000209E8 90 01 00 24 */ stw r0, 0x24(r1)
|
|
/* 80023AAC 000209EC 39 61 00 20 */ addi r11, r1, 0x20
|
|
/* 80023AB0 000209F0 48 33 E7 21 */ bl _savegpr_26
|
|
/* 80023AB4 000209F4 7C 7A 1B 78 */ mr r26, r3
|
|
/* 80023AB8 000209F8 7C 9B 23 78 */ mr r27, r4
|
|
/* 80023ABC 000209FC 7C BC 2B 78 */ mr r28, r5
|
|
/* 80023AC0 00020A00 7C DD 33 78 */ mr r29, r6
|
|
/* 80023AC4 00020A04 7C FE 3B 78 */ mr r30, r7
|
|
/* 80023AC8 00020A08 7F 63 DB 78 */ mr r3, r27
|
|
/* 80023ACC 00020A0C 4B FF E4 ED */ bl fpcLd_Use
|
|
/* 80023AD0 00020A10 2C 03 00 00 */ cmpwi r3, 0
|
|
/* 80023AD4 00020A14 40 82 00 0C */ bne lbl_80023AE0
|
|
/* 80023AD8 00020A18 38 60 00 00 */ li r3, 0
|
|
/* 80023ADC 00020A1C 48 00 00 7C */ b lbl_80023B58
|
|
lbl_80023AE0:
|
|
/* 80023AE0 00020A20 7F 43 D3 78 */ mr r3, r26
|
|
/* 80023AE4 00020A24 38 80 00 50 */ li r4, 0x50
|
|
/* 80023AE8 00020A28 3C A0 80 3A */ lis r5, lbl_803A3AE0@ha
|
|
/* 80023AEC 00020A2C 38 A5 3A E0 */ addi r5, r5, lbl_803A3AE0@l
|
|
/* 80023AF0 00020A30 4B FF D2 C1 */ bl fpcCtRq_Create
|
|
/* 80023AF4 00020A34 7C 7F 1B 79 */ or. r31, r3, r3
|
|
/* 80023AF8 00020A38 41 82 00 5C */ beq lbl_80023B54
|
|
/* 80023AFC 00020A3C 7F 43 D3 78 */ mr r3, r26
|
|
/* 80023B00 00020A40 4B FF DB ED */ bl fpcLy_SetCurrentLayer
|
|
/* 80023B04 00020A44 4B FF CB 99 */ bl fpcBs_MakeOfId
|
|
/* 80023B08 00020A48 7C 64 1B 78 */ mr r4, r3
|
|
/* 80023B0C 00020A4C 7F 63 DB 78 */ mr r3, r27
|
|
/* 80023B10 00020A50 7F C5 F3 78 */ mr r5, r30
|
|
/* 80023B14 00020A54 4B FF CD 0D */ bl fpcBs_Create
|
|
/* 80023B18 00020A58 7C 7E 1B 79 */ or. r30, r3, r3
|
|
/* 80023B1C 00020A5C 41 82 00 30 */ beq lbl_80023B4C
|
|
/* 80023B20 00020A60 93 FE 00 14 */ stw r31, 0x14(r30)
|
|
/* 80023B24 00020A64 93 DF 00 40 */ stw r30, 0x40(r31)
|
|
/* 80023B28 00020A68 80 1E 00 04 */ lwz r0, 4(r30)
|
|
/* 80023B2C 00020A6C 90 1F 00 3C */ stw r0, 0x3c(r31)
|
|
/* 80023B30 00020A70 4B FF CD ED */ bl fpcBs_SubCreate
|
|
/* 80023B34 00020A74 2C 03 00 02 */ cmpwi r3, 2
|
|
/* 80023B38 00020A78 40 82 00 14 */ bne lbl_80023B4C
|
|
/* 80023B3C 00020A7C 93 9F 00 48 */ stw r28, 0x48(r31)
|
|
/* 80023B40 00020A80 93 BF 00 4C */ stw r29, 0x4c(r31)
|
|
/* 80023B44 00020A84 7F C3 F3 78 */ mr r3, r30
|
|
/* 80023B48 00020A88 48 00 00 10 */ b lbl_80023B58
|
|
lbl_80023B4C:
|
|
/* 80023B4C 00020A8C 7F E3 FB 78 */ mr r3, r31
|
|
/* 80023B50 00020A90 4B FF D0 C5 */ bl fpcCtRq_Cancel
|
|
lbl_80023B54:
|
|
/* 80023B54 00020A94 38 60 00 00 */ li r3, 0
|
|
lbl_80023B58:
|
|
/* 80023B58 00020A98 39 61 00 20 */ addi r11, r1, 0x20
|
|
/* 80023B5C 00020A9C 48 33 E6 C1 */ bl _restgpr_26
|
|
/* 80023B60 00020AA0 80 01 00 24 */ lwz r0, 0x24(r1)
|
|
/* 80023B64 00020AA4 7C 08 03 A6 */ mtlr r0
|
|
/* 80023B68 00020AA8 38 21 00 20 */ addi r1, r1, 0x20
|
|
/* 80023B6C 00020AAC 4E 80 00 20 */ blr
|