summaryrefslogtreecommitdiff
path: root/asm/code_8016340C.s
diff options
context:
space:
mode:
authorMax <mparisi@stevens.edu>2020-10-15 12:40:00 -0400
committerMax <mparisi@stevens.edu>2020-10-15 12:40:00 -0400
commit2e8cc28cb1295d67beef38ec46b5f56ae5c15aaf (patch)
tree3e499ee3bddebeeb78dc01ad03228e3a7e524f86 /asm/code_8016340C.s
parentdec85bbe62409ebef073caa70474050768784429 (diff)
split text_3 and most of text_4, with linker errors
Diffstat (limited to 'asm/code_8016340C.s')
-rw-r--r--asm/code_8016340C.s193
1 files changed, 193 insertions, 0 deletions
diff --git a/asm/code_8016340C.s b/asm/code_8016340C.s
new file mode 100644
index 0000000..d99bbe2
--- /dev/null
+++ b/asm/code_8016340C.s
@@ -0,0 +1,193 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global func_8016340C
+func_8016340C:
+/* 8016340C 0015F06C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80163410 0015F070 7C 08 02 A6 */ mflr r0
+/* 80163414 0015F074 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80163418 0015F078 48 10 F3 A1 */ bl OSGetTime
+/* 8016341C 0015F07C 90 8D 9D AC */ stw r4, lbl_8063F06C-_SDA_BASE_(r13)
+/* 80163420 0015F080 90 6D 9D A8 */ stw r3, lbl_8063F068-_SDA_BASE_(r13)
+/* 80163424 0015F084 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80163428 0015F088 7C 08 03 A6 */ mtlr r0
+/* 8016342C 0015F08C 38 21 00 10 */ addi r1, r1, 0x10
+/* 80163430 0015F090 4E 80 00 20 */ blr
+
+.global func_80163434
+func_80163434:
+/* 80163434 0015F094 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80163438 0015F098 7C 08 02 A6 */ mflr r0
+/* 8016343C 0015F09C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80163440 0015F0A0 48 10 F3 79 */ bl OSGetTime
+/* 80163444 0015F0A4 3C C0 80 00 */ lis r6, 0x800000F8@ha
+/* 80163448 0015F0A8 81 0D 9D AC */ lwz r8, lbl_8063F06C-_SDA_BASE_(r13)
+/* 8016344C 0015F0AC 80 06 00 F8 */ lwz r0, 0x800000F8@l(r6)
+/* 80163450 0015F0B0 3C A0 10 62 */ lis r5, 0x10624DD3@ha
+/* 80163454 0015F0B4 38 C5 4D D3 */ addi r6, r5, 0x10624DD3@l
+/* 80163458 0015F0B8 80 ED 9D A8 */ lwz r7, lbl_8063F068-_SDA_BASE_(r13)
+/* 8016345C 0015F0BC 54 00 F0 BE */ srwi r0, r0, 2
+/* 80163460 0015F0C0 7C 88 20 10 */ subfc r4, r8, r4
+/* 80163464 0015F0C4 7C 06 00 16 */ mulhwu r0, r6, r0
+/* 80163468 0015F0C8 38 A0 00 00 */ li r5, 0
+/* 8016346C 0015F0CC 7C 67 19 10 */ subfe r3, r7, r3
+/* 80163470 0015F0D0 54 06 D1 BE */ srwi r6, r0, 6
+/* 80163474 0015F0D4 48 06 3E 05 */ bl __div2i
+/* 80163478 0015F0D8 38 C0 00 0A */ li r6, 0xa
+/* 8016347C 0015F0DC 38 A0 00 00 */ li r5, 0
+/* 80163480 0015F0E0 48 06 3D F9 */ bl __div2i
+/* 80163484 0015F0E4 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80163488 0015F0E8 7C 83 23 78 */ mr r3, r4
+/* 8016348C 0015F0EC 7C 08 03 A6 */ mtlr r0
+/* 80163490 0015F0F0 38 21 00 10 */ addi r1, r1, 0x10
+/* 80163494 0015F0F4 4E 80 00 20 */ blr
+
+.global func_80163498
+func_80163498:
+/* 80163498 0015F0F8 38 00 00 00 */ li r0, 0
+/* 8016349C 0015F0FC 90 03 00 00 */ stw r0, 0(r3)
+/* 801634A0 0015F100 80 0D 9D B0 */ lwz r0, lbl_8063F070-_SDA_BASE_(r13)
+/* 801634A4 0015F104 90 03 00 04 */ stw r0, 4(r3)
+/* 801634A8 0015F108 80 8D 9D B0 */ lwz r4, lbl_8063F070-_SDA_BASE_(r13)
+/* 801634AC 0015F10C 2C 04 00 00 */ cmpwi r4, 0
+/* 801634B0 0015F110 41 82 00 08 */ beq lbl_801634B8
+/* 801634B4 0015F114 90 64 00 00 */ stw r3, 0(r4)
+lbl_801634B8:
+/* 801634B8 0015F118 90 6D 9D B0 */ stw r3, lbl_8063F070-_SDA_BASE_(r13)
+/* 801634BC 0015F11C 4E 80 00 20 */ blr
+
+.global func_801634C0
+func_801634C0:
+/* 801634C0 0015F120 80 83 00 00 */ lwz r4, 0(r3)
+/* 801634C4 0015F124 2C 04 00 00 */ cmpwi r4, 0
+/* 801634C8 0015F128 41 82 00 0C */ beq lbl_801634D4
+/* 801634CC 0015F12C 90 64 00 04 */ stw r3, 4(r4)
+/* 801634D0 0015F130 48 00 00 0C */ b lbl_801634DC
+lbl_801634D4:
+/* 801634D4 0015F134 80 03 00 04 */ lwz r0, 4(r3)
+/* 801634D8 0015F138 90 0D 9D B0 */ stw r0, lbl_8063F070-_SDA_BASE_(r13)
+lbl_801634DC:
+/* 801634DC 0015F13C 80 83 00 04 */ lwz r4, 4(r3)
+/* 801634E0 0015F140 2C 04 00 00 */ cmpwi r4, 0
+/* 801634E4 0015F144 4D 82 00 20 */ beqlr
+/* 801634E8 0015F148 80 03 00 00 */ lwz r0, 0(r3)
+/* 801634EC 0015F14C 90 04 00 00 */ stw r0, 0(r4)
+/* 801634F0 0015F150 4E 80 00 20 */ blr
+
+.global func_801634F4
+func_801634F4:
+/* 801634F4 0015F154 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 801634F8 0015F158 7C 08 02 A6 */ mflr r0
+/* 801634FC 0015F15C 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80163500 0015F160 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80163504 0015F164 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80163508 0015F168 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 8016350C 0015F16C 93 81 00 10 */ stw r28, 0x10(r1)
+/* 80163510 0015F170 4B FF FF 25 */ bl func_80163434
+/* 80163514 0015F174 83 AD 9D B0 */ lwz r29, lbl_8063F070-_SDA_BASE_(r13)
+/* 80163518 0015F178 7C 7E 1B 78 */ mr r30, r3
+/* 8016351C 0015F17C 3B E0 00 02 */ li r31, 2
+/* 80163520 0015F180 48 00 00 38 */ b lbl_80163558
+lbl_80163524:
+/* 80163524 0015F184 80 1D 00 14 */ lwz r0, 0x14(r29)
+/* 80163528 0015F188 83 9D 00 04 */ lwz r28, 4(r29)
+/* 8016352C 0015F18C 7C 00 F0 40 */ cmplw r0, r30
+/* 80163530 0015F190 41 81 00 24 */ bgt lbl_80163554
+/* 80163534 0015F194 7F A3 EB 78 */ mr r3, r29
+/* 80163538 0015F198 4B FF FF 89 */ bl func_801634C0
+/* 8016353C 0015F19C 93 FD 00 18 */ stw r31, 0x18(r29)
+/* 80163540 0015F1A0 81 9D 00 08 */ lwz r12, 8(r29)
+/* 80163544 0015F1A4 80 7D 00 0C */ lwz r3, 0xc(r29)
+/* 80163548 0015F1A8 80 9D 00 10 */ lwz r4, 0x10(r29)
+/* 8016354C 0015F1AC 7D 89 03 A6 */ mtctr r12
+/* 80163550 0015F1B0 4E 80 04 21 */ bctrl
+lbl_80163554:
+/* 80163554 0015F1B4 7F 9D E3 78 */ mr r29, r28
+lbl_80163558:
+/* 80163558 0015F1B8 2C 1D 00 00 */ cmpwi r29, 0
+/* 8016355C 0015F1BC 40 82 FF C8 */ bne lbl_80163524
+/* 80163560 0015F1C0 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80163564 0015F1C4 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80163568 0015F1C8 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 8016356C 0015F1CC 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 80163570 0015F1D0 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 80163574 0015F1D4 7C 08 03 A6 */ mtlr r0
+/* 80163578 0015F1D8 38 21 00 20 */ addi r1, r1, 0x20
+/* 8016357C 0015F1DC 4E 80 00 20 */ blr
+
+.global func_80163580
+func_80163580:
+/* 80163580 0015F1E0 38 80 00 00 */ li r4, 0
+/* 80163584 0015F1E4 38 A0 00 04 */ li r5, 4
+/* 80163588 0015F1E8 4B EA 0B 7C */ b memset
+
+.global func_8016358C
+func_8016358C:
+/* 8016358C 0015F1EC 90 A3 00 08 */ stw r5, 8(r3)
+/* 80163590 0015F1F0 90 C3 00 0C */ stw r6, 0xc(r3)
+/* 80163594 0015F1F4 90 E3 00 10 */ stw r7, 0x10(r3)
+/* 80163598 0015F1F8 48 00 00 04 */ b lbl_8016359C
+lbl_8016359C:
+/* 8016359C 0015F1FC 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 801635A0 0015F200 7C 08 02 A6 */ mflr r0
+/* 801635A4 0015F204 90 01 00 14 */ stw r0, 0x14(r1)
+/* 801635A8 0015F208 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 801635AC 0015F20C 7C 9F 23 78 */ mr r31, r4
+/* 801635B0 0015F210 93 C1 00 08 */ stw r30, 8(r1)
+/* 801635B4 0015F214 7C 7E 1B 78 */ mr r30, r3
+/* 801635B8 0015F218 80 03 00 18 */ lwz r0, 0x18(r3)
+/* 801635BC 0015F21C 28 00 00 01 */ cmplwi r0, 1
+/* 801635C0 0015F220 40 82 00 08 */ bne lbl_801635C8
+/* 801635C4 0015F224 4B FF FE FD */ bl func_801634C0
+lbl_801635C8:
+/* 801635C8 0015F228 4B FF FE 6D */ bl func_80163434
+/* 801635CC 0015F22C 3C 80 66 66 */ lis r4, 0x66666667@ha
+/* 801635D0 0015F230 38 00 00 01 */ li r0, 1
+/* 801635D4 0015F234 38 84 66 67 */ addi r4, r4, 0x66666667@l
+/* 801635D8 0015F238 90 1E 00 18 */ stw r0, 0x18(r30)
+/* 801635DC 0015F23C 7C 04 F8 96 */ mulhw r0, r4, r31
+/* 801635E0 0015F240 7C 00 16 70 */ srawi r0, r0, 2
+/* 801635E4 0015F244 54 04 0F FE */ srwi r4, r0, 0x1f
+/* 801635E8 0015F248 7C 00 22 14 */ add r0, r0, r4
+/* 801635EC 0015F24C 7C 03 02 14 */ add r0, r3, r0
+/* 801635F0 0015F250 7F C3 F3 78 */ mr r3, r30
+/* 801635F4 0015F254 90 1E 00 14 */ stw r0, 0x14(r30)
+/* 801635F8 0015F258 4B FF FE A1 */ bl func_80163498
+/* 801635FC 0015F25C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80163600 0015F260 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80163604 0015F264 83 C1 00 08 */ lwz r30, 8(r1)
+/* 80163608 0015F268 7C 08 03 A6 */ mtlr r0
+/* 8016360C 0015F26C 38 21 00 10 */ addi r1, r1, 0x10
+/* 80163610 0015F270 4E 80 00 20 */ blr
+
+.global func_80163614
+func_80163614:
+/* 80163614 0015F274 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80163618 0015F278 7C 08 02 A6 */ mflr r0
+/* 8016361C 0015F27C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80163620 0015F280 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80163624 0015F284 7C 7F 1B 78 */ mr r31, r3
+/* 80163628 0015F288 80 03 00 18 */ lwz r0, 0x18(r3)
+/* 8016362C 0015F28C 28 00 00 01 */ cmplwi r0, 1
+/* 80163630 0015F290 40 82 00 08 */ bne lbl_80163638
+/* 80163634 0015F294 4B FF FE 8D */ bl func_801634C0
+lbl_80163638:
+/* 80163638 0015F298 38 00 00 00 */ li r0, 0
+/* 8016363C 0015F29C 90 1F 00 18 */ stw r0, 0x18(r31)
+/* 80163640 0015F2A0 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80163644 0015F2A4 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80163648 0015F2A8 7C 08 03 A6 */ mtlr r0
+/* 8016364C 0015F2AC 38 21 00 10 */ addi r1, r1, 0x10
+/* 80163650 0015F2B0 4E 80 00 20 */ blr
+
+.global func_80163654
+func_80163654:
+/* 80163654 0015F2B4 38 A0 00 01 */ li r5, 1
+/* 80163658 0015F2B8 38 6D 9D A0 */ addi r3, r13, lbl_8063F060-_SDA_BASE_
+/* 8016365C 0015F2BC 38 80 00 04 */ li r4, 4
+/* 80163660 0015F2C0 38 00 00 00 */ li r0, 0
+/* 80163664 0015F2C4 98 AD 9D A0 */ stb r5, lbl_8063F060-_SDA_BASE_(r13)
+/* 80163668 0015F2C8 B0 83 00 02 */ sth r4, 2(r3)
+/* 8016366C 0015F2CC 98 03 00 04 */ stb r0, 4(r3)
+/* 80163670 0015F2D0 4E 80 00 20 */ blr