tp/asm/f/pc/f_pc_draw.s

76 lines
3.3 KiB
ArmAsm

.include "macros.inc"
.section .text, "ax" # 80023954
.global fpcDw_Execute
fpcDw_Execute:
/* 80023954 00020894 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80023958 00020898 7C 08 02 A6 */ mflr r0
/* 8002395C 0002089C 90 01 00 24 */ stw r0, 0x24(r1)
/* 80023960 000208A0 39 61 00 20 */ addi r11, r1, 0x20
/* 80023964 000208A4 48 33 E8 79 */ bl _savegpr_29
/* 80023968 000208A8 7C 7D 1B 78 */ mr r29, r3
/* 8002396C 000208AC 38 80 00 02 */ li r4, 2
/* 80023970 000208B0 4B FF FE D5 */ bl fpcPause_IsEnable
/* 80023974 000208B4 2C 03 00 00 */ cmpwi r3, 0
/* 80023978 000208B8 40 82 00 60 */ bne lbl_800239D8
/* 8002397C 000208BC 4B FF DD 79 */ bl fpcLy_CurrentLayer
/* 80023980 000208C0 7C 7F 1B 78 */ mr r31, r3
/* 80023984 000208C4 80 6D 87 B0 */ lwz r3, lbl_80450D30-_SDA_BASE_(r13)
/* 80023988 000208C8 80 9D 00 B4 */ lwz r4, 0xb4(r29)
/* 8002398C 000208CC 4B FF CC C1 */ bl fpcBs_Is_JustOfType
/* 80023990 000208D0 2C 03 00 00 */ cmpwi r3, 0
/* 80023994 000208D4 41 82 00 10 */ beq lbl_800239A4
/* 80023998 000208D8 80 7D 00 A8 */ lwz r3, 0xa8(r29)
/* 8002399C 000208DC 83 C3 00 10 */ lwz r30, 0x10(r3)
/* 800239A0 000208E0 48 00 00 0C */ b lbl_800239AC
lbl_800239A4:
/* 800239A4 000208E4 80 7D 00 A8 */ lwz r3, 0xa8(r29)
/* 800239A8 000208E8 83 C3 00 10 */ lwz r30, 0x10(r3)
lbl_800239AC:
/* 800239AC 000208EC 80 7D 00 2C */ lwz r3, 0x2c(r29)
/* 800239B0 000208F0 4B FF DD 3D */ bl fpcLy_SetCurrentLayer
/* 800239B4 000208F4 7F A3 EB 78 */ mr r3, r29
/* 800239B8 000208F8 7F CC F3 78 */ mr r12, r30
/* 800239BC 000208FC 7D 89 03 A6 */ mtctr r12
/* 800239C0 00020900 4E 80 04 21 */ bctrl
/* 800239C4 00020904 7C 7E 1B 78 */ mr r30, r3
/* 800239C8 00020908 7F E3 FB 78 */ mr r3, r31
/* 800239CC 0002090C 4B FF DD 21 */ bl fpcLy_SetCurrentLayer
/* 800239D0 00020910 7F C3 F3 78 */ mr r3, r30
/* 800239D4 00020914 48 00 00 08 */ b lbl_800239DC
lbl_800239D8:
/* 800239D8 00020918 38 60 00 00 */ li r3, 0
lbl_800239DC:
/* 800239DC 0002091C 39 61 00 20 */ addi r11, r1, 0x20
/* 800239E0 00020920 48 33 E8 49 */ bl _restgpr_29
/* 800239E4 00020924 80 01 00 24 */ lwz r0, 0x24(r1)
/* 800239E8 00020928 7C 08 03 A6 */ mtlr r0
/* 800239EC 0002092C 38 21 00 20 */ addi r1, r1, 0x20
/* 800239F0 00020930 4E 80 00 20 */ blr
.global fpcDw_Handler
fpcDw_Handler:
/* 800239F4 00020934 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800239F8 00020938 7C 08 02 A6 */ mflr r0
/* 800239FC 0002093C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80023A00 00020940 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80023A04 00020944 93 C1 00 08 */ stw r30, 8(r1)
/* 80023A08 00020948 7C 7E 1B 78 */ mr r30, r3
/* 80023A0C 0002094C 7C 9F 23 78 */ mr r31, r4
/* 80023A10 00020950 48 23 F8 E9 */ bl cAPIGph_BeforeOfDraw
/* 80023A14 00020954 7F E3 FB 78 */ mr r3, r31
/* 80023A18 00020958 7F CC F3 78 */ mr r12, r30
/* 80023A1C 0002095C 7D 89 03 A6 */ mtctr r12
/* 80023A20 00020960 4E 80 04 21 */ bctrl
/* 80023A24 00020964 7C 7F 1B 78 */ mr r31, r3
/* 80023A28 00020968 48 23 F9 01 */ bl cAPIGph_AfterOfDraw
/* 80023A2C 0002096C 7F E3 FB 78 */ mr r3, r31
/* 80023A30 00020970 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80023A34 00020974 83 C1 00 08 */ lwz r30, 8(r1)
/* 80023A38 00020978 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80023A3C 0002097C 7C 08 03 A6 */ mtlr r0
/* 80023A40 00020980 38 21 00 10 */ addi r1, r1, 0x10
/* 80023A44 00020984 4E 80 00 20 */ blr