diff --git a/asm/JSystem/J2DGraph/J2DPrint/J2DPrint_print_alpha_va.s b/asm/JSystem/J2DGraph/J2DPrint/J2DPrint_print_alpha_va.s deleted file mode 100644 index 735e900dbbd..00000000000 --- a/asm/JSystem/J2DGraph/J2DPrint/J2DPrint_print_alpha_va.s +++ /dev/null @@ -1,45 +0,0 @@ -lbl_802F42F0: -/* 802F42F0 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802F42F4 7C 08 02 A6 */ mflr r0 -/* 802F42F8 90 01 00 24 */ stw r0, 0x24(r1) -/* 802F42FC 39 61 00 20 */ addi r11, r1, 0x20 -/* 802F4300 48 06 DE D9 */ bl _savegpr_28 -/* 802F4304 7C 7C 1B 78 */ mr r28, r3 -/* 802F4308 7C 9D 23 78 */ mr r29, r4 -/* 802F430C 7C BE 2B 78 */ mr r30, r5 -/* 802F4310 7C DF 33 78 */ mr r31, r6 -/* 802F4314 48 00 16 39 */ bl initchar__8J2DPrintFv -/* 802F4318 80 6D 90 00 */ lwz r3, mStrBuff__8J2DPrint(r13) -/* 802F431C 80 8D 90 08 */ lwz r4, mStrBuffSize__8J2DPrint(r13) -/* 802F4320 7F C5 F3 78 */ mr r5, r30 -/* 802F4324 7F E6 FB 78 */ mr r6, r31 -/* 802F4328 48 07 23 69 */ bl vsnprintf -/* 802F432C 7C 65 1B 79 */ or. r5, r3, r3 -/* 802F4330 40 80 00 0C */ bge lbl_802F433C -/* 802F4334 C0 22 C7 C8 */ lfs f1, lit_418(r2) -/* 802F4338 48 00 00 44 */ b lbl_802F437C -lbl_802F433C: -/* 802F433C 80 6D 90 08 */ lwz r3, mStrBuffSize__8J2DPrint(r13) -/* 802F4340 7C 05 18 40 */ cmplw r5, r3 -/* 802F4344 41 80 00 10 */ blt lbl_802F4354 -/* 802F4348 38 A3 FF FF */ addi r5, r3, -1 -/* 802F434C 38 00 00 01 */ li r0, 1 -/* 802F4350 98 0D 90 0C */ stb r0, data_8045158C(r13) -lbl_802F4354: -/* 802F4354 7F 83 E3 78 */ mr r3, r28 -/* 802F4358 80 8D 90 00 */ lwz r4, mStrBuff__8J2DPrint(r13) -/* 802F435C 3C C0 80 00 */ lis r6, 0x8000 /* 0x7FFFFFFF@ha */ -/* 802F4360 38 C6 FF FF */ addi r6, r6, 0xFFFF /* 0x7FFFFFFF@l */ -/* 802F4364 38 E0 00 00 */ li r7, 0 -/* 802F4368 39 01 00 08 */ addi r8, r1, 8 -/* 802F436C 7F A9 EB 78 */ mr r9, r29 -/* 802F4370 39 40 00 01 */ li r10, 1 -/* 802F4374 48 00 07 D9 */ bl parse__8J2DPrintFPCUciiPUsRQ28J2DPrint5TSizeUcb -/* 802F4378 C0 21 00 08 */ lfs f1, 8(r1) -lbl_802F437C: -/* 802F437C 39 61 00 20 */ addi r11, r1, 0x20 -/* 802F4380 48 06 DE A5 */ bl _restgpr_28 -/* 802F4384 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802F4388 7C 08 03 A6 */ mtlr r0 -/* 802F438C 38 21 00 20 */ addi r1, r1, 0x20 -/* 802F4390 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DPrint/__dt__8J2DPrintFv.s b/asm/JSystem/J2DGraph/J2DPrint/__dt__8J2DPrintFv.s deleted file mode 100644 index 23fe2c16c4d..00000000000 --- a/asm/JSystem/J2DGraph/J2DPrint/__dt__8J2DPrintFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_802F4420: -/* 802F4420 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802F4424 7C 08 02 A6 */ mflr r0 -/* 802F4428 90 01 00 14 */ stw r0, 0x14(r1) -/* 802F442C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802F4430 7C 7F 1B 79 */ or. r31, r3, r3 -/* 802F4434 41 82 00 1C */ beq lbl_802F4450 -/* 802F4438 3C A0 80 3D */ lis r5, __vt__8J2DPrint@ha /* 0x803CCFA0@ha */ -/* 802F443C 38 05 CF A0 */ addi r0, r5, __vt__8J2DPrint@l /* 0x803CCFA0@l */ -/* 802F4440 90 1F 00 00 */ stw r0, 0(r31) -/* 802F4444 7C 80 07 35 */ extsh. r0, r4 -/* 802F4448 40 81 00 08 */ ble lbl_802F4450 -/* 802F444C 4B FD A8 F1 */ bl __dl__FPv -lbl_802F4450: -/* 802F4450 7F E3 FB 78 */ mr r3, r31 -/* 802F4454 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802F4458 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802F445C 7C 08 03 A6 */ mtlr r0 -/* 802F4460 38 21 00 10 */ addi r1, r1, 0x10 -/* 802F4464 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DPrint/func_802F4394.s b/asm/JSystem/J2DGraph/J2DPrint/func_802F4394.s deleted file mode 100644 index 5b1bcf7773c..00000000000 --- a/asm/JSystem/J2DGraph/J2DPrint/func_802F4394.s +++ /dev/null @@ -1,36 +0,0 @@ -lbl_802F4394: -/* 802F4394 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802F4398 7C 08 02 A6 */ mflr r0 -/* 802F439C 90 01 00 24 */ stw r0, 0x24(r1) -/* 802F43A0 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 802F43A4 7C 7F 1B 78 */ mr r31, r3 -/* 802F43A8 3D 20 80 3D */ lis r9, __vt__8J2DPrint@ha /* 0x803CCFA0@ha */ -/* 802F43AC 38 09 CF A0 */ addi r0, r9, __vt__8J2DPrint@l /* 0x803CCFA0@l */ -/* 802F43B0 90 03 00 00 */ stw r0, 0(r3) -/* 802F43B4 38 00 FF FF */ li r0, -1 -/* 802F43B8 90 03 00 08 */ stw r0, 8(r3) -/* 802F43BC 90 03 00 0C */ stw r0, 0xc(r3) -/* 802F43C0 90 03 00 38 */ stw r0, 0x38(r3) -/* 802F43C4 90 03 00 3C */ stw r0, 0x3c(r3) -/* 802F43C8 90 03 00 40 */ stw r0, 0x40(r3) -/* 802F43CC 90 03 00 44 */ stw r0, 0x44(r3) -/* 802F43D0 80 08 00 00 */ lwz r0, 0(r8) -/* 802F43D4 90 01 00 08 */ stw r0, 8(r1) -/* 802F43D8 80 07 00 00 */ lwz r0, 0(r7) -/* 802F43DC 90 01 00 0C */ stw r0, 0xc(r1) -/* 802F43E0 80 06 00 00 */ lwz r0, 0(r6) -/* 802F43E4 90 01 00 10 */ stw r0, 0x10(r1) -/* 802F43E8 80 05 00 00 */ lwz r0, 0(r5) -/* 802F43EC 90 01 00 14 */ stw r0, 0x14(r1) -/* 802F43F0 38 A1 00 14 */ addi r5, r1, 0x14 -/* 802F43F4 38 C1 00 10 */ addi r6, r1, 0x10 -/* 802F43F8 38 E1 00 0C */ addi r7, r1, 0xc -/* 802F43FC 39 01 00 08 */ addi r8, r1, 8 -/* 802F4400 39 20 00 00 */ li r9, 0 -/* 802F4404 48 00 00 65 */ bl private_initiate__8J2DPrintFP7JUTFontffQ28JUtility6TColorQ28JUtility6TColorQ28JUtility6TColorQ28JUtility6TColorb -/* 802F4408 7F E3 FB 78 */ mr r3, r31 -/* 802F440C 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 802F4410 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802F4414 7C 08 03 A6 */ mtlr r0 -/* 802F4418 38 21 00 20 */ addi r1, r1, 0x20 -/* 802F441C 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DPrint/initchar__8J2DPrintFv.s b/asm/JSystem/J2DGraph/J2DPrint/initchar__8J2DPrintFv.s deleted file mode 100644 index ae2f7925b7d..00000000000 --- a/asm/JSystem/J2DGraph/J2DPrint/initchar__8J2DPrintFv.s +++ /dev/null @@ -1,30 +0,0 @@ -lbl_802F594C: -/* 802F594C 88 03 00 40 */ lbz r0, 0x40(r3) -/* 802F5950 98 03 00 08 */ stb r0, 8(r3) -/* 802F5954 88 03 00 41 */ lbz r0, 0x41(r3) -/* 802F5958 98 03 00 09 */ stb r0, 9(r3) -/* 802F595C 88 03 00 42 */ lbz r0, 0x42(r3) -/* 802F5960 98 03 00 0A */ stb r0, 0xa(r3) -/* 802F5964 88 03 00 43 */ lbz r0, 0x43(r3) -/* 802F5968 98 03 00 0B */ stb r0, 0xb(r3) -/* 802F596C 88 03 00 44 */ lbz r0, 0x44(r3) -/* 802F5970 98 03 00 0C */ stb r0, 0xc(r3) -/* 802F5974 88 03 00 45 */ lbz r0, 0x45(r3) -/* 802F5978 98 03 00 0D */ stb r0, 0xd(r3) -/* 802F597C 88 03 00 46 */ lbz r0, 0x46(r3) -/* 802F5980 98 03 00 0E */ stb r0, 0xe(r3) -/* 802F5984 88 03 00 47 */ lbz r0, 0x47(r3) -/* 802F5988 98 03 00 0F */ stb r0, 0xf(r3) -/* 802F598C C0 03 00 48 */ lfs f0, 0x48(r3) -/* 802F5990 D0 03 00 10 */ stfs f0, 0x10(r3) -/* 802F5994 C0 03 00 4C */ lfs f0, 0x4c(r3) -/* 802F5998 D0 03 00 14 */ stfs f0, 0x14(r3) -/* 802F599C 88 03 00 5A */ lbz r0, 0x5a(r3) -/* 802F59A0 98 03 00 22 */ stb r0, 0x22(r3) -/* 802F59A4 A8 03 00 58 */ lha r0, 0x58(r3) -/* 802F59A8 B0 03 00 20 */ sth r0, 0x20(r3) -/* 802F59AC C0 03 00 50 */ lfs f0, 0x50(r3) -/* 802F59B0 D0 03 00 18 */ stfs f0, 0x18(r3) -/* 802F59B4 C0 03 00 54 */ lfs f0, 0x54(r3) -/* 802F59B8 D0 03 00 1C */ stfs f0, 0x1c(r3) -/* 802F59BC 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DPrint/locate__8J2DPrintFff.s b/asm/JSystem/J2DGraph/J2DPrint/locate__8J2DPrintFff.s deleted file mode 100644 index 0d3c56c2666..00000000000 --- a/asm/JSystem/J2DGraph/J2DPrint/locate__8J2DPrintFff.s +++ /dev/null @@ -1,8 +0,0 @@ -lbl_802F475C: -/* 802F475C D0 23 00 24 */ stfs f1, 0x24(r3) -/* 802F4760 D0 43 00 28 */ stfs f2, 0x28(r3) -/* 802F4764 D0 23 00 2C */ stfs f1, 0x2c(r3) -/* 802F4768 D0 43 00 30 */ stfs f2, 0x30(r3) -/* 802F476C C0 02 C7 C8 */ lfs f0, lit_418(r2) -/* 802F4770 D0 03 00 34 */ stfs f0, 0x34(r3) -/* 802F4774 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DPrint/print__8J2DPrintFffUcPCce.s b/asm/JSystem/J2DGraph/J2DPrint/print__8J2DPrintFffUcPCce.s deleted file mode 100644 index 512d0031462..00000000000 --- a/asm/JSystem/J2DGraph/J2DPrint/print__8J2DPrintFffUcPCce.s +++ /dev/null @@ -1,46 +0,0 @@ -lbl_802F4778: -/* 802F4778 94 21 FF 70 */ stwu r1, -0x90(r1) -/* 802F477C 7C 08 02 A6 */ mflr r0 -/* 802F4780 90 01 00 94 */ stw r0, 0x94(r1) -/* 802F4784 39 61 00 90 */ addi r11, r1, 0x90 -/* 802F4788 48 06 DA 55 */ bl _savegpr_29 -/* 802F478C 7C 7D 1B 78 */ mr r29, r3 -/* 802F4790 7C 9E 23 78 */ mr r30, r4 -/* 802F4794 7C BF 2B 78 */ mr r31, r5 -/* 802F4798 40 86 00 24 */ bne cr1, lbl_802F47BC -/* 802F479C D8 21 00 28 */ stfd f1, 0x28(r1) -/* 802F47A0 D8 41 00 30 */ stfd f2, 0x30(r1) -/* 802F47A4 D8 61 00 38 */ stfd f3, 0x38(r1) -/* 802F47A8 D8 81 00 40 */ stfd f4, 0x40(r1) -/* 802F47AC D8 A1 00 48 */ stfd f5, 0x48(r1) -/* 802F47B0 D8 C1 00 50 */ stfd f6, 0x50(r1) -/* 802F47B4 D8 E1 00 58 */ stfd f7, 0x58(r1) -/* 802F47B8 D9 01 00 60 */ stfd f8, 0x60(r1) -lbl_802F47BC: -/* 802F47BC 90 61 00 08 */ stw r3, 8(r1) -/* 802F47C0 90 81 00 0C */ stw r4, 0xc(r1) -/* 802F47C4 90 A1 00 10 */ stw r5, 0x10(r1) -/* 802F47C8 90 C1 00 14 */ stw r6, 0x14(r1) -/* 802F47CC 90 E1 00 18 */ stw r7, 0x18(r1) -/* 802F47D0 91 01 00 1C */ stw r8, 0x1c(r1) -/* 802F47D4 91 21 00 20 */ stw r9, 0x20(r1) -/* 802F47D8 91 41 00 24 */ stw r10, 0x24(r1) -/* 802F47DC 7F A3 EB 78 */ mr r3, r29 -/* 802F47E0 4B FF FF 7D */ bl locate__8J2DPrintFff -/* 802F47E4 38 C1 00 68 */ addi r6, r1, 0x68 -/* 802F47E8 3C 00 03 02 */ lis r0, 0x302 -/* 802F47EC 90 01 00 68 */ stw r0, 0x68(r1) -/* 802F47F0 38 01 00 98 */ addi r0, r1, 0x98 -/* 802F47F4 90 01 00 6C */ stw r0, 0x6c(r1) -/* 802F47F8 38 01 00 08 */ addi r0, r1, 8 -/* 802F47FC 90 01 00 70 */ stw r0, 0x70(r1) -/* 802F4800 7F A3 EB 78 */ mr r3, r29 -/* 802F4804 7F C4 F3 78 */ mr r4, r30 -/* 802F4808 7F E5 FB 78 */ mr r5, r31 -/* 802F480C 4B FF FA E5 */ bl J2DPrint_print_alpha_va -/* 802F4810 39 61 00 90 */ addi r11, r1, 0x90 -/* 802F4814 48 06 DA 15 */ bl _restgpr_29 -/* 802F4818 80 01 00 94 */ lwz r0, 0x94(r1) -/* 802F481C 7C 08 03 A6 */ mtlr r0 -/* 802F4820 38 21 00 90 */ addi r1, r1, 0x90 -/* 802F4824 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DPrint/setBuffer__8J2DPrintFUl.s b/asm/JSystem/J2DGraph/J2DPrint/setBuffer__8J2DPrintFUl.s deleted file mode 100644 index b50e7e66df9..00000000000 --- a/asm/JSystem/J2DGraph/J2DPrint/setBuffer__8J2DPrintFUl.s +++ /dev/null @@ -1,29 +0,0 @@ -lbl_802F4658: -/* 802F4658 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802F465C 7C 08 02 A6 */ mflr r0 -/* 802F4660 90 01 00 14 */ stw r0, 0x14(r1) -/* 802F4664 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802F4668 93 C1 00 08 */ stw r30, 8(r1) -/* 802F466C 7C 7E 1B 78 */ mr r30, r3 -/* 802F4670 80 6D 90 00 */ lwz r3, mStrBuff__8J2DPrint(r13) -/* 802F4674 7C 7F 1B 78 */ mr r31, r3 -/* 802F4678 88 0D 90 04 */ lbz r0, data_80451584(r13) -/* 802F467C 28 00 00 00 */ cmplwi r0, 0 -/* 802F4680 41 82 00 08 */ beq lbl_802F4688 -/* 802F4684 4B FD A6 B9 */ bl __dl__FPv -lbl_802F4688: -/* 802F4688 7F C3 F3 78 */ mr r3, r30 -/* 802F468C 80 8D 8D F0 */ lwz r4, sSystemHeap__7JKRHeap(r13) -/* 802F4690 38 A0 00 00 */ li r5, 0 -/* 802F4694 4B FD A6 7D */ bl __nwa__FUlP7JKRHeapi -/* 802F4698 90 6D 90 00 */ stw r3, mStrBuff__8J2DPrint(r13) -/* 802F469C 93 CD 90 08 */ stw r30, mStrBuffSize__8J2DPrint(r13) -/* 802F46A0 38 00 00 01 */ li r0, 1 -/* 802F46A4 98 0D 90 04 */ stb r0, data_80451584(r13) -/* 802F46A8 7F E3 FB 78 */ mr r3, r31 -/* 802F46AC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802F46B0 83 C1 00 08 */ lwz r30, 8(r1) -/* 802F46B4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802F46B8 7C 08 03 A6 */ mtlr r0 -/* 802F46BC 38 21 00 10 */ addi r1, r1, 0x10 -/* 802F46C0 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTException/__ct__12JUTExceptionFP14JUTDirectPrint.s b/asm/JSystem/JUtility/JUTException/__ct__12JUTExceptionFP14JUTDirectPrint.s deleted file mode 100644 index 90caa211f07..00000000000 --- a/asm/JSystem/JUtility/JUTException/__ct__12JUTExceptionFP14JUTDirectPrint.s +++ /dev/null @@ -1,58 +0,0 @@ -lbl_802E1D5C: -/* 802E1D5C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802E1D60 7C 08 02 A6 */ mflr r0 -/* 802E1D64 90 01 00 14 */ stw r0, 0x14(r1) -/* 802E1D68 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802E1D6C 93 C1 00 08 */ stw r30, 8(r1) -/* 802E1D70 7C 7E 1B 78 */ mr r30, r3 -/* 802E1D74 7C 9F 23 78 */ mr r31, r4 -/* 802E1D78 38 80 1C 00 */ li r4, 0x1c00 -/* 802E1D7C 38 A0 00 10 */ li r5, 0x10 -/* 802E1D80 38 C0 00 00 */ li r6, 0 -/* 802E1D84 4B FE F7 E5 */ bl __ct__9JKRThreadFUlii -/* 802E1D88 3C 60 80 3D */ lis r3, __vt__12JUTException@ha /* 0x803CC6A4@ha */ -/* 802E1D8C 38 03 C6 A4 */ addi r0, r3, __vt__12JUTException@l /* 0x803CC6A4@l */ -/* 802E1D90 90 1E 00 00 */ stw r0, 0(r30) -/* 802E1D94 93 FE 00 80 */ stw r31, 0x80(r30) -/* 802E1D98 38 60 00 02 */ li r3, 2 -/* 802E1D9C 3C 80 80 2E */ lis r4, errorHandler__12JUTExceptionFUsP9OSContextUlUl@ha /* 0x802E1FCC@ha */ -/* 802E1DA0 38 84 1F CC */ addi r4, r4, errorHandler__12JUTExceptionFUsP9OSContextUlUl@l /* 0x802E1FCC@l */ -/* 802E1DA4 48 05 A7 DD */ bl OSSetErrorHandler -/* 802E1DA8 38 60 00 03 */ li r3, 3 -/* 802E1DAC 3C 80 80 2E */ lis r4, errorHandler__12JUTExceptionFUsP9OSContextUlUl@ha /* 0x802E1FCC@ha */ -/* 802E1DB0 38 84 1F CC */ addi r4, r4, errorHandler__12JUTExceptionFUsP9OSContextUlUl@l /* 0x802E1FCC@l */ -/* 802E1DB4 48 05 A7 CD */ bl OSSetErrorHandler -/* 802E1DB8 38 60 00 06 */ li r3, 6 -/* 802E1DBC 3C 80 80 2E */ lis r4, errorHandler__12JUTExceptionFUsP9OSContextUlUl@ha /* 0x802E1FCC@ha */ -/* 802E1DC0 38 84 1F CC */ addi r4, r4, errorHandler__12JUTExceptionFUsP9OSContextUlUl@l /* 0x802E1FCC@l */ -/* 802E1DC4 48 05 A7 BD */ bl OSSetErrorHandler -/* 802E1DC8 38 60 00 05 */ li r3, 5 -/* 802E1DCC 3C 80 80 2E */ lis r4, errorHandler__12JUTExceptionFUsP9OSContextUlUl@ha /* 0x802E1FCC@ha */ -/* 802E1DD0 38 84 1F CC */ addi r4, r4, errorHandler__12JUTExceptionFUsP9OSContextUlUl@l /* 0x802E1FCC@l */ -/* 802E1DD4 48 05 A7 AD */ bl OSSetErrorHandler -/* 802E1DD8 38 60 00 0F */ li r3, 0xf -/* 802E1DDC 3C 80 80 2E */ lis r4, errorHandler__12JUTExceptionFUsP9OSContextUlUl@ha /* 0x802E1FCC@ha */ -/* 802E1DE0 38 84 1F CC */ addi r4, r4, errorHandler__12JUTExceptionFUsP9OSContextUlUl@l /* 0x802E1FCC@l */ -/* 802E1DE4 48 05 A7 9D */ bl OSSetErrorHandler -/* 802E1DE8 38 60 00 00 */ li r3, 0 -/* 802E1DEC 48 00 04 91 */ bl setFPException__12JUTExceptionFUl -/* 802E1DF0 38 80 00 00 */ li r4, 0 -/* 802E1DF4 90 8D 8F 8C */ stw r4, sPreUserCallback__12JUTException(r13) -/* 802E1DF8 90 8D 8F 90 */ stw r4, sPostUserCallback__12JUTException(r13) -/* 802E1DFC 90 9E 00 84 */ stw r4, 0x84(r30) -/* 802E1E00 38 60 FF FF */ li r3, -1 -/* 802E1E04 90 7E 00 88 */ stw r3, 0x88(r30) -/* 802E1E08 38 00 00 0A */ li r0, 0xa -/* 802E1E0C 90 1E 00 8C */ stw r0, 0x8c(r30) -/* 802E1E10 90 1E 00 90 */ stw r0, 0x90(r30) -/* 802E1E14 90 7E 00 94 */ stw r3, 0x94(r30) -/* 802E1E18 90 9E 00 98 */ stw r4, 0x98(r30) -/* 802E1E1C 38 00 00 1F */ li r0, 0x1f -/* 802E1E20 90 1E 00 9C */ stw r0, 0x9c(r30) -/* 802E1E24 7F C3 F3 78 */ mr r3, r30 -/* 802E1E28 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802E1E2C 83 C1 00 08 */ lwz r30, 8(r1) -/* 802E1E30 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802E1E34 7C 08 03 A6 */ mtlr r0 -/* 802E1E38 38 21 00 10 */ addi r1, r1, 0x10 -/* 802E1E3C 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTException/__ct__13JUTExternalFBFP16_GXRenderModeObj8_GXGammaPvUl.s b/asm/JSystem/JUtility/JUTException/__ct__13JUTExternalFBFP16_GXRenderModeObj8_GXGammaPvUl.s deleted file mode 100644 index fb7775948df..00000000000 --- a/asm/JSystem/JUtility/JUTException/__ct__13JUTExternalFBFP16_GXRenderModeObj8_GXGammaPvUl.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_802E40CC: -/* 802E40CC 90 83 00 00 */ stw r4, 0(r3) -/* 802E40D0 90 E3 00 04 */ stw r7, 4(r3) -/* 802E40D4 38 00 00 01 */ li r0, 1 -/* 802E40D8 B0 03 00 0C */ sth r0, 0xc(r3) -/* 802E40DC B0 A3 00 0E */ sth r5, 0xe(r3) -/* 802E40E0 38 00 00 00 */ li r0, 0 -/* 802E40E4 98 03 00 10 */ stb r0, 0x10(r3) -/* 802E40E8 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTException/__dt__12JUTExceptionFv.s b/asm/JSystem/JUtility/JUTException/__dt__12JUTExceptionFv.s deleted file mode 100644 index 94fde46f9d3..00000000000 --- a/asm/JSystem/JUtility/JUTException/__dt__12JUTExceptionFv.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_802E40EC: -/* 802E40EC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802E40F0 7C 08 02 A6 */ mflr r0 -/* 802E40F4 90 01 00 14 */ stw r0, 0x14(r1) -/* 802E40F8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802E40FC 93 C1 00 08 */ stw r30, 8(r1) -/* 802E4100 7C 7E 1B 79 */ or. r30, r3, r3 -/* 802E4104 7C 9F 23 78 */ mr r31, r4 -/* 802E4108 41 82 00 28 */ beq lbl_802E4130 -/* 802E410C 3C 80 80 3D */ lis r4, __vt__12JUTException@ha /* 0x803CC6A4@ha */ -/* 802E4110 38 04 C6 A4 */ addi r0, r4, __vt__12JUTException@l /* 0x803CC6A4@l */ -/* 802E4114 90 1E 00 00 */ stw r0, 0(r30) -/* 802E4118 38 80 00 00 */ li r4, 0 -/* 802E411C 4B FE D6 3D */ bl __dt__9JKRThreadFv -/* 802E4120 7F E0 07 35 */ extsh. r0, r31 -/* 802E4124 40 81 00 0C */ ble lbl_802E4130 -/* 802E4128 7F C3 F3 78 */ mr r3, r30 -/* 802E412C 4B FE AC 11 */ bl __dl__FPv -lbl_802E4130: -/* 802E4130 7F C3 F3 78 */ mr r3, r30 -/* 802E4134 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802E4138 83 C1 00 08 */ lwz r30, 8(r1) -/* 802E413C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802E4140 7C 08 03 A6 */ mtlr r0 -/* 802E4144 38 21 00 10 */ addi r1, r1, 0x10 -/* 802E4148 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTException/__sinit_JUTException_cpp.s b/asm/JSystem/JUtility/JUTException/__sinit_JUTException_cpp.s deleted file mode 100644 index 6fb6d8baf30..00000000000 --- a/asm/JSystem/JUtility/JUTException/__sinit_JUTException_cpp.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_802E414C: -/* 802E414C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802E4150 7C 08 02 A6 */ mflr r0 -/* 802E4154 90 01 00 14 */ stw r0, 0x14(r1) -/* 802E4158 3C 60 80 43 */ lis r3, sMapFileList__12JUTException@ha /* 0x80434598@ha */ -/* 802E415C 38 63 45 98 */ addi r3, r3, sMapFileList__12JUTException@l /* 0x80434598@l */ -/* 802E4160 38 80 00 00 */ li r4, 0 -/* 802E4164 4B FF 7D 11 */ bl __ct__10JSUPtrListFb -/* 802E4168 3C 60 80 43 */ lis r3, sMapFileList__12JUTException@ha /* 0x80434598@ha */ -/* 802E416C 38 63 45 98 */ addi r3, r3, sMapFileList__12JUTException@l /* 0x80434598@l */ -/* 802E4170 3C 80 80 2E */ lis r4, func_802E4194@ha /* 0x802E4194@ha */ -/* 802E4174 38 84 41 94 */ addi r4, r4, func_802E4194@l /* 0x802E4194@l */ -/* 802E4178 3C A0 80 43 */ lis r5, lit_2182@ha /* 0x8043458C@ha */ -/* 802E417C 38 A5 45 8C */ addi r5, r5, lit_2182@l /* 0x8043458C@l */ -/* 802E4180 48 07 DA A5 */ bl __register_global_object -/* 802E4184 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802E4188 7C 08 03 A6 */ mtlr r0 -/* 802E418C 38 21 00 10 */ addi r1, r1, 0x10 -/* 802E4190 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTException/appendMapFile__12JUTExceptionFPCc.s b/asm/JSystem/JUtility/JUTException/appendMapFile__12JUTExceptionFPCc.s deleted file mode 100644 index 446ccf1bd96..00000000000 --- a/asm/JSystem/JUtility/JUTException/appendMapFile__12JUTExceptionFPCc.s +++ /dev/null @@ -1,42 +0,0 @@ -lbl_802E3B0C: -/* 802E3B0C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802E3B10 7C 08 02 A6 */ mflr r0 -/* 802E3B14 90 01 00 14 */ stw r0, 0x14(r1) -/* 802E3B18 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802E3B1C 93 C1 00 08 */ stw r30, 8(r1) -/* 802E3B20 7C 7E 1B 79 */ or. r30, r3, r3 -/* 802E3B24 41 82 00 64 */ beq lbl_802E3B88 -/* 802E3B28 3C 60 80 43 */ lis r3, sMapFileList__12JUTException@ha /* 0x80434598@ha */ -/* 802E3B2C 83 E3 45 98 */ lwz r31, sMapFileList__12JUTException@l(r3) /* 0x80434598@l */ -/* 802E3B30 48 00 00 20 */ b lbl_802E3B50 -lbl_802E3B34: -/* 802E3B34 80 9F 00 00 */ lwz r4, 0(r31) -/* 802E3B38 7F C3 F3 78 */ mr r3, r30 -/* 802E3B3C 80 84 00 00 */ lwz r4, 0(r4) -/* 802E3B40 48 08 4E 55 */ bl strcmp -/* 802E3B44 2C 03 00 00 */ cmpwi r3, 0 -/* 802E3B48 41 82 00 40 */ beq lbl_802E3B88 -/* 802E3B4C 83 FF 00 0C */ lwz r31, 0xc(r31) -lbl_802E3B50: -/* 802E3B50 28 1F 00 00 */ cmplwi r31, 0 -/* 802E3B54 40 82 FF E0 */ bne lbl_802E3B34 -/* 802E3B58 38 60 00 14 */ li r3, 0x14 -/* 802E3B5C 4B FE B0 F1 */ bl __nw__FUl -/* 802E3B60 7C 7F 1B 79 */ or. r31, r3, r3 -/* 802E3B64 41 82 00 14 */ beq lbl_802E3B78 -/* 802E3B68 38 7F 00 04 */ addi r3, r31, 4 -/* 802E3B6C 7F E4 FB 78 */ mr r4, r31 -/* 802E3B70 4B FF 82 8D */ bl __ct__10JSUPtrLinkFPv -/* 802E3B74 93 DF 00 00 */ stw r30, 0(r31) -lbl_802E3B78: -/* 802E3B78 3C 60 80 43 */ lis r3, sMapFileList__12JUTException@ha /* 0x80434598@ha */ -/* 802E3B7C 38 63 45 98 */ addi r3, r3, sMapFileList__12JUTException@l /* 0x80434598@l */ -/* 802E3B80 38 9F 00 04 */ addi r4, r31, 4 -/* 802E3B84 4B FF 83 C9 */ bl append__10JSUPtrListFP10JSUPtrLink -lbl_802E3B88: -/* 802E3B88 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802E3B8C 83 C1 00 08 */ lwz r30, 8(r1) -/* 802E3B90 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802E3B94 7C 08 03 A6 */ mtlr r0 -/* 802E3B98 38 21 00 10 */ addi r1, r1, 0x10 -/* 802E3B9C 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTException/createConsole__12JUTExceptionFPvUl.s b/asm/JSystem/JUtility/JUTException/createConsole__12JUTExceptionFPvUl.s deleted file mode 100644 index c4c0e82a0e1..00000000000 --- a/asm/JSystem/JUtility/JUTException/createConsole__12JUTExceptionFPvUl.s +++ /dev/null @@ -1,60 +0,0 @@ -lbl_802E3FEC: -/* 802E3FEC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802E3FF0 7C 08 02 A6 */ mflr r0 -/* 802E3FF4 90 01 00 14 */ stw r0, 0x14(r1) -/* 802E3FF8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802E3FFC 93 C1 00 08 */ stw r30, 8(r1) -/* 802E4000 7C 7E 1B 79 */ or. r30, r3, r3 -/* 802E4004 7C 9F 23 78 */ mr r31, r4 -/* 802E4008 41 82 00 AC */ beq lbl_802E40B4 -/* 802E400C 28 1F 00 00 */ cmplwi r31, 0 -/* 802E4010 40 82 00 08 */ bne lbl_802E4018 -/* 802E4014 48 00 00 A0 */ b lbl_802E40B4 -lbl_802E4018: -/* 802E4018 7F E3 FB 78 */ mr r3, r31 -/* 802E401C 38 80 00 32 */ li r4, 0x32 -/* 802E4020 48 00 35 BD */ bl getLineFromObjectSize__10JUTConsoleFUlUi -/* 802E4024 28 03 00 00 */ cmplwi r3, 0 -/* 802E4028 41 82 00 8C */ beq lbl_802E40B4 -/* 802E402C 93 CD 8F 94 */ stw r30, sConsoleBuffer__12JUTException(r13) -/* 802E4030 93 ED 8F 98 */ stw r31, sConsoleBufferSize__12JUTException(r13) -/* 802E4034 38 60 00 32 */ li r3, 0x32 -/* 802E4038 7F C4 F3 78 */ mr r4, r30 -/* 802E403C 7F E5 FB 78 */ mr r5, r31 -/* 802E4040 48 00 33 A5 */ bl create__10JUTConsoleFUiPvUl -/* 802E4044 7C 64 1B 78 */ mr r4, r3 -/* 802E4048 90 8D 8F 9C */ stw r4, sConsole__12JUTException(r13) -/* 802E404C 80 6D 8F F0 */ lwz r3, sManager__17JUTConsoleManager(r13) -/* 802E4050 48 00 44 75 */ bl setDirectConsole__17JUTConsoleManagerFP10JUTConsole -/* 802E4054 80 6D 8F 9C */ lwz r3, sConsole__12JUTException(r13) -/* 802E4058 C0 02 C6 54 */ lfs f0, lit_3034(r2) -/* 802E405C D0 03 00 50 */ stfs f0, 0x50(r3) -/* 802E4060 C0 02 C6 58 */ lfs f0, lit_3035(r2) -/* 802E4064 D0 03 00 54 */ stfs f0, 0x54(r3) -/* 802E4068 80 6D 8F 9C */ lwz r3, sConsole__12JUTException(r13) -/* 802E406C 38 00 00 0F */ li r0, 0xf -/* 802E4070 90 03 00 40 */ stw r0, 0x40(r3) -/* 802E4074 38 00 00 1A */ li r0, 0x1a -/* 802E4078 90 03 00 44 */ stw r0, 0x44(r3) -/* 802E407C 80 6D 8F 9C */ lwz r3, sConsole__12JUTException(r13) -/* 802E4080 38 00 00 17 */ li r0, 0x17 -/* 802E4084 90 03 00 48 */ stw r0, 0x48(r3) -/* 802E4088 80 03 00 48 */ lwz r0, 0x48(r3) -/* 802E408C 80 83 00 24 */ lwz r4, 0x24(r3) -/* 802E4090 7C 00 20 40 */ cmplw r0, r4 -/* 802E4094 40 81 00 08 */ ble lbl_802E409C -/* 802E4098 90 83 00 48 */ stw r4, 0x48(r3) -lbl_802E409C: -/* 802E409C 38 00 00 01 */ li r0, 1 -/* 802E40A0 80 6D 8F 9C */ lwz r3, sConsole__12JUTException(r13) -/* 802E40A4 98 03 00 68 */ stb r0, 0x68(r3) -/* 802E40A8 38 00 00 03 */ li r0, 3 -/* 802E40AC 80 6D 8F 9C */ lwz r3, sConsole__12JUTException(r13) -/* 802E40B0 90 03 00 58 */ stw r0, 0x58(r3) -lbl_802E40B4: -/* 802E40B4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802E40B8 83 C1 00 08 */ lwz r30, 8(r1) -/* 802E40BC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802E40C0 7C 08 03 A6 */ mtlr r0 -/* 802E40C4 38 21 00 10 */ addi r1, r1, 0x10 -/* 802E40C8 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTException/createFB__12JUTExceptionFv.s b/asm/JSystem/JUtility/JUTException/createFB__12JUTExceptionFv.s deleted file mode 100644 index 16f09d0e921..00000000000 --- a/asm/JSystem/JUtility/JUTException/createFB__12JUTExceptionFv.s +++ /dev/null @@ -1,61 +0,0 @@ -lbl_802E3A08: -/* 802E3A08 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802E3A0C 7C 08 02 A6 */ mflr r0 -/* 802E3A10 90 01 00 24 */ stw r0, 0x24(r1) -/* 802E3A14 39 61 00 20 */ addi r11, r1, 0x20 -/* 802E3A18 48 07 E7 C1 */ bl _savegpr_28 -/* 802E3A1C 7C 7C 1B 78 */ mr r28, r3 -/* 802E3A20 3C 60 80 3D */ lis r3, GXNtsc480Int@ha /* 0x803D2484@ha */ -/* 802E3A24 38 03 24 84 */ addi r0, r3, GXNtsc480Int@l /* 0x803D2484@l */ -/* 802E3A28 7C 1F 03 78 */ mr r31, r0 -/* 802E3A2C 48 05 78 61 */ bl OSGetArenaHi -/* 802E3A30 3C 80 80 3D */ lis r4, GXNtsc480Int@ha /* 0x803D2484@ha */ -/* 802E3A34 38 A4 24 84 */ addi r5, r4, GXNtsc480Int@l /* 0x803D2484@l */ -/* 802E3A38 A0 85 00 04 */ lhz r4, 4(r5) -/* 802E3A3C 38 04 00 0F */ addi r0, r4, 0xf -/* 802E3A40 54 04 04 36 */ rlwinm r4, r0, 0, 0x10, 0x1b -/* 802E3A44 A0 05 00 08 */ lhz r0, 8(r5) -/* 802E3A48 7C 04 01 D6 */ mullw r0, r4, r0 -/* 802E3A4C 54 07 08 3C */ slwi r7, r0, 1 -/* 802E3A50 7C 07 18 50 */ subf r0, r7, r3 -/* 802E3A54 54 1E 00 34 */ rlwinm r30, r0, 0, 0, 0x1a -/* 802E3A58 38 1E FF EC */ addi r0, r30, -20 -/* 802E3A5C 54 1D 00 35 */ rlwinm. r29, r0, 0, 0, 0x1a -/* 802E3A60 41 82 00 18 */ beq lbl_802E3A78 -/* 802E3A64 7F A3 EB 78 */ mr r3, r29 -/* 802E3A68 7F E4 FB 78 */ mr r4, r31 -/* 802E3A6C 38 A0 00 01 */ li r5, 1 -/* 802E3A70 7F C6 F3 78 */ mr r6, r30 -/* 802E3A74 48 00 06 59 */ bl __ct__13JUTExternalFBFP16_GXRenderModeObj8_GXGammaPvUl -lbl_802E3A78: -/* 802E3A78 80 7C 00 80 */ lwz r3, 0x80(r28) -/* 802E3A7C 7F C4 F3 78 */ mr r4, r30 -/* 802E3A80 A0 BF 00 04 */ lhz r5, 4(r31) -/* 802E3A84 A0 DF 00 06 */ lhz r6, 6(r31) -/* 802E3A88 48 00 0A E5 */ bl changeFrameBuffer__14JUTDirectPrintFPvUsUs -/* 802E3A8C 7F E3 FB 78 */ mr r3, r31 -/* 802E3A90 48 06 93 FD */ bl VIConfigure -/* 802E3A94 7F C3 F3 78 */ mr r3, r30 -/* 802E3A98 48 06 9D 2D */ bl VISetNextFrameBuffer -/* 802E3A9C 38 60 00 00 */ li r3, 0 -/* 802E3AA0 48 06 9D A1 */ bl VISetBlack -/* 802E3AA4 48 06 9B F1 */ bl VIFlush -/* 802E3AA8 48 06 9B ED */ bl VIFlush -/* 802E3AAC 3B C0 00 00 */ li r30, 0 -lbl_802E3AB0: -/* 802E3AB0 48 06 9E 0D */ bl VIGetRetraceCount -/* 802E3AB4 7C 7F 1B 78 */ mr r31, r3 -lbl_802E3AB8: -/* 802E3AB8 48 06 9E 05 */ bl VIGetRetraceCount -/* 802E3ABC 7C 1F 18 40 */ cmplw r31, r3 -/* 802E3AC0 41 82 FF F8 */ beq lbl_802E3AB8 -/* 802E3AC4 3B DE 00 01 */ addi r30, r30, 1 -/* 802E3AC8 2C 1E 00 03 */ cmpwi r30, 3 -/* 802E3ACC 41 80 FF E4 */ blt lbl_802E3AB0 -/* 802E3AD0 93 BC 00 7C */ stw r29, 0x7c(r28) -/* 802E3AD4 39 61 00 20 */ addi r11, r1, 0x20 -/* 802E3AD8 48 07 E7 4D */ bl _restgpr_28 -/* 802E3ADC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802E3AE0 7C 08 03 A6 */ mtlr r0 -/* 802E3AE4 38 21 00 20 */ addi r1, r1, 0x20 -/* 802E3AE8 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTException/create__12JUTExceptionFP14JUTDirectPrint.s b/asm/JSystem/JUtility/JUTException/create__12JUTExceptionFP14JUTDirectPrint.s deleted file mode 100644 index 8aa100acd53..00000000000 --- a/asm/JSystem/JUtility/JUTException/create__12JUTExceptionFP14JUTDirectPrint.s +++ /dev/null @@ -1,29 +0,0 @@ -lbl_802E1E40: -/* 802E1E40 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802E1E44 7C 08 02 A6 */ mflr r0 -/* 802E1E48 90 01 00 14 */ stw r0, 0x14(r1) -/* 802E1E4C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802E1E50 7C 7F 1B 78 */ mr r31, r3 -/* 802E1E54 80 0D 8F 88 */ lwz r0, sErrorManager__12JUTException(r13) -/* 802E1E58 28 00 00 00 */ cmplwi r0, 0 -/* 802E1E5C 40 82 00 34 */ bne lbl_802E1E90 -/* 802E1E60 38 60 00 A4 */ li r3, 0xa4 -/* 802E1E64 80 8D 8D F0 */ lwz r4, sSystemHeap__7JKRHeap(r13) -/* 802E1E68 38 A0 00 00 */ li r5, 0 -/* 802E1E6C 4B FE CE 2D */ bl __nw__FUlP7JKRHeapi -/* 802E1E70 7C 64 1B 79 */ or. r4, r3, r3 -/* 802E1E74 41 82 00 10 */ beq lbl_802E1E84 -/* 802E1E78 7F E4 FB 78 */ mr r4, r31 -/* 802E1E7C 4B FF FE E1 */ bl __ct__12JUTExceptionFP14JUTDirectPrint -/* 802E1E80 7C 64 1B 78 */ mr r4, r3 -lbl_802E1E84: -/* 802E1E84 90 8D 8F 88 */ stw r4, sErrorManager__12JUTException(r13) -/* 802E1E88 80 64 00 2C */ lwz r3, 0x2c(r4) -/* 802E1E8C 48 05 F9 29 */ bl OSResumeThread -lbl_802E1E90: -/* 802E1E90 80 6D 8F 88 */ lwz r3, sErrorManager__12JUTException(r13) -/* 802E1E94 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802E1E98 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802E1E9C 7C 08 03 A6 */ mtlr r0 -/* 802E1EA0 38 21 00 10 */ addi r1, r1, 0x10 -/* 802E1EA4 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTException/errorHandler__12JUTExceptionFUsP9OSContextUlUl.s b/asm/JSystem/JUtility/JUTException/errorHandler__12JUTExceptionFUsP9OSContextUlUl.s deleted file mode 100644 index f41a0a8d8da..00000000000 --- a/asm/JSystem/JUtility/JUTException/errorHandler__12JUTExceptionFUsP9OSContextUlUl.s +++ /dev/null @@ -1,63 +0,0 @@ -lbl_802E1FCC: -/* 802E1FCC 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802E1FD0 7C 08 02 A6 */ mflr r0 -/* 802E1FD4 90 01 00 24 */ stw r0, 0x24(r1) -/* 802E1FD8 39 61 00 20 */ addi r11, r1, 0x20 -/* 802E1FDC 48 08 01 FD */ bl _savegpr_28 -/* 802E1FE0 7C 7C 1B 78 */ mr r28, r3 -/* 802E1FE4 7C 9D 23 78 */ mr r29, r4 -/* 802E1FE8 7C BE 2B 78 */ mr r30, r5 -/* 802E1FEC 7C DF 33 78 */ mr r31, r6 -/* 802E1FF0 48 05 7C D1 */ bl PPCMfmsr -/* 802E1FF4 90 6D 8F A0 */ stw r3, msr__12JUTException(r13) -/* 802E1FF8 80 1D 01 94 */ lwz r0, 0x194(r29) -/* 802E1FFC 90 0D 8F A4 */ stw r0, fpscr__12JUTException(r13) -/* 802E2000 7F A3 EB 78 */ mr r3, r29 -/* 802E2004 48 05 A4 51 */ bl OSFillFPUContext -/* 802E2008 7F 83 E3 78 */ mr r3, r28 -/* 802E200C 38 80 00 00 */ li r4, 0 -/* 802E2010 48 05 A5 71 */ bl OSSetErrorHandler -/* 802E2014 57 80 04 3E */ clrlwi r0, r28, 0x10 -/* 802E2018 28 00 00 0F */ cmplwi r0, 0xf -/* 802E201C 40 82 00 54 */ bne lbl_802E2070 -/* 802E2020 38 60 00 00 */ li r3, 0 -/* 802E2024 38 80 00 00 */ li r4, 0 -/* 802E2028 38 A0 00 00 */ li r5, 0 -/* 802E202C 38 C0 00 03 */ li r6, 3 -/* 802E2030 48 05 CC E5 */ bl OSProtectRange -/* 802E2034 38 60 00 01 */ li r3, 1 -/* 802E2038 38 80 00 00 */ li r4, 0 -/* 802E203C 38 A0 00 00 */ li r5, 0 -/* 802E2040 38 C0 00 03 */ li r6, 3 -/* 802E2044 48 05 CC D1 */ bl OSProtectRange -/* 802E2048 38 60 00 02 */ li r3, 2 -/* 802E204C 38 80 00 00 */ li r4, 0 -/* 802E2050 38 A0 00 00 */ li r5, 0 -/* 802E2054 38 C0 00 03 */ li r6, 3 -/* 802E2058 48 05 CC BD */ bl OSProtectRange -/* 802E205C 38 60 00 03 */ li r3, 3 -/* 802E2060 38 80 00 00 */ li r4, 0 -/* 802E2064 38 A0 00 00 */ li r5, 0 -/* 802E2068 38 C0 00 03 */ li r6, 3 -/* 802E206C 48 05 CC A9 */ bl OSProtectRange -lbl_802E2070: -/* 802E2070 80 0D 8F 8C */ lwz r0, sPreUserCallback__12JUTException(r13) -/* 802E2074 3C 60 80 43 */ lis r3, exCallbackObject@ha /* 0x80434578@ha */ -/* 802E2078 38 83 45 78 */ addi r4, r3, exCallbackObject@l /* 0x80434578@l */ -/* 802E207C 90 04 00 00 */ stw r0, 0(r4) -/* 802E2080 B3 84 00 04 */ sth r28, 4(r4) -/* 802E2084 93 A4 00 08 */ stw r29, 8(r4) -/* 802E2088 93 C4 00 0C */ stw r30, 0xc(r4) -/* 802E208C 93 E4 00 10 */ stw r31, 0x10(r4) -/* 802E2090 3C 60 80 3D */ lis r3, sMessageQueue__12JUTException@ha /* 0x803CC620@ha */ -/* 802E2094 38 63 C6 20 */ addi r3, r3, sMessageQueue__12JUTException@l /* 0x803CC620@l */ -/* 802E2098 38 A0 00 01 */ li r5, 1 -/* 802E209C 48 05 C9 59 */ bl OSSendMessage -/* 802E20A0 48 05 EC 65 */ bl OSEnableScheduler -/* 802E20A4 48 05 F1 AD */ bl OSYieldThread -/* 802E20A8 39 61 00 20 */ addi r11, r1, 0x20 -/* 802E20AC 48 08 01 79 */ bl _restgpr_28 -/* 802E20B0 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802E20B4 7C 08 03 A6 */ mtlr r0 -/* 802E20B8 38 21 00 20 */ addi r1, r1, 0x20 -/* 802E20BC 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTException/func_802E4194.s b/asm/JSystem/JUtility/JUTException/func_802E4194.s deleted file mode 100644 index e3f91da2d13..00000000000 --- a/asm/JSystem/JUtility/JUTException/func_802E4194.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_802E4194: -/* 802E4194 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802E4198 7C 08 02 A6 */ mflr r0 -/* 802E419C 90 01 00 14 */ stw r0, 0x14(r1) -/* 802E41A0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802E41A4 93 C1 00 08 */ stw r30, 8(r1) -/* 802E41A8 7C 7E 1B 79 */ or. r30, r3, r3 -/* 802E41AC 7C 9F 23 78 */ mr r31, r4 -/* 802E41B0 41 82 00 1C */ beq lbl_802E41CC -/* 802E41B4 38 80 00 00 */ li r4, 0 -/* 802E41B8 4B FF 7C F5 */ bl __dt__10JSUPtrListFv -/* 802E41BC 7F E0 07 35 */ extsh. r0, r31 -/* 802E41C0 40 81 00 0C */ ble lbl_802E41CC -/* 802E41C4 7F C3 F3 78 */ mr r3, r30 -/* 802E41C8 4B FE AB 75 */ bl __dl__FPv -lbl_802E41CC: -/* 802E41CC 7F C3 F3 78 */ mr r3, r30 -/* 802E41D0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802E41D4 83 C1 00 08 */ lwz r30, 8(r1) -/* 802E41D8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802E41DC 7C 08 03 A6 */ mtlr r0 -/* 802E41E0 38 21 00 10 */ addi r1, r1, 0x10 -/* 802E41E4 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTException/isEnablePad__12JUTExceptionCFv.s b/asm/JSystem/JUtility/JUTException/isEnablePad__12JUTExceptionCFv.s deleted file mode 100644 index cf06205eec4..00000000000 --- a/asm/JSystem/JUtility/JUTException/isEnablePad__12JUTExceptionCFv.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_802E2F18: -/* 802E2F18 80 83 00 84 */ lwz r4, 0x84(r3) -/* 802E2F1C 3C 04 00 01 */ addis r0, r4, 1 -/* 802E2F20 28 00 FF FF */ cmplwi r0, 0xffff -/* 802E2F24 40 82 00 0C */ bne lbl_802E2F30 -/* 802E2F28 38 60 00 01 */ li r3, 1 -/* 802E2F2C 4E 80 00 20 */ blr -lbl_802E2F30: -/* 802E2F30 80 03 00 88 */ lwz r0, 0x88(r3) -/* 802E2F34 2C 00 00 00 */ cmpwi r0, 0 -/* 802E2F38 41 80 00 0C */ blt lbl_802E2F44 -/* 802E2F3C 38 60 00 01 */ li r3, 1 -/* 802E2F40 4E 80 00 20 */ blr -lbl_802E2F44: -/* 802E2F44 30 04 FF FF */ addic r0, r4, -1 -/* 802E2F48 7C 00 21 10 */ subfe r0, r0, r4 -/* 802E2F4C 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 802E2F50 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTException/panic_f__12JUTExceptionFPCciPCce.s b/asm/JSystem/JUtility/JUTException/panic_f__12JUTExceptionFPCciPCce.s deleted file mode 100644 index 9c39f48233a..00000000000 --- a/asm/JSystem/JUtility/JUTException/panic_f__12JUTExceptionFPCciPCce.s +++ /dev/null @@ -1,34 +0,0 @@ -lbl_802E21FC: -/* 802E21FC 94 21 FF 80 */ stwu r1, -0x80(r1) -/* 802E2200 7C 08 02 A6 */ mflr r0 -/* 802E2204 90 01 00 84 */ stw r0, 0x84(r1) -/* 802E2208 40 86 00 24 */ bne cr1, lbl_802E222C -/* 802E220C D8 21 00 28 */ stfd f1, 0x28(r1) -/* 802E2210 D8 41 00 30 */ stfd f2, 0x30(r1) -/* 802E2214 D8 61 00 38 */ stfd f3, 0x38(r1) -/* 802E2218 D8 81 00 40 */ stfd f4, 0x40(r1) -/* 802E221C D8 A1 00 48 */ stfd f5, 0x48(r1) -/* 802E2220 D8 C1 00 50 */ stfd f6, 0x50(r1) -/* 802E2224 D8 E1 00 58 */ stfd f7, 0x58(r1) -/* 802E2228 D9 01 00 60 */ stfd f8, 0x60(r1) -lbl_802E222C: -/* 802E222C 90 61 00 08 */ stw r3, 8(r1) -/* 802E2230 90 81 00 0C */ stw r4, 0xc(r1) -/* 802E2234 90 A1 00 10 */ stw r5, 0x10(r1) -/* 802E2238 90 C1 00 14 */ stw r6, 0x14(r1) -/* 802E223C 90 E1 00 18 */ stw r7, 0x18(r1) -/* 802E2240 91 01 00 1C */ stw r8, 0x1c(r1) -/* 802E2244 91 21 00 20 */ stw r9, 0x20(r1) -/* 802E2248 91 41 00 24 */ stw r10, 0x24(r1) -/* 802E224C 38 C1 00 68 */ addi r6, r1, 0x68 -/* 802E2250 3C 00 03 00 */ lis r0, 0x300 -/* 802E2254 90 01 00 68 */ stw r0, 0x68(r1) -/* 802E2258 38 01 00 88 */ addi r0, r1, 0x88 -/* 802E225C 90 01 00 6C */ stw r0, 0x6c(r1) -/* 802E2260 38 01 00 08 */ addi r0, r1, 8 -/* 802E2264 90 01 00 70 */ stw r0, 0x70(r1) -/* 802E2268 4B FF FE 59 */ bl panic_f_va__12JUTExceptionFPCciPCcP16__va_list_struct -/* 802E226C 80 01 00 84 */ lwz r0, 0x84(r1) -/* 802E2270 7C 08 03 A6 */ mtlr r0 -/* 802E2274 38 21 00 80 */ addi r1, r1, 0x80 -/* 802E2278 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTException/panic_f_va__12JUTExceptionFPCciPCcP16__va_list_struct.s b/asm/JSystem/JUtility/JUTException/panic_f_va__12JUTExceptionFPCciPCcP16__va_list_struct.s deleted file mode 100644 index 1b9d731858e..00000000000 --- a/asm/JSystem/JUtility/JUTException/panic_f_va__12JUTExceptionFPCciPCcP16__va_list_struct.s +++ /dev/null @@ -1,84 +0,0 @@ -lbl_802E20C0: -/* 802E20C0 94 21 FE F0 */ stwu r1, -0x110(r1) -/* 802E20C4 7C 08 02 A6 */ mflr r0 -/* 802E20C8 90 01 01 14 */ stw r0, 0x114(r1) -/* 802E20CC 93 E1 01 0C */ stw r31, 0x10c(r1) -/* 802E20D0 93 C1 01 08 */ stw r30, 0x108(r1) -/* 802E20D4 7C 7E 1B 78 */ mr r30, r3 -/* 802E20D8 7C 9F 23 78 */ mr r31, r4 -/* 802E20DC 38 61 00 08 */ addi r3, r1, 8 -/* 802E20E0 38 80 00 FF */ li r4, 0xff -/* 802E20E4 48 08 45 AD */ bl vsnprintf -/* 802E20E8 80 0D 8F 88 */ lwz r0, sErrorManager__12JUTException(r13) -/* 802E20EC 28 00 00 00 */ cmplwi r0, 0 -/* 802E20F0 40 82 00 18 */ bne lbl_802E2108 -/* 802E20F4 7F C3 F3 78 */ mr r3, r30 -/* 802E20F8 7F E4 FB 78 */ mr r4, r31 -/* 802E20FC 38 A1 00 08 */ addi r5, r1, 8 -/* 802E2100 4C C6 31 82 */ crclr 6 -/* 802E2104 4B D2 4D 79 */ bl OSPanic -lbl_802E2108: -/* 802E2108 48 05 9D 8D */ bl OSGetCurrentContext -/* 802E210C 7C 64 1B 78 */ mr r4, r3 -/* 802E2110 3C 60 80 43 */ lis r3, context@ha /* 0x804345A8@ha */ -/* 802E2114 38 63 45 A8 */ addi r3, r3, context@l /* 0x804345A8@l */ -/* 802E2118 38 A0 02 C8 */ li r5, 0x2c8 -/* 802E211C 4B D2 14 25 */ bl memcpy -/* 802E2120 48 05 9E D9 */ bl OSGetStackPointer -/* 802E2124 80 8D 8F 88 */ lwz r4, sErrorManager__12JUTException(r13) -/* 802E2128 90 64 00 A0 */ stw r3, 0xa0(r4) -/* 802E212C 80 0D 8F 8C */ lwz r0, sPreUserCallback__12JUTException(r13) -/* 802E2130 3C 60 80 43 */ lis r3, exCallbackObject@ha /* 0x80434578@ha */ -/* 802E2134 38 83 45 78 */ addi r4, r3, exCallbackObject@l /* 0x80434578@l */ -/* 802E2138 90 04 00 00 */ stw r0, 0(r4) -/* 802E213C 38 00 00 FF */ li r0, 0xff -/* 802E2140 B0 04 00 04 */ sth r0, 4(r4) -/* 802E2144 3C 60 80 43 */ lis r3, context@ha /* 0x804345A8@ha */ -/* 802E2148 38 03 45 A8 */ addi r0, r3, context@l /* 0x804345A8@l */ -/* 802E214C 90 04 00 08 */ stw r0, 8(r4) -/* 802E2150 38 00 00 00 */ li r0, 0 -/* 802E2154 90 04 00 0C */ stw r0, 0xc(r4) -/* 802E2158 90 04 00 10 */ stw r0, 0x10(r4) -/* 802E215C 80 6D 8F 9C */ lwz r3, sConsole__12JUTException(r13) -/* 802E2160 28 03 00 00 */ cmplwi r3, 0 -/* 802E2164 41 82 00 14 */ beq lbl_802E2178 -/* 802E2168 41 82 00 30 */ beq lbl_802E2198 -/* 802E216C 80 03 00 58 */ lwz r0, 0x58(r3) -/* 802E2170 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e -/* 802E2174 40 82 00 24 */ bne lbl_802E2198 -lbl_802E2178: -/* 802E2178 3C 60 80 3A */ lis r3, JUTException__stringBase0@ha /* 0x8039D490@ha */ -/* 802E217C 38 63 D4 90 */ addi r3, r3, JUTException__stringBase0@l /* 0x8039D490@l */ -/* 802E2180 38 63 00 C2 */ addi r3, r3, 0xc2 -/* 802E2184 38 81 00 08 */ addi r4, r1, 8 -/* 802E2188 7F C5 F3 78 */ mr r5, r30 -/* 802E218C 7F E6 FB 78 */ mr r6, r31 -/* 802E2190 4C C6 31 82 */ crclr 6 -/* 802E2194 4B D2 49 29 */ bl OSReport -lbl_802E2198: -/* 802E2198 80 6D 8F 9C */ lwz r3, sConsole__12JUTException(r13) -/* 802E219C 28 03 00 00 */ cmplwi r3, 0 -/* 802E21A0 41 82 00 24 */ beq lbl_802E21C4 -/* 802E21A4 3C 80 80 3A */ lis r4, JUTException__stringBase0@ha /* 0x8039D490@ha */ -/* 802E21A8 38 84 D4 90 */ addi r4, r4, JUTException__stringBase0@l /* 0x8039D490@l */ -/* 802E21AC 38 84 00 C2 */ addi r4, r4, 0xc2 -/* 802E21B0 38 A1 00 08 */ addi r5, r1, 8 -/* 802E21B4 7F C6 F3 78 */ mr r6, r30 -/* 802E21B8 7F E7 FB 78 */ mr r7, r31 -/* 802E21BC 4C C6 31 82 */ crclr 6 -/* 802E21C0 48 00 59 F9 */ bl print_f__10JUTConsoleFPCce -lbl_802E21C4: -/* 802E21C4 3C 60 80 3D */ lis r3, sMessageQueue__12JUTException@ha /* 0x803CC620@ha */ -/* 802E21C8 38 63 C6 20 */ addi r3, r3, sMessageQueue__12JUTException@l /* 0x803CC620@l */ -/* 802E21CC 3C 80 80 43 */ lis r4, exCallbackObject@ha /* 0x80434578@ha */ -/* 802E21D0 38 84 45 78 */ addi r4, r4, exCallbackObject@l /* 0x80434578@l */ -/* 802E21D4 38 A0 00 01 */ li r5, 1 -/* 802E21D8 48 05 C8 1D */ bl OSSendMessage -/* 802E21DC 48 05 EA A9 */ bl OSGetCurrentThread -/* 802E21E0 48 05 F8 5D */ bl OSSuspendThread -/* 802E21E4 83 E1 01 0C */ lwz r31, 0x10c(r1) -/* 802E21E8 83 C1 01 08 */ lwz r30, 0x108(r1) -/* 802E21EC 80 01 01 14 */ lwz r0, 0x114(r1) -/* 802E21F0 7C 08 03 A6 */ mtlr r0 -/* 802E21F4 38 21 01 10 */ addi r1, r1, 0x110 -/* 802E21F8 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTException/printContext__12JUTExceptionFUsP9OSContextUlUl.s b/asm/JSystem/JUtility/JUTException/printContext__12JUTExceptionFUsP9OSContextUlUl.s deleted file mode 100644 index d29a0633c68..00000000000 --- a/asm/JSystem/JUtility/JUTException/printContext__12JUTExceptionFUsP9OSContextUlUl.s +++ /dev/null @@ -1,335 +0,0 @@ -lbl_802E34C0: -/* 802E34C0 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 802E34C4 7C 08 02 A6 */ mflr r0 -/* 802E34C8 90 01 00 44 */ stw r0, 0x44(r1) -/* 802E34CC 39 61 00 40 */ addi r11, r1, 0x40 -/* 802E34D0 48 07 EC F1 */ bl _savegpr_22 -/* 802E34D4 7C 79 1B 78 */ mr r25, r3 -/* 802E34D8 7C 9A 23 78 */ mr r26, r4 -/* 802E34DC 7C BB 2B 78 */ mr r27, r5 -/* 802E34E0 7C DC 33 78 */ mr r28, r6 -/* 802E34E4 7C FD 3B 78 */ mr r29, r7 -/* 802E34E8 4B FF FA 31 */ bl isEnablePad__12JUTExceptionCFv -/* 802E34EC 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 802E34F0 7C 00 00 34 */ cntlzw r0, r0 -/* 802E34F4 54 1F D9 7E */ srwi r31, r0, 5 -/* 802E34F8 80 6D 8F 88 */ lwz r3, sErrorManager__12JUTException(r13) -/* 802E34FC 80 63 00 80 */ lwz r3, 0x80(r3) -/* 802E3500 80 03 00 00 */ lwz r0, 0(r3) -/* 802E3504 28 00 00 00 */ cmplwi r0, 0 -/* 802E3508 41 82 04 60 */ beq lbl_802E3968 -/* 802E350C 38 60 00 00 */ li r3, 0 -/* 802E3510 48 06 8C D1 */ bl VISetPreRetraceCallback -/* 802E3514 38 60 00 00 */ li r3, 0 -/* 802E3518 48 06 8D 0D */ bl VISetPostRetraceCallback -/* 802E351C 38 60 00 00 */ li r3, 0 -/* 802E3520 48 06 A3 21 */ bl VISetBlack -/* 802E3524 48 06 A1 71 */ bl VIFlush -/* 802E3528 80 6D 8F 9C */ lwz r3, sConsole__12JUTException(r13) -/* 802E352C 28 03 00 00 */ cmplwi r3, 0 -/* 802E3530 41 82 04 38 */ beq lbl_802E3968 -/* 802E3534 57 40 04 3E */ clrlwi r0, r26, 0x10 -/* 802E3538 28 00 00 11 */ cmplwi r0, 0x11 -/* 802E353C 40 80 00 20 */ bge lbl_802E355C -/* 802E3540 3C 80 80 3A */ lis r4, JUTException__stringBase0@ha /* 0x8039D490@ha */ -/* 802E3544 38 84 D4 90 */ addi r4, r4, JUTException__stringBase0@l /* 0x8039D490@l */ -/* 802E3548 38 84 04 63 */ addi r4, r4, 0x463 -/* 802E354C 80 B9 00 7C */ lwz r5, 0x7c(r25) -/* 802E3550 4C C6 31 82 */ crclr 6 -/* 802E3554 48 00 46 65 */ bl print_f__10JUTConsoleFPCce -/* 802E3558 48 00 00 1C */ b lbl_802E3574 -lbl_802E355C: -/* 802E355C 3C 80 80 3A */ lis r4, JUTException__stringBase0@ha /* 0x8039D490@ha */ -/* 802E3560 38 84 D4 90 */ addi r4, r4, JUTException__stringBase0@l /* 0x8039D490@l */ -/* 802E3564 38 84 04 9A */ addi r4, r4, 0x49a -/* 802E3568 80 B9 00 7C */ lwz r5, 0x7c(r25) -/* 802E356C 4C C6 31 82 */ crclr 6 -/* 802E3570 48 00 46 49 */ bl print_f__10JUTConsoleFPCce -lbl_802E3574: -/* 802E3574 3B C0 00 00 */ li r30, 0 -/* 802E3578 3C 60 80 3A */ lis r3, JUTException__stringBase0@ha /* 0x8039D490@ha */ -/* 802E357C 3A E3 D4 90 */ addi r23, r3, JUTException__stringBase0@l /* 0x8039D490@l */ -/* 802E3580 57 F8 06 3E */ clrlwi r24, r31, 0x18 -lbl_802E3584: -/* 802E3584 7F 23 CB 78 */ mr r3, r25 -/* 802E3588 7F 44 D3 78 */ mr r4, r26 -/* 802E358C 7F 65 DB 78 */ mr r5, r27 -/* 802E3590 7F 86 E3 78 */ mr r6, r28 -/* 802E3594 7F A7 EB 78 */ mr r7, r29 -/* 802E3598 4B FF F2 19 */ bl showMainInfo__12JUTExceptionFUsP9OSContextUlUl -/* 802E359C 80 6D 8F F0 */ lwz r3, sManager__17JUTConsoleManager(r13) -/* 802E35A0 38 80 00 01 */ li r4, 1 -/* 802E35A4 48 00 4E AD */ bl drawDirect__17JUTConsoleManagerCFb -/* 802E35A8 80 79 00 8C */ lwz r3, 0x8c(r25) -/* 802E35AC 48 00 03 D5 */ bl waitTime__12JUTExceptionFl -/* 802E35B0 80 19 00 9C */ lwz r0, 0x9c(r25) -/* 802E35B4 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 802E35B8 41 82 00 34 */ beq lbl_802E35EC -/* 802E35BC 7F 23 CB 78 */ mr r3, r25 -/* 802E35C0 38 80 00 01 */ li r4, 1 -/* 802E35C4 7F 45 D3 78 */ mr r5, r26 -/* 802E35C8 7F 66 DB 78 */ mr r6, r27 -/* 802E35CC 7F 87 E3 78 */ mr r7, r28 -/* 802E35D0 7F A8 EB 78 */ mr r8, r29 -/* 802E35D4 4B FF F8 9D */ bl printDebugInfo__12JUTExceptionFQ212JUTException9EInfoPageUsP9OSContextUlUl -/* 802E35D8 80 6D 8F F0 */ lwz r3, sManager__17JUTConsoleManager(r13) -/* 802E35DC 38 80 00 01 */ li r4, 1 -/* 802E35E0 48 00 4E 71 */ bl drawDirect__17JUTConsoleManagerCFb -/* 802E35E4 80 79 00 8C */ lwz r3, 0x8c(r25) -/* 802E35E8 48 00 03 99 */ bl waitTime__12JUTExceptionFl -lbl_802E35EC: -/* 802E35EC 80 19 00 9C */ lwz r0, 0x9c(r25) -/* 802E35F0 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d -/* 802E35F4 41 82 00 34 */ beq lbl_802E3628 -/* 802E35F8 7F 23 CB 78 */ mr r3, r25 -/* 802E35FC 38 80 00 05 */ li r4, 5 -/* 802E3600 7F 45 D3 78 */ mr r5, r26 -/* 802E3604 7F 66 DB 78 */ mr r6, r27 -/* 802E3608 7F 87 E3 78 */ mr r7, r28 -/* 802E360C 7F A8 EB 78 */ mr r8, r29 -/* 802E3610 4B FF F8 61 */ bl printDebugInfo__12JUTExceptionFQ212JUTException9EInfoPageUsP9OSContextUlUl -/* 802E3614 80 6D 8F F0 */ lwz r3, sManager__17JUTConsoleManager(r13) -/* 802E3618 38 80 00 01 */ li r4, 1 -/* 802E361C 48 00 4E 35 */ bl drawDirect__17JUTConsoleManagerCFb -/* 802E3620 80 79 00 8C */ lwz r3, 0x8c(r25) -/* 802E3624 48 00 03 5D */ bl waitTime__12JUTExceptionFl -lbl_802E3628: -/* 802E3628 80 19 00 9C */ lwz r0, 0x9c(r25) -/* 802E362C 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e -/* 802E3630 41 82 00 34 */ beq lbl_802E3664 -/* 802E3634 7F 23 CB 78 */ mr r3, r25 -/* 802E3638 38 80 00 04 */ li r4, 4 -/* 802E363C 7F 45 D3 78 */ mr r5, r26 -/* 802E3640 7F 66 DB 78 */ mr r6, r27 -/* 802E3644 7F 87 E3 78 */ mr r7, r28 -/* 802E3648 7F A8 EB 78 */ mr r8, r29 -/* 802E364C 4B FF F8 25 */ bl printDebugInfo__12JUTExceptionFQ212JUTException9EInfoPageUsP9OSContextUlUl -/* 802E3650 80 6D 8F F0 */ lwz r3, sManager__17JUTConsoleManager(r13) -/* 802E3654 38 80 00 01 */ li r4, 1 -/* 802E3658 48 00 4D F9 */ bl drawDirect__17JUTConsoleManagerCFb -/* 802E365C 80 79 00 8C */ lwz r3, 0x8c(r25) -/* 802E3660 48 00 03 21 */ bl waitTime__12JUTExceptionFl -lbl_802E3664: -/* 802E3664 80 19 00 9C */ lwz r0, 0x9c(r25) -/* 802E3668 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 802E366C 41 82 00 34 */ beq lbl_802E36A0 -/* 802E3670 7F 23 CB 78 */ mr r3, r25 -/* 802E3674 38 80 00 02 */ li r4, 2 -/* 802E3678 7F 45 D3 78 */ mr r5, r26 -/* 802E367C 7F 66 DB 78 */ mr r6, r27 -/* 802E3680 7F 87 E3 78 */ mr r7, r28 -/* 802E3684 7F A8 EB 78 */ mr r8, r29 -/* 802E3688 4B FF F7 E9 */ bl printDebugInfo__12JUTExceptionFQ212JUTException9EInfoPageUsP9OSContextUlUl -/* 802E368C 80 6D 8F F0 */ lwz r3, sManager__17JUTConsoleManager(r13) -/* 802E3690 38 80 00 01 */ li r4, 1 -/* 802E3694 48 00 4D BD */ bl drawDirect__17JUTConsoleManagerCFb -/* 802E3698 80 79 00 8C */ lwz r3, 0x8c(r25) -/* 802E369C 48 00 02 E5 */ bl waitTime__12JUTExceptionFl -lbl_802E36A0: -/* 802E36A0 80 19 00 9C */ lwz r0, 0x9c(r25) -/* 802E36A4 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b -/* 802E36A8 41 82 00 34 */ beq lbl_802E36DC -/* 802E36AC 7F 23 CB 78 */ mr r3, r25 -/* 802E36B0 38 80 00 03 */ li r4, 3 -/* 802E36B4 7F 45 D3 78 */ mr r5, r26 -/* 802E36B8 7F 66 DB 78 */ mr r6, r27 -/* 802E36BC 7F 87 E3 78 */ mr r7, r28 -/* 802E36C0 7F A8 EB 78 */ mr r8, r29 -/* 802E36C4 4B FF F7 AD */ bl printDebugInfo__12JUTExceptionFQ212JUTException9EInfoPageUsP9OSContextUlUl -/* 802E36C8 80 6D 8F F0 */ lwz r3, sManager__17JUTConsoleManager(r13) -/* 802E36CC 38 80 00 01 */ li r4, 1 -/* 802E36D0 48 00 4D 81 */ bl drawDirect__17JUTConsoleManagerCFb -/* 802E36D4 80 79 00 90 */ lwz r3, 0x90(r25) -/* 802E36D8 48 00 02 A9 */ bl waitTime__12JUTExceptionFl -lbl_802E36DC: -/* 802E36DC 80 6D 8F 9C */ lwz r3, sConsole__12JUTException(r13) -/* 802E36E0 38 97 04 C7 */ addi r4, r23, 0x4c7 -/* 802E36E4 48 00 45 55 */ bl print__10JUTConsoleFPCc -/* 802E36E8 80 6D 8F F0 */ lwz r3, sManager__17JUTConsoleManager(r13) -/* 802E36EC 38 80 00 01 */ li r4, 1 -/* 802E36F0 48 00 4D 61 */ bl drawDirect__17JUTConsoleManagerCFb -/* 802E36F4 2C 1E 00 00 */ cmpwi r30, 0 -/* 802E36F8 40 82 00 40 */ bne lbl_802E3738 -/* 802E36FC 80 0D 8F 90 */ lwz r0, sPostUserCallback__12JUTException(r13) -/* 802E3700 28 00 00 00 */ cmplwi r0, 0 -/* 802E3704 41 82 00 34 */ beq lbl_802E3738 -/* 802E3708 48 05 A0 01 */ bl OSEnableInterrupts -/* 802E370C 7C 76 1B 78 */ mr r22, r3 -/* 802E3710 3B C0 00 01 */ li r30, 1 -/* 802E3714 7F 43 D3 78 */ mr r3, r26 -/* 802E3718 7F 64 DB 78 */ mr r4, r27 -/* 802E371C 7F 85 E3 78 */ mr r5, r28 -/* 802E3720 7F A6 EB 78 */ mr r6, r29 -/* 802E3724 81 8D 8F 90 */ lwz r12, sPostUserCallback__12JUTException(r13) -/* 802E3728 7D 89 03 A6 */ mtctr r12 -/* 802E372C 4E 80 04 21 */ bctrl -/* 802E3730 7E C3 B3 78 */ mr r3, r22 -/* 802E3734 48 05 9F E9 */ bl OSRestoreInterrupts -lbl_802E3738: -/* 802E3738 80 19 00 98 */ lwz r0, 0x98(r25) -/* 802E373C 28 00 00 00 */ cmplwi r0, 0 -/* 802E3740 41 82 00 20 */ beq lbl_802E3760 -/* 802E3744 28 18 00 00 */ cmplwi r24, 0 -/* 802E3748 41 82 00 18 */ beq lbl_802E3760 -/* 802E374C 80 6D 8F 9C */ lwz r3, sConsole__12JUTException(r13) -/* 802E3750 80 03 00 58 */ lwz r0, 0x58(r3) -/* 802E3754 54 00 07 FE */ clrlwi r0, r0, 0x1f -/* 802E3758 90 03 00 58 */ stw r0, 0x58(r3) -/* 802E375C 4B FF FE 28 */ b lbl_802E3584 -lbl_802E3760: -/* 802E3760 57 E0 06 3F */ clrlwi. r0, r31, 0x18 -/* 802E3764 40 82 01 44 */ bne lbl_802E38A8 -/* 802E3768 48 05 9F A1 */ bl OSEnableInterrupts -/* 802E376C 3A C0 00 00 */ li r22, 0 -/* 802E3770 3A E0 00 00 */ li r23, 0 -lbl_802E3774: -/* 802E3774 7F 23 CB 78 */ mr r3, r25 -/* 802E3778 38 81 00 08 */ addi r4, r1, 8 -/* 802E377C 38 A1 00 0C */ addi r5, r1, 0xc -/* 802E3780 4B FF F7 D5 */ bl readPad__12JUTExceptionFPUlPUl -/* 802E3784 38 60 00 00 */ li r3, 0 -/* 802E3788 80 01 00 08 */ lwz r0, 8(r1) -/* 802E378C 28 00 01 00 */ cmplwi r0, 0x100 -/* 802E3790 40 82 00 14 */ bne lbl_802E37A4 -/* 802E3794 80 6D 8F 9C */ lwz r3, sConsole__12JUTException(r13) -/* 802E3798 80 83 00 24 */ lwz r4, 0x24(r3) -/* 802E379C 48 00 49 0D */ bl scroll__10JUTConsoleFi -/* 802E37A0 38 60 00 01 */ li r3, 1 -lbl_802E37A4: -/* 802E37A4 80 01 00 08 */ lwz r0, 8(r1) -/* 802E37A8 28 00 02 00 */ cmplwi r0, 0x200 -/* 802E37AC 40 82 00 18 */ bne lbl_802E37C4 -/* 802E37B0 80 6D 8F 9C */ lwz r3, sConsole__12JUTException(r13) -/* 802E37B4 80 03 00 24 */ lwz r0, 0x24(r3) -/* 802E37B8 7C 80 00 D0 */ neg r4, r0 -/* 802E37BC 48 00 48 ED */ bl scroll__10JUTConsoleFi -/* 802E37C0 38 60 00 01 */ li r3, 1 -lbl_802E37C4: -/* 802E37C4 80 01 00 0C */ lwz r0, 0xc(r1) -/* 802E37C8 28 00 00 08 */ cmplwi r0, 8 -/* 802E37CC 40 82 00 4C */ bne lbl_802E3818 -/* 802E37D0 80 6D 8F 9C */ lwz r3, sConsole__12JUTException(r13) -/* 802E37D4 2C 16 00 03 */ cmpwi r22, 3 -/* 802E37D8 40 80 00 0C */ bge lbl_802E37E4 -/* 802E37DC 38 80 FF FF */ li r4, -1 -/* 802E37E0 48 00 00 24 */ b lbl_802E3804 -lbl_802E37E4: -/* 802E37E4 2C 16 00 05 */ cmpwi r22, 5 -/* 802E37E8 40 80 00 0C */ bge lbl_802E37F4 -/* 802E37EC 38 80 FF FE */ li r4, -2 -/* 802E37F0 48 00 00 14 */ b lbl_802E3804 -lbl_802E37F4: -/* 802E37F4 2C 16 00 07 */ cmpwi r22, 7 -/* 802E37F8 38 80 FF F8 */ li r4, -8 -/* 802E37FC 40 80 00 08 */ bge lbl_802E3804 -/* 802E3800 38 80 FF FC */ li r4, -4 -lbl_802E3804: -/* 802E3804 48 00 48 A5 */ bl scroll__10JUTConsoleFi -/* 802E3808 38 60 00 01 */ li r3, 1 -/* 802E380C 3A E0 00 00 */ li r23, 0 -/* 802E3810 3A D6 00 01 */ addi r22, r22, 1 -/* 802E3814 48 00 00 5C */ b lbl_802E3870 -lbl_802E3818: -/* 802E3818 28 00 00 04 */ cmplwi r0, 4 -/* 802E381C 40 82 00 4C */ bne lbl_802E3868 -/* 802E3820 80 6D 8F 9C */ lwz r3, sConsole__12JUTException(r13) -/* 802E3824 2C 17 00 03 */ cmpwi r23, 3 -/* 802E3828 40 80 00 0C */ bge lbl_802E3834 -/* 802E382C 38 80 00 01 */ li r4, 1 -/* 802E3830 48 00 00 24 */ b lbl_802E3854 -lbl_802E3834: -/* 802E3834 2C 17 00 05 */ cmpwi r23, 5 -/* 802E3838 40 80 00 0C */ bge lbl_802E3844 -/* 802E383C 38 80 00 02 */ li r4, 2 -/* 802E3840 48 00 00 14 */ b lbl_802E3854 -lbl_802E3844: -/* 802E3844 2C 17 00 07 */ cmpwi r23, 7 -/* 802E3848 38 80 00 08 */ li r4, 8 -/* 802E384C 40 80 00 08 */ bge lbl_802E3854 -/* 802E3850 38 80 00 04 */ li r4, 4 -lbl_802E3854: -/* 802E3854 48 00 48 55 */ bl scroll__10JUTConsoleFi -/* 802E3858 38 60 00 01 */ li r3, 1 -/* 802E385C 3A C0 00 00 */ li r22, 0 -/* 802E3860 3A F7 00 01 */ addi r23, r23, 1 -/* 802E3864 48 00 00 0C */ b lbl_802E3870 -lbl_802E3868: -/* 802E3868 3A C0 00 00 */ li r22, 0 -/* 802E386C 3A E0 00 00 */ li r23, 0 -lbl_802E3870: -/* 802E3870 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 802E3874 28 00 00 01 */ cmplwi r0, 1 -/* 802E3878 40 82 00 24 */ bne lbl_802E389C -/* 802E387C 48 06 A0 41 */ bl VIGetRetraceCount -/* 802E3880 7C 7A 1B 78 */ mr r26, r3 -lbl_802E3884: -/* 802E3884 48 06 A0 39 */ bl VIGetRetraceCount -/* 802E3888 7C 1A 18 40 */ cmplw r26, r3 -/* 802E388C 41 82 FF F8 */ beq lbl_802E3884 -/* 802E3890 80 6D 8F F0 */ lwz r3, sManager__17JUTConsoleManager(r13) -/* 802E3894 38 80 00 01 */ li r4, 1 -/* 802E3898 48 00 4B B9 */ bl drawDirect__17JUTConsoleManagerCFb -lbl_802E389C: -/* 802E389C 38 60 00 1E */ li r3, 0x1e -/* 802E38A0 48 00 00 E1 */ bl waitTime__12JUTExceptionFl -/* 802E38A4 4B FF FE D0 */ b lbl_802E3774 -lbl_802E38A8: -/* 802E38A8 80 6D 8F 9C */ lwz r3, sConsole__12JUTException(r13) -/* 802E38AC 80 03 00 24 */ lwz r0, 0x24(r3) -/* 802E38B0 7C 80 00 D0 */ neg r4, r0 -/* 802E38B4 48 00 47 F5 */ bl scroll__10JUTConsoleFi -/* 802E38B8 80 6D 8F F0 */ lwz r3, sManager__17JUTConsoleManager(r13) -/* 802E38BC 38 80 00 01 */ li r4, 1 -/* 802E38C0 48 00 4B 91 */ bl drawDirect__17JUTConsoleManagerCFb -/* 802E38C4 38 60 07 D0 */ li r3, 0x7d0 -/* 802E38C8 48 00 00 B9 */ bl waitTime__12JUTExceptionFl -lbl_802E38CC: -/* 802E38CC 80 6D 8F 9C */ lwz r3, sConsole__12JUTException(r13) -/* 802E38D0 82 C3 00 48 */ lwz r22, 0x48(r3) -/* 802E38D4 48 00 00 54 */ b lbl_802E3928 -lbl_802E38D8: -/* 802E38D8 80 6D 8F 9C */ lwz r3, sConsole__12JUTException(r13) -/* 802E38DC 38 80 00 01 */ li r4, 1 -/* 802E38E0 48 00 47 C9 */ bl scroll__10JUTConsoleFi -/* 802E38E4 80 6D 8F F0 */ lwz r3, sManager__17JUTConsoleManager(r13) -/* 802E38E8 38 80 00 01 */ li r4, 1 -/* 802E38EC 48 00 4B 65 */ bl drawDirect__17JUTConsoleManagerCFb -/* 802E38F0 83 0D 8F 9C */ lwz r24, sConsole__12JUTException(r13) -/* 802E38F4 82 F8 00 48 */ lwz r23, 0x48(r24) -/* 802E38F8 7F 03 C3 78 */ mr r3, r24 -/* 802E38FC 48 00 48 AD */ bl getLineOffset__10JUTConsoleCFv -/* 802E3900 7C 79 1B 78 */ mr r25, r3 -/* 802E3904 7F 03 C3 78 */ mr r3, r24 -/* 802E3908 48 00 48 7D */ bl getUsedLine__10JUTConsoleCFv -/* 802E390C 7C 77 18 50 */ subf r3, r23, r3 -/* 802E3910 38 03 00 01 */ addi r0, r3, 1 -/* 802E3914 7C 00 C8 40 */ cmplw r0, r25 -/* 802E3918 40 81 00 18 */ ble lbl_802E3930 -/* 802E391C 38 60 00 14 */ li r3, 0x14 -/* 802E3920 48 00 00 61 */ bl waitTime__12JUTExceptionFl -/* 802E3924 3A D6 FF FF */ addi r22, r22, -1 -lbl_802E3928: -/* 802E3928 28 16 00 00 */ cmplwi r22, 0 -/* 802E392C 40 82 FF AC */ bne lbl_802E38D8 -lbl_802E3930: -/* 802E3930 38 60 0B B8 */ li r3, 0xbb8 -/* 802E3934 48 00 00 4D */ bl waitTime__12JUTExceptionFl -/* 802E3938 83 0D 8F 9C */ lwz r24, sConsole__12JUTException(r13) -/* 802E393C 82 F8 00 48 */ lwz r23, 0x48(r24) -/* 802E3940 7F 03 C3 78 */ mr r3, r24 -/* 802E3944 48 00 48 65 */ bl getLineOffset__10JUTConsoleCFv -/* 802E3948 7C 79 1B 78 */ mr r25, r3 -/* 802E394C 7F 03 C3 78 */ mr r3, r24 -/* 802E3950 48 00 48 35 */ bl getUsedLine__10JUTConsoleCFv -/* 802E3954 7C 77 18 50 */ subf r3, r23, r3 -/* 802E3958 38 03 00 01 */ addi r0, r3, 1 -/* 802E395C 7C 00 C8 40 */ cmplw r0, r25 -/* 802E3960 40 81 FF 48 */ ble lbl_802E38A8 -/* 802E3964 4B FF FF 68 */ b lbl_802E38CC -lbl_802E3968: -/* 802E3968 39 61 00 40 */ addi r11, r1, 0x40 -/* 802E396C 48 07 E8 A1 */ bl _restgpr_22 -/* 802E3970 80 01 00 44 */ lwz r0, 0x44(r1) -/* 802E3974 7C 08 03 A6 */ mtlr r0 -/* 802E3978 38 21 00 40 */ addi r1, r1, 0x40 -/* 802E397C 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTException/printDebugInfo__12JUTExceptionFQ212JUTException9EInfoPageUsP9OSContextUlUl.s b/asm/JSystem/JUtility/JUTException/printDebugInfo__12JUTExceptionFQ212JUTException9EInfoPageUsP9OSContextUlUl.s deleted file mode 100644 index 873e9f89822..00000000000 --- a/asm/JSystem/JUtility/JUTException/printDebugInfo__12JUTExceptionFQ212JUTException9EInfoPageUsP9OSContextUlUl.s +++ /dev/null @@ -1,50 +0,0 @@ -lbl_802E2E70: -/* 802E2E70 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802E2E74 7C 08 02 A6 */ mflr r0 -/* 802E2E78 90 01 00 14 */ stw r0, 0x14(r1) -/* 802E2E7C 2C 04 00 03 */ cmpwi r4, 3 -/* 802E2E80 41 82 00 68 */ beq lbl_802E2EE8 -/* 802E2E84 40 80 00 14 */ bge lbl_802E2E98 -/* 802E2E88 2C 04 00 01 */ cmpwi r4, 1 -/* 802E2E8C 41 82 00 1C */ beq lbl_802E2EA8 -/* 802E2E90 40 80 00 24 */ bge lbl_802E2EB4 -/* 802E2E94 48 00 00 74 */ b lbl_802E2F08 -lbl_802E2E98: -/* 802E2E98 2C 04 00 05 */ cmpwi r4, 5 -/* 802E2E9C 41 82 00 64 */ beq lbl_802E2F00 -/* 802E2EA0 40 80 00 68 */ bge lbl_802E2F08 -/* 802E2EA4 48 00 00 50 */ b lbl_802E2EF4 -lbl_802E2EA8: -/* 802E2EA8 7C C4 33 78 */ mr r4, r6 -/* 802E2EAC 4B FF FB D9 */ bl showGPR__12JUTExceptionFP9OSContext -/* 802E2EB0 48 00 00 58 */ b lbl_802E2F08 -lbl_802E2EB4: -/* 802E2EB4 7C C4 33 78 */ mr r4, r6 -/* 802E2EB8 4B FF F5 9D */ bl showFloat__12JUTExceptionFP9OSContext -/* 802E2EBC 80 6D 8F 9C */ lwz r3, sConsole__12JUTException(r13) -/* 802E2EC0 28 03 00 00 */ cmplwi r3, 0 -/* 802E2EC4 41 82 00 44 */ beq lbl_802E2F08 -/* 802E2EC8 3C 80 80 3A */ lis r4, JUTException__stringBase0@ha /* 0x8039D490@ha */ -/* 802E2ECC 38 84 D4 90 */ addi r4, r4, JUTException__stringBase0@l /* 0x8039D490@l */ -/* 802E2ED0 38 84 04 4A */ addi r4, r4, 0x44a -/* 802E2ED4 80 AD 8F A0 */ lwz r5, msr__12JUTException(r13) -/* 802E2ED8 80 CD 8F A4 */ lwz r6, fpscr__12JUTException(r13) -/* 802E2EDC 4C C6 31 82 */ crclr 6 -/* 802E2EE0 48 00 4C D9 */ bl print_f__10JUTConsoleFPCce -/* 802E2EE4 48 00 00 24 */ b lbl_802E2F08 -lbl_802E2EE8: -/* 802E2EE8 7C C4 33 78 */ mr r4, r6 -/* 802E2EEC 4B FF F7 C5 */ bl showStack__12JUTExceptionFP9OSContext -/* 802E2EF0 48 00 00 18 */ b lbl_802E2F08 -lbl_802E2EF4: -/* 802E2EF4 7C C4 33 78 */ mr r4, r6 -/* 802E2EF8 4B FF FD A9 */ bl showGPRMap__12JUTExceptionFP9OSContext -/* 802E2EFC 48 00 00 0C */ b lbl_802E2F08 -lbl_802E2F00: -/* 802E2F00 7C C4 33 78 */ mr r4, r6 -/* 802E2F04 4B FF FE A9 */ bl showSRR0Map__12JUTExceptionFP9OSContext -lbl_802E2F08: -/* 802E2F08 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802E2F0C 7C 08 03 A6 */ mtlr r0 -/* 802E2F10 38 21 00 10 */ addi r1, r1, 0x10 -/* 802E2F14 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTException/queryMapAddress__12JUTExceptionFPcUllPUlPUlPcUlbb.s b/asm/JSystem/JUtility/JUTException/queryMapAddress__12JUTExceptionFPcUllPUlPUlPcUlbb.s deleted file mode 100644 index aff52d9a949..00000000000 --- a/asm/JSystem/JUtility/JUTException/queryMapAddress__12JUTExceptionFPcUllPUlPUlPcUlbb.s +++ /dev/null @@ -1,64 +0,0 @@ -lbl_802E3BA0: -/* 802E3BA0 94 21 FF 80 */ stwu r1, -0x80(r1) -/* 802E3BA4 7C 08 02 A6 */ mflr r0 -/* 802E3BA8 90 01 00 84 */ stw r0, 0x84(r1) -/* 802E3BAC 39 61 00 80 */ addi r11, r1, 0x80 -/* 802E3BB0 48 07 E6 19 */ bl _savegpr_24 -/* 802E3BB4 7C 60 1B 79 */ or. r0, r3, r3 -/* 802E3BB8 7C 98 23 78 */ mr r24, r4 -/* 802E3BBC 7C B9 2B 78 */ mr r25, r5 -/* 802E3BC0 7C DA 33 78 */ mr r26, r6 -/* 802E3BC4 7C FB 3B 78 */ mr r27, r7 -/* 802E3BC8 7D 1C 43 78 */ mr r28, r8 -/* 802E3BCC 7D 3D 4B 78 */ mr r29, r9 -/* 802E3BD0 7D 5E 53 78 */ mr r30, r10 -/* 802E3BD4 8B E1 00 8B */ lbz r31, 0x8b(r1) -/* 802E3BD8 41 82 00 60 */ beq lbl_802E3C38 -/* 802E3BDC 38 61 00 10 */ addi r3, r1, 0x10 -/* 802E3BE0 7C 04 03 78 */ mr r4, r0 -/* 802E3BE4 48 08 4F 49 */ bl strcpy -/* 802E3BE8 38 61 00 10 */ addi r3, r1, 0x10 -/* 802E3BEC 3C 80 80 3A */ lis r4, JUTException__stringBase0@ha /* 0x8039D490@ha */ -/* 802E3BF0 38 84 D4 90 */ addi r4, r4, JUTException__stringBase0@l /* 0x8039D490@l */ -/* 802E3BF4 38 84 04 E9 */ addi r4, r4, 0x4e9 -/* 802E3BF8 48 08 4E C5 */ bl strcat -/* 802E3BFC 93 E1 00 08 */ stw r31, 8(r1) -/* 802E3C00 38 61 00 10 */ addi r3, r1, 0x10 -/* 802E3C04 7F 04 C3 78 */ mr r4, r24 -/* 802E3C08 7F 25 CB 78 */ mr r5, r25 -/* 802E3C0C 7F 46 D3 78 */ mr r6, r26 -/* 802E3C10 7F 67 DB 78 */ mr r7, r27 -/* 802E3C14 7F 88 E3 78 */ mr r8, r28 -/* 802E3C18 7F A9 EB 78 */ mr r9, r29 -/* 802E3C1C 7F CA F3 78 */ mr r10, r30 -/* 802E3C20 48 00 00 71 */ bl queryMapAddress_single__12JUTExceptionFPcUllPUlPUlPcUlbb -/* 802E3C24 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 802E3C28 28 00 00 01 */ cmplwi r0, 1 -/* 802E3C2C 40 82 00 48 */ bne lbl_802E3C74 -/* 802E3C30 38 60 00 01 */ li r3, 1 -/* 802E3C34 48 00 00 44 */ b lbl_802E3C78 -lbl_802E3C38: -/* 802E3C38 3C 60 80 43 */ lis r3, sMapFileList__12JUTException@ha /* 0x80434598@ha */ -/* 802E3C3C 38 63 45 98 */ addi r3, r3, sMapFileList__12JUTException@l /* 0x80434598@l */ -/* 802E3C40 80 63 00 00 */ lwz r3, 0(r3) -/* 802E3C44 28 03 00 00 */ cmplwi r3, 0 -/* 802E3C48 41 82 00 2C */ beq lbl_802E3C74 -/* 802E3C4C 80 63 00 00 */ lwz r3, 0(r3) -/* 802E3C50 93 E1 00 08 */ stw r31, 8(r1) -/* 802E3C54 80 63 00 00 */ lwz r3, 0(r3) -/* 802E3C58 38 A0 FF FF */ li r5, -1 -/* 802E3C5C 48 00 00 35 */ bl queryMapAddress_single__12JUTExceptionFPcUllPUlPUlPcUlbb -/* 802E3C60 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 802E3C64 28 00 00 01 */ cmplwi r0, 1 -/* 802E3C68 40 82 00 0C */ bne lbl_802E3C74 -/* 802E3C6C 38 60 00 01 */ li r3, 1 -/* 802E3C70 48 00 00 08 */ b lbl_802E3C78 -lbl_802E3C74: -/* 802E3C74 38 60 00 00 */ li r3, 0 -lbl_802E3C78: -/* 802E3C78 39 61 00 80 */ addi r11, r1, 0x80 -/* 802E3C7C 48 07 E5 99 */ bl _restgpr_24 -/* 802E3C80 80 01 00 84 */ lwz r0, 0x84(r1) -/* 802E3C84 7C 08 03 A6 */ mtlr r0 -/* 802E3C88 38 21 00 80 */ addi r1, r1, 0x80 -/* 802E3C8C 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTException/readPad__12JUTExceptionFPUlPUl.s b/asm/JSystem/JUtility/JUTException/readPad__12JUTExceptionFPUlPUl.s deleted file mode 100644 index d132fd1c6b4..00000000000 --- a/asm/JSystem/JUtility/JUTException/readPad__12JUTExceptionFPUlPUl.s +++ /dev/null @@ -1,388 +0,0 @@ -lbl_802E2F54: -/* 802E2F54 94 21 FC 60 */ stwu r1, -0x3a0(r1) -/* 802E2F58 7C 08 02 A6 */ mflr r0 -/* 802E2F5C 90 01 03 A4 */ stw r0, 0x3a4(r1) -/* 802E2F60 39 61 03 A0 */ addi r11, r1, 0x3a0 -/* 802E2F64 48 07 F2 5D */ bl _savegpr_22 -/* 802E2F68 7C 7D 1B 78 */ mr r29, r3 -/* 802E2F6C 7C 99 23 78 */ mr r25, r4 -/* 802E2F70 7C B8 2B 78 */ mr r24, r5 -/* 802E2F74 3A E0 00 00 */ li r23, 0 -/* 802E2F78 48 05 F7 85 */ bl OSGetTime -/* 802E2F7C 7C 9C 23 78 */ mr r28, r4 -/* 802E2F80 7C 7B 1B 78 */ mr r27, r3 -/* 802E2F84 3F 40 80 00 */ lis r26, 0x8000 -lbl_802E2F88: -/* 802E2F88 48 05 F7 75 */ bl OSGetTime -/* 802E2F8C 7C 9C 20 10 */ subfc r4, r28, r4 -/* 802E2F90 7C 7B 19 10 */ subfe r3, r27, r3 -/* 802E2F94 80 1A 00 F8 */ lwz r0, 0xf8(r26) -/* 802E2F98 54 05 F0 BE */ srwi r5, r0, 2 -/* 802E2F9C 38 00 03 E8 */ li r0, 0x3e8 -/* 802E2FA0 7C C5 03 96 */ divwu r6, r5, r0 -/* 802E2FA4 38 A0 00 00 */ li r5, 0 -/* 802E2FA8 48 07 F3 7D */ bl __div2i -/* 802E2FAC 38 C0 00 32 */ li r6, 0x32 -/* 802E2FB0 38 00 00 00 */ li r0, 0 -/* 802E2FB4 6C 65 80 00 */ xoris r5, r3, 0x8000 -/* 802E2FB8 6C 03 80 00 */ xoris r3, r0, 0x8000 -/* 802E2FBC 7C 06 20 10 */ subfc r0, r6, r4 -/* 802E2FC0 7C 63 29 10 */ subfe r3, r3, r5 -/* 802E2FC4 7C 65 29 10 */ subfe r3, r5, r5 -/* 802E2FC8 7C 63 00 D1 */ neg. r3, r3 -/* 802E2FCC 40 82 FF BC */ bne lbl_802E2F88 -/* 802E2FD0 80 7D 00 84 */ lwz r3, 0x84(r29) -/* 802E2FD4 3C 03 00 01 */ addis r0, r3, 1 -/* 802E2FD8 28 00 FF FF */ cmplwi r0, 0xffff -/* 802E2FDC 40 82 03 A4 */ bne lbl_802E3380 -/* 802E2FE0 38 61 02 C8 */ addi r3, r1, 0x2c8 -/* 802E2FE4 38 80 00 00 */ li r4, 0 -/* 802E2FE8 4B FF D6 F5 */ bl __ct__10JUTGamePadFQ210JUTGamePad8EPadPort -/* 802E2FEC 38 61 02 18 */ addi r3, r1, 0x218 -/* 802E2FF0 38 80 00 01 */ li r4, 1 -/* 802E2FF4 4B FF D6 E9 */ bl __ct__10JUTGamePadFQ210JUTGamePad8EPadPort -/* 802E2FF8 38 61 01 68 */ addi r3, r1, 0x168 -/* 802E2FFC 38 80 00 02 */ li r4, 2 -/* 802E3000 4B FF D6 DD */ bl __ct__10JUTGamePadFQ210JUTGamePad8EPadPort -/* 802E3004 38 61 00 B8 */ addi r3, r1, 0xb8 -/* 802E3008 38 80 00 03 */ li r4, 3 -/* 802E300C 4B FF D6 D1 */ bl __ct__10JUTGamePadFQ210JUTGamePad8EPadPort -/* 802E3010 4B FF D8 D5 */ bl read__10JUTGamePadFv -/* 802E3014 38 60 00 00 */ li r3, 0 -/* 802E3018 A8 01 03 44 */ lha r0, 0x344(r1) -/* 802E301C 2C 00 FF FF */ cmpwi r0, -1 -/* 802E3020 41 82 00 14 */ beq lbl_802E3034 -/* 802E3024 88 01 03 60 */ lbz r0, 0x360(r1) -/* 802E3028 28 00 00 00 */ cmplwi r0, 0 -/* 802E302C 41 82 00 08 */ beq lbl_802E3034 -/* 802E3030 38 60 00 01 */ li r3, 1 -lbl_802E3034: -/* 802E3034 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 802E3038 41 82 00 34 */ beq lbl_802E306C -/* 802E303C 3C 60 80 3D */ lis r3, c3bcnt@ha /* 0x803CC640@ha */ -/* 802E3040 38 83 C6 40 */ addi r4, r3, c3bcnt@l /* 0x803CC640@l */ -/* 802E3044 80 64 00 00 */ lwz r3, 0(r4) -/* 802E3048 80 84 00 04 */ lwz r4, 4(r4) -/* 802E304C 38 00 00 00 */ li r0, 0 -/* 802E3050 7C 85 02 78 */ xor r5, r4, r0 -/* 802E3054 7C 60 02 78 */ xor r0, r3, r0 -/* 802E3058 7C A0 03 79 */ or. r0, r5, r0 -/* 802E305C 41 82 00 08 */ beq lbl_802E3064 -/* 802E3060 48 00 00 14 */ b lbl_802E3074 -lbl_802E3064: -/* 802E3064 48 05 F6 99 */ bl OSGetTime -/* 802E3068 48 00 00 0C */ b lbl_802E3074 -lbl_802E306C: -/* 802E306C 38 80 00 00 */ li r4, 0 -/* 802E3070 7C 83 23 78 */ mr r3, r4 -lbl_802E3074: -/* 802E3074 3C A0 80 3D */ lis r5, c3bcnt@ha /* 0x803CC640@ha */ -/* 802E3078 38 A5 C6 40 */ addi r5, r5, c3bcnt@l /* 0x803CC640@l */ -/* 802E307C 90 85 00 04 */ stw r4, 4(r5) -/* 802E3080 90 65 00 00 */ stw r3, 0(r5) -/* 802E3084 38 60 00 00 */ li r3, 0 -/* 802E3088 A8 01 02 94 */ lha r0, 0x294(r1) -/* 802E308C 2C 00 FF FF */ cmpwi r0, -1 -/* 802E3090 41 82 00 14 */ beq lbl_802E30A4 -/* 802E3094 88 01 02 B0 */ lbz r0, 0x2b0(r1) -/* 802E3098 28 00 00 00 */ cmplwi r0, 0 -/* 802E309C 41 82 00 08 */ beq lbl_802E30A4 -/* 802E30A0 38 60 00 01 */ li r3, 1 -lbl_802E30A4: -/* 802E30A4 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 802E30A8 41 82 00 34 */ beq lbl_802E30DC -/* 802E30AC 3C 60 80 3D */ lis r3, c3bcnt@ha /* 0x803CC640@ha */ -/* 802E30B0 38 83 C6 40 */ addi r4, r3, c3bcnt@l /* 0x803CC640@l */ -/* 802E30B4 80 64 00 08 */ lwz r3, 8(r4) -/* 802E30B8 80 84 00 0C */ lwz r4, 0xc(r4) -/* 802E30BC 38 00 00 00 */ li r0, 0 -/* 802E30C0 7C 85 02 78 */ xor r5, r4, r0 -/* 802E30C4 7C 60 02 78 */ xor r0, r3, r0 -/* 802E30C8 7C A0 03 79 */ or. r0, r5, r0 -/* 802E30CC 41 82 00 08 */ beq lbl_802E30D4 -/* 802E30D0 48 00 00 14 */ b lbl_802E30E4 -lbl_802E30D4: -/* 802E30D4 48 05 F6 29 */ bl OSGetTime -/* 802E30D8 48 00 00 0C */ b lbl_802E30E4 -lbl_802E30DC: -/* 802E30DC 38 80 00 00 */ li r4, 0 -/* 802E30E0 7C 83 23 78 */ mr r3, r4 -lbl_802E30E4: -/* 802E30E4 3C A0 80 3D */ lis r5, c3bcnt@ha /* 0x803CC640@ha */ -/* 802E30E8 3B 85 C6 40 */ addi r28, r5, c3bcnt@l /* 0x803CC640@l */ -/* 802E30EC 90 9C 00 0C */ stw r4, 0xc(r28) -/* 802E30F0 90 7C 00 08 */ stw r3, 8(r28) -/* 802E30F4 38 60 00 00 */ li r3, 0 -/* 802E30F8 A8 01 01 E4 */ lha r0, 0x1e4(r1) -/* 802E30FC 2C 00 FF FF */ cmpwi r0, -1 -/* 802E3100 41 82 00 14 */ beq lbl_802E3114 -/* 802E3104 88 01 02 00 */ lbz r0, 0x200(r1) -/* 802E3108 28 00 00 00 */ cmplwi r0, 0 -/* 802E310C 41 82 00 08 */ beq lbl_802E3114 -/* 802E3110 38 60 00 01 */ li r3, 1 -lbl_802E3114: -/* 802E3114 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 802E3118 41 82 00 34 */ beq lbl_802E314C -/* 802E311C 3C 60 80 3D */ lis r3, c3bcnt@ha /* 0x803CC640@ha */ -/* 802E3120 38 83 C6 40 */ addi r4, r3, c3bcnt@l /* 0x803CC640@l */ -/* 802E3124 80 64 00 10 */ lwz r3, 0x10(r4) -/* 802E3128 80 84 00 14 */ lwz r4, 0x14(r4) -/* 802E312C 38 00 00 00 */ li r0, 0 -/* 802E3130 7C 85 02 78 */ xor r5, r4, r0 -/* 802E3134 7C 60 02 78 */ xor r0, r3, r0 -/* 802E3138 7C A0 03 79 */ or. r0, r5, r0 -/* 802E313C 41 82 00 08 */ beq lbl_802E3144 -/* 802E3140 48 00 00 14 */ b lbl_802E3154 -lbl_802E3144: -/* 802E3144 48 05 F5 B9 */ bl OSGetTime -/* 802E3148 48 00 00 0C */ b lbl_802E3154 -lbl_802E314C: -/* 802E314C 38 80 00 00 */ li r4, 0 -/* 802E3150 7C 83 23 78 */ mr r3, r4 -lbl_802E3154: -/* 802E3154 3C A0 80 3D */ lis r5, c3bcnt@ha /* 0x803CC640@ha */ -/* 802E3158 3B A5 C6 40 */ addi r29, r5, c3bcnt@l /* 0x803CC640@l */ -/* 802E315C 90 9D 00 14 */ stw r4, 0x14(r29) -/* 802E3160 90 7D 00 10 */ stw r3, 0x10(r29) -/* 802E3164 38 60 00 00 */ li r3, 0 -/* 802E3168 A8 01 01 34 */ lha r0, 0x134(r1) -/* 802E316C 2C 00 FF FF */ cmpwi r0, -1 -/* 802E3170 41 82 00 14 */ beq lbl_802E3184 -/* 802E3174 88 01 01 50 */ lbz r0, 0x150(r1) -/* 802E3178 28 00 00 00 */ cmplwi r0, 0 -/* 802E317C 41 82 00 08 */ beq lbl_802E3184 -/* 802E3180 38 60 00 01 */ li r3, 1 -lbl_802E3184: -/* 802E3184 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 802E3188 41 82 00 34 */ beq lbl_802E31BC -/* 802E318C 3C 60 80 3D */ lis r3, c3bcnt@ha /* 0x803CC640@ha */ -/* 802E3190 38 83 C6 40 */ addi r4, r3, c3bcnt@l /* 0x803CC640@l */ -/* 802E3194 80 64 00 18 */ lwz r3, 0x18(r4) -/* 802E3198 80 84 00 1C */ lwz r4, 0x1c(r4) -/* 802E319C 38 00 00 00 */ li r0, 0 -/* 802E31A0 7C 85 02 78 */ xor r5, r4, r0 -/* 802E31A4 7C 60 02 78 */ xor r0, r3, r0 -/* 802E31A8 7C A0 03 79 */ or. r0, r5, r0 -/* 802E31AC 41 82 00 08 */ beq lbl_802E31B4 -/* 802E31B0 48 00 00 14 */ b lbl_802E31C4 -lbl_802E31B4: -/* 802E31B4 48 05 F5 49 */ bl OSGetTime -/* 802E31B8 48 00 00 0C */ b lbl_802E31C4 -lbl_802E31BC: -/* 802E31BC 38 80 00 00 */ li r4, 0 -/* 802E31C0 7C 83 23 78 */ mr r3, r4 -lbl_802E31C4: -/* 802E31C4 3C A0 80 3D */ lis r5, c3bcnt@ha /* 0x803CC640@ha */ -/* 802E31C8 3B E5 C6 40 */ addi r31, r5, c3bcnt@l /* 0x803CC640@l */ -/* 802E31CC 90 9F 00 1C */ stw r4, 0x1c(r31) -/* 802E31D0 90 7F 00 18 */ stw r3, 0x18(r31) -/* 802E31D4 80 1F 00 00 */ lwz r0, 0(r31) -/* 802E31D8 80 7F 00 04 */ lwz r3, 4(r31) -/* 802E31DC 3B C0 00 00 */ li r30, 0 -/* 802E31E0 7C 63 F2 78 */ xor r3, r3, r30 -/* 802E31E4 7C 00 F2 78 */ xor r0, r0, r30 -/* 802E31E8 7C 60 03 79 */ or. r0, r3, r0 -/* 802E31EC 41 82 00 20 */ beq lbl_802E320C -/* 802E31F0 48 05 F5 0D */ bl OSGetTime -/* 802E31F4 3C A0 80 3D */ lis r5, c3bcnt@ha /* 0x803CC640@ha */ -/* 802E31F8 84 05 C6 40 */ lwzu r0, c3bcnt@l(r5) /* 0x803CC640@l */ -/* 802E31FC 80 A5 00 04 */ lwz r5, 4(r5) -/* 802E3200 7F C5 20 10 */ subfc r30, r5, r4 -/* 802E3204 7F 60 19 10 */ subfe r27, r0, r3 -/* 802E3208 48 00 00 08 */ b lbl_802E3210 -lbl_802E320C: -/* 802E320C 7F DB F3 78 */ mr r27, r30 -lbl_802E3210: -/* 802E3210 80 1C 00 08 */ lwz r0, 8(r28) -/* 802E3214 80 7C 00 0C */ lwz r3, 0xc(r28) -/* 802E3218 3B 40 00 00 */ li r26, 0 -/* 802E321C 7C 63 D2 78 */ xor r3, r3, r26 -/* 802E3220 7C 00 D2 78 */ xor r0, r0, r26 -/* 802E3224 7C 60 03 79 */ or. r0, r3, r0 -/* 802E3228 41 82 00 1C */ beq lbl_802E3244 -/* 802E322C 48 05 F4 D1 */ bl OSGetTime -/* 802E3230 80 1C 00 08 */ lwz r0, 8(r28) -/* 802E3234 80 BC 00 0C */ lwz r5, 0xc(r28) -/* 802E3238 7F 45 20 10 */ subfc r26, r5, r4 -/* 802E323C 7F 80 19 10 */ subfe r28, r0, r3 -/* 802E3240 48 00 00 08 */ b lbl_802E3248 -lbl_802E3244: -/* 802E3244 7F 5C D3 78 */ mr r28, r26 -lbl_802E3248: -/* 802E3248 80 1D 00 10 */ lwz r0, 0x10(r29) -/* 802E324C 80 7D 00 14 */ lwz r3, 0x14(r29) -/* 802E3250 3A E0 00 00 */ li r23, 0 -/* 802E3254 7C 63 BA 78 */ xor r3, r3, r23 -/* 802E3258 7C 00 BA 78 */ xor r0, r0, r23 -/* 802E325C 7C 60 03 79 */ or. r0, r3, r0 -/* 802E3260 41 82 00 1C */ beq lbl_802E327C -/* 802E3264 48 05 F4 99 */ bl OSGetTime -/* 802E3268 80 1D 00 10 */ lwz r0, 0x10(r29) -/* 802E326C 80 BD 00 14 */ lwz r5, 0x14(r29) -/* 802E3270 7E E5 20 10 */ subfc r23, r5, r4 -/* 802E3274 7F A0 19 10 */ subfe r29, r0, r3 -/* 802E3278 48 00 00 08 */ b lbl_802E3280 -lbl_802E327C: -/* 802E327C 7E FD BB 78 */ mr r29, r23 -lbl_802E3280: -/* 802E3280 80 1F 00 18 */ lwz r0, 0x18(r31) -/* 802E3284 80 7F 00 1C */ lwz r3, 0x1c(r31) -/* 802E3288 3A C0 00 00 */ li r22, 0 -/* 802E328C 7C 63 B2 78 */ xor r3, r3, r22 -/* 802E3290 7C 00 B2 78 */ xor r0, r0, r22 -/* 802E3294 7C 60 03 79 */ or. r0, r3, r0 -/* 802E3298 41 82 00 1C */ beq lbl_802E32B4 -/* 802E329C 48 05 F4 61 */ bl OSGetTime -/* 802E32A0 80 1F 00 18 */ lwz r0, 0x18(r31) -/* 802E32A4 80 BF 00 1C */ lwz r5, 0x1c(r31) -/* 802E32A8 7E C5 20 10 */ subfc r22, r5, r4 -/* 802E32AC 7F E0 19 10 */ subfe r31, r0, r3 -/* 802E32B0 48 00 00 08 */ b lbl_802E32B8 -lbl_802E32B4: -/* 802E32B4 7E DF B3 78 */ mr r31, r22 -lbl_802E32B8: -/* 802E32B8 38 61 02 C8 */ addi r3, r1, 0x2c8 -/* 802E32BC 7F C6 F3 78 */ mr r6, r30 -/* 802E32C0 7F 65 DB 78 */ mr r5, r27 -/* 802E32C4 4B FF D9 A9 */ bl checkResetCallback__10JUTGamePadFx -/* 802E32C8 38 61 02 18 */ addi r3, r1, 0x218 -/* 802E32CC 7F 46 D3 78 */ mr r6, r26 -/* 802E32D0 7F 85 E3 78 */ mr r5, r28 -/* 802E32D4 4B FF D9 99 */ bl checkResetCallback__10JUTGamePadFx -/* 802E32D8 38 61 01 68 */ addi r3, r1, 0x168 -/* 802E32DC 7E E6 BB 78 */ mr r6, r23 -/* 802E32E0 7F A5 EB 78 */ mr r5, r29 -/* 802E32E4 4B FF D9 89 */ bl checkResetCallback__10JUTGamePadFx -/* 802E32E8 38 61 00 B8 */ addi r3, r1, 0xb8 -/* 802E32EC 7E C6 B3 78 */ mr r6, r22 -/* 802E32F0 7F E5 FB 78 */ mr r5, r31 -/* 802E32F4 4B FF D9 79 */ bl checkResetCallback__10JUTGamePadFx -/* 802E32F8 28 19 00 00 */ cmplwi r25, 0 -/* 802E32FC 41 82 00 24 */ beq lbl_802E3320 -/* 802E3300 80 A1 00 D4 */ lwz r5, 0xd4(r1) -/* 802E3304 80 81 01 84 */ lwz r4, 0x184(r1) -/* 802E3308 80 61 02 E4 */ lwz r3, 0x2e4(r1) -/* 802E330C 80 01 02 34 */ lwz r0, 0x234(r1) -/* 802E3310 7C 60 03 78 */ or r0, r3, r0 -/* 802E3314 7C 80 03 78 */ or r0, r4, r0 -/* 802E3318 7C A0 03 78 */ or r0, r5, r0 -/* 802E331C 90 19 00 00 */ stw r0, 0(r25) -lbl_802E3320: -/* 802E3320 28 18 00 00 */ cmplwi r24, 0 -/* 802E3324 41 82 00 24 */ beq lbl_802E3348 -/* 802E3328 80 A1 00 D0 */ lwz r5, 0xd0(r1) -/* 802E332C 80 81 01 80 */ lwz r4, 0x180(r1) -/* 802E3330 80 61 02 E0 */ lwz r3, 0x2e0(r1) -/* 802E3334 80 01 02 30 */ lwz r0, 0x230(r1) -/* 802E3338 7C 60 03 78 */ or r0, r3, r0 -/* 802E333C 7C 80 03 78 */ or r0, r4, r0 -/* 802E3340 7C A0 03 78 */ or r0, r5, r0 -/* 802E3344 90 18 00 00 */ stw r0, 0(r24) -lbl_802E3348: -/* 802E3348 3A E0 00 01 */ li r23, 1 -/* 802E334C 38 61 00 B8 */ addi r3, r1, 0xb8 -/* 802E3350 38 80 FF FF */ li r4, -1 -/* 802E3354 4B FF D4 5D */ bl __dt__10JUTGamePadFv -/* 802E3358 38 61 01 68 */ addi r3, r1, 0x168 -/* 802E335C 38 80 FF FF */ li r4, -1 -/* 802E3360 4B FF D4 51 */ bl __dt__10JUTGamePadFv -/* 802E3364 38 61 02 18 */ addi r3, r1, 0x218 -/* 802E3368 38 80 FF FF */ li r4, -1 -/* 802E336C 4B FF D4 45 */ bl __dt__10JUTGamePadFv -/* 802E3370 38 61 02 C8 */ addi r3, r1, 0x2c8 -/* 802E3374 38 80 FF FF */ li r4, -1 -/* 802E3378 4B FF D4 39 */ bl __dt__10JUTGamePadFv -/* 802E337C 48 00 01 28 */ b lbl_802E34A4 -lbl_802E3380: -/* 802E3380 80 9D 00 88 */ lwz r4, 0x88(r29) -/* 802E3384 2C 04 00 00 */ cmpwi r4, 0 -/* 802E3388 41 80 00 E4 */ blt lbl_802E346C -/* 802E338C 38 61 00 08 */ addi r3, r1, 8 -/* 802E3390 4B FF D3 4D */ bl __ct__10JUTGamePadFQ210JUTGamePad8EPadPort -/* 802E3394 3C 60 80 3D */ lis r3, c3bcnt@ha /* 0x803CC640@ha */ -/* 802E3398 3B 43 C6 40 */ addi r26, r3, c3bcnt@l /* 0x803CC640@l */ -/* 802E339C 38 60 00 00 */ li r3, 0 -/* 802E33A0 A8 01 00 84 */ lha r0, 0x84(r1) -/* 802E33A4 2C 00 FF FF */ cmpwi r0, -1 -/* 802E33A8 41 82 00 14 */ beq lbl_802E33BC -/* 802E33AC 88 01 00 A0 */ lbz r0, 0xa0(r1) -/* 802E33B0 28 00 00 00 */ cmplwi r0, 0 -/* 802E33B4 41 82 00 08 */ beq lbl_802E33BC -/* 802E33B8 38 60 00 01 */ li r3, 1 -lbl_802E33BC: -/* 802E33BC 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 802E33C0 41 82 00 2C */ beq lbl_802E33EC -/* 802E33C4 80 7A 00 00 */ lwz r3, 0(r26) -/* 802E33C8 80 9A 00 04 */ lwz r4, 4(r26) -/* 802E33CC 38 00 00 00 */ li r0, 0 -/* 802E33D0 7C 85 02 78 */ xor r5, r4, r0 -/* 802E33D4 7C 60 02 78 */ xor r0, r3, r0 -/* 802E33D8 7C A0 03 79 */ or. r0, r5, r0 -/* 802E33DC 41 82 00 08 */ beq lbl_802E33E4 -/* 802E33E0 48 00 00 14 */ b lbl_802E33F4 -lbl_802E33E4: -/* 802E33E4 48 05 F3 19 */ bl OSGetTime -/* 802E33E8 48 00 00 0C */ b lbl_802E33F4 -lbl_802E33EC: -/* 802E33EC 38 80 00 00 */ li r4, 0 -/* 802E33F0 7C 83 23 78 */ mr r3, r4 -lbl_802E33F4: -/* 802E33F4 90 9A 00 04 */ stw r4, 4(r26) -/* 802E33F8 90 7A 00 00 */ stw r3, 0(r26) -/* 802E33FC 38 C0 00 00 */ li r6, 0 -/* 802E3400 7C 84 32 78 */ xor r4, r4, r6 -/* 802E3404 7C 60 32 78 */ xor r0, r3, r6 -/* 802E3408 7C 80 03 79 */ or. r0, r4, r0 -/* 802E340C 41 82 00 1C */ beq lbl_802E3428 -/* 802E3410 48 05 F2 ED */ bl OSGetTime -/* 802E3414 80 1A 00 00 */ lwz r0, 0(r26) -/* 802E3418 80 BA 00 04 */ lwz r5, 4(r26) -/* 802E341C 7C C5 20 10 */ subfc r6, r5, r4 -/* 802E3420 7C A0 19 10 */ subfe r5, r0, r3 -/* 802E3424 48 00 00 08 */ b lbl_802E342C -lbl_802E3428: -/* 802E3428 7C C5 33 78 */ mr r5, r6 -lbl_802E342C: -/* 802E342C 38 61 00 08 */ addi r3, r1, 8 -/* 802E3430 4B FF D8 3D */ bl checkResetCallback__10JUTGamePadFx -/* 802E3434 4B FF D4 B1 */ bl read__10JUTGamePadFv -/* 802E3438 28 19 00 00 */ cmplwi r25, 0 -/* 802E343C 41 82 00 0C */ beq lbl_802E3448 -/* 802E3440 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802E3444 90 19 00 00 */ stw r0, 0(r25) -lbl_802E3448: -/* 802E3448 28 18 00 00 */ cmplwi r24, 0 -/* 802E344C 41 82 00 0C */ beq lbl_802E3458 -/* 802E3450 80 01 00 20 */ lwz r0, 0x20(r1) -/* 802E3454 90 18 00 00 */ stw r0, 0(r24) -lbl_802E3458: -/* 802E3458 3A E0 00 01 */ li r23, 1 -/* 802E345C 38 61 00 08 */ addi r3, r1, 8 -/* 802E3460 38 80 FF FF */ li r4, -1 -/* 802E3464 4B FF D3 4D */ bl __dt__10JUTGamePadFv -/* 802E3468 48 00 00 3C */ b lbl_802E34A4 -lbl_802E346C: -/* 802E346C 28 03 00 00 */ cmplwi r3, 0 -/* 802E3470 41 82 00 34 */ beq lbl_802E34A4 -/* 802E3474 4B FF D4 71 */ bl read__10JUTGamePadFv -/* 802E3478 28 19 00 00 */ cmplwi r25, 0 -/* 802E347C 41 82 00 10 */ beq lbl_802E348C -/* 802E3480 80 7D 00 84 */ lwz r3, 0x84(r29) -/* 802E3484 80 03 00 1C */ lwz r0, 0x1c(r3) -/* 802E3488 90 19 00 00 */ stw r0, 0(r25) -lbl_802E348C: -/* 802E348C 28 18 00 00 */ cmplwi r24, 0 -/* 802E3490 41 82 00 10 */ beq lbl_802E34A0 -/* 802E3494 80 7D 00 84 */ lwz r3, 0x84(r29) -/* 802E3498 80 03 00 18 */ lwz r0, 0x18(r3) -/* 802E349C 90 18 00 00 */ stw r0, 0(r24) -lbl_802E34A0: -/* 802E34A0 3A E0 00 01 */ li r23, 1 -lbl_802E34A4: -/* 802E34A4 7E E3 BB 78 */ mr r3, r23 -/* 802E34A8 39 61 03 A0 */ addi r11, r1, 0x3a0 -/* 802E34AC 48 07 ED 61 */ bl _restgpr_22 -/* 802E34B0 80 01 03 A4 */ lwz r0, 0x3a4(r1) -/* 802E34B4 7C 08 03 A6 */ mtlr r0 -/* 802E34B8 38 21 03 A0 */ addi r1, r1, 0x3a0 -/* 802E34BC 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTException/searchPartialModule__12JUTExceptionFUlPUlPUlPUlPUl.s b/asm/JSystem/JUtility/JUTException/searchPartialModule__12JUTExceptionFUlPUlPUlPUlPUl.s deleted file mode 100644 index a645d4094d7..00000000000 --- a/asm/JSystem/JUtility/JUTException/searchPartialModule__12JUTExceptionFUlPUlPUlPUlPUl.s +++ /dev/null @@ -1,59 +0,0 @@ -lbl_802E2578: -/* 802E2578 28 03 00 00 */ cmplwi r3, 0 -/* 802E257C 40 82 00 0C */ bne lbl_802E2588 -/* 802E2580 38 60 00 00 */ li r3, 0 -/* 802E2584 4E 80 00 20 */ blr -lbl_802E2588: -/* 802E2588 3D 00 80 00 */ lis r8, 0x8000 /* 0x800030C8@ha */ -/* 802E258C 81 28 30 C8 */ lwz r9, 0x30C8(r8) /* 0x800030C8@l */ -/* 802E2590 48 00 00 98 */ b lbl_802E2628 -lbl_802E2594: -/* 802E2594 81 49 00 10 */ lwz r10, 0x10(r9) -/* 802E2598 39 60 00 00 */ li r11, 0 -/* 802E259C 80 09 00 0C */ lwz r0, 0xc(r9) -/* 802E25A0 7C 09 03 A6 */ mtctr r0 -/* 802E25A4 28 00 00 00 */ cmplwi r0, 0 -/* 802E25A8 40 81 00 7C */ ble lbl_802E2624 -lbl_802E25AC: -/* 802E25AC 81 0A 00 04 */ lwz r8, 4(r10) -/* 802E25B0 28 08 00 00 */ cmplwi r8, 0 -/* 802E25B4 41 82 00 64 */ beq lbl_802E2618 -/* 802E25B8 80 0A 00 00 */ lwz r0, 0(r10) -/* 802E25BC 54 0C 00 3C */ rlwinm r12, r0, 0, 0, 0x1e -/* 802E25C0 7C 0C 18 40 */ cmplw r12, r3 -/* 802E25C4 41 81 00 54 */ bgt lbl_802E2618 -/* 802E25C8 7C 0C 42 14 */ add r0, r12, r8 -/* 802E25CC 7C 03 00 40 */ cmplw r3, r0 -/* 802E25D0 40 80 00 48 */ bge lbl_802E2618 -/* 802E25D4 28 04 00 00 */ cmplwi r4, 0 -/* 802E25D8 41 82 00 0C */ beq lbl_802E25E4 -/* 802E25DC 80 09 00 00 */ lwz r0, 0(r9) -/* 802E25E0 90 04 00 00 */ stw r0, 0(r4) -lbl_802E25E4: -/* 802E25E4 28 05 00 00 */ cmplwi r5, 0 -/* 802E25E8 41 82 00 08 */ beq lbl_802E25F0 -/* 802E25EC 91 65 00 00 */ stw r11, 0(r5) -lbl_802E25F0: -/* 802E25F0 28 06 00 00 */ cmplwi r6, 0 -/* 802E25F4 41 82 00 0C */ beq lbl_802E2600 -/* 802E25F8 7C 0C 18 50 */ subf r0, r12, r3 -/* 802E25FC 90 06 00 00 */ stw r0, 0(r6) -lbl_802E2600: -/* 802E2600 28 07 00 00 */ cmplwi r7, 0 -/* 802E2604 41 82 00 0C */ beq lbl_802E2610 -/* 802E2608 80 09 00 14 */ lwz r0, 0x14(r9) -/* 802E260C 90 07 00 00 */ stw r0, 0(r7) -lbl_802E2610: -/* 802E2610 38 60 00 01 */ li r3, 1 -/* 802E2614 4E 80 00 20 */ blr -lbl_802E2618: -/* 802E2618 39 4A 00 08 */ addi r10, r10, 8 -/* 802E261C 39 6B 00 01 */ addi r11, r11, 1 -/* 802E2620 42 00 FF 8C */ bdnz lbl_802E25AC -lbl_802E2624: -/* 802E2624 81 29 00 04 */ lwz r9, 4(r9) -lbl_802E2628: -/* 802E2628 28 09 00 00 */ cmplwi r9, 0 -/* 802E262C 40 82 FF 68 */ bne lbl_802E2594 -/* 802E2630 38 60 00 00 */ li r3, 0 -/* 802E2634 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTException/search_name_part__FPUcPUci.s b/asm/JSystem/JUtility/JUTException/search_name_part__FPUcPUci.s deleted file mode 100644 index 8ee2036226a..00000000000 --- a/asm/JSystem/JUtility/JUTException/search_name_part__FPUcPUci.s +++ /dev/null @@ -1,38 +0,0 @@ -lbl_802E2638: -/* 802E2638 7C 66 1B 78 */ mr r6, r3 -/* 802E263C 48 00 00 14 */ b lbl_802E2650 -lbl_802E2640: -/* 802E2640 2C 00 00 5C */ cmpwi r0, 0x5c -/* 802E2644 40 82 00 08 */ bne lbl_802E264C -/* 802E2648 7C C3 33 78 */ mr r3, r6 -lbl_802E264C: -/* 802E264C 38 C6 00 01 */ addi r6, r6, 1 -lbl_802E2650: -/* 802E2650 88 06 00 00 */ lbz r0, 0(r6) -/* 802E2654 28 00 00 00 */ cmplwi r0, 0 -/* 802E2658 40 82 FF E8 */ bne lbl_802E2640 -/* 802E265C 88 03 00 00 */ lbz r0, 0(r3) -/* 802E2660 2C 00 00 5C */ cmpwi r0, 0x5c -/* 802E2664 40 82 00 08 */ bne lbl_802E266C -/* 802E2668 38 63 00 01 */ addi r3, r3, 1 -lbl_802E266C: -/* 802E266C 38 C0 00 00 */ li r6, 0 -/* 802E2670 48 00 00 20 */ b lbl_802E2690 -lbl_802E2674: -/* 802E2674 2C 00 00 2E */ cmpwi r0, 0x2e -/* 802E2678 41 82 00 2C */ beq lbl_802E26A4 -/* 802E267C 88 03 00 00 */ lbz r0, 0(r3) -/* 802E2680 98 04 00 00 */ stb r0, 0(r4) -/* 802E2684 38 84 00 01 */ addi r4, r4, 1 -/* 802E2688 38 C6 00 01 */ addi r6, r6, 1 -/* 802E268C 38 63 00 01 */ addi r3, r3, 1 -lbl_802E2690: -/* 802E2690 88 03 00 00 */ lbz r0, 0(r3) -/* 802E2694 28 00 00 00 */ cmplwi r0, 0 -/* 802E2698 41 82 00 0C */ beq lbl_802E26A4 -/* 802E269C 7C 06 28 00 */ cmpw r6, r5 -/* 802E26A0 41 80 FF D4 */ blt lbl_802E2674 -lbl_802E26A4: -/* 802E26A4 38 00 00 00 */ li r0, 0 -/* 802E26A8 98 04 00 00 */ stb r0, 0(r4) -/* 802E26AC 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTException/setFPException__12JUTExceptionFUl.s b/asm/JSystem/JUtility/JUTException/setFPException__12JUTExceptionFUl.s deleted file mode 100644 index c8eb027b6c6..00000000000 --- a/asm/JSystem/JUtility/JUTException/setFPException__12JUTExceptionFUl.s +++ /dev/null @@ -1,21 +0,0 @@ -lbl_802E227C: -/* 802E227C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802E2280 7C 08 02 A6 */ mflr r0 -/* 802E2284 90 01 00 14 */ stw r0, 0x14(r1) -/* 802E2288 90 6D 84 20 */ stw r3, __OSFpscrEnableBits(r13) -/* 802E228C 28 03 00 00 */ cmplwi r3, 0 -/* 802E2290 41 82 00 18 */ beq lbl_802E22A8 -/* 802E2294 38 60 00 10 */ li r3, 0x10 -/* 802E2298 3C 80 80 2E */ lis r4, errorHandler__12JUTExceptionFUsP9OSContextUlUl@ha /* 0x802E1FCC@ha */ -/* 802E229C 38 84 1F CC */ addi r4, r4, errorHandler__12JUTExceptionFUsP9OSContextUlUl@l /* 0x802E1FCC@l */ -/* 802E22A0 48 05 A2 E1 */ bl OSSetErrorHandler -/* 802E22A4 48 00 00 10 */ b lbl_802E22B4 -lbl_802E22A8: -/* 802E22A8 38 60 00 10 */ li r3, 0x10 -/* 802E22AC 38 80 00 00 */ li r4, 0 -/* 802E22B0 48 05 A2 D1 */ bl OSSetErrorHandler -lbl_802E22B4: -/* 802E22B4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802E22B8 7C 08 03 A6 */ mtlr r0 -/* 802E22BC 38 21 00 10 */ addi r1, r1, 0x10 -/* 802E22C0 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTException/setPostUserCallback__12JUTExceptionFPFUsP9OSContextUlUl_v.s b/asm/JSystem/JUtility/JUTException/setPostUserCallback__12JUTExceptionFPFUsP9OSContextUlUl_v.s deleted file mode 100644 index ed90eadbd66..00000000000 --- a/asm/JSystem/JUtility/JUTException/setPostUserCallback__12JUTExceptionFPFUsP9OSContextUlUl_v.s +++ /dev/null @@ -1,5 +0,0 @@ -lbl_802E3AFC: -/* 802E3AFC 80 0D 8F 90 */ lwz r0, sPostUserCallback__12JUTException(r13) -/* 802E3B00 90 6D 8F 90 */ stw r3, sPostUserCallback__12JUTException(r13) -/* 802E3B04 7C 03 03 78 */ mr r3, r0 -/* 802E3B08 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTException/setPreUserCallback__12JUTExceptionFPFUsP9OSContextUlUl_v.s b/asm/JSystem/JUtility/JUTException/setPreUserCallback__12JUTExceptionFPFUsP9OSContextUlUl_v.s deleted file mode 100644 index 4080f7e1836..00000000000 --- a/asm/JSystem/JUtility/JUTException/setPreUserCallback__12JUTExceptionFPFUsP9OSContextUlUl_v.s +++ /dev/null @@ -1,5 +0,0 @@ -lbl_802E3AEC: -/* 802E3AEC 80 0D 8F 8C */ lwz r0, sPreUserCallback__12JUTException(r13) -/* 802E3AF0 90 6D 8F 8C */ stw r3, sPreUserCallback__12JUTException(r13) -/* 802E3AF4 7C 03 03 78 */ mr r3, r0 -/* 802E3AF8 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTException/showFloatSub__12JUTExceptionFif.s b/asm/JSystem/JUtility/JUTException/showFloatSub__12JUTExceptionFif.s deleted file mode 100644 index 30be0533759..00000000000 --- a/asm/JSystem/JUtility/JUTException/showFloatSub__12JUTExceptionFif.s +++ /dev/null @@ -1,118 +0,0 @@ -lbl_802E22C4: -/* 802E22C4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802E22C8 7C 08 02 A6 */ mflr r0 -/* 802E22CC 90 01 00 24 */ stw r0, 0x24(r1) -/* 802E22D0 7C 85 23 78 */ mr r5, r4 -/* 802E22D4 D0 21 00 08 */ stfs f1, 8(r1) -/* 802E22D8 FC 20 08 18 */ frsp f1, f1 -/* 802E22DC D0 21 00 10 */ stfs f1, 0x10(r1) -/* 802E22E0 80 81 00 10 */ lwz r4, 0x10(r1) -/* 802E22E4 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8 -/* 802E22E8 3C 00 7F 80 */ lis r0, 0x7f80 -/* 802E22EC 7C 03 00 00 */ cmpw r3, r0 -/* 802E22F0 41 82 00 14 */ beq lbl_802E2304 -/* 802E22F4 40 80 00 40 */ bge lbl_802E2334 -/* 802E22F8 2C 03 00 00 */ cmpwi r3, 0 -/* 802E22FC 41 82 00 20 */ beq lbl_802E231C -/* 802E2300 48 00 00 34 */ b lbl_802E2334 -lbl_802E2304: -/* 802E2304 54 80 02 7F */ clrlwi. r0, r4, 9 -/* 802E2308 41 82 00 0C */ beq lbl_802E2314 -/* 802E230C 38 00 00 01 */ li r0, 1 -/* 802E2310 48 00 00 28 */ b lbl_802E2338 -lbl_802E2314: -/* 802E2314 38 00 00 02 */ li r0, 2 -/* 802E2318 48 00 00 20 */ b lbl_802E2338 -lbl_802E231C: -/* 802E231C 54 80 02 7F */ clrlwi. r0, r4, 9 -/* 802E2320 41 82 00 0C */ beq lbl_802E232C -/* 802E2324 38 00 00 05 */ li r0, 5 -/* 802E2328 48 00 00 10 */ b lbl_802E2338 -lbl_802E232C: -/* 802E232C 38 00 00 03 */ li r0, 3 -/* 802E2330 48 00 00 08 */ b lbl_802E2338 -lbl_802E2334: -/* 802E2334 38 00 00 04 */ li r0, 4 -lbl_802E2338: -/* 802E2338 2C 00 00 01 */ cmpwi r0, 1 -/* 802E233C 40 82 00 20 */ bne lbl_802E235C -/* 802E2340 80 6D 8F 9C */ lwz r3, sConsole__12JUTException(r13) -/* 802E2344 3C 80 80 3A */ lis r4, JUTException__stringBase0@ha /* 0x8039D490@ha */ -/* 802E2348 38 84 D4 90 */ addi r4, r4, JUTException__stringBase0@l /* 0x8039D490@l */ -/* 802E234C 38 84 00 D9 */ addi r4, r4, 0xd9 -/* 802E2350 4C C6 31 82 */ crclr 6 -/* 802E2354 48 00 58 65 */ bl print_f__10JUTConsoleFPCce -/* 802E2358 48 00 00 EC */ b lbl_802E2444 -lbl_802E235C: -/* 802E235C D0 21 00 0C */ stfs f1, 0xc(r1) -/* 802E2360 80 81 00 0C */ lwz r4, 0xc(r1) -/* 802E2364 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8 -/* 802E2368 3C 00 7F 80 */ lis r0, 0x7f80 -/* 802E236C 7C 03 00 00 */ cmpw r3, r0 -/* 802E2370 41 82 00 14 */ beq lbl_802E2384 -/* 802E2374 40 80 00 40 */ bge lbl_802E23B4 -/* 802E2378 2C 03 00 00 */ cmpwi r3, 0 -/* 802E237C 41 82 00 20 */ beq lbl_802E239C -/* 802E2380 48 00 00 34 */ b lbl_802E23B4 -lbl_802E2384: -/* 802E2384 54 80 02 7F */ clrlwi. r0, r4, 9 -/* 802E2388 41 82 00 0C */ beq lbl_802E2394 -/* 802E238C 38 00 00 01 */ li r0, 1 -/* 802E2390 48 00 00 28 */ b lbl_802E23B8 -lbl_802E2394: -/* 802E2394 38 00 00 02 */ li r0, 2 -/* 802E2398 48 00 00 20 */ b lbl_802E23B8 -lbl_802E239C: -/* 802E239C 54 80 02 7F */ clrlwi. r0, r4, 9 -/* 802E23A0 41 82 00 0C */ beq lbl_802E23AC -/* 802E23A4 38 00 00 05 */ li r0, 5 -/* 802E23A8 48 00 00 10 */ b lbl_802E23B8 -lbl_802E23AC: -/* 802E23AC 38 00 00 03 */ li r0, 3 -/* 802E23B0 48 00 00 08 */ b lbl_802E23B8 -lbl_802E23B4: -/* 802E23B4 38 00 00 04 */ li r0, 4 -lbl_802E23B8: -/* 802E23B8 2C 00 00 02 */ cmpwi r0, 2 -/* 802E23BC 40 82 00 48 */ bne lbl_802E2404 -/* 802E23C0 88 01 00 08 */ lbz r0, 8(r1) -/* 802E23C4 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 -/* 802E23C8 41 82 00 20 */ beq lbl_802E23E8 -/* 802E23CC 80 6D 8F 9C */ lwz r3, sConsole__12JUTException(r13) -/* 802E23D0 3C 80 80 3A */ lis r4, JUTException__stringBase0@ha /* 0x8039D490@ha */ -/* 802E23D4 38 84 D4 90 */ addi r4, r4, JUTException__stringBase0@l /* 0x8039D490@l */ -/* 802E23D8 38 84 00 EA */ addi r4, r4, 0xea -/* 802E23DC 4C C6 31 82 */ crclr 6 -/* 802E23E0 48 00 57 D9 */ bl print_f__10JUTConsoleFPCce -/* 802E23E4 48 00 00 60 */ b lbl_802E2444 -lbl_802E23E8: -/* 802E23E8 80 6D 8F 9C */ lwz r3, sConsole__12JUTException(r13) -/* 802E23EC 3C 80 80 3A */ lis r4, JUTException__stringBase0@ha /* 0x8039D490@ha */ -/* 802E23F0 38 84 D4 90 */ addi r4, r4, JUTException__stringBase0@l /* 0x8039D490@l */ -/* 802E23F4 38 84 00 FA */ addi r4, r4, 0xfa -/* 802E23F8 4C C6 31 82 */ crclr 6 -/* 802E23FC 48 00 57 BD */ bl print_f__10JUTConsoleFPCce -/* 802E2400 48 00 00 44 */ b lbl_802E2444 -lbl_802E2404: -/* 802E2404 C0 02 C6 50 */ lfs f0, lit_2293(r2) -/* 802E2408 FC 00 08 00 */ fcmpu cr0, f0, f1 -/* 802E240C 40 82 00 20 */ bne lbl_802E242C -/* 802E2410 80 6D 8F 9C */ lwz r3, sConsole__12JUTException(r13) -/* 802E2414 3C 80 80 3A */ lis r4, JUTException__stringBase0@ha /* 0x8039D490@ha */ -/* 802E2418 38 84 D4 90 */ addi r4, r4, JUTException__stringBase0@l /* 0x8039D490@l */ -/* 802E241C 38 84 01 0A */ addi r4, r4, 0x10a -/* 802E2420 4C C6 31 82 */ crclr 6 -/* 802E2424 48 00 57 95 */ bl print_f__10JUTConsoleFPCce -/* 802E2428 48 00 00 1C */ b lbl_802E2444 -lbl_802E242C: -/* 802E242C 80 6D 8F 9C */ lwz r3, sConsole__12JUTException(r13) -/* 802E2430 3C 80 80 3A */ lis r4, JUTException__stringBase0@ha /* 0x8039D490@ha */ -/* 802E2434 38 84 D4 90 */ addi r4, r4, JUTException__stringBase0@l /* 0x8039D490@l */ -/* 802E2438 38 84 01 1B */ addi r4, r4, 0x11b -/* 802E243C 4C C6 32 42 */ crset 6 -/* 802E2440 48 00 57 79 */ bl print_f__10JUTConsoleFPCce -lbl_802E2444: -/* 802E2444 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802E2448 7C 08 03 A6 */ mtlr r0 -/* 802E244C 38 21 00 20 */ addi r1, r1, 0x20 -/* 802E2450 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTException/showFloat__12JUTExceptionFP9OSContext.s b/asm/JSystem/JUtility/JUTException/showFloat__12JUTExceptionFP9OSContext.s deleted file mode 100644 index 8325a57046c..00000000000 --- a/asm/JSystem/JUtility/JUTException/showFloat__12JUTExceptionFP9OSContext.s +++ /dev/null @@ -1,76 +0,0 @@ -lbl_802E2454: -/* 802E2454 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802E2458 7C 08 02 A6 */ mflr r0 -/* 802E245C 90 01 00 24 */ stw r0, 0x24(r1) -/* 802E2460 39 61 00 20 */ addi r11, r1, 0x20 -/* 802E2464 48 07 FD 6D */ bl _savegpr_26 -/* 802E2468 7C 7A 1B 78 */ mr r26, r3 -/* 802E246C 7C 9B 23 78 */ mr r27, r4 -/* 802E2470 80 6D 8F 9C */ lwz r3, sConsole__12JUTException(r13) -/* 802E2474 28 03 00 00 */ cmplwi r3, 0 -/* 802E2478 41 82 00 E8 */ beq lbl_802E2560 -/* 802E247C 3C 80 80 3A */ lis r4, JUTException__stringBase0@ha /* 0x8039D490@ha */ -/* 802E2480 38 84 D4 90 */ addi r4, r4, JUTException__stringBase0@l /* 0x8039D490@l */ -/* 802E2484 38 84 01 27 */ addi r4, r4, 0x127 -/* 802E2488 48 00 57 B1 */ bl print__10JUTConsoleFPCc -/* 802E248C 3B 80 00 00 */ li r28, 0 -/* 802E2490 3B E0 00 00 */ li r31, 0 -/* 802E2494 3C 60 80 3A */ lis r3, JUTException__stringBase0@ha /* 0x8039D490@ha */ -/* 802E2498 3B C3 D4 90 */ addi r30, r3, JUTException__stringBase0@l /* 0x8039D490@l */ -lbl_802E249C: -/* 802E249C 7F 43 D3 78 */ mr r3, r26 -/* 802E24A0 7F 84 E3 78 */ mr r4, r28 -/* 802E24A4 7F BB FA 14 */ add r29, r27, r31 -/* 802E24A8 C8 3D 00 90 */ lfd f1, 0x90(r29) -/* 802E24AC FC 20 08 18 */ frsp f1, f1 -/* 802E24B0 4B FF FE 15 */ bl showFloatSub__12JUTExceptionFif -/* 802E24B4 80 6D 8F 9C */ lwz r3, sConsole__12JUTException(r13) -/* 802E24B8 38 9E 01 4D */ addi r4, r30, 0x14d -/* 802E24BC 48 00 57 7D */ bl print__10JUTConsoleFPCc -/* 802E24C0 7F 43 D3 78 */ mr r3, r26 -/* 802E24C4 38 9C 00 0B */ addi r4, r28, 0xb -/* 802E24C8 C8 3D 00 E8 */ lfd f1, 0xe8(r29) -/* 802E24CC FC 20 08 18 */ frsp f1, f1 -/* 802E24D0 4B FF FD F5 */ bl showFloatSub__12JUTExceptionFif -/* 802E24D4 80 6D 8F 9C */ lwz r3, sConsole__12JUTException(r13) -/* 802E24D8 38 9E 01 4D */ addi r4, r30, 0x14d -/* 802E24DC 48 00 57 5D */ bl print__10JUTConsoleFPCc -/* 802E24E0 7F 43 D3 78 */ mr r3, r26 -/* 802E24E4 38 9C 00 16 */ addi r4, r28, 0x16 -/* 802E24E8 C8 3D 01 40 */ lfd f1, 0x140(r29) -/* 802E24EC FC 20 08 18 */ frsp f1, f1 -/* 802E24F0 4B FF FD D5 */ bl showFloatSub__12JUTExceptionFif -/* 802E24F4 80 6D 8F 9C */ lwz r3, sConsole__12JUTException(r13) -/* 802E24F8 38 9E 01 4F */ addi r4, r30, 0x14f -/* 802E24FC 48 00 57 3D */ bl print__10JUTConsoleFPCc -/* 802E2500 3B 9C 00 01 */ addi r28, r28, 1 -/* 802E2504 2C 1C 00 0A */ cmpwi r28, 0xa -/* 802E2508 3B FF 00 08 */ addi r31, r31, 8 -/* 802E250C 41 80 FF 90 */ blt lbl_802E249C -/* 802E2510 7F 43 D3 78 */ mr r3, r26 -/* 802E2514 38 80 00 0A */ li r4, 0xa -/* 802E2518 C8 3B 00 E0 */ lfd f1, 0xe0(r27) -/* 802E251C FC 20 08 18 */ frsp f1, f1 -/* 802E2520 4B FF FD A5 */ bl showFloatSub__12JUTExceptionFif -/* 802E2524 80 6D 8F 9C */ lwz r3, sConsole__12JUTException(r13) -/* 802E2528 3C 80 80 3A */ lis r4, JUTException__stringBase0@ha /* 0x8039D490@ha */ -/* 802E252C 38 84 D4 90 */ addi r4, r4, JUTException__stringBase0@l /* 0x8039D490@l */ -/* 802E2530 38 84 01 4D */ addi r4, r4, 0x14d -/* 802E2534 48 00 57 05 */ bl print__10JUTConsoleFPCc -/* 802E2538 7F 43 D3 78 */ mr r3, r26 -/* 802E253C 38 80 00 15 */ li r4, 0x15 -/* 802E2540 C8 3B 01 38 */ lfd f1, 0x138(r27) -/* 802E2544 FC 20 08 18 */ frsp f1, f1 -/* 802E2548 4B FF FD 7D */ bl showFloatSub__12JUTExceptionFif -/* 802E254C 80 6D 8F 9C */ lwz r3, sConsole__12JUTException(r13) -/* 802E2550 3C 80 80 3A */ lis r4, JUTException__stringBase0@ha /* 0x8039D490@ha */ -/* 802E2554 38 84 D4 90 */ addi r4, r4, JUTException__stringBase0@l /* 0x8039D490@l */ -/* 802E2558 38 84 01 4F */ addi r4, r4, 0x14f -/* 802E255C 48 00 56 DD */ bl print__10JUTConsoleFPCc -lbl_802E2560: -/* 802E2560 39 61 00 20 */ addi r11, r1, 0x20 -/* 802E2564 48 07 FC B9 */ bl _restgpr_26 -/* 802E2568 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802E256C 7C 08 03 A6 */ mtlr r0 -/* 802E2570 38 21 00 20 */ addi r1, r1, 0x20 -/* 802E2574 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTException/showGPRMap__12JUTExceptionFP9OSContext.s b/asm/JSystem/JUtility/JUTException/showGPRMap__12JUTExceptionFP9OSContext.s deleted file mode 100644 index 995bbc9bfd7..00000000000 --- a/asm/JSystem/JUtility/JUTException/showGPRMap__12JUTExceptionFP9OSContext.s +++ /dev/null @@ -1,72 +0,0 @@ -lbl_802E2CA0: -/* 802E2CA0 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 802E2CA4 7C 08 02 A6 */ mflr r0 -/* 802E2CA8 90 01 00 34 */ stw r0, 0x34(r1) -/* 802E2CAC 39 61 00 30 */ addi r11, r1, 0x30 -/* 802E2CB0 48 07 F5 1D */ bl _savegpr_25 -/* 802E2CB4 7C 79 1B 78 */ mr r25, r3 -/* 802E2CB8 7C 9A 23 78 */ mr r26, r4 -/* 802E2CBC 80 6D 8F 9C */ lwz r3, sConsole__12JUTException(r13) -/* 802E2CC0 28 03 00 00 */ cmplwi r3, 0 -/* 802E2CC4 41 82 00 D0 */ beq lbl_802E2D94 -/* 802E2CC8 3B A0 00 00 */ li r29, 0 -/* 802E2CCC 3C 80 80 3A */ lis r4, JUTException__stringBase0@ha /* 0x8039D490@ha */ -/* 802E2CD0 38 84 D4 90 */ addi r4, r4, JUTException__stringBase0@l /* 0x8039D490@l */ -/* 802E2CD4 38 84 03 A6 */ addi r4, r4, 0x3a6 -/* 802E2CD8 48 00 4F 61 */ bl print__10JUTConsoleFPCc -/* 802E2CDC 3B 80 00 00 */ li r28, 0 -/* 802E2CE0 3B E0 00 00 */ li r31, 0 -/* 802E2CE4 3F C0 80 00 */ lis r30, 0x8000 -lbl_802E2CE8: -/* 802E2CE8 7F 7A F8 2E */ lwzx r27, r26, r31 -/* 802E2CEC 7C 1B F0 40 */ cmplw r27, r30 -/* 802E2CF0 41 80 00 78 */ blt lbl_802E2D68 -/* 802E2CF4 3C 60 83 00 */ lis r3, 0x8300 /* 0x82FFFFFF@ha */ -/* 802E2CF8 38 03 FF FF */ addi r0, r3, 0xFFFF /* 0x82FFFFFF@l */ -/* 802E2CFC 7C 1B 00 40 */ cmplw r27, r0 -/* 802E2D00 41 81 00 68 */ bgt lbl_802E2D68 -/* 802E2D04 3B A0 00 01 */ li r29, 1 -/* 802E2D08 80 6D 8F 9C */ lwz r3, sConsole__12JUTException(r13) -/* 802E2D0C 3C 80 80 3A */ lis r4, JUTException__stringBase0@ha /* 0x8039D490@ha */ -/* 802E2D10 38 84 D4 90 */ addi r4, r4, JUTException__stringBase0@l /* 0x8039D490@l */ -/* 802E2D14 38 84 03 CF */ addi r4, r4, 0x3cf -/* 802E2D18 7F 85 E3 78 */ mr r5, r28 -/* 802E2D1C 7F 66 DB 78 */ mr r6, r27 -/* 802E2D20 4C C6 31 82 */ crclr 6 -/* 802E2D24 48 00 4E 95 */ bl print_f__10JUTConsoleFPCce -/* 802E2D28 7F 23 CB 78 */ mr r3, r25 -/* 802E2D2C 7F 64 DB 78 */ mr r4, r27 -/* 802E2D30 38 A0 00 01 */ li r5, 1 -/* 802E2D34 4B FF FE 11 */ bl showMapInfo_subroutine__12JUTExceptionFUlb -/* 802E2D38 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 802E2D3C 40 82 00 18 */ bne lbl_802E2D54 -/* 802E2D40 80 6D 8F 9C */ lwz r3, sConsole__12JUTException(r13) -/* 802E2D44 3C 80 80 3A */ lis r4, JUTException__stringBase0@ha /* 0x8039D490@ha */ -/* 802E2D48 38 84 D4 90 */ addi r4, r4, JUTException__stringBase0@l /* 0x8039D490@l */ -/* 802E2D4C 38 84 03 DC */ addi r4, r4, 0x3dc -/* 802E2D50 48 00 4E E9 */ bl print__10JUTConsoleFPCc -lbl_802E2D54: -/* 802E2D54 80 6D 8F F0 */ lwz r3, sManager__17JUTConsoleManager(r13) -/* 802E2D58 38 80 00 01 */ li r4, 1 -/* 802E2D5C 48 00 56 F5 */ bl drawDirect__17JUTConsoleManagerCFb -/* 802E2D60 80 79 00 90 */ lwz r3, 0x90(r25) -/* 802E2D64 48 00 0C 1D */ bl waitTime__12JUTExceptionFl -lbl_802E2D68: -/* 802E2D68 3B 9C 00 01 */ addi r28, r28, 1 -/* 802E2D6C 2C 1C 00 1F */ cmpwi r28, 0x1f -/* 802E2D70 3B FF 00 04 */ addi r31, r31, 4 -/* 802E2D74 41 80 FF 74 */ blt lbl_802E2CE8 -/* 802E2D78 57 A0 06 3F */ clrlwi. r0, r29, 0x18 -/* 802E2D7C 40 82 00 18 */ bne lbl_802E2D94 -/* 802E2D80 80 6D 8F 9C */ lwz r3, sConsole__12JUTException(r13) -/* 802E2D84 3C 80 80 3A */ lis r4, JUTException__stringBase0@ha /* 0x8039D490@ha */ -/* 802E2D88 38 84 D4 90 */ addi r4, r4, JUTException__stringBase0@l /* 0x8039D490@l */ -/* 802E2D8C 38 84 03 EE */ addi r4, r4, 0x3ee -/* 802E2D90 48 00 4E A9 */ bl print__10JUTConsoleFPCc -lbl_802E2D94: -/* 802E2D94 39 61 00 30 */ addi r11, r1, 0x30 -/* 802E2D98 48 07 F4 81 */ bl _restgpr_25 -/* 802E2D9C 80 01 00 34 */ lwz r0, 0x34(r1) -/* 802E2DA0 7C 08 03 A6 */ mtlr r0 -/* 802E2DA4 38 21 00 30 */ addi r1, r1, 0x30 -/* 802E2DA8 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTException/showGPR__12JUTExceptionFP9OSContext.s b/asm/JSystem/JUtility/JUTException/showGPR__12JUTExceptionFP9OSContext.s deleted file mode 100644 index a666871649a..00000000000 --- a/asm/JSystem/JUtility/JUTException/showGPR__12JUTExceptionFP9OSContext.s +++ /dev/null @@ -1,51 +0,0 @@ -lbl_802E2A84: -/* 802E2A84 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802E2A88 7C 08 02 A6 */ mflr r0 -/* 802E2A8C 90 01 00 24 */ stw r0, 0x24(r1) -/* 802E2A90 39 61 00 20 */ addi r11, r1, 0x20 -/* 802E2A94 48 07 F7 45 */ bl _savegpr_28 -/* 802E2A98 7C 9C 23 78 */ mr r28, r4 -/* 802E2A9C 80 6D 8F 9C */ lwz r3, sConsole__12JUTException(r13) -/* 802E2AA0 28 03 00 00 */ cmplwi r3, 0 -/* 802E2AA4 41 82 00 88 */ beq lbl_802E2B2C -/* 802E2AA8 3C 80 80 3A */ lis r4, JUTException__stringBase0@ha /* 0x8039D490@ha */ -/* 802E2AAC 38 84 D4 90 */ addi r4, r4, JUTException__stringBase0@l /* 0x8039D490@l */ -/* 802E2AB0 38 84 03 29 */ addi r4, r4, 0x329 -/* 802E2AB4 48 00 51 85 */ bl print__10JUTConsoleFPCc -/* 802E2AB8 3B A0 00 00 */ li r29, 0 -/* 802E2ABC 3B E0 00 00 */ li r31, 0 -/* 802E2AC0 3C 60 80 3A */ lis r3, JUTException__stringBase0@ha /* 0x8039D490@ha */ -/* 802E2AC4 3B C3 D4 90 */ addi r30, r3, JUTException__stringBase0@l /* 0x8039D490@l */ -lbl_802E2AC8: -/* 802E2AC8 7D 5C FA 14 */ add r10, r28, r31 -/* 802E2ACC 80 6D 8F 9C */ lwz r3, sConsole__12JUTException(r13) -/* 802E2AD0 38 9E 03 4F */ addi r4, r30, 0x34f -/* 802E2AD4 7F A5 EB 78 */ mr r5, r29 -/* 802E2AD8 80 CA 00 00 */ lwz r6, 0(r10) -/* 802E2ADC 38 FD 00 0B */ addi r7, r29, 0xb -/* 802E2AE0 81 0A 00 2C */ lwz r8, 0x2c(r10) -/* 802E2AE4 39 3D 00 16 */ addi r9, r29, 0x16 -/* 802E2AE8 81 4A 00 58 */ lwz r10, 0x58(r10) -/* 802E2AEC 4C C6 31 82 */ crclr 6 -/* 802E2AF0 48 00 50 C9 */ bl print_f__10JUTConsoleFPCce -/* 802E2AF4 3B BD 00 01 */ addi r29, r29, 1 -/* 802E2AF8 2C 1D 00 0A */ cmpwi r29, 0xa -/* 802E2AFC 3B FF 00 04 */ addi r31, r31, 4 -/* 802E2B00 41 80 FF C8 */ blt lbl_802E2AC8 -/* 802E2B04 80 6D 8F 9C */ lwz r3, sConsole__12JUTException(r13) -/* 802E2B08 3C 80 80 3A */ lis r4, JUTException__stringBase0@ha /* 0x8039D490@ha */ -/* 802E2B0C 38 84 D4 90 */ addi r4, r4, JUTException__stringBase0@l /* 0x8039D490@l */ -/* 802E2B10 38 84 03 76 */ addi r4, r4, 0x376 -/* 802E2B14 38 A0 00 0A */ li r5, 0xa -/* 802E2B18 80 DC 00 28 */ lwz r6, 0x28(r28) -/* 802E2B1C 38 E0 00 15 */ li r7, 0x15 -/* 802E2B20 81 1C 00 54 */ lwz r8, 0x54(r28) -/* 802E2B24 4C C6 31 82 */ crclr 6 -/* 802E2B28 48 00 50 91 */ bl print_f__10JUTConsoleFPCce -lbl_802E2B2C: -/* 802E2B2C 39 61 00 20 */ addi r11, r1, 0x20 -/* 802E2B30 48 07 F6 F5 */ bl _restgpr_28 -/* 802E2B34 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802E2B38 7C 08 03 A6 */ mtlr r0 -/* 802E2B3C 38 21 00 20 */ addi r1, r1, 0x20 -/* 802E2B40 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTException/showMainInfo__12JUTExceptionFUsP9OSContextUlUl.s b/asm/JSystem/JUtility/JUTException/showMainInfo__12JUTExceptionFUsP9OSContextUlUl.s deleted file mode 100644 index 888edd860f6..00000000000 --- a/asm/JSystem/JUtility/JUTException/showMainInfo__12JUTExceptionFUsP9OSContextUlUl.s +++ /dev/null @@ -1,198 +0,0 @@ -lbl_802E27B0: -/* 802E27B0 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802E27B4 7C 08 02 A6 */ mflr r0 -/* 802E27B8 90 01 00 24 */ stw r0, 0x24(r1) -/* 802E27BC 39 61 00 20 */ addi r11, r1, 0x20 -/* 802E27C0 48 07 FA 19 */ bl _savegpr_28 -/* 802E27C4 7C 9F 23 78 */ mr r31, r4 -/* 802E27C8 7C BC 2B 78 */ mr r28, r5 -/* 802E27CC 7C DD 33 78 */ mr r29, r6 -/* 802E27D0 7C FE 3B 78 */ mr r30, r7 -/* 802E27D4 80 6D 8F 9C */ lwz r3, sConsole__12JUTException(r13) -/* 802E27D8 28 03 00 00 */ cmplwi r3, 0 -/* 802E27DC 41 82 02 90 */ beq lbl_802E2A6C -/* 802E27E0 57 E0 04 3E */ clrlwi r0, r31, 0x10 -/* 802E27E4 28 00 00 11 */ cmplwi r0, 0x11 -/* 802E27E8 40 80 00 2C */ bge lbl_802E2814 -/* 802E27EC 3C 80 80 3A */ lis r4, JUTException__stringBase0@ha /* 0x8039D490@ha */ -/* 802E27F0 38 84 D4 90 */ addi r4, r4, JUTException__stringBase0@l /* 0x8039D490@l */ -/* 802E27F4 38 84 01 BF */ addi r4, r4, 0x1bf -/* 802E27F8 57 E0 13 BA */ rlwinm r0, r31, 2, 0xe, 0x1d -/* 802E27FC 3C C0 80 3D */ lis r6, sCpuExpName__12JUTException@ha /* 0x803CC660@ha */ -/* 802E2800 38 C6 C6 60 */ addi r6, r6, sCpuExpName__12JUTException@l /* 0x803CC660@l */ -/* 802E2804 7C C6 00 2E */ lwzx r6, r6, r0 -/* 802E2808 4C C6 31 82 */ crclr 6 -/* 802E280C 48 00 53 AD */ bl print_f__10JUTConsoleFPCce -/* 802E2810 48 00 00 18 */ b lbl_802E2828 -lbl_802E2814: -/* 802E2814 3C 80 80 3A */ lis r4, JUTException__stringBase0@ha /* 0x8039D490@ha */ -/* 802E2818 38 84 D4 90 */ addi r4, r4, JUTException__stringBase0@l /* 0x8039D490@l */ -/* 802E281C 38 84 01 DE */ addi r4, r4, 0x1de -/* 802E2820 4C C6 31 82 */ crclr 6 -/* 802E2824 48 00 53 95 */ bl print_f__10JUTConsoleFPCce -lbl_802E2828: -/* 802E2828 57 E0 04 3E */ clrlwi r0, r31, 0x10 -/* 802E282C 28 00 00 10 */ cmplwi r0, 0x10 -/* 802E2830 40 82 01 FC */ bne lbl_802E2A2C -/* 802E2834 80 6D 8F A4 */ lwz r3, fpscr__12JUTException(r13) -/* 802E2838 54 60 B0 8C */ rlwinm r0, r3, 0x16, 2, 6 -/* 802E283C 64 00 01 F8 */ oris r0, r0, 0x1f8 -/* 802E2840 60 00 07 00 */ ori r0, r0, 0x700 -/* 802E2844 7C 7F 00 38 */ and r31, r3, r0 -/* 802E2848 57 E0 00 85 */ rlwinm. r0, r31, 0, 2, 2 -/* 802E284C 41 82 01 60 */ beq lbl_802E29AC -/* 802E2850 80 6D 8F 9C */ lwz r3, sConsole__12JUTException(r13) -/* 802E2854 3C 80 80 3A */ lis r4, JUTException__stringBase0@ha /* 0x8039D490@ha */ -/* 802E2858 38 84 D4 90 */ addi r4, r4, JUTException__stringBase0@l /* 0x8039D490@l */ -/* 802E285C 38 84 01 ED */ addi r4, r4, 0x1ed -/* 802E2860 4C C6 31 82 */ crclr 6 -/* 802E2864 48 00 53 55 */ bl print_f__10JUTConsoleFPCce -/* 802E2868 80 0D 8F A4 */ lwz r0, fpscr__12JUTException(r13) -/* 802E286C 54 00 01 CF */ rlwinm. r0, r0, 0, 7, 7 -/* 802E2870 41 82 00 1C */ beq lbl_802E288C -/* 802E2874 80 6D 8F 9C */ lwz r3, sConsole__12JUTException(r13) -/* 802E2878 3C 80 80 3A */ lis r4, JUTException__stringBase0@ha /* 0x8039D490@ha */ -/* 802E287C 38 84 D4 90 */ addi r4, r4, JUTException__stringBase0@l /* 0x8039D490@l */ -/* 802E2880 38 84 02 06 */ addi r4, r4, 0x206 -/* 802E2884 4C C6 31 82 */ crclr 6 -/* 802E2888 48 00 53 31 */ bl print_f__10JUTConsoleFPCce -lbl_802E288C: -/* 802E288C 80 0D 8F A4 */ lwz r0, fpscr__12JUTException(r13) -/* 802E2890 54 00 02 11 */ rlwinm. r0, r0, 0, 8, 8 -/* 802E2894 41 82 00 1C */ beq lbl_802E28B0 -/* 802E2898 80 6D 8F 9C */ lwz r3, sConsole__12JUTException(r13) -/* 802E289C 3C 80 80 3A */ lis r4, JUTException__stringBase0@ha /* 0x8039D490@ha */ -/* 802E28A0 38 84 D4 90 */ addi r4, r4, JUTException__stringBase0@l /* 0x8039D490@l */ -/* 802E28A4 38 84 02 0D */ addi r4, r4, 0x20d -/* 802E28A8 4C C6 31 82 */ crclr 6 -/* 802E28AC 48 00 53 0D */ bl print_f__10JUTConsoleFPCce -lbl_802E28B0: -/* 802E28B0 80 0D 8F A4 */ lwz r0, fpscr__12JUTException(r13) -/* 802E28B4 54 00 02 53 */ rlwinm. r0, r0, 0, 9, 9 -/* 802E28B8 41 82 00 1C */ beq lbl_802E28D4 -/* 802E28BC 80 6D 8F 9C */ lwz r3, sConsole__12JUTException(r13) -/* 802E28C0 3C 80 80 3A */ lis r4, JUTException__stringBase0@ha /* 0x8039D490@ha */ -/* 802E28C4 38 84 D4 90 */ addi r4, r4, JUTException__stringBase0@l /* 0x8039D490@l */ -/* 802E28C8 38 84 02 23 */ addi r4, r4, 0x223 -/* 802E28CC 4C C6 31 82 */ crclr 6 -/* 802E28D0 48 00 52 E9 */ bl print_f__10JUTConsoleFPCce -lbl_802E28D4: -/* 802E28D4 80 0D 8F A4 */ lwz r0, fpscr__12JUTException(r13) -/* 802E28D8 54 00 02 95 */ rlwinm. r0, r0, 0, 0xa, 0xa -/* 802E28DC 41 82 00 1C */ beq lbl_802E28F8 -/* 802E28E0 80 6D 8F 9C */ lwz r3, sConsole__12JUTException(r13) -/* 802E28E4 3C 80 80 3A */ lis r4, JUTException__stringBase0@ha /* 0x8039D490@ha */ -/* 802E28E8 38 84 D4 90 */ addi r4, r4, JUTException__stringBase0@l /* 0x8039D490@l */ -/* 802E28EC 38 84 02 39 */ addi r4, r4, 0x239 -/* 802E28F0 4C C6 31 82 */ crclr 6 -/* 802E28F4 48 00 52 C5 */ bl print_f__10JUTConsoleFPCce -lbl_802E28F8: -/* 802E28F8 80 0D 8F A4 */ lwz r0, fpscr__12JUTException(r13) -/* 802E28FC 54 00 02 D7 */ rlwinm. r0, r0, 0, 0xb, 0xb -/* 802E2900 41 82 00 1C */ beq lbl_802E291C -/* 802E2904 80 6D 8F 9C */ lwz r3, sConsole__12JUTException(r13) -/* 802E2908 3C 80 80 3A */ lis r4, JUTException__stringBase0@ha /* 0x8039D490@ha */ -/* 802E290C 38 84 D4 90 */ addi r4, r4, JUTException__stringBase0@l /* 0x8039D490@l */ -/* 802E2910 38 84 02 41 */ addi r4, r4, 0x241 -/* 802E2914 4C C6 31 82 */ crclr 6 -/* 802E2918 48 00 52 A1 */ bl print_f__10JUTConsoleFPCce -lbl_802E291C: -/* 802E291C 80 0D 8F A4 */ lwz r0, fpscr__12JUTException(r13) -/* 802E2920 54 00 03 19 */ rlwinm. r0, r0, 0, 0xc, 0xc -/* 802E2924 41 82 00 1C */ beq lbl_802E2940 -/* 802E2928 80 6D 8F 9C */ lwz r3, sConsole__12JUTException(r13) -/* 802E292C 3C 80 80 3A */ lis r4, JUTException__stringBase0@ha /* 0x8039D490@ha */ -/* 802E2930 38 84 D4 90 */ addi r4, r4, JUTException__stringBase0@l /* 0x8039D490@l */ -/* 802E2934 38 84 02 50 */ addi r4, r4, 0x250 -/* 802E2938 4C C6 31 82 */ crclr 6 -/* 802E293C 48 00 52 7D */ bl print_f__10JUTConsoleFPCce -lbl_802E2940: -/* 802E2940 80 0D 8F A4 */ lwz r0, fpscr__12JUTException(r13) -/* 802E2944 54 00 05 6B */ rlwinm. r0, r0, 0, 0x15, 0x15 -/* 802E2948 41 82 00 1C */ beq lbl_802E2964 -/* 802E294C 80 6D 8F 9C */ lwz r3, sConsole__12JUTException(r13) -/* 802E2950 3C 80 80 3A */ lis r4, JUTException__stringBase0@ha /* 0x8039D490@ha */ -/* 802E2954 38 84 D4 90 */ addi r4, r4, JUTException__stringBase0@l /* 0x8039D490@l */ -/* 802E2958 38 84 02 62 */ addi r4, r4, 0x262 -/* 802E295C 4C C6 31 82 */ crclr 6 -/* 802E2960 48 00 52 59 */ bl print_f__10JUTConsoleFPCce -lbl_802E2964: -/* 802E2964 80 0D 8F A4 */ lwz r0, fpscr__12JUTException(r13) -/* 802E2968 54 00 05 AD */ rlwinm. r0, r0, 0, 0x16, 0x16 -/* 802E296C 41 82 00 1C */ beq lbl_802E2988 -/* 802E2970 80 6D 8F 9C */ lwz r3, sConsole__12JUTException(r13) -/* 802E2974 3C 80 80 3A */ lis r4, JUTException__stringBase0@ha /* 0x8039D490@ha */ -/* 802E2978 38 84 D4 90 */ addi r4, r4, JUTException__stringBase0@l /* 0x8039D490@l */ -/* 802E297C 38 84 02 75 */ addi r4, r4, 0x275 -/* 802E2980 4C C6 31 82 */ crclr 6 -/* 802E2984 48 00 52 35 */ bl print_f__10JUTConsoleFPCce -lbl_802E2988: -/* 802E2988 80 0D 8F A4 */ lwz r0, fpscr__12JUTException(r13) -/* 802E298C 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17 -/* 802E2990 41 82 00 1C */ beq lbl_802E29AC -/* 802E2994 80 6D 8F 9C */ lwz r3, sConsole__12JUTException(r13) -/* 802E2998 3C 80 80 3A */ lis r4, JUTException__stringBase0@ha /* 0x8039D490@ha */ -/* 802E299C 38 84 D4 90 */ addi r4, r4, JUTException__stringBase0@l /* 0x8039D490@l */ -/* 802E29A0 38 84 02 8B */ addi r4, r4, 0x28b -/* 802E29A4 4C C6 31 82 */ crclr 6 -/* 802E29A8 48 00 52 11 */ bl print_f__10JUTConsoleFPCce -lbl_802E29AC: -/* 802E29AC 57 E0 00 C7 */ rlwinm. r0, r31, 0, 3, 3 -/* 802E29B0 41 82 00 1C */ beq lbl_802E29CC -/* 802E29B4 80 6D 8F 9C */ lwz r3, sConsole__12JUTException(r13) -/* 802E29B8 3C 80 80 3A */ lis r4, JUTException__stringBase0@ha /* 0x8039D490@ha */ -/* 802E29BC 38 84 D4 90 */ addi r4, r4, JUTException__stringBase0@l /* 0x8039D490@l */ -/* 802E29C0 38 84 02 A5 */ addi r4, r4, 0x2a5 -/* 802E29C4 4C C6 31 82 */ crclr 6 -/* 802E29C8 48 00 51 F1 */ bl print_f__10JUTConsoleFPCce -lbl_802E29CC: -/* 802E29CC 57 E0 01 09 */ rlwinm. r0, r31, 0, 4, 4 -/* 802E29D0 41 82 00 1C */ beq lbl_802E29EC -/* 802E29D4 80 6D 8F 9C */ lwz r3, sConsole__12JUTException(r13) -/* 802E29D8 3C 80 80 3A */ lis r4, JUTException__stringBase0@ha /* 0x8039D490@ha */ -/* 802E29DC 38 84 D4 90 */ addi r4, r4, JUTException__stringBase0@l /* 0x8039D490@l */ -/* 802E29E0 38 84 02 B5 */ addi r4, r4, 0x2b5 -/* 802E29E4 4C C6 31 82 */ crclr 6 -/* 802E29E8 48 00 51 D1 */ bl print_f__10JUTConsoleFPCce -lbl_802E29EC: -/* 802E29EC 57 E0 01 4B */ rlwinm. r0, r31, 0, 5, 5 -/* 802E29F0 41 82 00 1C */ beq lbl_802E2A0C -/* 802E29F4 80 6D 8F 9C */ lwz r3, sConsole__12JUTException(r13) -/* 802E29F8 3C 80 80 3A */ lis r4, JUTException__stringBase0@ha /* 0x8039D490@ha */ -/* 802E29FC 38 84 D4 90 */ addi r4, r4, JUTException__stringBase0@l /* 0x8039D490@l */ -/* 802E2A00 38 84 02 C6 */ addi r4, r4, 0x2c6 -/* 802E2A04 4C C6 31 82 */ crclr 6 -/* 802E2A08 48 00 51 B1 */ bl print_f__10JUTConsoleFPCce -lbl_802E2A0C: -/* 802E2A0C 57 E0 01 8D */ rlwinm. r0, r31, 0, 6, 6 -/* 802E2A10 41 82 00 1C */ beq lbl_802E2A2C -/* 802E2A14 80 6D 8F 9C */ lwz r3, sConsole__12JUTException(r13) -/* 802E2A18 3C 80 80 3A */ lis r4, JUTException__stringBase0@ha /* 0x8039D490@ha */ -/* 802E2A1C 38 84 D4 90 */ addi r4, r4, JUTException__stringBase0@l /* 0x8039D490@l */ -/* 802E2A20 38 84 02 DB */ addi r4, r4, 0x2db -/* 802E2A24 4C C6 31 82 */ crclr 6 -/* 802E2A28 48 00 51 91 */ bl print_f__10JUTConsoleFPCce -lbl_802E2A2C: -/* 802E2A2C 80 6D 8F 9C */ lwz r3, sConsole__12JUTException(r13) -/* 802E2A30 3C 80 80 3A */ lis r4, JUTException__stringBase0@ha /* 0x8039D490@ha */ -/* 802E2A34 38 84 D4 90 */ addi r4, r4, JUTException__stringBase0@l /* 0x8039D490@l */ -/* 802E2A38 38 84 02 F1 */ addi r4, r4, 0x2f1 -/* 802E2A3C 80 BC 01 98 */ lwz r5, 0x198(r28) -/* 802E2A40 80 DC 01 9C */ lwz r6, 0x19c(r28) -/* 802E2A44 4C C6 31 82 */ crclr 6 -/* 802E2A48 48 00 51 71 */ bl print_f__10JUTConsoleFPCce -/* 802E2A4C 80 6D 8F 9C */ lwz r3, sConsole__12JUTException(r13) -/* 802E2A50 3C 80 80 3A */ lis r4, JUTException__stringBase0@ha /* 0x8039D490@ha */ -/* 802E2A54 38 84 D4 90 */ addi r4, r4, JUTException__stringBase0@l /* 0x8039D490@l */ -/* 802E2A58 38 84 03 0D */ addi r4, r4, 0x30d -/* 802E2A5C 7F A5 EB 78 */ mr r5, r29 -/* 802E2A60 7F C6 F3 78 */ mr r6, r30 -/* 802E2A64 4C C6 31 82 */ crclr 6 -/* 802E2A68 48 00 51 51 */ bl print_f__10JUTConsoleFPCce -lbl_802E2A6C: -/* 802E2A6C 39 61 00 20 */ addi r11, r1, 0x20 -/* 802E2A70 48 07 F7 B5 */ bl _restgpr_28 -/* 802E2A74 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802E2A78 7C 08 03 A6 */ mtlr r0 -/* 802E2A7C 38 21 00 20 */ addi r1, r1, 0x20 -/* 802E2A80 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTException/showMapInfo_subroutine__12JUTExceptionFUlb.s b/asm/JSystem/JUtility/JUTException/showMapInfo_subroutine__12JUTExceptionFUlb.s deleted file mode 100644 index f1ac3a0e720..00000000000 --- a/asm/JSystem/JUtility/JUTException/showMapInfo_subroutine__12JUTExceptionFUlb.s +++ /dev/null @@ -1,96 +0,0 @@ -lbl_802E2B44: -/* 802E2B44 94 21 FE A0 */ stwu r1, -0x160(r1) -/* 802E2B48 7C 08 02 A6 */ mflr r0 -/* 802E2B4C 90 01 01 64 */ stw r0, 0x164(r1) -/* 802E2B50 39 61 01 60 */ addi r11, r1, 0x160 -/* 802E2B54 48 07 F6 85 */ bl _savegpr_28 -/* 802E2B58 7C 9C 23 78 */ mr r28, r4 -/* 802E2B5C 7C BD 2B 78 */ mr r29, r5 -/* 802E2B60 3C 00 80 00 */ lis r0, 0x8000 -/* 802E2B64 7C 1C 00 40 */ cmplw r28, r0 -/* 802E2B68 41 80 00 14 */ blt lbl_802E2B7C -/* 802E2B6C 3C 60 83 00 */ lis r3, 0x8300 /* 0x82FFFFFF@ha */ -/* 802E2B70 38 03 FF FF */ addi r0, r3, 0xFFFF /* 0x82FFFFFF@l */ -/* 802E2B74 7C 1C 00 40 */ cmplw r28, r0 -/* 802E2B78 40 81 00 0C */ ble lbl_802E2B84 -lbl_802E2B7C: -/* 802E2B7C 38 60 00 00 */ li r3, 0 -/* 802E2B80 48 00 01 08 */ b lbl_802E2C88 -lbl_802E2B84: -/* 802E2B84 3C 60 80 3A */ lis r3, JUTException__stringBase0@ha /* 0x8039D490@ha */ -/* 802E2B88 38 63 D4 90 */ addi r3, r3, JUTException__stringBase0@l /* 0x8039D490@l */ -/* 802E2B8C 3B C3 01 4F */ addi r30, r3, 0x14f -/* 802E2B90 57 A0 06 3F */ clrlwi. r0, r29, 0x18 -/* 802E2B94 40 82 00 08 */ bne lbl_802E2B9C -/* 802E2B98 3B C3 03 90 */ addi r30, r3, 0x390 -lbl_802E2B9C: -/* 802E2B9C 7F 83 E3 78 */ mr r3, r28 -/* 802E2BA0 38 81 00 20 */ addi r4, r1, 0x20 -/* 802E2BA4 38 A1 00 1C */ addi r5, r1, 0x1c -/* 802E2BA8 38 C1 00 18 */ addi r6, r1, 0x18 -/* 802E2BAC 38 E1 00 24 */ addi r7, r1, 0x24 -/* 802E2BB0 4B FF F9 C9 */ bl searchPartialModule__12JUTExceptionFUlPUlPUlPUlPUl -/* 802E2BB4 7C 7F 1B 78 */ mr r31, r3 -/* 802E2BB8 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 802E2BBC 28 00 00 01 */ cmplwi r0, 1 -/* 802E2BC0 40 82 00 40 */ bne lbl_802E2C00 -/* 802E2BC4 80 61 00 24 */ lwz r3, 0x24(r1) -/* 802E2BC8 38 81 00 28 */ addi r4, r1, 0x28 -/* 802E2BCC 38 A0 00 20 */ li r5, 0x20 -/* 802E2BD0 4B FF FA 69 */ bl search_name_part__FPUcPUci -/* 802E2BD4 80 6D 8F 9C */ lwz r3, sConsole__12JUTException(r13) -/* 802E2BD8 3C 80 80 3A */ lis r4, JUTException__stringBase0@ha /* 0x8039D490@ha */ -/* 802E2BDC 38 84 D4 90 */ addi r4, r4, JUTException__stringBase0@l /* 0x8039D490@l */ -/* 802E2BE0 38 84 03 91 */ addi r4, r4, 0x391 -/* 802E2BE4 7F C5 F3 78 */ mr r5, r30 -/* 802E2BE8 38 C1 00 28 */ addi r6, r1, 0x28 -/* 802E2BEC 80 E1 00 18 */ lwz r7, 0x18(r1) -/* 802E2BF0 81 01 00 1C */ lwz r8, 0x1c(r1) -/* 802E2BF4 4C C6 31 82 */ crclr 6 -/* 802E2BF8 48 00 4F C1 */ bl print_f__10JUTConsoleFPCce -/* 802E2BFC 3B A0 00 00 */ li r29, 0 -lbl_802E2C00: -/* 802E2C00 3C 60 80 43 */ lis r3, sMapFileList__12JUTException@ha /* 0x80434598@ha */ -/* 802E2C04 80 03 45 98 */ lwz r0, sMapFileList__12JUTException@l(r3) /* 0x80434598@l */ -/* 802E2C08 28 00 00 00 */ cmplwi r0, 0 -/* 802E2C0C 41 82 00 78 */ beq lbl_802E2C84 -/* 802E2C10 57 E0 06 3E */ clrlwi r0, r31, 0x18 -/* 802E2C14 28 00 00 01 */ cmplwi r0, 1 -/* 802E2C18 40 82 00 30 */ bne lbl_802E2C48 -/* 802E2C1C 93 A1 00 08 */ stw r29, 8(r1) -/* 802E2C20 38 61 00 28 */ addi r3, r1, 0x28 -/* 802E2C24 80 81 00 18 */ lwz r4, 0x18(r1) -/* 802E2C28 80 A1 00 1C */ lwz r5, 0x1c(r1) -/* 802E2C2C 38 C1 00 14 */ addi r6, r1, 0x14 -/* 802E2C30 38 E1 00 10 */ addi r7, r1, 0x10 -/* 802E2C34 39 01 00 4C */ addi r8, r1, 0x4c -/* 802E2C38 39 20 01 00 */ li r9, 0x100 -/* 802E2C3C 39 40 00 01 */ li r10, 1 -/* 802E2C40 48 00 0F 61 */ bl queryMapAddress__12JUTExceptionFPcUllPUlPUlPcUlbb -/* 802E2C44 48 00 00 2C */ b lbl_802E2C70 -lbl_802E2C48: -/* 802E2C48 93 A1 00 08 */ stw r29, 8(r1) -/* 802E2C4C 38 60 00 00 */ li r3, 0 -/* 802E2C50 7F 84 E3 78 */ mr r4, r28 -/* 802E2C54 38 A0 FF FF */ li r5, -1 -/* 802E2C58 38 C1 00 14 */ addi r6, r1, 0x14 -/* 802E2C5C 38 E1 00 10 */ addi r7, r1, 0x10 -/* 802E2C60 39 01 00 4C */ addi r8, r1, 0x4c -/* 802E2C64 39 20 01 00 */ li r9, 0x100 -/* 802E2C68 39 40 00 01 */ li r10, 1 -/* 802E2C6C 48 00 0F 35 */ bl queryMapAddress__12JUTExceptionFPcUllPUlPUlPcUlbb -lbl_802E2C70: -/* 802E2C70 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 802E2C74 28 00 00 01 */ cmplwi r0, 1 -/* 802E2C78 40 82 00 0C */ bne lbl_802E2C84 -/* 802E2C7C 38 60 00 01 */ li r3, 1 -/* 802E2C80 48 00 00 08 */ b lbl_802E2C88 -lbl_802E2C84: -/* 802E2C84 38 60 00 00 */ li r3, 0 -lbl_802E2C88: -/* 802E2C88 39 61 01 60 */ addi r11, r1, 0x160 -/* 802E2C8C 48 07 F5 99 */ bl _restgpr_28 -/* 802E2C90 80 01 01 64 */ lwz r0, 0x164(r1) -/* 802E2C94 7C 08 03 A6 */ mtlr r0 -/* 802E2C98 38 21 01 60 */ addi r1, r1, 0x160 -/* 802E2C9C 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTException/showSRR0Map__12JUTExceptionFP9OSContext.s b/asm/JSystem/JUtility/JUTException/showSRR0Map__12JUTExceptionFP9OSContext.s deleted file mode 100644 index 952f232d9d7..00000000000 --- a/asm/JSystem/JUtility/JUTException/showSRR0Map__12JUTExceptionFP9OSContext.s +++ /dev/null @@ -1,52 +0,0 @@ -lbl_802E2DAC: -/* 802E2DAC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802E2DB0 7C 08 02 A6 */ mflr r0 -/* 802E2DB4 90 01 00 14 */ stw r0, 0x14(r1) -/* 802E2DB8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802E2DBC 93 C1 00 08 */ stw r30, 8(r1) -/* 802E2DC0 7C 7E 1B 78 */ mr r30, r3 -/* 802E2DC4 7C 9F 23 78 */ mr r31, r4 -/* 802E2DC8 80 6D 8F 9C */ lwz r3, sConsole__12JUTException(r13) -/* 802E2DCC 28 03 00 00 */ cmplwi r3, 0 -/* 802E2DD0 41 82 00 88 */ beq lbl_802E2E58 -/* 802E2DD4 3C 80 80 3A */ lis r4, JUTException__stringBase0@ha /* 0x8039D490@ha */ -/* 802E2DD8 38 84 D4 90 */ addi r4, r4, JUTException__stringBase0@l /* 0x8039D490@l */ -/* 802E2DDC 38 84 04 14 */ addi r4, r4, 0x414 -/* 802E2DE0 48 00 4E 59 */ bl print__10JUTConsoleFPCc -/* 802E2DE4 83 FF 01 98 */ lwz r31, 0x198(r31) -/* 802E2DE8 3C 00 80 00 */ lis r0, 0x8000 -/* 802E2DEC 7C 1F 00 40 */ cmplw r31, r0 -/* 802E2DF0 41 80 00 68 */ blt lbl_802E2E58 -/* 802E2DF4 3C 60 83 00 */ lis r3, 0x8300 /* 0x82FFFFFF@ha */ -/* 802E2DF8 38 03 FF FF */ addi r0, r3, 0xFFFF /* 0x82FFFFFF@l */ -/* 802E2DFC 7C 1F 00 40 */ cmplw r31, r0 -/* 802E2E00 41 81 00 58 */ bgt lbl_802E2E58 -/* 802E2E04 80 6D 8F 9C */ lwz r3, sConsole__12JUTException(r13) -/* 802E2E08 3C 80 80 3A */ lis r4, JUTException__stringBase0@ha /* 0x8039D490@ha */ -/* 802E2E0C 38 84 D4 90 */ addi r4, r4, JUTException__stringBase0@l /* 0x8039D490@l */ -/* 802E2E10 38 84 04 3E */ addi r4, r4, 0x43e -/* 802E2E14 7F E5 FB 78 */ mr r5, r31 -/* 802E2E18 4C C6 31 82 */ crclr 6 -/* 802E2E1C 48 00 4D 9D */ bl print_f__10JUTConsoleFPCce -/* 802E2E20 7F C3 F3 78 */ mr r3, r30 -/* 802E2E24 7F E4 FB 78 */ mr r4, r31 -/* 802E2E28 38 A0 00 01 */ li r5, 1 -/* 802E2E2C 4B FF FD 19 */ bl showMapInfo_subroutine__12JUTExceptionFUlb -/* 802E2E30 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 802E2E34 40 82 00 18 */ bne lbl_802E2E4C -/* 802E2E38 80 6D 8F 9C */ lwz r3, sConsole__12JUTException(r13) -/* 802E2E3C 3C 80 80 3A */ lis r4, JUTException__stringBase0@ha /* 0x8039D490@ha */ -/* 802E2E40 38 84 D4 90 */ addi r4, r4, JUTException__stringBase0@l /* 0x8039D490@l */ -/* 802E2E44 38 84 03 DC */ addi r4, r4, 0x3dc -/* 802E2E48 48 00 4D F1 */ bl print__10JUTConsoleFPCc -lbl_802E2E4C: -/* 802E2E4C 80 6D 8F F0 */ lwz r3, sManager__17JUTConsoleManager(r13) -/* 802E2E50 38 80 00 01 */ li r4, 1 -/* 802E2E54 48 00 55 FD */ bl drawDirect__17JUTConsoleManagerCFb -lbl_802E2E58: -/* 802E2E58 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802E2E5C 83 C1 00 08 */ lwz r30, 8(r1) -/* 802E2E60 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802E2E64 7C 08 03 A6 */ mtlr r0 -/* 802E2E68 38 21 00 10 */ addi r1, r1, 0x10 -/* 802E2E6C 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTException/showStack__12JUTExceptionFP9OSContext.s b/asm/JSystem/JUtility/JUTException/showStack__12JUTExceptionFP9OSContext.s deleted file mode 100644 index ee1b8994f69..00000000000 --- a/asm/JSystem/JUtility/JUTException/showStack__12JUTExceptionFP9OSContext.s +++ /dev/null @@ -1,69 +0,0 @@ -lbl_802E26B0: -/* 802E26B0 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802E26B4 7C 08 02 A6 */ mflr r0 -/* 802E26B8 90 01 00 24 */ stw r0, 0x24(r1) -/* 802E26BC 39 61 00 20 */ addi r11, r1, 0x20 -/* 802E26C0 48 07 FB 19 */ bl _savegpr_28 -/* 802E26C4 7C 7C 1B 78 */ mr r28, r3 -/* 802E26C8 80 6D 8F 9C */ lwz r3, sConsole__12JUTException(r13) -/* 802E26CC 28 03 00 00 */ cmplwi r3, 0 -/* 802E26D0 41 82 00 C8 */ beq lbl_802E2798 -/* 802E26D4 3C 80 80 3A */ lis r4, JUTException__stringBase0@ha /* 0x8039D490@ha */ -/* 802E26D8 38 84 D4 90 */ addi r4, r4, JUTException__stringBase0@l /* 0x8039D490@l */ -/* 802E26DC 38 84 01 51 */ addi r4, r4, 0x151 -/* 802E26E0 48 00 55 59 */ bl print__10JUTConsoleFPCc -/* 802E26E4 83 BC 00 A0 */ lwz r29, 0xa0(r28) -/* 802E26E8 80 6D 8F 9C */ lwz r3, sConsole__12JUTException(r13) -/* 802E26EC 3C 80 80 3A */ lis r4, JUTException__stringBase0@ha /* 0x8039D490@ha */ -/* 802E26F0 38 84 D4 90 */ addi r4, r4, JUTException__stringBase0@l /* 0x8039D490@l */ -/* 802E26F4 38 84 01 79 */ addi r4, r4, 0x179 -/* 802E26F8 4C C6 31 82 */ crclr 6 -/* 802E26FC 48 00 54 BD */ bl print_f__10JUTConsoleFPCce -/* 802E2700 3B C0 00 00 */ li r30, 0 -/* 802E2704 3C 60 80 3A */ lis r3, JUTException__stringBase0@ha /* 0x8039D490@ha */ -/* 802E2708 3B E3 D4 90 */ addi r31, r3, JUTException__stringBase0@l /* 0x8039D490@l */ -/* 802E270C 48 00 00 6C */ b lbl_802E2778 -lbl_802E2710: -/* 802E2710 80 1C 00 94 */ lwz r0, 0x94(r28) -/* 802E2714 7C 1E 00 40 */ cmplw r30, r0 -/* 802E2718 40 81 00 1C */ ble lbl_802E2734 -/* 802E271C 80 6D 8F 9C */ lwz r3, sConsole__12JUTException(r13) -/* 802E2720 3C 80 80 3A */ lis r4, JUTException__stringBase0@ha /* 0x8039D490@ha */ -/* 802E2724 38 84 D4 90 */ addi r4, r4, JUTException__stringBase0@l /* 0x8039D490@l */ -/* 802E2728 38 84 01 99 */ addi r4, r4, 0x199 -/* 802E272C 48 00 55 0D */ bl print__10JUTConsoleFPCc -/* 802E2730 48 00 00 68 */ b lbl_802E2798 -lbl_802E2734: -/* 802E2734 80 6D 8F 9C */ lwz r3, sConsole__12JUTException(r13) -/* 802E2738 38 9F 01 AA */ addi r4, r31, 0x1aa -/* 802E273C 7F A5 EB 78 */ mr r5, r29 -/* 802E2740 80 DD 00 00 */ lwz r6, 0(r29) -/* 802E2744 80 FD 00 04 */ lwz r7, 4(r29) -/* 802E2748 4C C6 31 82 */ crclr 6 -/* 802E274C 48 00 54 6D */ bl print_f__10JUTConsoleFPCce -/* 802E2750 7F 83 E3 78 */ mr r3, r28 -/* 802E2754 80 9D 00 04 */ lwz r4, 4(r29) -/* 802E2758 38 A0 00 00 */ li r5, 0 -/* 802E275C 48 00 03 E9 */ bl showMapInfo_subroutine__12JUTExceptionFUlb -/* 802E2760 80 6D 8F F0 */ lwz r3, sManager__17JUTConsoleManager(r13) -/* 802E2764 38 80 00 01 */ li r4, 1 -/* 802E2768 48 00 5C E9 */ bl drawDirect__17JUTConsoleManagerCFb -/* 802E276C 80 7C 00 90 */ lwz r3, 0x90(r28) -/* 802E2770 48 00 12 11 */ bl waitTime__12JUTExceptionFl -/* 802E2774 83 BD 00 00 */ lwz r29, 0(r29) -lbl_802E2778: -/* 802E2778 28 1D 00 00 */ cmplwi r29, 0 -/* 802E277C 41 82 00 1C */ beq lbl_802E2798 -/* 802E2780 3C 1D 00 01 */ addis r0, r29, 1 -/* 802E2784 28 00 FF FF */ cmplwi r0, 0xffff -/* 802E2788 41 82 00 10 */ beq lbl_802E2798 -/* 802E278C 28 1E 01 00 */ cmplwi r30, 0x100 -/* 802E2790 3B DE 00 01 */ addi r30, r30, 1 -/* 802E2794 41 80 FF 7C */ blt lbl_802E2710 -lbl_802E2798: -/* 802E2798 39 61 00 20 */ addi r11, r1, 0x20 -/* 802E279C 48 07 FA 89 */ bl _restgpr_28 -/* 802E27A0 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802E27A4 7C 08 03 A6 */ mtlr r0 -/* 802E27A8 38 21 00 20 */ addi r1, r1, 0x20 -/* 802E27AC 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTException/waitTime__12JUTExceptionFl.s b/asm/JSystem/JUtility/JUTException/waitTime__12JUTExceptionFl.s deleted file mode 100644 index 520991542c8..00000000000 --- a/asm/JSystem/JUtility/JUTException/waitTime__12JUTExceptionFl.s +++ /dev/null @@ -1,37 +0,0 @@ -lbl_802E3980: -/* 802E3980 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802E3984 7C 08 02 A6 */ mflr r0 -/* 802E3988 90 01 00 24 */ stw r0, 0x24(r1) -/* 802E398C 39 61 00 20 */ addi r11, r1, 0x20 -/* 802E3990 48 07 E8 41 */ bl _savegpr_26 -/* 802E3994 7C 7A 1B 79 */ or. r26, r3, r3 -/* 802E3998 41 82 00 58 */ beq lbl_802E39F0 -/* 802E399C 48 05 ED 61 */ bl OSGetTime -/* 802E39A0 7C 9C 23 78 */ mr r28, r4 -/* 802E39A4 7C 7D 1B 78 */ mr r29, r3 -/* 802E39A8 7F 5B FE 70 */ srawi r27, r26, 0x1f -/* 802E39AC 3F C0 80 00 */ lis r30, 0x8000 -/* 802E39B0 3B E0 03 E8 */ li r31, 0x3e8 -lbl_802E39B4: -/* 802E39B4 48 05 ED 49 */ bl OSGetTime -/* 802E39B8 7C 9C 20 10 */ subfc r4, r28, r4 -/* 802E39BC 7C 7D 19 10 */ subfe r3, r29, r3 -/* 802E39C0 80 1E 00 F8 */ lwz r0, 0xf8(r30) -/* 802E39C4 54 00 F0 BE */ srwi r0, r0, 2 -/* 802E39C8 7C C0 FB 96 */ divwu r6, r0, r31 -/* 802E39CC 38 A0 00 00 */ li r5, 0 -/* 802E39D0 48 07 E9 55 */ bl __div2i -/* 802E39D4 6C 65 80 00 */ xoris r5, r3, 0x8000 -/* 802E39D8 6F 63 80 00 */ xoris r3, r27, 0x8000 -/* 802E39DC 7C 1A 20 10 */ subfc r0, r26, r4 -/* 802E39E0 7C 63 29 10 */ subfe r3, r3, r5 -/* 802E39E4 7C 65 29 10 */ subfe r3, r5, r5 -/* 802E39E8 7C 63 00 D1 */ neg. r3, r3 -/* 802E39EC 40 82 FF C8 */ bne lbl_802E39B4 -lbl_802E39F0: -/* 802E39F0 39 61 00 20 */ addi r11, r1, 0x20 -/* 802E39F4 48 07 E8 29 */ bl _restgpr_26 -/* 802E39F8 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802E39FC 7C 08 03 A6 */ mtlr r0 -/* 802E3A00 38 21 00 20 */ addi r1, r1, 0x20 -/* 802E3A04 4E 80 00 20 */ blr diff --git a/include/JSystem/JSupport/JSUList.h b/include/JSystem/JSupport/JSUList.h index 0c7a5e1a4f5..f204f239ee1 100644 --- a/include/JSystem/JSupport/JSUList.h +++ b/include/JSystem/JSupport/JSUList.h @@ -121,7 +121,7 @@ public: bool operator==(JSULink const* other) const { return this->mLink == other; } bool operator!=(JSULink const* other) const { return this->mLink != other; } bool operator==(JSUListIterator const& other) const { return this->mLink == other.mLink; } - bool operator!=(JSUListIterator const& other) const { return this->mLink != other.other; } + bool operator!=(JSUListIterator const& other) const { return this->mLink != other.mLink; } JSUListIterator operator++(int) { JSUListIterator prev = *this; diff --git a/include/JSystem/JUtility/JUTConsole.h b/include/JSystem/JUtility/JUTConsole.h index 15790da4165..274e8de7e74 100644 --- a/include/JSystem/JUtility/JUTConsole.h +++ b/include/JSystem/JUtility/JUTConsole.h @@ -14,8 +14,8 @@ public: UNK_TYPE2 = 2, }; - /* 802E73E4 */ void create(unsigned int, void*, u32); - /* 802E7354 */ void create(unsigned int, unsigned int, JKRHeap*); + /* 802E73E4 */ static JUTConsole* create(unsigned int, void*, u32); + /* 802E7354 */ static JUTConsole* create(unsigned int, unsigned int, JKRHeap*); /* 802E746C */ JUTConsole(unsigned int, unsigned int, bool); /* 802E75CC */ static size_t getObjectSizeFromBufferSize(unsigned int, unsigned int); /* 802E75DC */ static size_t getLineFromObjectSize(u32, unsigned int); @@ -31,26 +31,31 @@ public: /* 802E755C */ virtual ~JUTConsole(); void setOutput(u32 output) { mOutput = output; } - - u32 getOutput() const { return mOutput; } - void setPosition(int x, int y) { mPositionX = x; mPositionY = y; } + void setFontSize(f32 x, f32 y) { + mFontSizeX = x; + mFontSizeY = y; + } + void setHeight(u32 height) { + mHeight = height; + if (mHeight > field_0x24) { + mHeight = field_0x24; + } + } + u32 getOutput() const { return mOutput; } int getPositionY() const { return mPositionY; } - int getPositionX() const { return mPositionX; } + u32 getHeight() const { return mHeight; } bool isVisible() const { return mVisible; } - void setVisible(bool visible) { mVisible = visible; } void setLineAttr(int param_0, u8 param_1) { mBuf[(field_0x20 + 2) * param_0] = param_1; } - u8* getLinePtr(int param_0) const { return &mBuf[(field_0x20 + 2) * param_0 + 1]; } - int diffIndex(int param_0, int param_1) const { int diff = param_1 - param_0; if (diff >= 0) { @@ -59,6 +64,10 @@ public: return diff += field_0x24; } + void scrollToLastLine() { scroll(field_0x24); } + void scrollToFirstLine() { scroll(-field_0x24); } + +private: /* 0x18 */ JGadget::TLinkListNode mListNode; private: diff --git a/include/JSystem/JUtility/JUTDirectPrint.h b/include/JSystem/JUtility/JUTDirectPrint.h index 8fac8cf23c6..53927bea726 100644 --- a/include/JSystem/JUtility/JUTDirectPrint.h +++ b/include/JSystem/JUtility/JUTDirectPrint.h @@ -22,6 +22,8 @@ public: /* 802E4240 */ static JUTDirectPrint* start(); + bool isActive() const { return field_0x00 != 0; } + static JUTDirectPrint* getManager() { return sDirectPrint; } private: diff --git a/include/JSystem/JUtility/JUTException.h b/include/JSystem/JUtility/JUTException.h index eed808f7ba0..769a46a198f 100644 --- a/include/JSystem/JUtility/JUTException.h +++ b/include/JSystem/JUtility/JUTException.h @@ -2,85 +2,128 @@ #define JUTEXCEPTION_H #include "JSystem/JKernel/JKRThread.h" +#include "JSystem/JSupport/JSUList.h" +#include "JSystem/JUtility/JUTDirectPrint.h" #include "JSystem/JUtility/JUTGamePad.h" #include "Runtime.PPCEABI.H/__va_arg.h" #include "dolphin/gx/GX.h" #include "dolphin/os/OS.h" #include "dolphin/types.h" +#include "global.h" -struct _GXRenderModeObj; -struct _GXGamma {}; - -struct JUTExternalFB { - /* 802E40CC */ JUTExternalFB(_GXRenderModeObj*, _GXGamma, void*, u32); -}; - -struct JUTDirectPrint { - /* 802E456C */ void changeFrameBuffer(void*, u16, u16); -}; - -class JUTException /* : public JKRThread */ { +class JUTExternalFB { public: - struct EInfoPage {}; + /* 802E40CC */ JUTExternalFB(_GXRenderModeObj*, GXGamma, void*, u32); + +private: + /* 0x00 */ _GXRenderModeObj* mRenderMode; + /* 0x04 */ u32 mSize; + /* 0x08 */ u32 field_0x08; + /* 0x0C */ u16 field_0x0C; + /* 0x0E */ u16 mGamma; + /* 0x10 */ bool field_0x10; + /* 0x11 */ u8 field_[3]; +}; + +STATIC_ASSERT(sizeof(JUTExternalFB) == 0x14); + +#define JUT_PRINT_GPR 1 +#define JUT_PRINT_GPR_MAP 2 +#define JUT_PRINT_SRR0_MAP 4 +#define JUT_PRINT_FLOAT 8 +#define JUT_PRINT_STACK 16 + +class JUTException : public JKRThread { +public: + enum EInfoPage { + EINFO_PAGE_GPR = 1, + EINFO_PAGE_FLOAT = 2, + EINFO_PAGE_STACK = 3, + EINFO_PAGE_GPR_MAP = 4, + EINFO_PAGE_SSR0_MAP = 5, + }; + + class JUTExMapFile { + public: + JUTExMapFile(char* path) : mLink(this) { mPath = path; } + + public: + /* 0x00 */ char* mPath; + /* 0x04 */ JSULink mLink; + /* 0x14 */ + }; - // TODO: return types are probably wrong /* 802E1D5C */ JUTException(JUTDirectPrint*); - /* 802E1E40 */ void create(JUTDirectPrint*); - /* 802E1FCC */ void errorHandler(u16, OSContext*, u32, u32); - /* 802E20C0 */ void panic_f_va(char const*, int, char const*, va_list); - /* 802E21FC */ static void panic_f(char const*, int, char const*, ...); - /* 802E227C */ void setFPException(u32); + /* 802E40EC */ virtual ~JUTException(); + /* 802E22C4 */ void showFloatSub(int, f32); /* 802E2454 */ void showFloat(OSContext*); - /* 802E2578 */ void searchPartialModule(u32, u32*, u32*, u32*, u32*); /* 802E26B0 */ void showStack(OSContext*); /* 802E27B0 */ void showMainInfo(u16, OSContext*, u32, u32); /* 802E2A84 */ void showGPR(OSContext*); - /* 802E2B44 */ void showMapInfo_subroutine(u32, bool); + /* 802E2B44 */ bool showMapInfo_subroutine(u32, bool); /* 802E2CA0 */ void showGPRMap(OSContext*); /* 802E2DAC */ void showSRR0Map(OSContext*); - /* 802E2E70 */ void printDebugInfo(JUTException::EInfoPage, u16, OSContext*, u32, u32); - /* 802E2F18 */ void isEnablePad() const; + /* 802E2E70 */ void printDebugInfo(JUTException::EInfoPage, OSError, OSContext*, u32, u32); + /* 802E2F18 */ bool isEnablePad() const; /* 802E2F54 */ bool readPad(u32*, u32*); /* 802E34C0 */ void printContext(u16, OSContext*, u32, u32); - /* 802E3980 */ static void waitTime(s32); /* 802E3A08 */ void createFB(); - /* 802E3AEC */ void setPreUserCallback(void (*)(u16, OSContext*, u32, u32)); - /* 802E3AFC */ void setPostUserCallback(void (*)(u16, OSContext*, u32, u32)); - /* 802E3B0C */ void appendMapFile(char const*); - /* 802E3BA0 */ void queryMapAddress(char*, u32, s32, u32*, u32*, char*, u32, bool, bool); - /* 802E3C90 */ void queryMapAddress_single(char*, u32, s32, u32*, u32*, char*, u32, bool, bool); - /* 802E3FEC */ void createConsole(void*, u32); - /* 802E40EC */ virtual ~JUTException(); - /* 802E1EA8 */ virtual void run(); + /* 802E1EA8 */ /* vt[03] */ virtual void* run(); + + /* 802E1E40 */ static JUTException* create(JUTDirectPrint*); + /* 802E1FCC */ static void errorHandler(OSError, OSContext*, u32, u32); + /* 802E20C0 */ static void panic_f_va(char const*, int, char const*, va_list); + /* 802E21FC */ static void panic_f(char const*, int, char const*, ...); + /* 802E227C */ static void setFPException(u32); + /* 802E2578 */ static bool searchPartialModule(u32, u32*, u32*, u32*, u32*); + /* 802E3AEC */ static OSErrorHandler setPreUserCallback(OSErrorHandler); + /* 802E3AFC */ static OSErrorHandler setPostUserCallback(OSErrorHandler); + /* 802E3B0C */ static void appendMapFile(char const*); + /* 802E3BA0 */ static bool queryMapAddress(char*, u32, s32, u32*, u32*, char*, u32, bool, bool); + /* 802E3C90 */ static bool queryMapAddress_single(char*, u32, s32, u32*, u32*, char*, u32, bool, + bool); + /* 802E3FEC */ static void createConsole(void*, u32); + /* 802E3980 */ static void waitTime(s32); static JUTException* getManager() { return sErrorManager; } - void setTraceSuppress(u32 param_0) { mTraceSuppress = param_0; } - static u8 sMessageQueue[32]; - static void* sCpuExpName[17]; - static u8 sMapFileList[12 + 4 /* padding */]; + JUTExternalFB* getFrameMemory() const { return mFrameMemory; } + + void setTraceSuppress(u32 param_0) { mTraceSuppress = param_0; } + void setGamePad(JUTGamePad* gamePad) { + mGamePad = gamePad; + mGamePadPort = JUTGamePad::Port_Unknown; + } + +private: + static OSMessageQueue sMessageQueue; + static const char* sCpuExpName[17]; + static JSUList sMapFileList; static u8 sMessageBuffer[4 + 4 /* padding */]; static JUTException* sErrorManager; - static u8 sPreUserCallback[4]; - static u8 sPostUserCallback[4]; - static u8 sConsoleBuffer[4]; - static u8 sConsoleBufferSize[4]; - static u8 sConsole[4]; - static u8 msr[4]; - static u8 fpscr[4]; + static OSErrorHandler sPreUserCallback; + static OSErrorHandler sPostUserCallback; + static void* sConsoleBuffer; + static u32 sConsoleBufferSize; + static JUTConsole* sConsole; + static u32 msr; + static u32 fpscr; - /* 0x00 */ JKRThread field_0x0; // should be inherited - /* 0x80 */ JUTDirectPrint* field_0x80; - /* 0x84 */ JUTGamePad* field_0x84; - /* 0x88 */ s32 field_0x88; - /* 0x8C */ s32 field_0x8c; - /* 0x90 */ s32 field_0x90; +private: + /* 0x7C */ JUTExternalFB* mFrameMemory; + /* 0x80 */ JUTDirectPrint* mDirectPrint; + /* 0x84 */ JUTGamePad* mGamePad; + /* 0x88 */ JUTGamePad::EPadPort mGamePadPort; + /* 0x8C */ s32 mPrintWaitTime0; + /* 0x90 */ s32 mPrintWaitTime1; /* 0x94 */ u32 mTraceSuppress; /* 0x98 */ u32 field_0x98; - /* 0x9C */ u32 field_0x9c; - /* 0xA0 */ u32 field_0xa0; + /* 0x9C */ u32 mPrintFlags; + /* 0xA0 */ u32 mStackPointer; }; +STATIC_ASSERT(sizeof(JUTException) == 0xA4); + #endif /* JUTEXCEPTION_H */ diff --git a/include/JSystem/JUtility/JUTGamePad.h b/include/JSystem/JUtility/JUTGamePad.h index dfc87d1ee76..5bfc6e650d8 100644 --- a/include/JSystem/JUtility/JUTGamePad.h +++ b/include/JSystem/JUtility/JUTGamePad.h @@ -47,7 +47,14 @@ public: enum EStickMode {}; enum EWhichStick {}; - enum EPadPort { Port_1, Port_2, Port_3, Port_4 }; + enum EPadPort { + Port_Unknown = -1, // used by JUTException + Port_1, + Port_2, + Port_3, + Port_4, + }; + JUTGamePad(JUTGamePad::EPadPort port); virtual ~JUTGamePad(); diff --git a/include/MSL_C.PPCEABI.bare.H/MSL_Common/Src/float.h b/include/MSL_C.PPCEABI.bare.H/MSL_Common/Src/float.h index f3ccbf79009..9a39ae57439 100644 --- a/include/MSL_C.PPCEABI.bare.H/MSL_Common/Src/float.h +++ b/include/MSL_C.PPCEABI.bare.H/MSL_Common/Src/float.h @@ -3,4 +3,46 @@ #include "dolphin/types.h" +#define FP_SNAN 0 +#define FP_QNAN 1 +#define FP_INFINITE 2 +#define FP_ZERO 3 +#define FP_NORMAL 4 +#define FP_SUBNORMAL 5 + +#define FP_NAN FP_QNAN + +#define fpclassify(x) ((sizeof(x) == sizeof(float)) ? __fpclassifyf(x) : __fpclassifyd(x)) +#define signbit(x) ((sizeof(x) == sizeof(float)) ? __signbitf(x) : __signbitd(x)) + +#define __signbitf(x) ((*(u8*)&(x)) & 0x80) + +// TODO: OK? +#define __signbitd(x) ((*(u8*)&(x)) & 0x80) + +inline int __fpclassifyf(float __value) { + u32 integer = *(u32*)&__value; + + switch (integer & 0x7f800000) { + case 0x7f800000: + if ((integer & 0x7fffff) != 0) { + return FP_QNAN; + } + return FP_INFINITE; + + case 0: + if ((integer & 0x7fffff) != 0) { + return FP_SUBNORMAL; + } + return FP_ZERO; + } + + return FP_NORMAL; +} + +inline int __fpclassifyd(double __value) { + // TODO: + return FP_INFINITE; +} + #endif /* MSL_COMMON_SRC_FLOAT_H */ diff --git a/include/dolphin/gx/GX.h b/include/dolphin/gx/GX.h index 0ca3cc2d5fc..98ac75143f8 100644 --- a/include/dolphin/gx/GX.h +++ b/include/dolphin/gx/GX.h @@ -5,6 +5,7 @@ #include "dolphin/mtx/mtx.h" #include "dolphin/mtx/mtx44.h" #include "dolphin/types.h" +#include "global.h" typedef struct _GXColor { /* 0x0 */ u8 r; @@ -36,6 +37,8 @@ typedef struct _GXRenderModeObj { u8 vfilter[7]; } GXRenderModeObj; +STATIC_ASSERT(sizeof(_GXRenderModeObj) == 60); + typedef struct _GXTexObj { /* 0x00 */ u32 texture_filter; /* 0x04 */ u32 texture_lod; @@ -410,6 +413,12 @@ typedef enum _GXTexFmt { /* 0x20 */ _GX_TF_CTF = 0x20 } GXTexFmt; +typedef enum _GXGamma { + /* 0x0 */ GX_GM_1_0, + /* 0x0 */ GX_GM_1_7, + /* 0x0 */ GX_GM_2_2, +} GXGamma; + typedef enum _GXTlutFmt { /* 0x0 */ GX_TL_IA8, /* 0x1 */ GX_TL_RGB565, diff --git a/include/dolphin/os/OS.h b/include/dolphin/os/OS.h index bdc80cb1cd1..e34324bd386 100644 --- a/include/dolphin/os/OS.h +++ b/include/dolphin/os/OS.h @@ -7,6 +7,14 @@ #include "Runtime.PPCEABI.H/__va_arg.h" #include "dolphin/types.h" +#include "Runtime.PPCEABI.H/__va_arg.h" +#include "dolphin/os/OSError.h" +#include "dolphin/os/OSLink.h" + +#define OS_BUS_CLOCK (*(u32*)0x800000F8) +#define OS_CORE_CLOCK (*(u32*)0x800000FC) +#define OS_TIMER_CLOCK (OS_BUS_CLOCK / 4) + /* TODO: more structs, and get rid of the ones that are faked! */ #define OS_MESSAGE_NON_BLOCKING 0 diff --git a/include/dolphin/os/OSError.h b/include/dolphin/os/OSError.h index 3a566007054..7dc8e04267c 100644 --- a/include/dolphin/os/OSError.h +++ b/include/dolphin/os/OSError.h @@ -3,4 +3,31 @@ #include "dolphin/types.h" +struct OSContext; + +extern u32 __OSFpscrEnableBits; + +typedef u16 OSError; +typedef void (*OSErrorHandler)(OSError, OSContext*, u32, u32); + +#define OS_ERROR_SYSTEM_RESET 0x0 +#define OS_ERROR_MACHINE_CHECK 0x1 +#define OS_ERROR_DSI 0x2 +#define OS_ERROR_ISI 0x3 +#define OS_ERROR_INTERRUPT 0x4 +#define OS_ERROR_ALIGNMENT 0x5 +#define OS_ERROR_PROGRAM 0x6 +#define OS_ERROR_FLOATING_POINT 0x7 +#define OS_ERROR_DECREMENTER 0x8 +#define OS_ERROR_SYSTEM_CALL 0x9 +#define OS_ERROR_TRACE 0xa +#define OS_ERROR_PERFORMANCE_MONITOR 0xb +#define OS_ERROR_BREAKPOINT 0xc +#define OS_ERROR_RESERVED 0xd +#define OS_ERROR_THERMAL_INTERRUPT 0xe +#define OS_ERROR_MEMORY_PROTECTION 0xf +#define OS_ERROR_FLOATING_POINT_EXCEPTION 0x10 + +extern "C" void OSSetErrorHandler(OSError, OSErrorHandler); + #endif /* OSERROR_H */ diff --git a/include/dolphin/os/OSLink.h b/include/dolphin/os/OSLink.h index d9b0cb85a9d..013e2be3522 100644 --- a/include/dolphin/os/OSLink.h +++ b/include/dolphin/os/OSLink.h @@ -3,4 +3,34 @@ #include "dolphin/types.h" +struct OSModuleInfo { + u32 id; + OSModuleInfo* next; + OSModuleInfo* prev; + u32 num_sections; + u32 section_info_offset; + u32 name_offset; + u32 name_size; + u32 version; + u32 bss_size; + u32 rel_offset; + u32 imp_offset; + u32 imp_size; + u8 prolog_section; + u8 epilog_section; + u8 unresolved_section; + u8 bss_section; + u32 prolog; + u32 epilog; + u32 unresolved; + u32 align; + u32 bss_align; + u32 fix_size; +}; + +struct OSSectionInfo { + u32 offset; + u32 size; +}; + #endif /* OSLINK_H */ diff --git a/include/global.h b/include/global.h index 81c5a657dcc..fb785659817 100644 --- a/include/global.h +++ b/include/global.h @@ -23,9 +23,13 @@ #define _SDA_BASE_(dummy) 0 #define _SDA2_BASE_(dummy) 0 +#ifndef IN_VSCODE_EDITOR #define GLUE(a, b) a##b #define GLUE2(a, b) GLUE(a, b) #define STATIC_ASSERT(cond) typedef char GLUE2(static_assertion_failed, __LINE__)[(cond) ? 1 : -1] +#else +#define STATIC_ASSERT(...) +#endif struct JUTWarn { JUTWarn& operator<<(const char*) { return *this; } diff --git a/include/msl_c/math.h b/include/msl_c/math.h index 998f1698c5e..a966a8cce03 100644 --- a/include/msl_c/math.h +++ b/include/msl_c/math.h @@ -1,6 +1,7 @@ #ifndef MSL_MATH_H_ #define MSL_MATH_H_ +#include "MSL_C.PPCEABI.bare.H/MSL_Common/Src/float.h" #include "dolphin/types.h" extern "C" { @@ -32,25 +33,7 @@ f64 fmod(f64, f64); inline f32 fmodf(f32 f1, f32 f2) { return fmod(f1, f2); } -inline s32 fpclassify(f32 f) { - u32 var = *(u32*)&f; - switch (var & 0x7F800000) { - case 0x7F800000: - if ((var & 0x7FFFFF) != 0) { - return 1; - } else { - return 2; - } - case 0: - if ((var & 0x7FFFFF) != 0) { - return 5; - } else { - return 3; - } - default: - return 4; - } -} + f64 frexp(f64, s32*); f64 ldexp(f64, s32); f64 modf(f64, f64*); diff --git a/include/msl_c/string.h b/include/msl_c/string.h new file mode 100644 index 00000000000..902f205f09f --- /dev/null +++ b/include/msl_c/string.h @@ -0,0 +1,27 @@ +#ifndef MSL_STRING_H_ +#define MSL_STRING_H_ + +#include "Runtime.PPCEABI.H/__va_arg.h" +#include "dolphin/types.h" + +// TODO: move to MSL_C.PPCEABI.bare.H/ +extern "C" { +void memcpy(void*, const void*, s32); +void* memset(void* dest, int ch, u32 count); +char* strrchr(const char* s, int c); +char* strchr(const char* s, int c); +int strncmp(const char* s1, const char* s2, u32 n); +int strcmp(const char* s1, const char* s2); +int stricmp(const char*, const char*); +char* strcat(char* dest, const char* source); +char* strncpy(char* dest, const char* source, u32 n); +char* strcpy(char* dest, const char* source); +u32 strlen(const char* s); +int tolower(int); +int sprintf(char*, const char*, ...); +int printf(const char*, ...); +int snprintf(char*, u32, const char*, ...); +size_t vsnprintf(char* buffer, size_t buffer_size, const char* format, va_list args); +} + +#endif \ No newline at end of file diff --git a/libs/JSystem/JUtility/JUTConsole.cpp b/libs/JSystem/JUtility/JUTConsole.cpp index d3eea0f5bf2..7174e82ff8c 100644 --- a/libs/JSystem/JUtility/JUTConsole.cpp +++ b/libs/JSystem/JUtility/JUTConsole.cpp @@ -110,7 +110,7 @@ JUTConsoleManager* JUTConsoleManager::sManager; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JUTConsole::create(unsigned int param_0, unsigned int param_1, JKRHeap* param_2) { +asm JUTConsole* JUTConsole::create(unsigned int param_0, unsigned int param_1, JKRHeap* param_2) { nofralloc #include "asm/JSystem/JUtility/JUTConsole/create__10JUTConsoleFUiUiP7JKRHeap.s" } @@ -120,7 +120,7 @@ asm void JUTConsole::create(unsigned int param_0, unsigned int param_1, JKRHeap* #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JUTConsole::create(unsigned int param_0, void* param_1, u32 param_2) { +asm JUTConsole* JUTConsole::create(unsigned int param_0, void* param_1, u32 param_2) { nofralloc #include "asm/JSystem/JUtility/JUTConsole/create__10JUTConsoleFUiPvUl.s" } diff --git a/libs/JSystem/JUtility/JUTException.cpp b/libs/JSystem/JUtility/JUTException.cpp index 90f3fa6d340..ca000d5b106 100644 --- a/libs/JSystem/JUtility/JUTException.cpp +++ b/libs/JSystem/JUtility/JUTException.cpp @@ -4,261 +4,143 @@ // #include "JSystem/JUtility/JUTException.h" +#include "JSystem/JUtility/JUTConsole.h" +#include "JSystem/JUtility/JUTDirectPrint.h" +#include "MSL_C.PPCEABI.bare.H/MSL_Common/Src/float.h" #include "Runtime.PPCEABI.H/__va_arg.h" #include "dol2asm.h" #include "dolphin/types.h" - -// -// Types: -// - -struct JUTDirectFile { - /* 802E87F8 */ JUTDirectFile(); - /* 802E881C */ ~JUTDirectFile(); - /* 802E8860 */ void fopen(char const*); - /* 802E88FC */ void fclose(); - /* 802E8958 */ void fgets(void*, int); -}; - -struct JUTConsole { - /* 802E73E4 */ void create(unsigned int, void*, u32); - /* 802E75DC */ void getLineFromObjectSize(u32, unsigned int); - /* 802E7BB8 */ void print_f(char const*, ...); - /* 802E7C38 */ void print(char const*); - /* 802E80A8 */ void scroll(int); - /* 802E8184 */ void getUsedLine() const; - /* 802E81A8 */ void getLineOffset() const; -}; - -struct JUTConsoleManager { - /* 802E8450 */ void drawDirect(bool) const; - /* 802E84C4 */ void setDirectConsole(JUTConsole*); - - static u8 sManager[4]; -}; +#include "msl_c/string.h" // // Forward References: // -extern "C" void __ct__12JUTExceptionFP14JUTDirectPrint(); -extern "C" void create__12JUTExceptionFP14JUTDirectPrint(); extern "C" void run__12JUTExceptionFv(); -extern "C" void errorHandler__12JUTExceptionFUsP9OSContextUlUl(); -extern "C" void panic_f_va__12JUTExceptionFPCciPCcP16__va_list_struct(); -extern "C" void panic_f__12JUTExceptionFPCciPCce(); -extern "C" void setFPException__12JUTExceptionFUl(); -extern "C" void showFloatSub__12JUTExceptionFif(); -extern "C" void showFloat__12JUTExceptionFP9OSContext(); -extern "C" void searchPartialModule__12JUTExceptionFUlPUlPUlPUlPUl(); -extern "C" static void search_name_part__FPUcPUci(); -extern "C" void showStack__12JUTExceptionFP9OSContext(); -extern "C" void showMainInfo__12JUTExceptionFUsP9OSContextUlUl(); -extern "C" void showGPR__12JUTExceptionFP9OSContext(); -extern "C" void showMapInfo_subroutine__12JUTExceptionFUlb(); -extern "C" void showGPRMap__12JUTExceptionFP9OSContext(); -extern "C" void showSRR0Map__12JUTExceptionFP9OSContext(); -extern "C" void printDebugInfo__12JUTExceptionFQ212JUTException9EInfoPageUsP9OSContextUlUl(); -extern "C" void isEnablePad__12JUTExceptionCFv(); -extern "C" void readPad__12JUTExceptionFPUlPUl(); -extern "C" void printContext__12JUTExceptionFUsP9OSContextUlUl(); -extern "C" void waitTime__12JUTExceptionFl(); -extern "C" void createFB__12JUTExceptionFv(); -extern "C" void setPreUserCallback__12JUTExceptionFPFUsP9OSContextUlUl_v(); -extern "C" void setPostUserCallback__12JUTExceptionFPFUsP9OSContextUlUl_v(); -extern "C" void appendMapFile__12JUTExceptionFPCc(); -extern "C" void queryMapAddress__12JUTExceptionFPcUllPUlPUlPcUlbb(); -extern "C" void queryMapAddress_single__12JUTExceptionFPcUllPUlPUlPcUlbb(); -extern "C" void createConsole__12JUTExceptionFPvUl(); -extern "C" void __ct__13JUTExternalFBFP16_GXRenderModeObj8_GXGammaPvUl(); extern "C" void __dt__12JUTExceptionFv(); -extern "C" void __sinit_JUTException_cpp(); -extern "C" void func_802E4194(void* _this); +extern "C" void printContext__12JUTExceptionFUsP9OSContextUlUl(); +extern "C" void createFB__12JUTExceptionFv(); +extern "C" void panic_f_va__12JUTExceptionFPCciPCcP16__va_list_struct(); + extern "C" extern char const* const JUTException__stringBase0; extern "C" u8 sMessageQueue__12JUTException[32]; -extern "C" void* sCpuExpName__12JUTException[17]; -extern "C" u8 sMapFileList__12JUTException[12 + 4 /* padding */]; extern "C" u8 sMessageBuffer__12JUTException[4 + 4 /* padding */]; -extern "C" extern u8 data_804508F8[8]; extern "C" u8 sErrorManager__12JUTException[4]; -extern "C" u8 sPreUserCallback__12JUTException[4]; -extern "C" u8 sPostUserCallback__12JUTException[4]; -extern "C" u8 sConsoleBuffer__12JUTException[4]; -extern "C" u8 sConsoleBufferSize__12JUTException[4]; -extern "C" u8 sConsole__12JUTException[4]; + extern "C" u8 msr__12JUTException[4]; extern "C" u8 fpscr__12JUTException[4]; +extern "C" u8 sPreUserCallback__12JUTException[4]; +extern "C" u8 sConsole__12JUTException[4]; // // External References: // -SECTION_INIT void memcpy(); -extern "C" void* __nw__FUl(); -extern "C" void* __nw__FUlP7JKRHeapi(); -extern "C" void __dl__FPv(); -extern "C" void __ct__9JKRThreadFUlii(); -extern "C" void __dt__9JKRThreadFv(); -extern "C" void __ct__10JSUPtrLinkFPv(); -extern "C" void __ct__10JSUPtrListFb(); -extern "C" void __dt__10JSUPtrListFv(); -extern "C" void append__10JSUPtrListFP10JSUPtrLink(); -extern "C" void __ct__10JUTGamePadFQ210JUTGamePad8EPadPort(); -extern "C" void __dt__10JUTGamePadFv(); -extern "C" void read__10JUTGamePadFv(); -extern "C" void checkResetCallback__10JUTGamePadFx(); extern "C" void changeFrameBuffer__14JUTDirectPrintFPvUsUs(); -extern "C" void create__10JUTConsoleFUiPvUl(); -extern "C" void getLineFromObjectSize__10JUTConsoleFUlUi(); +extern "C" void* VIGetCurrentFrameBuffer(); +extern "C" void VISetPreRetraceCallback(void*); +extern "C" void VISetPostRetraceCallback(void*); +extern "C" void PPCMtmsr(); +extern "C" u32 PPCMfmsr(); +extern "C" void _savegpr_25(); +extern "C" void _restgpr_25(); +extern "C" void _savegpr_28(); +extern "C" void _restgpr_28(); +extern "C" void OSYieldThread(); +extern "C" void OSProtectRange(int, void*, int, int); +extern "C" void OSFillFPUContext(OSContext*); extern "C" void print_f__10JUTConsoleFPCce(); -extern "C" void print__10JUTConsoleFPCc(); -extern "C" void scroll__10JUTConsoleFi(); -extern "C" void getUsedLine__10JUTConsoleCFv(); -extern "C" void getLineOffset__10JUTConsoleCFv(); -extern "C" void drawDirect__17JUTConsoleManagerCFb(); -extern "C" void setDirectConsole__17JUTConsoleManagerFP10JUTConsole(); -extern "C" void __ct__13JUTDirectFileFv(); -extern "C" void __dt__13JUTDirectFileFv(); +extern "C" OSContext* OSGetCurrentContext(); +extern "C" void VIFlush(); +extern "C" void VISetBlack(BOOL); +extern "C" u32 VIGetRetraceCount(); +extern "C" extern _GXRenderModeObj GXNtsc480Int; +extern "C" void VIConfigure(_GXRenderModeObj*); +extern "C" void VISetNextFrameBuffer(void*); +extern "C" void _restgpr_16(); extern "C" void fopen__13JUTDirectFileFPCc(); extern "C" void fclose__13JUTDirectFileFv(); extern "C" void fgets__13JUTDirectFileFPvi(); -extern "C" void PPCMfmsr(); -extern "C" void PPCMtmsr(); -extern "C" void OSGetCurrentContext(); -extern "C" void OSFillFPUContext(); -extern "C" void OSSetErrorHandler(); -extern "C" void OSProtectRange(); -extern "C" void OSYieldThread(); -extern "C" void VISetPreRetraceCallback(); -extern "C" void VISetPostRetraceCallback(); -extern "C" void VIConfigure(); -extern "C" void VIFlush(); -extern "C" void VISetNextFrameBuffer(); -extern "C" void VIGetCurrentFrameBuffer(); -extern "C" void VISetBlack(); -extern "C" void VIGetRetraceCount(); -extern "C" void __register_global_object(); +extern "C" void print__10JUTConsoleFPCc(); +extern "C" long int strtol(const char* str, char** endptr, int base); +extern "C" void __ct__13JUTDirectFileFv(); +extern "C" void __dt__13JUTDirectFileFv(); extern "C" void _savegpr_16(); -extern "C" void _savegpr_22(); -extern "C" void _savegpr_24(); -extern "C" void _savegpr_25(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_28(); -extern "C" void _restgpr_16(); -extern "C" void _restgpr_22(); -extern "C" void _restgpr_24(); -extern "C" void _restgpr_25(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_28(); -extern "C" void __div2i(); -extern "C" void vsnprintf(); -extern "C" void strcmp(); -extern "C" void strcat(); -extern "C" void strcpy(); -extern "C" void strtol(); -extern "C" extern u8 GXNtsc480Int[60]; -extern "C" extern u32 __OSFpscrEnableBits; -extern "C" u8 sSystemHeap__7JKRHeap[4]; -extern "C" u8 sManager__17JUTConsoleManager[4]; // // Declarations: // -/* ############################################################################################## */ -/* 8039D490-8039D490 029AF0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8039D490 = "SYSTEM RESET"; -SECTION_DEAD static char const* const stringBase_8039D49D = "MACHINE CHECK"; -SECTION_DEAD static char const* const stringBase_8039D4AB = "DSI"; -SECTION_DEAD static char const* const stringBase_8039D4AF = "ISI"; -SECTION_DEAD static char const* const stringBase_8039D4B3 = "EXTERNAL INTERRUPT"; -SECTION_DEAD static char const* const stringBase_8039D4C6 = "ALIGNMENT"; -SECTION_DEAD static char const* const stringBase_8039D4D0 = "PROGRAM"; -SECTION_DEAD static char const* const stringBase_8039D4D8 = "FLOATING POINT"; -SECTION_DEAD static char const* const stringBase_8039D4E7 = "DECREMENTER"; -SECTION_DEAD static char const* const stringBase_8039D4F3 = "SYSTEM CALL"; -SECTION_DEAD static char const* const stringBase_8039D4FF = "TRACE"; -SECTION_DEAD static char const* const stringBase_8039D505 = "PERFORMACE MONITOR"; -SECTION_DEAD static char const* const stringBase_8039D518 = "BREAK POINT"; -SECTION_DEAD static char const* const stringBase_8039D524 = "SYSTEM INTERRUPT"; -SECTION_DEAD static char const* const stringBase_8039D535 = "THERMAL INTERRUPT"; -SECTION_DEAD static char const* const stringBase_8039D547 = "PROTECTION"; -#pragma pop - /* 803CC620-803CC640 029740 0020+00 3/3 0/0 0/0 .data sMessageQueue__12JUTException */ -SECTION_DATA u8 JUTException::sMessageQueue[32] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; +SECTION_DATA OSMessageQueue JUTException::sMessageQueue = {0}; /* 803CC640-803CC660 029760 0020+00 1/1 0/0 0/0 .data c3bcnt */ -SECTION_DATA static u8 c3bcnt[32] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; +SECTION_DATA static OSTime c3bcnt[4] = {0, 0, 0, 0}; /* 803CC660-803CC6A4 -00001 0044+00 1/1 0/0 0/0 .data sCpuExpName__12JUTException */ -SECTION_DATA void* JUTException::sCpuExpName[17] = { - (void*)&JUTException__stringBase0, - (void*)(((char*)&JUTException__stringBase0) + 0xD), - (void*)(((char*)&JUTException__stringBase0) + 0x1B), - (void*)(((char*)&JUTException__stringBase0) + 0x1F), - (void*)(((char*)&JUTException__stringBase0) + 0x23), - (void*)(((char*)&JUTException__stringBase0) + 0x36), - (void*)(((char*)&JUTException__stringBase0) + 0x40), - (void*)(((char*)&JUTException__stringBase0) + 0x48), - (void*)(((char*)&JUTException__stringBase0) + 0x57), - (void*)(((char*)&JUTException__stringBase0) + 0x63), - (void*)(((char*)&JUTException__stringBase0) + 0x6F), - (void*)(((char*)&JUTException__stringBase0) + 0x75), - (void*)(((char*)&JUTException__stringBase0) + 0x88), - (void*)(((char*)&JUTException__stringBase0) + 0x94), - (void*)(((char*)&JUTException__stringBase0) + 0xA5), - (void*)(((char*)&JUTException__stringBase0) + 0xB7), - (void*)(((char*)&JUTException__stringBase0) + 0x48), -}; - -/* 803CC6A4-803CC6B8 0297C4 0010+04 2/2 0/0 0/0 .data __vt__12JUTException */ -SECTION_DATA extern void* __vt__12JUTException[4 + 1 /* padding */] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12JUTExceptionFv, - (void*)run__12JUTExceptionFv, - /* padding */ - NULL, +SECTION_DATA const char* JUTException::sCpuExpName[17] = { + "SYSTEM RESET", + "MACHINE CHECK", + "DSI", + "ISI", + "EXTERNAL INTERRUPT", + "ALIGNMENT", + "PROGRAM", + "FLOATING POINT", + "DECREMENTER", + "SYSTEM CALL", + "TRACE", + "PERFORMACE MONITOR", + "BREAK POINT", + "SYSTEM INTERRUPT", + "THERMAL INTERRUPT", + "PROTECTION", + "FLOATING POINT", }; /* 80451508-8045150C 000A08 0004+00 4/4 3/3 0/0 .sbss sErrorManager__12JUTException */ JUTException* JUTException::sErrorManager; /* 8045150C-80451510 000A0C 0004+00 4/4 0/0 0/0 .sbss sPreUserCallback__12JUTException */ -u8 JUTException::sPreUserCallback[4]; +OSErrorHandler JUTException::sPreUserCallback; /* 80451510-80451514 000A10 0004+00 3/3 0/0 0/0 .sbss sPostUserCallback__12JUTException */ -u8 JUTException::sPostUserCallback[4]; +OSErrorHandler JUTException::sPostUserCallback; /* 802E1D5C-802E1E40 2DC69C 00E4+00 1/1 0/0 0/0 .text __ct__12JUTExceptionFP14JUTDirectPrint */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm JUTException::JUTException(JUTDirectPrint* param_0) { - nofralloc -#include "asm/JSystem/JUtility/JUTException/__ct__12JUTExceptionFP14JUTDirectPrint.s" +JUTException::JUTException(JUTDirectPrint* directPrint) + : JKRThread(0x1C00 /* 0x4000 in DEBUG */, 0x10, 0), mDirectPrint(directPrint) { + OSSetErrorHandler(OS_ERROR_DSI, errorHandler); + OSSetErrorHandler(OS_ERROR_ISI, errorHandler); + OSSetErrorHandler(OS_ERROR_PROGRAM, errorHandler); + OSSetErrorHandler(OS_ERROR_ALIGNMENT, errorHandler); + OSSetErrorHandler(OS_ERROR_MEMORY_PROTECTION, errorHandler); + setFPException(0); + + sPreUserCallback = NULL; + sPostUserCallback = NULL; + + setGamePad(NULL); + + this->mPrintWaitTime0 = 10; + this->mPrintWaitTime1 = 10; + this->mTraceSuppress = -1; + this->field_0x98 = 0; + this->mPrintFlags = + JUT_PRINT_GPR | JUT_PRINT_GPR_MAP | JUT_PRINT_SRR0_MAP | JUT_PRINT_FLOAT | JUT_PRINT_STACK; } -#pragma pop /* 802E1E40-802E1EA8 2DC780 0068+00 0/0 1/1 0/0 .text create__12JUTExceptionFP14JUTDirectPrint */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTException::create(JUTDirectPrint* param_0) { - nofralloc -#include "asm/JSystem/JUtility/JUTException/create__12JUTExceptionFP14JUTDirectPrint.s" +JUTException* JUTException::create(JUTDirectPrint* directPrint) { + if (!sErrorManager) { + JKRHeap* systemHeap = JKRGetSystemHeap(); + sErrorManager = new (systemHeap, 0) JUTException(directPrint); + sErrorManager->resume(); + } + + return sErrorManager; } -#pragma pop /* ############################################################################################## */ /* 804508F0-804508F8 000370 0004+04 1/1 0/0 0/0 .sdata sMessageBuffer__12JUTException */ @@ -278,7 +160,7 @@ SECTION_SDATA u8 JUTException::sMessageBuffer[4 + 4 /* padding */] = { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JUTException::run() { +asm void* JUTException::run() { nofralloc #include "asm/JSystem/JUtility/JUTException/run__12JUTExceptionFv.s" } @@ -286,113 +168,134 @@ asm void JUTException::run() { /* ############################################################################################## */ /* 80434578-8043458C 061298 0014+00 2/2 0/0 0/0 .bss exCallbackObject */ -static u8 exCallbackObject[20]; +struct CallbackObject { + /* 0x00 */ OSErrorHandler callback; + /* 0x04 */ s16 error; + /* 0x06 */ u16 pad_0x06; + /* 0x08 */ OSContext* context; + /* 0x0C */ int param_3; + /* 0x10 */ int param_4; + /* 0x14 */ +}; + +STATIC_ASSERT(sizeof(CallbackObject) == 0x14); +static CallbackObject exCallbackObject; /* 80451514-80451518 000A14 0004+00 1/1 0/0 0/0 .sbss sConsoleBuffer__12JUTException */ -u8 JUTException::sConsoleBuffer[4]; +void* JUTException::sConsoleBuffer; /* 80451518-8045151C 000A18 0004+00 1/1 0/0 0/0 .sbss sConsoleBufferSize__12JUTException */ -u8 JUTException::sConsoleBufferSize[4]; +u32 JUTException::sConsoleBufferSize; /* 8045151C-80451520 000A1C 0004+00 13/13 1/1 0/0 .sbss sConsole__12JUTException */ -u8 JUTException::sConsole[4]; +JUTConsole* JUTException::sConsole; /* 80451520-80451524 000A20 0004+00 2/2 0/0 0/0 .sbss msr__12JUTException */ -u8 JUTException::msr[4]; +u32 JUTException::msr; /* 80451524-80451528 000A24 0004+00 3/3 0/0 0/0 .sbss fpscr__12JUTException */ -u8 JUTException::fpscr[4]; +u32 JUTException::fpscr; /* 802E1FCC-802E20C0 2DC90C 00F4+00 2/2 0/0 0/0 .text * errorHandler__12JUTExceptionFUsP9OSContextUlUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTException::errorHandler(u16 param_0, OSContext* param_1, u32 param_2, u32 param_3) { - nofralloc -#include "asm/JSystem/JUtility/JUTException/errorHandler__12JUTExceptionFUsP9OSContextUlUl.s" +void JUTException::errorHandler(u16 error, OSContext* context, u32 param_3, u32 param_4) { + msr = PPCMfmsr(); + fpscr = context->fpscr; + OSFillFPUContext(context); + OSSetErrorHandler(error, NULL); + if (error == OS_ERROR_MEMORY_PROTECTION) { + OSProtectRange(0, NULL, 0, 3); + OSProtectRange(1, NULL, 0, 3); + OSProtectRange(2, NULL, 0, 3); + OSProtectRange(3, NULL, 0, 3); + } + + exCallbackObject.callback = sPreUserCallback; + exCallbackObject.error = error; + exCallbackObject.context = context; + exCallbackObject.param_3 = param_3; + exCallbackObject.param_4 = param_4; + + OSSendMessage(&sMessageQueue, &exCallbackObject, OS_MESSAGE_BLOCKING); + OSEnableScheduler(); + OSYieldThread(); } -#pragma pop - -/* ############################################################################################## */ -/* 8039D490-8039D490 029AF0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8039D552 = "%s in \"%s\" on line %d\n"; -#pragma pop - -/* 8043458C-80434598 0612AC 000C+00 1/1 0/0 0/0 .bss @2182 */ -static u8 lit_2182[12]; /* 80434598-804345A8 0612B8 000C+04 4/4 0/0 0/0 .bss sMapFileList__12JUTException */ -u8 JUTException::sMapFileList[12 + 4 /* padding */]; +JSUList JUTException::sMapFileList(false); /* 804345A8-80434870 0612C8 02C8+00 1/1 0/0 0/0 .bss context$2230 */ -static u8 context[712]; +static OSContext context; /* 802E20C0-802E21FC 2DCA00 013C+00 1/1 0/0 0/0 .text * panic_f_va__12JUTExceptionFPCciPCcP16__va_list_struct */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTException::panic_f_va(char const* param_0, int param_1, char const* param_2, - va_list param_3) { - nofralloc -#include "asm/JSystem/JUtility/JUTException/panic_f_va__12JUTExceptionFPCciPCcP16__va_list_struct.s" +void JUTException::panic_f_va(char const* file, int line, char const* format, va_list args) { + char buffer[256]; + vsnprintf(buffer, sizeof(buffer) - 1, format, args); + if (!sErrorManager) { + OSPanic(file, line, buffer); + } + + OSContext* current_context = OSGetCurrentContext(); + memcpy(&context, current_context, sizeof(OSContext)); + sErrorManager->mStackPointer = (u32)OSGetStackPointer(); + + exCallbackObject.callback = sPreUserCallback; + exCallbackObject.error = 0xFF; + exCallbackObject.context = &context; + exCallbackObject.param_3 = 0; + exCallbackObject.param_4 = 0; + + if (!sConsole || (sConsole && (sConsole->getOutput() & 2) == 0)) { + OSReport("%s in \"%s\" on line %d\n", buffer, file, line); + } + + if (sConsole) { + sConsole->print_f("%s in \"%s\" on line %d\n", buffer, file, line); + } + + OSSendMessage(&sMessageQueue, &exCallbackObject, 1); + OSThread* current_thread = OSGetCurrentThread(); + OSSuspendThread(current_thread); } -#pragma pop /* 802E21FC-802E227C 2DCB3C 0080+00 0/0 16/16 0/0 .text panic_f__12JUTExceptionFPCciPCce */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTException::panic_f(char const* param_0, int param_1, char const* param_2, ...) { - nofralloc -#include "asm/JSystem/JUtility/JUTException/panic_f__12JUTExceptionFPCciPCce.s" +void JUTException::panic_f(char const* file, int line, char const* format, ...) { + va_list args; + va_start(args, format); + panic_f_va(file, line, format, args); + va_end(args); } -#pragma pop /* 802E227C-802E22C4 2DCBBC 0048+00 1/1 0/0 0/0 .text setFPException__12JUTExceptionFUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTException::setFPException(u32 param_0) { - nofralloc -#include "asm/JSystem/JUtility/JUTException/setFPException__12JUTExceptionFUl.s" +void JUTException::setFPException(u32 fpscr_enable_bits) { + __OSFpscrEnableBits = fpscr_enable_bits; + if (fpscr_enable_bits) { + OSSetErrorHandler(OS_ERROR_FLOATING_POINT_EXCEPTION, errorHandler); + } else { + OSSetErrorHandler(OS_ERROR_FLOATING_POINT_EXCEPTION, NULL); + } } -#pragma pop - -/* ############################################################################################## */ -/* 8039D490-8039D490 029AF0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8039D569 = "F%02d: Nan "; -SECTION_DEAD static char const* const stringBase_8039D57A = "F%02d:+Inf "; -SECTION_DEAD static char const* const stringBase_8039D58A = "F%02d:-Inf "; -SECTION_DEAD static char const* const stringBase_8039D59A = "F%02d: 0.0 "; -SECTION_DEAD static char const* const stringBase_8039D5AB = "F%02d:%+.3E"; -#pragma pop - -/* 80456050-80456054 004650 0004+00 1/1 0/0 0/0 .sdata2 @2293 */ -SECTION_SDATA2 static u8 lit_2293[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; /* 802E22C4-802E2454 2DCC04 0190+00 1/1 0/0 0/0 .text showFloatSub__12JUTExceptionFif */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTException::showFloatSub(int param_0, f32 param_1) { - nofralloc -#include "asm/JSystem/JUtility/JUTException/showFloatSub__12JUTExceptionFif.s" +void JUTException::showFloatSub(int index, f32 value) { + if (fpclassify(value) == FP_NAN) { + sConsole->print_f("F%02d: Nan ", index); + } else if (fpclassify(value) == FP_INFINITE) { + if (signbit(value)) { + sConsole->print_f("F%02d:+Inf ", index); + } else { + sConsole->print_f("F%02d:-Inf ", index); + } + } else if (value == 0.0f) { + sConsole->print_f("F%02d: 0.0 ", index); + } else { + sConsole->print_f("F%02d:%+.3E", index, value); + } } -#pragma pop /* ############################################################################################## */ /* 8039D490-8039D490 029AF0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ @@ -405,309 +308,656 @@ SECTION_DEAD static char const* const stringBase_8039D5DF = "\n"; #pragma pop /* 802E2454-802E2578 2DCD94 0124+00 1/1 0/0 0/0 .text showFloat__12JUTExceptionFP9OSContext */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTException::showFloat(OSContext* param_0) { - nofralloc -#include "asm/JSystem/JUtility/JUTException/showFloat__12JUTExceptionFP9OSContext.s" +void JUTException::showFloat(OSContext* context) { + if (!sConsole) { + return; + } + + sConsole->print("-------------------------------- FPR\n"); + for (int i = 0; i < 10; i++) { + showFloatSub(i, context->fpr[i]); + sConsole->print(" "); + showFloatSub(i + 11, context->fpr[i + 11]); + sConsole->print(" "); + showFloatSub(i + 22, context->fpr[i + 22]); + sConsole->print("\n"); + } + showFloatSub(10, context->fpr[10]); + sConsole->print(" "); + showFloatSub(21, context->fpr[21]); + sConsole->print("\n"); } -#pragma pop /* 802E2578-802E2638 2DCEB8 00C0+00 1/1 0/0 0/0 .text * searchPartialModule__12JUTExceptionFUlPUlPUlPUlPUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTException::searchPartialModule(u32 param_0, u32* param_1, u32* param_2, u32* param_3, - u32* param_4) { - nofralloc -#include "asm/JSystem/JUtility/JUTException/searchPartialModule__12JUTExceptionFUlPUlPUlPUlPUl.s" +bool JUTException::searchPartialModule(u32 address, u32* module_id, u32* section_id, + u32* section_offset, u32* name_offset) { + if (!address) { + return false; + } + + OSModuleInfo* module = *(OSModuleInfo**)0x800030C8; + while (module) { + OSSectionInfo* section = (OSSectionInfo*)module->section_info_offset; + for (u32 i = 0; i < module->num_sections; section++, i++) { + if (section->size) { + u32 addr = ALIGN_PREV(section->offset, 2); + if ((addr <= address) && (address < addr + section->size)) { + if (module_id) + *module_id = module->id; + if (section_id) + *section_id = i; + if (section_offset) + *section_offset = address - addr; + if (name_offset) + *name_offset = module->name_offset; + return true; + } + } + } + + module = module->next; + } + + return false; } -#pragma pop /* 802E2638-802E26B0 2DCF78 0078+00 1/1 0/0 0/0 .text search_name_part__FPUcPUci */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void search_name_part(u8* param_0, u8* param_1, int param_2) { - nofralloc -#include "asm/JSystem/JUtility/JUTException/search_name_part__FPUcPUci.s" -} -#pragma pop +static void search_name_part(u8* src, u8* dst, int dst_length) { + for (u8* p = src; *p; p++) { + if (*p == '\\') { + src = p; + } + } -/* ############################################################################################## */ -/* 8039D490-8039D490 029AF0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8039D5E1 = - "-------------------------------- TRACE\n"; -SECTION_DEAD static char const* const stringBase_8039D609 = "Address: BackChain LR save\n"; -SECTION_DEAD static char const* const stringBase_8039D629 = "Suppress trace.\n"; -SECTION_DEAD static char const* const stringBase_8039D63A = "%08X: %08X %08X\n"; -#pragma pop + if (*src == '\\') { + src++; + } + + for (int i = 0; (*src != 0) && (i < dst_length);) { + if (*src == '.') + break; + *dst++ = *src++; + i++; + } + + *dst = '\0'; +} /* 802E26B0-802E27B0 2DCFF0 0100+00 1/1 0/0 0/0 .text showStack__12JUTExceptionFP9OSContext */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTException::showStack(OSContext* param_0) { - nofralloc -#include "asm/JSystem/JUtility/JUTException/showStack__12JUTExceptionFP9OSContext.s" -} -#pragma pop +void JUTException::showStack(OSContext* context) { + if (!sConsole) { + return; + } -/* ############################################################################################## */ -/* 8039D490-8039D490 029AF0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8039D64F = "CONTEXT:%08XH (%s EXCEPTION)\n"; -SECTION_DEAD static char const* const stringBase_8039D66E = "CONTEXT:%08XH\n"; -SECTION_DEAD static char const* const stringBase_8039D67D = " FPE: Invalid operation\n"; -SECTION_DEAD static char const* const stringBase_8039D696 = " SNaN\n"; -SECTION_DEAD static char const* const stringBase_8039D69D = " Infinity - Infinity\n"; -SECTION_DEAD static char const* const stringBase_8039D6B3 = " Infinity / Infinity\n"; -SECTION_DEAD static char const* const stringBase_8039D6C9 = " 0 / 0\n"; -SECTION_DEAD static char const* const stringBase_8039D6D1 = " Infinity * 0\n"; -SECTION_DEAD static char const* const stringBase_8039D6E0 = " Invalid compare\n"; -SECTION_DEAD static char const* const stringBase_8039D6F2 = " Software request\n"; -SECTION_DEAD static char const* const stringBase_8039D705 = " Invalid square root\n"; -SECTION_DEAD static char const* const stringBase_8039D71B = " Invalid integer convert\n"; -SECTION_DEAD static char const* const stringBase_8039D735 = " FPE: Overflow\n"; -SECTION_DEAD static char const* const stringBase_8039D745 = " FPE: Underflow\n"; -SECTION_DEAD static char const* const stringBase_8039D756 = " FPE: Zero division\n"; -SECTION_DEAD static char const* const stringBase_8039D76B = " FPE: Inexact result\n"; -SECTION_DEAD static char const* const stringBase_8039D781 = "SRR0: %08XH SRR1:%08XH\n"; -SECTION_DEAD static char const* const stringBase_8039D79D = "DSISR: %08XH DAR: %08XH\n"; -#pragma pop + u32 i; + sConsole->print("-------------------------------- TRACE\n"); + u32* stackPointer = (u32*)mStackPointer; + sConsole->print_f("Address: BackChain LR save\n"); + + for (i = 0; (stackPointer != NULL) && (stackPointer != (u32*)0xFFFFFFFF) && (i++ < 0x100);) { + if (i > mTraceSuppress) { + sConsole->print("Suppress trace.\n"); + return; + } + + sConsole->print_f("%08X: %08X %08X\n", stackPointer, stackPointer[0], stackPointer[1]); + showMapInfo_subroutine(stackPointer[1], false); + JUTConsoleManager* manager = JUTConsoleManager::sManager; + manager->drawDirect(true); + waitTime(mPrintWaitTime1); + stackPointer = (u32*)stackPointer[0]; + } +} /* 802E27B0-802E2A84 2DD0F0 02D4+00 1/1 0/0 0/0 .text * showMainInfo__12JUTExceptionFUsP9OSContextUlUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTException::showMainInfo(u16 param_0, OSContext* param_1, u32 param_2, u32 param_3) { - nofralloc -#include "asm/JSystem/JUtility/JUTException/showMainInfo__12JUTExceptionFUsP9OSContextUlUl.s" -} -#pragma pop +void JUTException::showMainInfo(u16 error, OSContext* context, u32 dsisr, u32 dar) { + if (!sConsole) { + return; + } -/* ############################################################################################## */ -/* 8039D490-8039D490 029AF0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8039D7B9 = - "-------------------------------- GPR\n"; -SECTION_DEAD static char const* const stringBase_8039D7DF = - "R%02d:%08XH R%02d:%08XH R%02d:%08XH\n"; -SECTION_DEAD static char const* const stringBase_8039D806 = "R%02d:%08XH R%02d:%08XH\n"; -#pragma pop + if (error < (OS_ERROR_MACHINE_CHECK | OS_ERROR_FLOATING_POINT_EXCEPTION)) { + sConsole->print_f("CONTEXT:%08XH (%s EXCEPTION)\n", context, sCpuExpName[error]); + } else { + sConsole->print_f("CONTEXT:%08XH\n", context); + } + + if (error == OS_ERROR_FLOATING_POINT_EXCEPTION) { + u32 flags = fpscr & (((fpscr & 0xf8) << 0x16) | 0x1f80700); + if ((flags & 0x20000000) != 0) { + sConsole->print_f(" FPE: Invalid operation\n"); + if ((fpscr & 0x1000000) != 0) { + sConsole->print_f(" SNaN\n"); + } + if ((fpscr & 0x800000) != 0) { + sConsole->print_f(" Infinity - Infinity\n"); + } + if ((fpscr & 0x400000) != 0) { + sConsole->print_f(" Infinity / Infinity\n"); + } + if ((fpscr & 0x200000) != 0) { + sConsole->print_f(" 0 / 0\n"); + } + if ((fpscr & 0x100000) != 0) { + sConsole->print_f(" Infinity * 0\n"); + } + if ((fpscr & 0x80000) != 0) { + sConsole->print_f(" Invalid compare\n"); + } + if ((fpscr & 0x400) != 0) { + sConsole->print_f(" Software request\n"); + } + if ((fpscr & 0x200) != 0) { + sConsole->print_f(" Invalid square root\n"); + } + if ((fpscr & 0x100) != 0) { + sConsole->print_f(" Invalid integer convert\n"); + } + } + if ((flags & 0x10000000) != 0) { + sConsole->print_f(" FPE: Overflow\n"); + } + if ((flags & 0x8000000) != 0) { + sConsole->print_f(" FPE: Underflow\n"); + } + if ((flags & 0x4000000) != 0) { + sConsole->print_f(" FPE: Zero division\n"); + } + if ((flags & 0x2000000) != 0) { + sConsole->print_f(" FPE: Inexact result\n"); + } + } + sConsole->print_f("SRR0: %08XH SRR1:%08XH\n", context->srr0, context->srr1); + sConsole->print_f("DSISR: %08XH DAR: %08XH\n", dsisr, dar); +} /* 802E2A84-802E2B44 2DD3C4 00C0+00 1/1 0/0 0/0 .text showGPR__12JUTExceptionFP9OSContext */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTException::showGPR(OSContext* param_0) { - nofralloc -#include "asm/JSystem/JUtility/JUTException/showGPR__12JUTExceptionFP9OSContext.s" -} -#pragma pop +void JUTException::showGPR(OSContext* context) { + if (!sConsole) { + return; + } -/* ############################################################################################## */ -/* 8039D490-8039D490 029AF0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8039D820 = ""; -SECTION_DEAD static char const* const stringBase_8039D821 = "%s %s:%x section:%d\n"; -#pragma pop + sConsole->print("-------------------------------- GPR\n"); + for (int i = 0; i < 10; i++) { + sConsole->print_f("R%02d:%08XH R%02d:%08XH R%02d:%08XH\n", i, context->gpr[i], i + 11, + context->gpr[i + 11], i + 22, context->gpr[i + 22]); + } + sConsole->print_f("R%02d:%08XH R%02d:%08XH\n", 10, context->gpr[10], 21, context->gpr[21]); +} /* 802E2B44-802E2CA0 2DD484 015C+00 3/3 0/0 0/0 .text showMapInfo_subroutine__12JUTExceptionFUlb */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTException::showMapInfo_subroutine(u32 param_0, bool param_1) { - nofralloc -#include "asm/JSystem/JUtility/JUTException/showMapInfo_subroutine__12JUTExceptionFUlb.s" -} -#pragma pop +bool JUTException::showMapInfo_subroutine(u32 address, bool begin_with_newline) { + if ((address < 0x80000000) || (0x82ffffff < address)) { + return false; + } -/* ############################################################################################## */ -/* 8039D490-8039D490 029AF0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8039D836 = - "-------------------------------- GPRMAP\n"; -SECTION_DEAD static char const* const stringBase_8039D85F = "R%02d: %08XH"; -SECTION_DEAD static char const* const stringBase_8039D86C = " no information\n"; -SECTION_DEAD static char const* const stringBase_8039D87E = - " no register which seem to address.\n"; -#pragma pop + u32 name_offset; + u32 module_id; + u32 section_id; + u32 section_offset; + u8 name_part[36]; + + const char* new_line = "\n"; + if (begin_with_newline == false) { + new_line = ""; + } + + bool result = + searchPartialModule(address, &module_id, §ion_id, §ion_offset, &name_offset); + if (result == true) { + search_name_part((u8*)name_offset, name_part, 32); + sConsole->print_f("%s %s:%x section:%d\n", new_line, name_part, section_offset, section_id); + begin_with_newline = false; + } + + JSUListIterator last = sMapFileList.getEnd(); + JSUListIterator first = sMapFileList.getFirst(); + if (first != last) { + u32 out_addr; + u32 out_size; + char out_line[256]; + + if (result == true) { + result = + queryMapAddress((char*)name_part, section_offset, section_id, &out_addr, &out_size, + out_line, ARRAY_SIZE(out_line), true, begin_with_newline); + } else { + result = queryMapAddress(NULL, address, -1, &out_addr, &out_size, out_line, + ARRAY_SIZE(out_line), true, begin_with_newline); + } + + if (result == true) { + return true; + } + } + + return false; +} /* 802E2CA0-802E2DAC 2DD5E0 010C+00 1/1 0/0 0/0 .text showGPRMap__12JUTExceptionFP9OSContext */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTException::showGPRMap(OSContext* param_0) { - nofralloc -#include "asm/JSystem/JUtility/JUTException/showGPRMap__12JUTExceptionFP9OSContext.s" -} -#pragma pop +void JUTException::showGPRMap(OSContext* context) { + if (!sConsole) { + return; + } -/* ############################################################################################## */ -/* 8039D490-8039D490 029AF0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8039D8A4 = - "-------------------------------- SRR0MAP\n"; -SECTION_DEAD static char const* const stringBase_8039D8CE = "SRR0: %08XH"; -#pragma pop + bool found_address_register = false; + sConsole->print("-------------------------------- GPRMAP\n"); + + for (int i = 0; i < 31; i++) { + u32 address = context->gpr[i]; + + if (address >= 0x80000000 && address <= 0x83000000 - 1) { + found_address_register = true; + + sConsole->print_f("R%02d: %08XH", i, address); + if (!showMapInfo_subroutine(address, true)) { + sConsole->print(" no information\n"); + } + JUTConsoleManager::sManager->drawDirect(true); + waitTime(mPrintWaitTime1); + } + } + + if (!found_address_register) { + sConsole->print(" no register which seem to address.\n"); + } +} /* 802E2DAC-802E2E70 2DD6EC 00C4+00 1/1 0/0 0/0 .text showSRR0Map__12JUTExceptionFP9OSContext */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTException::showSRR0Map(OSContext* param_0) { - nofralloc -#include "asm/JSystem/JUtility/JUTException/showSRR0Map__12JUTExceptionFP9OSContext.s" -} -#pragma pop +void JUTException::showSRR0Map(OSContext* context) { + if (!sConsole) { + return; + } -/* ############################################################################################## */ -/* 8039D490-8039D490 029AF0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8039D8DA = " MSR:%08XH\t FPSCR:%08XH\n"; -#pragma pop + sConsole->print("-------------------------------- SRR0MAP\n"); + u32 address = context->srr0; + if (address >= 0x80000000 && address <= 0x83000000 - 1) { + sConsole->print_f("SRR0: %08XH", address); + if (showMapInfo_subroutine(address, true) == false) { + sConsole->print(" no information\n"); + } + JUTConsoleManager::getManager()->drawDirect(true); + } +} /* 802E2E70-802E2F18 2DD7B0 00A8+00 1/1 0/0 0/0 .text * printDebugInfo__12JUTExceptionFQ212JUTException9EInfoPageUsP9OSContextUlUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTException::printDebugInfo(JUTException::EInfoPage param_0, u16 param_1, - OSContext* param_2, u32 param_3, u32 param_4) { - nofralloc -#include "asm/JSystem/JUtility/JUTException/printDebugInfo__12JUTExceptionFQ212JUTException9EInfoPageUsP9OSContextUlUl.s" +void JUTException::printDebugInfo(JUTException::EInfoPage page, OSError error, OSContext* context, + u32 param_3, u32 param_4) { + switch (page) { + case EINFO_PAGE_GPR: + return showGPR(context); + case EINFO_PAGE_FLOAT: + showFloat(context); + if (sConsole) { + sConsole->print_f(" MSR:%08XH\t FPSCR:%08XH\n", msr, fpscr); + } + break; + case EINFO_PAGE_STACK: + return showStack(context); + case EINFO_PAGE_GPR_MAP: + return showGPRMap(context); + case EINFO_PAGE_SSR0_MAP: + return showSRR0Map(context); + } } -#pragma pop /* 802E2F18-802E2F54 2DD858 003C+00 1/1 1/1 0/0 .text isEnablePad__12JUTExceptionCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTException::isEnablePad() const { - nofralloc -#include "asm/JSystem/JUtility/JUTException/isEnablePad__12JUTExceptionCFv.s" +bool JUTException::isEnablePad() const { + if (mGamePad == (JUTGamePad*)0xFFFFFFFF) + return true; + + if (mGamePadPort >= 0) + return true; + + return mGamePad; } -#pragma pop /* 802E2F54-802E34C0 2DD894 056C+00 1/1 1/1 0/0 .text readPad__12JUTExceptionFPUlPUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool JUTException::readPad(u32* param_0, u32* param_1) { - nofralloc -#include "asm/JSystem/JUtility/JUTException/readPad__12JUTExceptionFPUlPUl.s" -} -#pragma pop +bool JUTException::readPad(u32* out_trigger, u32* out_button) { + bool result = false; + OSTime start_time = OSGetTime(); + OSTime ms; + do { + OSTime end_time = OSGetTime(); + OSTime ticks = end_time - start_time; + ms = ticks / (OS_TIMER_CLOCK / 1000); + } while (ms < 0x32); -/* ############################################################################################## */ -/* 8039D490-8039D490 029AF0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8039D8F3 = - "******** EXCEPTION OCCURRED! ********\nFrameMemor" - "y:%XH\n"; -SECTION_DEAD static char const* const stringBase_8039D92A = - "******** USER HALT ********\nFrameMemory:%XH\n"; -SECTION_DEAD static char const* const stringBase_8039D957 = "--------------------------------\n"; -#pragma pop + if (mGamePad == (JUTGamePad*)0xffffffff) { + JUTGamePad gamePad0(JUTGamePad::Port_1); + JUTGamePad gamePad1(JUTGamePad::Port_2); + JUTGamePad gamePad2(JUTGamePad::Port_3); + JUTGamePad gamePad3(JUTGamePad::Port_4); + JUTGamePad::read(); + + c3bcnt[0] = + (gamePad0.isPushing3ButtonReset() ? (c3bcnt[0] != 0 ? c3bcnt[0] : OSGetTime()) : 0); + c3bcnt[1] = + (gamePad1.isPushing3ButtonReset() ? (c3bcnt[1] != 0 ? c3bcnt[1] : OSGetTime()) : 0); + c3bcnt[2] = + (gamePad2.isPushing3ButtonReset() ? (c3bcnt[2] != 0 ? c3bcnt[2] : OSGetTime()) : 0); + c3bcnt[3] = + (gamePad3.isPushing3ButtonReset() ? (c3bcnt[3] != 0 ? c3bcnt[3] : OSGetTime()) : 0); + + OSTime resetTime0 = (c3bcnt[0] != 0) ? (OSGetTime() - c3bcnt[0]) : 0; + OSTime resetTime1 = (c3bcnt[1] != 0) ? (OSGetTime() - c3bcnt[1]) : 0; + OSTime resetTime2 = (c3bcnt[2] != 0) ? (OSGetTime() - c3bcnt[2]) : 0; + OSTime resetTime3 = (c3bcnt[3] != 0) ? (OSGetTime() - c3bcnt[3]) : 0; + + gamePad0.checkResetCallback(resetTime0); + gamePad1.checkResetCallback(resetTime1); + gamePad2.checkResetCallback(resetTime2); + gamePad3.checkResetCallback(resetTime3); + + if (out_trigger) { + *out_trigger = gamePad0.getTrigger() | gamePad1.getTrigger() | gamePad2.getTrigger() | + gamePad3.getTrigger(); + } + if (out_button) { + *out_button = gamePad0.getButton() | gamePad1.getButton() | gamePad2.getButton() | + gamePad3.getButton(); + } + + result = true; + } else if (mGamePadPort >= 0) { + JUTGamePad gamePad(mGamePadPort); + OSTime& gamePadTime = c3bcnt[0]; + gamePadTime = + (gamePad.isPushing3ButtonReset() ? (gamePadTime != 0 ? gamePadTime : OSGetTime()) : 0); + + OSTime resetTime = (gamePadTime != 0) ? (OSGetTime() - gamePadTime) : 0; + gamePad.checkResetCallback(resetTime); + + JUTGamePad::read(); + if (out_trigger) { + *out_trigger = gamePad.getTrigger(); + } + if (out_button) { + *out_button = gamePad.getButton(); + } + + result = true; + } else if (mGamePad) { + JUTGamePad::read(); + if (out_trigger) { + *out_trigger = mGamePad->getTrigger(); + } + if (out_button) { + *out_button = mGamePad->getButton(); + } + + result = true; + } + + return result; +} /* 802E34C0-802E3980 2DDE00 04C0+00 1/1 0/0 0/0 .text * printContext__12JUTExceptionFUsP9OSContextUlUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTException::printContext(u16 param_0, OSContext* param_1, u32 param_2, u32 param_3) { - nofralloc -#include "asm/JSystem/JUtility/JUTException/printContext__12JUTExceptionFUsP9OSContextUlUl.s" +// clean up +void JUTException::printContext(OSError error, OSContext* context, u32 dsisr, u32 dar) { + bool is_pad_enabled = isEnablePad() == 0; + if (!sErrorManager->mDirectPrint->isActive()) { + return; + } + + VISetPreRetraceCallback(NULL); + VISetPostRetraceCallback(NULL); + VISetBlack(FALSE); + VIFlush(); + + if (!sConsole) { + return; + } + + if (error < (OS_ERROR_MACHINE_CHECK | OS_ERROR_FLOATING_POINT_EXCEPTION)) { + sConsole->print_f("******** EXCEPTION OCCURRED! ********\nFrameMemory:%XH\n", + getFrameMemory()); + } else { + sConsole->print_f("******** USER HALT ********\nFrameMemory:%XH\n", getFrameMemory()); + } + + int post_callback_executed = false; + while (true) { + showMainInfo(error, context, dsisr, dar); + + JUTConsoleManager::sManager->drawDirect(true); + waitTime(mPrintWaitTime0); + + if ((mPrintFlags & JUT_PRINT_GPR) != 0) { + printDebugInfo(EINFO_PAGE_GPR, error, context, dsisr, dar); + JUTConsoleManager::sManager->drawDirect(true); + waitTime(mPrintWaitTime0); + } + if ((mPrintFlags & JUT_PRINT_SRR0_MAP) != 0) { + printDebugInfo(EINFO_PAGE_SSR0_MAP, error, context, dsisr, dar); + JUTConsoleManager::sManager->drawDirect(true); + waitTime(mPrintWaitTime0); + } + if ((mPrintFlags & JUT_PRINT_GPR_MAP) != 0) { + printDebugInfo(EINFO_PAGE_GPR_MAP, error, context, dsisr, dar); + JUTConsoleManager::sManager->drawDirect(true); + waitTime(mPrintWaitTime0); + } + if ((mPrintFlags & JUT_PRINT_FLOAT) != 0) { + printDebugInfo(EINFO_PAGE_FLOAT, error, context, dsisr, dar); + JUTConsoleManager::sManager->drawDirect(true); + waitTime(mPrintWaitTime0); + } + if ((mPrintFlags & JUT_PRINT_STACK) != 0) { + printDebugInfo(EINFO_PAGE_STACK, error, context, dsisr, dar); + JUTConsoleManager::sManager->drawDirect(true); + waitTime(mPrintWaitTime1); + } + + sConsole->print("--------------------------------\n"); + JUTConsoleManager::sManager->drawDirect(true); + + if (post_callback_executed == 0 && sPostUserCallback) { + BOOL enable = OSEnableInterrupts(); + post_callback_executed = true; + (*sPostUserCallback)(error, context, dsisr, dar); + OSRestoreInterrupts(enable); + } + + if (this->field_0x98 == 0 || !is_pad_enabled) { + break; + } + + sConsole->setOutput(sConsole->getOutput() & 1); + } + + if (!is_pad_enabled) { + OSEnableInterrupts(); + + u32 button; + u32 trigger; + + int down = 0; + int up = 0; + do { + readPad(&trigger, &button); + + bool draw = false; + if (trigger == 0x100) { + sConsole->scrollToLastLine(); + draw = true; + } + + if (trigger == 0x200) { + sConsole->scrollToFirstLine(); + draw = true; + } + + if (button == 8) { + JUTConsole* console = sConsole; + up = (down < 3) ? -1 : ((down < 5) ? -2 : ((down < 7) ? -4 : -8)); + + console->scroll(up); + draw = true; + up = 0; + down++; + } else if (button == 4) { + JUTConsole* console = sConsole; + down = (up < 3) ? 1 : ((up < 5) ? 2 : ((up < 7) ? 4 : 8)); + + console->scroll(down); + draw = true; + down = 0; + up++; + } else { + down = 0; + up = 0; + } + + if (draw == true) { + u32 start = VIGetRetraceCount(); + while (start == VIGetRetraceCount()) + ; + JUTConsoleManager::sManager->drawDirect(true); + } + + waitTime(30); + } while (true); + } + + while (true) { + sConsole->scrollToFirstLine(); + JUTConsoleManager::sManager->drawDirect(true); + waitTime(2000); + + int line_offset; + int used_line; + u32 height; + next: + for (u32 i = sConsole->getHeight(); i > 0; i--) { + sConsole->scroll(1); + JUTConsoleManager::sManager->drawDirect(true); + + height = sConsole->getHeight(); + JUTConsole* console = sConsole; + line_offset = console->getLineOffset(); + used_line = console->getUsedLine(); + if ((used_line - height) + 1U <= line_offset) + break; + waitTime(20); + } + + waitTime(3000); + height = sConsole->getHeight(); + JUTConsole* console = sConsole; + line_offset = console->getLineOffset(); + used_line = console->getUsedLine(); + if ((used_line - height) + 1U <= line_offset) { + continue; + } + goto next; + } } -#pragma pop /* 802E3980-802E3A08 2DE2C0 0088+00 3/3 2/2 0/0 .text waitTime__12JUTExceptionFl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTException::waitTime(s32 param_0) { - nofralloc -#include "asm/JSystem/JUtility/JUTException/waitTime__12JUTExceptionFl.s" +void JUTException::waitTime(s32 timeout_ms) { + if (timeout_ms) { + OSTime start_time = OSGetTime(); + OSTime ms; + do { + OSTime end_time = OSGetTime(); + OSTime ticks = end_time - start_time; + ms = ticks / (OS_TIMER_CLOCK / 1000); + } while (ms < timeout_ms); + } } -#pragma pop /* 802E3A08-802E3AEC 2DE348 00E4+00 1/1 0/0 0/0 .text createFB__12JUTExceptionFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTException::createFB() { - nofralloc -#include "asm/JSystem/JUtility/JUTException/createFB__12JUTExceptionFv.s" +void JUTException::createFB() { + _GXRenderModeObj* renderMode = &GXNtsc480Int; + void* end = (void*)OSGetArenaHi(); + u16 width = ALIGN_NEXT(renderMode->fb_width, 16); + u16 height = renderMode->xfb_height; + u32 pixel_count = width * height; + u32 size = pixel_count * 2; + + void* begin = (void*)ALIGN_PREV((u32)end - size, 32); + void* object = (void*)ALIGN_PREV((s32)begin - sizeof(JUTExternalFB), 32); + new (object) JUTExternalFB(renderMode, GX_GM_1_7, begin, size); + + mDirectPrint->changeFrameBuffer(begin, renderMode->fb_width, renderMode->efb_height); + VIConfigure(renderMode); + VISetNextFrameBuffer(begin); + VISetBlack(FALSE); + VIFlush(); + VIFlush(); + + for (int i = 0; i < 3; i++) { + u32 start = VIGetRetraceCount(); + while (start == VIGetRetraceCount()) + ; + } + + mFrameMemory = (JUTExternalFB*)object; } -#pragma pop /* 802E3AEC-802E3AFC 2DE42C 0010+00 0/0 1/1 0/0 .text * setPreUserCallback__12JUTExceptionFPFUsP9OSContextUlUl_v */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTException::setPreUserCallback(void (*param_0)(u16, OSContext*, u32, u32)) { - nofralloc -#include "asm/JSystem/JUtility/JUTException/setPreUserCallback__12JUTExceptionFPFUsP9OSContextUlUl_v.s" +OSErrorHandler JUTException::setPreUserCallback(OSErrorHandler callback) { + OSErrorHandler previous = sPreUserCallback; + sPreUserCallback = callback; + return previous; } -#pragma pop /* 802E3AFC-802E3B0C 2DE43C 0010+00 0/0 1/1 0/0 .text * setPostUserCallback__12JUTExceptionFPFUsP9OSContextUlUl_v */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTException::setPostUserCallback(void (*param_0)(u16, OSContext*, u32, u32)) { - nofralloc -#include "asm/JSystem/JUtility/JUTException/setPostUserCallback__12JUTExceptionFPFUsP9OSContextUlUl_v.s" +OSErrorHandler JUTException::setPostUserCallback(OSErrorHandler callback) { + OSErrorHandler previous = sPostUserCallback; + sPostUserCallback = callback; + return previous; } -#pragma pop /* 802E3B0C-802E3BA0 2DE44C 0094+00 0/0 1/1 0/0 .text appendMapFile__12JUTExceptionFPCc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTException::appendMapFile(char const* param_0) { - nofralloc -#include "asm/JSystem/JUtility/JUTException/appendMapFile__12JUTExceptionFPCc.s" -} -#pragma pop +void JUTException::appendMapFile(char const* path) { + if (!path) { + return; + } -/* ############################################################################################## */ -/* 8039D490-8039D490 029AF0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8039D979 = ".map"; -#pragma pop + JSUListIterator iterator; + for (iterator = sMapFileList.getFirst(); iterator != sMapFileList.getEnd(); ++iterator) { + if (strcmp(path, iterator->mPath) == 0) { + return; + } + } + + JUTExMapFile* mapFile = new JUTExMapFile((char*)path); + sMapFileList.append(&mapFile->mLink); +} /* 802E3BA0-802E3C90 2DE4E0 00F0+00 1/1 0/0 0/0 .text * queryMapAddress__12JUTExceptionFPcUllPUlPUlPcUlbb */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTException::queryMapAddress(char* param_0, u32 param_1, s32 param_2, u32* param_3, - u32* param_4, char* param_5, u32 param_6, bool param_7, - bool param_8) { - nofralloc -#include "asm/JSystem/JUtility/JUTException/queryMapAddress__12JUTExceptionFPcUllPUlPUlPcUlbb.s" +bool JUTException::queryMapAddress(char* mapPath, u32 address, s32 section_id, u32* out_addr, + u32* out_size, char* out_line, u32 line_length, bool print, + bool begin_with_newline) { + if (mapPath) { + char buffer[80]; + strcpy(buffer, mapPath); + strcat(buffer, ".map"); + if (queryMapAddress_single(buffer, address, section_id, out_addr, out_size, out_line, + line_length, print, begin_with_newline) == true) { + return true; + } + } else if (sMapFileList.getFirst() != sMapFileList.getEnd()) { + if (queryMapAddress_single(sMapFileList.getFirst()->getObject()->mPath, address, -1, + out_addr, out_size, out_line, line_length, print, + begin_with_newline) == true) { + return true; + } + } + + return false; } -#pragma pop /* ############################################################################################## */ /* 8039D490-8039D490 029AF0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ @@ -720,88 +970,181 @@ SECTION_DEAD static char const* const pad_8039D99E = "\0"; /* 802E3C90-802E3FEC 2DE5D0 035C+00 1/1 0/0 0/0 .text * queryMapAddress_single__12JUTExceptionFPcUllPUlPUlPcUlbb */ +// 2 additional instructions (addi r5,r1,8) related to section_name variable. +#if NONMATCHING +bool JUTException::queryMapAddress_single(char* mapPath, u32 address, s32 section_id, u32* out_addr, + u32* out_size, char* out_line, u32 line_length, + bool print, bool begin_with_newline) { + if (!mapPath) { + return false; + } + + char section_name[16]; + char buffer[0x200]; + JUTDirectFile file; + int i = 0; + if (!file.fopen(mapPath)) { + return false; + } + + int result = 0; + do { + char* src = buffer; + int found_section = 0; + do { + i++; + while (true) { + while (true) { + int length = file.fgets(buffer, ARRAY_SIZE(buffer)); + if (length < 0) + goto next_section; + if (buffer[0] == '.') + break; + } + + char* dst = section_name; + int i = 0; + char* src = buffer + 1; + for (; *src != '\0'; i++, dst++, src++) { + *dst = *src; + if (*src == ' ' || i == 0xf) + break; + } + + section_name[i] = 0; + if (*src == 0) + break; + + if (src[1] == 's' && src[2] == 'e' && src[3] == 'c' && src[4] == 't') { + found_section = true; + break; + } + } + if ((found_section & 0xFF) == 0) + goto end; + } while (section_id >= 0 && section_id != i); + next_section:; + + u32 addr; + int size; + do { + int length; + do { + length = file.fgets(buffer, ARRAY_SIZE(buffer)); + if (length <= 4) + goto next_symbol; + } while ((length < 28) || (buffer[28] != '4')); + + addr = strtol(buffer + 19, NULL, 16); + addr = ((buffer[18] - '0') << 28) | addr; + size = strtol(buffer + 11, NULL, 16); + } while (addr > address || address >= addr + size); + + if (out_addr) + *out_addr = addr; + + if (out_size) + *out_size = size; + + if (out_line) { + src = buffer + 0x1e; + char* dst = out_line; + u32 length = 0; + for (; length < line_length - 1; src++) { + u32 ch = *(u8*)src; + if (ch < ' ' && ch != '\t') + break; + if (((int)ch == ' ' || ch == '\t') && (length != 0)) { + if (dst[-1] != ' ') { + *dst = ' '; + dst++; + length++; + } + } else { + *dst = ch; + dst++; + length++; + } + } + if (length != 0 && dst[-1] == ' ') { + dst--; + } + *dst = 0; + if (print) { + if (begin_with_newline) { + sConsole->print("\n"); + } + sConsole->print_f(" [%08X]: .%s [%08X: %XH]\n %s\n", address, section_name, addr, + size, out_line); + begin_with_newline = false; + } + } + + result = true; + + next_symbol:; + } while ((result & 0xFF) == 0 && section_id >= 0 && section_id != i); + + if (print && begin_with_newline) { + sConsole->print("\n"); + } + +end: + bool bresult = (file.fclose() & 0xFF) != 0; + return bresult; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JUTException::queryMapAddress_single(char* param_0, u32 param_1, s32 param_2, u32* param_3, +asm bool JUTException::queryMapAddress_single(char* param_0, u32 param_1, s32 param_2, u32* param_3, u32* param_4, char* param_5, u32 param_6, bool param_7, bool param_8) { nofralloc #include "asm/JSystem/JUtility/JUTException/queryMapAddress_single__12JUTExceptionFPcUllPUlPUlPcUlbb.s" } #pragma pop - -/* ############################################################################################## */ -/* 80456054-80456058 004654 0004+00 1/1 0/0 0/0 .sdata2 @3034 */ -SECTION_SDATA2 static f32 lit_3034 = 10.0f; - -/* 80456058-80456060 004658 0004+04 1/1 0/0 0/0 .sdata2 @3035 */ -SECTION_SDATA2 static f32 lit_3035[1 + 1 /* padding */] = { - 6.0f, - /* padding */ - 0.0f, -}; +#endif /* 802E3FEC-802E40CC 2DE92C 00E0+00 0/0 1/1 0/0 .text createConsole__12JUTExceptionFPvUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JUTException::createConsole(void* param_0, u32 param_1) { - nofralloc -#include "asm/JSystem/JUtility/JUTException/createConsole__12JUTExceptionFPvUl.s" +void JUTException::createConsole(void* console_buffer, u32 console_buffer_size) { + if (!console_buffer || !console_buffer_size) { + return; + } + + u32 lines = JUTConsole::getLineFromObjectSize(console_buffer_size, 0x32); + if (lines != 0) { + sConsoleBuffer = console_buffer; + sConsoleBufferSize = console_buffer_size; + sConsole = JUTConsole::create(0x32, console_buffer, console_buffer_size); + + JUTConsoleManager* manager = JUTConsoleManager::sManager; + manager->setDirectConsole(sConsole); + + sConsole->setFontSize(10.0, 6.0); + sConsole->setPosition(15, 26); + sConsole->setHeight(23); + sConsole->setVisible(true); + sConsole->setOutput(3); + } } -#pragma pop /* 802E40CC-802E40EC 2DEA0C 0020+00 1/1 0/0 0/0 .text * __ct__13JUTExternalFBFP16_GXRenderModeObj8_GXGammaPvUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm JUTExternalFB::JUTExternalFB(_GXRenderModeObj* param_0, _GXGamma param_1, void* param_2, - u32 param_3) { - nofralloc -#include "asm/JSystem/JUtility/JUTException/__ct__13JUTExternalFBFP16_GXRenderModeObj8_GXGammaPvUl.s" +JUTExternalFB::JUTExternalFB(_GXRenderModeObj* renderMode, GXGamma gamma, void* buffer, u32 size) { + mRenderMode = renderMode; + mSize = size; + field_0x0C = 1; + mGamma = gamma; + field_0x10 = false; } -#pragma pop /* 802E40EC-802E414C 2DEA2C 0060+00 1/0 0/0 0/0 .text __dt__12JUTExceptionFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm JUTException::~JUTException() { - nofralloc -#include "asm/JSystem/JUtility/JUTException/__dt__12JUTExceptionFv.s" -} -#pragma pop +JUTException::~JUTException() {} -/* 802E414C-802E4194 2DEA8C 0048+00 0/0 1/0 0/0 .text __sinit_JUTException_cpp */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __sinit_JUTException_cpp() { - nofralloc -#include "asm/JSystem/JUtility/JUTException/__sinit_JUTException_cpp.s" -} -#pragma pop - -#pragma push -#pragma force_active on -REGISTER_CTORS(0x802E414C, __sinit_JUTException_cpp); -#pragma pop - -/* 802E4194-802E41E8 2DEAD4 0054+00 1/1 0/0 0/0 .text - * __dt__39JSUListFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -extern "C" asm void func_802E4194(void* _this) { - nofralloc -#include "asm/JSystem/JUtility/JUTException/func_802E4194.s" -} -#pragma pop - -/* ############################################################################################## */ +/* ############################################################################################## + */ /* 804508F8-80450900 000378 0008+00 0/0 3/3 0/0 .sdata None */ SECTION_SDATA extern u8 data_804508F8[8] = { 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, diff --git a/libs/MSL_C.PPCEABI.bare.H/MSL_Common/Src/printf.cpp b/libs/MSL_C.PPCEABI.bare.H/MSL_Common/Src/printf.cpp index 6232b0d3887..297b0395187 100644 --- a/libs/MSL_C.PPCEABI.bare.H/MSL_Common/Src/printf.cpp +++ b/libs/MSL_C.PPCEABI.bare.H/MSL_Common/Src/printf.cpp @@ -4,6 +4,7 @@ // #include "MSL_C.PPCEABI.bare.H/MSL_Common/Src/printf.h" +#include "Runtime.PPCEABI.H/__va_arg.h" #include "dol2asm.h" #include "dolphin/types.h" diff --git a/libs/SSystem/SComponent/c_m3d.cpp b/libs/SSystem/SComponent/c_m3d.cpp index de18cfa2447..055f5f793f6 100644 --- a/libs/SSystem/SComponent/c_m3d.cpp +++ b/libs/SSystem/SComponent/c_m3d.cpp @@ -1072,8 +1072,8 @@ asm bool cM3d_Cross_TriTri(cM3dGTri const& param_0, cM3dGTri const& param_1, Vec } #pragma pop -inline f32 cM3d_2LinCenter(cM3dGLin const pLinA, f32 pLinAF, cM3dGLin const& pLinB, f32 pLinBF, - Vec* pVecOut) { +inline void cM3d_2LinCenter(cM3dGLin const pLinA, f32 pLinAF, cM3dGLin const& pLinB, f32 pLinBF, + Vec* pVecOut) { Vec tmp, tmp2; pLinA.CalcPos(&tmp, pLinAF); pLinB.CalcPos(&tmp2, pLinBF); diff --git a/libs/dolphin/os/OSCache.cpp b/libs/dolphin/os/OSCache.cpp index 01cedfc94f1..16d1902d91f 100644 --- a/libs/dolphin/os/OSCache.cpp +++ b/libs/dolphin/os/OSCache.cpp @@ -5,6 +5,7 @@ #include "dolphin/os/OSCache.h" #include "dol2asm.h" +#include "dolphin/os/OSError.h" #include "dolphin/types.h" // @@ -43,7 +44,6 @@ extern "C" void PPCHalt(); extern "C" void PPCMfhid2(); extern "C" void PPCMthid2(); extern "C" void OSDumpContext(); -extern "C" void OSSetErrorHandler(); extern "C" void OSDisableInterrupts(); extern "C" void OSRestoreInterrupts(); extern "C" void DBPrintf(); diff --git a/libs/dolphin/os/OSError.cpp b/libs/dolphin/os/OSError.cpp index afb21affcfc..0904e5d800f 100644 --- a/libs/dolphin/os/OSError.cpp +++ b/libs/dolphin/os/OSError.cpp @@ -11,7 +11,6 @@ // Forward References: // -extern "C" void OSSetErrorHandler(); extern "C" void __OSUnhandledException(); // @@ -54,7 +53,7 @@ SECTION_SDATA extern u32 __OSFpscrEnableBits = 0x000000F8; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void OSSetErrorHandler() { +asm void OSSetErrorHandler(OSError, OSErrorHandler) { nofralloc #include "asm/dolphin/os/OSError/OSSetErrorHandler.s" } diff --git a/src/m_Do/m_Do_machine.cpp b/src/m_Do/m_Do_machine.cpp index 85da0fc17f2..ff674456683 100644 --- a/src/m_Do/m_Do_machine.cpp +++ b/src/m_Do/m_Do_machine.cpp @@ -338,8 +338,7 @@ void myExceptionCallback(u16 param_0, OSContext* param_1, u32 param_2, u32 param manager->setTraceSuppress(0x80); if (data_80450580 == 0) { JUTGamePad pad(JUTGamePad::Port_1); - manager->field_0x84 = &pad; - manager->field_0x88 = -1; + manager->setGamePad(&pad); if (manager != NULL) { OSEnableInterrupts(); diff --git a/src/m_Do/m_Do_printf.cpp b/src/m_Do/m_Do_printf.cpp index 5cf3477523d..4c3ae331fef 100644 --- a/src/m_Do/m_Do_printf.cpp +++ b/src/m_Do/m_Do_printf.cpp @@ -4,6 +4,7 @@ // #include "m_Do/m_Do_printf.h" +#include "Runtime.PPCEABI.H/__va_arg.h" #include "dol2asm.h" #include "dolphin/os/OS.h" #include "dolphin/types.h"