From 9fa0a7f1da1b70bee995f53c6c96c43189018772 Mon Sep 17 00:00:00 2001 From: mrb0nk500 Date: Wed, 1 Feb 2023 18:45:02 -0400 Subject: global: Import Dolphin SDK This version comes from the Metroid Prime decompilation project. https://github.com/PrimeDecomp/prime --- asm/Dolphin/os/OSReset.s | 330 ----------------------------------------------- 1 file changed, 330 deletions(-) delete mode 100644 asm/Dolphin/os/OSReset.s (limited to 'asm/Dolphin/os/OSReset.s') diff --git a/asm/Dolphin/os/OSReset.s b/asm/Dolphin/os/OSReset.s deleted file mode 100644 index a7b42f7..0000000 --- a/asm/Dolphin/os/OSReset.s +++ /dev/null @@ -1,330 +0,0 @@ -.include "macros.inc" - -.section .text - -.global func_80370400 -.type func_80370400, @function -func_80370400: -/* 80370400 80ADCA70 */ lwz r5, lbl_805c6890@sda21(0) -/* 80370404 48000008 */ b lbl_8037040c -lbl_80370408: -/* 80370408 80A50008 */ lwz r5, 8(r5) -lbl_8037040c: -/* 8037040C 28050000 */ cmplwi r5, 0 -/* 80370410 41820014 */ beq- lbl_80370424 -/* 80370414 80850004 */ lwz r4, 4(r5) -/* 80370418 80030004 */ lwz r0, 4(r3) -/* 8037041C 7C040040 */ cmplw r4, r0 -/* 80370420 4081FFE8 */ ble+ lbl_80370408 -lbl_80370424: -/* 80370424 28050000 */ cmplwi r5, 0 -/* 80370428 40820034 */ bne- lbl_8037045c -/* 8037042C 38ADCA70 */ addi r5, 0, lbl_805c6890@sda21 -/* 80370430 84850004 */ lwzu r4, 4(r5) -/* 80370434 28040000 */ cmplwi r4, 0 -/* 80370438 4082000C */ bne- lbl_80370444 -/* 8037043C 906DCA70 */ stw r3, lbl_805c6890@sda21(0) -/* 80370440 48000008 */ b lbl_80370448 -lbl_80370444: -/* 80370444 90640008 */ stw r3, 8(r4) -lbl_80370448: -/* 80370448 9083000C */ stw r4, 0xc(r3) -/* 8037044C 38000000 */ li r0, 0x0 -/* 80370450 90030008 */ stw r0, 8(r3) -/* 80370454 90650000 */ stw r3, 0(r5) -/* 80370458 4E800020 */ blr -lbl_8037045c: -/* 8037045C 90A30008 */ stw r5, 8(r3) -/* 80370460 8085000C */ lwz r4, 0xc(r5) -/* 80370464 9065000C */ stw r3, 0xc(r5) -/* 80370468 28040000 */ cmplwi r4, 0 -/* 8037046C 9083000C */ stw r4, 0xc(r3) -/* 80370470 4082000C */ bne- lbl_8037047c -/* 80370474 906DCA70 */ stw r3, lbl_805c6890@sda21(0) -/* 80370478 4E800020 */ blr -lbl_8037047c: -/* 8037047C 90640008 */ stw r3, 8(r4) -/* 80370480 4E800020 */ blr -.size func_80370400, . - func_80370400 - - -.global func_80370484 -.type func_80370484, @function -func_80370484: -/* 80370484 48000020 */ b lbl_803704a4 -lbl_80370488: -/* 80370488 7D10FAA6 */ mfspr r8, 0x3f0 -/* 8037048C 61080008 */ ori r8, r8, 8 -/* 80370490 7D10FBA6 */ mtspr 0x3f0, r8 -/* 80370494 4C00012C */ isync -/* 80370498 7C0004AC */ sync 0 -/* 8037049C 60000000 */ nop -/* 803704A0 48000008 */ b lbl_803704a8 -lbl_803704a4: -/* 803704A4 48000020 */ b lbl_803704c4 -lbl_803704a8: -/* 803704A8 7CAC42E6 */ mftb r5, 0x10c -lbl_803704ac: -/* 803704AC 7CCC42E6 */ mftb r6, 0x10c -/* 803704B0 7CE53050 */ subf r7, r5, r6 -/* 803704B4 28071124 */ cmplwi r7, 0x1124 -/* 803704B8 4180FFF4 */ blt+ lbl_803704ac -/* 803704BC 60000000 */ nop -/* 803704C0 48000008 */ b lbl_803704c8 -lbl_803704c4: -/* 803704C4 48000020 */ b lbl_803704e4 -lbl_803704c8: -/* 803704C8 3D00CC00 */ lis r8, 0xcc00 -/* 803704CC 61083000 */ ori r8, r8, 0x3000 -/* 803704D0 38800003 */ li r4, 0x3 -/* 803704D4 90880024 */ stw r4, 0x24(r8) -/* 803704D8 90680024 */ stw r3, 0x24(r8) -/* 803704DC 60000000 */ nop -/* 803704E0 48000008 */ b lbl_803704e8 -lbl_803704e4: -/* 803704E4 4800000C */ b lbl_803704f0 -lbl_803704e8: -/* 803704E8 60000000 */ nop -/* 803704EC 4BFFFFFC */ b lbl_803704e8 -lbl_803704f0: -/* 803704F0 4BFFFF98 */ b lbl_80370488 -.size func_80370484, . - func_80370484 - - -.global func_803704f4 -.type func_803704f4, @function -func_803704f4: -/* 803704F4 7C0802A6 */ mflr r0 -/* 803704F8 90010004 */ stw r0, 4(r1) -/* 803704FC 9421FFE8 */ stwu r1, -0x18(r1) -/* 80370500 93E10014 */ stw r31, 0x14(r1) -/* 80370504 7C7F1B78 */ mr r31, r3 -/* 80370508 4BFFE5CD */ bl func_8036ead4 -/* 8037050C 3C60CC00 */ lis r3, 0xcc00 -/* 80370510 38632000 */ addi r3, r3, 0x2000 -/* 80370514 38000000 */ li r0, 0x0 -/* 80370518 B0030002 */ sth r0, 2(r3) -/* 8037051C 4BFFD4F5 */ bl func_8036da10 -/* 80370520 57E31838 */ slwi r3, r31, 3 -/* 80370524 4BFFFF61 */ bl func_80370484 -/* 80370528 8001001C */ lwz r0, 0x1c(r1) -/* 8037052C 83E10014 */ lwz r31, 0x14(r1) -/* 80370530 38210018 */ addi r1, r1, 0x18 -/* 80370534 7C0803A6 */ mtlr r0 -/* 80370538 4E800020 */ blr -.size func_803704f4, . - func_803704f4 - - -.global func_8037053c -.type func_8037053c, @function -func_8037053c: -/* 8037053C 7C0802A6 */ mflr r0 -/* 80370540 90010004 */ stw r0, 4(r1) -/* 80370544 9421FFC0 */ stwu r1, -0x40(r1) -/* 80370548 BF410028 */ stmw r26, 0x28(r1) -/* 8037054C 7C7A1B78 */ mr r26, r3 -/* 80370550 7C9D2378 */ mr r29, r4 -/* 80370554 7CBE2B78 */ mr r30, r5 -/* 80370558 4800125D */ bl func_803717b4 -/* 8037055C 4BFFD299 */ bl func_8036d7f4 -/* 80370560 2C1A0002 */ cmpwi r26, 0x2 -/* 80370564 40820010 */ bne- lbl_80370574 -/* 80370568 38600001 */ li r3, 0x1 -/* 8037056C 4800AAC1 */ bl func_8037b02c -/* 80370570 7C7F1B78 */ mr r31, r3 -lbl_80370574: -/* 80370574 48000004 */ b lbl_80370578 -lbl_80370578: -/* 80370578 48000004 */ b lbl_8037057c -lbl_8037057c: -/* 8037057C 836DCA70 */ lwz r27, lbl_805c6890@sda21(0) -/* 80370580 3B800000 */ li r28, 0x0 -/* 80370584 48000004 */ b lbl_80370588 -lbl_80370588: -/* 80370588 48000004 */ b lbl_8037058c -lbl_8037058c: -/* 8037058C 48000024 */ b lbl_803705b0 -lbl_80370590: -/* 80370590 38600000 */ li r3, 0x0 -/* 80370594 819B0000 */ lwz r12, 0(r27) -/* 80370598 7D8803A6 */ mtlr r12 -/* 8037059C 4E800021 */ blrl -/* 803705A0 7C600034 */ cntlzw r0, r3 -/* 803705A4 837B0008 */ lwz r27, 8(r27) -/* 803705A8 5400D97E */ srwi r0, r0, 5 -/* 803705AC 7F9C0378 */ or r28, r28, r0 -lbl_803705b0: -/* 803705B0 281B0000 */ cmplwi r27, 0 -/* 803705B4 4082FFDC */ bne+ lbl_80370590 -/* 803705B8 48000C6D */ bl func_80371224 -/* 803705BC 7C600034 */ cntlzw r0, r3 -/* 803705C0 5400D97E */ srwi r0, r0, 5 -/* 803705C4 7F9C0378 */ or r28, r28, r0 -/* 803705C8 2C1C0000 */ cmpwi r28, 0x0 -/* 803705CC 4182000C */ beq- lbl_803705d8 -/* 803705D0 38000000 */ li r0, 0x0 -/* 803705D4 48000008 */ b lbl_803705dc -lbl_803705d8: -/* 803705D8 38000001 */ li r0, 0x1 -lbl_803705dc: -/* 803705DC 2C000000 */ cmpwi r0, 0x0 -/* 803705E0 4182FF9C */ beq+ lbl_8037057c -/* 803705E4 2C1A0001 */ cmpwi r26, 0x1 -/* 803705E8 40820038 */ bne- lbl_80370620 -/* 803705EC 2C1E0000 */ cmpwi r30, 0x0 -/* 803705F0 41820030 */ beq- lbl_80370620 -/* 803705F4 48000829 */ bl func_80370e1c -/* 803705F8 88030013 */ lbz r0, 0x13(r3) -/* 803705FC 60000040 */ ori r0, r0, 0x40 -/* 80370600 98030013 */ stb r0, 0x13(r3) -/* 80370604 38600001 */ li r3, 0x1 -/* 80370608 48000BD5 */ bl func_803711dc -/* 8037060C 48000004 */ b lbl_80370610 -lbl_80370610: -/* 80370610 48000004 */ b lbl_80370614 -lbl_80370614: -/* 80370614 48000C11 */ bl func_80371224 -/* 80370618 2C030000 */ cmpwi r3, 0x0 -/* 8037061C 4182FFF8 */ beq+ lbl_80370614 -lbl_80370620: -/* 80370620 4BFFE4B5 */ bl func_8036ead4 -/* 80370624 838DCA70 */ lwz r28, lbl_805c6890@sda21(0) -/* 80370628 3B600000 */ li r27, 0x0 -/* 8037062C 48000004 */ b lbl_80370630 -lbl_80370630: -/* 80370630 48000004 */ b lbl_80370634 -lbl_80370634: -/* 80370634 48000024 */ b lbl_80370658 -lbl_80370638: -/* 80370638 38600001 */ li r3, 0x1 -/* 8037063C 819C0000 */ lwz r12, 0(r28) -/* 80370640 7D8803A6 */ mtlr r12 -/* 80370644 4E800021 */ blrl -/* 80370648 7C600034 */ cntlzw r0, r3 -/* 8037064C 839C0008 */ lwz r28, 8(r28) -/* 80370650 5400D97E */ srwi r0, r0, 5 -/* 80370654 7F7B0378 */ or r27, r27, r0 -lbl_80370658: -/* 80370658 281C0000 */ cmplwi r28, 0 -/* 8037065C 4082FFDC */ bne+ lbl_80370638 -/* 80370660 48000BC5 */ bl func_80371224 -/* 80370664 4BFFD4D5 */ bl func_8036db38 -/* 80370668 2C1A0001 */ cmpwi r26, 0x1 -/* 8037066C 40820028 */ bne- lbl_80370694 -/* 80370670 4BFFE465 */ bl func_8036ead4 -/* 80370674 3C60CC00 */ lis r3, 0xcc00 -/* 80370678 38632000 */ addi r3, r3, 0x2000 -/* 8037067C 38000000 */ li r0, 0x0 -/* 80370680 B0030002 */ sth r0, 2(r3) -/* 80370684 4BFFD38D */ bl func_8036da10 -/* 80370688 57A31838 */ slwi r3, r29, 3 -/* 8037068C 4BFFFDF9 */ bl func_80370484 -/* 80370690 48000060 */ b lbl_803706f0 -lbl_80370694: -/* 80370694 2C1A0000 */ cmpwi r26, 0x0 -/* 80370698 40820058 */ bne- lbl_803706f0 -/* 8037069C 3C608000 */ lis r3, 0x8000 -/* 803706A0 806300DC */ lwz r3, 0xdc(r3) -/* 803706A4 48000004 */ b lbl_803706a8 -lbl_803706a8: -/* 803706A8 48000004 */ b lbl_803706ac -lbl_803706ac: -/* 803706AC 4800002C */ b lbl_803706d8 -lbl_803706b0: -/* 803706B0 A00302C8 */ lhz r0, 0x2c8(r3) -/* 803706B4 836302FC */ lwz r27, 0x2fc(r3) -/* 803706B8 2C000004 */ cmpwi r0, 0x4 -/* 803706BC 41820014 */ beq- lbl_803706d0 -/* 803706C0 40800014 */ bge- lbl_803706d4 -/* 803706C4 2C000001 */ cmpwi r0, 0x1 -/* 803706C8 41820008 */ beq- lbl_803706d0 -/* 803706CC 48000008 */ b lbl_803706d4 -lbl_803706d0: -/* 803706D0 48001889 */ bl func_80371f58 -lbl_803706d4: -/* 803706D4 7F63DB78 */ mr r3, r27 -lbl_803706d8: -/* 803706D8 28030000 */ cmplwi r3, 0 -/* 803706DC 4082FFD4 */ bne+ lbl_803706b0 -/* 803706E0 48001115 */ bl func_803717f4 -/* 803706E4 7FA3EB78 */ mr r3, r29 -/* 803706E8 7FC4F378 */ mr r4, r30 -/* 803706EC 4BFFFB55 */ bl func_80370240 -lbl_803706f0: -/* 803706F0 3C608000 */ lis r3, 0x8000 -/* 803706F4 806300DC */ lwz r3, 0xdc(r3) -/* 803706F8 48000004 */ b lbl_803706fc -lbl_803706fc: -/* 803706FC 48000004 */ b lbl_80370700 -lbl_80370700: -/* 80370700 4800002C */ b lbl_8037072c -lbl_80370704: -/* 80370704 A00302C8 */ lhz r0, 0x2c8(r3) -/* 80370708 836302FC */ lwz r27, 0x2fc(r3) -/* 8037070C 2C000004 */ cmpwi r0, 0x4 -/* 80370710 41820014 */ beq- lbl_80370724 -/* 80370714 40800014 */ bge- lbl_80370728 -/* 80370718 2C000001 */ cmpwi r0, 0x1 -/* 8037071C 41820008 */ beq- lbl_80370724 -/* 80370720 48000008 */ b lbl_80370728 -lbl_80370724: -/* 80370724 48001835 */ bl func_80371f58 -lbl_80370728: -/* 80370728 7F63DB78 */ mr r3, r27 -lbl_8037072c: -/* 8037072C 28030000 */ cmplwi r3, 0 -/* 80370730 4082FFD4 */ bne+ lbl_80370704 -/* 80370734 3FA08000 */ lis r29, 0x8000 -/* 80370738 387D0040 */ addi r3, r29, 0x40 -/* 8037073C 38800000 */ li r4, 0x0 -/* 80370740 38A0008C */ li r5, 0x8c -/* 80370744 4BC9DBF1 */ bl func_8000e334 -/* 80370748 387D00D4 */ addi r3, r29, 0xd4 -/* 8037074C 38800000 */ li r4, 0x0 -/* 80370750 38A00014 */ li r5, 0x14 -/* 80370754 4BC9DBE1 */ bl func_8000e334 -/* 80370758 387D00F4 */ addi r3, r29, 0xf4 -/* 8037075C 38800000 */ li r4, 0x0 -/* 80370760 38A00004 */ li r5, 0x4 -/* 80370764 4BC9DBD1 */ bl func_8000e334 -/* 80370768 387D3000 */ addi r3, r29, 0x3000 -/* 8037076C 38800000 */ li r4, 0x0 -/* 80370770 38A000C0 */ li r5, 0xc0 -/* 80370774 4BC9DBC1 */ bl func_8000e334 -/* 80370778 387D30C8 */ addi r3, r29, 0x30c8 -/* 8037077C 38800000 */ li r4, 0x0 -/* 80370780 38A0000C */ li r5, 0xc -/* 80370784 4BC9DBB1 */ bl func_8000e334 -/* 80370788 387D30E2 */ addi r3, r29, 0x30e2 -/* 8037078C 38800000 */ li r4, 0x0 -/* 80370790 38A00001 */ li r5, 0x1 -/* 80370794 4BC9DBA1 */ bl func_8000e334 -/* 80370798 7FE3FB78 */ mr r3, r31 -/* 8037079C 4800A891 */ bl func_8037b02c -/* 803707A0 BB410028 */ lmw r26, 0x28(r1) -/* 803707A4 80010044 */ lwz r0, 0x44(r1) -/* 803707A8 38210040 */ addi r1, r1, 0x40 -/* 803707AC 7C0803A6 */ mtlr r0 -/* 803707B0 4E800020 */ blr -.size func_8037053c, . - func_8037053c - - -.global func_803707b4 -.type func_803707b4, @function -func_803707b4: -/* 803707B4 3C608000 */ lis r3, 0x8000 -/* 803707B8 880330E2 */ lbz r0, 0x30e2(r3) -/* 803707BC 28000000 */ cmplwi r0, 0 -/* 803707C0 4182000C */ beq- lbl_803707cc -/* 803707C4 3C608000 */ lis r3, 0x8000 -/* 803707C8 48000018 */ b lbl_803707e0 -lbl_803707cc: -/* 803707CC 3C60CC00 */ lis r3, 0xcc00 -/* 803707D0 38633000 */ addi r3, r3, 0x3000 -/* 803707D4 80030024 */ lwz r0, 0x24(r3) -/* 803707D8 54000038 */ rlwinm r0, r0, 0, 0, 0x1c -/* 803707DC 5403E8FE */ srwi r3, r0, 3 -lbl_803707e0: -/* 803707E0 4E800020 */ blr -.size func_803707b4, . - func_803707b4 - -- cgit v1.2.3-13-gbd6f