tp/asm/f/pc/create/f_pc_create_req.s

274 lines
12 KiB
ArmAsm

.include "macros.inc"
.section .text, "ax" # 80020acc
.global fpcCtRq_isCreatingByID
fpcCtRq_isCreatingByID:
/* 80020ACC 0001DA0C 80 63 00 0C */ lwz r3, 0xc(r3)
/* 80020AD0 0001DA10 80 63 00 3C */ lwz r3, 0x3c(r3)
/* 80020AD4 0001DA14 80 04 00 00 */ lwz r0, 0(r4)
/* 80020AD8 0001DA18 7C 03 00 50 */ subf r0, r3, r0
/* 80020ADC 0001DA1C 7C 00 00 34 */ cntlzw r0, r0
/* 80020AE0 0001DA20 54 03 D9 7E */ srwi r3, r0, 5
/* 80020AE4 0001DA24 4E 80 00 20 */ blr
.global fpcCtRq_IsCreatingByID
fpcCtRq_IsCreatingByID:
/* 80020AE8 0001DA28 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80020AEC 0001DA2C 7C 08 02 A6 */ mflr r0
/* 80020AF0 0001DA30 90 01 00 14 */ stw r0, 0x14(r1)
/* 80020AF4 0001DA34 90 61 00 08 */ stw r3, 8(r1)
.global fpcCtRq_isCreatingByID
/* 80020AF8 0001DA38 3C 60 80 02 */ lis r3, fpcCtRq_isCreatingByID@ha
.global fpcCtRq_isCreatingByID
/* 80020AFC 0001DA3C 38 63 0A CC */ addi r3, r3, fpcCtRq_isCreatingByID@l
/* 80020B00 0001DA40 38 81 00 08 */ addi r4, r1, 8
/* 80020B04 0001DA44 4B FF FF 01 */ bl fpcCtIt_Judge
/* 80020B08 0001DA48 30 03 FF FF */ addic r0, r3, -1
/* 80020B0C 0001DA4C 7C 60 19 10 */ subfe r3, r0, r3
/* 80020B10 0001DA50 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80020B14 0001DA54 7C 08 03 A6 */ mtlr r0
/* 80020B18 0001DA58 38 21 00 10 */ addi r1, r1, 0x10
/* 80020B1C 0001DA5C 4E 80 00 20 */ blr
.global fpcCtRq_CreateQTo
fpcCtRq_CreateQTo:
/* 80020B20 0001DA60 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80020B24 0001DA64 7C 08 02 A6 */ mflr r0
/* 80020B28 0001DA68 90 01 00 14 */ stw r0, 0x14(r1)
/* 80020B2C 0001DA6C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80020B30 0001DA70 7C 7F 1B 78 */ mr r31, r3
/* 80020B34 0001DA74 48 00 03 31 */ bl fpcCtTg_CreateQTo
/* 80020B38 0001DA78 80 7F 00 44 */ lwz r3, 0x44(r31)
/* 80020B3C 0001DA7C 48 00 0B 89 */ bl fpcLy_CreatedMesg
/* 80020B40 0001DA80 38 7F 00 18 */ addi r3, r31, 0x18
/* 80020B44 0001DA84 48 00 0A 45 */ bl fpcLy_CancelQTo
/* 80020B48 0001DA88 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80020B4C 0001DA8C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80020B50 0001DA90 7C 08 03 A6 */ mtlr r0
/* 80020B54 0001DA94 38 21 00 10 */ addi r1, r1, 0x10
/* 80020B58 0001DA98 4E 80 00 20 */ blr
.global fpcCtRq_ToCreateQ
fpcCtRq_ToCreateQ:
/* 80020B5C 0001DA9C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80020B60 0001DAA0 7C 08 02 A6 */ mflr r0
/* 80020B64 0001DAA4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80020B68 0001DAA8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80020B6C 0001DAAC 7C 7F 1B 78 */ mr r31, r3
/* 80020B70 0001DAB0 80 63 00 44 */ lwz r3, 0x44(r3)
/* 80020B74 0001DAB4 48 00 0B 41 */ bl fpcLy_CreatingMesg
/* 80020B78 0001DAB8 80 7F 00 44 */ lwz r3, 0x44(r31)
/* 80020B7C 0001DABC 38 9F 00 18 */ addi r4, r31, 0x18
/* 80020B80 0001DAC0 48 00 0A 29 */ bl fpcLy_ToCancelQ
/* 80020B84 0001DAC4 7F E3 FB 78 */ mr r3, r31
/* 80020B88 0001DAC8 48 00 02 B1 */ bl fpcCtTg_ToCreateQ
/* 80020B8C 0001DACC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80020B90 0001DAD0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80020B94 0001DAD4 7C 08 03 A6 */ mtlr r0
/* 80020B98 0001DAD8 38 21 00 10 */ addi r1, r1, 0x10
/* 80020B9C 0001DADC 4E 80 00 20 */ blr
.global fpcCtRq_Delete
fpcCtRq_Delete:
/* 80020BA0 0001DAE0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80020BA4 0001DAE4 7C 08 02 A6 */ mflr r0
/* 80020BA8 0001DAE8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80020BAC 0001DAEC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80020BB0 0001DAF0 7C 7F 1B 78 */ mr r31, r3
/* 80020BB4 0001DAF4 4B FF FF 6D */ bl fpcCtRq_CreateQTo
/* 80020BB8 0001DAF8 80 7F 00 34 */ lwz r3, 0x34(r31)
/* 80020BBC 0001DAFC 28 03 00 00 */ cmplwi r3, 0
/* 80020BC0 0001DB00 41 82 00 20 */ beq lbl_80020BE0
/* 80020BC4 0001DB04 80 63 00 08 */ lwz r3, 8(r3)
/* 80020BC8 0001DB08 7F E4 FB 78 */ mr r4, r31
/* 80020BCC 0001DB0C 48 00 18 5D */ bl fpcMtd_Method
/* 80020BD0 0001DB10 2C 03 00 00 */ cmpwi r3, 0
/* 80020BD4 0001DB14 40 82 00 0C */ bne lbl_80020BE0
/* 80020BD8 0001DB18 38 60 00 00 */ li r3, 0
/* 80020BDC 0001DB1C 48 00 00 24 */ b lbl_80020C00
lbl_80020BE0:
/* 80020BE0 0001DB20 80 7F 00 40 */ lwz r3, 0x40(r31)
/* 80020BE4 0001DB24 28 03 00 00 */ cmplwi r3, 0
/* 80020BE8 0001DB28 41 82 00 0C */ beq lbl_80020BF4
/* 80020BEC 0001DB2C 38 00 00 00 */ li r0, 0
/* 80020BF0 0001DB30 90 03 00 14 */ stw r0, 0x14(r3)
lbl_80020BF4:
/* 80020BF4 0001DB34 7F E3 FB 78 */ mr r3, r31
/* 80020BF8 0001DB38 48 24 26 69 */ bl cMl_NS_free
/* 80020BFC 0001DB3C 38 60 00 01 */ li r3, 1
lbl_80020C00:
/* 80020C00 0001DB40 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80020C04 0001DB44 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80020C08 0001DB48 7C 08 03 A6 */ mtlr r0
/* 80020C0C 0001DB4C 38 21 00 10 */ addi r1, r1, 0x10
/* 80020C10 0001DB50 4E 80 00 20 */ blr
.global fpcCtRq_Cancel
fpcCtRq_Cancel:
/* 80020C14 0001DB54 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80020C18 0001DB58 7C 08 02 A6 */ mflr r0
/* 80020C1C 0001DB5C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80020C20 0001DB60 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80020C24 0001DB64 7C 7F 1B 79 */ or. r31, r3, r3
/* 80020C28 0001DB68 41 82 00 6C */ beq lbl_80020C94
/* 80020C2C 0001DB6C 88 1F 00 15 */ lbz r0, 0x15(r31)
/* 80020C30 0001DB70 7C 00 07 75 */ extsb. r0, r0
/* 80020C34 0001DB74 40 82 00 60 */ bne lbl_80020C94
/* 80020C38 0001DB78 38 00 00 01 */ li r0, 1
/* 80020C3C 0001DB7C 98 1F 00 15 */ stb r0, 0x15(r31)
/* 80020C40 0001DB80 80 7F 00 40 */ lwz r3, 0x40(r31)
/* 80020C44 0001DB84 28 03 00 00 */ cmplwi r3, 0
/* 80020C48 0001DB88 41 82 00 18 */ beq lbl_80020C60
/* 80020C4C 0001DB8C 48 00 06 59 */ bl fpcDt_Delete
/* 80020C50 0001DB90 2C 03 00 00 */ cmpwi r3, 0
/* 80020C54 0001DB94 40 82 00 0C */ bne lbl_80020C60
/* 80020C58 0001DB98 38 60 00 00 */ li r3, 0
/* 80020C5C 0001DB9C 48 00 00 3C */ b lbl_80020C98
lbl_80020C60:
/* 80020C60 0001DBA0 80 7F 00 34 */ lwz r3, 0x34(r31)
/* 80020C64 0001DBA4 28 03 00 00 */ cmplwi r3, 0
/* 80020C68 0001DBA8 41 82 00 20 */ beq lbl_80020C88
/* 80020C6C 0001DBAC 80 63 00 04 */ lwz r3, 4(r3)
/* 80020C70 0001DBB0 7F E4 FB 78 */ mr r4, r31
/* 80020C74 0001DBB4 48 00 17 B5 */ bl fpcMtd_Method
/* 80020C78 0001DBB8 2C 03 00 00 */ cmpwi r3, 0
/* 80020C7C 0001DBBC 40 82 00 0C */ bne lbl_80020C88
/* 80020C80 0001DBC0 38 60 00 00 */ li r3, 0
/* 80020C84 0001DBC4 48 00 00 14 */ b lbl_80020C98
lbl_80020C88:
/* 80020C88 0001DBC8 7F E3 FB 78 */ mr r3, r31
/* 80020C8C 0001DBCC 4B FF FF 15 */ bl fpcCtRq_Delete
/* 80020C90 0001DBD0 48 00 00 08 */ b lbl_80020C98
lbl_80020C94:
/* 80020C94 0001DBD4 38 60 00 01 */ li r3, 1
lbl_80020C98:
/* 80020C98 0001DBD8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80020C9C 0001DBDC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80020CA0 0001DBE0 7C 08 03 A6 */ mtlr r0
/* 80020CA4 0001DBE4 38 21 00 10 */ addi r1, r1, 0x10
/* 80020CA8 0001DBE8 4E 80 00 20 */ blr
.global fpcCtRq_IsDoing
fpcCtRq_IsDoing:
/* 80020CAC 0001DBEC 28 03 00 00 */ cmplwi r3, 0
/* 80020CB0 0001DBF0 41 82 00 10 */ beq lbl_80020CC0
/* 80020CB4 0001DBF4 88 63 00 14 */ lbz r3, 0x14(r3)
/* 80020CB8 0001DBF8 7C 63 07 74 */ extsb r3, r3
/* 80020CBC 0001DBFC 4E 80 00 20 */ blr
lbl_80020CC0:
/* 80020CC0 0001DC00 38 60 00 00 */ li r3, 0
/* 80020CC4 0001DC04 4E 80 00 20 */ blr
.global fpcCtRq_Do
fpcCtRq_Do:
/* 80020CC8 0001DC08 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80020CCC 0001DC0C 7C 08 02 A6 */ mflr r0
/* 80020CD0 0001DC10 90 01 00 14 */ stw r0, 0x14(r1)
/* 80020CD4 0001DC14 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80020CD8 0001DC18 7C 7F 1B 78 */ mr r31, r3
/* 80020CDC 0001DC1C 38 A0 00 04 */ li r5, 4
/* 80020CE0 0001DC20 80 83 00 34 */ lwz r4, 0x34(r3)
/* 80020CE4 0001DC24 28 04 00 00 */ cmplwi r4, 0
/* 80020CE8 0001DC28 41 82 00 2C */ beq lbl_80020D14
/* 80020CEC 0001DC2C 81 84 00 00 */ lwz r12, 0(r4)
/* 80020CF0 0001DC30 28 0C 00 00 */ cmplwi r12, 0
/* 80020CF4 0001DC34 41 82 00 20 */ beq lbl_80020D14
/* 80020CF8 0001DC38 38 00 00 01 */ li r0, 1
/* 80020CFC 0001DC3C 98 1F 00 14 */ stb r0, 0x14(r31)
/* 80020D00 0001DC40 7D 89 03 A6 */ mtctr r12
/* 80020D04 0001DC44 4E 80 04 21 */ bctrl
/* 80020D08 0001DC48 7C 65 1B 78 */ mr r5, r3
/* 80020D0C 0001DC4C 38 00 00 00 */ li r0, 0
/* 80020D10 0001DC50 98 1F 00 14 */ stb r0, 0x14(r31)
lbl_80020D14:
/* 80020D14 0001DC54 2C 05 00 04 */ cmpwi r5, 4
/* 80020D18 0001DC58 41 82 00 20 */ beq lbl_80020D38
/* 80020D1C 0001DC5C 40 80 00 10 */ bge lbl_80020D2C
/* 80020D20 0001DC60 2C 05 00 03 */ cmpwi r5, 3
/* 80020D24 0001DC64 40 80 00 3C */ bge lbl_80020D60
/* 80020D28 0001DC68 48 00 00 44 */ b lbl_80020D6C
lbl_80020D2C:
/* 80020D2C 0001DC6C 2C 05 00 06 */ cmpwi r5, 6
/* 80020D30 0001DC70 40 80 00 3C */ bge lbl_80020D6C
/* 80020D34 0001DC74 48 00 00 2C */ b lbl_80020D60
lbl_80020D38:
/* 80020D38 0001DC78 80 7F 00 40 */ lwz r3, 0x40(r31)
/* 80020D3C 0001DC7C 48 00 07 D5 */ bl fpcEx_ToExecuteQ
/* 80020D40 0001DC80 2C 03 00 00 */ cmpwi r3, 0
/* 80020D44 0001DC84 40 82 00 10 */ bne lbl_80020D54
/* 80020D48 0001DC88 7F E3 FB 78 */ mr r3, r31
/* 80020D4C 0001DC8C 4B FF FE C9 */ bl fpcCtRq_Cancel
/* 80020D50 0001DC90 48 00 00 20 */ b lbl_80020D70
lbl_80020D54:
/* 80020D54 0001DC94 7F E3 FB 78 */ mr r3, r31
/* 80020D58 0001DC98 4B FF FE 49 */ bl fpcCtRq_Delete
/* 80020D5C 0001DC9C 48 00 00 14 */ b lbl_80020D70
lbl_80020D60:
/* 80020D60 0001DCA0 7F E3 FB 78 */ mr r3, r31
/* 80020D64 0001DCA4 4B FF FE B1 */ bl fpcCtRq_Cancel
/* 80020D68 0001DCA8 48 00 00 08 */ b lbl_80020D70
lbl_80020D6C:
/* 80020D6C 0001DCAC 38 60 00 01 */ li r3, 1
lbl_80020D70:
/* 80020D70 0001DCB0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80020D74 0001DCB4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80020D78 0001DCB8 7C 08 03 A6 */ mtlr r0
/* 80020D7C 0001DCBC 38 21 00 10 */ addi r1, r1, 0x10
/* 80020D80 0001DCC0 4E 80 00 20 */ blr
.global fpcCtRq_Handler
fpcCtRq_Handler:
/* 80020D84 0001DCC4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80020D88 0001DCC8 7C 08 02 A6 */ mflr r0
/* 80020D8C 0001DCCC 90 01 00 14 */ stw r0, 0x14(r1)
.global fpcCtRq_Do
/* 80020D90 0001DCD0 3C 60 80 02 */ lis r3, fpcCtRq_Do@ha
.global fpcCtRq_Do
/* 80020D94 0001DCD4 38 63 0C C8 */ addi r3, r3, fpcCtRq_Do@l
/* 80020D98 0001DCD8 38 80 00 00 */ li r4, 0
/* 80020D9C 0001DCDC 4B FF FC 2D */ bl fpcCtIt_Method
/* 80020DA0 0001DCE0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80020DA4 0001DCE4 7C 08 03 A6 */ mtlr r0
/* 80020DA8 0001DCE8 38 21 00 10 */ addi r1, r1, 0x10
/* 80020DAC 0001DCEC 4E 80 00 20 */ blr
.global fpcCtRq_Create
fpcCtRq_Create:
/* 80020DB0 0001DCF0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80020DB4 0001DCF4 7C 08 02 A6 */ mflr r0
/* 80020DB8 0001DCF8 90 01 00 24 */ stw r0, 0x24(r1)
/* 80020DBC 0001DCFC 39 61 00 20 */ addi r11, r1, 0x20
/* 80020DC0 0001DD00 48 34 14 1D */ bl _savegpr_29
/* 80020DC4 0001DD04 7C 7D 1B 78 */ mr r29, r3
/* 80020DC8 0001DD08 7C BE 2B 78 */ mr r30, r5
/* 80020DCC 0001DD0C 38 60 FF FC */ li r3, -4
/* 80020DD0 0001DD10 48 24 24 59 */ bl cMl_NS_memalignB
/* 80020DD4 0001DD14 7C 7F 1B 79 */ or. r31, r3, r3
/* 80020DD8 0001DD18 41 82 00 44 */ beq lbl_80020E1C
/* 80020DDC 0001DD1C 7F E4 FB 78 */ mr r4, r31
/* 80020DE0 0001DD20 48 00 00 A5 */ bl fpcCtTg_Init
/* 80020DE4 0001DD24 38 7F 00 18 */ addi r3, r31, 0x18
/* 80020DE8 0001DD28 3C 80 80 02 */ lis r4, fpcCtRq_Cancel@ha
/* 80020DEC 0001DD2C 38 84 0C 14 */ addi r4, r4, fpcCtRq_Cancel@l
/* 80020DF0 0001DD30 7F E5 FB 78 */ mr r5, r31
/* 80020DF4 0001DD34 48 00 2A 05 */ bl fpcMtdTg_Init
/* 80020DF8 0001DD38 93 BF 00 44 */ stw r29, 0x44(r31)
/* 80020DFC 0001DD3C 93 DF 00 34 */ stw r30, 0x34(r31)
/* 80020E00 0001DD40 4B FF F8 9D */ bl fpcBs_MakeOfId
/* 80020E04 0001DD44 90 7F 00 3C */ stw r3, 0x3c(r31)
/* 80020E08 0001DD48 38 00 00 00 */ li r0, 0
/* 80020E0C 0001DD4C 90 1F 00 40 */ stw r0, 0x40(r31)
/* 80020E10 0001DD50 98 1F 00 15 */ stb r0, 0x15(r31)
/* 80020E14 0001DD54 7F E3 FB 78 */ mr r3, r31
/* 80020E18 0001DD58 4B FF FD 45 */ bl fpcCtRq_ToCreateQ
lbl_80020E1C:
/* 80020E1C 0001DD5C 7F E3 FB 78 */ mr r3, r31
/* 80020E20 0001DD60 39 61 00 20 */ addi r11, r1, 0x20
/* 80020E24 0001DD64 48 34 14 05 */ bl _restgpr_29
/* 80020E28 0001DD68 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80020E2C 0001DD6C 7C 08 03 A6 */ mtlr r0
/* 80020E30 0001DD70 38 21 00 20 */ addi r1, r1, 0x20
/* 80020E34 0001DD74 4E 80 00 20 */ blr