mirror of
https://github.com/zeldaret/tp
synced 2026-07-05 13:43:37 -04:00
172 lines
8.0 KiB
ArmAsm
172 lines
8.0 KiB
ArmAsm
.include "macros.inc"
|
|
|
|
.section .text, "ax" # 800155d8
|
|
|
|
|
|
.global my_OSCancelAlarmAll
|
|
my_OSCancelAlarmAll:
|
|
/* 800155D8 00012518 4E 80 00 20 */ blr
|
|
|
|
.global destroyVideo
|
|
destroyVideo:
|
|
/* 800155DC 0001251C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
/* 800155E0 00012520 7C 08 02 A6 */ mflr r0
|
|
/* 800155E4 00012524 90 01 00 14 */ stw r0, 0x14(r1)
|
|
/* 800155E8 00012528 48 2C F6 C5 */ bl JUTVideo_NS_destroyManager
|
|
/* 800155EC 0001252C 38 60 00 00 */ li r3, 0
|
|
/* 800155F0 00012530 48 34 6F BD */ bl GXSetDrawDoneCallback
|
|
/* 800155F4 00012534 38 60 00 01 */ li r3, 1
|
|
/* 800155F8 00012538 48 33 82 49 */ bl VISetBlack
|
|
/* 800155FC 0001253C 48 33 80 99 */ bl VIFlush
|
|
/* 80015600 00012540 48 33 73 C5 */ bl VIWaitForRetrace
|
|
/* 80015604 00012544 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
/* 80015608 00012548 7C 08 03 A6 */ mtlr r0
|
|
/* 8001560C 0001254C 38 21 00 10 */ addi r1, r1, 0x10
|
|
/* 80015610 00012550 4E 80 00 20 */ blr
|
|
|
|
.global mDoRst_reset
|
|
mDoRst_reset:
|
|
/* 80015614 00012554 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
/* 80015618 00012558 7C 08 02 A6 */ mflr r0
|
|
/* 8001561C 0001255C 90 01 00 24 */ stw r0, 0x24(r1)
|
|
/* 80015620 00012560 39 61 00 20 */ addi r11, r1, 0x20
|
|
/* 80015624 00012564 48 34 CB B1 */ bl _savegpr_27
|
|
/* 80015628 00012568 7C 7B 1B 78 */ mr r27, r3
|
|
/* 8001562C 0001256C 7C 9C 23 78 */ mr r28, r4
|
|
/* 80015630 00012570 7C BD 2B 78 */ mr r29, r5
|
|
/* 80015634 00012574 80 6D 8F D0 */ lwz r3, lbl_80451550-_SDA_BASE_(r13)
|
|
/* 80015638 00012578 48 2C FB DD */ bl JUTXfb_NS_clearIndex
|
|
/* 8001563C 0001257C 48 00 10 21 */ bl mDoDvdErr_ThdCleanup
|
|
/* 80015640 00012580 48 24 DC 4D */ bl cAPICPad_recalibrate
|
|
/* 80015644 00012584 88 0D 86 38 */ lbz r0, lbl_80450BB8-_SDA_BASE_(r13)
|
|
/* 80015648 00012588 28 00 00 00 */ cmplwi r0, 0
|
|
/* 8001564C 0001258C 41 82 00 14 */ beq lbl_80015660
|
|
lbl_80015650:
|
|
/* 80015650 00012590 80 6D 8D E8 */ lwz r3, lbl_80451368-_SDA_BASE_(r13)
|
|
/* 80015654 00012594 48 2B 84 19 */ bl Z2AudioMgr_NS_hasReset
|
|
/* 80015658 00012598 54 60 06 3F */ clrlwi. r0, r3, 0x18
|
|
/* 8001565C 0001259C 41 82 FF F4 */ beq lbl_80015650
|
|
lbl_80015660:
|
|
/* 80015660 000125A0 48 33 5B 69 */ bl DVDGetDriveStatus
|
|
/* 80015664 000125A4 2C 03 00 01 */ cmpwi r3, 1
|
|
/* 80015668 000125A8 40 82 00 14 */ bne lbl_8001567C
|
|
/* 8001566C 000125AC 3C 60 80 37 */ lis r3, lbl_80374198@ha
|
|
/* 80015670 000125B0 38 63 41 98 */ addi r3, r3, lbl_80374198@l
|
|
/* 80015674 000125B4 4C C6 31 82 */ crclr 6
|
|
/* 80015678 000125B8 4B FF 11 9D */ bl OSAttention
|
|
lbl_8001567C:
|
|
/* 8001567C 000125BC 48 27 A8 81 */ bl JASDvd_NS_getThreadPointer
|
|
/* 80015680 000125C0 7C 7F 1B 79 */ or. r31, r3, r3
|
|
/* 80015684 000125C4 41 82 00 30 */ beq lbl_800156B4
|
|
/* 80015688 000125C8 38 80 00 01 */ li r4, 1
|
|
/* 8001568C 000125CC 48 27 A7 FD */ bl JASTaskThread_NS_pause
|
|
/* 80015690 000125D0 83 FF 00 2C */ lwz r31, 0x2c(r31)
|
|
/* 80015694 000125D4 28 1F 00 00 */ cmplwi r31, 0
|
|
/* 80015698 000125D8 41 82 00 1C */ beq lbl_800156B4
|
|
/* 8001569C 000125DC 7F E3 FB 78 */ mr r3, r31
|
|
/* 800156A0 000125E0 48 32 C3 9D */ bl OSSuspendThread
|
|
/* 800156A4 000125E4 7F E3 FB 78 */ mr r3, r31
|
|
/* 800156A8 000125E8 48 32 C0 6D */ bl OSDetachThread
|
|
/* 800156AC 000125EC 7F E3 FB 78 */ mr r3, r31
|
|
/* 800156B0 000125F0 48 32 BE A9 */ bl OSCancelThread
|
|
lbl_800156B4:
|
|
/* 800156B4 000125F4 48 33 73 11 */ bl VIWaitForRetrace
|
|
/* 800156B8 000125F8 48 33 73 0D */ bl VIWaitForRetrace
|
|
/* 800156BC 000125FC 48 34 57 E5 */ bl GXGetCurrentGXThread
|
|
/* 800156C0 00012600 7C 7F 1B 78 */ mr r31, r3
|
|
/* 800156C4 00012604 48 32 80 31 */ bl __RAS_OSDisableInterrupts_begin
|
|
/* 800156C8 00012608 7C 7E 1B 78 */ mr r30, r3
|
|
/* 800156CC 0001260C 48 32 B5 B9 */ bl OSGetCurrentThread
|
|
/* 800156D0 00012610 7C 1F 18 40 */ cmplw r31, r3
|
|
/* 800156D4 00012614 41 82 00 10 */ beq lbl_800156E4
|
|
/* 800156D8 00012618 7F E3 FB 78 */ mr r3, r31
|
|
/* 800156DC 0001261C 48 32 BE 7D */ bl OSCancelThread
|
|
/* 800156E0 00012620 48 34 57 75 */ bl GXSetCurrentGXThread
|
|
lbl_800156E4:
|
|
/* 800156E4 00012624 48 34 67 E9 */ bl GXFlush
|
|
/* 800156E8 00012628 48 34 69 AD */ bl GXAbortFrame
|
|
/* 800156EC 0001262C 48 34 6C 09 */ bl GXDrawDone
|
|
/* 800156F0 00012630 7F C3 F3 78 */ mr r3, r30
|
|
/* 800156F4 00012634 48 32 80 29 */ bl OSRestoreInterrupts
|
|
/* 800156F8 00012638 4B FF FE E5 */ bl destroyVideo
|
|
/* 800156FC 0001263C 3C 60 80 3F */ lis r3, lbl_803EAF40@ha
|
|
/* 80015700 00012640 3B E3 AF 40 */ addi r31, r3, lbl_803EAF40@l
|
|
/* 80015704 00012644 48 00 00 08 */ b lbl_8001570C
|
|
lbl_80015708:
|
|
/* 80015708 00012648 48 33 72 BD */ bl VIWaitForRetrace
|
|
lbl_8001570C:
|
|
/* 8001570C 0001264C 80 1F 1F C0 */ lwz r0, 0x1fc0(r31)
|
|
/* 80015710 00012650 2C 00 00 00 */ cmpwi r0, 0
|
|
/* 80015714 00012654 40 82 FF F4 */ bne lbl_80015708
|
|
/* 80015718 00012658 4B FF FE C1 */ bl my_OSCancelAlarmAll
|
|
/* 8001571C 0001265C 48 32 60 D1 */ bl LCDisable
|
|
/* 80015720 00012660 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
|
|
.global mDoRst_NS_getResetData
|
|
/* 80015724 00012664 3C 80 80 01 */ lis r4, mDoRst_NS_getResetData@ha
|
|
.global mDoRst_NS_getResetData
|
|
/* 80015728 00012668 38 84 57 F4 */ addi r4, r4, mDoRst_NS_getResetData@l
|
|
/* 8001572C 0001266C 38 84 00 18 */ addi r4, r4, 0x18
|
|
/* 80015730 00012670 48 32 9F 11 */ bl OSSetSaveRegion
|
|
/* 80015734 00012674 7F 63 DB 78 */ mr r3, r27
|
|
/* 80015738 00012678 7F 84 E3 78 */ mr r4, r28
|
|
/* 8001573C 0001267C 7F A5 EB 78 */ mr r5, r29
|
|
/* 80015740 00012680 48 32 A1 6D */ bl OSResetSystem
|
|
lbl_80015744:
|
|
/* 80015744 00012684 48 33 72 81 */ bl VIWaitForRetrace
|
|
/* 80015748 00012688 4B FF FF FC */ b lbl_80015744
|
|
.global mDoRst_resetCallBack
|
|
mDoRst_resetCallBack:
|
|
/* 8001574C 0001268C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
/* 80015750 00012690 7C 08 02 A6 */ mflr r0
|
|
/* 80015754 00012694 90 01 00 14 */ stw r0, 0x14(r1)
|
|
/* 80015758 00012698 80 8D 86 F8 */ lwz r4, lbl_80450C78-_SDA_BASE_(r13)
|
|
/* 8001575C 0001269C 80 04 00 00 */ lwz r0, 0(r4)
|
|
/* 80015760 000126A0 2C 00 00 00 */ cmpwi r0, 0
|
|
/* 80015764 000126A4 40 82 00 80 */ bne lbl_800157E4
|
|
/* 80015768 000126A8 2C 03 FF FF */ cmpwi r3, -1
|
|
/* 8001576C 000126AC 40 82 00 0C */ bne lbl_80015778
|
|
/* 80015770 000126B0 48 24 DB 1D */ bl cAPICPad_recalibrate
|
|
/* 80015774 000126B4 48 00 00 40 */ b lbl_800157B4
|
|
lbl_80015778:
|
|
/* 80015778 000126B8 80 04 00 08 */ lwz r0, 8(r4)
|
|
/* 8001577C 000126BC 2C 00 00 00 */ cmpwi r0, 0
|
|
/* 80015780 000126C0 41 82 00 20 */ beq lbl_800157A0
|
|
/* 80015784 000126C4 38 80 00 00 */ li r4, 0
|
|
/* 80015788 000126C8 98 8D 8F 81 */ stb r4, lbl_80451501-_SDA_BASE_(r13)
|
|
.global mDoRst_resetCallBack
|
|
/* 8001578C 000126CC 3C 60 80 01 */ lis r3, mDoRst_resetCallBack@ha
|
|
.global mDoRst_resetCallBack
|
|
/* 80015790 000126D0 38 03 57 4C */ addi r0, r3, mDoRst_resetCallBack@l
|
|
/* 80015794 000126D4 90 0D 8F 6C */ stw r0, lbl_804514EC-_SDA_BASE_(r13)
|
|
/* 80015798 000126D8 90 8D 8F 70 */ stw r4, lbl_804514F0-_SDA_BASE_(r13)
|
|
/* 8001579C 000126DC 48 00 00 48 */ b lbl_800157E4
|
|
lbl_800157A0:
|
|
/* 800157A0 000126E0 38 00 00 01 */ li r0, 1
|
|
/* 800157A4 000126E4 90 04 00 08 */ stw r0, 8(r4)
|
|
/* 800157A8 000126E8 80 8D 86 F8 */ lwz r4, lbl_80450C78-_SDA_BASE_(r13)
|
|
/* 800157AC 000126EC 90 64 00 0C */ stw r3, 0xc(r4)
|
|
/* 800157B0 000126F0 48 24 DA DD */ bl cAPICPad_recalibrate
|
|
lbl_800157B4:
|
|
/* 800157B4 000126F4 48 33 5E 75 */ bl DVDCheckDisk
|
|
/* 800157B8 000126F8 2C 03 00 00 */ cmpwi r3, 0
|
|
/* 800157BC 000126FC 40 82 00 1C */ bne lbl_800157D8
|
|
/* 800157C0 00012700 48 33 5A 09 */ bl DVDGetDriveStatus
|
|
/* 800157C4 00012704 2C 03 FF FF */ cmpwi r3, -1
|
|
/* 800157C8 00012708 41 82 00 10 */ beq lbl_800157D8
|
|
/* 800157CC 0001270C 38 00 00 01 */ li r0, 1
|
|
/* 800157D0 00012710 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
|
|
/* 800157D4 00012714 98 03 00 11 */ stb r0, 0x11(r3)
|
|
lbl_800157D8:
|
|
/* 800157D8 00012718 38 00 00 01 */ li r0, 1
|
|
/* 800157DC 0001271C 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
|
|
/* 800157E0 00012720 90 03 00 00 */ stw r0, 0(r3)
|
|
lbl_800157E4:
|
|
/* 800157E4 00012724 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
/* 800157E8 00012728 7C 08 03 A6 */ mtlr r0
|
|
/* 800157EC 0001272C 38 21 00 10 */ addi r1, r1, 0x10
|
|
/* 800157F0 00012730 4E 80 00 20 */ blr
|
|
.global mDoRst_NS_getResetData
|
|
mDoRst_NS_getResetData:
|
|
/* 800157F4 00012734 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
|
|
/* 800157F8 00012738 4E 80 00 20 */ blr
|