From 67effb9191423d8e5d9e386eaa0f389267c775ce Mon Sep 17 00:00:00 2001 From: mrb0nk500 Date: Tue, 31 Jan 2023 18:52:49 -0400 Subject: asm: Start work on importing the Dolphin SDK It's a start, but need to import more. --- asm/Dolphin/os/OSReboot.s | 173 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 173 insertions(+) create mode 100644 asm/Dolphin/os/OSReboot.s (limited to 'asm/Dolphin/os/OSReboot.s') diff --git a/asm/Dolphin/os/OSReboot.s b/asm/Dolphin/os/OSReboot.s new file mode 100644 index 0000000..dded641 --- /dev/null +++ b/asm/Dolphin/os/OSReboot.s @@ -0,0 +1,173 @@ +.include "macros.inc" + +.section .text + +.global func_803701f4 +.type func_803701f4, @function +func_803701f4: +/* 803701F4 7C0802A6 */ mflr r0 +/* 803701F8 90010004 */ stw r0, 4(r1) +/* 803701FC 9421FFE8 */ stwu r1, -0x18(r1) +/* 80370200 93E10014 */ stw r31, 0x14(r1) +/* 80370204 7C7F1B78 */ mr r31, r3 +/* 80370208 4BFFE8CD */ bl func_8036ead4 +/* 8037020C 4BFFD805 */ bl func_8036da10 +/* 80370210 7C0004AC */ sync 0 +/* 80370214 4C00012C */ isync +/* 80370218 7FE803A6 */ mtlr r31 +/* 8037021C 4E800020 */ blr +.size func_803701f4, . - func_803701f4 + + +.global func_80370220 +.type func_80370220, @function +func_80370220: +/* 80370220 8001001C */ lwz r0, 0x1c(r1) +/* 80370224 83E10014 */ lwz r31, 0x14(r1) +/* 80370228 38210018 */ addi r1, r1, 0x18 +/* 8037022C 7C0803A6 */ mtlr r0 +/* 80370230 4E800020 */ blr +.size func_80370220, . - func_80370220 + + +.global func_80370234 +.type func_80370234, @function +func_80370234: +/* 80370234 38000001 */ li r0, 0x1 +/* 80370238 900DCA68 */ stw r0, lbl_805c6888@sda21(0) +/* 8037023C 4E800020 */ blr +.size func_80370234, . - func_80370234 + + +.global func_80370240 +.type func_80370240, @function +func_80370240: +/* 80370240 7C0802A6 */ mflr r0 +/* 80370244 90010004 */ stw r0, 4(r1) +/* 80370248 9421FCC0 */ stwu r1, -0x340(r1) +/* 8037024C 93E1033C */ stw r31, 0x33c(r1) +/* 80370250 93C10338 */ stw r30, 0x338(r1) +/* 80370254 3C608054 */ lis r3, lbl_8053ec80@ha +/* 80370258 3BC3EC80 */ addi r30, r3, lbl_8053ec80@l +/* 8037025C 4BFFE879 */ bl func_8036ead4 +/* 80370260 80ADCA60 */ lwz r5, lbl_805c6880@sda21(0) +/* 80370264 3C808130 */ lis r4, 0x8130 +/* 80370268 800DCA64 */ lwz r0, lbl_805c6884@sda21(0) +/* 8037026C 38600000 */ li r3, 0x0 +/* 80370270 3FE08180 */ lis r31, 0x8180 +/* 80370274 38E00001 */ li r7, 0x1 +/* 80370278 907FFFFC */ stw r3, -4(r31) +/* 8037027C 3CC08000 */ lis r6, 0x8000 +/* 80370280 907FFFF8 */ stw r3, -8(r31) +/* 80370284 38610070 */ addi r3, r1, 0x70 +/* 80370288 98E630E2 */ stb r7, 0x30e2(r6) +/* 8037028C 90A4DFF0 */ stw r5, -0x2010(r4) +/* 80370290 9004DFEC */ stw r0, -0x2014(r4) +/* 80370294 4BFFDFCD */ bl func_8036e260 +/* 80370298 38610070 */ addi r3, r1, 0x70 +/* 8037029C 4BFFDDFD */ bl func_8036e098 +/* 803702A0 48004E6D */ bl func_8037510c +/* 803702A4 38600001 */ li r3, 0x1 +/* 803702A8 48006D91 */ bl func_80377038 +/* 803702AC 3C608037 */ lis r3, func_80370234@ha +/* 803702B0 38630234 */ addi r3, r3, func_80370234@l +/* 803702B4 480071C1 */ bl func_80377474 +/* 803702B8 480070D9 */ bl func_80377390 +/* 803702BC 2C030000 */ cmpwi r3, 0x0 +/* 803702C0 4082000C */ bne- lbl_803702cc +/* 803702C4 807FFFFC */ lwz r3, -4(r31) +/* 803702C8 4800022D */ bl func_803704f4 +lbl_803702cc: +/* 803702CC 3860FFE0 */ li r3, -0x20 +/* 803702D0 4BFFEBCD */ bl func_8036ee9c +/* 803702D4 38600400 */ li r3, 0x400 +/* 803702D8 4BFFEC4D */ bl func_8036ef24 +/* 803702DC 4BFFE80D */ bl func_8036eae8 +/* 803702E0 48000004 */ b lbl_803702e4 +lbl_803702e4: +/* 803702E4 48000004 */ b lbl_803702e8 +lbl_803702e8: +/* 803702E8 800DCA68 */ lwz r0, lbl_805c6888@sda21(0) +/* 803702EC 2C000000 */ cmpwi r0, 0x0 +/* 803702F0 4182FFF8 */ beq+ lbl_803702e8 +/* 803702F4 7FC4F378 */ mr r4, r30 +/* 803702F8 38610040 */ addi r3, r1, 0x40 +/* 803702FC 38A00020 */ li r5, 0x20 +/* 80370300 38C02440 */ li r6, 0x2440 +/* 80370304 38E00000 */ li r7, 0x0 +/* 80370308 48006981 */ bl func_80376c88 +/* 8037030C 3FE08180 */ lis r31, 0x8180 +/* 80370310 48000004 */ b lbl_80370314 +lbl_80370314: +/* 80370314 48000004 */ b lbl_80370318 +lbl_80370318: +/* 80370318 8001004C */ lwz r0, 0x4c(r1) +/* 8037031C 2C000001 */ cmpwi r0, 0x1 +/* 80370320 4182FFF8 */ beq+ lbl_80370318 +/* 80370324 40800014 */ bge- lbl_80370338 +/* 80370328 2C00FFFF */ cmpwi r0, -0x1 +/* 8037032C 41820018 */ beq- lbl_80370344 +/* 80370330 40800020 */ bge- lbl_80370350 +/* 80370334 4BFFFFE4 */ b lbl_80370318 +lbl_80370338: +/* 80370338 2C00000C */ cmpwi r0, 0xc +/* 8037033C 4080FFDC */ bge+ lbl_80370318 +/* 80370340 48000004 */ b lbl_80370344 +lbl_80370344: +/* 80370344 807FFFFC */ lwz r3, -4(r31) +/* 80370348 480001AD */ bl func_803704f4 +/* 8037034C 4BFFFFCC */ b lbl_80370318 +lbl_80370350: +/* 80370350 807E0018 */ lwz r3, 0x18(r30) +/* 80370354 809E0014 */ lwz r4, 0x14(r30) +/* 80370358 3803001F */ addi r0, r3, 0x1f +/* 8037035C 38840020 */ addi r4, r4, 0x20 +/* 80370360 541E0034 */ rlwinm r30, r0, 0, 0, 0x1a +/* 80370364 48000004 */ b lbl_80370368 +lbl_80370368: +/* 80370368 48000004 */ b lbl_8037036c +lbl_8037036c: +/* 8037036C 800DCA68 */ lwz r0, lbl_805c6888@sda21(0) +/* 80370370 2C000000 */ cmpwi r0, 0x0 +/* 80370374 4182FFF8 */ beq+ lbl_8037036c +/* 80370378 7FC5F378 */ mr r5, r30 +/* 8037037C 38610010 */ addi r3, r1, 0x10 +/* 80370380 38C42440 */ addi r6, r4, 0x2440 +/* 80370384 3C808130 */ lis r4, 0x8130 +/* 80370388 38E00000 */ li r7, 0x0 +/* 8037038C 480068FD */ bl func_80376c88 +/* 80370390 3FE08180 */ lis r31, 0x8180 +/* 80370394 48000004 */ b lbl_80370398 +lbl_80370398: +/* 80370398 48000004 */ b lbl_8037039c +lbl_8037039c: +/* 8037039C 8001001C */ lwz r0, 0x1c(r1) +/* 803703A0 2C000001 */ cmpwi r0, 0x1 +/* 803703A4 4182FFF8 */ beq+ lbl_8037039c +/* 803703A8 40800014 */ bge- lbl_803703bc +/* 803703AC 2C00FFFF */ cmpwi r0, -0x1 +/* 803703B0 41820018 */ beq- lbl_803703c8 +/* 803703B4 40800020 */ bge- lbl_803703d4 +/* 803703B8 4BFFFFE4 */ b lbl_8037039c +lbl_803703bc: +/* 803703BC 2C00000C */ cmpwi r0, 0xc +/* 803703C0 4080FFDC */ bge+ lbl_8037039c +/* 803703C4 48000004 */ b lbl_803703c8 +lbl_803703c8: +/* 803703C8 807FFFFC */ lwz r3, -4(r31) +/* 803703CC 48000129 */ bl func_803704f4 +/* 803703D0 4BFFFFCC */ b lbl_8037039c +lbl_803703d4: +/* 803703D4 3C608130 */ lis r3, 0x8130 +/* 803703D8 7FC4F378 */ mr r4, r30 +/* 803703DC 4BFFD5FD */ bl func_8036d9d8 +/* 803703E0 3C608130 */ lis r3, 0x8130 +/* 803703E4 4BFFFE11 */ bl func_803701f4 +/* 803703E8 80010344 */ lwz r0, 0x344(r1) +/* 803703EC 83E1033C */ lwz r31, 0x33c(r1) +/* 803703F0 83C10338 */ lwz r30, 0x338(r1) +/* 803703F4 38210340 */ addi r1, r1, 0x340 +/* 803703F8 7C0803A6 */ mtlr r0 +/* 803703FC 4E800020 */ blr +.size func_80370240, . - func_80370240 + -- cgit v1.2.3-13-gbd6f