m_Do_Reset: OK (#35)

* m_Do_Reset: split and (some) decomp

decompiles:
- my_OSCancelAlarmAll()
- destroyVideo()

* mDoRst::reset(): decompile, plus some supporting code

* split DVD* functions to dvd.h

* mDoRst::resetCallBack(): decompile
This commit is contained in:
Erin Moon 2020-12-25 19:59:52 -06:00 committed by GitHub
parent 22bda03652
commit 58fc83c4f8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
37 changed files with 383 additions and 287 deletions

View File

@ -2,15 +2,6 @@
.section .text, "ax" # 802e5214
.global JUTXfb_NS_clearIndex
JUTXfb_NS_clearIndex:
/* 802E5214 002E2154 38 00 FF FF */ li r0, -1
/* 802E5218 002E2158 B0 03 00 14 */ sth r0, 0x14(r3)
/* 802E521C 002E215C B0 03 00 16 */ sth r0, 0x16(r3)
/* 802E5220 002E2160 B0 03 00 18 */ sth r0, 0x18(r3)
/* 802E5224 002E2164 4E 80 00 20 */ blr
.global JUTXfb_NS_common_init
JUTXfb_NS_common_init:
/* 802E5228 002E2168 94 21 FF F0 */ stwu r1, -0x10(r1)
@ -19,7 +10,7 @@ JUTXfb_NS_common_init:
/* 802E5234 002E2174 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802E5238 002E2178 7C 7F 1B 78 */ mr r31, r3
/* 802E523C 002E217C 90 83 00 10 */ stw r4, 0x10(r3)
/* 802E5240 002E2180 4B FF FF D5 */ bl JUTXfb_NS_clearIndex
/* 802E5240 002E2180 4B FF FF D5 */ bl clearIndex__6JUTXfbFv
/* 802E5244 002E2184 38 00 00 63 */ li r0, 0x63
/* 802E5248 002E2188 90 1F 00 1C */ stw r0, 0x1c(r31)
/* 802E524C 002E218C 83 E1 00 0C */ lwz r31, 0xc(r1)

View File

@ -1911,7 +1911,7 @@ dComIfG_resetToOpening:
/* 8002CD44 00029C84 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8002CD48 00029C88 7C 08 02 A6 */ mflr r0
/* 8002CD4C 00029C8C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8002CD50 00029C90 80 8D 86 F8 */ lwz r4, lbl_80450C78-_SDA_BASE_(r13)
/* 8002CD50 00029C90 80 8D 86 F8 */ lwz r4, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 8002CD54 00029C94 88 04 00 11 */ lbz r0, 0x11(r4)
/* 8002CD58 00029C98 2C 00 00 00 */ cmpwi r0, 0
/* 8002CD5C 00029C9C 40 82 00 20 */ bne lbl_8002CD7C

View File

@ -629,7 +629,7 @@ lbl_8019B5DC:
/* 8019B62C 0019856C 38 00 00 00 */ li r0, 0
/* 8019B630 00198570 98 03 5E B5 */ stb r0, 0x5eb5(r3)
/* 8019B634 00198574 38 00 00 01 */ li r0, 1
/* 8019B638 00198578 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
/* 8019B638 00198578 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 8019B63C 0019857C 90 03 00 00 */ stw r0, 0(r3)
/* 8019B640 00198580 48 00 01 20 */ b lbl_8019B760
lbl_8019B644:

View File

@ -25,7 +25,7 @@ dStage_nextStage_c_NS_set:
/* 80023E6C 00020DAC 2C 03 00 00 */ cmpwi r3, 0
/* 80023E70 00020DB0 40 82 00 10 */ bne lbl_80023E80
/* 80023E74 00020DB4 38 00 00 01 */ li r0, 1
/* 80023E78 00020DB8 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
/* 80023E78 00020DB8 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 80023E7C 00020DBC 90 03 00 00 */ stw r0, 0(r3)
lbl_80023E80:
/* 80023E80 00020DC0 83 E1 00 0C */ lwz r31, 0xc(r1)
@ -3441,7 +3441,7 @@ lbl_80026E34:
/* 80026E64 00023DA4 48 00 E2 8D */ bl putSave__10dSv_info_cFi
/* 80026E68 00023DA8 38 6D 87 F4 */ addi r3, r13, lbl_80450D74-_SDA_BASE_
/* 80026E6C 00023DAC 4B FF DC 51 */ bl dStage_roomControl_c_NS_roomDzs_c_NS_remove
/* 80026E70 00023DB0 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
/* 80026E70 00023DB0 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 80026E74 00023DB4 80 03 00 00 */ lwz r0, 0(r3)
/* 80026E78 00023DB8 2C 00 00 00 */ cmpwi r0, 0
/* 80026E7C 00023DBC 40 82 00 2C */ bne lbl_80026EA8

View File

@ -565,7 +565,7 @@ lbl_8009D38C:
/* 8009D3B8 0009A2F8 98 0D 8A 30 */ stb r0, lbl_80450FB0-_SDA_BASE_(r13)
/* 8009D3BC 0009A2FC 48 00 00 3C */ b lbl_8009D3F8
lbl_8009D3C0:
/* 8009D3C0 0009A300 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
/* 8009D3C0 0009A300 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 8009D3C4 0009A304 80 03 00 00 */ lwz r0, 0(r3)
/* 8009D3C8 0009A308 2C 00 00 00 */ cmpwi r0, 0
/* 8009D3CC 0009A30C 41 82 00 24 */ beq lbl_8009D3F0
@ -823,7 +823,7 @@ dShutdownErrorMsg_c_NS_execute:
/* 8009D790 0009A6D0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8009D794 0009A6D4 7C 08 02 A6 */ mflr r0
/* 8009D798 0009A6D8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8009D79C 0009A6DC 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
/* 8009D79C 0009A6DC 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 8009D7A0 0009A6E0 88 03 00 10 */ lbz r0, 0x10(r3)
/* 8009D7A4 0009A6E4 2C 00 00 00 */ cmpwi r0, 0
/* 8009D7A8 0009A6E8 40 82 00 18 */ bne lbl_8009D7C0
@ -864,20 +864,20 @@ lbl_8009D814:
/* 8009D828 0009A768 48 1D 2E 35 */ bl cLib_chaseUC
/* 8009D82C 0009A76C 2C 03 00 00 */ cmpwi r3, 0
/* 8009D830 0009A770 41 82 00 38 */ beq lbl_8009D868
/* 8009D834 0009A774 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
/* 8009D834 0009A774 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 8009D838 0009A778 88 03 00 11 */ lbz r0, 0x11(r3)
/* 8009D83C 0009A77C 2C 00 00 00 */ cmpwi r0, 0
/* 8009D840 0009A780 41 82 00 18 */ beq lbl_8009D858
/* 8009D844 0009A784 38 60 00 01 */ li r3, 1
/* 8009D848 0009A788 3C 80 80 00 */ lis r4, 0x8000
/* 8009D84C 0009A78C 38 A0 00 00 */ li r5, 0
/* 8009D850 0009A790 4B F7 7D C5 */ bl mDoRst_reset
/* 8009D850 0009A790 4B F7 7D C5 */ bl reset__6mDoRstFlUll
/* 8009D854 0009A794 48 00 00 14 */ b lbl_8009D868
lbl_8009D858:
/* 8009D858 0009A798 38 60 00 01 */ li r3, 1
/* 8009D85C 0009A79C 38 80 00 01 */ li r4, 1
/* 8009D860 0009A7A0 38 A0 00 01 */ li r5, 1
/* 8009D864 0009A7A4 4B F7 7D B1 */ bl mDoRst_reset
/* 8009D864 0009A7A4 4B F7 7D B1 */ bl reset__6mDoRstFlUll
lbl_8009D868:
/* 8009D868 0009A7A8 38 60 00 01 */ li r3, 1
lbl_8009D86C:

View File

@ -1098,7 +1098,7 @@ lbl_80184548:
/* 8018455C 0018149C 28 00 00 01 */ cmplwi r0, 1
/* 80184560 001814A0 40 82 00 50 */ bne lbl_801845B0
lbl_80184564:
/* 80184564 001814A4 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
/* 80184564 001814A4 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 80184568 001814A8 80 03 00 00 */ lwz r0, 0(r3)
/* 8018456C 001814AC 2C 00 00 00 */ cmpwi r0, 0
/* 80184570 001814B0 40 82 00 40 */ bne lbl_801845B0
@ -4451,7 +4451,7 @@ lbl_80187688:
/* 801876A8 001845E8 90 01 00 24 */ stw r0, 0x24(r1)
/* 801876AC 001845EC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801876B0 001845F0 7C 7F 1B 78 */ mr r31, r3
/* 801876B4 001845F4 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
/* 801876B4 001845F4 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 801876B8 001845F8 80 03 00 00 */ lwz r0, 0(r3)
/* 801876BC 001845FC 2C 00 00 00 */ cmpwi r0, 0
/* 801876C0 00184600 40 82 00 78 */ bne lbl_80187738
@ -4612,7 +4612,7 @@ lbl_801878F4:
/* 80187910 00184850 90 01 00 24 */ stw r0, 0x24(r1)
/* 80187914 00184854 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80187918 00184858 7C 7F 1B 78 */ mr r31, r3
/* 8018791C 0018485C 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
/* 8018791C 0018485C 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 80187920 00184860 80 03 00 00 */ lwz r0, 0(r3)
/* 80187924 00184864 2C 00 00 00 */ cmpwi r0, 0
/* 80187928 00184868 40 82 00 7C */ bne lbl_801879A4
@ -12372,7 +12372,7 @@ lbl_8018EC24:
/* 8018EC24 0018BB64 38 00 00 00 */ li r0, 0
/* 8018EC28 0018BB68 98 1F 23 74 */ stb r0, 0x2374(r31)
/* 8018EC2C 0018BB6C 38 00 00 01 */ li r0, 1
/* 8018EC30 0018BB70 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
/* 8018EC30 0018BB70 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 8018EC34 0018BB74 98 03 00 10 */ stb r0, 0x10(r3)
lbl_8018EC38:
/* 8018EC38 0018BB78 83 E1 00 0C */ lwz r31, 0xc(r1)

View File

@ -1792,7 +1792,7 @@ dMenu_save_c_NS__move:
/* 801F1050 001EDF90 90 01 00 14 */ stw r0, 0x14(r1)
/* 801F1054 001EDF94 93 E1 00 0C */ stw r31, 0xc(r1)
/* 801F1058 001EDF98 7C 7F 1B 78 */ mr r31, r3
/* 801F105C 001EDF9C 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
/* 801F105C 001EDF9C 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 801F1060 001EDFA0 80 03 00 00 */ lwz r0, 0(r3)
/* 801F1064 001EDFA4 2C 00 00 00 */ cmpwi r0, 0
/* 801F1068 001EDFA8 41 82 00 10 */ beq lbl_801F1078
@ -1989,7 +1989,7 @@ dMenu_save_c_NS_memCardWatch:
/* 801F1310 001EE250 28 00 00 01 */ cmplwi r0, 1
/* 801F1314 001EE254 4C 82 00 20 */ bnelr
lbl_801F1318:
/* 801F1318 001EE258 80 8D 86 F8 */ lwz r4, lbl_80450C78-_SDA_BASE_(r13)
/* 801F1318 001EE258 80 8D 86 F8 */ lwz r4, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 801F131C 001EE25C 80 04 00 00 */ lwz r0, 0(r4)
/* 801F1320 001EE260 2C 00 00 00 */ cmpwi r0, 0
/* 801F1324 001EE264 4C 82 00 20 */ bnelr
@ -2234,7 +2234,7 @@ lbl_801F1694:
/* 801F16AC 001EE5EC 7C 08 03 A6 */ mtlr r0
/* 801F16B0 001EE5F0 38 21 00 10 */ addi r1, r1, 0x10
/* 801F16B4 001EE5F4 4E 80 00 20 */ blr
/* 801F16B8 001EE5F8 80 8D 86 F8 */ lwz r4, lbl_80450C78-_SDA_BASE_(r13)
/* 801F16B8 001EE5F8 80 8D 86 F8 */ lwz r4, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 801F16BC 001EE5FC 80 04 00 00 */ lwz r0, 0(r4)
/* 801F16C0 001EE600 2C 00 00 00 */ cmpwi r0, 0
/* 801F16C4 001EE604 4C 82 00 20 */ bnelr
@ -2857,7 +2857,7 @@ lbl_801F1FD8:
/* 801F1FD8 001EEF18 38 00 00 00 */ li r0, 0
/* 801F1FDC 001EEF1C 98 1F 21 A0 */ stb r0, 0x21a0(r31)
/* 801F1FE0 001EEF20 38 00 00 01 */ li r0, 1
/* 801F1FE4 001EEF24 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
/* 801F1FE4 001EEF24 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 801F1FE8 001EEF28 98 03 00 10 */ stb r0, 0x10(r3)
lbl_801F1FEC:
/* 801F1FEC 001EEF2C 83 E1 00 0C */ lwz r31, 0xc(r1)
@ -3782,7 +3782,7 @@ lbl_801F2D64:
/* 801F2D8C 001EFCCC 4E 80 00 20 */ blr
lbl_801F2D90:
/* 801F2D90 001EFCD0 38 00 00 01 */ li r0, 1
/* 801F2D94 001EFCD4 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
/* 801F2D94 001EFCD4 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 801F2D98 001EFCD8 90 03 00 00 */ stw r0, 0(r3)
/* 801F2D9C 001EFCDC 4E 80 00 20 */ blr
/* 801F2DA0 001EFCE0 88 83 01 BD */ lbz r4, 0x1bd(r3)
@ -4133,7 +4133,7 @@ dMenu_save_c_NS_YesNoSelect:
/* 801F329C 001F01DC 93 C1 00 28 */ stw r30, 0x28(r1)
/* 801F32A0 001F01E0 7C 7F 1B 78 */ mr r31, r3
/* 801F32A4 001F01E4 3B C0 00 00 */ li r30, 0
/* 801F32A8 001F01E8 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
/* 801F32A8 001F01E8 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 801F32AC 001F01EC 80 03 00 00 */ lwz r0, 0(r3)
/* 801F32B0 001F01F0 2C 00 00 00 */ cmpwi r0, 0
/* 801F32B4 001F01F4 41 82 00 0C */ beq lbl_801F32C0
@ -4592,7 +4592,7 @@ lbl_801F391C:
/* 801F393C 001F087C 90 01 00 24 */ stw r0, 0x24(r1)
/* 801F3940 001F0880 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801F3944 001F0884 7C 7F 1B 78 */ mr r31, r3
/* 801F3948 001F0888 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
/* 801F3948 001F0888 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 801F394C 001F088C 80 03 00 00 */ lwz r0, 0(r3)
/* 801F3950 001F0890 2C 00 00 00 */ cmpwi r0, 0
/* 801F3954 001F0894 40 82 01 2C */ bne lbl_801F3A80
@ -5104,7 +5104,7 @@ lbl_801F40C0:
/* 801F40E0 001F1020 90 01 00 24 */ stw r0, 0x24(r1)
/* 801F40E4 001F1024 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801F40E8 001F1028 7C 7F 1B 78 */ mr r31, r3
/* 801F40EC 001F102C 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
/* 801F40EC 001F102C 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 801F40F0 001F1030 80 03 00 00 */ lwz r0, 0(r3)
/* 801F40F4 001F1034 2C 00 00 00 */ cmpwi r0, 0
/* 801F40F8 001F1038 40 82 01 2C */ bne lbl_801F4224
@ -6028,7 +6028,7 @@ dMenu_save_c_NS_errYesNoSelect:
/* 801F4E60 001F1DA0 7C 9C 23 78 */ mr r28, r4
/* 801F4E64 001F1DA4 7C BD 2B 78 */ mr r29, r5
/* 801F4E68 001F1DA8 3B C0 00 00 */ li r30, 0
/* 801F4E6C 001F1DAC 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
/* 801F4E6C 001F1DAC 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 801F4E70 001F1DB0 80 03 00 00 */ lwz r0, 0(r3)
/* 801F4E74 001F1DB4 2C 00 00 00 */ cmpwi r0, 0
/* 801F4E78 001F1DB8 41 82 00 0C */ beq lbl_801F4E84

View File

@ -85,7 +85,7 @@ dScnLogo_c_NS_checkProgSelect:
/* 802561A0 002530E0 90 01 00 14 */ stw r0, 0x14(r1)
/* 802561A4 002530E4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802561A8 002530E8 7C 7F 1B 78 */ mr r31, r3
/* 802561AC 002530EC 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
/* 802561AC 002530EC 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 802561B0 002530F0 88 03 00 13 */ lbz r0, 0x13(r3)
/* 802561B4 002530F4 28 00 00 00 */ cmplwi r0, 0
/* 802561B8 002530F8 40 82 00 44 */ bne lbl_802561FC
@ -302,7 +302,7 @@ lbl_802564AC:
/* 802564D8 00253418 38 80 00 01 */ li r4, 1
/* 802564DC 0025341C 48 00 1F FD */ bl dScnLogo_c_NS_setProgressiveMode
/* 802564E0 00253420 38 00 00 01 */ li r0, 1
/* 802564E4 00253424 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
/* 802564E4 00253424 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 802564E8 00253428 98 03 00 14 */ stb r0, 0x14(r3)
/* 802564EC 0025342C 38 00 00 6D */ li r0, 0x6d
/* 802564F0 00253430 90 01 00 0C */ stw r0, 0xc(r1)
@ -375,7 +375,7 @@ lbl_802565D8:
/* 802565EC 0025352C B0 1D 02 12 */ sth r0, 0x212(r29)
lbl_802565F0:
/* 802565F0 00253530 38 00 00 01 */ li r0, 1
/* 802565F4 00253534 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
/* 802565F4 00253534 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 802565F8 00253538 98 03 00 13 */ stb r0, 0x13(r3)
/* 802565FC 0025353C 48 00 00 68 */ b lbl_80256664
lbl_80256600:
@ -617,7 +617,7 @@ lbl_80256980:
/* 80256988 002538C8 88 1F 02 09 */ lbz r0, 0x209(r31)
/* 8025698C 002538CC 28 00 00 00 */ cmplwi r0, 0
/* 80256990 002538D0 41 82 00 60 */ beq lbl_802569F0
/* 80256994 002538D4 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
/* 80256994 002538D4 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 80256998 002538D8 88 03 00 15 */ lbz r0, 0x15(r3)
/* 8025699C 002538DC 28 00 00 00 */ cmplwi r0, 0
/* 802569A0 002538E0 41 82 00 18 */ beq lbl_802569B8
@ -751,7 +751,7 @@ lbl_80256B7C:
/* 80256B7C 00253ABC A0 1F 02 0C */ lhz r0, 0x20c(r31)
/* 80256B80 00253AC0 28 00 00 00 */ cmplwi r0, 0
/* 80256B84 00253AC4 40 82 00 5C */ bne lbl_80256BE0
/* 80256B88 00253AC8 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
/* 80256B88 00253AC8 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 80256B8C 00253ACC 88 03 00 15 */ lbz r0, 0x15(r3)
/* 80256B90 00253AD0 28 00 00 00 */ cmplwi r0, 0
/* 80256B94 00253AD4 41 82 00 18 */ beq lbl_80256BAC
@ -895,7 +895,7 @@ lbl_80256D6C:
/* 80256D9C 00253CDC 4E 80 04 21 */ bctrl
lbl_80256DA0:
/* 80256DA0 00253CE0 38 00 00 01 */ li r0, 1
/* 80256DA4 00253CE4 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
/* 80256DA4 00253CE4 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 80256DA8 00253CE8 98 03 00 15 */ stb r0, 0x15(r3)
lbl_80256DAC:
/* 80256DAC 00253CEC 39 61 00 30 */ addi r11, r1, 0x30
@ -1202,9 +1202,9 @@ lbl_80257044:
/* 8025724C 0025418C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80257250 00254190 41 82 00 20 */ beq lbl_80257270
/* 80257254 00254194 38 00 00 00 */ li r0, 0
/* 80257258 00254198 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
/* 80257258 00254198 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 8025725C 0025419C 98 03 00 12 */ stb r0, 0x12(r3)
/* 80257260 002541A0 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
/* 80257260 002541A0 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 80257264 002541A4 98 03 00 14 */ stb r0, 0x14(r3)
/* 80257268 002541A8 38 00 00 0F */ li r0, 0xf
/* 8025726C 002541AC 98 1F 02 08 */ stb r0, 0x208(r31)
@ -1217,7 +1217,7 @@ lbl_80257270:
/* 80257284 002541C4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80257288 002541C8 7C 08 02 A6 */ mflr r0
/* 8025728C 002541CC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80257290 002541D0 80 8D 86 F8 */ lwz r4, lbl_80450C78-_SDA_BASE_(r13)
/* 80257290 002541D0 80 8D 86 F8 */ lwz r4, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 80257294 002541D4 80 04 00 00 */ lwz r0, 0(r4)
/* 80257298 002541D8 2C 00 00 00 */ cmpwi r0, 0
/* 8025729C 002541DC 40 82 00 0C */ bne lbl_802572A8
@ -1239,7 +1239,7 @@ dScnLogo_c_NS_dtor:
/* 802572CC 0025420C 7C 7F 1B 79 */ or. r31, r3, r3
/* 802572D0 00254210 7C 9D 23 78 */ mr r29, r4
/* 802572D4 00254214 41 82 06 20 */ beq lbl_802578F4
/* 802572D8 00254218 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
/* 802572D8 00254218 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 802572DC 0025421C 80 03 00 00 */ lwz r0, 0(r3)
/* 802572E0 00254220 2C 00 00 00 */ cmpwi r0, 0
/* 802572E4 00254224 41 82 00 30 */ beq lbl_80257314
@ -1254,7 +1254,7 @@ lbl_80257304:
/* 80257304 00254244 38 60 00 00 */ li r3, 0
/* 80257308 00254248 3C 80 80 00 */ lis r4, 0x8000
/* 8025730C 0025424C 38 A0 00 00 */ li r5, 0
/* 80257310 00254250 4B DB E3 05 */ bl mDoRst_reset
/* 80257310 00254250 4B DB E3 05 */ bl reset__6mDoRstFlUll
lbl_80257314:
/* 80257314 00254254 83 9F 01 E4 */ lwz r28, 0x1e4(r31)
/* 80257318 00254258 28 1C 00 00 */ cmplwi r28, 0
@ -1748,7 +1748,7 @@ lbl_80257A0C:
/* 80257A30 00254970 38 84 C2 F8 */ addi r4, r4, -15624
/* 80257A34 00254974 4B DE 46 45 */ bl dRes_control_c_NS_setRes
/* 80257A38 00254978 38 00 00 01 */ li r0, 1
/* 80257A3C 0025497C 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
/* 80257A3C 0025497C 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 80257A40 00254980 98 03 00 12 */ stb r0, 0x12(r3)
/* 80257A44 00254984 80 6D 86 B4 */ lwz r3, lbl_80450C34-_SDA_BASE_(r13)
/* 80257A48 00254988 81 83 00 00 */ lwz r12, 0(r3)
@ -1861,7 +1861,7 @@ lbl_80257BA0:
/* 80257BD0 00254B10 90 1E 02 18 */ stw r0, 0x218(r30)
/* 80257BD4 00254B14 48 00 00 44 */ b lbl_80257C18
lbl_80257BD8:
/* 80257BD8 00254B18 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
/* 80257BD8 00254B18 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 80257BDC 00254B1C 88 03 00 15 */ lbz r0, 0x15(r3)
/* 80257BE0 00254B20 28 00 00 00 */ cmplwi r0, 0
/* 80257BE4 00254B24 41 82 00 18 */ beq lbl_80257BFC
@ -1877,22 +1877,22 @@ lbl_80257BFC:
/* 80257C08 00254B48 98 1E 02 08 */ stb r0, 0x208(r30)
lbl_80257C0C:
/* 80257C0C 00254B4C 38 00 00 01 */ li r0, 1
/* 80257C10 00254B50 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
/* 80257C10 00254B50 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 80257C14 00254B54 98 03 00 13 */ stb r0, 0x13(r3)
lbl_80257C18:
/* 80257C18 00254B58 38 80 00 00 */ li r4, 0
/* 80257C1C 00254B5C 98 8D 8F 81 */ stb r4, lbl_80451501-_SDA_BASE_(r13)
.global mDoRst_resetCallBack
/* 80257C20 00254B60 3C 60 80 01 */ lis r3, mDoRst_resetCallBack@ha
.global mDoRst_resetCallBack
/* 80257C24 00254B64 38 03 57 4C */ addi r0, r3, mDoRst_resetCallBack@l
.global resetCallBack__6mDoRstFiPv
/* 80257C20 00254B60 3C 60 80 01 */ lis r3, resetCallBack__6mDoRstFiPv@ha
.global resetCallBack__6mDoRstFiPv
/* 80257C24 00254B64 38 03 57 4C */ addi r0, r3, resetCallBack__6mDoRstFiPv@l
/* 80257C28 00254B68 90 0D 8F 6C */ stw r0, lbl_804514EC-_SDA_BASE_(r13)
/* 80257C2C 00254B6C 90 8D 8F 70 */ stw r4, lbl_804514F0-_SDA_BASE_(r13)
/* 80257C30 00254B70 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
/* 80257C30 00254B70 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 80257C34 00254B74 90 83 00 00 */ stw r4, 0(r3)
/* 80257C38 00254B78 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
/* 80257C38 00254B78 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 80257C3C 00254B7C 90 83 00 04 */ stw r4, 4(r3)
/* 80257C40 00254B80 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
/* 80257C40 00254B80 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 80257C44 00254B84 90 83 00 04 */ stw r4, 4(r3)
/* 80257C48 00254B88 7F E3 FB 78 */ mr r3, r31
lbl_80257C4C:
@ -2423,7 +2423,7 @@ dScnLogo_c_NS_dvdDataLoad:
/* 80258444 00255384 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80258448 00255388 7C 08 02 A6 */ mflr r0
/* 8025844C 0025538C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80258450 00255390 80 8D 86 F8 */ lwz r4, lbl_80450C78-_SDA_BASE_(r13)
/* 80258450 00255390 80 8D 86 F8 */ lwz r4, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 80258454 00255394 80 04 00 00 */ lwz r0, 0(r4)
/* 80258458 00255398 2C 00 00 00 */ cmpwi r0, 0
/* 8025845C 0025539C 41 82 00 14 */ beq lbl_80258470

View File

@ -306,7 +306,7 @@ dScnName_c_NS_execute:
/* 80258BE8 00255B28 7F E3 FB 78 */ mr r3, r31
/* 80258BEC 00255B2C 4B DD 41 59 */ bl dComIfG_resetToOpening
lbl_80258BF0:
/* 80258BF0 00255B30 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
/* 80258BF0 00255B30 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 80258BF4 00255B34 80 03 00 00 */ lwz r0, 0(r3)
/* 80258BF8 00255B38 2C 00 00 00 */ cmpwi r0, 0
/* 80258BFC 00255B3C 41 82 00 28 */ beq lbl_80258C24
@ -582,7 +582,7 @@ lbl_80258FC0:
/* 80258FC8 00255F08 7C 08 03 A6 */ mtlr r0
/* 80258FCC 00255F0C 38 21 00 20 */ addi r1, r1, 0x20
/* 80258FD0 00255F10 4E 80 00 20 */ blr
/* 80258FD4 00255F14 80 8D 86 F8 */ lwz r4, lbl_80450C78-_SDA_BASE_(r13)
/* 80258FD4 00255F14 80 8D 86 F8 */ lwz r4, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 80258FD8 00255F18 80 04 00 00 */ lwz r0, 0(r4)
/* 80258FDC 00255F1C 2C 00 00 00 */ cmpwi r0, 0
/* 80258FE0 00255F20 4C 82 00 20 */ bnelr
@ -661,7 +661,7 @@ lbl_802590E4:
/* 80259100 00256040 90 01 00 14 */ stw r0, 0x14(r1)
/* 80259104 00256044 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80259108 00256048 7C 7F 1B 78 */ mr r31, r3
/* 8025910C 0025604C 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
/* 8025910C 0025604C 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 80259110 00256050 80 03 00 00 */ lwz r0, 0(r3)
/* 80259114 00256054 2C 00 00 00 */ cmpwi r0, 0
/* 80259118 00256058 40 82 00 94 */ bne lbl_802591AC

View File

@ -497,7 +497,7 @@ lbl_80259AFC:
/* 80259B08 00256A48 38 60 00 00 */ li r3, 0
/* 80259B0C 00256A4C 48 00 00 DC */ b lbl_80259BE8
lbl_80259B10:
/* 80259B10 00256A50 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
/* 80259B10 00256A50 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 80259B14 00256A54 80 03 00 00 */ lwz r0, 0(r3)
/* 80259B18 00256A58 2C 00 00 00 */ cmpwi r0, 0
/* 80259B1C 00256A5C 41 82 00 A8 */ beq lbl_80259BC4
@ -575,17 +575,17 @@ dScnPly_c_NS_offReset:
/* 80259C20 00256B60 2C 03 00 00 */ cmpwi r3, 0
/* 80259C24 00256B64 40 82 00 38 */ bne lbl_80259C5C
/* 80259C28 00256B68 38 80 00 00 */ li r4, 0
/* 80259C2C 00256B6C 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
/* 80259C2C 00256B6C 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 80259C30 00256B70 90 83 00 00 */ stw r4, 0(r3)
/* 80259C34 00256B74 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
/* 80259C34 00256B74 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 80259C38 00256B78 90 83 00 04 */ stw r4, 4(r3)
/* 80259C3C 00256B7C 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
/* 80259C3C 00256B7C 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 80259C40 00256B80 90 83 00 04 */ stw r4, 4(r3)
/* 80259C44 00256B84 98 8D 8F 81 */ stb r4, lbl_80451501-_SDA_BASE_(r13)
.global mDoRst_resetCallBack
/* 80259C48 00256B88 3C 60 80 01 */ lis r3, mDoRst_resetCallBack@ha
.global mDoRst_resetCallBack
/* 80259C4C 00256B8C 38 03 57 4C */ addi r0, r3, mDoRst_resetCallBack@l
.global resetCallBack__6mDoRstFiPv
/* 80259C48 00256B88 3C 60 80 01 */ lis r3, resetCallBack__6mDoRstFiPv@ha
.global resetCallBack__6mDoRstFiPv
/* 80259C4C 00256B8C 38 03 57 4C */ addi r0, r3, resetCallBack__6mDoRstFiPv@l
/* 80259C50 00256B90 90 0D 8F 6C */ stw r0, lbl_804514EC-_SDA_BASE_(r13)
/* 80259C54 00256B94 90 8D 8F 70 */ stw r4, lbl_804514F0-_SDA_BASE_(r13)
/* 80259C58 00256B98 98 9F 01 D4 */ stb r4, 0x1d4(r31)

View File

@ -693,7 +693,7 @@ lbl_8025B728:
/* 8025B78C 002586CC 81 8C 00 08 */ lwz r12, 8(r12)
/* 8025B790 002586D0 7D 89 03 A6 */ mtctr r12
/* 8025B794 002586D4 4E 80 04 21 */ bctrl
/* 8025B798 002586D8 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
/* 8025B798 002586D8 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 8025B79C 002586DC 80 03 00 00 */ lwz r0, 0(r3)
/* 8025B7A0 002586E0 2C 00 00 00 */ cmpwi r0, 0
/* 8025B7A4 002586E4 40 82 00 54 */ bne lbl_8025B7F8

View File

@ -61,16 +61,16 @@ lbl_80007A0C:
/* 80007A14 00004954 90 03 00 08 */ stw r0, 8(r3)
/* 80007A18 00004958 90 03 00 0C */ stw r0, 0xc(r3)
lbl_80007A1C:
/* 80007A1C 0000495C 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
/* 80007A1C 0000495C 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 80007A20 00004960 80 03 00 00 */ lwz r0, 0(r3)
/* 80007A24 00004964 2C 00 00 00 */ cmpwi r0, 0
/* 80007A28 00004968 40 82 00 1C */ bne lbl_80007A44
/* 80007A2C 0000496C 38 80 00 00 */ li r4, 0
/* 80007A30 00004970 98 8D 8F 81 */ stb r4, lbl_80451501-_SDA_BASE_(r13)
.global mDoRst_resetCallBack
/* 80007A34 00004974 3C 60 80 01 */ lis r3, mDoRst_resetCallBack@ha
.global mDoRst_resetCallBack
/* 80007A38 00004978 38 03 57 4C */ addi r0, r3, mDoRst_resetCallBack@l
.global resetCallBack__6mDoRstFiPv
/* 80007A34 00004974 3C 60 80 01 */ lis r3, resetCallBack__6mDoRstFiPv@ha
.global resetCallBack__6mDoRstFiPv
/* 80007A38 00004978 38 03 57 4C */ addi r0, r3, resetCallBack__6mDoRstFiPv@l
/* 80007A3C 0000497C 90 0D 8F 6C */ stw r0, lbl_804514EC-_SDA_BASE_(r13)
/* 80007A40 00004980 90 8D 8F 70 */ stw r4, lbl_804514F0-_SDA_BASE_(r13)
lbl_80007A44:
@ -104,7 +104,7 @@ mDoCPd_c_NS_read:
/* 80007AA0 000049E0 39 61 00 20 */ addi r11, r1, 0x20
/* 80007AA4 000049E4 48 35 A7 39 */ bl _savegpr_29
/* 80007AA8 000049E8 48 2D 8E 3D */ bl JUTGamePad_NS_read
/* 80007AAC 000049EC 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
/* 80007AAC 000049EC 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 80007AB0 000049F0 80 03 00 00 */ lwz r0, 0(r3)
/* 80007AB4 000049F4 2C 00 00 00 */ cmpwi r0, 0
/* 80007AB8 000049F8 40 82 00 4C */ bne lbl_80007B04
@ -125,7 +125,7 @@ lbl_80007AF0:
/* 80007AF0 00004A30 54 80 06 3F */ clrlwi. r0, r4, 0x18
/* 80007AF4 00004A34 40 82 00 10 */ bne lbl_80007B04
/* 80007AF8 00004A38 38 00 00 00 */ li r0, 0
/* 80007AFC 00004A3C 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
/* 80007AFC 00004A3C 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 80007B00 00004A40 90 03 00 08 */ stw r0, 8(r3)
lbl_80007B04:
/* 80007B04 00004A44 3C 60 80 3E */ lis r3, lbl_803DD2D8@ha

View File

@ -121,7 +121,7 @@ mDoMemCd_Ctrl_c_NS_update:
/* 8001689C 000137DC 90 01 00 14 */ stw r0, 0x14(r1)
/* 800168A0 000137E0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800168A4 000137E4 7C 7F 1B 78 */ mr r31, r3
/* 800168A8 000137E8 80 8D 86 F8 */ lwz r4, lbl_80450C78-_SDA_BASE_(r13)
/* 800168A8 000137E8 80 8D 86 F8 */ lwz r4, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 800168AC 000137EC 80 04 00 00 */ lwz r0, 0(r4)
/* 800168B0 000137F0 2C 00 00 00 */ cmpwi r0, 0
/* 800168B4 000137F4 41 82 00 30 */ beq lbl_800168E4

View File

@ -1,171 +0,0 @@
.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

View File

@ -132,7 +132,7 @@ mDoAud_Execute:
/* 80007170 000040B0 88 0D 86 38 */ lbz r0, lbl_80450BB8-_SDA_BASE_(r13)
/* 80007174 000040B4 28 00 00 00 */ cmplwi r0, 0
/* 80007178 000040B8 40 82 00 28 */ bne lbl_800071A0
/* 8000717C 000040BC 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
/* 8000717C 000040BC 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 80007180 000040C0 88 03 00 10 */ lbz r0, 0x10(r3)
/* 80007184 000040C4 2C 00 00 00 */ cmpwi r0, 0
/* 80007188 000040C8 40 82 00 24 */ bne lbl_800071AC

View File

@ -431,7 +431,7 @@ exceptionRestart:
/* 8000B7A4 000086E4 38 60 00 00 */ li r3, 0
/* 8000B7A8 000086E8 38 80 00 00 */ li r4, 0
/* 8000B7AC 000086EC 38 A0 00 00 */ li r5, 0
/* 8000B7B0 000086F0 48 00 9E 65 */ bl mDoRst_reset
/* 8000B7B0 000086F0 48 00 9E 65 */ bl reset__6mDoRstFlUll
/* 8000B7B4 000086F4 38 60 00 00 */ li r3, 0
/* 8000B7B8 000086F8 38 80 00 00 */ li r4, 0
/* 8000B7BC 000086FC 38 A0 00 00 */ li r5, 0
@ -908,7 +908,7 @@ lbl_8000BDF4:
/* 8000BE48 00008D88 48 33 48 DD */ bl OSSetProgressiveMode
/* 8000BE4C 00008D8C 48 00 00 38 */ b lbl_8000BE84
lbl_8000BE50:
/* 8000BE50 00008D90 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
/* 8000BE50 00008D90 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 8000BE54 00008D94 88 03 00 13 */ lbz r0, 0x13(r3)
/* 8000BE58 00008D98 28 00 00 00 */ cmplwi r0, 0
/* 8000BE5C 00008D9C 41 82 00 28 */ beq lbl_8000BE84

View File

@ -3,6 +3,8 @@
.section .text, "ax" # 8033d6f4
.global OSDisableInterrupts
OSDisableInterrupts:
.global __RAS_OSDisableInterrupts_begin
__RAS_OSDisableInterrupts_begin :
/* 8033D6F4 0033A634 7C 60 00 A6 */ mfmsr r3

View File

@ -305,8 +305,8 @@ lbl_80450C70:
.global lbl_80450C74
lbl_80450C74:
.skip 0x4
.global lbl_80450C78
lbl_80450C78:
.global m_Do_Reset_NS_mDoRst_NS_mResetData
m_Do_Reset_NS_mDoRst_NS_mResetData:
.skip 0x8
.global lbl_80450C80
lbl_80450C80:

View File

@ -3,6 +3,7 @@
#include "dolphin/types.h"
#include "JSystem/JKernel/JKRFile/JKRFile.h"
#include "dvd/dvd.h"
#include "global.h"
class DVDFileInfo;

View File

@ -0,0 +1,21 @@
#ifndef __JUTILITY_JUTXFB_JUTXFB_H__
#define __JUTILITY_JUTXFB_JUTXFB_H__
#include "dolphin/types.h"
class JUTXfb {
public:
void clearIndex();
private:
void * xfb_buffer[3];
bool is_xfb_allocated[3];
u8 padding_1;
s32 num_xfbs;
s16 active_xfb_index;
s16 last_drawn_xfb_index;
s16 next_xfb_buffer;
u8 padding_2[2];
s32 field_0x1c;
};
#endif

View File

@ -31,4 +31,6 @@ typedef int BOOL;
#define NULL (0)
#define INT32_MAX (0x7fffffff)
#endif

44
include/dvd/dvd.h Normal file
View File

@ -0,0 +1,44 @@
#ifndef __DVD_H__
#define __DVD_H__
extern "C" {
typedef enum DVDState {
DVD_STATE_END = 0x0,
DVD_STATE_BUSY = 0x1,
DVD_STATE_WAITING = 0x2,
DVD_STATE_COVER_CLOSED = 0x3,
DVD_STATE_NO_DISK = 0x4,
DVD_STATE_COVER_OPEN = 0x5,
DVD_STATE_WRONG_DISK = 0x6,
DVD_STATE_MOTOR_STOPPED = 0x7,
DVD_STATE_IGNORED = 0x8,
DVD_STATE_CANCELED = 0xa, // lmao they skipped 9
DVD_STATE_RETRY = 0xb,
DVD_STATE_FATAL_ERROR = -1,
__DVD_STATE_ENUM_FORCE_S32 = INT32_MAX,
} DVDState;
}
class DVDFileInfo;
extern "C" {
s32 DVDOpen(const char*, u8[48]);
s32 DVDClose(u8[48]);
void DVDReadPrio(void);
void DVDGetCurrentDiskID(void);
s32 DVDFastOpen(long, u8[48]);
int DVDGetCommandBlockStatus(u8[48]);
s32 DVDReadAsyncPrio(u8[48], void*, long, long, void(*)(long,DVDFileInfo*), long);
void DVDConvertPathToEntrynum(void);
DVDState DVDGetDriveStatus(void);
s32 DVDCheckDisk(void);
void DVDChangeDir(void);
void DVDCloseDir(void);
void DVDOpenDir(void);
void DVDReadDir(void);
}
#endif

View File

@ -1,3 +1,5 @@
#include "os/OS.h"
extern "C" {
void J2DScreen_NS_draw(void);
void PSMTXCopy(void);
@ -62,7 +64,8 @@ extern "C" {
void setBombNum__24dSv_player_item_record_cFUcUc(void);
void setItem__17dSv_player_item_cFiUc(void);
void dMeter2Info_c_NS_getString(void);
void Z2AudioMgr_NS_setOutputMode(u32,unsigned long);
void Z2AudioMgr_NS_setOutputMode(void*,unsigned long);
u32 Z2AudioMgr_NS_hasReset(void*);
void dComIfG_play_c_NS_getNowVibration(void);
void setInitEventBit(void);
void daObjCarry_c_NS_clrSaveFlag(void);
@ -169,7 +172,6 @@ extern "C" {
void JUTWarningConsole_f(void);
void func_803621CC(void);
void VIWaitForRetrace(void);
void func_80361C24(void);
void _restgpr_26(void);
@ -251,24 +253,14 @@ extern "C" {
void DCStoreRangeNoSync(void);
void __RAS_OSDisableInterrupts_begin(void);
u8 dComIfGs_getBottleMax(void);
void mDoDvdErr_ThdCleanup(void);
}
// DVD
class DVDFileInfo;
class mDoCPd_c;
extern "C" {
s32 DVDOpen(const char*, u8[48]);
s32 DVDClose(u8[48]);
void DVDReadPrio(void);
void DVDGetCurrentDiskID(void);
s32 DVDFastOpen(long, u8[48]);
int DVDGetCommandBlockStatus(u8[48]);
s32 DVDReadAsyncPrio(u8[48], void*, long, long, void(*)(long,DVDFileInfo*), long);
void DVDConvertPathToEntrynum(void);
void DVDChangeDir(void);
void DVDCloseDir(void);
void DVDOpenDir(void);
void DVDReadDir(void);
void cAPICPad_recalibrate(void);
}
// JSystem/JSupport/JSUList
@ -366,6 +358,19 @@ extern void GXSetBlendMode(u32, u32, u32, u32);
extern void GXSetVtxAttrFmt(u32, u32, u32, u32, u32);
extern void GXClearVtxDesc();
extern void GXSetVtxDesc(u32, u32);
typedef void (* GXDrawDoneCallback)(void);
extern void GXSetDrawDoneCallback(GXDrawDoneCallback);
extern void GXDrawDone(void);
extern void GXAbortFrame(void);
extern void GXFlush(void);
extern OSThread* GXSetCurrentGXThread(void);
extern OSThread* GXGetCurrentGXThread(void);
}
extern "C" {
void VIWaitForRetrace(void);
void VISetBlack(s32);
void VIFlush(void);
}
extern "C" {
@ -894,4 +899,30 @@ extern "C" {
void mainRamToAram__7JKRAramFPUcUlUl15JKRExpandSwitchUlP7JKRHeapiPUl(void);
void nextSrcData__FPUc(void);
void run__7JKRAramFv(void);
};
};
// JSystem/JUtility/JUTVideo
class JUTVideo;
extern "C" {
void JUTVideo_NS_destroyManager(void);
}
// JSystem/JAudio2/JASTaskThread
struct JASTaskThread {
u8 unk0[0x2c];
OSThread* thread;
};
extern "C" {
s32 JASTaskThread_NS_pause(JASTaskThread*, bool);
}
// JSystem/JAudio2/JASDvdThread
extern "C" {
JASTaskThread* JASDvd_NS_getThreadPointer(void);
}
// m_Do_Rst
extern "C" {
void getResetData__6mDoRstFv(void);
void resetCallBack__6mDoRstFiPv(void);
}

View File

@ -0,0 +1,32 @@
#ifndef __M_DO_RESET_H__
#define __M_DO_RESET_H__
#include "dolphin/types.h"
extern "C" {
// void my_OSCancelAlarmAll(void);
}
struct ResetData {
s32 field_0x0;
u32 field_0x4;
s32 field_0x8;
s32 pad_index;
u8 field_0x10;
u8 field_0x11;
u8 field_0x12;
u8 field_0x13;
u8 field_0x14;
u8 field_0x15;
u8 field_0x16;
u8 field_0x17;
};
extern ResetData* m_Do_Reset_NS_mDoRst_NS_mResetData;
struct mDoRst {
ResetData* getResetData();
static void reset(s32 p1, u32 p2, s32 p3);
static void resetCallBack(int p1, void* p2);
};
#endif

View File

@ -15,7 +15,7 @@
/* 8000648C 000033CC 38 60 00 18 */ li r3, 0x18
/* 80006490 000033D0 38 80 00 04 */ li r4, 4
/* 80006494 000033D4 48 33 4E 19 */ bl OSAllocFromArenaLo
/* 80006498 000033D8 90 6D 86 F8 */ stw r3, lbl_80450C78-_SDA_BASE_(r13)
/* 80006498 000033D8 90 6D 86 F8 */ stw r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 8000649C 000033DC 28 03 00 00 */ cmplwi r3, 0
/* 800064A0 000033E0 40 82 00 08 */ bne lbl_800064A8
lbl_800064A4:
@ -25,28 +25,28 @@ lbl_800064A8:
/* 800064AC 000033EC 54 60 0F FF */ rlwinm. r0, r3, 1, 0x1f, 0x1f
/* 800064B0 000033F0 40 82 00 64 */ bne lbl_80006514
/* 800064B4 000033F4 38 80 00 00 */ li r4, 0
/* 800064B8 000033F8 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
/* 800064B8 000033F8 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 800064BC 000033FC 90 83 00 00 */ stw r4, 0(r3)
/* 800064C0 00003400 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
/* 800064C0 00003400 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 800064C4 00003404 90 83 00 04 */ stw r4, 4(r3)
/* 800064C8 00003408 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
/* 800064C8 00003408 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 800064CC 0000340C 90 83 00 04 */ stw r4, 4(r3)
/* 800064D0 00003410 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
/* 800064D0 00003410 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 800064D4 00003414 90 83 00 08 */ stw r4, 8(r3)
/* 800064D8 00003418 38 00 FF FF */ li r0, -1
/* 800064DC 0000341C 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
/* 800064DC 0000341C 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 800064E0 00003420 90 03 00 0C */ stw r0, 0xc(r3)
/* 800064E4 00003424 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
/* 800064E4 00003424 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 800064E8 00003428 98 83 00 12 */ stb r4, 0x12(r3)
/* 800064EC 0000342C 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
/* 800064EC 0000342C 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 800064F0 00003430 98 83 00 13 */ stb r4, 0x13(r3)
/* 800064F4 00003434 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
/* 800064F4 00003434 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 800064F8 00003438 98 83 00 14 */ stb r4, 0x14(r3)
/* 800064FC 0000343C 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
/* 800064FC 0000343C 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 80006500 00003440 98 83 00 15 */ stb r4, 0x15(r3)
/* 80006504 00003444 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
/* 80006504 00003444 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 80006508 00003448 98 83 00 10 */ stb r4, 0x10(r3)
/* 8000650C 0000344C 80 6D 86 F8 */ lwz r3, lbl_80450C78-_SDA_BASE_(r13)
/* 8000650C 0000344C 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
/* 80006510 00003450 98 83 00 11 */ stb r4, 0x11(r3)
lbl_80006514:
/* 80006514 00003454 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha

View File

@ -107,7 +107,7 @@ extern "C" {
void OSSetSoundMode(OSSoundMode mode);
void OSReportInit(void);
void OSAttention(char *msg);
void OSAttention(char *msg, ...);
void OSPanic(char *file, s32 line, char* fmt, ...);
void OSReport(char *fmt, ...);
void OSReport_Error(char* fmt, ...);
@ -143,6 +143,12 @@ extern "C" {
s32 OSDisableInterrupts();
s32 OSEnableInterrupts();
s32 OSRestoreInterrupts(s32 level);
void OSResetSystem(s32 param_1, u32 param_2, s32 param_3);
void OSSetSaveRegion(void* start, void* end);
void LCDisable(void);
};
#endif

View File

@ -7,7 +7,7 @@ extern u8 lbl_803A7270[24];
extern u8 lbl_80430188[16];
extern u8 lbl_80379235[16];
extern char lbl_803739A0[0x310];
extern u32 lbl_80451368;
extern void* lbl_80451368;
extern u32 lbl_804514E0;
extern u8 lbl_803C3384;
extern u8 lbl_803DD2E8;
@ -52,7 +52,7 @@ extern u8 lbl_803DD2D8;
extern u8 lbl_80450B18;
extern u8 lbl_803D32E0;
extern u8 lbl_80450BBC;
extern u8 lbl_803EAF40;
extern u8 lbl_803EAF40[];
extern u8 lbl_80450B34;
extern u8 lbl_80450B00;
extern u8 lbl_80450C80;
@ -61,7 +61,6 @@ extern u8 __ct__12dSv_memory_cFv;
extern u8 __ct__13dSv_memory2_cFv;
extern u8 lbl_803D3420;
extern u8 lbl_80450B0C;
extern u8 lbl_80450C78;
extern u8 lbl_80450B08;
extern u8 lbl_803DB420;
extern u8 main01__Fv;
@ -76,6 +75,7 @@ extern u8 lbl_804539FC;
extern u8 lbl_803BB498;
extern float lbl_804550E8;
extern float lbl_804550EC;
extern u8 lbl_80450C90;
#define _SDA_BASE_(dummy) 0
#define _SDA2_BASE_(dummy) 0
@ -373,3 +373,15 @@ extern u8 lbl_804342DC; // JKRAram::sAramCommandList
extern u8 lbl_804342E8; // JKernel::decompMutex (static?)
extern u8 lbl_804508B8; // JKRAram::sSZSBufferSize
extern u8 lbl_803CC128; // JKRAram::sMessageBuffer
// m_Do_Reset
// func_80015614
#include "JSystem/JUtility/JUTXfb/JUTXfb.h"
extern JUTXfb* lbl_80451550;
extern u8 lbl_80450BB8;
extern char lbl_80374198[16];
// func_8001574C
extern bool lbl_80451501;
extern void* lbl_804514EC; // JUTGamePad::C3ButtonReset::sCallback
extern u32 lbl_804514F0; // JUTGamePad::C3ButtonReset::sCallbackArg
extern u32 lbl_803ECF00;

View File

@ -1304,6 +1304,7 @@ __sinit_JKRDvdAramRipper_cpp
__dt__7JKRAramFv
__sinit_JKRAram_cpp
run__7JKRAramFv
getResetData__6mDoRstFv
}
/*
.init 80003100 - 80005600

View File

@ -1,4 +1,5 @@
#include "JSystem/JKernel/JKRArchive/JKRArchive.h"
#include "dvd/dvd.h"
#include "global.h"
asm void JKRArchive::check_mount_already(long, JKRHeap*) {

View File

@ -1,4 +1,5 @@
#include "JSystem/JKernel/JKRDvdAramRipper/JKRDvdAramRipper.h"
#include "dvd/dvd.h"
#include "global.h"
asm void JKRDvdAramRipper::loadToAram(long, u32, JKRExpandSwitch, u32, u32, u32 *) {

View File

@ -1,4 +1,5 @@
#include "JSystem/JKernel/JKRDvdRipper/JKRDvdRipper.h"
#include "dvd/dvd.h"
#include "global.h"
asm void JKRDvdRipper::loadToMainRAM(char const *, u8 *, JKRExpandSwitch, u32, JKRHeap *, JKRDvdRipper::EAllocDirection, u32, int *, u32 *) {

View File

@ -1,4 +1,5 @@
#include "JSystem/JKernel/JKRFileCache/JKRFileCache.h"
#include "dvd/dvd.h"
#include "global.h"
asm void JKRFileCache::mount(char const*, JKRHeap*, char const*) {

View File

@ -1,4 +1,5 @@
#include "JSystem/JKernel/JKRFileFinder/JKRFileFinder.h"
#include "dvd/dvd.h"
#include "global.h"
asm JKRArcFinder::JKRArcFinder(JKRArchive *, long, long) {

View File

@ -1 +1,8 @@
// ok
#include "JSystem/JUtility/JUTXfb/JUTXfb.h"
void JUTXfb::clearIndex() {
this->active_xfb_index = -1;
this->last_drawn_xfb_index = -1;
this->next_xfb_buffer = -1;
return;
}

View File

@ -19,7 +19,7 @@ TEXT_O_FILES := \
$(BUILD_DIR)/asm/m/Do/m_Do_mtx.o \
$(BUILD_DIR)/asm/m/Do/m_Do_ext.o \
$(BUILD_DIR)/asm/m/Do/m_Do_lib.o \
$(BUILD_DIR)/asm/m/Do/m_Do_Reset.o \
$(BUILD_DIR)/src/m_Do/m_Do_Reset.o \
$(BUILD_DIR)/asm/m/Do/dvd/m_Do_dvd_thread.o \
$(BUILD_DIR)/asm/m/Do/m_Do_DVDError.o \
$(BUILD_DIR)/asm/m/Do/m_Do_MemCard.o \
@ -485,6 +485,7 @@ TEXT_O_FILES := \
$(BUILD_DIR)/asm/JUtility/JUTDirectPrint.o \
$(BUILD_DIR)/asm/JUtility/JUTAssert.o \
$(BUILD_DIR)/asm/JUtility/JUTVideo.o \
$(BUILD_DIR)/libs/JSystem/JUtility/JUTXfb.o \
$(BUILD_DIR)/asm/JUtility/JUTXfb.o \
$(BUILD_DIR)/asm/JUtility/JUTFader.o \
$(BUILD_DIR)/asm/JUtility/JUTProcBar.o \

View File

@ -1 +1,110 @@
// ok
#include "m_Do/m_Do_reset/m_Do_reset.h"
#include "dvd/dvd.h"
#include "JSystem/JUtility/JUTXfb/JUTXfb.h"
#include "global.h"
extern "C" {
void my_OSCancelAlarmAll(void) {
return;
}
void destroyVideo() {
JUTVideo_NS_destroyManager();
GXSetDrawDoneCallback(NULL);
VISetBlack(1);
VIFlush();
VIWaitForRetrace();
return;
}
}
// TODO: cleanup
void mDoRst::reset(s32 p1, u32 p2, s32 p3) {
mDoCPd_c *pmVar1;
u32 uVar2;
DVDState DVar3;
OSThread *thread;
s32 enable;
/* sManager */ lbl_80451550->clearIndex();
mDoDvdErr_ThdCleanup();
cAPICPad_recalibrate();
if (lbl_80450BB8 != 0) {
do {
// uVar2 = lbl_80451368->hasReset();
uVar2 = Z2AudioMgr_NS_hasReset(lbl_80451368);
} while ((uVar2 & 0xff) == 0);
}
if ((s32)DVDGetDriveStatus() == (s32)DVD_STATE_BUSY) {
OSAttention(lbl_80374198);
}
JASTaskThread *task_thread = JASDvd_NS_getThreadPointer();
if (task_thread != NULL) {
JASTaskThread_NS_pause(task_thread, true);
thread = task_thread->thread;
if (thread != NULL) {
OSSuspendThread(thread);
OSDetachThread(thread);
OSCancelThread(thread);
}
}
VIWaitForRetrace();
VIWaitForRetrace();
thread = GXGetCurrentGXThread();
enable = OSDisableInterrupts();
OSThread* ourThread = OSGetCurrentThread();
if (thread != ourThread) {
OSCancelThread(thread);
GXSetCurrentGXThread();
}
GXFlush();
GXAbortFrame();
GXDrawDone();
OSRestoreInterrupts(enable);
destroyVideo();
// nb: probably fake match (i am not sure that it's actually attached to this label lol)
while (((s32*)lbl_803EAF40)[0x7f0] != 0) {
VIWaitForRetrace();
}
my_OSCancelAlarmAll();
LCDisable();
// probably false match; check out 80015728 or thereabouts in Ghidra
OSSetSaveRegion(/* mResetData */ m_Do_Reset_NS_mDoRst_NS_mResetData, (u8*)(&getResetData__6mDoRstFv) + 0x18);
OSResetSystem(p1, p2, p3);
do {
VIWaitForRetrace();
} while (true);
}
void mDoRst::resetCallBack(int p1, void* p2) {
if (/* mResetData */ m_Do_Reset_NS_mDoRst_NS_mResetData->field_0x0 == 0) {
if (p1 == -1) {
cAPICPad_recalibrate();
} else {
if (m_Do_Reset_NS_mDoRst_NS_mResetData->field_0x8 != 0) {
lbl_80451501 = false;
/* sCallback */ lbl_804514EC = &mDoRst::resetCallBack;
/* sCallbackArg */ lbl_804514F0 = 0;
return;
}
m_Do_Reset_NS_mDoRst_NS_mResetData->field_0x8 = 1;
m_Do_Reset_NS_mDoRst_NS_mResetData->pad_index = p1;
cAPICPad_recalibrate();
}
if ((DVDCheckDisk() == 0) && (DVDGetDriveStatus() != DVD_STATE_FATAL_ERROR)) {
m_Do_Reset_NS_mDoRst_NS_mResetData->field_0x11 = 1;
}
m_Do_Reset_NS_mDoRst_NS_mResetData->field_0x0 = 1;
}
}
ResetData* mDoRst::getResetData() {
return /* mResetData */ m_Do_Reset_NS_mDoRst_NS_mResetData;
}

View File

@ -1,5 +1,7 @@
#include "m_Do/m_Do_main/m_Do_main.h"
#include "m_Do/m_Do_reset/m_Do_reset.h"
#include "d/d_com/d_com_inf_game/d_com_inf_game.h"
#include "dvd/dvd.h"
#include "global.h"
void version_check(void) {