donut-decomp/asm/gx/GXDisplayList.s
2022-10-17 09:11:35 +01:00

41 lines
1.9 KiB
ArmAsm

.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.global GXCallDisplayList
GXCallDisplayList:
/* 80038A50 00034890 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80038A54 00034894 7C 08 02 A6 */ mflr r0
/* 80038A58 00034898 90 01 00 24 */ stw r0, 0x24(r1)
/* 80038A5C 0003489C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80038A60 000348A0 83 E2 86 08 */ lwz r31, __GXData@sda21(r2)
/* 80038A64 000348A4 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80038A68 000348A8 7C 9E 23 78 */ mr r30, r4
/* 80038A6C 000348AC 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80038A70 000348B0 7C 7D 1B 78 */ mr r29, r3
/* 80038A74 000348B4 80 1F 05 FC */ lwz r0, 0x5fc(r31)
/* 80038A78 000348B8 2C 00 00 00 */ cmpwi r0, 0x0
/* 80038A7C 000348BC 41 82 00 08 */ beq lbl_80038A84
/* 80038A80 000348C0 4B FF C5 71 */ bl __GXSetDirtyState
.global lbl_80038A84
lbl_80038A84:
/* 80038A84 000348C4 80 1F 00 00 */ lwz r0, 0x0(r31)
/* 80038A88 000348C8 2C 00 00 00 */ cmpwi r0, 0x0
/* 80038A8C 000348CC 40 82 00 08 */ bne lbl_80038A94
/* 80038A90 000348D0 4B FF C9 31 */ bl __GXSendFlushPrim
.global lbl_80038A94
lbl_80038A94:
/* 80038A94 000348D4 3C 60 CC 01 */ lis r3, 0xCC008000@ha
/* 80038A98 000348D8 38 00 00 40 */ li r0, 0x40
/* 80038A9C 000348DC 98 03 80 00 */ stb r0, 0xCC008000@l(r3)
/* 80038AA0 000348E0 93 A3 80 00 */ stw r29, -0x8000(r3)
/* 80038AA4 000348E4 93 C3 80 00 */ stw r30, -0x8000(r3)
/* 80038AA8 000348E8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80038AAC 000348EC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80038AB0 000348F0 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80038AB4 000348F4 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80038AB8 000348F8 7C 08 03 A6 */ mtlr r0
/* 80038ABC 000348FC 38 21 00 20 */ addi r1, r1, 0x20
/* 80038AC0 00034900 4E 80 00 20 */ blr
/* 80038AC4 00034904 00 00 00 00 */ .4byte 0x00000000
/* 80038AC8 00034908 00 00 00 00 */ .4byte 0x00000000
/* 80038ACC 0003490C 00 00 00 00 */ .4byte 0x00000000