Copy JKernel (#126)

* start JSystem

* JKRAram and JUTGamePad

* started heap and thread

* more JKernel

* mostly finished JKernel

* delete unused asm

* JKRFileFinder

* delete unused asm and match findNextFile

* format

* fix mtx_vec
This commit is contained in:
lepelog
2021-05-03 02:03:24 +02:00
committed by GitHub
parent 913bb08f51
commit 0b8db42226
360 changed files with 6646 additions and 12699 deletions
@@ -1,23 +0,0 @@
lbl_802D40F0:
/* 802D40F0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802D40F4 7C 08 02 A6 */ mflr r0
/* 802D40F8 90 01 00 14 */ stw r0, 0x14(r1)
/* 802D40FC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802D4100 7C 7F 1B 78 */ mr r31, r3
/* 802D4104 4B FF D3 79 */ bl __ct__11JKRDisposerFv
/* 802D4108 3C 60 80 3D */ lis r3, __vt__13JKRFileLoader@ha /* 0x803CC1C8@ha */
/* 802D410C 38 03 C1 C8 */ addi r0, r3, __vt__13JKRFileLoader@l /* 0x803CC1C8@l */
/* 802D4110 90 1F 00 00 */ stw r0, 0(r31)
/* 802D4114 38 7F 00 18 */ addi r3, r31, 0x18
/* 802D4118 7F E4 FB 78 */ mr r4, r31
/* 802D411C 48 00 7C E1 */ bl __ct__10JSUPtrLinkFPv
/* 802D4120 38 00 00 00 */ li r0, 0
/* 802D4124 90 1F 00 28 */ stw r0, 0x28(r31)
/* 802D4128 90 1F 00 2C */ stw r0, 0x2c(r31)
/* 802D412C 90 1F 00 34 */ stw r0, 0x34(r31)
/* 802D4130 7F E3 FB 78 */ mr r3, r31
/* 802D4134 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802D4138 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802D413C 7C 08 03 A6 */ mtlr r0
/* 802D4140 38 21 00 10 */ addi r1, r1, 0x10
/* 802D4144 4E 80 00 20 */ blr
@@ -1,39 +0,0 @@
lbl_802D4148:
/* 802D4148 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802D414C 7C 08 02 A6 */ mflr r0
/* 802D4150 90 01 00 14 */ stw r0, 0x14(r1)
/* 802D4154 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802D4158 93 C1 00 08 */ stw r30, 8(r1)
/* 802D415C 7C 7E 1B 79 */ or. r30, r3, r3
/* 802D4160 7C 9F 23 78 */ mr r31, r4
/* 802D4164 41 82 00 54 */ beq lbl_802D41B8
/* 802D4168 3C 60 80 3D */ lis r3, __vt__13JKRFileLoader@ha /* 0x803CC1C8@ha */
/* 802D416C 38 03 C1 C8 */ addi r0, r3, __vt__13JKRFileLoader@l /* 0x803CC1C8@l */
/* 802D4170 90 1E 00 00 */ stw r0, 0(r30)
/* 802D4174 80 0D 8E 98 */ lwz r0, sCurrentVolume__13JKRFileLoader(r13)
/* 802D4178 7C 00 F0 40 */ cmplw r0, r30
/* 802D417C 40 82 00 0C */ bne lbl_802D4188
/* 802D4180 38 00 00 00 */ li r0, 0
/* 802D4184 90 0D 8E 98 */ stw r0, sCurrentVolume__13JKRFileLoader(r13)
lbl_802D4188:
/* 802D4188 34 1E 00 18 */ addic. r0, r30, 0x18
/* 802D418C 41 82 00 10 */ beq lbl_802D419C
/* 802D4190 38 7E 00 18 */ addi r3, r30, 0x18
/* 802D4194 38 80 00 00 */ li r4, 0
/* 802D4198 48 00 7C 7D */ bl __dt__10JSUPtrLinkFv
lbl_802D419C:
/* 802D419C 7F C3 F3 78 */ mr r3, r30
/* 802D41A0 38 80 00 00 */ li r4, 0
/* 802D41A4 4B FF D3 41 */ bl __dt__11JKRDisposerFv
/* 802D41A8 7F E0 07 35 */ extsh. r0, r31
/* 802D41AC 40 81 00 0C */ ble lbl_802D41B8
/* 802D41B0 7F C3 F3 78 */ mr r3, r30
/* 802D41B4 4B FF AB 89 */ bl __dl__FPv
lbl_802D41B8:
/* 802D41B8 7F C3 F3 78 */ mr r3, r30
/* 802D41BC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802D41C0 83 C1 00 08 */ lwz r30, 8(r1)
/* 802D41C4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802D41C8 7C 08 03 A6 */ mtlr r0
/* 802D41CC 38 21 00 10 */ addi r1, r1, 0x10
/* 802D41D0 4E 80 00 20 */ blr
@@ -1,18 +0,0 @@
lbl_802D45A0:
/* 802D45A0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802D45A4 7C 08 02 A6 */ mflr r0
/* 802D45A8 90 01 00 14 */ stw r0, 0x14(r1)
/* 802D45AC 3C 60 80 43 */ lis r3, sVolumeList__13JKRFileLoader@ha /* 0x80434354@ha */
/* 802D45B0 38 63 43 54 */ addi r3, r3, sVolumeList__13JKRFileLoader@l /* 0x80434354@l */
/* 802D45B4 48 00 79 61 */ bl initiate__10JSUPtrListFv
/* 802D45B8 3C 60 80 43 */ lis r3, sVolumeList__13JKRFileLoader@ha /* 0x80434354@ha */
/* 802D45BC 38 63 43 54 */ addi r3, r3, sVolumeList__13JKRFileLoader@l /* 0x80434354@l */
/* 802D45C0 3C 80 80 2D */ lis r4, func_802D45E4@ha /* 0x802D45E4@ha */
/* 802D45C4 38 84 45 E4 */ addi r4, r4, func_802D45E4@l /* 0x802D45E4@l */
/* 802D45C8 3C A0 80 43 */ lis r5, lit_2182@ha /* 0x80434348@ha */
/* 802D45CC 38 A5 43 48 */ addi r5, r5, lit_2182@l /* 0x80434348@l */
/* 802D45D0 48 08 D6 55 */ bl __register_global_object
/* 802D45D4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802D45D8 7C 08 03 A6 */ mtlr r0
/* 802D45DC 38 21 00 10 */ addi r1, r1, 0x10
/* 802D45E0 4E 80 00 20 */ blr
@@ -1,44 +0,0 @@
lbl_802D43A0:
/* 802D43A0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802D43A4 7C 08 02 A6 */ mflr r0
/* 802D43A8 90 01 00 14 */ stw r0, 0x14(r1)
/* 802D43AC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802D43B0 93 C1 00 08 */ stw r30, 8(r1)
/* 802D43B4 7C 7E 1B 78 */ mr r30, r3
/* 802D43B8 28 04 00 00 */ cmplwi r4, 0
/* 802D43BC 41 82 00 20 */ beq lbl_802D43DC
/* 802D43C0 7C 83 23 78 */ mr r3, r4
/* 802D43C4 7F C4 F3 78 */ mr r4, r30
/* 802D43C8 81 83 00 00 */ lwz r12, 0(r3)
/* 802D43CC 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 802D43D0 7D 89 03 A6 */ mtctr r12
/* 802D43D4 4E 80 04 21 */ bctrl
/* 802D43D8 48 00 00 48 */ b lbl_802D4420
lbl_802D43DC:
/* 802D43DC 3C 60 80 43 */ lis r3, sVolumeList__13JKRFileLoader@ha /* 0x80434354@ha */
/* 802D43E0 83 E3 43 54 */ lwz r31, sVolumeList__13JKRFileLoader@l(r3) /* 0x80434354@l */
/* 802D43E4 48 00 00 30 */ b lbl_802D4414
lbl_802D43E8:
/* 802D43E8 80 7F 00 00 */ lwz r3, 0(r31)
/* 802D43EC 7F C4 F3 78 */ mr r4, r30
/* 802D43F0 81 83 00 00 */ lwz r12, 0(r3)
/* 802D43F4 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 802D43F8 7D 89 03 A6 */ mtctr r12
/* 802D43FC 4E 80 04 21 */ bctrl
/* 802D4400 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802D4404 41 82 00 0C */ beq lbl_802D4410
/* 802D4408 38 60 00 01 */ li r3, 1
/* 802D440C 48 00 00 14 */ b lbl_802D4420
lbl_802D4410:
/* 802D4410 83 FF 00 0C */ lwz r31, 0xc(r31)
lbl_802D4414:
/* 802D4414 28 1F 00 00 */ cmplwi r31, 0
/* 802D4418 40 82 FF D0 */ bne lbl_802D43E8
/* 802D441C 38 60 00 00 */ li r3, 0
lbl_802D4420:
/* 802D4420 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802D4424 83 C1 00 08 */ lwz r30, 8(r1)
/* 802D4428 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802D442C 7C 08 03 A6 */ mtlr r0
/* 802D4430 38 21 00 10 */ addi r1, r1, 0x10
/* 802D4434 4E 80 00 20 */ blr
@@ -1,41 +0,0 @@
lbl_802D4438:
/* 802D4438 94 21 FE E0 */ stwu r1, -0x120(r1)
/* 802D443C 7C 08 02 A6 */ mflr r0
/* 802D4440 90 01 01 24 */ stw r0, 0x124(r1)
/* 802D4444 93 E1 01 1C */ stw r31, 0x11c(r1)
/* 802D4448 7C 7F 1B 78 */ mr r31, r3
/* 802D444C 80 A3 00 00 */ lwz r5, 0(r3)
/* 802D4450 88 05 00 00 */ lbz r0, 0(r5)
/* 802D4454 2C 00 00 2F */ cmpwi r0, 0x2f
/* 802D4458 41 82 00 0C */ beq lbl_802D4464
/* 802D445C 80 6D 8E 98 */ lwz r3, sCurrentVolume__13JKRFileLoader(r13)
/* 802D4460 48 00 00 50 */ b lbl_802D44B0
lbl_802D4464:
/* 802D4464 38 61 00 08 */ addi r3, r1, 8
/* 802D4468 38 80 01 01 */ li r4, 0x101
/* 802D446C 48 00 00 59 */ bl fetchVolumeName__13JKRFileLoaderFPclPCc
/* 802D4470 90 7F 00 00 */ stw r3, 0(r31)
/* 802D4474 3C 60 80 43 */ lis r3, sVolumeList__13JKRFileLoader@ha /* 0x80434354@ha */
/* 802D4478 83 E3 43 54 */ lwz r31, sVolumeList__13JKRFileLoader@l(r3) /* 0x80434354@l */
/* 802D447C 48 00 00 28 */ b lbl_802D44A4
lbl_802D4480:
/* 802D4480 80 9F 00 00 */ lwz r4, 0(r31)
/* 802D4484 38 61 00 08 */ addi r3, r1, 8
/* 802D4488 80 84 00 28 */ lwz r4, 0x28(r4)
/* 802D448C 48 09 45 09 */ bl strcmp
/* 802D4490 2C 03 00 00 */ cmpwi r3, 0
/* 802D4494 40 82 00 0C */ bne lbl_802D44A0
/* 802D4498 80 7F 00 00 */ lwz r3, 0(r31)
/* 802D449C 48 00 00 14 */ b lbl_802D44B0
lbl_802D44A0:
/* 802D44A0 83 FF 00 0C */ lwz r31, 0xc(r31)
lbl_802D44A4:
/* 802D44A4 28 1F 00 00 */ cmplwi r31, 0
/* 802D44A8 40 82 FF D8 */ bne lbl_802D4480
/* 802D44AC 38 60 00 00 */ li r3, 0
lbl_802D44B0:
/* 802D44B0 83 E1 01 1C */ lwz r31, 0x11c(r1)
/* 802D44B4 80 01 01 24 */ lwz r0, 0x124(r1)
/* 802D44B8 7C 08 03 A6 */ mtlr r0
/* 802D44BC 38 21 01 20 */ addi r1, r1, 0x120
/* 802D44C0 4E 80 00 20 */ blr
@@ -1,23 +0,0 @@
lbl_802D45E4:
/* 802D45E4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802D45E8 7C 08 02 A6 */ mflr r0
/* 802D45EC 90 01 00 14 */ stw r0, 0x14(r1)
/* 802D45F0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802D45F4 93 C1 00 08 */ stw r30, 8(r1)
/* 802D45F8 7C 7E 1B 79 */ or. r30, r3, r3
/* 802D45FC 7C 9F 23 78 */ mr r31, r4
/* 802D4600 41 82 00 1C */ beq lbl_802D461C
/* 802D4604 38 80 00 00 */ li r4, 0
/* 802D4608 48 00 78 A5 */ bl __dt__10JSUPtrListFv
/* 802D460C 7F E0 07 35 */ extsh. r0, r31
/* 802D4610 40 81 00 0C */ ble lbl_802D461C
/* 802D4614 7F C3 F3 78 */ mr r3, r30
/* 802D4618 4B FF A7 25 */ bl __dl__FPv
lbl_802D461C:
/* 802D461C 7F C3 F3 78 */ mr r3, r30
/* 802D4620 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802D4624 83 C1 00 08 */ lwz r30, 8(r1)
/* 802D4628 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802D462C 7C 08 03 A6 */ mtlr r0
/* 802D4630 38 21 00 10 */ addi r1, r1, 0x10
/* 802D4634 4E 80 00 20 */ blr
@@ -1,22 +0,0 @@
lbl_802D4224:
/* 802D4224 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802D4228 7C 08 02 A6 */ mflr r0
/* 802D422C 90 01 00 14 */ stw r0, 0x14(r1)
/* 802D4230 90 61 00 08 */ stw r3, 8(r1)
/* 802D4234 38 61 00 08 */ addi r3, r1, 8
/* 802D4238 48 00 02 01 */ bl findVolume__13JKRFileLoaderFPPCc
/* 802D423C 28 03 00 00 */ cmplwi r3, 0
/* 802D4240 40 82 00 0C */ bne lbl_802D424C
/* 802D4244 38 60 00 00 */ li r3, 0
/* 802D4248 48 00 00 18 */ b lbl_802D4260
lbl_802D424C:
/* 802D424C 80 81 00 08 */ lwz r4, 8(r1)
/* 802D4250 81 83 00 00 */ lwz r12, 0(r3)
/* 802D4254 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 802D4258 7D 89 03 A6 */ mtctr r12
/* 802D425C 4E 80 04 21 */ bctrl
lbl_802D4260:
/* 802D4260 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802D4264 7C 08 03 A6 */ mtlr r0
/* 802D4268 38 21 00 10 */ addi r1, r1, 0x10
/* 802D426C 4E 80 00 20 */ blr
@@ -1,43 +0,0 @@
lbl_802D4270:
/* 802D4270 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802D4274 7C 08 02 A6 */ mflr r0
/* 802D4278 90 01 00 14 */ stw r0, 0x14(r1)
/* 802D427C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802D4280 93 C1 00 08 */ stw r30, 8(r1)
/* 802D4284 7C 7E 1B 78 */ mr r30, r3
/* 802D4288 38 60 00 00 */ li r3, 0
/* 802D428C 28 04 00 00 */ cmplwi r4, 0
/* 802D4290 41 82 00 24 */ beq lbl_802D42B4
/* 802D4294 7C 83 23 78 */ mr r3, r4
/* 802D4298 38 80 00 00 */ li r4, 0
/* 802D429C 7F C5 F3 78 */ mr r5, r30
/* 802D42A0 81 83 00 00 */ lwz r12, 0(r3)
/* 802D42A4 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 802D42A8 7D 89 03 A6 */ mtctr r12
/* 802D42AC 4E 80 04 21 */ bctrl
/* 802D42B0 48 00 00 40 */ b lbl_802D42F0
lbl_802D42B4:
/* 802D42B4 3C 80 80 43 */ lis r4, sVolumeList__13JKRFileLoader@ha /* 0x80434354@ha */
/* 802D42B8 83 E4 43 54 */ lwz r31, sVolumeList__13JKRFileLoader@l(r4) /* 0x80434354@l */
/* 802D42BC 48 00 00 2C */ b lbl_802D42E8
lbl_802D42C0:
/* 802D42C0 80 7F 00 00 */ lwz r3, 0(r31)
/* 802D42C4 38 80 00 00 */ li r4, 0
/* 802D42C8 7F C5 F3 78 */ mr r5, r30
/* 802D42CC 81 83 00 00 */ lwz r12, 0(r3)
/* 802D42D0 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 802D42D4 7D 89 03 A6 */ mtctr r12
/* 802D42D8 4E 80 04 21 */ bctrl
/* 802D42DC 28 03 00 00 */ cmplwi r3, 0
/* 802D42E0 40 82 00 10 */ bne lbl_802D42F0
/* 802D42E4 83 FF 00 0C */ lwz r31, 0xc(r31)
lbl_802D42E8:
/* 802D42E8 28 1F 00 00 */ cmplwi r31, 0
/* 802D42EC 40 82 FF D4 */ bne lbl_802D42C0
lbl_802D42F0:
/* 802D42F0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802D42F4 83 C1 00 08 */ lwz r30, 8(r1)
/* 802D42F8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802D42FC 7C 08 03 A6 */ mtlr r0
/* 802D4300 38 21 00 10 */ addi r1, r1, 0x10
/* 802D4304 4E 80 00 20 */ blr
@@ -1,44 +0,0 @@
lbl_802D4308:
/* 802D4308 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802D430C 7C 08 02 A6 */ mflr r0
/* 802D4310 90 01 00 14 */ stw r0, 0x14(r1)
/* 802D4314 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802D4318 93 C1 00 08 */ stw r30, 8(r1)
/* 802D431C 7C 7E 1B 78 */ mr r30, r3
/* 802D4320 28 04 00 00 */ cmplwi r4, 0
/* 802D4324 41 82 00 20 */ beq lbl_802D4344
/* 802D4328 7C 83 23 78 */ mr r3, r4
/* 802D432C 7F C4 F3 78 */ mr r4, r30
/* 802D4330 81 83 00 00 */ lwz r12, 0(r3)
/* 802D4334 81 8C 00 28 */ lwz r12, 0x28(r12)
/* 802D4338 7D 89 03 A6 */ mtctr r12
/* 802D433C 4E 80 04 21 */ bctrl
/* 802D4340 48 00 00 48 */ b lbl_802D4388
lbl_802D4344:
/* 802D4344 3C 60 80 43 */ lis r3, sVolumeList__13JKRFileLoader@ha /* 0x80434354@ha */
/* 802D4348 83 E3 43 54 */ lwz r31, sVolumeList__13JKRFileLoader@l(r3) /* 0x80434354@l */
/* 802D434C 48 00 00 30 */ b lbl_802D437C
lbl_802D4350:
/* 802D4350 80 7F 00 00 */ lwz r3, 0(r31)
/* 802D4354 7F C4 F3 78 */ mr r4, r30
/* 802D4358 81 83 00 00 */ lwz r12, 0(r3)
/* 802D435C 81 8C 00 28 */ lwz r12, 0x28(r12)
/* 802D4360 7D 89 03 A6 */ mtctr r12
/* 802D4364 4E 80 04 21 */ bctrl
/* 802D4368 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802D436C 41 82 00 0C */ beq lbl_802D4378
/* 802D4370 38 60 00 01 */ li r3, 1
/* 802D4374 48 00 00 14 */ b lbl_802D4388
lbl_802D4378:
/* 802D4378 83 FF 00 0C */ lwz r31, 0xc(r31)
lbl_802D437C:
/* 802D437C 28 1F 00 00 */ cmplwi r31, 0
/* 802D4380 40 82 FF D0 */ bne lbl_802D4350
/* 802D4384 38 60 00 00 */ li r3, 0
lbl_802D4388:
/* 802D4388 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802D438C 83 C1 00 08 */ lwz r30, 8(r1)
/* 802D4390 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802D4394 7C 08 03 A6 */ mtlr r0
/* 802D4398 38 21 00 10 */ addi r1, r1, 0x10
/* 802D439C 4E 80 00 20 */ blr
@@ -1,22 +0,0 @@
lbl_802D41D4:
/* 802D41D4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802D41D8 7C 08 02 A6 */ mflr r0
/* 802D41DC 90 01 00 14 */ stw r0, 0x14(r1)
/* 802D41E0 80 83 00 34 */ lwz r4, 0x34(r3)
/* 802D41E4 28 04 00 00 */ cmplwi r4, 0
/* 802D41E8 41 82 00 2C */ beq lbl_802D4214
/* 802D41EC 34 04 FF FF */ addic. r0, r4, -1
/* 802D41F0 90 03 00 34 */ stw r0, 0x34(r3)
/* 802D41F4 40 82 00 20 */ bne lbl_802D4214
/* 802D41F8 28 03 00 00 */ cmplwi r3, 0
/* 802D41FC 41 82 00 18 */ beq lbl_802D4214
/* 802D4200 38 80 00 01 */ li r4, 1
/* 802D4204 81 83 00 00 */ lwz r12, 0(r3)
/* 802D4208 81 8C 00 08 */ lwz r12, 8(r12)
/* 802D420C 7D 89 03 A6 */ mtctr r12
/* 802D4210 4E 80 04 21 */ bctrl
lbl_802D4214:
/* 802D4214 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802D4218 7C 08 03 A6 */ mtlr r0
/* 802D421C 38 21 00 10 */ addi r1, r1, 0x10
/* 802D4220 4E 80 00 20 */ blr