mirror of https://github.com/PrimeDecomp/prime.git
179 lines
8.0 KiB
ArmAsm
179 lines
8.0 KiB
ArmAsm
.include "macros.inc"
|
|
|
|
.section .sdata
|
|
|
|
.global lbl_805A8808
|
|
lbl_805A8808:
|
|
# ROM: 0x3F61A8
|
|
.4byte 0
|
|
.4byte 0
|
|
|
|
.section .text, "ax"
|
|
|
|
.global IsFinishedLoading__14CSaveableStateFv
|
|
IsFinishedLoading__14CSaveableStateFv:
|
|
/* 803018F8 002FE858 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
/* 803018FC 002FE85C 7C 08 02 A6 */ mflr r0
|
|
/* 80301900 002FE860 7C 64 1B 78 */ mr r4, r3
|
|
/* 80301904 002FE864 90 01 00 24 */ stw r0, 0x24(r1)
|
|
/* 80301908 002FE868 93 E1 00 1C */ stw r31, 0x1c(r1)
|
|
/* 8030190C 002FE86C 88 03 00 50 */ lbz r0, 0x50(r3)
|
|
/* 80301910 002FE870 28 00 00 00 */ cmplwi r0, 0
|
|
/* 80301914 002FE874 41 82 00 54 */ beq lbl_80301968
|
|
/* 80301918 002FE878 38 61 00 08 */ addi r3, r1, 8
|
|
/* 8030191C 002FE87C 38 84 00 48 */ addi r4, r4, 0x48
|
|
/* 80301920 002FE880 48 03 F5 89 */ bl __ct__6CTokenFRC6CToken
|
|
/* 80301924 002FE884 80 61 00 08 */ lwz r3, 8(r1)
|
|
/* 80301928 002FE888 3B E0 00 00 */ li r31, 0
|
|
/* 8030192C 002FE88C 80 03 00 10 */ lwz r0, 0x10(r3)
|
|
/* 80301930 002FE890 28 00 00 00 */ cmplwi r0, 0
|
|
/* 80301934 002FE894 41 82 00 20 */ beq lbl_80301954
|
|
/* 80301938 002FE898 38 61 00 08 */ addi r3, r1, 8
|
|
/* 8030193C 002FE89C 48 03 F4 D1 */ bl GetObj__6CTokenFv
|
|
/* 80301940 002FE8A0 80 63 00 04 */ lwz r3, 4(r3)
|
|
/* 80301944 002FE8A4 4B FF E5 ED */ bl IsFinishedLoading__11CRasterFontFv
|
|
/* 80301948 002FE8A8 54 60 06 3F */ clrlwi. r0, r3, 0x18
|
|
/* 8030194C 002FE8AC 41 82 00 08 */ beq lbl_80301954
|
|
/* 80301950 002FE8B0 3B E0 00 01 */ li r31, 1
|
|
lbl_80301954:
|
|
/* 80301954 002FE8B4 38 61 00 08 */ addi r3, r1, 8
|
|
/* 80301958 002FE8B8 38 80 00 00 */ li r4, 0
|
|
/* 8030195C 002FE8BC 48 03 F4 E5 */ bl __dt__6CTokenFv
|
|
/* 80301960 002FE8C0 7F E3 FB 78 */ mr r3, r31
|
|
/* 80301964 002FE8C4 48 00 00 08 */ b lbl_8030196C
|
|
lbl_80301968:
|
|
/* 80301968 002FE8C8 38 60 00 00 */ li r3, 0
|
|
lbl_8030196C:
|
|
/* 8030196C 002FE8CC 80 01 00 24 */ lwz r0, 0x24(r1)
|
|
/* 80301970 002FE8D0 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
|
/* 80301974 002FE8D4 7C 08 03 A6 */ mtlr r0
|
|
/* 80301978 002FE8D8 38 21 00 20 */ addi r1, r1, 0x20
|
|
/* 8030197C 002FE8DC 4E 80 00 20 */ blr
|
|
|
|
.global __ct__14CSaveableStateFv
|
|
__ct__14CSaveableStateFv:
|
|
/* 80301980 002FE8E0 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
/* 80301984 002FE8E4 7C 08 02 A6 */ mflr r0
|
|
/* 80301988 002FE8E8 90 01 00 14 */ stw r0, 0x14(r1)
|
|
/* 8030198C 002FE8EC 93 E1 00 0C */ stw r31, 0xc(r1)
|
|
/* 80301990 002FE8F0 7C 7F 1B 78 */ mr r31, r3
|
|
/* 80301994 002FE8F4 4B FF D0 41 */ bl __ct__18CDrawStringOptionsFv
|
|
/* 80301998 002FE8F8 38 80 00 00 */ li r4, 0
|
|
/* 8030199C 002FE8FC 38 00 00 03 */ li r0, 3
|
|
/* 803019A0 002FE900 98 9F 00 50 */ stb r4, 0x50(r31)
|
|
/* 803019A4 002FE904 90 1F 00 58 */ stw r0, 0x58(r31)
|
|
/* 803019A8 002FE908 90 1F 00 5C */ stw r0, 0x5c(r31)
|
|
/* 803019AC 002FE90C 80 1F 00 58 */ lwz r0, 0x58(r31)
|
|
/* 803019B0 002FE910 54 03 10 3B */ rlwinm. r3, r0, 2, 0, 0x1d
|
|
/* 803019B4 002FE914 40 82 00 0C */ bne lbl_803019C0
|
|
/* 803019B8 002FE918 90 9F 00 60 */ stw r4, 0x60(r31)
|
|
/* 803019BC 002FE91C 48 00 00 18 */ b lbl_803019D4
|
|
lbl_803019C0:
|
|
/* 803019C0 002FE920 3C 80 80 3D */ lis r4, lbl_803D6E88@ha
|
|
/* 803019C4 002FE924 38 A0 00 00 */ li r5, 0
|
|
/* 803019C8 002FE928 38 84 6E 88 */ addi r4, r4, lbl_803D6E88@l
|
|
/* 803019CC 002FE92C 48 01 3E 4D */ bl __nwa__FUlPCcPCc
|
|
/* 803019D0 002FE930 90 7F 00 60 */ stw r3, 0x60(r31)
|
|
lbl_803019D4:
|
|
/* 803019D4 002FE934 80 9F 00 60 */ lwz r4, 0x60(r31)
|
|
/* 803019D8 002FE938 38 60 00 00 */ li r3, 0
|
|
/* 803019DC 002FE93C 38 00 00 FF */ li r0, 0xff
|
|
/* 803019E0 002FE940 28 04 00 00 */ cmplwi r4, 0
|
|
/* 803019E4 002FE944 41 82 00 14 */ beq lbl_803019F8
|
|
/* 803019E8 002FE948 98 64 00 00 */ stb r3, 0(r4)
|
|
/* 803019EC 002FE94C 98 64 00 01 */ stb r3, 1(r4)
|
|
/* 803019F0 002FE950 98 64 00 02 */ stb r3, 2(r4)
|
|
/* 803019F4 002FE954 98 04 00 03 */ stb r0, 3(r4)
|
|
lbl_803019F8:
|
|
/* 803019F8 002FE958 34 84 00 04 */ addic. r4, r4, 4
|
|
/* 803019FC 002FE95C 41 82 00 14 */ beq lbl_80301A10
|
|
/* 80301A00 002FE960 98 64 00 00 */ stb r3, 0(r4)
|
|
/* 80301A04 002FE964 98 64 00 01 */ stb r3, 1(r4)
|
|
/* 80301A08 002FE968 98 64 00 02 */ stb r3, 2(r4)
|
|
/* 80301A0C 002FE96C 98 04 00 03 */ stb r0, 3(r4)
|
|
lbl_80301A10:
|
|
/* 80301A10 002FE970 34 84 00 04 */ addic. r4, r4, 4
|
|
/* 80301A14 002FE974 41 82 00 14 */ beq lbl_80301A28
|
|
/* 80301A18 002FE978 98 64 00 00 */ stb r3, 0(r4)
|
|
/* 80301A1C 002FE97C 98 64 00 01 */ stb r3, 1(r4)
|
|
/* 80301A20 002FE980 98 64 00 02 */ stb r3, 2(r4)
|
|
/* 80301A24 002FE984 98 04 00 03 */ stb r0, 3(r4)
|
|
lbl_80301A28:
|
|
/* 80301A28 002FE988 38 00 00 10 */ li r0, 0x10
|
|
/* 80301A2C 002FE98C 90 1F 00 68 */ stw r0, 0x68(r31)
|
|
/* 80301A30 002FE990 90 1F 00 6C */ stw r0, 0x6c(r31)
|
|
/* 80301A34 002FE994 80 7F 00 68 */ lwz r3, 0x68(r31)
|
|
/* 80301A38 002FE998 2C 03 00 00 */ cmpwi r3, 0
|
|
/* 80301A3C 002FE99C 40 82 00 10 */ bne lbl_80301A4C
|
|
/* 80301A40 002FE9A0 38 00 00 00 */ li r0, 0
|
|
/* 80301A44 002FE9A4 90 1F 00 70 */ stw r0, 0x70(r31)
|
|
/* 80301A48 002FE9A8 48 00 00 18 */ b lbl_80301A60
|
|
lbl_80301A4C:
|
|
/* 80301A4C 002FE9AC 3C 80 80 3D */ lis r4, lbl_803D6E88@ha
|
|
/* 80301A50 002FE9B0 38 A0 00 00 */ li r5, 0
|
|
/* 80301A54 002FE9B4 38 84 6E 88 */ addi r4, r4, lbl_803D6E88@l
|
|
/* 80301A58 002FE9B8 48 01 3D C1 */ bl __nwa__FUlPCcPCc
|
|
/* 80301A5C 002FE9BC 90 7F 00 70 */ stw r3, 0x70(r31)
|
|
lbl_80301A60:
|
|
/* 80301A60 002FE9C0 38 00 00 02 */ li r0, 2
|
|
/* 80301A64 002FE9C4 80 9F 00 70 */ lwz r4, 0x70(r31)
|
|
/* 80301A68 002FE9C8 38 60 00 00 */ li r3, 0
|
|
/* 80301A6C 002FE9CC 7C 09 03 A6 */ mtctr r0
|
|
lbl_80301A70:
|
|
/* 80301A70 002FE9D0 28 04 00 00 */ cmplwi r4, 0
|
|
/* 80301A74 002FE9D4 41 82 00 0C */ beq lbl_80301A80
|
|
/* 80301A78 002FE9D8 88 0D 9C 48 */ lbz r0, lbl_805A8808@sda21(r13)
|
|
/* 80301A7C 002FE9DC 98 04 00 00 */ stb r0, 0(r4)
|
|
lbl_80301A80:
|
|
/* 80301A80 002FE9E0 34 84 00 01 */ addic. r4, r4, 1
|
|
/* 80301A84 002FE9E4 41 82 00 0C */ beq lbl_80301A90
|
|
/* 80301A88 002FE9E8 88 0D 9C 48 */ lbz r0, lbl_805A8808@sda21(r13)
|
|
/* 80301A8C 002FE9EC 98 04 00 00 */ stb r0, 0(r4)
|
|
lbl_80301A90:
|
|
/* 80301A90 002FE9F0 34 84 00 01 */ addic. r4, r4, 1
|
|
/* 80301A94 002FE9F4 41 82 00 0C */ beq lbl_80301AA0
|
|
/* 80301A98 002FE9F8 88 0D 9C 48 */ lbz r0, lbl_805A8808@sda21(r13)
|
|
/* 80301A9C 002FE9FC 98 04 00 00 */ stb r0, 0(r4)
|
|
lbl_80301AA0:
|
|
/* 80301AA0 002FEA00 34 84 00 01 */ addic. r4, r4, 1
|
|
/* 80301AA4 002FEA04 41 82 00 0C */ beq lbl_80301AB0
|
|
/* 80301AA8 002FEA08 88 0D 9C 48 */ lbz r0, lbl_805A8808@sda21(r13)
|
|
/* 80301AAC 002FEA0C 98 04 00 00 */ stb r0, 0(r4)
|
|
lbl_80301AB0:
|
|
/* 80301AB0 002FEA10 34 84 00 01 */ addic. r4, r4, 1
|
|
/* 80301AB4 002FEA14 41 82 00 0C */ beq lbl_80301AC0
|
|
/* 80301AB8 002FEA18 88 0D 9C 48 */ lbz r0, lbl_805A8808@sda21(r13)
|
|
/* 80301ABC 002FEA1C 98 04 00 00 */ stb r0, 0(r4)
|
|
lbl_80301AC0:
|
|
/* 80301AC0 002FEA20 34 84 00 01 */ addic. r4, r4, 1
|
|
/* 80301AC4 002FEA24 41 82 00 0C */ beq lbl_80301AD0
|
|
/* 80301AC8 002FEA28 88 0D 9C 48 */ lbz r0, lbl_805A8808@sda21(r13)
|
|
/* 80301ACC 002FEA2C 98 04 00 00 */ stb r0, 0(r4)
|
|
lbl_80301AD0:
|
|
/* 80301AD0 002FEA30 34 84 00 01 */ addic. r4, r4, 1
|
|
/* 80301AD4 002FEA34 41 82 00 0C */ beq lbl_80301AE0
|
|
/* 80301AD8 002FEA38 88 0D 9C 48 */ lbz r0, lbl_805A8808@sda21(r13)
|
|
/* 80301ADC 002FEA3C 98 04 00 00 */ stb r0, 0(r4)
|
|
lbl_80301AE0:
|
|
/* 80301AE0 002FEA40 34 84 00 01 */ addic. r4, r4, 1
|
|
/* 80301AE4 002FEA44 41 82 00 0C */ beq lbl_80301AF0
|
|
/* 80301AE8 002FEA48 88 0D 9C 48 */ lbz r0, lbl_805A8808@sda21(r13)
|
|
/* 80301AEC 002FEA4C 98 04 00 00 */ stb r0, 0(r4)
|
|
lbl_80301AF0:
|
|
/* 80301AF0 002FEA50 38 63 00 07 */ addi r3, r3, 7
|
|
/* 80301AF4 002FEA54 38 84 00 01 */ addi r4, r4, 1
|
|
/* 80301AF8 002FEA58 42 00 FF 78 */ bdnz lbl_80301A70
|
|
/* 80301AFC 002FEA5C C0 02 C7 48 */ lfs f0, lbl_805AE468@sda21(r2)
|
|
/* 80301B00 002FEA60 38 00 00 00 */ li r0, 0
|
|
/* 80301B04 002FEA64 7F E3 FB 78 */ mr r3, r31
|
|
/* 80301B08 002FEA68 D0 1F 00 74 */ stfs f0, 0x74(r31)
|
|
/* 80301B0C 002FEA6C 90 1F 00 78 */ stw r0, 0x78(r31)
|
|
/* 80301B10 002FEA70 98 1F 00 7C */ stb r0, 0x7c(r31)
|
|
/* 80301B14 002FEA74 90 1F 00 80 */ stw r0, 0x80(r31)
|
|
/* 80301B18 002FEA78 90 1F 00 84 */ stw r0, 0x84(r31)
|
|
/* 80301B1C 002FEA7C 83 E1 00 0C */ lwz r31, 0xc(r1)
|
|
/* 80301B20 002FEA80 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
/* 80301B24 002FEA84 7C 08 03 A6 */ mtlr r0
|
|
/* 80301B28 002FEA88 38 21 00 10 */ addi r1, r1, 0x10
|
|
/* 80301B2C 002FEA8C 4E 80 00 20 */ blr
|