begin d_save_HIO, some m_Do_main functions ok

This commit is contained in:
unknown
2020-11-28 23:34:06 -05:00
parent f861af3f37
commit 68a46e15cb
75 changed files with 761 additions and 664 deletions
+19
View File
@@ -0,0 +1,19 @@
#include "dolphin/types.h"
struct dSvBit_childSwPerfectionHIO_c_vtable {
u32* unk0;
u32* unk4;
u32* dtor;
};
class dSvBit_childSwPerfectionHIO_c {
public:
dSvBit_childSwPerfectionHIO_c();
void init(void);
~dSvBit_childSwPerfectionHIO_c();
dSvBit_childSwPerfectionHIO_c_vtable* __vt;
private:
u8 unk0[10];
};
+50
View File
@@ -0,0 +1,50 @@
/* 8000578C 000026CC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80005790 000026D0 7C 08 02 A6 */ mflr r0
/* 80005794 000026D4 90 01 00 24 */ stw r0, 0x24(r1)
/* 80005798 000026D8 39 61 00 20 */ addi r11, r1, 0x20
/* 8000579C 000026DC 48 35 CA 39 */ bl _savegpr_27
/* 800057A0 000026E0 7C 7B 1B 78 */ mr r27, r3
/* 800057A4 000026E4 48 00 5E C5 */ bl mDoMch_HeapCheckAll
/* 800057A8 000026E8 48 33 C7 59 */ bl OSCheckActiveThreads
/* 800057AC 000026EC 38 A0 00 00 */ li r5, 0
/* 800057B0 000026F0 57 64 30 32 */ slwi r4, r27, 6
/* 800057B4 000026F4 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
/* 800057B8 000026F8 38 03 D2 E8 */ addi r0, r3, lbl_803DD2E8@l
/* 800057BC 000026FC 7C 60 22 14 */ add r3, r0, r4
/* 800057C0 00002700 80 03 00 30 */ lwz r0, 0x30(r3)
/* 800057C4 00002704 54 00 07 34 */ rlwinm r0, r0, 0, 0x1c, 0x1a
/* 800057C8 00002708 28 00 00 60 */ cmplwi r0, 0x60
/* 800057CC 0000270C 40 82 00 14 */ bne lbl_800057E0
/* 800057D0 00002710 80 03 00 34 */ lwz r0, 0x34(r3)
/* 800057D4 00002714 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 800057D8 00002718 41 82 00 08 */ beq lbl_800057E0
/* 800057DC 0000271C 38 A0 00 01 */ li r5, 1
lbl_800057E0:
/* 800057E0 00002720 54 BC 06 3E */ clrlwi r28, r5, 0x18
/* 800057E4 00002724 3B 60 00 00 */ li r27, 0
/* 800057E8 00002728 3B E0 00 00 */ li r31, 0
/* 800057EC 0000272C 3C 60 80 3A */ lis r3, lbl_803A2EF4@ha
/* 800057F0 00002730 3B C3 2E F4 */ addi r30, r3, lbl_803A2EF4@l
lbl_800057F4:
/* 800057F4 00002734 7C 7E F8 2E */ lwzx r3, r30, r31
/* 800057F8 00002738 4B FF FF 31 */ bl CheckHeap1__9HeapCheckFv
/* 800057FC 0000273C 2C 1C 00 00 */ cmpwi r28, 0
/* 80005800 00002740 41 82 00 20 */ beq lbl_80005820
/* 80005804 00002744 7F BE F8 2E */ lwzx r29, r30, r31
/* 80005808 00002748 7F A3 EB 78 */ mr r3, r29
/* 8000580C 0000274C 48 00 00 95 */ bl getUsedCount__9HeapCheckCFv
/* 80005810 00002750 90 7D 00 20 */ stw r3, 0x20(r29)
/* 80005814 00002754 80 7D 00 08 */ lwz r3, 8(r29)
/* 80005818 00002758 48 2C A5 4D */ bl getTotalUsedSize__10JKRExpHeapCFv
/* 8000581C 0000275C 90 7D 00 24 */ stw r3, 0x24(r29)
lbl_80005820:
/* 80005820 00002760 3B 7B 00 01 */ addi r27, r27, 1
/* 80005824 00002764 2C 1B 00 08 */ cmpwi r27, 8
/* 80005828 00002768 3B FF 00 04 */ addi r31, r31, 4
/* 8000582C 0000276C 41 80 FF C8 */ blt lbl_800057F4
/* 80005830 00002770 39 61 00 20 */ addi r11, r1, 0x20
/* 80005834 00002774 48 35 C9 ED */ bl _restgpr_27
/* 80005838 00002778 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8000583C 0000277C 7C 08 03 A6 */ mtlr r0
/* 80005840 00002780 38 21 00 20 */ addi r1, r1, 0x20
/* 80005844 00002784 4E 80 00 20 */ blr
+24
View File
@@ -0,0 +1,24 @@
/* 80005848 00002788 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8000584C 0000278C 7C 08 02 A6 */ mflr r0
/* 80005850 00002790 90 01 00 14 */ stw r0, 0x14(r1)
/* 80005854 00002794 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80005858 00002798 93 C1 00 08 */ stw r30, 8(r1)
/* 8000585C 0000279C 7C 7E 1B 78 */ mr r30, r3
/* 80005860 000027A0 48 33 B4 65 */ bl OSDisableScheduler
/* 80005864 000027A4 3B E0 00 00 */ li r31, 0
/* 80005868 000027A8 80 7E 00 80 */ lwz r3, 0x80(r30)
/* 8000586C 000027AC 48 00 00 0C */ b lbl_80005878
lbl_80005870:
/* 80005870 000027B0 80 63 00 0C */ lwz r3, 0xc(r3)
/* 80005874 000027B4 3B FF 00 01 */ addi r31, r31, 1
lbl_80005878:
/* 80005878 000027B8 28 03 00 00 */ cmplwi r3, 0
/* 8000587C 000027BC 40 82 FF F4 */ bne lbl_80005870
/* 80005880 000027C0 48 33 B4 85 */ bl OSEnableScheduler
/* 80005884 000027C4 7F E3 FB 78 */ mr r3, r31
/* 80005888 000027C8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8000588C 000027CC 83 C1 00 08 */ lwz r30, 8(r1)
/* 80005890 000027D0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80005894 000027D4 7C 08 03 A6 */ mtlr r0
/* 80005898 000027D8 38 21 00 10 */ addi r1, r1, 0x10
/* 8000589C 000027DC 4E 80 00 20 */ blr
+24
View File
@@ -0,0 +1,24 @@
/* 80005848 00002788 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8000584C 0000278C 7C 08 02 A6 */ mflr r0
/* 80005850 00002790 90 01 00 14 */ stw r0, 0x14(r1)
/* 80005854 00002794 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80005858 00002798 93 C1 00 08 */ stw r30, 8(r1)
/* 8000585C 0000279C 7C 7E 1B 78 */ mr r30, r3
/* 80005860 000027A0 48 33 B4 65 */ bl OSDisableScheduler
/* 80005864 000027A4 3B E0 00 00 */ li r31, 0
/* 80005868 000027A8 80 7E 00 80 */ lwz r3, 0x80(r30)
/* 8000586C 000027AC 48 00 00 0C */ b lbl_80005878
lbl_80005870:
/* 80005870 000027B0 80 63 00 0C */ lwz r3, 0xc(r3)
/* 80005874 000027B4 3B FF 00 01 */ addi r31, r31, 1
lbl_80005878:
/* 80005878 000027B8 28 03 00 00 */ cmplwi r3, 0
/* 8000587C 000027BC 40 82 FF F4 */ bne lbl_80005870
/* 80005880 000027C0 48 33 B4 85 */ bl OSEnableScheduler
/* 80005884 000027C4 7F E3 FB 78 */ mr r3, r31
/* 80005888 000027C8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8000588C 000027CC 83 C1 00 08 */ lwz r30, 8(r1)
/* 80005890 000027D0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80005894 000027D4 7C 08 03 A6 */ mtlr r0
/* 80005898 000027D8 38 21 00 10 */ addi r1, r1, 0x10
/* 8000589C 000027DC 4E 80 00 20 */ blr
+14
View File
@@ -0,0 +1,14 @@
/* 8025BB78 00258AB8 3C 80 80 3C */ lis r4, lbl_803C3384@ha
/* 8025BB7C 00258ABC 38 04 33 84 */ addi r0, r4, lbl_803C3384@l
/* 8025BB80 00258AC0 90 03 00 00 */ stw r0, 0(r3)
/* 8025BB84 00258AC4 38 C0 00 00 */ li r6, 0
/* 8025BB88 00258AC8 38 80 00 00 */ li r4, 0
/* 8025BB8C 00258ACC 38 00 00 80 */ li r0, 0x80
/* 8025BB90 00258AD0 7C 09 03 A6 */ mtctr r0
lbl_8025BB94:
/* 8025BB94 00258AD4 7C A3 32 14 */ add r5, r3, r6
/* 8025BB98 00258AD8 98 85 00 05 */ stb r4, 5(r5)
/* 8025BB9C 00258ADC 98 85 00 85 */ stb r4, 0x85(r5)
/* 8025BBA0 00258AE0 38 C6 00 01 */ addi r6, r6, 1
/* 8025BBA4 00258AE4 42 00 FF F0 */ bdnz lbl_8025BB94
/* 8025BBA8 00258AE8 4E 80 00 20 */ blr
+27
View File
@@ -0,0 +1,27 @@
/* 8025BBAC 00258AEC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8025BBB0 00258AF0 7C 08 02 A6 */ mflr r0
/* 8025BBB4 00258AF4 90 01 00 24 */ stw r0, 0x24(r1)
/* 8025BBB8 00258AF8 39 61 00 20 */ addi r11, r1, 0x20
/* 8025BBBC 00258AFC 48 10 66 21 */ bl _savegpr_29
/* 8025BBC0 00258B00 7C 7D 1B 78 */ mr r29, r3
/* 8025BBC4 00258B04 3B C0 00 00 */ li r30, 0
/* 8025BBC8 00258B08 3C 60 80 40 */ lis r3, lbl_804061C0@ha
/* 8025BBCC 00258B0C 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l
/* 8025BBD0 00258B10 3B E3 09 58 */ addi r31, r3, 0x958
lbl_8025BBD4:
/* 8025BBD4 00258B14 7F E3 FB 78 */ mr r3, r31
/* 8025BBD8 00258B18 7F C4 F3 78 */ mr r4, r30
/* 8025BBDC 00258B1C 4B DD 8C 85 */ bl isSwitch__12dSv_memBit_cCFi
/* 8025BBE0 00258B20 7C 9D F2 14 */ add r4, r29, r30
/* 8025BBE4 00258B24 98 64 00 05 */ stb r3, 5(r4)
/* 8025BBE8 00258B28 88 04 00 05 */ lbz r0, 5(r4)
/* 8025BBEC 00258B2C 98 04 00 85 */ stb r0, 0x85(r4)
/* 8025BBF0 00258B30 3B DE 00 01 */ addi r30, r30, 1
/* 8025BBF4 00258B34 2C 1E 00 80 */ cmpwi r30, 0x80
/* 8025BBF8 00258B38 41 80 FF DC */ blt lbl_8025BBD4
/* 8025BBFC 00258B3C 39 61 00 20 */ addi r11, r1, 0x20
/* 8025BC00 00258B40 48 10 66 29 */ bl _restgpr_29
/* 8025BC04 00258B44 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8025BC08 00258B48 7C 08 03 A6 */ mtlr r0
/* 8025BC0C 00258B4C 38 21 00 20 */ addi r1, r1, 0x20
/* 8025BC10 00258B50 4E 80 00 20 */ blr
+8 -1
View File
@@ -5,13 +5,17 @@ class JMSMesgEntry_c {
extern "C" {
void init__20dSv_player_collect_cFv(void);
void dComIfGp_setSelectItem(int);
void OSReport_Error(void);
void OSReport_Error(char*,...);
void OSEnableScheduler(void);
void OSDisableScheduler(void);
void getUsedCount__9HeapCheckCFv(void);
void isEventBit__11dSv_event_cCFUs(void);
void dComIfGs_setMixItemIndex(void);
void dComIfGs_setSelectItemIndex(void);
void dComIfGs_getMixItemIndex(void);
void dComIfGs_getBottleMax(void);
char* strcpy(char*,const char*);
int strcmp(char*,char*);
void setBombNum__21dSv_player_item_max_cFUcUc(void);
void func_80362224(void);
void func_803621D8(void);
@@ -83,4 +87,7 @@ extern "C" {
void dComIfGs_setKeyNum(void);
void getSound__19dSv_player_config_cFv(void);
void setSound__19dSv_player_config_cFUc(void);
void getTotalUsedSize__10JKRExpHeapCFv(void);
void HeapCheck_NS_getUsedCount(void);
void CheckHeap1__9HeapCheckFv(void);
}
+30
View File
@@ -0,0 +1,30 @@
#include "dolphin/types.h"
class JKRExpHeap {
public:
s32 getTotalUsedSize() const;
};
class JKRHeap {
public:
s32 getFreeSize();
};
class HeapCheck {
public:
void CheckHeap1(void);
s32 getUsedCount(void) const;
private:
char* names[2];
JKRExpHeap* heap;
s32 max_total_used_size;
s32 max_total_free_size;
u8 unk20[8]; // 8 bytes
u32 heap_size;
u32 used_count;
u32 total_used_size;
};
+5
View File
@@ -6,8 +6,13 @@ extern u8 lbl_803A7270[24];
extern u8 lbl_80430188[16];
extern u8 lbl_803A7288;
extern u8 lbl_80379235[16];
extern u8 lbl_803739A0[0x310];
extern u32 lbl_80451368;
extern u32 lbl_804514E0;
extern u8 lbl_803C3384;
extern u8 lbl_803DD2E8;
extern u8 lbl_803A2EF4;
//extern char lbl_803739a0[0x310];
#define _SDA_BASE_(dummy) 0
#define _SDA2_BASE_(dummy) 0