Types and functions for JKRThread, JKRFile, JKRDvdFile, JKRFileCache... (#17)

* Added JSUListIterator and decompiled JKRHeap::dispose_subroutine

* JKRDisposer!

* only 4 functions not OK in JKRHeap

* JKRThread asm functions

* more JKRThread

* JKRThreadSwitch

* JKRThread::JKRThread

* More JKRTHread functions and vtable

* fixed bad merge

* update JKRThread and JKRThreadSwitch to use new virtual inheritance

* save before asmsplit.py script

* JKRFile

* JKRDvdFile

* JKRFileCache

* JKRFileFinder

* JKRFileLoader

* JKRAssertHeap

* JKRExpHeap

* JKRSolidHeap

* fixed type and functions definitions

* JKRArchive (Pub)

* missed file

* JKRArchive

* forgot obj_files.mk

* fixed merge error and class members

* class members

* removed unused asm files

* added names to global variables

* class members for JKRHeap, JKRExpHeap, JKRSolidHeap, and JKRFileCache.
This commit is contained in:
Jonathan Wase
2020-12-05 12:45:10 -05:00
committed by GitHub
parent 3dc3739ebd
commit fb1217e3f9
299 changed files with 9551 additions and 4958 deletions
+3 -3
View File
@@ -14,10 +14,10 @@ mDoDvdThd_NS_main:
/* 80015814 00012754 7C 64 1B 78 */ mr r4, r3
/* 80015818 00012758 38 61 00 08 */ addi r3, r1, 8
/* 8001581C 0001275C 38 A0 00 00 */ li r5, 0
/* 80015820 00012760 48 2B BE 99 */ bl JKRThread_X2_
/* 80015820 00012760 48 2B BE 99 */ bl __ct__9JKRThreadFP8OSThreadi
/* 80015824 00012764 38 61 00 08 */ addi r3, r1, 8
/* 80015828 00012768 38 80 FF FF */ li r4, -1
/* 8001582C 0001276C 48 2B BF 2D */ bl JKRThread_NS_dtor
/* 8001582C 0001276C 48 2B BF 2D */ bl __dt__9JKRThreadFv
/* 80015830 00012770 4B FF 94 B5 */ bl mDoExt_getAssertHeap
/* 80015834 00012774 48 2B 8C 05 */ bl becomeCurrentHeap__7JKRHeapFv
/* 80015838 00012778 7F E3 FB 78 */ mr r3, r31
@@ -811,7 +811,7 @@ lbl_800162F4:
/* 800162F4 00013234 80 7E 00 18 */ lwz r3, 0x18(r30)
/* 800162F8 00013238 80 9E 00 20 */ lwz r4, 0x20(r30)
/* 800162FC 0001323C 7F E6 FB 78 */ mr r6, r31
/* 80016300 00013240 48 2B F5 C9 */ bl JKRArchive_NS_mount_X2_
/* 80016300 00013240 48 2B F5 C9 */ bl mount__10JKRArchiveFlQ210JKRArchive10EMountModeP7JKRHeapQ210JKRArchive15EMountDirection
/* 80016304 00013244 90 7E 00 1C */ stw r3, 0x1c(r30)
/* 80016308 00013248 80 7E 00 1C */ lwz r3, 0x1c(r30)
/* 8001630C 0001324C 30 03 FF FF */ addic r0, r3, -1
+2 -2
View File
@@ -91,10 +91,10 @@ mDoDvdErr_Watch:
/* 800166BC 000135FC 7C 64 1B 78 */ mr r4, r3
/* 800166C0 00013600 38 61 00 08 */ addi r3, r1, 8
/* 800166C4 00013604 38 A0 00 00 */ li r5, 0
/* 800166C8 00013608 48 2B AF F1 */ bl JKRThread_X2_
/* 800166C8 00013608 48 2B AF F1 */ bl __ct__9JKRThreadFP8OSThreadi
/* 800166CC 0001360C 38 61 00 08 */ addi r3, r1, 8
/* 800166D0 00013610 38 80 FF FF */ li r4, -1
/* 800166D4 00013614 48 2B B0 85 */ bl JKRThread_NS_dtor
/* 800166D4 00013614 48 2B B0 85 */ bl __dt__9JKRThreadFv
/* 800166D8 00013618 4B FF 86 0D */ bl mDoExt_getAssertHeap
/* 800166DC 0001361C 48 2B 7D 5D */ bl becomeCurrentHeap__7JKRHeapFv
/* 800166E0 00013620 3C 60 80 3E */ lis r3, lbl_803DECC0@ha
+2 -2
View File
@@ -985,10 +985,10 @@ mDoMemCd_main:
/* 8001742C 0001436C 7C 64 1B 78 */ mr r4, r3
/* 80017430 00014370 38 61 00 08 */ addi r3, r1, 8
/* 80017434 00014374 38 A0 00 00 */ li r5, 0
/* 80017438 00014378 48 2B A2 81 */ bl JKRThread_X2_
/* 80017438 00014378 48 2B A2 81 */ bl __ct__9JKRThreadFP8OSThreadi
/* 8001743C 0001437C 38 61 00 08 */ addi r3, r1, 8
/* 80017440 00014380 38 80 FF FF */ li r4, -1
/* 80017444 00014384 48 2B A3 15 */ bl JKRThread_NS_dtor
/* 80017444 00014384 48 2B A3 15 */ bl __dt__9JKRThreadFv
/* 80017448 00014388 4B FF 78 9D */ bl mDoExt_getAssertHeap
/* 8001744C 0001438C 48 2B 6F ED */ bl becomeCurrentHeap__7JKRHeapFv
/* 80017450 00014390 3C 60 80 3F */ lis r3, lbl_803EAF40@ha
+1 -1
View File
@@ -69,7 +69,7 @@ lbl_80007030:
/* 80007094 00003FD4 57 E4 06 3E */ clrlwi r4, r31, 0x18
/* 80007098 00003FD8 48 2C 77 19 */ bl changeGroupID__7JKRHeapFUc
/* 8000709C 00003FDC 80 6D 86 3C */ lwz r3, lbl_80450BBC-_SDA_BASE_(r13)
/* 800070A0 00003FE0 48 2C 9B 55 */ bl JKRSolidHeap_NS_adjustSize
/* 800070A0 00003FE0 48 2C 9B 55 */ bl adjustSize__12JKRSolidHeapFv
/* 800070A4 00003FE4 48 00 00 18 */ b lbl_800070BC
lbl_800070A8:
/* 800070A8 00003FE8 3C 60 80 37 */ lis r3, lbl_80373D68@ha
+13 -13
View File
@@ -2004,7 +2004,7 @@ mDoExt_createAssertHeap:
/* 8000ECC0 0000BC00 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8000ECC4 0000BC04 7C 08 02 A6 */ mflr r0
/* 8000ECC8 0000BC08 90 01 00 14 */ stw r0, 0x14(r1)
/* 8000ECCC 0000BC0C 48 2C 26 9D */ bl JKRAssertHeap_NS_create
/* 8000ECCC 0000BC0C 48 2C 26 9D */ bl create__13JKRAssertHeapFP7JKRHeap
/* 8000ECD0 0000BC10 90 6D 86 A0 */ stw r3, lbl_80450C20-_SDA_BASE_(r13)
/* 8000ECD4 0000BC14 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8000ECD8 0000BC18 7C 08 03 A6 */ mtlr r0
@@ -2022,7 +2022,7 @@ mDoExt_createDbPrintHeap:
/* 8000ECF0 0000BC30 7C 08 02 A6 */ mflr r0
/* 8000ECF4 0000BC34 90 01 00 14 */ stw r0, 0x14(r1)
/* 8000ECF8 0000BC38 38 A0 00 01 */ li r5, 1
/* 8000ECFC 0000BC3C 48 2C 01 31 */ bl JKRExpHeap_NS_create
/* 8000ECFC 0000BC3C 48 2C 01 31 */ bl create__10JKRExpHeapFUlP7JKRHeapb
/* 8000ED00 0000BC40 90 6D 86 A4 */ stw r3, lbl_80450C24-_SDA_BASE_(r13)
/* 8000ED04 0000BC44 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8000ED08 0000BC48 7C 08 03 A6 */ mtlr r0
@@ -2040,7 +2040,7 @@ mDoExt_createGameHeap:
/* 8000ED20 0000BC60 7C 08 02 A6 */ mflr r0
/* 8000ED24 0000BC64 90 01 00 14 */ stw r0, 0x14(r1)
/* 8000ED28 0000BC68 38 A0 00 01 */ li r5, 1
/* 8000ED2C 0000BC6C 48 2C 01 01 */ bl JKRExpHeap_NS_create
/* 8000ED2C 0000BC6C 48 2C 01 01 */ bl create__10JKRExpHeapFUlP7JKRHeapb
/* 8000ED30 0000BC70 90 6D 86 A8 */ stw r3, lbl_80450C28-_SDA_BASE_(r13)
/* 8000ED34 0000BC74 38 00 00 01 */ li r0, 1
/* 8000ED38 0000BC78 98 03 00 6C */ stb r0, 0x6c(r3)
@@ -2061,7 +2061,7 @@ mDoExt_createZeldaHeap:
/* 8000ED5C 0000BC9C 7C 08 02 A6 */ mflr r0
/* 8000ED60 0000BCA0 90 01 00 14 */ stw r0, 0x14(r1)
/* 8000ED64 0000BCA4 38 A0 00 01 */ li r5, 1
/* 8000ED68 0000BCA8 48 2C 00 C5 */ bl JKRExpHeap_NS_create
/* 8000ED68 0000BCA8 48 2C 00 C5 */ bl create__10JKRExpHeapFUlP7JKRHeapb
/* 8000ED6C 0000BCAC 90 6D 86 AC */ stw r3, lbl_80450C2C-_SDA_BASE_(r13)
/* 8000ED70 0000BCB0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8000ED74 0000BCB4 7C 08 03 A6 */ mtlr r0
@@ -2079,7 +2079,7 @@ mDoExt_createCommandHeap:
/* 8000ED8C 0000BCCC 7C 08 02 A6 */ mflr r0
/* 8000ED90 0000BCD0 90 01 00 14 */ stw r0, 0x14(r1)
/* 8000ED94 0000BCD4 38 A0 00 01 */ li r5, 1
/* 8000ED98 0000BCD8 48 2C 00 95 */ bl JKRExpHeap_NS_create
/* 8000ED98 0000BCD8 48 2C 00 95 */ bl create__10JKRExpHeapFUlP7JKRHeapb
/* 8000ED9C 0000BCDC 90 6D 86 B0 */ stw r3, lbl_80450C30-_SDA_BASE_(r13)
/* 8000EDA0 0000BCE0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8000EDA4 0000BCE4 7C 08 03 A6 */ mtlr r0
@@ -2097,7 +2097,7 @@ mDoExt_createArchiveHeap:
/* 8000EDBC 0000BCFC 7C 08 02 A6 */ mflr r0
/* 8000EDC0 0000BD00 90 01 00 14 */ stw r0, 0x14(r1)
/* 8000EDC4 0000BD04 38 A0 00 01 */ li r5, 1
/* 8000EDC8 0000BD08 48 2C 00 65 */ bl JKRExpHeap_NS_create
/* 8000EDC8 0000BD08 48 2C 00 65 */ bl create__10JKRExpHeapFUlP7JKRHeapb
/* 8000EDCC 0000BD0C 90 6D 86 B4 */ stw r3, lbl_80450C34-_SDA_BASE_(r13)
/* 8000EDD0 0000BD10 38 00 00 01 */ li r0, 1
/* 8000EDD4 0000BD14 98 03 00 6C */ stb r0, 0x6c(r3)
@@ -2123,7 +2123,7 @@ mDoExt_createJ2dHeap:
/* 8000EE00 0000BD40 7C 08 02 A6 */ mflr r0
/* 8000EE04 0000BD44 90 01 00 14 */ stw r0, 0x14(r1)
/* 8000EE08 0000BD48 38 A0 00 01 */ li r5, 1
/* 8000EE0C 0000BD4C 48 2C 00 21 */ bl JKRExpHeap_NS_create
/* 8000EE0C 0000BD4C 48 2C 00 21 */ bl create__10JKRExpHeapFUlP7JKRHeapb
/* 8000EE10 0000BD50 90 6D 86 B8 */ stw r3, lbl_80450C38-_SDA_BASE_(r13)
/* 8000EE14 0000BD54 38 00 00 01 */ li r0, 1
/* 8000EE18 0000BD58 98 03 00 6C */ stb r0, 0x6c(r3)
@@ -2161,7 +2161,7 @@ lbl_8000EE5C:
lbl_8000EE70:
/* 8000EE70 0000BDB0 38 60 FF FF */ li r3, -1
/* 8000EE74 0000BDB4 38 A0 00 00 */ li r5, 0
/* 8000EE78 0000BDB8 48 2C 1B AD */ bl JKRSolidHeap_NS_create
/* 8000EE78 0000BDB8 48 2C 1B AD */ bl create__12JKRSolidHeapFUlP7JKRHeapb
/* 8000EE7C 0000BDBC 7C 7F 1B 78 */ mr r31, r3
/* 8000EE80 0000BDC0 48 00 00 2C */ b lbl_8000EEAC
lbl_8000EE84:
@@ -2174,7 +2174,7 @@ lbl_8000EE84:
/* 8000EE9C 0000BDDC 38 63 FF F0 */ addi r3, r3, -16
lbl_8000EEA0:
/* 8000EEA0 0000BDE0 38 A0 00 00 */ li r5, 0
/* 8000EEA4 0000BDE4 48 2C 1B 81 */ bl JKRSolidHeap_NS_create
/* 8000EEA4 0000BDE4 48 2C 1B 81 */ bl create__12JKRSolidHeapFUlP7JKRHeapb
/* 8000EEA8 0000BDE8 7C 7F 1B 78 */ mr r31, r3
lbl_8000EEAC:
/* 8000EEAC 0000BDEC 28 1F 00 00 */ cmplwi r31, 0
@@ -2355,7 +2355,7 @@ lbl_8000F0E0:
/* 8000F100 0000C040 48 00 00 40 */ b lbl_8000F140
lbl_8000F104:
/* 8000F104 0000C044 7F C3 F3 78 */ mr r3, r30
/* 8000F108 0000C048 48 2C 1A ED */ bl JKRSolidHeap_NS_adjustSize
/* 8000F108 0000C048 48 2C 1A ED */ bl adjustSize__12JKRSolidHeapFv
/* 8000F10C 0000C04C 2C 03 00 00 */ cmpwi r3, 0
/* 8000F110 0000C050 40 80 00 24 */ bge lbl_8000F134
/* 8000F114 0000C054 3C 60 80 37 */ lis r3, lbl_803740FC@ha
@@ -2453,7 +2453,7 @@ mDoExt_resIDToIndex:
/* 8000F228 0000C168 90 01 00 14 */ stw r0, 0x14(r1)
/* 8000F22C 0000C16C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8000F230 0000C170 7C 7F 1B 78 */ mr r31, r3
/* 8000F234 0000C174 48 2C 75 3D */ bl JKRArchive_NS_findIdResource
/* 8000F234 0000C174 48 2C 75 3D */ bl findIdResource__10JKRArchiveCFUs
/* 8000F238 0000C178 28 03 00 00 */ cmplwi r3, 0
/* 8000F23C 0000C17C 40 82 00 0C */ bne lbl_8000F248
/* 8000F240 0000C180 38 60 FF FF */ li r3, -1
@@ -8337,7 +8337,7 @@ mDoExt_initFontCommon:
/* 80014834 00011774 38 63 4F 54 */ addi r3, r3, 0x524F4F54@l
/* 80014838 00011778 7C C4 33 78 */ mr r4, r6
/* 8001483C 0001177C 7C E5 3B 78 */ mr r5, r7
/* 80014840 00011780 48 2C 12 F9 */ bl JKRArchive_NS_getGlbResource
/* 80014840 00011780 48 2C 12 F9 */ bl getGlbResource__10JKRArchiveFUlPCcP10JKRArchive
/* 80014844 00011784 90 7F 00 00 */ stw r3, 0(r31)
/* 80014848 00011788 57 60 06 3F */ clrlwi. r0, r27, 0x18
/* 8001484C 0001178C 40 82 00 70 */ bne lbl_800148BC
@@ -8366,7 +8366,7 @@ lbl_8001488C:
lbl_800148A4:
/* 800148A4 000117E4 80 7F 00 00 */ lwz r3, 0(r31)
/* 800148A8 000117E8 38 80 00 00 */ li r4, 0
/* 800148AC 000117EC 48 2B FA 5D */ bl JKRFileLoader_NS_removeResource
/* 800148AC 000117EC 48 2B FA 5D */ bl removeResource__13JKRFileLoaderFPvP13JKRFileLoader
/* 800148B0 000117F0 38 00 00 00 */ li r0, 0
/* 800148B4 000117F4 90 1F 00 00 */ stw r0, 0(r31)
/* 800148B8 000117F8 48 00 00 28 */ b lbl_800148E0
+2 -2
View File
@@ -1018,7 +1018,7 @@ lbl_8000BED4:
/* 8000BFEC 00008F2C 80 AD 8D F0 */ lwz r5, lbl_80451370-_SDA_BASE_(r13)
/* 8000BFF0 00008F30 48 2C 80 45 */ bl JKRAramStream_NS_setTransBuffer
/* 8000BFF4 00008F34 38 60 00 00 */ li r3, 0
/* 8000BFF8 00008F38 48 2C 5A 1D */ bl JKRThreadSwitch_NS_createManager
/* 8000BFF8 00008F38 48 2C 5A 1D */ bl createManager__15JKRThreadSwitchFP7JKRHeap
/* 8000BFFC 00008F3C 38 60 00 7C */ li r3, 0x7c
/* 8000C000 00008F40 48 2C 2C 4D */ bl __nw__FUl
/* 8000C004 00008F44 7C 7F 1B 79 */ or. r31, r3, r3
@@ -1027,7 +1027,7 @@ lbl_8000BED4:
/* 8000C010 00008F50 7C 64 1B 78 */ mr r4, r3
/* 8000C014 00008F54 7F E3 FB 78 */ mr r3, r31
/* 8000C018 00008F58 38 A0 00 00 */ li r5, 0
/* 8000C01C 00008F5C 48 2C 56 9D */ bl JKRThread_X2_
/* 8000C01C 00008F5C 48 2C 56 9D */ bl __ct__9JKRThreadFP8OSThreadi
lbl_8000C020:
/* 8000C020 00008F60 80 6D 8C 38 */ lwz r3, lbl_804511B8-_SDA_BASE_(r13)
/* 8000C024 00008F64 38 00 00 03 */ li r0, 3