mirror of https://github.com/zeldaret/tp.git
m_Do_printf / JUTConsole
This commit is contained in:
parent
a7ccd88167
commit
a08acfa69b
|
@ -1,20 +0,0 @@
|
|||
lbl_802E7F30:
|
||||
/* 802E7F30 94 21 FB F0 */ stwu r1, -0x410(r1)
|
||||
/* 802E7F34 7C 08 02 A6 */ mflr r0
|
||||
/* 802E7F38 90 01 04 14 */ stw r0, 0x414(r1)
|
||||
/* 802E7F3C 93 E1 04 0C */ stw r31, 0x40c(r1)
|
||||
/* 802E7F40 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 802E7F44 7C 80 23 78 */ mr r0, r4
|
||||
/* 802E7F48 7C A6 2B 78 */ mr r6, r5
|
||||
/* 802E7F4C 38 61 00 08 */ addi r3, r1, 8
|
||||
/* 802E7F50 38 80 04 00 */ li r4, 0x400
|
||||
/* 802E7F54 7C 05 03 78 */ mr r5, r0
|
||||
/* 802E7F58 48 07 E7 39 */ bl vsnprintf
|
||||
/* 802E7F5C 7F E3 FB 78 */ mr r3, r31
|
||||
/* 802E7F60 38 81 00 08 */ addi r4, r1, 8
|
||||
/* 802E7F64 4B FF FC D5 */ bl print__10JUTConsoleFPCc
|
||||
/* 802E7F68 83 E1 04 0C */ lwz r31, 0x40c(r1)
|
||||
/* 802E7F6C 80 01 04 14 */ lwz r0, 0x414(r1)
|
||||
/* 802E7F70 7C 08 03 A6 */ mtlr r0
|
||||
/* 802E7F74 38 21 04 10 */ addi r1, r1, 0x410
|
||||
/* 802E7F78 4E 80 00 20 */ blr
|
|
@ -1,14 +0,0 @@
|
|||
lbl_802E8648:
|
||||
/* 802E8648 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802E864C 7C 08 02 A6 */ mflr r0
|
||||
/* 802E8650 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802E8654 7C 64 1B 78 */ mr r4, r3
|
||||
/* 802E8658 3C 60 80 3A */ lis r3, JUTConsole__stringBase0@ha /* 0x8039D9A8@ha */
|
||||
/* 802E865C 38 63 D9 A8 */ addi r3, r3, JUTConsole__stringBase0@l /* 0x8039D9A8@l */
|
||||
/* 802E8660 38 63 00 60 */ addi r3, r3, 0x60
|
||||
/* 802E8664 4C C6 31 82 */ crclr 6
|
||||
/* 802E8668 4B FF FF 61 */ bl JUTReportConsole_f
|
||||
/* 802E866C 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802E8670 7C 08 03 A6 */ mtlr r0
|
||||
/* 802E8674 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802E8678 4E 80 00 20 */ blr
|
|
@ -1,34 +0,0 @@
|
|||
lbl_802E85C8:
|
||||
/* 802E85C8 94 21 FF 80 */ stwu r1, -0x80(r1)
|
||||
/* 802E85CC 7C 08 02 A6 */ mflr r0
|
||||
/* 802E85D0 90 01 00 84 */ stw r0, 0x84(r1)
|
||||
/* 802E85D4 40 86 00 24 */ bne cr1, lbl_802E85F8
|
||||
/* 802E85D8 D8 21 00 28 */ stfd f1, 0x28(r1)
|
||||
/* 802E85DC D8 41 00 30 */ stfd f2, 0x30(r1)
|
||||
/* 802E85E0 D8 61 00 38 */ stfd f3, 0x38(r1)
|
||||
/* 802E85E4 D8 81 00 40 */ stfd f4, 0x40(r1)
|
||||
/* 802E85E8 D8 A1 00 48 */ stfd f5, 0x48(r1)
|
||||
/* 802E85EC D8 C1 00 50 */ stfd f6, 0x50(r1)
|
||||
/* 802E85F0 D8 E1 00 58 */ stfd f7, 0x58(r1)
|
||||
/* 802E85F4 D9 01 00 60 */ stfd f8, 0x60(r1)
|
||||
lbl_802E85F8:
|
||||
/* 802E85F8 90 61 00 08 */ stw r3, 8(r1)
|
||||
/* 802E85FC 90 81 00 0C */ stw r4, 0xc(r1)
|
||||
/* 802E8600 90 A1 00 10 */ stw r5, 0x10(r1)
|
||||
/* 802E8604 90 C1 00 14 */ stw r6, 0x14(r1)
|
||||
/* 802E8608 90 E1 00 18 */ stw r7, 0x18(r1)
|
||||
/* 802E860C 91 01 00 1C */ stw r8, 0x1c(r1)
|
||||
/* 802E8610 91 21 00 20 */ stw r9, 0x20(r1)
|
||||
/* 802E8614 91 41 00 24 */ stw r10, 0x24(r1)
|
||||
/* 802E8618 38 81 00 68 */ addi r4, r1, 0x68
|
||||
/* 802E861C 3C 00 01 00 */ lis r0, 0x100
|
||||
/* 802E8620 90 01 00 68 */ stw r0, 0x68(r1)
|
||||
/* 802E8624 38 01 00 88 */ addi r0, r1, 0x88
|
||||
/* 802E8628 90 01 00 6C */ stw r0, 0x6c(r1)
|
||||
/* 802E862C 38 01 00 08 */ addi r0, r1, 8
|
||||
/* 802E8630 90 01 00 70 */ stw r0, 0x70(r1)
|
||||
/* 802E8634 4B FF FF 0D */ bl JUTReportConsole_f_va
|
||||
/* 802E8638 80 01 00 84 */ lwz r0, 0x84(r1)
|
||||
/* 802E863C 7C 08 03 A6 */ mtlr r0
|
||||
/* 802E8640 38 21 00 80 */ addi r1, r1, 0x80
|
||||
/* 802E8644 4E 80 00 20 */ blr
|
|
@ -1,37 +0,0 @@
|
|||
lbl_802E8540:
|
||||
/* 802E8540 94 21 FE F0 */ stwu r1, -0x110(r1)
|
||||
/* 802E8544 7C 08 02 A6 */ mflr r0
|
||||
/* 802E8548 90 01 01 14 */ stw r0, 0x114(r1)
|
||||
/* 802E854C 93 E1 01 0C */ stw r31, 0x10c(r1)
|
||||
/* 802E8550 93 C1 01 08 */ stw r30, 0x108(r1)
|
||||
/* 802E8554 7C 7E 1B 78 */ mr r30, r3
|
||||
/* 802E8558 7C 9F 23 78 */ mr r31, r4
|
||||
/* 802E855C 4B FF FF CD */ bl JUTGetReportConsole
|
||||
/* 802E8560 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 802E8564 40 82 00 1C */ bne lbl_802E8580
|
||||
/* 802E8568 38 61 00 08 */ addi r3, r1, 8
|
||||
/* 802E856C 38 80 01 00 */ li r4, 0x100
|
||||
/* 802E8570 7F C5 F3 78 */ mr r5, r30
|
||||
/* 802E8574 7F E6 FB 78 */ mr r6, r31
|
||||
/* 802E8578 48 07 E1 19 */ bl vsnprintf
|
||||
/* 802E857C 48 00 00 34 */ b lbl_802E85B0
|
||||
lbl_802E8580:
|
||||
/* 802E8580 4B FF FF A9 */ bl JUTGetReportConsole
|
||||
/* 802E8584 80 03 00 58 */ lwz r0, 0x58(r3)
|
||||
/* 802E8588 54 00 07 BF */ clrlwi. r0, r0, 0x1e
|
||||
/* 802E858C 41 82 00 24 */ beq lbl_802E85B0
|
||||
/* 802E8590 38 61 00 08 */ addi r3, r1, 8
|
||||
/* 802E8594 38 80 01 00 */ li r4, 0x100
|
||||
/* 802E8598 7F C5 F3 78 */ mr r5, r30
|
||||
/* 802E859C 7F E6 FB 78 */ mr r6, r31
|
||||
/* 802E85A0 48 07 E0 F1 */ bl vsnprintf
|
||||
/* 802E85A4 4B FF FF 85 */ bl JUTGetReportConsole
|
||||
/* 802E85A8 38 81 00 08 */ addi r4, r1, 8
|
||||
/* 802E85AC 4B FF F6 8D */ bl print__10JUTConsoleFPCc
|
||||
lbl_802E85B0:
|
||||
/* 802E85B0 83 E1 01 0C */ lwz r31, 0x10c(r1)
|
||||
/* 802E85B4 83 C1 01 08 */ lwz r30, 0x108(r1)
|
||||
/* 802E85B8 80 01 01 14 */ lwz r0, 0x114(r1)
|
||||
/* 802E85BC 7C 08 03 A6 */ mtlr r0
|
||||
/* 802E85C0 38 21 01 10 */ addi r1, r1, 0x110
|
||||
/* 802E85C4 4E 80 00 20 */ blr
|
|
@ -1,3 +0,0 @@
|
|||
lbl_802E8520:
|
||||
/* 802E8520 90 6D 8F F4 */ stw r3, sReportConsole(r13)
|
||||
/* 802E8524 4E 80 00 20 */ blr
|
|
@ -1,3 +0,0 @@
|
|||
lbl_802E8530:
|
||||
/* 802E8530 90 6D 8F F8 */ stw r3, sWarningConsole(r13)
|
||||
/* 802E8534 4E 80 00 20 */ blr
|
|
@ -1,14 +0,0 @@
|
|||
lbl_802E86FC:
|
||||
/* 802E86FC 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802E8700 7C 08 02 A6 */ mflr r0
|
||||
/* 802E8704 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802E8708 7C 64 1B 78 */ mr r4, r3
|
||||
/* 802E870C 3C 60 80 3A */ lis r3, JUTConsole__stringBase0@ha /* 0x8039D9A8@ha */
|
||||
/* 802E8710 38 63 D9 A8 */ addi r3, r3, JUTConsole__stringBase0@l /* 0x8039D9A8@l */
|
||||
/* 802E8714 38 63 00 60 */ addi r3, r3, 0x60
|
||||
/* 802E8718 4C C6 31 82 */ crclr 6
|
||||
/* 802E871C 4B FF FE AD */ bl JUTReportConsole_f
|
||||
/* 802E8720 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802E8724 7C 08 03 A6 */ mtlr r0
|
||||
/* 802E8728 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802E872C 4E 80 00 20 */ blr
|
|
@ -1,34 +0,0 @@
|
|||
lbl_802E867C:
|
||||
/* 802E867C 94 21 FF 80 */ stwu r1, -0x80(r1)
|
||||
/* 802E8680 7C 08 02 A6 */ mflr r0
|
||||
/* 802E8684 90 01 00 84 */ stw r0, 0x84(r1)
|
||||
/* 802E8688 40 86 00 24 */ bne cr1, lbl_802E86AC
|
||||
/* 802E868C D8 21 00 28 */ stfd f1, 0x28(r1)
|
||||
/* 802E8690 D8 41 00 30 */ stfd f2, 0x30(r1)
|
||||
/* 802E8694 D8 61 00 38 */ stfd f3, 0x38(r1)
|
||||
/* 802E8698 D8 81 00 40 */ stfd f4, 0x40(r1)
|
||||
/* 802E869C D8 A1 00 48 */ stfd f5, 0x48(r1)
|
||||
/* 802E86A0 D8 C1 00 50 */ stfd f6, 0x50(r1)
|
||||
/* 802E86A4 D8 E1 00 58 */ stfd f7, 0x58(r1)
|
||||
/* 802E86A8 D9 01 00 60 */ stfd f8, 0x60(r1)
|
||||
lbl_802E86AC:
|
||||
/* 802E86AC 90 61 00 08 */ stw r3, 8(r1)
|
||||
/* 802E86B0 90 81 00 0C */ stw r4, 0xc(r1)
|
||||
/* 802E86B4 90 A1 00 10 */ stw r5, 0x10(r1)
|
||||
/* 802E86B8 90 C1 00 14 */ stw r6, 0x14(r1)
|
||||
/* 802E86BC 90 E1 00 18 */ stw r7, 0x18(r1)
|
||||
/* 802E86C0 91 01 00 1C */ stw r8, 0x1c(r1)
|
||||
/* 802E86C4 91 21 00 20 */ stw r9, 0x20(r1)
|
||||
/* 802E86C8 91 41 00 24 */ stw r10, 0x24(r1)
|
||||
/* 802E86CC 38 81 00 68 */ addi r4, r1, 0x68
|
||||
/* 802E86D0 3C 00 01 00 */ lis r0, 0x100
|
||||
/* 802E86D4 90 01 00 68 */ stw r0, 0x68(r1)
|
||||
/* 802E86D8 38 01 00 88 */ addi r0, r1, 0x88
|
||||
/* 802E86DC 90 01 00 6C */ stw r0, 0x6c(r1)
|
||||
/* 802E86E0 38 01 00 08 */ addi r0, r1, 8
|
||||
/* 802E86E4 90 01 00 70 */ stw r0, 0x70(r1)
|
||||
/* 802E86E8 4B FF FE 59 */ bl JUTReportConsole_f_va
|
||||
/* 802E86EC 80 01 00 84 */ lwz r0, 0x84(r1)
|
||||
/* 802E86F0 7C 08 03 A6 */ mtlr r0
|
||||
/* 802E86F4 38 21 00 80 */ addi r1, r1, 0x80
|
||||
/* 802E86F8 4E 80 00 20 */ blr
|
|
@ -1,62 +0,0 @@
|
|||
lbl_802E746C:
|
||||
/* 802E746C 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 802E7470 7C 08 02 A6 */ mflr r0
|
||||
/* 802E7474 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 802E7478 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 802E747C 48 07 AD 5D */ bl _savegpr_28
|
||||
/* 802E7480 7C 7C 1B 78 */ mr r28, r3
|
||||
/* 802E7484 7C 9D 23 78 */ mr r29, r4
|
||||
/* 802E7488 7C BE 2B 78 */ mr r30, r5
|
||||
/* 802E748C 7C DF 33 78 */ mr r31, r6
|
||||
/* 802E7490 4B FE 9F ED */ bl __ct__11JKRDisposerFv
|
||||
/* 802E7494 3C 60 80 3D */ lis r3, __vt__10JUTConsole@ha /* 0x803CC9A8@ha */
|
||||
/* 802E7498 38 03 C9 A8 */ addi r0, r3, __vt__10JUTConsole@l /* 0x803CC9A8@l */
|
||||
/* 802E749C 90 1C 00 00 */ stw r0, 0(r28)
|
||||
/* 802E74A0 38 00 00 00 */ li r0, 0
|
||||
/* 802E74A4 90 1C 00 18 */ stw r0, 0x18(r28)
|
||||
/* 802E74A8 90 1C 00 1C */ stw r0, 0x1c(r28)
|
||||
/* 802E74AC 38 00 FF FF */ li r0, -1
|
||||
/* 802E74B0 90 1C 00 5C */ stw r0, 0x5c(r28)
|
||||
/* 802E74B4 90 1C 00 60 */ stw r0, 0x60(r28)
|
||||
/* 802E74B8 9B FC 00 2C */ stb r31, 0x2c(r28)
|
||||
/* 802E74BC 93 BC 00 20 */ stw r29, 0x20(r28)
|
||||
/* 802E74C0 93 DC 00 24 */ stw r30, 0x24(r28)
|
||||
/* 802E74C4 38 00 00 1E */ li r0, 0x1e
|
||||
/* 802E74C8 90 1C 00 40 */ stw r0, 0x40(r28)
|
||||
/* 802E74CC 38 00 00 32 */ li r0, 0x32
|
||||
/* 802E74D0 90 1C 00 44 */ stw r0, 0x44(r28)
|
||||
/* 802E74D4 38 00 00 14 */ li r0, 0x14
|
||||
/* 802E74D8 90 1C 00 48 */ stw r0, 0x48(r28)
|
||||
/* 802E74DC 80 1C 00 48 */ lwz r0, 0x48(r28)
|
||||
/* 802E74E0 80 7C 00 24 */ lwz r3, 0x24(r28)
|
||||
/* 802E74E4 7C 00 18 40 */ cmplw r0, r3
|
||||
/* 802E74E8 40 81 00 08 */ ble lbl_802E74F0
|
||||
/* 802E74EC 90 7C 00 48 */ stw r3, 0x48(r28)
|
||||
lbl_802E74F0:
|
||||
/* 802E74F0 38 60 00 00 */ li r3, 0
|
||||
/* 802E74F4 90 7C 00 4C */ stw r3, 0x4c(r28)
|
||||
/* 802E74F8 38 00 00 01 */ li r0, 1
|
||||
/* 802E74FC 98 1C 00 68 */ stb r0, 0x68(r28)
|
||||
/* 802E7500 98 7C 00 69 */ stb r3, 0x69(r28)
|
||||
/* 802E7504 98 7C 00 6A */ stb r3, 0x6a(r28)
|
||||
/* 802E7508 98 7C 00 6B */ stb r3, 0x6b(r28)
|
||||
/* 802E750C 90 1C 00 58 */ stw r0, 0x58(r28)
|
||||
/* 802E7510 98 7C 00 5C */ stb r3, 0x5c(r28)
|
||||
/* 802E7514 98 7C 00 5D */ stb r3, 0x5d(r28)
|
||||
/* 802E7518 98 7C 00 5E */ stb r3, 0x5e(r28)
|
||||
/* 802E751C 38 00 00 64 */ li r0, 0x64
|
||||
/* 802E7520 98 1C 00 5F */ stb r0, 0x5f(r28)
|
||||
/* 802E7524 98 7C 00 60 */ stb r3, 0x60(r28)
|
||||
/* 802E7528 98 7C 00 61 */ stb r3, 0x61(r28)
|
||||
/* 802E752C 98 7C 00 62 */ stb r3, 0x62(r28)
|
||||
/* 802E7530 38 00 00 E6 */ li r0, 0xe6
|
||||
/* 802E7534 98 1C 00 63 */ stb r0, 0x63(r28)
|
||||
/* 802E7538 38 00 00 08 */ li r0, 8
|
||||
/* 802E753C 90 1C 00 64 */ stw r0, 0x64(r28)
|
||||
/* 802E7540 7F 83 E3 78 */ mr r3, r28
|
||||
/* 802E7544 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 802E7548 48 07 AC DD */ bl _restgpr_28
|
||||
/* 802E754C 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 802E7550 7C 08 03 A6 */ mtlr r0
|
||||
/* 802E7554 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 802E7558 4E 80 00 20 */ blr
|
|
@ -1,11 +0,0 @@
|
|||
lbl_802E81CC:
|
||||
/* 802E81CC 38 80 00 00 */ li r4, 0
|
||||
/* 802E81D0 90 83 00 04 */ stw r4, 4(r3)
|
||||
/* 802E81D4 90 83 00 08 */ stw r4, 8(r3)
|
||||
/* 802E81D8 90 83 00 00 */ stw r4, 0(r3)
|
||||
/* 802E81DC 38 03 00 04 */ addi r0, r3, 4
|
||||
/* 802E81E0 90 03 00 04 */ stw r0, 4(r3)
|
||||
/* 802E81E4 90 03 00 08 */ stw r0, 8(r3)
|
||||
/* 802E81E8 90 83 00 0C */ stw r4, 0xc(r3)
|
||||
/* 802E81EC 90 83 00 10 */ stw r4, 0x10(r3)
|
||||
/* 802E81F0 4E 80 00 20 */ blr
|
|
@ -1,30 +0,0 @@
|
|||
lbl_802E755C:
|
||||
/* 802E755C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802E7560 7C 08 02 A6 */ mflr r0
|
||||
/* 802E7564 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802E7568 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 802E756C 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 802E7570 7C 7E 1B 79 */ or. r30, r3, r3
|
||||
/* 802E7574 7C 9F 23 78 */ mr r31, r4
|
||||
/* 802E7578 41 82 00 38 */ beq lbl_802E75B0
|
||||
/* 802E757C 3C 60 80 3D */ lis r3, __vt__10JUTConsole@ha /* 0x803CC9A8@ha */
|
||||
/* 802E7580 38 03 C9 A8 */ addi r0, r3, __vt__10JUTConsole@l /* 0x803CC9A8@l */
|
||||
/* 802E7584 90 1E 00 00 */ stw r0, 0(r30)
|
||||
/* 802E7588 80 6D 8F F0 */ lwz r3, sManager__17JUTConsoleManager(r13)
|
||||
/* 802E758C 7F C4 F3 78 */ mr r4, r30
|
||||
/* 802E7590 48 00 0D 21 */ bl removeConsole__17JUTConsoleManagerFP10JUTConsole
|
||||
/* 802E7594 7F C3 F3 78 */ mr r3, r30
|
||||
/* 802E7598 38 80 00 00 */ li r4, 0
|
||||
/* 802E759C 4B FE 9F 49 */ bl __dt__11JKRDisposerFv
|
||||
/* 802E75A0 7F E0 07 35 */ extsh. r0, r31
|
||||
/* 802E75A4 40 81 00 0C */ ble lbl_802E75B0
|
||||
/* 802E75A8 7F C3 F3 78 */ mr r3, r30
|
||||
/* 802E75AC 4B FE 77 91 */ bl __dl__FPv
|
||||
lbl_802E75B0:
|
||||
/* 802E75B0 7F C3 F3 78 */ mr r3, r30
|
||||
/* 802E75B4 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 802E75B8 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 802E75BC 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802E75C0 7C 08 03 A6 */ mtlr r0
|
||||
/* 802E75C4 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802E75C8 4E 80 00 20 */ blr
|
|
@ -1,26 +0,0 @@
|
|||
lbl_802E75EC:
|
||||
/* 802E75EC 38 C0 00 00 */ li r6, 0
|
||||
/* 802E75F0 90 C3 00 30 */ stw r6, 0x30(r3)
|
||||
/* 802E75F4 90 C3 00 34 */ stw r6, 0x34(r3)
|
||||
/* 802E75F8 90 C3 00 38 */ stw r6, 0x38(r3)
|
||||
/* 802E75FC 90 C3 00 3C */ stw r6, 0x3c(r3)
|
||||
/* 802E7600 38 E0 00 00 */ li r7, 0
|
||||
/* 802E7604 48 00 00 1C */ b lbl_802E7620
|
||||
lbl_802E7608:
|
||||
/* 802E7608 80 A3 00 28 */ lwz r5, 0x28(r3)
|
||||
/* 802E760C 80 83 00 20 */ lwz r4, 0x20(r3)
|
||||
/* 802E7610 38 04 00 02 */ addi r0, r4, 2
|
||||
/* 802E7614 7C 00 39 D6 */ mullw r0, r0, r7
|
||||
/* 802E7618 7C C5 01 AE */ stbx r6, r5, r0
|
||||
/* 802E761C 38 E7 00 01 */ addi r7, r7, 1
|
||||
lbl_802E7620:
|
||||
/* 802E7620 80 03 00 24 */ lwz r0, 0x24(r3)
|
||||
/* 802E7624 7C 07 00 40 */ cmplw r7, r0
|
||||
/* 802E7628 41 80 FF E0 */ blt lbl_802E7608
|
||||
/* 802E762C 38 00 00 FF */ li r0, 0xff
|
||||
/* 802E7630 80 83 00 28 */ lwz r4, 0x28(r3)
|
||||
/* 802E7634 98 04 00 00 */ stb r0, 0(r4)
|
||||
/* 802E7638 38 00 00 00 */ li r0, 0
|
||||
/* 802E763C 80 63 00 28 */ lwz r3, 0x28(r3)
|
||||
/* 802E7640 98 03 00 01 */ stb r0, 1(r3)
|
||||
/* 802E7644 4E 80 00 20 */ blr
|
|
@ -1,22 +0,0 @@
|
|||
lbl_802E81F4:
|
||||
/* 802E81F4 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802E81F8 7C 08 02 A6 */ mflr r0
|
||||
/* 802E81FC 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802E8200 7C 64 1B 79 */ or. r4, r3, r3
|
||||
/* 802E8204 40 82 00 08 */ bne lbl_802E820C
|
||||
/* 802E8208 80 8D 8D F4 */ lwz r4, sCurrentHeap__7JKRHeap(r13)
|
||||
lbl_802E820C:
|
||||
/* 802E820C 38 60 00 14 */ li r3, 0x14
|
||||
/* 802E8210 38 A0 00 00 */ li r5, 0
|
||||
/* 802E8214 4B FE 6A 85 */ bl __nw__FUlP7JKRHeapi
|
||||
/* 802E8218 7C 60 1B 79 */ or. r0, r3, r3
|
||||
/* 802E821C 41 82 00 0C */ beq lbl_802E8228
|
||||
/* 802E8220 4B FF FF AD */ bl __ct__17JUTConsoleManagerFv
|
||||
/* 802E8224 7C 60 1B 78 */ mr r0, r3
|
||||
lbl_802E8228:
|
||||
/* 802E8228 90 0D 8F F0 */ stw r0, sManager__17JUTConsoleManager(r13)
|
||||
/* 802E822C 7C 03 03 78 */ mr r3, r0
|
||||
/* 802E8230 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802E8234 7C 08 03 A6 */ mtlr r0
|
||||
/* 802E8238 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802E823C 4E 80 00 20 */ blr
|
|
@ -1,33 +0,0 @@
|
|||
lbl_802E8450:
|
||||
/* 802E8450 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 802E8454 7C 08 02 A6 */ mflr r0
|
||||
/* 802E8458 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 802E845C 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 802E8460 48 07 9D 7D */ bl _savegpr_29
|
||||
/* 802E8464 7C 7D 1B 78 */ mr r29, r3
|
||||
/* 802E8468 80 03 00 10 */ lwz r0, 0x10(r3)
|
||||
/* 802E846C 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 802E8470 41 82 00 3C */ beq lbl_802E84AC
|
||||
/* 802E8474 54 80 06 3F */ clrlwi. r0, r4, 0x18
|
||||
/* 802E8478 41 82 00 28 */ beq lbl_802E84A0
|
||||
/* 802E847C 48 05 52 8D */ bl OSEnableInterrupts
|
||||
/* 802E8480 7C 7E 1B 78 */ mr r30, r3
|
||||
/* 802E8484 48 06 54 39 */ bl VIGetRetraceCount
|
||||
/* 802E8488 7C 7F 1B 78 */ mr r31, r3
|
||||
lbl_802E848C:
|
||||
/* 802E848C 48 06 54 31 */ bl VIGetRetraceCount
|
||||
/* 802E8490 7C 1F 18 40 */ cmplw r31, r3
|
||||
/* 802E8494 41 82 FF F8 */ beq lbl_802E848C
|
||||
/* 802E8498 7F C3 F3 78 */ mr r3, r30
|
||||
/* 802E849C 48 05 52 81 */ bl OSRestoreInterrupts
|
||||
lbl_802E84A0:
|
||||
/* 802E84A0 80 7D 00 10 */ lwz r3, 0x10(r29)
|
||||
/* 802E84A4 38 80 00 02 */ li r4, 2
|
||||
/* 802E84A8 4B FF F1 A1 */ bl doDraw__10JUTConsoleCFQ210JUTConsole12EConsoleType
|
||||
lbl_802E84AC:
|
||||
/* 802E84AC 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 802E84B0 48 07 9D 79 */ bl _restgpr_29
|
||||
/* 802E84B4 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 802E84B8 7C 08 03 A6 */ mtlr r0
|
||||
/* 802E84BC 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 802E84C0 4E 80 00 20 */ blr
|
|
@ -1,5 +0,0 @@
|
|||
lbl_802E75DC:
|
||||
/* 802E75DC 38 63 FF 94 */ addi r3, r3, -108
|
||||
/* 802E75E0 38 04 00 02 */ addi r0, r4, 2
|
||||
/* 802E75E4 7C 63 03 96 */ divwu r3, r3, r0
|
||||
/* 802E75E8 4E 80 00 20 */ blr
|
|
@ -1,11 +0,0 @@
|
|||
lbl_802E81A8:
|
||||
/* 802E81A8 80 83 00 34 */ lwz r4, 0x34(r3)
|
||||
/* 802E81AC 80 03 00 30 */ lwz r0, 0x30(r3)
|
||||
/* 802E81B0 7C 84 00 51 */ subf. r4, r4, r0
|
||||
/* 802E81B4 41 80 00 0C */ blt lbl_802E81C0
|
||||
/* 802E81B8 7C 83 23 78 */ mr r3, r4
|
||||
/* 802E81BC 4E 80 00 20 */ blr
|
||||
lbl_802E81C0:
|
||||
/* 802E81C0 80 03 00 24 */ lwz r0, 0x24(r3)
|
||||
/* 802E81C4 7C 64 02 14 */ add r3, r4, r0
|
||||
/* 802E81C8 4E 80 00 20 */ blr
|
|
@ -1,5 +0,0 @@
|
|||
lbl_802E75CC:
|
||||
/* 802E75CC 38 03 00 02 */ addi r0, r3, 2
|
||||
/* 802E75D0 7C 60 21 D6 */ mullw r3, r0, r4
|
||||
/* 802E75D4 38 63 00 6C */ addi r3, r3, 0x6c
|
||||
/* 802E75D8 4E 80 00 20 */ blr
|
|
@ -1,11 +0,0 @@
|
|||
lbl_802E8184:
|
||||
/* 802E8184 80 83 00 34 */ lwz r4, 0x34(r3)
|
||||
/* 802E8188 80 03 00 38 */ lwz r0, 0x38(r3)
|
||||
/* 802E818C 7C 84 00 51 */ subf. r4, r4, r0
|
||||
/* 802E8190 41 80 00 0C */ blt lbl_802E819C
|
||||
/* 802E8194 7C 83 23 78 */ mr r3, r4
|
||||
/* 802E8198 4E 80 00 20 */ blr
|
||||
lbl_802E819C:
|
||||
/* 802E819C 80 03 00 24 */ lwz r0, 0x24(r3)
|
||||
/* 802E81A0 7C 64 02 14 */ add r3, r4, r0
|
||||
/* 802E81A4 4E 80 00 20 */ blr
|
|
@ -1,34 +0,0 @@
|
|||
lbl_802E7BB8:
|
||||
/* 802E7BB8 94 21 FF 80 */ stwu r1, -0x80(r1)
|
||||
/* 802E7BBC 7C 08 02 A6 */ mflr r0
|
||||
/* 802E7BC0 90 01 00 84 */ stw r0, 0x84(r1)
|
||||
/* 802E7BC4 40 86 00 24 */ bne cr1, lbl_802E7BE8
|
||||
/* 802E7BC8 D8 21 00 28 */ stfd f1, 0x28(r1)
|
||||
/* 802E7BCC D8 41 00 30 */ stfd f2, 0x30(r1)
|
||||
/* 802E7BD0 D8 61 00 38 */ stfd f3, 0x38(r1)
|
||||
/* 802E7BD4 D8 81 00 40 */ stfd f4, 0x40(r1)
|
||||
/* 802E7BD8 D8 A1 00 48 */ stfd f5, 0x48(r1)
|
||||
/* 802E7BDC D8 C1 00 50 */ stfd f6, 0x50(r1)
|
||||
/* 802E7BE0 D8 E1 00 58 */ stfd f7, 0x58(r1)
|
||||
/* 802E7BE4 D9 01 00 60 */ stfd f8, 0x60(r1)
|
||||
lbl_802E7BE8:
|
||||
/* 802E7BE8 90 61 00 08 */ stw r3, 8(r1)
|
||||
/* 802E7BEC 90 81 00 0C */ stw r4, 0xc(r1)
|
||||
/* 802E7BF0 90 A1 00 10 */ stw r5, 0x10(r1)
|
||||
/* 802E7BF4 90 C1 00 14 */ stw r6, 0x14(r1)
|
||||
/* 802E7BF8 90 E1 00 18 */ stw r7, 0x18(r1)
|
||||
/* 802E7BFC 91 01 00 1C */ stw r8, 0x1c(r1)
|
||||
/* 802E7C00 91 21 00 20 */ stw r9, 0x20(r1)
|
||||
/* 802E7C04 91 41 00 24 */ stw r10, 0x24(r1)
|
||||
/* 802E7C08 38 A1 00 68 */ addi r5, r1, 0x68
|
||||
/* 802E7C0C 3C 00 02 00 */ lis r0, 0x200
|
||||
/* 802E7C10 90 01 00 68 */ stw r0, 0x68(r1)
|
||||
/* 802E7C14 38 01 00 88 */ addi r0, r1, 0x88
|
||||
/* 802E7C18 90 01 00 6C */ stw r0, 0x6c(r1)
|
||||
/* 802E7C1C 38 01 00 08 */ addi r0, r1, 8
|
||||
/* 802E7C20 90 01 00 70 */ stw r0, 0x70(r1)
|
||||
/* 802E7C24 48 00 03 0D */ bl JUTConsole_print_f_va_
|
||||
/* 802E7C28 80 01 00 84 */ lwz r0, 0x84(r1)
|
||||
/* 802E7C2C 7C 08 03 A6 */ mtlr r0
|
||||
/* 802E7C30 38 21 00 80 */ addi r1, r1, 0x80
|
||||
/* 802E7C34 4E 80 00 20 */ blr
|
|
@ -1,26 +0,0 @@
|
|||
lbl_802E84C4:
|
||||
/* 802E84C4 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802E84C8 7C 08 02 A6 */ mflr r0
|
||||
/* 802E84CC 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802E84D0 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 802E84D4 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 802E84D8 7C 7E 1B 78 */ mr r30, r3
|
||||
/* 802E84DC 7C 9F 23 78 */ mr r31, r4
|
||||
/* 802E84E0 80 83 00 10 */ lwz r4, 0x10(r3)
|
||||
/* 802E84E4 28 04 00 00 */ cmplwi r4, 0
|
||||
/* 802E84E8 41 82 00 08 */ beq lbl_802E84F0
|
||||
/* 802E84EC 4B FF FD 55 */ bl appendConsole__17JUTConsoleManagerFP10JUTConsole
|
||||
lbl_802E84F0:
|
||||
/* 802E84F0 28 1F 00 00 */ cmplwi r31, 0
|
||||
/* 802E84F4 41 82 00 10 */ beq lbl_802E8504
|
||||
/* 802E84F8 7F C3 F3 78 */ mr r3, r30
|
||||
/* 802E84FC 7F E4 FB 78 */ mr r4, r31
|
||||
/* 802E8500 4B FF FD B1 */ bl removeConsole__17JUTConsoleManagerFP10JUTConsole
|
||||
lbl_802E8504:
|
||||
/* 802E8504 93 FE 00 10 */ stw r31, 0x10(r30)
|
||||
/* 802E8508 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 802E850C 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 802E8510 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802E8514 7C 08 03 A6 */ mtlr r0
|
||||
/* 802E8518 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802E851C 4E 80 00 20 */ blr
|
|
@ -1,37 +0,0 @@
|
|||
lbl_80017D7C:
|
||||
/* 80017D7C 94 21 FF 80 */ stwu r1, -0x80(r1)
|
||||
/* 80017D80 7C 08 02 A6 */ mflr r0
|
||||
/* 80017D84 90 01 00 84 */ stw r0, 0x84(r1)
|
||||
/* 80017D88 7C 6B 1B 78 */ mr r11, r3
|
||||
/* 80017D8C 40 86 00 24 */ bne cr1, lbl_80017DB0
|
||||
/* 80017D90 D8 21 00 28 */ stfd f1, 0x28(r1)
|
||||
/* 80017D94 D8 41 00 30 */ stfd f2, 0x30(r1)
|
||||
/* 80017D98 D8 61 00 38 */ stfd f3, 0x38(r1)
|
||||
/* 80017D9C D8 81 00 40 */ stfd f4, 0x40(r1)
|
||||
/* 80017DA0 D8 A1 00 48 */ stfd f5, 0x48(r1)
|
||||
/* 80017DA4 D8 C1 00 50 */ stfd f6, 0x50(r1)
|
||||
/* 80017DA8 D8 E1 00 58 */ stfd f7, 0x58(r1)
|
||||
/* 80017DAC D9 01 00 60 */ stfd f8, 0x60(r1)
|
||||
lbl_80017DB0:
|
||||
/* 80017DB0 90 61 00 08 */ stw r3, 8(r1)
|
||||
/* 80017DB4 90 81 00 0C */ stw r4, 0xc(r1)
|
||||
/* 80017DB8 90 A1 00 10 */ stw r5, 0x10(r1)
|
||||
/* 80017DBC 90 C1 00 14 */ stw r6, 0x14(r1)
|
||||
/* 80017DC0 90 E1 00 18 */ stw r7, 0x18(r1)
|
||||
/* 80017DC4 91 01 00 1C */ stw r8, 0x1c(r1)
|
||||
/* 80017DC8 91 21 00 20 */ stw r9, 0x20(r1)
|
||||
/* 80017DCC 91 41 00 24 */ stw r10, 0x24(r1)
|
||||
/* 80017DD0 38 A1 00 68 */ addi r5, r1, 0x68
|
||||
/* 80017DD4 3C 00 01 00 */ lis r0, 0x100
|
||||
/* 80017DD8 90 01 00 68 */ stw r0, 0x68(r1)
|
||||
/* 80017DDC 38 01 00 88 */ addi r0, r1, 0x88
|
||||
/* 80017DE0 90 01 00 6C */ stw r0, 0x6c(r1)
|
||||
/* 80017DE4 38 01 00 08 */ addi r0, r1, 8
|
||||
/* 80017DE8 90 01 00 70 */ stw r0, 0x70(r1)
|
||||
/* 80017DEC 80 6D 87 10 */ lwz r3, sConsole(r13)
|
||||
/* 80017DF0 7D 64 5B 78 */ mr r4, r11
|
||||
/* 80017DF4 48 2D 01 3D */ bl JUTConsole_print_f_va_
|
||||
/* 80017DF8 80 01 00 84 */ lwz r0, 0x84(r1)
|
||||
/* 80017DFC 7C 08 03 A6 */ mtlr r0
|
||||
/* 80017E00 38 21 00 80 */ addi r1, r1, 0x80
|
||||
/* 80017E04 4E 80 00 20 */ blr
|
|
@ -1,34 +0,0 @@
|
|||
lbl_80006814:
|
||||
/* 80006814 94 21 FF 80 */ stwu r1, -0x80(r1)
|
||||
/* 80006818 7C 08 02 A6 */ mflr r0
|
||||
/* 8000681C 90 01 00 84 */ stw r0, 0x84(r1)
|
||||
/* 80006820 40 86 00 24 */ bne cr1, lbl_80006844
|
||||
/* 80006824 D8 21 00 28 */ stfd f1, 0x28(r1)
|
||||
/* 80006828 D8 41 00 30 */ stfd f2, 0x30(r1)
|
||||
/* 8000682C D8 61 00 38 */ stfd f3, 0x38(r1)
|
||||
/* 80006830 D8 81 00 40 */ stfd f4, 0x40(r1)
|
||||
/* 80006834 D8 A1 00 48 */ stfd f5, 0x48(r1)
|
||||
/* 80006838 D8 C1 00 50 */ stfd f6, 0x50(r1)
|
||||
/* 8000683C D8 E1 00 58 */ stfd f7, 0x58(r1)
|
||||
/* 80006840 D9 01 00 60 */ stfd f8, 0x60(r1)
|
||||
lbl_80006844:
|
||||
/* 80006844 90 61 00 08 */ stw r3, 8(r1)
|
||||
/* 80006848 90 81 00 0C */ stw r4, 0xc(r1)
|
||||
/* 8000684C 90 A1 00 10 */ stw r5, 0x10(r1)
|
||||
/* 80006850 90 C1 00 14 */ stw r6, 0x14(r1)
|
||||
/* 80006854 90 E1 00 18 */ stw r7, 0x18(r1)
|
||||
/* 80006858 91 01 00 1C */ stw r8, 0x1c(r1)
|
||||
/* 8000685C 91 21 00 20 */ stw r9, 0x20(r1)
|
||||
/* 80006860 91 41 00 24 */ stw r10, 0x24(r1)
|
||||
/* 80006864 38 81 00 68 */ addi r4, r1, 0x68
|
||||
/* 80006868 3C 00 01 00 */ lis r0, 0x100
|
||||
/* 8000686C 90 01 00 68 */ stw r0, 0x68(r1)
|
||||
/* 80006870 38 01 00 88 */ addi r0, r1, 0x88
|
||||
/* 80006874 90 01 00 6C */ stw r0, 0x6c(r1)
|
||||
/* 80006878 38 01 00 08 */ addi r0, r1, 8
|
||||
/* 8000687C 90 01 00 70 */ stw r0, 0x70(r1)
|
||||
/* 80006880 48 00 01 05 */ bl mDoPrintf_vprintf__FPCcP16__va_list_struct
|
||||
/* 80006884 80 01 00 84 */ lwz r0, 0x84(r1)
|
||||
/* 80006888 7C 08 03 A6 */ mtlr r0
|
||||
/* 8000688C 38 21 00 80 */ addi r1, r1, 0x80
|
||||
/* 80006890 4E 80 00 20 */ blr
|
|
@ -1,34 +0,0 @@
|
|||
lbl_80006ABC:
|
||||
/* 80006ABC 94 21 FF 80 */ stwu r1, -0x80(r1)
|
||||
/* 80006AC0 7C 08 02 A6 */ mflr r0
|
||||
/* 80006AC4 90 01 00 84 */ stw r0, 0x84(r1)
|
||||
/* 80006AC8 40 86 00 24 */ bne cr1, lbl_80006AEC
|
||||
/* 80006ACC D8 21 00 28 */ stfd f1, 0x28(r1)
|
||||
/* 80006AD0 D8 41 00 30 */ stfd f2, 0x30(r1)
|
||||
/* 80006AD4 D8 61 00 38 */ stfd f3, 0x38(r1)
|
||||
/* 80006AD8 D8 81 00 40 */ stfd f4, 0x40(r1)
|
||||
/* 80006ADC D8 A1 00 48 */ stfd f5, 0x48(r1)
|
||||
/* 80006AE0 D8 C1 00 50 */ stfd f6, 0x50(r1)
|
||||
/* 80006AE4 D8 E1 00 58 */ stfd f7, 0x58(r1)
|
||||
/* 80006AE8 D9 01 00 60 */ stfd f8, 0x60(r1)
|
||||
lbl_80006AEC:
|
||||
/* 80006AEC 90 61 00 08 */ stw r3, 8(r1)
|
||||
/* 80006AF0 90 81 00 0C */ stw r4, 0xc(r1)
|
||||
/* 80006AF4 90 A1 00 10 */ stw r5, 0x10(r1)
|
||||
/* 80006AF8 90 C1 00 14 */ stw r6, 0x14(r1)
|
||||
/* 80006AFC 90 E1 00 18 */ stw r7, 0x18(r1)
|
||||
/* 80006B00 91 01 00 1C */ stw r8, 0x1c(r1)
|
||||
/* 80006B04 91 21 00 20 */ stw r9, 0x20(r1)
|
||||
/* 80006B08 91 41 00 24 */ stw r10, 0x24(r1)
|
||||
/* 80006B0C 38 81 00 68 */ addi r4, r1, 0x68
|
||||
/* 80006B10 3C 00 01 00 */ lis r0, 0x100
|
||||
/* 80006B14 90 01 00 68 */ stw r0, 0x68(r1)
|
||||
/* 80006B18 38 01 00 88 */ addi r0, r1, 0x88
|
||||
/* 80006B1C 90 01 00 6C */ stw r0, 0x6c(r1)
|
||||
/* 80006B20 38 01 00 08 */ addi r0, r1, 8
|
||||
/* 80006B24 90 01 00 70 */ stw r0, 0x70(r1)
|
||||
/* 80006B28 4B FF FF 75 */ bl OSVReport
|
||||
/* 80006B2C 80 01 00 84 */ lwz r0, 0x84(r1)
|
||||
/* 80006B30 7C 08 03 A6 */ mtlr r0
|
||||
/* 80006B34 38 21 00 80 */ addi r1, r1, 0x80
|
||||
/* 80006B38 4E 80 00 20 */ blr
|
|
@ -1,4 +0,0 @@
|
|||
lbl_80006894:
|
||||
/* 80006894 38 00 00 01 */ li r0, 1
|
||||
/* 80006898 98 0D 86 18 */ stb r0, struct_80450B98+0x0(r13)
|
||||
/* 8000689C 4E 80 00 20 */ blr
|
|
@ -1,4 +0,0 @@
|
|||
lbl_800068A0:
|
||||
/* 800068A0 38 00 00 00 */ li r0, 0
|
||||
/* 800068A4 98 0D 86 18 */ stb r0, struct_80450B98+0x0(r13)
|
||||
/* 800068A8 4E 80 00 20 */ blr
|
|
@ -1,4 +0,0 @@
|
|||
lbl_800068B8:
|
||||
/* 800068B8 38 00 00 00 */ li r0, 0
|
||||
/* 800068BC 98 0D 86 1C */ stb r0, data_80450B9C(r13)
|
||||
/* 800068C0 4E 80 00 20 */ blr
|
|
@ -1,4 +0,0 @@
|
|||
lbl_800068AC:
|
||||
/* 800068AC 38 00 00 01 */ li r0, 1
|
||||
/* 800068B0 98 0D 86 1C */ stb r0, data_80450B9C(r13)
|
||||
/* 800068B4 4E 80 00 20 */ blr
|
|
@ -1,7 +0,0 @@
|
|||
lbl_800068C4:
|
||||
/* 800068C4 88 0D 86 34 */ lbz r0, struct_80450BB4+0x0(r13)
|
||||
/* 800068C8 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 800068CC 4C 82 00 20 */ bnelr
|
||||
/* 800068D0 38 00 00 01 */ li r0, 1
|
||||
/* 800068D4 98 0D 86 34 */ stb r0, struct_80450BB4+0x0(r13)
|
||||
/* 800068D8 4E 80 00 20 */ blr
|
|
@ -1,59 +0,0 @@
|
|||
lbl_80006C0C:
|
||||
/* 80006C0C 94 21 FF 80 */ stwu r1, -0x80(r1)
|
||||
/* 80006C10 7C 08 02 A6 */ mflr r0
|
||||
/* 80006C14 90 01 00 84 */ stw r0, 0x84(r1)
|
||||
/* 80006C18 93 E1 00 7C */ stw r31, 0x7c(r1)
|
||||
/* 80006C1C 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 80006C20 40 86 00 24 */ bne cr1, lbl_80006C44
|
||||
/* 80006C24 D8 21 00 28 */ stfd f1, 0x28(r1)
|
||||
/* 80006C28 D8 41 00 30 */ stfd f2, 0x30(r1)
|
||||
/* 80006C2C D8 61 00 38 */ stfd f3, 0x38(r1)
|
||||
/* 80006C30 D8 81 00 40 */ stfd f4, 0x40(r1)
|
||||
/* 80006C34 D8 A1 00 48 */ stfd f5, 0x48(r1)
|
||||
/* 80006C38 D8 C1 00 50 */ stfd f6, 0x50(r1)
|
||||
/* 80006C3C D8 E1 00 58 */ stfd f7, 0x58(r1)
|
||||
/* 80006C40 D9 01 00 60 */ stfd f8, 0x60(r1)
|
||||
lbl_80006C44:
|
||||
/* 80006C44 90 61 00 08 */ stw r3, 8(r1)
|
||||
/* 80006C48 90 81 00 0C */ stw r4, 0xc(r1)
|
||||
/* 80006C4C 90 A1 00 10 */ stw r5, 0x10(r1)
|
||||
/* 80006C50 90 C1 00 14 */ stw r6, 0x14(r1)
|
||||
/* 80006C54 90 E1 00 18 */ stw r7, 0x18(r1)
|
||||
/* 80006C58 91 01 00 1C */ stw r8, 0x1c(r1)
|
||||
/* 80006C5C 91 21 00 20 */ stw r9, 0x20(r1)
|
||||
/* 80006C60 91 41 00 24 */ stw r10, 0x24(r1)
|
||||
/* 80006C64 80 6D 86 28 */ lwz r3, print_errors(r13)
|
||||
/* 80006C68 38 03 00 01 */ addi r0, r3, 1
|
||||
/* 80006C6C 90 0D 86 28 */ stw r0, print_errors(r13)
|
||||
/* 80006C70 88 0D 86 19 */ lbz r0, struct_80450B98+0x1(r13)
|
||||
/* 80006C74 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 80006C78 40 82 00 60 */ bne lbl_80006CD8
|
||||
/* 80006C7C 3C 00 01 00 */ lis r0, 0x100
|
||||
/* 80006C80 90 01 00 68 */ stw r0, 0x68(r1)
|
||||
/* 80006C84 38 01 00 88 */ addi r0, r1, 0x88
|
||||
/* 80006C88 90 01 00 6C */ stw r0, 0x6c(r1)
|
||||
/* 80006C8C 38 01 00 08 */ addi r0, r1, 8
|
||||
/* 80006C90 90 01 00 70 */ stw r0, 0x70(r1)
|
||||
/* 80006C94 4B FF FC 19 */ bl OSReportForceEnableOn
|
||||
/* 80006C98 3C 60 80 37 */ lis r3, m_Do_m_Do_printf__stringBase0@ha /* 0x80373CB0@ha */
|
||||
/* 80006C9C 38 63 3C B0 */ addi r3, r3, m_Do_m_Do_printf__stringBase0@l /* 0x80373CB0@l */
|
||||
/* 80006CA0 38 63 00 3D */ addi r3, r3, 0x3d
|
||||
/* 80006CA4 4B FF FB 25 */ bl my_PutString__FPCc
|
||||
/* 80006CA8 7F E3 FB 78 */ mr r3, r31
|
||||
/* 80006CAC 38 81 00 68 */ addi r4, r1, 0x68
|
||||
/* 80006CB0 4B FF FD ED */ bl OSVReport
|
||||
/* 80006CB4 3C 60 80 37 */ lis r3, m_Do_m_Do_printf__stringBase0@ha /* 0x80373CB0@ha */
|
||||
/* 80006CB8 38 63 3C B0 */ addi r3, r3, m_Do_m_Do_printf__stringBase0@l /* 0x80373CB0@l */
|
||||
/* 80006CBC 38 63 00 4D */ addi r3, r3, 0x4d
|
||||
/* 80006CC0 4B FF FB 09 */ bl my_PutString__FPCc
|
||||
/* 80006CC4 4B FF FB F5 */ bl OSReportForceEnableOff
|
||||
/* 80006CC8 3C 60 80 3D */ lis r3, __files@ha /* 0x803D29B0@ha */
|
||||
/* 80006CCC 38 63 29 B0 */ addi r3, r3, __files@l /* 0x803D29B0@l */
|
||||
/* 80006CD0 38 63 00 50 */ addi r3, r3, 0x50
|
||||
/* 80006CD4 48 35 EB ED */ bl fflush
|
||||
lbl_80006CD8:
|
||||
/* 80006CD8 83 E1 00 7C */ lwz r31, 0x7c(r1)
|
||||
/* 80006CDC 80 01 00 84 */ lwz r0, 0x84(r1)
|
||||
/* 80006CE0 7C 08 03 A6 */ mtlr r0
|
||||
/* 80006CE4 38 21 00 80 */ addi r1, r1, 0x80
|
||||
/* 80006CE8 4E 80 00 20 */ blr
|
|
@ -1,54 +0,0 @@
|
|||
lbl_80006B3C:
|
||||
/* 80006B3C 94 21 FF 80 */ stwu r1, -0x80(r1)
|
||||
/* 80006B40 7C 08 02 A6 */ mflr r0
|
||||
/* 80006B44 90 01 00 84 */ stw r0, 0x84(r1)
|
||||
/* 80006B48 93 E1 00 7C */ stw r31, 0x7c(r1)
|
||||
/* 80006B4C 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 80006B50 40 86 00 24 */ bne cr1, lbl_80006B74
|
||||
/* 80006B54 D8 21 00 28 */ stfd f1, 0x28(r1)
|
||||
/* 80006B58 D8 41 00 30 */ stfd f2, 0x30(r1)
|
||||
/* 80006B5C D8 61 00 38 */ stfd f3, 0x38(r1)
|
||||
/* 80006B60 D8 81 00 40 */ stfd f4, 0x40(r1)
|
||||
/* 80006B64 D8 A1 00 48 */ stfd f5, 0x48(r1)
|
||||
/* 80006B68 D8 C1 00 50 */ stfd f6, 0x50(r1)
|
||||
/* 80006B6C D8 E1 00 58 */ stfd f7, 0x58(r1)
|
||||
/* 80006B70 D9 01 00 60 */ stfd f8, 0x60(r1)
|
||||
lbl_80006B74:
|
||||
/* 80006B74 90 61 00 08 */ stw r3, 8(r1)
|
||||
/* 80006B78 90 81 00 0C */ stw r4, 0xc(r1)
|
||||
/* 80006B7C 90 A1 00 10 */ stw r5, 0x10(r1)
|
||||
/* 80006B80 90 C1 00 14 */ stw r6, 0x14(r1)
|
||||
/* 80006B84 90 E1 00 18 */ stw r7, 0x18(r1)
|
||||
/* 80006B88 91 01 00 1C */ stw r8, 0x1c(r1)
|
||||
/* 80006B8C 91 21 00 20 */ stw r9, 0x20(r1)
|
||||
/* 80006B90 91 41 00 24 */ stw r10, 0x24(r1)
|
||||
/* 80006B94 3C 00 01 00 */ lis r0, 0x100
|
||||
/* 80006B98 90 01 00 68 */ stw r0, 0x68(r1)
|
||||
/* 80006B9C 38 01 00 88 */ addi r0, r1, 0x88
|
||||
/* 80006BA0 90 01 00 6C */ stw r0, 0x6c(r1)
|
||||
/* 80006BA4 38 01 00 08 */ addi r0, r1, 8
|
||||
/* 80006BA8 90 01 00 70 */ stw r0, 0x70(r1)
|
||||
/* 80006BAC 4B FF FD 01 */ bl OSReportForceEnableOn
|
||||
/* 80006BB0 3C 60 80 37 */ lis r3, m_Do_m_Do_printf__stringBase0@ha /* 0x80373CB0@ha */
|
||||
/* 80006BB4 38 63 3C B0 */ addi r3, r3, m_Do_m_Do_printf__stringBase0@l /* 0x80373CB0@l */
|
||||
/* 80006BB8 4B FF FC 11 */ bl my_PutString__FPCc
|
||||
/* 80006BBC 7F E3 FB 78 */ mr r3, r31
|
||||
/* 80006BC0 38 81 00 68 */ addi r4, r1, 0x68
|
||||
/* 80006BC4 4B FF FC 31 */ bl OSVAttention__FPCcP16__va_list_struct
|
||||
/* 80006BC8 3C 60 80 37 */ lis r3, m_Do_m_Do_printf__stringBase0@ha /* 0x80373CB0@ha */
|
||||
/* 80006BCC 38 63 3C B0 */ addi r3, r3, m_Do_m_Do_printf__stringBase0@l /* 0x80373CB0@l */
|
||||
/* 80006BD0 38 63 00 21 */ addi r3, r3, 0x21
|
||||
/* 80006BD4 4B FF FB F5 */ bl my_PutString__FPCc
|
||||
/* 80006BD8 4B FF FC E1 */ bl OSReportForceEnableOff
|
||||
/* 80006BDC 3C 60 80 3D */ lis r3, __files@ha /* 0x803D29B0@ha */
|
||||
/* 80006BE0 38 63 29 B0 */ addi r3, r3, __files@l /* 0x803D29B0@l */
|
||||
/* 80006BE4 38 63 00 50 */ addi r3, r3, 0x50
|
||||
/* 80006BE8 48 35 EC D9 */ bl fflush
|
||||
/* 80006BEC 80 6D 86 28 */ lwz r3, print_errors(r13)
|
||||
/* 80006BF0 38 03 00 01 */ addi r0, r3, 1
|
||||
/* 80006BF4 90 0D 86 28 */ stw r0, print_errors(r13)
|
||||
/* 80006BF8 83 E1 00 7C */ lwz r31, 0x7c(r1)
|
||||
/* 80006BFC 80 01 00 84 */ lwz r0, 0x84(r1)
|
||||
/* 80006C00 7C 08 03 A6 */ mtlr r0
|
||||
/* 80006C04 38 21 00 80 */ addi r1, r1, 0x80
|
||||
/* 80006C08 4E 80 00 20 */ blr
|
|
@ -1,47 +0,0 @@
|
|||
lbl_80006DCC:
|
||||
/* 80006DCC 94 21 FF 80 */ stwu r1, -0x80(r1)
|
||||
/* 80006DD0 7C 08 02 A6 */ mflr r0
|
||||
/* 80006DD4 90 01 00 84 */ stw r0, 0x84(r1)
|
||||
/* 80006DD8 93 E1 00 7C */ stw r31, 0x7c(r1)
|
||||
/* 80006DDC 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 80006DE0 40 86 00 24 */ bne cr1, lbl_80006E04
|
||||
/* 80006DE4 D8 21 00 28 */ stfd f1, 0x28(r1)
|
||||
/* 80006DE8 D8 41 00 30 */ stfd f2, 0x30(r1)
|
||||
/* 80006DEC D8 61 00 38 */ stfd f3, 0x38(r1)
|
||||
/* 80006DF0 D8 81 00 40 */ stfd f4, 0x40(r1)
|
||||
/* 80006DF4 D8 A1 00 48 */ stfd f5, 0x48(r1)
|
||||
/* 80006DF8 D8 C1 00 50 */ stfd f6, 0x50(r1)
|
||||
/* 80006DFC D8 E1 00 58 */ stfd f7, 0x58(r1)
|
||||
/* 80006E00 D9 01 00 60 */ stfd f8, 0x60(r1)
|
||||
lbl_80006E04:
|
||||
/* 80006E04 90 61 00 08 */ stw r3, 8(r1)
|
||||
/* 80006E08 90 81 00 0C */ stw r4, 0xc(r1)
|
||||
/* 80006E0C 90 A1 00 10 */ stw r5, 0x10(r1)
|
||||
/* 80006E10 90 C1 00 14 */ stw r6, 0x14(r1)
|
||||
/* 80006E14 90 E1 00 18 */ stw r7, 0x18(r1)
|
||||
/* 80006E18 91 01 00 1C */ stw r8, 0x1c(r1)
|
||||
/* 80006E1C 91 21 00 20 */ stw r9, 0x20(r1)
|
||||
/* 80006E20 91 41 00 24 */ stw r10, 0x24(r1)
|
||||
/* 80006E24 80 6D 86 30 */ lwz r3, print_systems(r13)
|
||||
/* 80006E28 38 03 00 01 */ addi r0, r3, 1
|
||||
/* 80006E2C 90 0D 86 30 */ stw r0, print_systems(r13)
|
||||
/* 80006E30 88 0D 86 1B */ lbz r0, struct_80450B98+0x3(r13)
|
||||
/* 80006E34 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 80006E38 40 82 00 30 */ bne lbl_80006E68
|
||||
/* 80006E3C 3C 00 01 00 */ lis r0, 0x100
|
||||
/* 80006E40 90 01 00 68 */ stw r0, 0x68(r1)
|
||||
/* 80006E44 38 01 00 88 */ addi r0, r1, 0x88
|
||||
/* 80006E48 90 01 00 6C */ stw r0, 0x6c(r1)
|
||||
/* 80006E4C 38 01 00 08 */ addi r0, r1, 8
|
||||
/* 80006E50 90 01 00 70 */ stw r0, 0x70(r1)
|
||||
/* 80006E54 4B FF FA 59 */ bl OSReportForceEnableOn
|
||||
/* 80006E58 7F E3 FB 78 */ mr r3, r31
|
||||
/* 80006E5C 38 81 00 68 */ addi r4, r1, 0x68
|
||||
/* 80006E60 4B FF F9 95 */ bl OSVAttention__FPCcP16__va_list_struct
|
||||
/* 80006E64 4B FF FA 55 */ bl OSReportForceEnableOff
|
||||
lbl_80006E68:
|
||||
/* 80006E68 83 E1 00 7C */ lwz r31, 0x7c(r1)
|
||||
/* 80006E6C 80 01 00 84 */ lwz r0, 0x84(r1)
|
||||
/* 80006E70 7C 08 03 A6 */ mtlr r0
|
||||
/* 80006E74 38 21 00 80 */ addi r1, r1, 0x80
|
||||
/* 80006E78 4E 80 00 20 */ blr
|
|
@ -1,59 +0,0 @@
|
|||
lbl_80006CEC:
|
||||
/* 80006CEC 94 21 FF 80 */ stwu r1, -0x80(r1)
|
||||
/* 80006CF0 7C 08 02 A6 */ mflr r0
|
||||
/* 80006CF4 90 01 00 84 */ stw r0, 0x84(r1)
|
||||
/* 80006CF8 93 E1 00 7C */ stw r31, 0x7c(r1)
|
||||
/* 80006CFC 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 80006D00 40 86 00 24 */ bne cr1, lbl_80006D24
|
||||
/* 80006D04 D8 21 00 28 */ stfd f1, 0x28(r1)
|
||||
/* 80006D08 D8 41 00 30 */ stfd f2, 0x30(r1)
|
||||
/* 80006D0C D8 61 00 38 */ stfd f3, 0x38(r1)
|
||||
/* 80006D10 D8 81 00 40 */ stfd f4, 0x40(r1)
|
||||
/* 80006D14 D8 A1 00 48 */ stfd f5, 0x48(r1)
|
||||
/* 80006D18 D8 C1 00 50 */ stfd f6, 0x50(r1)
|
||||
/* 80006D1C D8 E1 00 58 */ stfd f7, 0x58(r1)
|
||||
/* 80006D20 D9 01 00 60 */ stfd f8, 0x60(r1)
|
||||
lbl_80006D24:
|
||||
/* 80006D24 90 61 00 08 */ stw r3, 8(r1)
|
||||
/* 80006D28 90 81 00 0C */ stw r4, 0xc(r1)
|
||||
/* 80006D2C 90 A1 00 10 */ stw r5, 0x10(r1)
|
||||
/* 80006D30 90 C1 00 14 */ stw r6, 0x14(r1)
|
||||
/* 80006D34 90 E1 00 18 */ stw r7, 0x18(r1)
|
||||
/* 80006D38 91 01 00 1C */ stw r8, 0x1c(r1)
|
||||
/* 80006D3C 91 21 00 20 */ stw r9, 0x20(r1)
|
||||
/* 80006D40 91 41 00 24 */ stw r10, 0x24(r1)
|
||||
/* 80006D44 80 6D 86 2C */ lwz r3, print_warings(r13)
|
||||
/* 80006D48 38 03 00 01 */ addi r0, r3, 1
|
||||
/* 80006D4C 90 0D 86 2C */ stw r0, print_warings(r13)
|
||||
/* 80006D50 88 0D 86 1A */ lbz r0, struct_80450B98+0x2(r13)
|
||||
/* 80006D54 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 80006D58 40 82 00 60 */ bne lbl_80006DB8
|
||||
/* 80006D5C 3C 00 01 00 */ lis r0, 0x100
|
||||
/* 80006D60 90 01 00 68 */ stw r0, 0x68(r1)
|
||||
/* 80006D64 38 01 00 88 */ addi r0, r1, 0x88
|
||||
/* 80006D68 90 01 00 6C */ stw r0, 0x6c(r1)
|
||||
/* 80006D6C 38 01 00 08 */ addi r0, r1, 8
|
||||
/* 80006D70 90 01 00 70 */ stw r0, 0x70(r1)
|
||||
/* 80006D74 4B FF FB 39 */ bl OSReportForceEnableOn
|
||||
/* 80006D78 3C 60 80 37 */ lis r3, m_Do_m_Do_printf__stringBase0@ha /* 0x80373CB0@ha */
|
||||
/* 80006D7C 38 63 3C B0 */ addi r3, r3, m_Do_m_Do_printf__stringBase0@l /* 0x80373CB0@l */
|
||||
/* 80006D80 38 63 00 51 */ addi r3, r3, 0x51
|
||||
/* 80006D84 4B FF FA 45 */ bl my_PutString__FPCc
|
||||
/* 80006D88 7F E3 FB 78 */ mr r3, r31
|
||||
/* 80006D8C 38 81 00 68 */ addi r4, r1, 0x68
|
||||
/* 80006D90 4B FF FA 65 */ bl OSVAttention__FPCcP16__va_list_struct
|
||||
/* 80006D94 3C 60 80 37 */ lis r3, m_Do_m_Do_printf__stringBase0@ha /* 0x80373CB0@ha */
|
||||
/* 80006D98 38 63 3C B0 */ addi r3, r3, m_Do_m_Do_printf__stringBase0@l /* 0x80373CB0@l */
|
||||
/* 80006D9C 38 63 00 4D */ addi r3, r3, 0x4d
|
||||
/* 80006DA0 4B FF FA 29 */ bl my_PutString__FPCc
|
||||
/* 80006DA4 4B FF FB 15 */ bl OSReportForceEnableOff
|
||||
/* 80006DA8 3C 60 80 3D */ lis r3, __files@ha /* 0x803D29B0@ha */
|
||||
/* 80006DAC 38 63 29 B0 */ addi r3, r3, __files@l /* 0x803D29B0@l */
|
||||
/* 80006DB0 38 63 00 50 */ addi r3, r3, 0x50
|
||||
/* 80006DB4 48 35 EB 0D */ bl fflush
|
||||
lbl_80006DB8:
|
||||
/* 80006DB8 83 E1 00 7C */ lwz r31, 0x7c(r1)
|
||||
/* 80006DBC 80 01 00 84 */ lwz r0, 0x84(r1)
|
||||
/* 80006DC0 7C 08 03 A6 */ mtlr r0
|
||||
/* 80006DC4 38 21 00 80 */ addi r1, r1, 0x80
|
||||
/* 80006DC8 4E 80 00 20 */ blr
|
|
@ -1,9 +0,0 @@
|
|||
lbl_800067F4:
|
||||
/* 800067F4 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 800067F8 7C 08 02 A6 */ mflr r0
|
||||
/* 800067FC 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80006800 48 00 01 85 */ bl mDoPrintf_vprintf__FPCcP16__va_list_struct
|
||||
/* 80006804 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80006808 7C 08 03 A6 */ mtlr r0
|
||||
/* 8000680C 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80006810 4E 80 00 20 */ blr
|
|
@ -1,9 +0,0 @@
|
|||
lbl_80006A9C:
|
||||
/* 80006A9C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80006AA0 7C 08 02 A6 */ mflr r0
|
||||
/* 80006AA4 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80006AA8 4B FF FF 69 */ bl mDoPrintf_VReport
|
||||
/* 80006AAC 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80006AB0 7C 08 03 A6 */ mtlr r0
|
||||
/* 80006AB4 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80006AB8 4E 80 00 20 */ blr
|
|
@ -1,40 +0,0 @@
|
|||
lbl_80006A10:
|
||||
/* 80006A10 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80006A14 7C 08 02 A6 */ mflr r0
|
||||
/* 80006A18 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80006A1C 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 80006A20 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 80006A24 7C 7E 1B 78 */ mr r30, r3
|
||||
/* 80006A28 7C 9F 23 78 */ mr r31, r4
|
||||
/* 80006A2C 88 0D 86 34 */ lbz r0, struct_80450BB4+0x0(r13)
|
||||
/* 80006A30 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 80006A34 40 82 00 08 */ bne lbl_80006A3C
|
||||
/* 80006A38 4B FF FE 8D */ bl OSReportInit__Fv
|
||||
lbl_80006A3C:
|
||||
/* 80006A3C 88 0D 86 1C */ lbz r0, data_80450B9C(r13)
|
||||
/* 80006A40 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 80006A44 40 82 00 10 */ bne lbl_80006A54
|
||||
/* 80006A48 88 0D 86 18 */ lbz r0, struct_80450B98+0x0(r13)
|
||||
/* 80006A4C 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 80006A50 40 82 00 34 */ bne lbl_80006A84
|
||||
lbl_80006A54:
|
||||
/* 80006A54 48 00 E3 11 */ bl mDoExt_GetCurrentRunningThread__Fv
|
||||
/* 80006A58 80 0D 86 20 */ lwz r0, __OSReport_MonopolyThread(r13)
|
||||
/* 80006A5C 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 80006A60 41 82 00 0C */ beq lbl_80006A6C
|
||||
/* 80006A64 7C 00 18 40 */ cmplw r0, r3
|
||||
/* 80006A68 40 82 00 1C */ bne lbl_80006A84
|
||||
lbl_80006A6C:
|
||||
/* 80006A6C 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80006A70 7F E4 FB 78 */ mr r4, r31
|
||||
/* 80006A74 4B FF FF 11 */ bl mDoPrintf_vprintf__FPCcP16__va_list_struct
|
||||
/* 80006A78 80 6D 86 24 */ lwz r3, print_counts(r13)
|
||||
/* 80006A7C 38 03 00 01 */ addi r0, r3, 1
|
||||
/* 80006A80 90 0D 86 24 */ stw r0, print_counts(r13)
|
||||
lbl_80006A84:
|
||||
/* 80006A84 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 80006A88 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 80006A8C 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80006A90 7C 08 03 A6 */ mtlr r0
|
||||
/* 80006A94 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80006A98 4E 80 00 20 */ blr
|
|
@ -1,36 +0,0 @@
|
|||
lbl_800068DC:
|
||||
/* 800068DC 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 800068E0 7C 08 02 A6 */ mflr r0
|
||||
/* 800068E4 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 800068E8 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 800068EC 48 35 B8 F1 */ bl _savegpr_29
|
||||
/* 800068F0 7C 7D 1B 78 */ mr r29, r3
|
||||
/* 800068F4 7C 9E 23 78 */ mr r30, r4
|
||||
/* 800068F8 48 33 6D FD */ bl OSDisableInterrupts
|
||||
/* 800068FC 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 80006900 88 0D 86 35 */ lbz r0, struct_80450BB4+0x1(r13)
|
||||
/* 80006904 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 80006908 40 82 00 3C */ bne lbl_80006944
|
||||
/* 8000690C 38 00 00 01 */ li r0, 1
|
||||
/* 80006910 98 0D 86 35 */ stb r0, struct_80450BB4+0x1(r13)
|
||||
/* 80006914 7F A3 EB 78 */ mr r3, r29
|
||||
/* 80006918 7F C4 F3 78 */ mr r4, r30
|
||||
/* 8000691C 38 A0 00 00 */ li r5, 0
|
||||
/* 80006920 38 C0 00 00 */ li r6, 0
|
||||
/* 80006924 3C E0 80 36 */ lis r7, vprintf@ha /* 0x80366704@ha */
|
||||
/* 80006928 38 E7 67 04 */ addi r7, r7, vprintf@l /* 0x80366704@l */
|
||||
/* 8000692C 3D 00 80 3E */ lis r8, mDoPrintf_FiberStack@ha /* 0x803DB740@ha */
|
||||
/* 80006930 39 08 B7 40 */ addi r8, r8, mDoPrintf_FiberStack@l /* 0x803DB740@l */
|
||||
/* 80006934 39 08 08 00 */ addi r8, r8, 0x800
|
||||
/* 80006938 4B FF FE 61 */ bl OSSwitchFiberEx__FUlUlUlUlUlUl
|
||||
/* 8000693C 38 00 00 00 */ li r0, 0
|
||||
/* 80006940 98 0D 86 35 */ stb r0, struct_80450BB4+0x1(r13)
|
||||
lbl_80006944:
|
||||
/* 80006944 7F E3 FB 78 */ mr r3, r31
|
||||
/* 80006948 48 33 6D D5 */ bl OSRestoreInterrupts
|
||||
/* 8000694C 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 80006950 48 35 B8 D9 */ bl _restgpr_29
|
||||
/* 80006954 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 80006958 7C 08 03 A6 */ mtlr r0
|
||||
/* 8000695C 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 80006960 4E 80 00 20 */ blr
|
|
@ -1,9 +0,0 @@
|
|||
lbl_80006964:
|
||||
/* 80006964 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80006968 7C 08 02 A6 */ mflr r0
|
||||
/* 8000696C 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80006970 48 35 FD 95 */ bl vprintf
|
||||
/* 80006974 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80006978 7C 08 03 A6 */ mtlr r0
|
||||
/* 8000697C 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80006980 4E 80 00 20 */ blr
|
|
@ -1,40 +0,0 @@
|
|||
lbl_80006984:
|
||||
/* 80006984 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 80006988 7C 08 02 A6 */ mflr r0
|
||||
/* 8000698C 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 80006990 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 80006994 48 35 B8 49 */ bl _savegpr_29
|
||||
/* 80006998 7C 7D 1B 78 */ mr r29, r3
|
||||
/* 8000699C 7C 9E 23 78 */ mr r30, r4
|
||||
/* 800069A0 48 00 E3 C5 */ bl mDoExt_GetCurrentRunningThread__Fv
|
||||
/* 800069A4 7C 7F 1B 79 */ or. r31, r3, r3
|
||||
/* 800069A8 40 82 00 14 */ bne lbl_800069BC
|
||||
/* 800069AC 7F A3 EB 78 */ mr r3, r29
|
||||
/* 800069B0 7F C4 F3 78 */ mr r4, r30
|
||||
/* 800069B4 4B FF FF 29 */ bl mDoPrintf_vprintf_Interrupt__FPCcP16__va_list_struct
|
||||
/* 800069B8 48 00 00 40 */ b lbl_800069F8
|
||||
lbl_800069BC:
|
||||
/* 800069BC 48 33 56 3D */ bl OSGetStackPointer
|
||||
/* 800069C0 80 9F 03 08 */ lwz r4, 0x308(r31)
|
||||
/* 800069C4 38 04 0A 00 */ addi r0, r4, 0xa00
|
||||
/* 800069C8 7C 03 00 40 */ cmplw r3, r0
|
||||
/* 800069CC 41 80 00 10 */ blt lbl_800069DC
|
||||
/* 800069D0 80 1F 03 04 */ lwz r0, 0x304(r31)
|
||||
/* 800069D4 7C 03 00 40 */ cmplw r3, r0
|
||||
/* 800069D8 40 81 00 14 */ ble lbl_800069EC
|
||||
lbl_800069DC:
|
||||
/* 800069DC 7F A3 EB 78 */ mr r3, r29
|
||||
/* 800069E0 7F C4 F3 78 */ mr r4, r30
|
||||
/* 800069E4 4B FF FE F9 */ bl mDoPrintf_vprintf_Interrupt__FPCcP16__va_list_struct
|
||||
/* 800069E8 48 00 00 10 */ b lbl_800069F8
|
||||
lbl_800069EC:
|
||||
/* 800069EC 7F A3 EB 78 */ mr r3, r29
|
||||
/* 800069F0 7F C4 F3 78 */ mr r4, r30
|
||||
/* 800069F4 4B FF FF 71 */ bl mDoPrintf_vprintf_Thread__FPCcP16__va_list_struct
|
||||
lbl_800069F8:
|
||||
/* 800069F8 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 800069FC 48 35 B8 2D */ bl _restgpr_29
|
||||
/* 80006A00 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 80006A04 7C 08 03 A6 */ mtlr r0
|
||||
/* 80006A08 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 80006A0C 4E 80 00 20 */ blr
|
|
@ -5,12 +5,34 @@
|
|||
|
||||
namespace JGadget {
|
||||
struct TLinkListNode {
|
||||
TLinkListNode() {
|
||||
mNext = NULL;
|
||||
mPrev = NULL;
|
||||
}
|
||||
|
||||
TLinkListNode* mNext;
|
||||
TLinkListNode* mPrev;
|
||||
};
|
||||
|
||||
struct TNodeLinkList {
|
||||
struct iterator {};
|
||||
struct iterator {
|
||||
iterator(TLinkListNode* pNode) { node = pNode; }
|
||||
iterator(const iterator& iter) { *this = iter; }
|
||||
|
||||
TLinkListNode* node;
|
||||
};
|
||||
|
||||
TNodeLinkList() : mListNode() { Initialize_(); }
|
||||
void Initialize_() {
|
||||
ptr = NULL;
|
||||
mListNode.mNext = &mListNode;
|
||||
mListNode.mPrev = &mListNode;
|
||||
}
|
||||
|
||||
iterator end() {
|
||||
iterator iter(&mListNode);
|
||||
return iter;
|
||||
}
|
||||
|
||||
/* 802DCA1C */ ~TNodeLinkList();
|
||||
/* 802DCAA0 */ void erase(JGadget::TNodeLinkList::iterator, JGadget::TNodeLinkList::iterator);
|
||||
|
@ -20,6 +42,38 @@ struct TNodeLinkList {
|
|||
/* 802DCBA8 */ void Insert(JGadget::TNodeLinkList::iterator, JGadget::TLinkListNode*);
|
||||
/* 802DCBD4 */ void Erase(JGadget::TLinkListNode*);
|
||||
/* 802DCBF8 */ void Remove(JGadget::TLinkListNode*);
|
||||
|
||||
/* 0x00 */ TNodeLinkList* ptr;
|
||||
/* 0x04 */ TLinkListNode mListNode;
|
||||
}; // Size: 0xC
|
||||
|
||||
template <typename T, int I>
|
||||
struct TLinkList : public TNodeLinkList {
|
||||
TLinkList() : TNodeLinkList() {}
|
||||
|
||||
struct iterator : TNodeLinkList::iterator {
|
||||
iterator(TNodeLinkList::iterator iter) : TNodeLinkList::iterator(iter) {}
|
||||
};
|
||||
|
||||
TLinkListNode* Element_toNode(T* element) const {
|
||||
return &element->mListNode;
|
||||
}
|
||||
|
||||
void Insert(TLinkList::iterator iter, T* element) {
|
||||
TLinkListNode* node = Element_toNode(element);
|
||||
TNodeLinkList::Insert(iter, node);
|
||||
}
|
||||
|
||||
TLinkList::iterator end() {
|
||||
TNodeLinkList::iterator node_iter = TNodeLinkList::end();
|
||||
TLinkList::iterator iter(node_iter);
|
||||
return iter;
|
||||
}
|
||||
|
||||
void Push_back(T* element) {
|
||||
TLinkList::iterator iter(TLinkList::end());
|
||||
this->Insert(iter, element);
|
||||
}
|
||||
};
|
||||
|
||||
}; // namespace JGadget
|
||||
|
|
|
@ -5,24 +5,27 @@
|
|||
#include "JSystem/JKernel/JKRDisposer.h"
|
||||
#include "JSystem/JUtility/JUTFont.h"
|
||||
#include "JSystem/JUtility/TColor.h"
|
||||
#include "Runtime.PPCEABI.H/__va_arg.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
class JUTConsole : public JKRDisposer {
|
||||
public:
|
||||
enum EConsoleType {};
|
||||
enum EConsoleType {
|
||||
UNK_TYPE2 = 2,
|
||||
};
|
||||
|
||||
/* 802E73E4 */ void create(unsigned int, void*, u32);
|
||||
/* 802E7354 */ void create(unsigned int, unsigned int, JKRHeap*);
|
||||
/* 802E746C */ JUTConsole(unsigned int, unsigned int, bool);
|
||||
/* 802E75CC */ void getObjectSizeFromBufferSize(unsigned int, unsigned int);
|
||||
/* 802E75DC */ void getLineFromObjectSize(u32, unsigned int);
|
||||
/* 802E75CC */ static size_t getObjectSizeFromBufferSize(unsigned int, unsigned int);
|
||||
/* 802E75DC */ static size_t getLineFromObjectSize(u32, unsigned int);
|
||||
/* 802E75EC */ void clear();
|
||||
/* 802E7648 */ void doDraw(JUTConsole::EConsoleType) const;
|
||||
/* 802E7BB8 */ void print_f(char const*, ...);
|
||||
/* 802E7C38 */ void print(char const*);
|
||||
/* 802E7F7C */ void dumpToTerminal(unsigned int);
|
||||
/* 802E80A8 */ void scroll(int);
|
||||
/* 802E8184 */ void getUsedLine() const;
|
||||
/* 802E8184 */ int getUsedLine() const;
|
||||
/* 802E81A8 */ int getLineOffset() const;
|
||||
|
||||
/* 802E755C */ virtual ~JUTConsole();
|
||||
|
@ -44,11 +47,27 @@ public:
|
|||
|
||||
void setVisible(bool visible) { mVisible = visible; }
|
||||
|
||||
private:
|
||||
void setLineAttr(int param_0, u8 param_1) {
|
||||
*((u8*)mBuf + (field_0x20 + 2) * param_0) = param_1;
|
||||
}
|
||||
|
||||
u8* getLinePtr(int param_0) const {
|
||||
return ((u8*)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) {
|
||||
return diff;
|
||||
}
|
||||
return diff += field_0x24;
|
||||
}
|
||||
|
||||
/* 0x18 */ JGadget::TLinkListNode mListNode;
|
||||
private:
|
||||
/* 0x20 */ u32 field_0x20;
|
||||
/* 0x24 */ u32 field_0x24;
|
||||
/* 0x28 */ u32 field_0x28;
|
||||
/* 0x28 */ void* mBuf;
|
||||
/* 0x2C */ bool field_0x2c;
|
||||
/* 0x30 */ int field_0x30;
|
||||
/* 0x34 */ int field_0x34;
|
||||
|
@ -70,4 +89,32 @@ private:
|
|||
/* 0x6B */ bool field_0x6b;
|
||||
}; // Size: 0x6C
|
||||
|
||||
class JUTConsoleManager {
|
||||
public:
|
||||
/* 802E81CC */ JUTConsoleManager();
|
||||
/* 802E81F4 */ static JUTConsoleManager* createManager(JKRHeap*);
|
||||
/* 802E8240 */ void appendConsole(JUTConsole*);
|
||||
/* 802E82B0 */ void removeConsole(JUTConsole*);
|
||||
/* 802E8384 */ void draw() const;
|
||||
/* 802E8450 */ void drawDirect(bool) const;
|
||||
/* 802E84C4 */ void setDirectConsole(JUTConsole*);
|
||||
|
||||
static JUTConsoleManager* getManager() { return sManager; }
|
||||
|
||||
static JUTConsoleManager* sManager;
|
||||
|
||||
private:
|
||||
/* 0x00 */ JGadget::TLinkList<JUTConsole, 4> mLinkList;
|
||||
/* 0x0C */ JUTConsole* mActiveConsole;
|
||||
/* 0x10 */ JUTConsole* mDirectConsole;
|
||||
}; // Size: 0x14
|
||||
|
||||
void JUTConsole_print_f_va_(JUTConsole*, const char*, va_list);
|
||||
void JUTSetReportConsole(JUTConsole*);
|
||||
JUTConsole* JUTGetReportConsole();
|
||||
void JUTSetWarningConsole(JUTConsole*);
|
||||
JUTConsole* JUTGetWarningConsole();
|
||||
void JUTReportConsole_f_va(const char*, va_list);
|
||||
void JUTReportConsole_f(const char*, ...);
|
||||
|
||||
#endif /* JUTCONSOLE_H */
|
||||
|
|
|
@ -3,4 +3,12 @@
|
|||
|
||||
#include "dolphin/types.h"
|
||||
|
||||
struct __va_list_struct;
|
||||
|
||||
extern "C" size_t sprintf(const char*, const char*, ...);
|
||||
extern "C" size_t snprintf(const char*, size_t, const char*, ...);
|
||||
extern "C" size_t vsnprintf(char*, size_t, const char*, __va_list_struct*);
|
||||
extern "C" size_t vprintf(const char*, __va_list_struct*);
|
||||
extern "C" size_t printf(const char*, ...);
|
||||
|
||||
#endif /* MSL_COMMON_SRC_PRINTF_H */
|
||||
|
|
|
@ -122,7 +122,7 @@ struct OSThread {
|
|||
void* data[2];
|
||||
};
|
||||
|
||||
struct __va_list_struct {};
|
||||
struct __va_list_struct;
|
||||
|
||||
extern "C" {
|
||||
s32 OSEnableScheduler(void);
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
|
||||
#include "dolphin/types.h"
|
||||
|
||||
void print_f(char const*, ...);
|
||||
void print(char const*);
|
||||
void dispHeapInfo();
|
||||
void dispGameInfo();
|
||||
|
|
|
@ -49,4 +49,10 @@ struct mDoMain {
|
|||
|
||||
extern s8 data_80450580;
|
||||
|
||||
extern bool sOSReportDisabled;
|
||||
extern bool data_80450B99;
|
||||
extern bool data_80450B9A;
|
||||
extern bool data_80450B9B;
|
||||
extern bool sOSReportForceEnable;
|
||||
|
||||
#endif /* M_DO_M_DO_MAIN_H */
|
||||
|
|
|
@ -3,8 +3,14 @@
|
|||
|
||||
#include "MSL_C.PPCEABI.bare.H/MSL_Common/Src/char_io.h"
|
||||
#include "MSL_C.PPCEABI.bare.H/MSL_Common/Src/printf.h"
|
||||
#include "Runtime.PPCEABI.H/__va_arg.h"
|
||||
#include "m_Do/m_Do_main.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
void my_PutString(const char*);
|
||||
void mDoPrintf_vprintf_Interrupt(char const*, __va_list_struct*);
|
||||
void mDoPrintf_vprintf_Thread(char const*, __va_list_struct*);
|
||||
void mDoPrintf_vprintf(const char*, __va_list_struct*);
|
||||
void mDoPrintf_VReport(const char*, __va_list_struct*);
|
||||
|
||||
#endif /* M_DO_M_DO_PRINTF_H */
|
||||
|
|
|
@ -47,10 +47,6 @@ struct JUTDbPrint {
|
|||
/* 802E0204 */ void changeFont(JUTFont*);
|
||||
};
|
||||
|
||||
struct JUTConsoleManager {
|
||||
/* 802E81F4 */ void createManager(JKRHeap*);
|
||||
};
|
||||
|
||||
struct JUTAssertion {
|
||||
/* 802E495C */ void create();
|
||||
};
|
||||
|
|
|
@ -4,6 +4,8 @@
|
|||
//
|
||||
|
||||
#include "JSystem/JUtility/JUTConsole.h"
|
||||
#include "JSystem/JKernel/JKRHeap.h"
|
||||
#include "MSL_C.PPCEABI.bare.H/MSL_Common/Src/printf.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
|
@ -23,24 +25,6 @@ struct JUTDirectPrint {
|
|||
static u8 sDirectPrint[4 + 4 /* padding */];
|
||||
};
|
||||
|
||||
struct JKRHeap {
|
||||
/* 802CE474 */ void alloc(u32, int, JKRHeap*);
|
||||
|
||||
static u8 sCurrentHeap[4];
|
||||
};
|
||||
|
||||
struct JUTConsoleManager {
|
||||
/* 802E81CC */ JUTConsoleManager();
|
||||
/* 802E81F4 */ void createManager(JKRHeap*);
|
||||
/* 802E8240 */ void appendConsole(JUTConsole*);
|
||||
/* 802E82B0 */ void removeConsole(JUTConsole*);
|
||||
/* 802E8384 */ void draw() const;
|
||||
/* 802E8450 */ void drawDirect(bool) const;
|
||||
/* 802E84C4 */ void setDirectConsole(JUTConsole*);
|
||||
|
||||
static u8 sManager[4];
|
||||
};
|
||||
|
||||
struct J2DOrthoGraph {
|
||||
/* 802E96D0 */ J2DOrthoGraph(f32, f32, f32, f32, f32, f32);
|
||||
/* 802E97B4 */ void setPort();
|
||||
|
@ -60,7 +44,6 @@ extern "C" void clear__10JUTConsoleFv();
|
|||
extern "C" void doDraw__10JUTConsoleCFQ210JUTConsole12EConsoleType();
|
||||
extern "C" void print_f__10JUTConsoleFPCce();
|
||||
extern "C" void print__10JUTConsoleFPCc();
|
||||
extern "C" void JUTConsole_print_f_va_();
|
||||
extern "C" void dumpToTerminal__10JUTConsoleFUi();
|
||||
extern "C" void scroll__10JUTConsoleFi();
|
||||
extern "C" void getUsedLine__10JUTConsoleCFv();
|
||||
|
@ -72,15 +55,9 @@ extern "C" void removeConsole__17JUTConsoleManagerFP10JUTConsole();
|
|||
extern "C" void draw__17JUTConsoleManagerCFv();
|
||||
extern "C" void drawDirect__17JUTConsoleManagerCFb();
|
||||
extern "C" void setDirectConsole__17JUTConsoleManagerFP10JUTConsole();
|
||||
extern "C" void JUTSetReportConsole();
|
||||
extern "C" u32 JUTGetReportConsole();
|
||||
extern "C" void JUTSetWarningConsole();
|
||||
extern "C" u32 JUTGetWarningConsole();
|
||||
extern "C" static void JUTReportConsole_f_va();
|
||||
extern "C" void JUTReportConsole_f();
|
||||
extern "C" void JUTReportConsole();
|
||||
extern "C" void JUTWarningConsole_f();
|
||||
extern "C" void JUTWarningConsole();
|
||||
extern "C" void JUTReportConsole(const char* message);
|
||||
extern "C" void JUTWarningConsole_f(const char* fmt, ...);
|
||||
extern "C" void JUTWarningConsole(const char*);
|
||||
extern "C" extern char const* const JUTConsole__stringBase0;
|
||||
extern "C" u8 sManager__17JUTConsoleManager[4];
|
||||
|
||||
|
@ -88,7 +65,6 @@ extern "C" u8 sManager__17JUTConsoleManager[4];
|
|||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void OSReport();
|
||||
extern "C" void alloc__7JKRHeapFUliP7JKRHeap();
|
||||
extern "C" void* __nw__FUlP7JKRHeapi();
|
||||
extern "C" void __dl__FPv();
|
||||
|
@ -105,9 +81,7 @@ extern "C" void setCharColor__14JUTDirectPrintFQ28JUtility6TColor();
|
|||
extern "C" void __ct__13J2DOrthoGraphFffffff();
|
||||
extern "C" void setPort__13J2DOrthoGraphFv();
|
||||
extern "C" void J2DFillBox__FffffQ28JUtility6TColor();
|
||||
extern "C" void OSEnableInterrupts();
|
||||
extern "C" void OSRestoreInterrupts();
|
||||
extern "C" void VIGetRetraceCount();
|
||||
extern "C" u32 VIGetRetraceCount();
|
||||
extern "C" void _savegpr_20();
|
||||
extern "C" void _savegpr_27();
|
||||
extern "C" void _savegpr_28();
|
||||
|
@ -116,7 +90,6 @@ extern "C" void _restgpr_20();
|
|||
extern "C" void _restgpr_27();
|
||||
extern "C" void _restgpr_28();
|
||||
extern "C" void _restgpr_29();
|
||||
extern "C" void vsnprintf();
|
||||
extern "C" void strlen();
|
||||
extern "C" extern void* __vt__14J2DGrafContext[10];
|
||||
extern "C" extern void* __vt__13J2DOrthoGraph[10];
|
||||
|
@ -130,7 +103,7 @@ extern "C" u8 sManager__8JUTVideo[4];
|
|||
|
||||
/* ############################################################################################## */
|
||||
/* 80451570-80451574 000A70 0004+00 4/4 7/7 0/0 .sbss sManager__17JUTConsoleManager */
|
||||
u8 JUTConsoleManager::sManager[4];
|
||||
JUTConsoleManager* JUTConsoleManager::sManager;
|
||||
|
||||
/* 802E7354-802E73E4 2E1C94 0090+00 0/0 1/1 0/0 .text create__10JUTConsoleFUiUiP7JKRHeap
|
||||
*/
|
||||
|
@ -164,55 +137,60 @@ SECTION_DATA extern void* __vt__10JUTConsole[3 + 1 /* padding */] = {
|
|||
};
|
||||
|
||||
/* 802E746C-802E755C 2E1DAC 00F0+00 2/2 0/0 0/0 .text __ct__10JUTConsoleFUiUib */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm JUTConsole::JUTConsole(unsigned int param_0, unsigned int param_1, bool param_2) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JUtility/JUTConsole/__ct__10JUTConsoleFUiUib.s"
|
||||
JUTConsole::JUTConsole(unsigned int param_0, unsigned int param_1, bool param_2) {
|
||||
field_0x2c = param_2;
|
||||
field_0x20 = param_0;
|
||||
field_0x24 = param_1;
|
||||
|
||||
mPositionX = 30;
|
||||
mPositionY = 50;
|
||||
mHeight = 20;
|
||||
|
||||
if (mHeight > field_0x24) {
|
||||
mHeight = field_0x24;
|
||||
}
|
||||
|
||||
mFont = NULL;
|
||||
mVisible = true;
|
||||
field_0x69 = false;
|
||||
field_0x6a = false;
|
||||
field_0x6b = false;
|
||||
mOutput = 1;
|
||||
|
||||
field_0x5c.set(0, 0, 0, 100);
|
||||
field_0x60.set(0, 0, 0, 230);
|
||||
field_0x64 = 8;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802E755C-802E75CC 2E1E9C 0070+00 1/0 0/0 0/0 .text __dt__10JUTConsoleFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm JUTConsole::~JUTConsole() {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JUtility/JUTConsole/__dt__10JUTConsoleFv.s"
|
||||
JUTConsole::~JUTConsole() {
|
||||
JUTConsoleManager::getManager()->removeConsole(this);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802E75CC-802E75DC 2E1F0C 0010+00 1/1 0/0 0/0 .text
|
||||
* getObjectSizeFromBufferSize__10JUTConsoleFUiUi */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JUTConsole::getObjectSizeFromBufferSize(unsigned int param_0, unsigned int param_1) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JUtility/JUTConsole/getObjectSizeFromBufferSize__10JUTConsoleFUiUi.s"
|
||||
size_t JUTConsole::getObjectSizeFromBufferSize(unsigned int param_0, unsigned int param_1) {
|
||||
return (param_0 + 2) * param_1 + sizeof(JUTConsole);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802E75DC-802E75EC 2E1F1C 0010+00 1/1 1/1 0/0 .text getLineFromObjectSize__10JUTConsoleFUlUi */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JUTConsole::getLineFromObjectSize(u32 param_0, unsigned int param_1) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JUtility/JUTConsole/getLineFromObjectSize__10JUTConsoleFUlUi.s"
|
||||
size_t JUTConsole::getLineFromObjectSize(u32 param_0, unsigned int param_1) {
|
||||
return (param_0 - sizeof(JUTConsole)) / (param_1 + 2);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802E75EC-802E7648 2E1F2C 005C+00 2/2 2/2 0/0 .text clear__10JUTConsoleFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JUTConsole::clear() {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JUtility/JUTConsole/clear__10JUTConsoleFv.s"
|
||||
void JUTConsole::clear() {
|
||||
field_0x30 = 0;
|
||||
field_0x34 = 0;
|
||||
field_0x38 = 0;
|
||||
field_0x3c = 0;
|
||||
|
||||
for (int i = 0; i < field_0x24; i++) {
|
||||
setLineAttr(i, 0);
|
||||
}
|
||||
setLineAttr(0, -1);
|
||||
*getLinePtr(0) = 0;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80456118-8045611C 004718 0004+00 1/1 0/0 0/0 .sdata2 @2460 */
|
||||
|
@ -263,14 +241,12 @@ asm void JUTConsole::doDraw(JUTConsole::EConsoleType param_0) const {
|
|||
#pragma pop
|
||||
|
||||
/* 802E7BB8-802E7C38 2E24F8 0080+00 0/0 13/13 0/0 .text print_f__10JUTConsoleFPCce */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JUTConsole::print_f(char const* param_0, ...) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JUtility/JUTConsole/print_f__10JUTConsoleFPCce.s"
|
||||
void JUTConsole::print_f(char const* fmt, ...) {
|
||||
va_list args;
|
||||
va_start(args, fmt);
|
||||
JUTConsole_print_f_va_(this, fmt, args);
|
||||
va_end(args);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802E7C38-802E7F30 2E2578 02F8+00 2/2 10/10 0/0 .text print__10JUTConsoleFPCc */
|
||||
#pragma push
|
||||
|
@ -283,14 +259,11 @@ asm void JUTConsole::print(char const* param_0) {
|
|||
#pragma pop
|
||||
|
||||
/* 802E7F30-802E7F7C 2E2870 004C+00 1/1 1/1 0/0 .text JUTConsole_print_f_va_ */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JUTConsole_print_f_va_() {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JUtility/JUTConsole/JUTConsole_print_f_va_.s"
|
||||
void JUTConsole_print_f_va_(JUTConsole* console, const char* fmt, va_list args) {
|
||||
char buf[1024];
|
||||
vsnprintf(buf, sizeof(buf), fmt, args);
|
||||
console->print(buf);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 8039D9A8-8039D9A8 02A008 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
|
@ -311,6 +284,36 @@ asm void JUTConsole::dumpToTerminal(unsigned int param_0) {
|
|||
#pragma pop
|
||||
|
||||
/* 802E80A8-802E8184 2E29E8 00DC+00 0/0 3/3 0/0 .text scroll__10JUTConsoleFi */
|
||||
// regalloc
|
||||
#ifdef NONMATCHING
|
||||
void JUTConsole::scroll(int param_0) {
|
||||
if (param_0 < 0) {
|
||||
int diff = diffIndex(field_0x34, field_0x30);
|
||||
if (param_0 < -diff) {
|
||||
param_0 = -diff;
|
||||
}
|
||||
} else {
|
||||
if (param_0 > 0) {
|
||||
int diff = diffIndex(field_0x34, field_0x38);
|
||||
if (diff + 1 <= mHeight) {
|
||||
param_0 = 0;
|
||||
} else {
|
||||
diff = diffIndex(field_0x30, field_0x38);
|
||||
if (param_0 > (int)(diff - mHeight) + 1) {
|
||||
param_0 = diff;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
field_0x30 += param_0;
|
||||
if (field_0x30 < 0) {
|
||||
field_0x30 += field_0x24;
|
||||
}
|
||||
if (field_0x30 >= field_0x24) {
|
||||
field_0x30 -= field_0x24;
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
|
@ -319,50 +322,45 @@ asm void JUTConsole::scroll(int param_0) {
|
|||
#include "asm/JSystem/JUtility/JUTConsole/scroll__10JUTConsoleFi.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 802E8184-802E81A8 2E2AC4 0024+00 0/0 2/2 0/0 .text getUsedLine__10JUTConsoleCFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JUTConsole::getUsedLine() const {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JUtility/JUTConsole/getUsedLine__10JUTConsoleCFv.s"
|
||||
int JUTConsole::getUsedLine() const {
|
||||
return diffIndex(field_0x34, field_0x38);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802E81A8-802E81CC 2E2AE8 0024+00 0/0 3/3 0/0 .text getLineOffset__10JUTConsoleCFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm int JUTConsole::getLineOffset() const {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JUtility/JUTConsole/getLineOffset__10JUTConsoleCFv.s"
|
||||
int JUTConsole::getLineOffset() const {
|
||||
return diffIndex(field_0x34, field_0x30);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802E81CC-802E81F4 2E2B0C 0028+00 1/1 0/0 0/0 .text __ct__17JUTConsoleManagerFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm JUTConsoleManager::JUTConsoleManager() {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JUtility/JUTConsole/__ct__17JUTConsoleManagerFv.s"
|
||||
JUTConsoleManager::JUTConsoleManager() {
|
||||
mActiveConsole = NULL;
|
||||
mDirectConsole = NULL;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802E81F4-802E8240 2E2B34 004C+00 0/0 1/1 0/0 .text createManager__17JUTConsoleManagerFP7JKRHeap
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JUTConsoleManager::createManager(JKRHeap* param_0) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JUtility/JUTConsole/createManager__17JUTConsoleManagerFP7JKRHeap.s"
|
||||
JUTConsoleManager* JUTConsoleManager::createManager(JKRHeap* pHeap) {
|
||||
if (pHeap == NULL) {
|
||||
pHeap = JKRHeap::sCurrentHeap;
|
||||
}
|
||||
JUTConsoleManager* manager = new (pHeap, 0) JUTConsoleManager();
|
||||
sManager = manager;
|
||||
return manager;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802E8240-802E82B0 2E2B80 0070+00 3/3 0/0 0/0 .text
|
||||
* appendConsole__17JUTConsoleManagerFP10JUTConsole */
|
||||
#ifdef NONMATCHING
|
||||
void JUTConsoleManager::appendConsole(JUTConsole* param_0) {
|
||||
mLinkList.Push_back(param_0);
|
||||
if (mActiveConsole == NULL) {
|
||||
mActiveConsole = param_0;
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
|
@ -371,6 +369,7 @@ asm void JUTConsoleManager::appendConsole(JUTConsole* param_0) {
|
|||
#include "asm/JSystem/JUtility/JUTConsole/appendConsole__17JUTConsoleManagerFP10JUTConsole.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 802E82B0-802E8384 2E2BF0 00D4+00 2/2 0/0 0/0 .text
|
||||
* removeConsole__17JUTConsoleManagerFP10JUTConsole */
|
||||
|
@ -395,83 +394,81 @@ asm void JUTConsoleManager::draw() const {
|
|||
|
||||
/* 802E8450-802E84C4 2E2D90 0074+00 0/0 5/5 0/0 .text drawDirect__17JUTConsoleManagerCFb
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JUTConsoleManager::drawDirect(bool param_0) const {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JUtility/JUTConsole/drawDirect__17JUTConsoleManagerCFb.s"
|
||||
void JUTConsoleManager::drawDirect(bool param_0) const {
|
||||
if (mDirectConsole != NULL) {
|
||||
if (param_0) {
|
||||
s32 interrupt_status = OSEnableInterrupts();
|
||||
u32 retrace_count = VIGetRetraceCount();
|
||||
u32 new_count;
|
||||
do {
|
||||
new_count = VIGetRetraceCount();
|
||||
} while (retrace_count == new_count);
|
||||
OSRestoreInterrupts(interrupt_status);
|
||||
}
|
||||
mDirectConsole->doDraw(JUTConsole::UNK_TYPE2);
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802E84C4-802E8520 2E2E04 005C+00 0/0 2/2 0/0 .text
|
||||
* setDirectConsole__17JUTConsoleManagerFP10JUTConsole */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JUTConsoleManager::setDirectConsole(JUTConsole* param_0) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JUtility/JUTConsole/setDirectConsole__17JUTConsoleManagerFP10JUTConsole.s"
|
||||
void JUTConsoleManager::setDirectConsole(JUTConsole* pConsole) {
|
||||
if (mDirectConsole != NULL) {
|
||||
appendConsole(mDirectConsole);
|
||||
}
|
||||
|
||||
if (pConsole != NULL) {
|
||||
removeConsole(pConsole);
|
||||
}
|
||||
mDirectConsole = pConsole;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80451574-80451578 000A74 0004+00 2/1 0/0 0/0 .sbss sReportConsole */
|
||||
static u8 sReportConsole[4];
|
||||
static JUTConsole* sReportConsole;
|
||||
|
||||
/* 802E8520-802E8528 2E2E60 0008+00 1/1 1/1 0/0 .text JUTSetReportConsole */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JUTSetReportConsole() {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JUtility/JUTConsole/JUTSetReportConsole.s"
|
||||
void JUTSetReportConsole(JUTConsole* pConsole) {
|
||||
sReportConsole = pConsole;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802E8528-802E8530 -00001 0008+00 0/0 0/0 0/0 .text JUTGetReportConsole */
|
||||
u32 JUTGetReportConsole() {
|
||||
return *(u32*)(&sReportConsole);
|
||||
JUTConsole* JUTGetReportConsole() {
|
||||
return sReportConsole;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80451578-80451580 000A78 0004+04 2/1 0/0 0/0 .sbss sWarningConsole */
|
||||
static u8 sWarningConsole[4 + 4 /* padding */];
|
||||
static JUTConsole* sWarningConsole;
|
||||
|
||||
/* 802E8530-802E8538 2E2E70 0008+00 1/1 1/1 0/0 .text JUTSetWarningConsole */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JUTSetWarningConsole() {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JUtility/JUTConsole/JUTSetWarningConsole.s"
|
||||
void JUTSetWarningConsole(JUTConsole* pConsole) {
|
||||
sWarningConsole = pConsole;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802E8538-802E8540 -00001 0008+00 0/0 0/0 0/0 .text JUTGetWarningConsole */
|
||||
u32 JUTGetWarningConsole() {
|
||||
return *(u32*)(&sWarningConsole);
|
||||
JUTConsole* JUTGetWarningConsole() {
|
||||
return sWarningConsole;
|
||||
}
|
||||
|
||||
/* 802E8540-802E85C8 2E2E80 0088+00 2/2 0/0 0/0 .text JUTReportConsole_f_va */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void JUTReportConsole_f_va() {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JUtility/JUTConsole/JUTReportConsole_f_va.s"
|
||||
void JUTReportConsole_f_va(const char* fmt, va_list args) {
|
||||
char buf[256];
|
||||
|
||||
if (JUTGetReportConsole() == NULL) {
|
||||
vsnprintf(buf, sizeof(buf), fmt, args);
|
||||
} else if (JUTGetReportConsole()->getOutput() & 3) {
|
||||
vsnprintf(buf, sizeof(buf), fmt, args);
|
||||
JUTGetReportConsole()->print(buf);
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802E85C8-802E8648 2E2F08 0080+00 2/2 8/8 0/0 .text JUTReportConsole_f */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JUTReportConsole_f() {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JUtility/JUTConsole/JUTReportConsole_f.s"
|
||||
void JUTReportConsole_f(const char* fmt, ...) {
|
||||
va_list args;
|
||||
va_start(args, fmt);
|
||||
JUTReportConsole_f_va(fmt, args);
|
||||
va_end(args);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 8039D9A8-8039D9A8 02A008 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
|
@ -487,33 +484,21 @@ SECTION_DEAD static char const* const pad_8039DA0B = "\0\0\0\0\0\0\0\0\0\0\0\0\0
|
|||
#pragma pop
|
||||
|
||||
/* 802E8648-802E867C 2E2F88 0034+00 0/0 6/6 0/0 .text JUTReportConsole */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JUTReportConsole() {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JUtility/JUTConsole/JUTReportConsole.s"
|
||||
void JUTReportConsole(const char* message) {
|
||||
JUTReportConsole_f("%s", message);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802E867C-802E86FC 2E2FBC 0080+00 0/0 9/9 0/0 .text JUTWarningConsole_f */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JUTWarningConsole_f() {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JUtility/JUTConsole/JUTWarningConsole_f.s"
|
||||
void JUTWarningConsole_f(const char* fmt, ...) {
|
||||
va_list args;
|
||||
va_start(args, fmt);
|
||||
JUTReportConsole_f_va(fmt, args);
|
||||
va_end(args);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802E86FC-802E8730 2E303C 0034+00 0/0 2/2 0/0 .text JUTWarningConsole */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JUTWarningConsole() {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JUtility/JUTConsole/JUTWarningConsole.s"
|
||||
void JUTWarningConsole(const char* message) {
|
||||
JUTReportConsole_f("%s", message);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8039D9A8-8039D9A8 02A008 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
|
|
|
@ -11,15 +11,7 @@
|
|||
// Forward References:
|
||||
//
|
||||
|
||||
struct __va_list_struct;
|
||||
|
||||
extern "C" void sprintf();
|
||||
extern "C" void snprintf();
|
||||
extern "C" size_t vsnprintf(char* buffer, size_t buffer_size, const char* format,
|
||||
__va_list_struct* args);
|
||||
extern "C" void vprintf();
|
||||
extern "C" void fprintf();
|
||||
extern "C" void printf();
|
||||
extern "C" void __StringWrite();
|
||||
extern "C" void __FileWrite();
|
||||
extern "C" void __pformatter();
|
||||
|
@ -60,7 +52,7 @@ extern "C" extern u8 __ctype_map[256];
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void sprintf() {
|
||||
asm size_t sprintf(const char*, const char*, ...) {
|
||||
nofralloc
|
||||
#include "asm/MSL_C.PPCEABI.bare.H/MSL_Common/Src/printf/sprintf.s"
|
||||
}
|
||||
|
@ -70,7 +62,7 @@ asm void sprintf() {
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void snprintf() {
|
||||
asm size_t snprintf(const char*, size_t, const char*, ...) {
|
||||
nofralloc
|
||||
#include "asm/MSL_C.PPCEABI.bare.H/MSL_Common/Src/printf/snprintf.s"
|
||||
}
|
||||
|
@ -90,7 +82,7 @@ asm size_t vsnprintf(char* buffer, size_t buffer_size, const char* format, __va_
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void vprintf() {
|
||||
asm size_t vprintf(const char*, __va_list_struct*) {
|
||||
nofralloc
|
||||
#include "asm/MSL_C.PPCEABI.bare.H/MSL_Common/Src/printf/vprintf.s"
|
||||
}
|
||||
|
@ -110,7 +102,7 @@ asm void fprintf() {
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void printf() {
|
||||
asm size_t printf(const char*, ...) {
|
||||
nofralloc
|
||||
#include "asm/MSL_C.PPCEABI.bare.H/MSL_Common/Src/printf/printf.s"
|
||||
}
|
||||
|
|
|
@ -30,13 +30,6 @@ struct cMl {
|
|||
/* 80263220 */ void init(JKRHeap*);
|
||||
};
|
||||
|
||||
struct JUTConsoleManager {
|
||||
/* 802E8450 */ void drawDirect(bool) const;
|
||||
/* 802E84C4 */ void setDirectConsole(JUTConsole*);
|
||||
|
||||
static u8 sManager[4];
|
||||
};
|
||||
|
||||
struct JUTAssertion {
|
||||
/* 802E4C34 */ static void setVisible(bool);
|
||||
};
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
#include "dolphin/types.h"
|
||||
#include "m_Do/m_Do_ext.h"
|
||||
#include "m_Do/m_Do_main.h"
|
||||
#include "Runtime.PPCEABI.H/__va_arg.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
|
@ -26,7 +27,6 @@ struct DynamicModuleControlBase {
|
|||
//
|
||||
|
||||
extern "C" void dump__24DynamicModuleControlBaseFv();
|
||||
extern "C" void JUTConsole_print_f_va_();
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
|
@ -39,15 +39,12 @@ static JUTConsole* sConsole;
|
|||
u8 struct_80450C94[4];
|
||||
#pragma pop
|
||||
|
||||
/* 80017D7C-80017E08 0126BC 008C+00 3/3 0/0 0/0 .text print_f__FPCce */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void print_f(char const* param_0, ...) {
|
||||
nofralloc
|
||||
#include "asm/m_Do/m_Do_machine_exception/print_f__FPCce.s"
|
||||
void print_f(char const* fmt, ...) {
|
||||
va_list args;
|
||||
va_start(args, fmt);
|
||||
JUTConsole_print_f_va_(sConsole, fmt, args);
|
||||
va_end(args);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
void print(char const* string) {
|
||||
sConsole->print(string);
|
||||
|
|
|
@ -73,8 +73,6 @@ extern "C" extern u8 data_80450B84[4];
|
|||
extern "C" extern u8 data_80450B88[4];
|
||||
extern "C" extern u8 data_80450B8C[4];
|
||||
extern "C" extern u8 data_80450B90[4 + 4 /* padding */];
|
||||
extern "C" extern u8 struct_80450B98[4];
|
||||
extern "C" extern u8 data_80450B9C[4];
|
||||
|
||||
//
|
||||
// External References:
|
||||
|
@ -967,15 +965,15 @@ extern u8 data_80450B90[4 + 4 /* padding */];
|
|||
u8 data_80450B90[4 + 4 /* padding */];
|
||||
|
||||
/* 80450B98-80450B9C -00001 0004+00 0/0 6/6 0/0 .sbss None */
|
||||
/* 80450B98 0001+00 data_80450B98 None */
|
||||
/* 80450B99 0001+00 data_80450B99 None */
|
||||
/* 80450B9A 0001+00 data_80450B9A None */
|
||||
/* 80450B9B 0001+00 data_80450B9B None */
|
||||
extern u8 struct_80450B98[4];
|
||||
u8 struct_80450B98[4];
|
||||
bool sOSReportDisabled;
|
||||
|
||||
bool data_80450B99;
|
||||
|
||||
bool data_80450B9A;
|
||||
|
||||
bool data_80450B9B;
|
||||
|
||||
/* 80450B9C-80450BA0 00009C 0004+00 0/0 3/3 0/0 .sbss None */
|
||||
extern u8 data_80450B9C[4];
|
||||
u8 data_80450B9C[4];
|
||||
bool sOSReportForceEnable;
|
||||
|
||||
/* 803739A0-803739A0 000000 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
|
|
|
@ -6,54 +6,41 @@
|
|||
#include "m_Do/m_Do_printf.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct __va_list_struct {};
|
||||
#include "dolphin/os/OS.h"
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" static void OSSwitchFiberEx__FUlUlUlUlUlUl();
|
||||
extern "C" void OSSwitchFiberEx__FUlUlUlUlUlUl(u32, u32, u32, u32, u32, u32);
|
||||
extern "C" void my_PutString__FPCc();
|
||||
extern "C" static void OSVAttention__FPCcP16__va_list_struct();
|
||||
extern "C" void OSAttention();
|
||||
extern "C" void OSVAttention__FPCcP16__va_list_struct();
|
||||
extern "C" void OSReportDisable();
|
||||
extern "C" void OSReportEnable();
|
||||
extern "C" static void OSReportForceEnableOn();
|
||||
extern "C" static void OSReportForceEnableOff();
|
||||
extern "C" void OSReportForceEnableOn();
|
||||
extern "C" void OSReportForceEnableOff();
|
||||
extern "C" void OSReportInit__Fv();
|
||||
extern "C" static void mDoPrintf_vprintf_Interrupt__FPCcP16__va_list_struct();
|
||||
extern "C" static void mDoPrintf_vprintf_Thread__FPCcP16__va_list_struct();
|
||||
extern "C" static void mDoPrintf_vprintf__FPCcP16__va_list_struct();
|
||||
extern "C" static void mDoPrintf_VReport();
|
||||
extern "C" static void OSVReport();
|
||||
extern "C" void OSReport();
|
||||
extern "C" void OSReport_FatalError();
|
||||
extern "C" void OSReport_Error();
|
||||
extern "C" void OSReport_Warning();
|
||||
extern "C" void OSReport_System();
|
||||
extern "C" void OSPanic();
|
||||
extern "C" void mDoPrintf_vprintf_Interrupt__FPCcP16__va_list_struct();
|
||||
extern "C" void mDoPrintf_vprintf_Thread__FPCcP16__va_list_struct();
|
||||
extern "C" void mDoPrintf_vprintf__FPCcP16__va_list_struct();
|
||||
extern "C" void mDoPrintf_VReport(const char* fmt, __va_list_struct* args);
|
||||
extern "C" void OSVReport(const char* fmt, __va_list_struct* args);
|
||||
extern "C" void OSReport(const char*, ...);
|
||||
extern "C" void OSReport_FatalError(const char* fmt, ...);
|
||||
extern "C" void OSReport_Error(const char* fmt, ...);
|
||||
extern "C" void OSReport_Warning(const char* fmt, ...);
|
||||
extern "C" void OSReport_System(const char* fmt, ...);
|
||||
extern "C" extern char const* const m_Do_m_Do_printf__stringBase0;
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void mDoExt_GetCurrentRunningThread__Fv();
|
||||
extern "C" OSThread* mDoExt_GetCurrentRunningThread__Fv();
|
||||
extern "C" void PPCHalt();
|
||||
extern "C" void OSGetStackPointer();
|
||||
extern "C" void OSDisableInterrupts();
|
||||
extern "C" void OSRestoreInterrupts();
|
||||
extern "C" void _savegpr_29();
|
||||
extern "C" void _restgpr_29();
|
||||
extern "C" void fflush();
|
||||
extern "C" void vprintf();
|
||||
extern "C" extern u8 struct_80450B98[4];
|
||||
extern "C" extern u8 data_80450B9C[4];
|
||||
extern "C" s32 fflush(FILE*);
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
|
@ -63,7 +50,7 @@ extern "C" extern u8 data_80450B9C[4];
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void OSSwitchFiberEx(u32 param_0, u32 param_1, u32 param_2, u32 param_3, u32 param_4,
|
||||
asm void OSSwitchFiberEx(u32 param_0, u32 param_1, u32 param_2, u32 param_3, u32 param_4,
|
||||
u32 param_5) {
|
||||
nofralloc
|
||||
#include "asm/m_Do/m_Do_printf/OSSwitchFiberEx__FUlUlUlUlUlUl.s"
|
||||
|
@ -76,95 +63,66 @@ void my_PutString(const char* string) {
|
|||
}
|
||||
|
||||
/* 800067F4-80006814 001134 0020+00 3/3 0/0 0/0 .text OSVAttention__FPCcP16__va_list_struct */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void OSVAttention(char const* param_0, __va_list_struct* param_1) {
|
||||
nofralloc
|
||||
#include "asm/m_Do/m_Do_printf/OSVAttention__FPCcP16__va_list_struct.s"
|
||||
void OSVAttention(char const* fmt, va_list args) {
|
||||
mDoPrintf_vprintf(fmt, args);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80006814-80006894 001154 0080+00 1/1 1/1 0/0 .text OSAttention */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void OSAttention() {
|
||||
nofralloc
|
||||
#include "asm/m_Do/m_Do_printf/OSAttention.s"
|
||||
void OSAttention(const char* fmt, ...) {
|
||||
va_list args;
|
||||
va_start(args, fmt);
|
||||
mDoPrintf_vprintf(fmt, args);
|
||||
va_end(args);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80006894-800068A0 0011D4 000C+00 0/0 1/1 0/0 .text OSReportDisable */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void OSReportDisable() {
|
||||
nofralloc
|
||||
#include "asm/m_Do/m_Do_printf/OSReportDisable.s"
|
||||
void OSReportDisable() {
|
||||
sOSReportDisabled = true;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 800068A0-800068AC 0011E0 000C+00 0/0 1/1 0/0 .text OSReportEnable */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void OSReportEnable() {
|
||||
nofralloc
|
||||
#include "asm/m_Do/m_Do_printf/OSReportEnable.s"
|
||||
void OSReportEnable() {
|
||||
sOSReportDisabled = false;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 800068AC-800068B8 0011EC 000C+00 4/4 0/0 0/0 .text OSReportForceEnableOn */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void OSReportForceEnableOn() {
|
||||
nofralloc
|
||||
#include "asm/m_Do/m_Do_printf/OSReportForceEnableOn.s"
|
||||
void OSReportForceEnableOn() {
|
||||
sOSReportForceEnable = true;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 800068B8-800068C4 0011F8 000C+00 4/4 0/0 0/0 .text OSReportForceEnableOff */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void OSReportForceEnableOff() {
|
||||
nofralloc
|
||||
#include "asm/m_Do/m_Do_printf/OSReportForceEnableOff.s"
|
||||
void OSReportForceEnableOff() {
|
||||
sOSReportForceEnable = false;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80450BA0-80450BA4 0000A0 0004+00 1/1 0/0 0/0 .sbss __OSReport_MonopolyThread */
|
||||
static u8 __OSReport_MonopolyThread[4];
|
||||
static OSThread* __OSReport_MonopolyThread;
|
||||
|
||||
/* 80450BA4-80450BA8 0000A4 0004+00 1/1 0/0 0/0 .sbss print_counts */
|
||||
static u8 print_counts[4];
|
||||
static u32 print_counts;
|
||||
|
||||
/* 80450BA8-80450BAC 0000A8 0004+00 2/2 0/0 0/0 .sbss print_errors */
|
||||
static u8 print_errors[4];
|
||||
static u32 print_errors;
|
||||
|
||||
/* 80450BAC-80450BB0 0000AC 0004+00 1/1 0/0 0/0 .sbss print_warings */
|
||||
static u8 print_warings[4];
|
||||
static u32 print_warings;
|
||||
|
||||
/* 80450BB0-80450BB4 0000B0 0004+00 1/1 0/0 0/0 .sbss print_systems */
|
||||
static u8 print_systems[4];
|
||||
static u32 print_systems;
|
||||
|
||||
/* 80450BB4-80450BB8 -00001 0004+00 3/3 0/0 0/0 .sbss None */
|
||||
/* 80450BB4 0001+00 data_80450BB4 None */
|
||||
/* 80450BB5 0003+00 data_80450BB5 None */
|
||||
static u8 struct_80450BB4[4];
|
||||
static bool sOSReportInit;
|
||||
|
||||
static bool data_80450BB5;
|
||||
|
||||
/* 800068C4-800068DC 001204 0018+00 1/1 1/1 0/0 .text OSReportInit__Fv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void OSReportInit() {
|
||||
nofralloc
|
||||
#include "asm/m_Do/m_Do_printf/OSReportInit__Fv.s"
|
||||
void OSReportInit() {
|
||||
if (sOSReportInit) {
|
||||
return;
|
||||
}
|
||||
sOSReportInit = true;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803DB740-803DBF40 008460 0800+00 1/1 0/0 0/0 .bss mDoPrintf_FiberStack */
|
||||
|
@ -172,139 +130,125 @@ static u8 mDoPrintf_FiberStack[2048] ALIGN_DECL(32);
|
|||
|
||||
/* 800068DC-80006964 00121C 0088+00 1/1 0/0 0/0 .text
|
||||
* mDoPrintf_vprintf_Interrupt__FPCcP16__va_list_struct */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void mDoPrintf_vprintf_Interrupt(char const* param_0, __va_list_struct* param_1) {
|
||||
nofralloc
|
||||
#include "asm/m_Do/m_Do_printf/mDoPrintf_vprintf_Interrupt__FPCcP16__va_list_struct.s"
|
||||
void mDoPrintf_vprintf_Interrupt(char const* fmt, __va_list_struct* args) {
|
||||
s32 interruptStatus = OSDisableInterrupts();
|
||||
if (!data_80450BB5) {
|
||||
data_80450BB5 = true;
|
||||
OSSwitchFiberEx((u32)fmt, (u32)args, 0, 0, (u32)vprintf, (u32)&mDoPrintf_FiberStack + sizeof(mDoPrintf_FiberStack));
|
||||
data_80450BB5 = false;
|
||||
}
|
||||
OSRestoreInterrupts(interruptStatus);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80006964-80006984 0012A4 0020+00 1/1 0/0 0/0 .text
|
||||
* mDoPrintf_vprintf_Thread__FPCcP16__va_list_struct */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void mDoPrintf_vprintf_Thread(char const* param_0, __va_list_struct* param_1) {
|
||||
nofralloc
|
||||
#include "asm/m_Do/m_Do_printf/mDoPrintf_vprintf_Thread__FPCcP16__va_list_struct.s"
|
||||
void mDoPrintf_vprintf_Thread(char const* fmt, __va_list_struct* args) {
|
||||
vprintf(fmt, args);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80006984-80006A10 0012C4 008C+00 4/4 0/0 0/0 .text mDoPrintf_vprintf__FPCcP16__va_list_struct
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void mDoPrintf_vprintf(char const* param_0, __va_list_struct* param_1) {
|
||||
nofralloc
|
||||
#include "asm/m_Do/m_Do_printf/mDoPrintf_vprintf__FPCcP16__va_list_struct.s"
|
||||
void mDoPrintf_vprintf(char const* fmt, __va_list_struct* args) {
|
||||
OSThread* currentThread = mDoExt_GetCurrentRunningThread__Fv();
|
||||
if (currentThread == NULL) {
|
||||
mDoPrintf_vprintf_Interrupt(fmt, args);
|
||||
} else {
|
||||
u8* stackPtr = OSGetStackPointer();
|
||||
if (stackPtr < currentThread->stack_end + 0xA00 || stackPtr > currentThread->stack_base) {
|
||||
mDoPrintf_vprintf_Interrupt(fmt, args);
|
||||
} else {
|
||||
mDoPrintf_vprintf_Thread(fmt, args);
|
||||
}
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80006A10-80006A9C 001350 008C+00 1/1 0/0 0/0 .text mDoPrintf_VReport */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void mDoPrintf_VReport() {
|
||||
nofralloc
|
||||
#include "asm/m_Do/m_Do_printf/mDoPrintf_VReport.s"
|
||||
void mDoPrintf_VReport(const char* fmt, __va_list_struct* args) {
|
||||
if (!sOSReportInit) {
|
||||
OSReportInit();
|
||||
}
|
||||
if (sOSReportForceEnable || !sOSReportDisabled) {
|
||||
OSThread* currentThread = mDoExt_GetCurrentRunningThread__Fv();
|
||||
if (__OSReport_MonopolyThread == NULL || __OSReport_MonopolyThread == currentThread) {
|
||||
mDoPrintf_vprintf(fmt, args);
|
||||
print_counts++;
|
||||
}
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80006A9C-80006ABC 0013DC 0020+00 2/2 0/0 0/0 .text OSVReport */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void OSVReport() {
|
||||
nofralloc
|
||||
#include "asm/m_Do/m_Do_printf/OSVReport.s"
|
||||
void OSVReport(const char* fmt, __va_list_struct* args) {
|
||||
mDoPrintf_VReport(fmt, args);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80006ABC-80006B3C 0013FC 0080+00 0/0 97/97 10/10 .text OSReport */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void OSReport() {
|
||||
nofralloc
|
||||
#include "asm/m_Do/m_Do_printf/OSReport.s"
|
||||
void OSReport(const char* fmt, ...) {
|
||||
va_list args;
|
||||
va_start(args, fmt);
|
||||
OSVReport(fmt, args);
|
||||
va_end(args);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80373CB0-80373CB0 000310 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_80373CB0 = ""
|
||||
"\x1B"
|
||||
"[41;37m***** FATAL ERROR *****\n";
|
||||
SECTION_DEAD static char const* const stringBase_80373CD1 = "***** FATAL ERROR *****\n"
|
||||
"\x1B"
|
||||
"[m";
|
||||
#pragma pop
|
||||
|
||||
/* 80006B3C-80006C0C 00147C 00D0+00 0/0 2/2 0/0 .text OSReport_FatalError */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void OSReport_FatalError() {
|
||||
nofralloc
|
||||
#include "asm/m_Do/m_Do_printf/OSReport_FatalError.s"
|
||||
}
|
||||
#pragma pop
|
||||
void OSReport_FatalError(const char* fmt, ...) {
|
||||
va_list args;
|
||||
va_start(args, fmt);
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80373CB0-80373CB0 000310 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_80373CED = ""
|
||||
"\x1B"
|
||||
"[41;37m[ERROR]";
|
||||
SECTION_DEAD static char const* const stringBase_80373CFD = ""
|
||||
"\x1B"
|
||||
"[m";
|
||||
#pragma pop
|
||||
OSReportForceEnableOn();
|
||||
my_PutString("\x1B[41;37m***** FATAL ERROR *****\n");
|
||||
OSVAttention(fmt, args);
|
||||
my_PutString("***** FATAL ERROR *****\n\x1B[m");
|
||||
OSReportForceEnableOff();
|
||||
fflush(&__files.stdout);
|
||||
print_errors++;
|
||||
|
||||
va_end(args);
|
||||
}
|
||||
|
||||
/* 80006C0C-80006CEC 00154C 00E0+00 0/0 31/31 10/10 .text OSReport_Error */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void OSReport_Error() {
|
||||
nofralloc
|
||||
#include "asm/m_Do/m_Do_printf/OSReport_Error.s"
|
||||
void OSReport_Error(const char* fmt, ...) {
|
||||
print_errors++;
|
||||
if (!data_80450B99) {
|
||||
va_list args;
|
||||
va_start(args, fmt);
|
||||
OSReportForceEnableOn();
|
||||
my_PutString("\x1B[41;37m[ERROR]");
|
||||
OSVReport(fmt, args);
|
||||
my_PutString("\x1B[m");
|
||||
OSReportForceEnableOff();
|
||||
fflush(&__files.stdout);
|
||||
va_end(args);
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80373CB0-80373CB0 000310 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_80373D01 = ""
|
||||
"\x1B"
|
||||
"[43;30m[WARN]";
|
||||
#pragma pop
|
||||
|
||||
/* 80006CEC-80006DCC 00162C 00E0+00 0/0 6/6 0/0 .text OSReport_Warning */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void OSReport_Warning() {
|
||||
nofralloc
|
||||
#include "asm/m_Do/m_Do_printf/OSReport_Warning.s"
|
||||
void OSReport_Warning(const char* fmt, ...) {
|
||||
print_warings++;
|
||||
if (!data_80450B9A) {
|
||||
va_list args;
|
||||
va_start(args, fmt);
|
||||
OSReportForceEnableOn();
|
||||
my_PutString("\x1B[43;30m[WARN]");
|
||||
OSVAttention(fmt, args);
|
||||
my_PutString("\x1B[m");
|
||||
OSReportForceEnableOff();
|
||||
fflush(&__files.stdout);
|
||||
va_end(args);
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80006DCC-80006E7C 00170C 00B0+00 0/0 1/1 0/0 .text OSReport_System */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void OSReport_System() {
|
||||
nofralloc
|
||||
#include "asm/m_Do/m_Do_printf/OSReport_System.s"
|
||||
void OSReport_System(const char* fmt, ...) {
|
||||
print_systems++;
|
||||
if (!data_80450B9B) {
|
||||
va_list args;
|
||||
va_start(args, fmt);
|
||||
OSReportForceEnableOn();
|
||||
OSVAttention(fmt, args);
|
||||
OSReportForceEnableOff();
|
||||
va_end(args);
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80373CB0-80373CB0 000310 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
|
@ -317,13 +261,38 @@ SECTION_DEAD static char const* const stringBase_80373D4C = "0x%08x: 0x%08x
|
|||
#pragma pop
|
||||
|
||||
/* 80006E7C-80006FB4 0017BC 0138+00 0/0 9/9 0/0 .text OSPanic */
|
||||
// loop stuff / ending
|
||||
#ifdef NONMATCHING
|
||||
void OSPanic(const char* file, s32 line, const char* fmt, ...) {
|
||||
OSDisableInterrupts();
|
||||
|
||||
va_list args;
|
||||
va_start(args, fmt);
|
||||
|
||||
mDoPrintf_vprintf(fmt, args);
|
||||
OSAttention(" in \"%s\" on line %d.\n", file, line);
|
||||
OSAttention("\nAddress: Back Chain LR Save\n");
|
||||
|
||||
u32 tmp = 0;
|
||||
u8* stackPtr = OSGetStackPointer();
|
||||
while (stackPtr != NULL && tmp < 0x10) {
|
||||
OSAttention("0x%08x: 0x%08x 0x%08x\n", stackPtr, *(u32*)stackPtr, *(u32*)(stackPtr + 4));
|
||||
stackPtr++;
|
||||
tmp++;
|
||||
}
|
||||
PPCHalt();
|
||||
|
||||
va_end(args);
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void OSPanic() {
|
||||
asm void OSPanic(const char* file, s32 line, const char* fmt, ...) {
|
||||
nofralloc
|
||||
#include "asm/m_Do/m_Do_printf/OSPanic.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 80373CB0-80373CB0 000310 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
|
|
Loading…
Reference in New Issue