dol2asm OK

This commit is contained in:
Julgodis
2021-03-28 22:49:05 +02:00
parent 3d66902e1a
commit 1e95d29b60
60106 changed files with 4755966 additions and 1107376 deletions
+7
View File
@@ -0,0 +1,7 @@
#ifndef JUTASSERT_H
#define JUTASSERT_H
#include "dolphin/types.h"
#endif /* JUTASSERT_H */
@@ -1,8 +0,0 @@
#ifndef JSYSTEM_JUTILITY_JUTASSERT_H_
#define JSYSTEM_JUTILITY_JUTASSERT_H_
namespace JUTAssertion {
void setMessageCount(int message_count);
}
#endif
+7
View File
@@ -0,0 +1,7 @@
#ifndef JUTCACHEFONT_H
#define JUTCACHEFONT_H
#include "dolphin/types.h"
#endif /* JUTCACHEFONT_H */
+7
View File
@@ -0,0 +1,7 @@
#ifndef JUTCONSOLE_H
#define JUTCONSOLE_H
#include "dolphin/types.h"
#endif /* JUTCONSOLE_H */
@@ -1,92 +0,0 @@
#ifndef JSYSTEM_JUTILITY_JUTCONSOLE_H_
#define JSYSTEM_JUTILITY_JUTCONSOLE_H_
#include "JSystem/JKernel/JKRHeap/JKRHeap.h"
#include "JSystem/JSupport/JSUList/JSUList.h"
#include "JSystem/JUtility/JUTResFont.h"
#include "dolphin/types.h"
struct JKRDisposer_members {
struct JKRHeap* heap;
struct JSUPtrLink link;
};
struct TColor {
u8 r;
u8 g;
u8 b;
u8 a;
};
struct JUTResFont_vtable {
void* field_0x0;
void* field_0x4;
void* dtor;
void* setGX1;
void* setGX2;
void* drawChar_scale;
void* getLeading;
void* getAscent;
void* getDescent;
void* getHeight;
void* getWidth;
void* getWidthEntry;
void* getCellWidth;
void* getCellHeight;
void* getFontType;
void* getResFont;
void* isLeadByte;
void* loadImage;
void* setBlock;
};
class JUTConsole {
public:
void clear(void);
void scroll(int);
void dumpToTerminal(unsigned int);
int getLineOffset(void) const;
struct JUTConsole_vtable* vtable;
struct JKRDisposer_members base;
u8 field_0x18;
u8 field_0x19;
u8 field_0x1a;
u8 field_0x1b;
u8 field_0x1c;
u8 field_0x1d;
u8 field_0x1e;
u8 field_0x1f;
u32 field_0x20;
s32 field_0x24;
u8 field_0x28;
u8 field_0x29;
u8 field_0x2a;
u8 field_0x2b;
bool field_0x2c;
u8 field_0x2d;
u8 field_0x2e;
u8 field_0x2f;
s32 field_0x30;
s32 field_0x34;
s32 field_0x38;
u8 field_0x3c;
u8 field_0x3d;
u8 field_0x3e;
u8 field_0x3f;
s32 field_0x40;
s32 field_0x44;
s32 field_0x48;
struct JUTResFont* font;
float field_0x50;
float field_0x54;
u32 field_0x58;
struct TColor field_0x5c;
struct TColor field_0x60;
u32 field_0x64;
bool field_0x68;
bool field_0x69;
bool field_0x6a;
bool field_0x6b;
};
#endif
+7
View File
@@ -0,0 +1,7 @@
#ifndef JUTDBPRINT_H
#define JUTDBPRINT_H
#include "dolphin/types.h"
#endif /* JUTDBPRINT_H */
+7
View File
@@ -0,0 +1,7 @@
#ifndef JUTDIRECTFILE_H
#define JUTDIRECTFILE_H
#include "dolphin/types.h"
#endif /* JUTDIRECTFILE_H */
@@ -0,0 +1,7 @@
#ifndef JUTDIRECTPRINT_H
#define JUTDIRECTPRINT_H
#include "dolphin/types.h"
#endif /* JUTDIRECTPRINT_H */
+7
View File
@@ -0,0 +1,7 @@
#ifndef JUTEXCEPTION_H
#define JUTEXCEPTION_H
#include "dolphin/types.h"
#endif /* JUTEXCEPTION_H */
+7
View File
@@ -0,0 +1,7 @@
#ifndef JUTFADER_H
#define JUTFADER_H
#include "dolphin/types.h"
#endif /* JUTFADER_H */
+7
View File
@@ -0,0 +1,7 @@
#ifndef JUTFONT_H
#define JUTFONT_H
#include "dolphin/types.h"
#endif /* JUTFONT_H */
@@ -1,65 +0,0 @@
#ifndef JSYSTEM_JUTILITY_JUTFONT_H_
#define JSYSTEM_JUTILITY_JUTFONT_H_
#include "global.h"
#include "gx/GX.h"
namespace JUtility {
struct TColor : _GXColor {
TColor() { set(-1); }
TColor(u32 raw) { *(u32*)&r = raw; }
void set(u32 col) { *(u32*)&r = col; }
u32 toUInt32() const { return *(u32*)&r; }
operator u32() const { return toUInt32(); }
void operator=(const TColor& rhs) { ((_GXColor*)this)->operator=(rhs); }
};
} // namespace JUtility
class JUTFont {
public:
JUTFont();
virtual ~JUTFont() {}
struct TWidth {};
/* 0x0c */ virtual void setGX() = 0;
/* 0x10 */ virtual void setGX(JUtility::TColor col1, JUtility::TColor col2);
/* 0x14 */ virtual f32 drawChar_scale(f32 a1, f32 a2, f32 a3, f32 a4, int a5, bool a6) = 0;
/* 0x18 */ virtual u16 getLeading() const = 0;
/* 0x1c */ virtual u16 getAscent() const = 0;
/* 0x20 */ virtual u16 getDescent() const = 0;
/* 0x24 */ virtual u32 getHeight() const = 0;
/* 0x28 */ virtual u32 getWidth() const = 0;
/* 0x2c */ virtual void getWidthEntry(int i_no, TWidth* width) const;
/* 0x30 */ virtual u32 getCellWidth() const;
/* 0x34 */ virtual u32 getCellHeight() const;
/* 0x38 */ virtual u32 getFontType() const = 0;
/* 0x3c */ virtual void getResFont() const = 0;
/* 0x40 */ virtual bool isLeadByte(int a1) const = 0;
static bool isLeadByte_1Byte(int b);
static bool isLeadByte_2Byte(int b);
static bool isLeadByte_ShiftJIS(int b);
void initialize_state();
void setCharColor(JUtility::TColor col1);
void setGradColor(JUtility::TColor col1, JUtility::TColor col2);
f32 drawString_size_scale(f32 a1, f32 a2, f32 a3, f32 a4, const char* a5, u32 usz, bool a7);
u8 unk4;
bool unk5;
int unk8;
JUtility::TColor mColor1;
JUtility::TColor mColor2;
JUtility::TColor mColor3;
JUtility::TColor mColor4;
int unk1C;
};
#endif // JSYSTEM_JUTILITY_JUTFONT_H
@@ -1,75 +0,0 @@
/* 802DEE28 002DBD68 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 802DEE2C 002DBD6C 7C 08 02 A6 */ mflr r0
/* 802DEE30 002DBD70 90 01 00 74 */ stw r0, 0x74(r1)
/* 802DEE34 002DBD74 DB E1 00 60 */ stfd f31, 0x60(r1)
/* 802DEE38 002DBD78 F3 E1 00 68 */ psq_st f31, 104(r1), 0, 0
/* 802DEE3C 002DBD7C DB C1 00 50 */ stfd f30, 0x50(r1)
/* 802DEE40 002DBD80 F3 C1 00 58 */ psq_st f30, 88(r1), 0, 0
/* 802DEE44 002DBD84 DB A1 00 40 */ stfd f29, 0x40(r1)
/* 802DEE48 002DBD88 F3 A1 00 48 */ psq_st f29, 72(r1), 0, 0
/* 802DEE4C 002DBD8C DB 81 00 30 */ stfd f28, 0x30(r1)
/* 802DEE50 002DBD90 F3 81 00 38 */ psq_st f28, 56(r1), 0, 0
/* 802DEE54 002DBD94 DB 61 00 20 */ stfd f27, 0x20(r1)
/* 802DEE58 002DBD98 F3 61 00 28 */ psq_st f27, 40(r1), 0, 0
/* 802DEE5C 002DBD9C 39 61 00 20 */ addi r11, r1, 0x20
/* 802DEE60 002DBDA0 48 08 33 75 */ bl _savegpr_27
/* 802DEE64 002DBDA4 7C 7B 1B 78 */ mr r27, r3
/* 802DEE68 002DBDA8 FF 60 08 90 */ fmr f27, f1
/* 802DEE6C 002DBDAC FF 80 10 90 */ fmr f28, f2
/* 802DEE70 002DBDB0 FF A0 18 90 */ fmr f29, f3
/* 802DEE74 002DBDB4 FF C0 20 90 */ fmr f30, f4
/* 802DEE78 002DBDB8 7C 9C 23 78 */ mr r28, r4
/* 802DEE7C 002DBDBC 7C BD 2B 78 */ mr r29, r5
/* 802DEE80 002DBDC0 7C DE 33 78 */ mr r30, r6
/* 802DEE84 002DBDC4 FF E0 D8 90 */ fmr f31, f27
/* 802DEE88 002DBDC8 48 00 00 74 */ b lbl_802DEEFC
lbl_802DEE8C:
/* 802DEE8C 002DBDCC 88 9C 00 00 */ lbz r4, 0(r28)
/* 802DEE90 002DBDD0 7C 9F 23 78 */ mr r31, r4
/* 802DEE94 002DBDD4 7F 63 DB 78 */ mr r3, r27
/* 802DEE98 002DBDD8 81 9B 00 00 */ lwz r12, 0(r27)
/* 802DEE9C 002DBDDC 81 8C 00 40 */ lwz r12, 0x40(r12)
/* 802DEEA0 002DBDE0 7D 89 03 A6 */ mtctr r12
/* 802DEEA4 002DBDE4 4E 80 04 21 */ bctrl
/* 802DEEA8 002DBDE8 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802DEEAC 002DBDEC 41 82 00 14 */ beq lbl_802DEEC0
/* 802DEEB0 002DBDF0 57 FF 40 2E */ slwi r31, r31, 8
/* 802DEEB4 002DBDF4 8C 1C 00 01 */ lbzu r0, 1(r28)
/* 802DEEB8 002DBDF8 7F FF 03 78 */ or r31, r31, r0
/* 802DEEBC 002DBDFC 3B BD FF FF */ addi r29, r29, -1
lbl_802DEEC0:
/* 802DEEC0 002DBE00 7F 63 DB 78 */ mr r3, r27
/* 802DEEC4 002DBE04 FC 20 D8 90 */ fmr f1, f27
/* 802DEEC8 002DBE08 FC 40 E0 90 */ fmr f2, f28
/* 802DEECC 002DBE0C FC 60 E8 90 */ fmr f3, f29
/* 802DEED0 002DBE10 FC 80 F0 90 */ fmr f4, f30
/* 802DEED4 002DBE14 7F E4 FB 78 */ mr r4, r31
/* 802DEED8 002DBE18 7F C5 F3 78 */ mr r5, r30
/* 802DEEDC 002DBE1C 81 9B 00 00 */ lwz r12, 0(r27)
/* 802DEEE0 002DBE20 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 802DEEE4 002DBE24 7D 89 03 A6 */ mtctr r12
/* 802DEEE8 002DBE28 4E 80 04 21 */ bctrl
/* 802DEEEC 002DBE2C EF 7B 08 2A */ fadds f27, f27, f1
/* 802DEEF0 002DBE30 3B C0 00 01 */ li r30, 1
/* 802DEEF4 002DBE34 3B BD FF FF */ addi r29, r29, -1
/* 802DEEF8 002DBE38 3B 9C 00 01 */ addi r28, r28, 1
lbl_802DEEFC:
/* 802DEEFC 002DBE3C 28 1D 00 00 */ cmplwi r29, 0
/* 802DEF00 002DBE40 40 82 FF 8C */ bne lbl_802DEE8C
/* 802DEF04 002DBE44 EC 3B F8 28 */ fsubs f1, f27, f31
/* 802DEF08 002DBE48 E3 E1 00 68 */ psq_l f31, 104(r1), 0, 0
/* 802DEF0C 002DBE4C CB E1 00 60 */ lfd f31, 0x60(r1)
/* 802DEF10 002DBE50 E3 C1 00 58 */ psq_l f30, 88(r1), 0, 0
/* 802DEF14 002DBE54 CB C1 00 50 */ lfd f30, 0x50(r1)
/* 802DEF18 002DBE58 E3 A1 00 48 */ psq_l f29, 72(r1), 0, 0
/* 802DEF1C 002DBE5C CB A1 00 40 */ lfd f29, 0x40(r1)
/* 802DEF20 002DBE60 E3 81 00 38 */ psq_l f28, 56(r1), 0, 0
/* 802DEF24 002DBE64 CB 81 00 30 */ lfd f28, 0x30(r1)
/* 802DEF28 002DBE68 E3 61 00 28 */ psq_l f27, 40(r1), 0, 0
/* 802DEF2C 002DBE6C CB 61 00 20 */ lfd f27, 0x20(r1)
/* 802DEF30 002DBE70 39 61 00 20 */ addi r11, r1, 0x20
/* 802DEF34 002DBE74 48 08 32 ED */ bl _restgpr_27
/* 802DEF38 002DBE78 80 01 00 74 */ lwz r0, 0x74(r1)
/* 802DEF3C 002DBE7C 7C 08 03 A6 */ mtlr r0
/* 802DEF40 002DBE80 38 21 00 70 */ addi r1, r1, 0x70
/* 802DEF44 002DBE84 4E 80 00 20 */ blr
@@ -0,0 +1,7 @@
#ifndef JUTFONTDATA_ASCFONT_FIX12_H
#define JUTFONTDATA_ASCFONT_FIX12_H
#include "dolphin/types.h"
#endif /* JUTFONTDATA_ASCFONT_FIX12_H */
+7
View File
@@ -0,0 +1,7 @@
#ifndef JUTGAMEPAD_H
#define JUTGAMEPAD_H
#include "dolphin/types.h"
#endif /* JUTGAMEPAD_H */
@@ -1,173 +0,0 @@
#ifndef JSYSTEM_JUTILITY_JUTGAMEPAD_
#define JSYSTEM_JUTILITY_JUTGAMEPAD_
#include "JSystem/JKernel/JKRDisposer/JKRDisposer.h"
#include "JSystem/JSupport/JSUList/JSUList.h"
#include "dolphin/types.h"
#include "os/OS.h"
#include "pad/pad.h"
namespace CButton {
enum {
DPAD_LEFT = 0x0001,
DPAD_RIGHT = 0x0002,
DPAD_DOWN = 0x0004,
DPAD_UP = 0x0008,
Z = 0x0010,
R = 0x0020,
L = 0x0040,
A = 0x0100,
B = 0x0200,
X = 0x0400,
Y = 0x0800,
START = 0x1000,
};
}
struct JUTGamePad : public JKRDisposer {
public:
enum EStickMode {};
enum EWhichStick {};
// typedef u32 EPadPort;
enum EPadPort { Port_1 = 0, Port_2 = 0, Port_3 = 0, Port_4 = 0 };
JUTGamePad(JUTGamePad::EPadPort port);
virtual ~JUTGamePad();
void initList();
static s32 init();
void clear();
void read();
void assign();
void checkResetCallback(OSTime unk); // todo: weird arg
void update();
void stopPatternedRumble() { this->rumble.stopPatternedRumble(this->pad_port); }
static void checkResetSwitch();
static void clearForReset();
static JUTGamePad* getGamePad(int pad_index);
static bool recalibrate(PADMask pad_mask);
struct CButton {
CButton();
void clear();
u32 update(PADStatus const*, u32 unk);
void setRepeat(u32 unk0, u32 unk1, u32 unk2);
u32 mButtonFlags;
u32 mPressedButtonFlags;
u32 mReleasedButtonFlags;
u8 mAnalogARaw;
u8 mAnalogBRaw;
u8 mTriggerLeftRaw;
u8 mTriggerRightRaw;
f32 mTriggerLeft;
f32 mTriggerRight;
u32 field_0x18; // padding?
u32 field_0x1c;
u32 field_0x20;
u32 field_0x24;
u32 field_0x28;
u32 field_0x2c;
};
struct CStick {
CStick();
void clear();
void clear(JUTGamePad* pad);
u32 update(s8 unk0, s8 unk1, JUTGamePad::EStickMode mode, JUTGamePad::EWhichStick stick,
u32 unk2);
u32 getButton(u32 unk);
float mPosX;
float mPosY;
float mValue;
s16 mAngle;
s8 field_0xe;
s8 field_0xf;
};
struct CRumble {
enum ERumble {
VAL_0 = 0,
VAL_1 = 1,
VAL_2 = 2,
};
void clear();
void clear(JUTGamePad* pad);
static void startMotor(int channel);
static void stopMotor(int channel, bool stop);
void update(s16 unk0);
void triggerPatternedRumble(u32 unk0);
void startPatternedRumble(void* unk0, ERumble rumble, u32 unk1);
void stopPatternedRumble(s16 pad_port);
void stopPatternedRumbleAtThePeriod();
static void setEnabled(PADMask pad_mask);
u32 field_0x0;
u32 field_0x4;
u8* field_0x8;
u32 field_0xc;
u8* field_0x10;
};
CButton buttons;
CStick control_stick;
CStick c_stick;
CRumble rumble;
s16 pad_port;
s8 error_value;
u8 pad0;
JSUPtrLink ptr_link;
u8 unk0[8];
u8 field_0x98;
u8 unk1[3];
u8 reset_flag;
u8 pad1[3];
OSTime reset_time;
u8 field_0xa8;
friend class CRumble;
};
struct JUTGamePadLongPress {
void checkCallback(int unk0, u32 unk2);
u8 unk0[17];
bool field_0x11; // bool?
u8 unk1[10];
u32 field_0x1c;
u8 unk2[28];
u8 field_0x3c;
u8 unk3[11];
bool field_0x48[4]; // bool[4]?
void (*callback)(s32, JUTGamePadLongPress*, s32);
s32 field_0x50;
};
extern "C" {
// s32 JUTGamePad_NS_init(void);
bool getNumBit__FPUci(u8* unk0, u32 unk1);
}
extern float lbl_80456028; // JUTGamePad::CStick::clear() init to 0.0
extern bool lbl_804514E4[4]; // JUTGamePad::CRumble::mStatus (static?)
extern PADMask lbl_804514E8; // JUTGamePad::CRumble::mEnabled (static?)
extern PADMask lbl_803CC5F0[4]; // JUTGamePad::CRumble::sChannelMask
extern s32 sAnalogMode; // JUTGamePad::sAnalogMode
extern bool lbl_804514D0; // JUTGamePad::mIsPadListInitialized
extern JSUList<JUTGamePad> lbl_804343E4; // JUTGamePad::mPadList
// extern JSUPtrList lbl_804343E4; // JUTGamePad::mPadList
extern u8 lbl_804514D4[4]; // JUTGamePad::mPadAssign
extern PADStatus lbl_804343F0[4]; // JUTGamePad::mPadStatus
extern JUTGamePad::CButton lbl_80434420[4]; // JUTGamePad::mPadButton
extern bool lbl_80451501;
extern bool lbl_80451500;
extern s32 lbl_80451504; // JUTGamePad::C3ButtonReset::sResetOccurredPort
extern OSTime lbl_804514F8; // JUTGamePad::C3ButtonReset::sThreshold
extern u32 lbl_804514D8; // JUTGamePad::sSuppressPadReset
extern PADMask lbl_803CC600[4]; // JUtility::channel_mask
#endif
@@ -1,54 +0,0 @@
/* 802E06DC 002DD61C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802E06E0 002DD620 7C 08 02 A6 */ mflr r0
/* 802E06E4 002DD624 90 01 00 14 */ stw r0, 0x14(r1)
/* 802E06E8 002DD628 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802E06EC 002DD62C 93 C1 00 08 */ stw r30, 8(r1)
/* 802E06F0 002DD630 7C 7E 1B 78 */ mr r30, r3
/* 802E06F4 002DD634 7C 9F 23 78 */ mr r31, r4
/* 802E06F8 002DD638 4B FF 0D 85 */ bl __ct__11JKRDisposerFv
/* 802E06FC 002DD63C 3C 60 80 3D */ lis r3, lbl_803CC610@ha
/* 802E0700 002DD640 38 03 C6 10 */ addi r0, r3, lbl_803CC610@l
/* 802E0704 002DD644 90 1E 00 00 */ stw r0, 0(r30)
/* 802E0708 002DD648 38 7E 00 18 */ addi r3, r30, 0x18
/* 802E070C 002DD64C 48 00 09 45 */ bl clear__Q210JUTGamePad7CButtonFv
/* 802E0710 002DD650 38 7E 00 48 */ addi r3, r30, 0x48
/* 802E0714 002DD654 48 00 0B 09 */ bl clear__Q210JUTGamePad6CStickFv
/* 802E0718 002DD658 38 7E 00 58 */ addi r3, r30, 0x58
/* 802E071C 002DD65C 48 00 0B 01 */ bl clear__Q210JUTGamePad6CStickFv
/* 802E0720 002DD660 38 7E 00 68 */ addi r3, r30, 0x68
/* 802E0724 002DD664 7F C4 F3 78 */ mr r4, r30
/* 802E0728 002DD668 48 00 0E B1 */ bl clear__Q210JUTGamePad7CRumbleFP10JUTGamePad
/* 802E072C 002DD66C 38 7E 00 80 */ addi r3, r30, 0x80
/* 802E0730 002DD670 7F C4 F3 78 */ mr r4, r30
/* 802E0734 002DD674 4B FF B6 C9 */ bl __ct__10JSUPtrLinkFPv
/* 802E0738 002DD678 38 00 00 00 */ li r0, 0
/* 802E073C 002DD67C 98 1E 00 98 */ stb r0, 0x98(r30)
/* 802E0740 002DD680 B3 FE 00 7C */ sth r31, 0x7c(r30)
/* 802E0744 002DD684 7F C3 F3 78 */ mr r3, r30
/* 802E0748 002DD688 A8 1E 00 7C */ lha r0, 0x7c(r30)
/* 802E074C 002DD68C 2C 00 00 00 */ cmpwi r0, 0
/* 802E0750 002DD690 41 80 00 14 */ blt lbl_802E0764
/* 802E0754 002DD694 38 AD 8F 54 */ addi r5, r13, 0x804514D4-0x80458580 /*lbl_804514D4-_SDA_BASE_*/
/* 802E0758 002DD698 7C 85 F8 AE */ lbzx r4, r5, r31
/* 802E075C 002DD69C 38 04 00 01 */ addi r0, r4, 1
/* 802E0760 002DD6A0 7C 05 F9 AE */ stbx r0, r5, r31
lbl_802E0764:
/* 802E0764 002DD6A4 48 00 00 F9 */ bl initList__10JUTGamePadFv
/* 802E0768 002DD6A8 3C 60 80 43 */ lis r3, lbl_804343E4@ha
/* 802E076C 002DD6AC 38 63 43 E4 */ addi r3, r3, lbl_804343E4@l
/* 802E0770 002DD6B0 38 9E 00 80 */ addi r4, r30, 0x80
/* 802E0774 002DD6B4 4B FF B7 D9 */ bl append__10JSUPtrListFP10JSUPtrLink
/* 802E0778 002DD6B8 7F C3 F3 78 */ mr r3, r30
/* 802E077C 002DD6BC 48 00 05 5D */ bl update__10JUTGamePadFv
/* 802E0780 002DD6C0 38 00 00 00 */ li r0, 0
/* 802E0784 002DD6C4 90 1E 00 90 */ stw r0, 0x90(r30)
/* 802E0788 002DD6C8 90 1E 00 94 */ stw r0, 0x94(r30)
/* 802E078C 002DD6CC 7F C3 F3 78 */ mr r3, r30
/* 802E0790 002DD6D0 48 00 01 41 */ bl clear__10JUTGamePadFv
/* 802E0794 002DD6D4 7F C3 F3 78 */ mr r3, r30
/* 802E0798 002DD6D8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802E079C 002DD6DC 83 C1 00 08 */ lwz r30, 8(r1)
/* 802E07A0 002DD6E0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802E07A4 002DD6E4 7C 08 03 A6 */ mtlr r0
/* 802E07A8 002DD6E8 38 21 00 10 */ addi r1, r1, 0x10
/* 802E07AC 002DD6EC 4E 80 00 20 */ blr
@@ -1,46 +0,0 @@
/* 802E07B0 002DD6F0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802E07B4 002DD6F4 7C 08 02 A6 */ mflr r0
/* 802E07B8 002DD6F8 90 01 00 14 */ stw r0, 0x14(r1)
/* 802E07BC 002DD6FC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802E07C0 002DD700 93 C1 00 08 */ stw r30, 8(r1)
/* 802E07C4 002DD704 7C 7E 1B 79 */ or. r30, r3, r3
/* 802E07C8 002DD708 7C 9F 23 78 */ mr r31, r4
/* 802E07CC 002DD70C 41 82 00 74 */ beq lbl_802E0840
/* 802E07D0 002DD710 3C 60 80 3D */ lis r3, lbl_803CC610@ha
/* 802E07D4 002DD714 38 03 C6 10 */ addi r0, r3, lbl_803CC610@l
/* 802E07D8 002DD718 90 1E 00 00 */ stw r0, 0(r30)
/* 802E07DC 002DD71C A8 BE 00 7C */ lha r5, 0x7c(r30)
/* 802E07E0 002DD720 7C A0 07 35 */ extsh. r0, r5
/* 802E07E4 002DD724 41 80 00 1C */ blt lbl_802E0800
/* 802E07E8 002DD728 38 8D 8F 54 */ addi r4, r13, 0x804514D4-0x80458580/*lbl_804514D4-_SDA_BASE_*/
/* 802E07EC 002DD72C 7C 64 28 AE */ lbzx r3, r4, r5
/* 802E07F0 002DD730 38 03 FF FF */ addi r0, r3, -1
/* 802E07F4 002DD734 7C 04 29 AE */ stbx r0, r4, r5
/* 802E07F8 002DD738 38 00 FF FF */ li r0, -1
/* 802E07FC 002DD73C B0 1E 00 7C */ sth r0, 0x7c(r30)
lbl_802E0800:
/* 802E0800 002DD740 3C 60 80 43 */ lis r3, lbl_804343E4@ha
/* 802E0804 002DD744 38 63 43 E4 */ addi r3, r3, lbl_804343E4@l
/* 802E0808 002DD748 38 9E 00 80 */ addi r4, r30, 0x80
/* 802E080C 002DD74C 4B FF B9 51 */ bl remove__10JSUPtrListFP10JSUPtrLink
/* 802E0810 002DD750 34 1E 00 80 */ addic. r0, r30, 0x80
/* 802E0814 002DD754 41 82 00 10 */ beq lbl_802E0824
/* 802E0818 002DD758 38 7E 00 80 */ addi r3, r30, 0x80
/* 802E081C 002DD75C 38 80 00 00 */ li r4, 0
/* 802E0820 002DD760 4B FF B5 F5 */ bl __dt__10JSUPtrLinkFv
lbl_802E0824:
/* 802E0824 002DD764 7F C3 F3 78 */ mr r3, r30
/* 802E0828 002DD768 38 80 00 00 */ li r4, 0
/* 802E082C 002DD76C 4B FF 0C B9 */ bl __dt__11JKRDisposerFv
/* 802E0830 002DD770 7F E0 07 35 */ extsh. r0, r31
/* 802E0834 002DD774 40 81 00 0C */ ble lbl_802E0840
/* 802E0838 002DD778 7F C3 F3 78 */ mr r3, r30
/* 802E083C 002DD77C 4B FE E5 01 */ bl __dl__FPv
lbl_802E0840:
/* 802E0840 002DD780 7F C3 F3 78 */ mr r3, r30
/* 802E0844 002DD784 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802E0848 002DD788 83 C1 00 08 */ lwz r30, 8(r1)
/* 802E084C 002DD78C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802E0850 002DD790 7C 08 03 A6 */ mtlr r0
/* 802E0854 002DD794 38 21 00 10 */ addi r1, r1, 0x10
/* 802E0858 002DD798 4E 80 00 20 */ blr
@@ -1,196 +0,0 @@
/* 802E08E4 002DD824 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 802E08E8 002DD828 7C 08 02 A6 */ mflr r0
/* 802E08EC 002DD82C 90 01 00 44 */ stw r0, 0x44(r1)
/* 802E08F0 002DD830 39 61 00 40 */ addi r11, r1, 0x40
/* 802E08F4 002DD834 48 08 18 CD */ bl _savegpr_22
/* 802E08F8 002DD838 3C 60 80 43 */ lis r3, lbl_804343D8@ha
/* 802E08FC 002DD83C 3B E3 43 D8 */ addi r31, r3, lbl_804343D8@l
/* 802E0900 002DD840 38 7F 00 18 */ addi r3, r31, 0x18
/* 802E0904 002DD844 48 06 E5 9D */ bl PADRead
/* 802E0908 002DD848 90 6D 8F 60 */ stw r3, _sRumbleSupported-_SDA_BASE_(r13)
/* 802E090C 002DD84C 80 0D 83 5C */ lwz r0, lbl_804508DC-_SDA_BASE_(r13)
/* 802E0910 002DD850 2C 00 00 02 */ cmpwi r0, 2
/* 802E0914 002DD854 41 82 00 20 */ beq lbl_802E0934
/* 802E0918 002DD858 40 80 00 24 */ bge lbl_802E093C
/* 802E091C 002DD85C 2C 00 00 01 */ cmpwi r0, 1
/* 802E0920 002DD860 40 80 00 08 */ bge lbl_802E0928
/* 802E0924 002DD864 48 00 00 18 */ b lbl_802E093C
lbl_802E0928:
/* 802E0928 002DD868 38 7F 00 18 */ addi r3, r31, 0x18
/* 802E092C 002DD86C 48 06 D7 69 */ bl PADClamp
/* 802E0930 002DD870 48 00 00 0C */ b lbl_802E093C
lbl_802E0934:
/* 802E0934 002DD874 38 7F 00 18 */ addi r3, r31, 0x18
/* 802E0938 002DD878 48 06 D8 71 */ bl PADClampCircle
lbl_802E093C:
/* 802E093C 002DD87C 3B C0 00 00 */ li r30, 0
/* 802E0940 002DD880 3B A0 00 00 */ li r29, 0
/* 802E0944 002DD884 3B 80 00 00 */ li r28, 0
/* 802E0948 002DD888 3B 60 00 00 */ li r27, 0
/* 802E094C 002DD88C 3B 40 00 00 */ li r26, 0
/* 802E0950 002DD890 3F 20 80 00 */ lis r25, 0x8000
lbl_802E0954:
/* 802E0954 002DD894 7F 37 EC 30 */ srw r23, r25, r29
/* 802E0958 002DD898 3B 1F 00 18 */ addi r24, r31, 0x18
/* 802E095C 002DD89C 7F 18 D2 14 */ add r24, r24, r26
/* 802E0960 002DD8A0 88 78 00 0A */ lbz r3, 0xa(r24)
/* 802E0964 002DD8A4 7C 60 07 75 */ extsb. r0, r3
/* 802E0968 002DD8A8 40 82 00 6C */ bne lbl_802E09D4
/* 802E096C 002DD8AC 38 7F 01 08 */ addi r3, r31, 0x108
/* 802E0970 002DD8B0 7C 63 DA 14 */ add r3, r3, r27
/* 802E0974 002DD8B4 88 98 00 02 */ lbz r4, 2(r24)
/* 802E0978 002DD8B8 88 B8 00 03 */ lbz r5, 3(r24)
/* 802E097C 002DD8BC 80 CD 83 58 */ lwz r6, lbl_804508D8-_SDA_BASE_(r13)
/* 802E0980 002DD8C0 38 E0 00 00 */ li r7, 0
/* 802E0984 002DD8C4 3A FF 00 48 */ addi r23, r31, 0x48
/* 802E0988 002DD8C8 7E F7 E2 14 */ add r23, r23, r28
/* 802E098C 002DD8CC 81 17 00 00 */ lwz r8, 0(r23)
/* 802E0990 002DD8D0 48 00 08 A9 */ bl update__Q210JUTGamePad6CStickFScScQ210JUTGamePad10EStickModeQ210JUTGamePad11EWhichStickUl
/* 802E0994 002DD8D4 54 76 C0 0E */ slwi r22, r3, 0x18
/* 802E0998 002DD8D8 38 7F 01 48 */ addi r3, r31, 0x148
/* 802E099C 002DD8DC 7C 63 DA 14 */ add r3, r3, r27
/* 802E09A0 002DD8E0 88 98 00 04 */ lbz r4, 4(r24)
/* 802E09A4 002DD8E4 88 B8 00 05 */ lbz r5, 5(r24)
/* 802E09A8 002DD8E8 80 CD 83 58 */ lwz r6, lbl_804508D8-_SDA_BASE_(r13)
/* 802E09AC 002DD8EC 38 E0 00 01 */ li r7, 1
/* 802E09B0 002DD8F0 81 17 00 00 */ lwz r8, 0(r23)
/* 802E09B4 002DD8F4 48 00 08 85 */ bl update__Q210JUTGamePad6CStickFScScQ210JUTGamePad10EStickModeQ210JUTGamePad11EWhichStickUl
/* 802E09B8 002DD8F8 54 60 80 1E */ slwi r0, r3, 0x10
/* 802E09BC 002DD8FC 7E D6 03 78 */ or r22, r22, r0
/* 802E09C0 002DD900 7E E3 BB 78 */ mr r3, r23
/* 802E09C4 002DD904 7F 04 C3 78 */ mr r4, r24
/* 802E09C8 002DD908 7E C5 B3 78 */ mr r5, r22
/* 802E09CC 002DD90C 48 00 06 C1 */ bl update__Q210JUTGamePad7CButtonFPC9PADStatusUl
/* 802E09D0 002DD910 48 00 00 90 */ b lbl_802E0A60
lbl_802E09D4:
/* 802E09D4 002DD914 7C 60 07 74 */ extsb r0, r3
/* 802E09D8 002DD918 2C 00 FF FF */ cmpwi r0, -1
/* 802E09DC 002DD91C 40 82 00 6C */ bne lbl_802E0A48
/* 802E09E0 002DD920 38 7F 01 08 */ addi r3, r31, 0x108
/* 802E09E4 002DD924 7C 63 DA 14 */ add r3, r3, r27
/* 802E09E8 002DD928 38 80 00 00 */ li r4, 0
/* 802E09EC 002DD92C 38 A0 00 00 */ li r5, 0
/* 802E09F0 002DD930 80 CD 83 58 */ lwz r6, lbl_804508D8-_SDA_BASE_(r13)
/* 802E09F4 002DD934 38 E0 00 00 */ li r7, 0
/* 802E09F8 002DD938 39 00 00 00 */ li r8, 0
/* 802E09FC 002DD93C 48 00 08 3D */ bl update__Q210JUTGamePad6CStickFScScQ210JUTGamePad10EStickModeQ210JUTGamePad11EWhichStickUl
/* 802E0A00 002DD940 38 7F 01 48 */ addi r3, r31, 0x148
/* 802E0A04 002DD944 7C 63 DA 14 */ add r3, r3, r27
/* 802E0A08 002DD948 38 80 00 00 */ li r4, 0
/* 802E0A0C 002DD94C 38 A0 00 00 */ li r5, 0
/* 802E0A10 002DD950 80 CD 83 58 */ lwz r6, lbl_804508D8-_SDA_BASE_(r13)
/* 802E0A14 002DD954 38 E0 00 01 */ li r7, 1
/* 802E0A18 002DD958 39 00 00 00 */ li r8, 0
/* 802E0A1C 002DD95C 48 00 08 1D */ bl update__Q210JUTGamePad6CStickFScScQ210JUTGamePad10EStickModeQ210JUTGamePad11EWhichStickUl
/* 802E0A20 002DD960 38 7F 00 48 */ addi r3, r31, 0x48
/* 802E0A24 002DD964 7C 63 E2 14 */ add r3, r3, r28
/* 802E0A28 002DD968 38 80 00 00 */ li r4, 0
/* 802E0A2C 002DD96C 38 A0 00 00 */ li r5, 0
/* 802E0A30 002DD970 48 00 06 5D */ bl update__Q210JUTGamePad7CButtonFPC9PADStatusUl
/* 802E0A34 002DD974 80 0D 8F 58 */ lwz r0, lbl_804514D8-_SDA_BASE_(r13)
/* 802E0A38 002DD978 7C 00 B8 39 */ and. r0, r0, r23
/* 802E0A3C 002DD97C 40 82 00 24 */ bne lbl_802E0A60
/* 802E0A40 002DD980 7F DE BB 78 */ or r30, r30, r23
/* 802E0A44 002DD984 48 00 00 1C */ b lbl_802E0A60
lbl_802E0A48:
/* 802E0A48 002DD988 38 00 00 00 */ li r0, 0
/* 802E0A4C 002DD98C 38 7F 00 48 */ addi r3, r31, 0x48
/* 802E0A50 002DD990 7C 63 E2 14 */ add r3, r3, r28
/* 802E0A54 002DD994 90 03 00 04 */ stw r0, 4(r3)
/* 802E0A58 002DD998 90 03 00 08 */ stw r0, 8(r3)
/* 802E0A5C 002DD99C 90 03 00 18 */ stw r0, 0x18(r3)
lbl_802E0A60:
/* 802E0A60 002DD9A0 3B BD 00 01 */ addi r29, r29, 1
/* 802E0A64 002DD9A4 2C 1D 00 04 */ cmpwi r29, 4
/* 802E0A68 002DD9A8 3B 9C 00 30 */ addi r28, r28, 0x30
/* 802E0A6C 002DD9AC 3B 7B 00 10 */ addi r27, r27, 0x10
/* 802E0A70 002DD9B0 3B 5A 00 0C */ addi r26, r26, 0xc
/* 802E0A74 002DD9B4 41 80 FE E0 */ blt lbl_802E0954
/* 802E0A78 002DD9B8 83 3F 00 0C */ lwz r25, 0xc(r31)
/* 802E0A7C 002DD9BC 48 00 01 08 */ b lbl_802E0B84
lbl_802E0A80:
/* 802E0A80 002DD9C0 80 99 00 00 */ lwz r4, 0(r25)
/* 802E0A84 002DD9C4 80 64 00 94 */ lwz r3, 0x94(r4)
/* 802E0A88 002DD9C8 28 03 00 00 */ cmplwi r3, 0
/* 802E0A8C 002DD9CC 41 82 00 88 */ beq lbl_802E0B14
/* 802E0A90 002DD9D0 88 03 00 04 */ lbz r0, 4(r3)
/* 802E0A94 002DD9D4 28 00 00 00 */ cmplwi r0, 0
/* 802E0A98 002DD9D8 41 82 00 7C */ beq lbl_802E0B14
/* 802E0A9C 002DD9DC 38 81 00 08 */ addi r4, r1, 8
/* 802E0AA0 002DD9E0 81 83 00 00 */ lwz r12, 0(r3)
/* 802E0AA4 002DD9E4 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 802E0AA8 002DD9E8 7D 89 03 A6 */ mtctr r12
/* 802E0AAC 002DD9EC 4E 80 04 21 */ bctrl
/* 802E0AB0 002DD9F0 81 19 00 00 */ lwz r8, 0(r25)
/* 802E0AB4 002DD9F4 38 68 00 48 */ addi r3, r8, 0x48
/* 802E0AB8 002DD9F8 88 81 00 0A */ lbz r4, 0xa(r1)
/* 802E0ABC 002DD9FC 88 A1 00 0B */ lbz r5, 0xb(r1)
/* 802E0AC0 002DDA00 80 CD 83 58 */ lwz r6, lbl_804508D8-_SDA_BASE_(r13)
/* 802E0AC4 002DDA04 38 E0 00 00 */ li r7, 0
/* 802E0AC8 002DDA08 81 08 00 18 */ lwz r8, 0x18(r8)
/* 802E0ACC 002DDA0C 48 00 07 6D */ bl update__Q210JUTGamePad6CStickFScScQ210JUTGamePad10EStickModeQ210JUTGamePad11EWhichStickUl
/* 802E0AD0 002DDA10 54 76 C0 0E */ slwi r22, r3, 0x18
/* 802E0AD4 002DDA14 81 19 00 00 */ lwz r8, 0(r25)
/* 802E0AD8 002DDA18 38 68 00 58 */ addi r3, r8, 0x58
/* 802E0ADC 002DDA1C 88 81 00 0C */ lbz r4, 0xc(r1)
/* 802E0AE0 002DDA20 88 A1 00 0D */ lbz r5, 0xd(r1)
/* 802E0AE4 002DDA24 80 CD 83 58 */ lwz r6, lbl_804508D8-_SDA_BASE_(r13)
/* 802E0AE8 002DDA28 38 E0 00 01 */ li r7, 1
/* 802E0AEC 002DDA2C 81 08 00 18 */ lwz r8, 0x18(r8)
/* 802E0AF0 002DDA30 48 00 07 49 */ bl update__Q210JUTGamePad6CStickFScScQ210JUTGamePad10EStickModeQ210JUTGamePad11EWhichStickUl
/* 802E0AF4 002DDA34 54 60 80 1E */ slwi r0, r3, 0x10
/* 802E0AF8 002DDA38 7E D6 03 78 */ or r22, r22, r0
/* 802E0AFC 002DDA3C 80 79 00 00 */ lwz r3, 0(r25)
/* 802E0B00 002DDA40 38 63 00 18 */ addi r3, r3, 0x18
/* 802E0B04 002DDA44 38 81 00 08 */ addi r4, r1, 8
/* 802E0B08 002DDA48 7E C5 B3 78 */ mr r5, r22
/* 802E0B0C 002DDA4C 48 00 05 81 */ bl update__Q210JUTGamePad7CButtonFPC9PADStatusUl
/* 802E0B10 002DDA50 48 00 00 20 */ b lbl_802E0B30
lbl_802E0B14:
/* 802E0B14 002DDA54 A8 04 00 7C */ lha r0, 0x7c(r4)
/* 802E0B18 002DDA58 2C 00 FF FF */ cmpwi r0, -1
/* 802E0B1C 002DDA5C 40 82 00 0C */ bne lbl_802E0B28
/* 802E0B20 002DDA60 7C 83 23 78 */ mr r3, r4
/* 802E0B24 002DDA64 48 00 00 99 */ bl assign__10JUTGamePadFv
lbl_802E0B28:
/* 802E0B28 002DDA68 80 79 00 00 */ lwz r3, 0(r25)
/* 802E0B2C 002DDA6C 48 00 01 AD */ bl update__10JUTGamePadFv
lbl_802E0B30:
/* 802E0B30 002DDA70 80 99 00 00 */ lwz r4, 0(r25)
/* 802E0B34 002DDA74 80 64 00 90 */ lwz r3, 0x90(r4)
/* 802E0B38 002DDA78 28 03 00 00 */ cmplwi r3, 0
/* 802E0B3C 002DDA7C 41 82 00 44 */ beq lbl_802E0B80
/* 802E0B40 002DDA80 88 03 00 04 */ lbz r0, 4(r3)
/* 802E0B44 002DDA84 28 00 00 00 */ cmplwi r0, 0
/* 802E0B48 002DDA88 41 82 00 38 */ beq lbl_802E0B80
/* 802E0B4C 002DDA8C A8 04 00 7C */ lha r0, 0x7c(r4)
/* 802E0B50 002DDA90 2C 00 00 00 */ cmpwi r0, 0
/* 802E0B54 002DDA94 41 80 00 2C */ blt lbl_802E0B80
/* 802E0B58 002DDA98 1C 00 00 0C */ mulli r0, r0, 0xc
/* 802E0B5C 002DDA9C 38 9F 00 18 */ addi r4, r31, 0x18
/* 802E0B60 002DDAA0 7C 84 02 14 */ add r4, r4, r0
/* 802E0B64 002DDAA4 88 04 00 0A */ lbz r0, 0xa(r4)
/* 802E0B68 002DDAA8 7C 00 07 75 */ extsb. r0, r0
/* 802E0B6C 002DDAAC 40 82 00 14 */ bne lbl_802E0B80
/* 802E0B70 002DDAB0 81 83 00 00 */ lwz r12, 0(r3)
/* 802E0B74 002DDAB4 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 802E0B78 002DDAB8 7D 89 03 A6 */ mtctr r12
/* 802E0B7C 002DDABC 4E 80 04 21 */ bctrl
lbl_802E0B80:
/* 802E0B80 002DDAC0 83 39 00 0C */ lwz r25, 0xc(r25)
lbl_802E0B84:
/* 802E0B84 002DDAC4 28 19 00 00 */ cmplwi r25, 0
/* 802E0B88 002DDAC8 40 82 FE F8 */ bne lbl_802E0A80
/* 802E0B8C 002DDACC 28 1E 00 00 */ cmplwi r30, 0
/* 802E0B90 002DDAD0 41 82 00 0C */ beq lbl_802E0B9C
/* 802E0B94 002DDAD4 7F C3 F3 78 */ mr r3, r30
/* 802E0B98 002DDAD8 48 06 DF 95 */ bl PADReset
lbl_802E0B9C:
/* 802E0B9C 002DDADC 48 00 04 09 */ bl checkResetSwitch__10JUTGamePadFv
/* 802E0BA0 002DDAE0 80 6D 8F 60 */ lwz r3, _sRumbleSupported-_SDA_BASE_(r13)
/* 802E0BA4 002DDAE4 39 61 00 40 */ addi r11, r1, 0x40
/* 802E0BA8 002DDAE8 48 08 16 65 */ bl _restgpr_22
/* 802E0BAC 002DDAEC 80 01 00 44 */ lwz r0, 0x44(r1)
/* 802E0BB0 002DDAF0 7C 08 03 A6 */ mtlr r0
/* 802E0BB4 002DDAF4 38 21 00 40 */ addi r1, r1, 0x40
/* 802E0BB8 002DDAF8 4E 80 00 20 */ blr
@@ -1,190 +0,0 @@
/* 802E0CD8 002DDC18 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802E0CDC 002DDC1C 7C 08 02 A6 */ mflr r0
/* 802E0CE0 002DDC20 90 01 00 24 */ stw r0, 0x24(r1)
/* 802E0CE4 002DDC24 39 61 00 20 */ addi r11, r1, 0x20
/* 802E0CE8 002DDC28 48 08 14 F1 */ bl _savegpr_28
/* 802E0CEC 002DDC2C 7C 7E 1B 78 */ mr r30, r3
/* 802E0CF0 002DDC30 3C 60 80 43 */ lis r3, lbl_804343D8@ha
/* 802E0CF4 002DDC34 38 63 43 D8 */ addi r3, r3, lbl_804343D8@l
/* 802E0CF8 002DDC38 A8 9E 00 7C */ lha r4, 0x7c(r30)
/* 802E0CFC 002DDC3C 2C 04 FF FF */ cmpwi r4, -1
/* 802E0D00 002DDC40 41 82 02 8C */ beq lbl_802E0F8C
/* 802E0D04 002DDC44 7C 80 07 35 */ extsh. r0, r4
/* 802E0D08 002DDC48 41 80 01 28 */ blt lbl_802E0E30
/* 802E0D0C 002DDC4C 2C 04 00 04 */ cmpwi r4, 4
/* 802E0D10 002DDC50 40 80 01 20 */ bge lbl_802E0E30
/* 802E0D14 002DDC54 1C 04 00 30 */ mulli r0, r4, 0x30
/* 802E0D18 002DDC58 38 83 00 48 */ addi r4, r3, 0x48
/* 802E0D1C 002DDC5C 7C 84 02 14 */ add r4, r4, r0
/* 802E0D20 002DDC60 80 04 00 00 */ lwz r0, 0(r4)
/* 802E0D24 002DDC64 90 1E 00 18 */ stw r0, 0x18(r30)
/* 802E0D28 002DDC68 80 04 00 04 */ lwz r0, 4(r4)
/* 802E0D2C 002DDC6C 90 1E 00 1C */ stw r0, 0x1c(r30)
/* 802E0D30 002DDC70 80 04 00 08 */ lwz r0, 8(r4)
/* 802E0D34 002DDC74 90 1E 00 20 */ stw r0, 0x20(r30)
/* 802E0D38 002DDC78 88 04 00 0C */ lbz r0, 0xc(r4)
/* 802E0D3C 002DDC7C 98 1E 00 24 */ stb r0, 0x24(r30)
/* 802E0D40 002DDC80 88 04 00 0D */ lbz r0, 0xd(r4)
/* 802E0D44 002DDC84 98 1E 00 25 */ stb r0, 0x25(r30)
/* 802E0D48 002DDC88 88 04 00 0E */ lbz r0, 0xe(r4)
/* 802E0D4C 002DDC8C 98 1E 00 26 */ stb r0, 0x26(r30)
/* 802E0D50 002DDC90 88 04 00 0F */ lbz r0, 0xf(r4)
/* 802E0D54 002DDC94 98 1E 00 27 */ stb r0, 0x27(r30)
/* 802E0D58 002DDC98 C0 04 00 10 */ lfs f0, 0x10(r4)
/* 802E0D5C 002DDC9C D0 1E 00 28 */ stfs f0, 0x28(r30)
/* 802E0D60 002DDCA0 C0 04 00 14 */ lfs f0, 0x14(r4)
/* 802E0D64 002DDCA4 D0 1E 00 2C */ stfs f0, 0x2c(r30)
/* 802E0D68 002DDCA8 80 04 00 18 */ lwz r0, 0x18(r4)
/* 802E0D6C 002DDCAC 90 1E 00 30 */ stw r0, 0x30(r30)
/* 802E0D70 002DDCB0 80 04 00 1C */ lwz r0, 0x1c(r4)
/* 802E0D74 002DDCB4 90 1E 00 34 */ stw r0, 0x34(r30)
/* 802E0D78 002DDCB8 80 04 00 20 */ lwz r0, 0x20(r4)
/* 802E0D7C 002DDCBC 90 1E 00 38 */ stw r0, 0x38(r30)
/* 802E0D80 002DDCC0 80 04 00 24 */ lwz r0, 0x24(r4)
/* 802E0D84 002DDCC4 90 1E 00 3C */ stw r0, 0x3c(r30)
/* 802E0D88 002DDCC8 80 04 00 28 */ lwz r0, 0x28(r4)
/* 802E0D8C 002DDCCC 90 1E 00 40 */ stw r0, 0x40(r30)
/* 802E0D90 002DDCD0 80 04 00 2C */ lwz r0, 0x2c(r4)
/* 802E0D94 002DDCD4 90 1E 00 44 */ stw r0, 0x44(r30)
/* 802E0D98 002DDCD8 A8 1E 00 7C */ lha r0, 0x7c(r30)
/* 802E0D9C 002DDCDC 54 00 20 36 */ slwi r0, r0, 4
/* 802E0DA0 002DDCE0 38 83 01 08 */ addi r4, r3, 0x108
/* 802E0DA4 002DDCE4 7C 84 02 14 */ add r4, r4, r0
/* 802E0DA8 002DDCE8 C0 04 00 00 */ lfs f0, 0(r4)
/* 802E0DAC 002DDCEC D0 1E 00 48 */ stfs f0, 0x48(r30)
/* 802E0DB0 002DDCF0 C0 04 00 04 */ lfs f0, 4(r4)
/* 802E0DB4 002DDCF4 D0 1E 00 4C */ stfs f0, 0x4c(r30)
/* 802E0DB8 002DDCF8 C0 04 00 08 */ lfs f0, 8(r4)
/* 802E0DBC 002DDCFC D0 1E 00 50 */ stfs f0, 0x50(r30)
/* 802E0DC0 002DDD00 A8 04 00 0C */ lha r0, 0xc(r4)
/* 802E0DC4 002DDD04 B0 1E 00 54 */ sth r0, 0x54(r30)
/* 802E0DC8 002DDD08 88 04 00 0E */ lbz r0, 0xe(r4)
/* 802E0DCC 002DDD0C 98 1E 00 56 */ stb r0, 0x56(r30)
/* 802E0DD0 002DDD10 88 04 00 0F */ lbz r0, 0xf(r4)
/* 802E0DD4 002DDD14 98 1E 00 57 */ stb r0, 0x57(r30)
/* 802E0DD8 002DDD18 A8 1E 00 7C */ lha r0, 0x7c(r30)
/* 802E0DDC 002DDD1C 54 00 20 36 */ slwi r0, r0, 4
/* 802E0DE0 002DDD20 38 83 01 48 */ addi r4, r3, 0x148
/* 802E0DE4 002DDD24 7C 84 02 14 */ add r4, r4, r0
/* 802E0DE8 002DDD28 C0 04 00 00 */ lfs f0, 0(r4)
/* 802E0DEC 002DDD2C D0 1E 00 58 */ stfs f0, 0x58(r30)
/* 802E0DF0 002DDD30 C0 04 00 04 */ lfs f0, 4(r4)
/* 802E0DF4 002DDD34 D0 1E 00 5C */ stfs f0, 0x5c(r30)
/* 802E0DF8 002DDD38 C0 04 00 08 */ lfs f0, 8(r4)
/* 802E0DFC 002DDD3C D0 1E 00 60 */ stfs f0, 0x60(r30)
/* 802E0E00 002DDD40 A8 04 00 0C */ lha r0, 0xc(r4)
/* 802E0E04 002DDD44 B0 1E 00 64 */ sth r0, 0x64(r30)
/* 802E0E08 002DDD48 88 04 00 0E */ lbz r0, 0xe(r4)
/* 802E0E0C 002DDD4C 98 1E 00 66 */ stb r0, 0x66(r30)
/* 802E0E10 002DDD50 88 04 00 0F */ lbz r0, 0xf(r4)
/* 802E0E14 002DDD54 98 1E 00 67 */ stb r0, 0x67(r30)
/* 802E0E18 002DDD58 38 63 00 18 */ addi r3, r3, 0x18
/* 802E0E1C 002DDD5C A8 1E 00 7C */ lha r0, 0x7c(r30)
/* 802E0E20 002DDD60 1C 00 00 0C */ mulli r0, r0, 0xc
/* 802E0E24 002DDD64 7C 63 02 14 */ add r3, r3, r0
/* 802E0E28 002DDD68 88 03 00 0A */ lbz r0, 0xa(r3)
/* 802E0E2C 002DDD6C 98 1E 00 7E */ stb r0, 0x7e(r30)
lbl_802E0E30:
/* 802E0E30 002DDD70 88 1E 00 A8 */ lbz r0, 0xa8(r30)
/* 802E0E34 002DDD74 28 00 00 00 */ cmplwi r0, 0
/* 802E0E38 002DDD78 41 82 00 1C */ beq lbl_802E0E54
/* 802E0E3C 002DDD7C 80 8D 83 68 */ lwz r4, lbl_804508E8-_SDA_BASE_(r13)
/* 802E0E40 002DDD80 80 7E 00 18 */ lwz r3, 0x18(r30)
/* 802E0E44 002DDD84 80 0D 83 6C */ lwz r0, lbl_804508EC-_SDA_BASE_(r13)
/* 802E0E48 002DDD88 7C 60 00 38 */ and r0, r3, r0
/* 802E0E4C 002DDD8C 7C 04 00 40 */ cmplw r4, r0
/* 802E0E50 002DDD90 41 82 00 10 */ beq lbl_802E0E60
lbl_802E0E54:
/* 802E0E54 002DDD94 38 00 00 00 */ li r0, 0
/* 802E0E58 002DDD98 98 1E 00 98 */ stb r0, 0x98(r30)
/* 802E0E5C 002DDD9C 48 00 00 50 */ b lbl_802E0EAC
lbl_802E0E60:
/* 802E0E60 002DDDA0 88 0D 8F 81 */ lbz r0, lbl_80451501-_SDA_BASE_(r13)
/* 802E0E64 002DDDA4 28 00 00 00 */ cmplwi r0, 0
/* 802E0E68 002DDDA8 40 82 00 44 */ bne lbl_802E0EAC
/* 802E0E6C 002DDDAC 88 1E 00 98 */ lbz r0, 0x98(r30)
/* 802E0E70 002DDDB0 28 00 00 01 */ cmplwi r0, 1
/* 802E0E74 002DDDB4 40 82 00 24 */ bne lbl_802E0E98
/* 802E0E78 002DDDB8 48 06 18 85 */ bl OSGetTime
/* 802E0E7C 002DDDBC 80 1E 00 A0 */ lwz r0, 0xa0(r30)
/* 802E0E80 002DDDC0 80 BE 00 A4 */ lwz r5, 0xa4(r30)
/* 802E0E84 002DDDC4 7C C5 20 10 */ subfc r6, r5, r4
/* 802E0E88 002DDDC8 7C A0 19 10 */ subfe r5, r0, r3
/* 802E0E8C 002DDDCC 7F C3 F3 78 */ mr r3, r30
/* 802E0E90 002DDDD0 4B FF FD DD */ bl checkResetCallback__10JUTGamePadFx
/* 802E0E94 002DDDD4 48 00 00 18 */ b lbl_802E0EAC
lbl_802E0E98:
/* 802E0E98 002DDDD8 38 00 00 01 */ li r0, 1
/* 802E0E9C 002DDDDC 98 1E 00 98 */ stb r0, 0x98(r30)
/* 802E0EA0 002DDDE0 48 06 18 5D */ bl OSGetTime
/* 802E0EA4 002DDDE4 90 9E 00 A4 */ stw r4, 0xa4(r30)
/* 802E0EA8 002DDDE8 90 7E 00 A0 */ stw r3, 0xa0(r30)
lbl_802E0EAC:
/* 802E0EAC 002DDDEC 3C 60 80 43 */ lis r3, lbl_8043456C@ha
/* 802E0EB0 002DDDF0 83 E3 45 6C */ lwz r31, lbl_8043456C@l(r3)
/* 802E0EB4 002DDDF4 48 00 00 B4 */ b lbl_802E0F68
lbl_802E0EB8:
/* 802E0EB8 002DDDF8 83 9F 00 00 */ lwz r28, 0(r31)
/* 802E0EBC 002DDDFC 88 1C 00 10 */ lbz r0, 0x10(r28)
/* 802E0EC0 002DDE00 28 00 00 00 */ cmplwi r0, 0
/* 802E0EC4 002DDE04 41 82 00 A0 */ beq lbl_802E0F64
/* 802E0EC8 002DDE08 AB BE 00 7C */ lha r29, 0x7c(r30)
/* 802E0ECC 002DDE0C 7F A0 07 35 */ extsh. r0, r29
/* 802E0ED0 002DDE10 41 80 00 94 */ blt lbl_802E0F64
/* 802E0ED4 002DDE14 2C 1D 00 04 */ cmpwi r29, 4
/* 802E0ED8 002DDE18 40 80 00 8C */ bge lbl_802E0F64
/* 802E0EDC 002DDE1C 80 7C 00 14 */ lwz r3, 0x14(r28)
/* 802E0EE0 002DDE20 80 9C 00 18 */ lwz r4, 0x18(r28)
/* 802E0EE4 002DDE24 80 1E 00 18 */ lwz r0, 0x18(r30)
/* 802E0EE8 002DDE28 7C 00 20 38 */ and r0, r0, r4
/* 802E0EEC 002DDE2C 7C 00 18 40 */ cmplw r0, r3
/* 802E0EF0 002DDE30 40 82 00 68 */ bne lbl_802E0F58
/* 802E0EF4 002DDE34 38 7D 00 20 */ addi r3, r29, 0x20
/* 802E0EF8 002DDE38 7C 1C 18 AE */ lbzx r0, r28, r3
/* 802E0EFC 002DDE3C 28 00 00 01 */ cmplwi r0, 1
/* 802E0F00 002DDE40 40 82 00 2C */ bne lbl_802E0F2C
/* 802E0F04 002DDE44 48 06 17 F9 */ bl OSGetTime
/* 802E0F08 002DDE48 57 A5 18 38 */ slwi r5, r29, 3
/* 802E0F0C 002DDE4C 38 05 00 28 */ addi r0, r5, 0x28
/* 802E0F10 002DDE50 7C BC 02 14 */ add r5, r28, r0
/* 802E0F14 002DDE54 80 A5 00 04 */ lwz r5, 4(r5)
/* 802E0F18 002DDE58 7C A5 20 10 */ subfc r5, r5, r4
/* 802E0F1C 002DDE5C 80 7F 00 00 */ lwz r3, 0(r31)
/* 802E0F20 002DDE60 A8 9E 00 7C */ lha r4, 0x7c(r30)
/* 802E0F24 002DDE64 48 00 0B D9 */ bl checkCallback__19JUTGamePadLongPressFiUl
/* 802E0F28 002DDE68 48 00 00 3C */ b lbl_802E0F64
lbl_802E0F2C:
/* 802E0F2C 002DDE6C 38 00 00 01 */ li r0, 1
/* 802E0F30 002DDE70 7C 1C 19 AE */ stbx r0, r28, r3
/* 802E0F34 002DDE74 83 BF 00 00 */ lwz r29, 0(r31)
/* 802E0F38 002DDE78 48 06 17 C5 */ bl OSGetTime
/* 802E0F3C 002DDE7C A8 1E 00 7C */ lha r0, 0x7c(r30)
/* 802E0F40 002DDE80 54 05 18 38 */ slwi r5, r0, 3
/* 802E0F44 002DDE84 38 05 00 28 */ addi r0, r5, 0x28
/* 802E0F48 002DDE88 7C BD 02 14 */ add r5, r29, r0
/* 802E0F4C 002DDE8C 90 85 00 04 */ stw r4, 4(r5)
/* 802E0F50 002DDE90 90 65 00 00 */ stw r3, 0(r5)
/* 802E0F54 002DDE94 48 00 00 10 */ b lbl_802E0F64
lbl_802E0F58:
/* 802E0F58 002DDE98 38 60 00 00 */ li r3, 0
/* 802E0F5C 002DDE9C 38 1D 00 20 */ addi r0, r29, 0x20
/* 802E0F60 002DDEA0 7C 7C 01 AE */ stbx r3, r28, r0
lbl_802E0F64:
/* 802E0F64 002DDEA4 83 FF 00 0C */ lwz r31, 0xc(r31)
lbl_802E0F68:
/* 802E0F68 002DDEA8 28 1F 00 00 */ cmplwi r31, 0
/* 802E0F6C 002DDEAC 40 82 FF 4C */ bne lbl_802E0EB8
/* 802E0F70 002DDEB0 A8 9E 00 7C */ lha r4, 0x7c(r30)
/* 802E0F74 002DDEB4 7C 80 07 35 */ extsh. r0, r4
/* 802E0F78 002DDEB8 41 80 00 14 */ blt lbl_802E0F8C
/* 802E0F7C 002DDEBC 2C 04 00 04 */ cmpwi r4, 4
/* 802E0F80 002DDEC0 40 80 00 0C */ bge lbl_802E0F8C
/* 802E0F84 002DDEC4 38 7E 00 68 */ addi r3, r30, 0x68
/* 802E0F88 002DDEC8 48 00 07 99 */ bl update__Q210JUTGamePad7CRumbleFs
lbl_802E0F8C:
/* 802E0F8C 002DDECC 39 61 00 20 */ addi r11, r1, 0x20
/* 802E0F90 002DDED0 48 08 12 95 */ bl _restgpr_28
/* 802E0F94 002DDED4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802E0F98 002DDED8 7C 08 03 A6 */ mtlr r0
/* 802E0F9C 002DDEDC 38 21 00 20 */ addi r1, r1, 0x20
/* 802E0FA0 002DDEE0 4E 80 00 20 */ blr
@@ -1,108 +0,0 @@
/* 802E108C 002DDFCC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802E1090 002DDFD0 28 04 00 00 */ cmplwi r4, 0
/* 802E1094 002DDFD4 41 82 00 0C */ beq lbl_802E10A0
/* 802E1098 002DDFD8 A0 04 00 00 */ lhz r0, 0(r4)
/* 802E109C 002DDFDC 48 00 00 08 */ b lbl_802E10A4
lbl_802E10A0:
/* 802E10A0 002DDFE0 38 00 00 00 */ li r0, 0
lbl_802E10A4:
/* 802E10A4 002DDFE4 7C A7 03 78 */ or r7, r5, r0
/* 802E10A8 002DDFE8 38 A0 00 00 */ li r5, 0
/* 802E10AC 002DDFEC 90 A3 00 18 */ stw r5, 0x18(r3)
/* 802E10B0 002DDFF0 80 03 00 28 */ lwz r0, 0x28(r3)
/* 802E10B4 002DDFF4 28 00 00 00 */ cmplwi r0, 0
/* 802E10B8 002DDFF8 41 82 00 8C */ beq lbl_802E1144
/* 802E10BC 002DDFFC 80 03 00 24 */ lwz r0, 0x24(r3)
/* 802E10C0 002DE000 28 00 00 00 */ cmplwi r0, 0
/* 802E10C4 002DE004 41 82 00 80 */ beq lbl_802E1144
/* 802E10C8 002DE008 7C E8 00 39 */ and. r8, r7, r0
/* 802E10CC 002DE00C 90 A3 00 18 */ stw r5, 0x18(r3)
/* 802E10D0 002DE010 40 82 00 10 */ bne lbl_802E10E0
/* 802E10D4 002DE014 90 A3 00 20 */ stw r5, 0x20(r3)
/* 802E10D8 002DE018 90 A3 00 1C */ stw r5, 0x1c(r3)
/* 802E10DC 002DE01C 48 00 00 68 */ b lbl_802E1144
lbl_802E10E0:
/* 802E10E0 002DE020 80 C3 00 20 */ lwz r6, 0x20(r3)
/* 802E10E4 002DE024 7C 06 40 40 */ cmplw r6, r8
/* 802E10E8 002DE028 40 82 00 44 */ bne lbl_802E112C
/* 802E10EC 002DE02C 80 A3 00 1C */ lwz r5, 0x1c(r3)
/* 802E10F0 002DE030 38 05 00 01 */ addi r0, r5, 1
/* 802E10F4 002DE034 90 03 00 1C */ stw r0, 0x1c(r3)
/* 802E10F8 002DE038 80 A3 00 1C */ lwz r5, 0x1c(r3)
/* 802E10FC 002DE03C 80 03 00 28 */ lwz r0, 0x28(r3)
/* 802E1100 002DE040 7C 05 00 40 */ cmplw r5, r0
/* 802E1104 002DE044 41 82 00 20 */ beq lbl_802E1124
/* 802E1108 002DE048 40 81 00 3C */ ble lbl_802E1144
/* 802E110C 002DE04C 7C C0 28 50 */ subf r6, r0, r5
/* 802E1110 002DE050 80 A3 00 2C */ lwz r5, 0x2c(r3)
/* 802E1114 002DE054 7C 06 2B 96 */ divwu r0, r6, r5
/* 802E1118 002DE058 7C 00 29 D6 */ mullw r0, r0, r5
/* 802E111C 002DE05C 7C 00 30 51 */ subf. r0, r0, r6
/* 802E1120 002DE060 40 82 00 24 */ bne lbl_802E1144
lbl_802E1124:
/* 802E1124 002DE064 91 03 00 18 */ stw r8, 0x18(r3)
/* 802E1128 002DE068 48 00 00 1C */ b lbl_802E1144
lbl_802E112C:
/* 802E112C 002DE06C 38 00 FF FF */ li r0, -1
/* 802E1130 002DE070 7C C0 02 78 */ xor r0, r6, r0
/* 802E1134 002DE074 7D 00 00 38 */ and r0, r8, r0
/* 802E1138 002DE078 90 03 00 18 */ stw r0, 0x18(r3)
/* 802E113C 002DE07C 91 03 00 20 */ stw r8, 0x20(r3)
/* 802E1140 002DE080 90 A3 00 1C */ stw r5, 0x1c(r3)
lbl_802E1144:
/* 802E1144 002DE084 80 03 00 00 */ lwz r0, 0(r3)
/* 802E1148 002DE088 7C E0 02 78 */ xor r0, r7, r0
/* 802E114C 002DE08C 7C E0 00 38 */ and r0, r7, r0
/* 802E1150 002DE090 90 03 00 04 */ stw r0, 4(r3)
/* 802E1154 002DE094 80 A3 00 00 */ lwz r5, 0(r3)
/* 802E1158 002DE098 7C E0 2A 78 */ xor r0, r7, r5
/* 802E115C 002DE09C 7C A0 00 38 */ and r0, r5, r0
/* 802E1160 002DE0A0 90 03 00 08 */ stw r0, 8(r3)
/* 802E1164 002DE0A4 90 E3 00 00 */ stw r7, 0(r3)
/* 802E1168 002DE0A8 80 C3 00 18 */ lwz r6, 0x18(r3)
/* 802E116C 002DE0AC 80 A3 00 24 */ lwz r5, 0x24(r3)
/* 802E1170 002DE0B0 38 00 FF FF */ li r0, -1
/* 802E1174 002DE0B4 7C A5 02 78 */ xor r5, r5, r0
/* 802E1178 002DE0B8 80 03 00 04 */ lwz r0, 4(r3)
/* 802E117C 002DE0BC 7C A0 00 38 */ and r0, r5, r0
/* 802E1180 002DE0C0 7C C0 03 78 */ or r0, r6, r0
/* 802E1184 002DE0C4 90 03 00 18 */ stw r0, 0x18(r3)
/* 802E1188 002DE0C8 28 04 00 00 */ cmplwi r4, 0
/* 802E118C 002DE0CC 41 82 00 28 */ beq lbl_802E11B4
/* 802E1190 002DE0D0 88 04 00 08 */ lbz r0, 8(r4)
/* 802E1194 002DE0D4 98 03 00 0C */ stb r0, 0xc(r3)
/* 802E1198 002DE0D8 88 04 00 09 */ lbz r0, 9(r4)
/* 802E119C 002DE0DC 98 03 00 0D */ stb r0, 0xd(r3)
/* 802E11A0 002DE0E0 88 04 00 06 */ lbz r0, 6(r4)
/* 802E11A4 002DE0E4 98 03 00 0E */ stb r0, 0xe(r3)
/* 802E11A8 002DE0E8 88 04 00 07 */ lbz r0, 7(r4)
/* 802E11AC 002DE0EC 98 03 00 0F */ stb r0, 0xf(r3)
/* 802E11B0 002DE0F0 48 00 00 18 */ b lbl_802E11C8
lbl_802E11B4:
/* 802E11B4 002DE0F4 38 00 00 00 */ li r0, 0
/* 802E11B8 002DE0F8 98 03 00 0C */ stb r0, 0xc(r3)
/* 802E11BC 002DE0FC 98 03 00 0D */ stb r0, 0xd(r3)
/* 802E11C0 002DE100 98 03 00 0E */ stb r0, 0xe(r3)
/* 802E11C4 002DE104 98 03 00 0F */ stb r0, 0xf(r3)
lbl_802E11C8:
/* 802E11C8 002DE108 88 03 00 0E */ lbz r0, 0xe(r3)
/* 802E11CC 002DE10C C8 42 C6 20 */ lfd f2, lbl_80456020-_SDA2_BASE_(r2)
/* 802E11D0 002DE110 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 802E11D4 002DE114 90 01 00 0C */ stw r0, 0xc(r1)
/* 802E11D8 002DE118 3C 80 43 30 */ lis r4, 0x4330
/* 802E11DC 002DE11C 90 81 00 08 */ stw r4, 8(r1)
/* 802E11E0 002DE120 C8 01 00 08 */ lfd f0, 8(r1)
/* 802E11E4 002DE124 EC 00 10 28 */ fsubs f0, f0, f2
/* 802E11E8 002DE128 C0 22 C6 18 */ lfs f1, lbl_80456018-_SDA2_BASE_(r2)
/* 802E11EC 002DE12C EC 00 08 24 */ fdivs f0, f0, f1
/* 802E11F0 002DE130 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 802E11F4 002DE134 88 03 00 0F */ lbz r0, 0xf(r3)
/* 802E11F8 002DE138 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 802E11FC 002DE13C 90 01 00 14 */ stw r0, 0x14(r1)
/* 802E1200 002DE140 90 81 00 10 */ stw r4, 0x10(r1)
/* 802E1204 002DE144 C8 01 00 10 */ lfd f0, 0x10(r1)
/* 802E1208 002DE148 EC 00 10 28 */ fsubs f0, f0, f2
/* 802E120C 002DE14C EC 00 08 24 */ fdivs f0, f0, f1
/* 802E1210 002DE150 D0 03 00 14 */ stfs f0, 0x14(r3)
/* 802E1214 002DE154 38 21 00 20 */ addi r1, r1, 0x20
/* 802E1218 002DE158 4E 80 00 20 */ blr
@@ -1,200 +0,0 @@
/* 802E1238 002DE178 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 802E123C 002DE17C 7C 08 02 A6 */ mflr r0
/* 802E1240 002DE180 90 01 00 44 */ stw r0, 0x44(r1)
/* 802E1244 002DE184 39 61 00 40 */ addi r11, r1, 0x40
/* 802E1248 002DE188 48 08 0F 95 */ bl _savegpr_29
/* 802E124C 002DE18C 7C 7D 1B 78 */ mr r29, r3
/* 802E1250 002DE190 7C FE 3B 78 */ mr r30, r7
/* 802E1254 002DE194 7D 1F 43 78 */ mr r31, r8
/* 802E1258 002DE198 80 0D 83 5C */ lwz r0, lbl_804508DC-_SDA_BASE_(r13)
/* 802E125C 002DE19C 2C 00 00 02 */ cmpwi r0, 2
/* 802E1260 002DE1A0 41 82 00 2C */ beq lbl_802E128C
/* 802E1264 002DE1A4 40 80 00 40 */ bge lbl_802E12A4
/* 802E1268 002DE1A8 2C 00 00 01 */ cmpwi r0, 1
/* 802E126C 002DE1AC 40 80 00 08 */ bge lbl_802E1274
/* 802E1270 002DE1B0 48 00 00 34 */ b lbl_802E12A4
lbl_802E1274:
/* 802E1274 002DE1B4 2C 1E 00 00 */ cmpwi r30, 0
/* 802E1278 002DE1B8 38 00 00 2A */ li r0, 0x2a
/* 802E127C 002DE1BC 40 82 00 08 */ bne lbl_802E1284
/* 802E1280 002DE1C0 38 00 00 36 */ li r0, 0x36
lbl_802E1284:
/* 802E1284 002DE1C4 7C 03 03 78 */ mr r3, r0
/* 802E1288 002DE1C8 48 00 00 30 */ b lbl_802E12B8
lbl_802E128C:
/* 802E128C 002DE1CC 2C 1E 00 00 */ cmpwi r30, 0
/* 802E1290 002DE1D0 38 00 00 1D */ li r0, 0x1d
/* 802E1294 002DE1D4 40 82 00 08 */ bne lbl_802E129C
/* 802E1298 002DE1D8 38 00 00 26 */ li r0, 0x26
lbl_802E129C:
/* 802E129C 002DE1DC 7C 03 03 78 */ mr r3, r0
/* 802E12A0 002DE1E0 48 00 00 18 */ b lbl_802E12B8
lbl_802E12A4:
/* 802E12A4 002DE1E4 2C 1E 00 00 */ cmpwi r30, 0
/* 802E12A8 002DE1E8 38 00 00 39 */ li r0, 0x39
/* 802E12AC 002DE1EC 40 82 00 08 */ bne lbl_802E12B4
/* 802E12B0 002DE1F0 38 00 00 45 */ li r0, 0x45
lbl_802E12B4:
/* 802E12B4 002DE1F4 7C 03 03 78 */ mr r3, r0
lbl_802E12B8:
/* 802E12B8 002DE1F8 98 9D 00 0E */ stb r4, 0xe(r29)
/* 802E12BC 002DE1FC 98 BD 00 0F */ stb r5, 0xf(r29)
/* 802E12C0 002DE200 7C 80 07 74 */ extsb r0, r4
/* 802E12C4 002DE204 C8 42 C6 20 */ lfd f2, lbl_80456020-_SDA2_BASE_(r2)
/* 802E12C8 002DE208 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 802E12CC 002DE20C 90 01 00 14 */ stw r0, 0x14(r1)
/* 802E12D0 002DE210 3C 80 43 30 */ lis r4, 0x4330
/* 802E12D4 002DE214 90 81 00 10 */ stw r4, 0x10(r1)
/* 802E12D8 002DE218 C8 01 00 10 */ lfd f0, 0x10(r1)
/* 802E12DC 002DE21C EC 20 10 28 */ fsubs f1, f0, f2
/* 802E12E0 002DE220 6C 63 80 00 */ xoris r3, r3, 0x8000
/* 802E12E4 002DE224 90 61 00 1C */ stw r3, 0x1c(r1)
/* 802E12E8 002DE228 90 81 00 18 */ stw r4, 0x18(r1)
/* 802E12EC 002DE22C C8 01 00 18 */ lfd f0, 0x18(r1)
/* 802E12F0 002DE230 EC 00 10 28 */ fsubs f0, f0, f2
/* 802E12F4 002DE234 EC 01 00 24 */ fdivs f0, f1, f0
/* 802E12F8 002DE238 D0 1D 00 00 */ stfs f0, 0(r29)
/* 802E12FC 002DE23C 7C A0 07 74 */ extsb r0, r5
/* 802E1300 002DE240 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 802E1304 002DE244 90 01 00 24 */ stw r0, 0x24(r1)
/* 802E1308 002DE248 90 81 00 20 */ stw r4, 0x20(r1)
/* 802E130C 002DE24C C8 01 00 20 */ lfd f0, 0x20(r1)
/* 802E1310 002DE250 EC 20 10 28 */ fsubs f1, f0, f2
/* 802E1314 002DE254 90 61 00 2C */ stw r3, 0x2c(r1)
/* 802E1318 002DE258 90 81 00 28 */ stw r4, 0x28(r1)
/* 802E131C 002DE25C C8 01 00 28 */ lfd f0, 0x28(r1)
/* 802E1320 002DE260 EC 00 10 28 */ fsubs f0, f0, f2
/* 802E1324 002DE264 EC 01 00 24 */ fdivs f0, f1, f0
/* 802E1328 002DE268 D0 1D 00 04 */ stfs f0, 4(r29)
/* 802E132C 002DE26C C0 1D 00 00 */ lfs f0, 0(r29)
/* 802E1330 002DE270 EC 20 00 32 */ fmuls f1, f0, f0
/* 802E1334 002DE274 C0 1D 00 04 */ lfs f0, 4(r29)
/* 802E1338 002DE278 EC 00 00 32 */ fmuls f0, f0, f0
/* 802E133C 002DE27C EC 81 00 2A */ fadds f4, f1, f0
/* 802E1340 002DE280 C0 02 C6 28 */ lfs f0, lbl_80456028-_SDA2_BASE_(r2)
/* 802E1344 002DE284 FC 04 00 40 */ fcmpo cr0, f4, f0
/* 802E1348 002DE288 40 81 00 58 */ ble lbl_802E13A0
/* 802E134C 002DE28C FC 00 20 34 */ frsqrte f0, f4
/* 802E1350 002DE290 C8 62 C6 30 */ lfd f3, lbl_80456030-_SDA2_BASE_(r2)
/* 802E1354 002DE294 FC 23 00 32 */ fmul f1, f3, f0
/* 802E1358 002DE298 C8 42 C6 38 */ lfd f2, lbl_80456038-_SDA2_BASE_(r2)
/* 802E135C 002DE29C FC 00 00 32 */ fmul f0, f0, f0
/* 802E1360 002DE2A0 FC 04 00 32 */ fmul f0, f4, f0
/* 802E1364 002DE2A4 FC 02 00 28 */ fsub f0, f2, f0
/* 802E1368 002DE2A8 FC 01 00 32 */ fmul f0, f1, f0
/* 802E136C 002DE2AC FC 23 00 32 */ fmul f1, f3, f0
/* 802E1370 002DE2B0 FC 00 00 32 */ fmul f0, f0, f0
/* 802E1374 002DE2B4 FC 04 00 32 */ fmul f0, f4, f0
/* 802E1378 002DE2B8 FC 02 00 28 */ fsub f0, f2, f0
/* 802E137C 002DE2BC FC 01 00 32 */ fmul f0, f1, f0
/* 802E1380 002DE2C0 FC 23 00 32 */ fmul f1, f3, f0
/* 802E1384 002DE2C4 FC 00 00 32 */ fmul f0, f0, f0
/* 802E1388 002DE2C8 FC 04 00 32 */ fmul f0, f4, f0
/* 802E138C 002DE2CC FC 02 00 28 */ fsub f0, f2, f0
/* 802E1390 002DE2D0 FC 01 00 32 */ fmul f0, f1, f0
/* 802E1394 002DE2D4 FC 84 00 32 */ fmul f4, f4, f0
/* 802E1398 002DE2D8 FC 80 20 18 */ frsp f4, f4
/* 802E139C 002DE2DC 48 00 00 88 */ b lbl_802E1424
lbl_802E13A0:
/* 802E13A0 002DE2E0 C8 02 C6 40 */ lfd f0, lbl_80456040-_SDA2_BASE_(r2)
/* 802E13A4 002DE2E4 FC 04 00 40 */ fcmpo cr0, f4, f0
/* 802E13A8 002DE2E8 40 80 00 10 */ bge lbl_802E13B8
/* 802E13AC 002DE2EC 3C 60 80 45 */ lis r3, lbl_80450AE0@ha
/* 802E13B0 002DE2F0 C0 83 0A E0 */ lfs f4, lbl_80450AE0@l(r3)
/* 802E13B4 002DE2F4 48 00 00 70 */ b lbl_802E1424
lbl_802E13B8:
/* 802E13B8 002DE2F8 D0 81 00 08 */ stfs f4, 8(r1)
/* 802E13BC 002DE2FC 80 81 00 08 */ lwz r4, 8(r1)
/* 802E13C0 002DE300 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8
/* 802E13C4 002DE304 3C 00 7F 80 */ lis r0, 0x7f80
/* 802E13C8 002DE308 7C 03 00 00 */ cmpw r3, r0
/* 802E13CC 002DE30C 41 82 00 14 */ beq lbl_802E13E0
/* 802E13D0 002DE310 40 80 00 40 */ bge lbl_802E1410
/* 802E13D4 002DE314 2C 03 00 00 */ cmpwi r3, 0
/* 802E13D8 002DE318 41 82 00 20 */ beq lbl_802E13F8
/* 802E13DC 002DE31C 48 00 00 34 */ b lbl_802E1410
lbl_802E13E0:
/* 802E13E0 002DE320 54 80 02 7F */ clrlwi. r0, r4, 9
/* 802E13E4 002DE324 41 82 00 0C */ beq lbl_802E13F0
/* 802E13E8 002DE328 38 00 00 01 */ li r0, 1
/* 802E13EC 002DE32C 48 00 00 28 */ b lbl_802E1414
lbl_802E13F0:
/* 802E13F0 002DE330 38 00 00 02 */ li r0, 2
/* 802E13F4 002DE334 48 00 00 20 */ b lbl_802E1414
lbl_802E13F8:
/* 802E13F8 002DE338 54 80 02 7F */ clrlwi. r0, r4, 9
/* 802E13FC 002DE33C 41 82 00 0C */ beq lbl_802E1408
/* 802E1400 002DE340 38 00 00 05 */ li r0, 5
/* 802E1404 002DE344 48 00 00 10 */ b lbl_802E1414
lbl_802E1408:
/* 802E1408 002DE348 38 00 00 03 */ li r0, 3
/* 802E140C 002DE34C 48 00 00 08 */ b lbl_802E1414
lbl_802E1410:
/* 802E1410 002DE350 38 00 00 04 */ li r0, 4
lbl_802E1414:
/* 802E1414 002DE354 2C 00 00 01 */ cmpwi r0, 1
/* 802E1418 002DE358 40 82 00 0C */ bne lbl_802E1424
/* 802E141C 002DE35C 3C 60 80 45 */ lis r3, lbl_80450AE0@ha
/* 802E1420 002DE360 C0 83 0A E0 */ lfs f4, lbl_80450AE0@l(r3)
lbl_802E1424:
/* 802E1424 002DE364 D0 9D 00 08 */ stfs f4, 8(r29)
/* 802E1428 002DE368 C0 3D 00 08 */ lfs f1, 8(r29)
/* 802E142C 002DE36C C0 02 C6 48 */ lfs f0, lbl_80456048-_SDA2_BASE_(r2)
/* 802E1430 002DE370 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 802E1434 002DE374 40 81 00 30 */ ble lbl_802E1464
/* 802E1438 002DE378 2C 06 00 01 */ cmpwi r6, 1
/* 802E143C 002DE37C 40 82 00 20 */ bne lbl_802E145C
/* 802E1440 002DE380 C0 1D 00 00 */ lfs f0, 0(r29)
/* 802E1444 002DE384 EC 00 08 24 */ fdivs f0, f0, f1
/* 802E1448 002DE388 D0 1D 00 00 */ stfs f0, 0(r29)
/* 802E144C 002DE38C C0 3D 00 04 */ lfs f1, 4(r29)
/* 802E1450 002DE390 C0 1D 00 08 */ lfs f0, 8(r29)
/* 802E1454 002DE394 EC 01 00 24 */ fdivs f0, f1, f0
/* 802E1458 002DE398 D0 1D 00 04 */ stfs f0, 4(r29)
lbl_802E145C:
/* 802E145C 002DE39C C0 02 C6 48 */ lfs f0, lbl_80456048-_SDA2_BASE_(r2)
/* 802E1460 002DE3A0 D0 1D 00 08 */ stfs f0, 8(r29)
lbl_802E1464:
/* 802E1464 002DE3A4 C0 1D 00 08 */ lfs f0, 8(r29)
/* 802E1468 002DE3A8 C0 22 C6 28 */ lfs f1, lbl_80456028-_SDA2_BASE_(r2)
/* 802E146C 002DE3AC FC 00 08 40 */ fcmpo cr0, f0, f1
/* 802E1470 002DE3B0 40 81 00 5C */ ble lbl_802E14CC
/* 802E1474 002DE3B4 C0 1D 00 04 */ lfs f0, 4(r29)
/* 802E1478 002DE3B8 FC 01 00 00 */ fcmpu cr0, f1, f0
/* 802E147C 002DE3BC 40 82 00 28 */ bne lbl_802E14A4
/* 802E1480 002DE3C0 C0 1D 00 00 */ lfs f0, 0(r29)
/* 802E1484 002DE3C4 FC 00 08 40 */ fcmpo cr0, f0, f1
/* 802E1488 002DE3C8 40 81 00 10 */ ble lbl_802E1498
/* 802E148C 002DE3CC 38 00 40 00 */ li r0, 0x4000
/* 802E1490 002DE3D0 B0 1D 00 0C */ sth r0, 0xc(r29)
/* 802E1494 002DE3D4 48 00 00 38 */ b lbl_802E14CC
lbl_802E1498:
/* 802E1498 002DE3D8 38 00 C0 00 */ li r0, -16384
/* 802E149C 002DE3DC B0 1D 00 0C */ sth r0, 0xc(r29)
/* 802E14A0 002DE3E0 48 00 00 2C */ b lbl_802E14CC
lbl_802E14A4:
/* 802E14A4 002DE3E4 C0 3D 00 00 */ lfs f1, 0(r29)
/* 802E14A8 002DE3E8 FC 40 00 50 */ fneg f2, f0
/* 802E14AC 002DE3EC 48 08 B2 75 */ bl atan2
/* 802E14B0 002DE3F0 FC 20 08 18 */ frsp f1, f1
/* 802E14B4 002DE3F4 C0 02 C6 4C */ lfs f0, lbl_8045604C-_SDA2_BASE_(r2)
/* 802E14B8 002DE3F8 EC 00 00 72 */ fmuls f0, f0, f1
/* 802E14BC 002DE3FC FC 00 00 1E */ fctiwz f0, f0
/* 802E14C0 002DE400 D8 01 00 28 */ stfd f0, 0x28(r1)
/* 802E14C4 002DE404 80 01 00 2C */ lwz r0, 0x2c(r1)
/* 802E14C8 002DE408 B0 1D 00 0C */ sth r0, 0xc(r29)
lbl_802E14CC:
/* 802E14CC 002DE40C 7F A3 EB 78 */ mr r3, r29
/* 802E14D0 002DE410 2C 1E 00 00 */ cmpwi r30, 0
/* 802E14D4 002DE414 38 00 00 10 */ li r0, 0x10
/* 802E14D8 002DE418 40 82 00 08 */ bne lbl_802E14E0
/* 802E14DC 002DE41C 38 00 00 18 */ li r0, 0x18
lbl_802E14E0:
/* 802E14E0 002DE420 7F E4 04 30 */ srw r4, r31, r0
/* 802E14E4 002DE424 48 00 00 1D */ bl getButton__Q210JUTGamePad6CStickFUl
/* 802E14E8 002DE428 39 61 00 40 */ addi r11, r1, 0x40
/* 802E14EC 002DE42C 48 08 0D 3D */ bl _restgpr_29
/* 802E14F0 002DE430 80 01 00 44 */ lwz r0, 0x44(r1)
/* 802E14F4 002DE434 7C 08 03 A6 */ mtlr r0
/* 802E14F8 002DE438 38 21 00 40 */ addi r1, r1, 0x40
/* 802E14FC 002DE43C 4E 80 00 20 */ blr
@@ -1,51 +0,0 @@
/* 802E1500 002DE440 54 80 07 3E */ clrlwi r0, r4, 0x1c
/* 802E1504 002DE444 C0 2D 83 64 */ lfs f1, lbl_804508E4-_SDA_BASE_(r13)
/* 802E1508 002DE448 FC 80 08 50 */ fneg f4, f1
/* 802E150C 002DE44C C0 43 00 00 */ lfs f2, 0(r3)
/* 802E1510 002DE450 FC 04 10 40 */ fcmpo cr0, f4, f2
/* 802E1514 002DE454 40 80 00 14 */ bge lbl_802E1528
/* 802E1518 002DE458 FC 02 08 40 */ fcmpo cr0, f2, f1
/* 802E151C 002DE45C 40 80 00 0C */ bge lbl_802E1528
/* 802E1520 002DE460 54 00 00 3A */ rlwinm r0, r0, 0, 0, 0x1d
/* 802E1524 002DE464 48 00 00 38 */ b lbl_802E155C
lbl_802E1528:
/* 802E1528 002DE468 C0 6D 83 60 */ lfs f3, lbl_804508E0-_SDA_BASE_(r13)
/* 802E152C 002DE46C FC 00 18 50 */ fneg f0, f3
/* 802E1530 002DE470 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 802E1534 002DE474 4C 40 13 82 */ cror 2, 0, 2
/* 802E1538 002DE478 40 82 00 10 */ bne lbl_802E1548
/* 802E153C 002DE47C 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d
/* 802E1540 002DE480 60 00 00 01 */ ori r0, r0, 1
/* 802E1544 002DE484 48 00 00 18 */ b lbl_802E155C
lbl_802E1548:
/* 802E1548 002DE488 FC 02 18 40 */ fcmpo cr0, f2, f3
/* 802E154C 002DE48C 4C 41 13 82 */ cror 2, 1, 2
/* 802E1550 002DE490 40 82 00 0C */ bne lbl_802E155C
/* 802E1554 002DE494 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e
/* 802E1558 002DE498 60 00 00 02 */ ori r0, r0, 2
lbl_802E155C:
/* 802E155C 002DE49C C0 43 00 04 */ lfs f2, 4(r3)
/* 802E1560 002DE4A0 FC 04 10 40 */ fcmpo cr0, f4, f2
/* 802E1564 002DE4A4 40 80 00 14 */ bge lbl_802E1578
/* 802E1568 002DE4A8 FC 02 08 40 */ fcmpo cr0, f2, f1
/* 802E156C 002DE4AC 40 80 00 0C */ bge lbl_802E1578
/* 802E1570 002DE4B0 54 00 07 B6 */ rlwinm r0, r0, 0, 0x1e, 0x1b
/* 802E1574 002DE4B4 48 00 00 38 */ b lbl_802E15AC
lbl_802E1578:
/* 802E1578 002DE4B8 C0 2D 83 60 */ lfs f1, lbl_804508E0-_SDA_BASE_(r13)
/* 802E157C 002DE4BC FC 00 08 50 */ fneg f0, f1
/* 802E1580 002DE4C0 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 802E1584 002DE4C4 4C 40 13 82 */ cror 2, 0, 2
/* 802E1588 002DE4C8 40 82 00 10 */ bne lbl_802E1598
/* 802E158C 002DE4CC 54 00 07 76 */ rlwinm r0, r0, 0, 0x1d, 0x1b
/* 802E1590 002DE4D0 60 00 00 04 */ ori r0, r0, 4
/* 802E1594 002DE4D4 48 00 00 18 */ b lbl_802E15AC
lbl_802E1598:
/* 802E1598 002DE4D8 FC 02 08 40 */ fcmpo cr0, f2, f1
/* 802E159C 002DE4DC 4C 41 13 82 */ cror 2, 1, 2
/* 802E15A0 002DE4E0 40 82 00 0C */ bne lbl_802E15AC
/* 802E15A4 002DE4E4 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c
/* 802E15A8 002DE4E8 60 00 00 08 */ ori r0, r0, 8
lbl_802E15AC:
/* 802E15AC 002DE4EC 7C 03 03 78 */ mr r3, r0
/* 802E15B0 002DE4F0 4E 80 00 20 */ blr
@@ -1,105 +0,0 @@
/* 802E1720 002DE660 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802E1724 002DE664 7C 08 02 A6 */ mflr r0
/* 802E1728 002DE668 90 01 00 24 */ stw r0, 0x24(r1)
/* 802E172C 002DE66C 39 61 00 20 */ addi r11, r1, 0x20
/* 802E1730 002DE670 48 08 0A AD */ bl _savegpr_29
/* 802E1734 002DE674 7C 7E 1B 78 */ mr r30, r3
/* 802E1738 002DE678 7C 9D 23 78 */ mr r29, r4
/* 802E173C 002DE67C 80 8D 8F 68 */ lwz r4, lbl_804514E8-_SDA_BASE_(r13)
/* 802E1740 002DE680 7F BF 07 34 */ extsh r31, r29
/* 802E1744 002DE684 57 E0 10 3A */ slwi r0, r31, 2
/* 802E1748 002DE688 3C 60 80 3D */ lis r3, lbl_803CC5F0@ha
/* 802E174C 002DE68C 38 63 C5 F0 */ addi r3, r3, lbl_803CC5F0@l
/* 802E1750 002DE690 7C 03 00 2E */ lwzx r0, r3, r0
/* 802E1754 002DE694 7C 83 00 38 */ and r3, r4, r0
/* 802E1758 002DE698 30 03 FF FF */ addic r0, r3, -1
/* 802E175C 002DE69C 7C 00 19 10 */ subfe r0, r0, r3
/* 802E1760 002DE6A0 54 00 06 3F */ clrlwi. r0, r0, 0x18
/* 802E1764 002DE6A4 40 82 00 1C */ bne lbl_802E1780
/* 802E1768 002DE6A8 38 00 00 00 */ li r0, 0
/* 802E176C 002DE6AC 90 1E 00 00 */ stw r0, 0(r30)
/* 802E1770 002DE6B0 90 1E 00 04 */ stw r0, 4(r30)
/* 802E1774 002DE6B4 90 1E 00 08 */ stw r0, 8(r30)
/* 802E1778 002DE6B8 90 1E 00 0C */ stw r0, 0xc(r30)
/* 802E177C 002DE6BC 90 1E 00 10 */ stw r0, 0x10(r30)
lbl_802E1780:
/* 802E1780 002DE6C0 80 1E 00 04 */ lwz r0, 4(r30)
/* 802E1784 002DE6C4 28 00 00 00 */ cmplwi r0, 0
/* 802E1788 002DE6C8 41 82 01 04 */ beq lbl_802E188C
/* 802E178C 002DE6CC 80 BE 00 00 */ lwz r5, 0(r30)
/* 802E1790 002DE6D0 7C 05 00 40 */ cmplw r5, r0
/* 802E1794 002DE6D4 41 80 00 1C */ blt lbl_802E17B0
/* 802E1798 002DE6D8 7F E3 FB 78 */ mr r3, r31
/* 802E179C 002DE6DC 38 80 00 01 */ li r4, 1
/* 802E17A0 002DE6E0 4B FF FE ED */ bl stopMotor__Q210JUTGamePad7CRumbleFib
/* 802E17A4 002DE6E4 38 00 00 00 */ li r0, 0
/* 802E17A8 002DE6E8 90 1E 00 04 */ stw r0, 4(r30)
/* 802E17AC 002DE6EC 48 00 00 D4 */ b lbl_802E1880
lbl_802E17B0:
/* 802E17B0 002DE6F0 80 9E 00 0C */ lwz r4, 0xc(r30)
/* 802E17B4 002DE6F4 28 04 00 00 */ cmplwi r4, 0
/* 802E17B8 002DE6F8 40 82 00 24 */ bne lbl_802E17DC
/* 802E17BC 002DE6FC 7F A0 07 34 */ extsh r0, r29
/* 802E17C0 002DE700 38 6D 8F 64 */ addi r3, r13, 0x804514E4-0x80458580/*lbl_804514E4-_SDA_BASE_*/
/* 802E17C4 002DE704 7C 03 00 AE */ lbzx r0, r3, r0
/* 802E17C8 002DE708 28 00 00 00 */ cmplwi r0, 0
/* 802E17CC 002DE70C 40 82 00 C0 */ bne lbl_802E188C
/* 802E17D0 002DE710 7F E3 FB 78 */ mr r3, r31
/* 802E17D4 002DE714 4B FF FE 61 */ bl startMotor__Q210JUTGamePad7CRumbleFi
/* 802E17D8 002DE718 48 00 00 B4 */ b lbl_802E188C
lbl_802E17DC:
/* 802E17DC 002DE71C 80 7E 00 08 */ lwz r3, 8(r30)
/* 802E17E0 002DE720 7C 05 23 96 */ divwu r0, r5, r4
/* 802E17E4 002DE724 7C 00 21 D6 */ mullw r0, r0, r4
/* 802E17E8 002DE728 7C 80 28 50 */ subf r4, r0, r5
/* 802E17EC 002DE72C 4B FF FF 0D */ bl getNumBit__FPUci
/* 802E17F0 002DE730 7F A0 07 34 */ extsh r0, r29
/* 802E17F4 002DE734 38 8D 8F 64 */ addi r4, r13, 0x804514E4-0x80458580/*lbl_804514E4-_SDA_BASE_*/
/* 802E17F8 002DE738 7C 84 00 AE */ lbzx r4, r4, r0
/* 802E17FC 002DE73C 30 04 FF FF */ addic r0, r4, -1
/* 802E1800 002DE740 7C 00 21 10 */ subfe r0, r0, r4
/* 802E1804 002DE744 54 1D 06 3E */ clrlwi r29, r0, 0x18
/* 802E1808 002DE748 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802E180C 002DE74C 41 82 00 18 */ beq lbl_802E1824
/* 802E1810 002DE750 28 1D 00 00 */ cmplwi r29, 0
/* 802E1814 002DE754 40 82 00 10 */ bne lbl_802E1824
/* 802E1818 002DE758 7F E3 FB 78 */ mr r3, r31
/* 802E181C 002DE75C 4B FF FE 19 */ bl startMotor__Q210JUTGamePad7CRumbleFi
/* 802E1820 002DE760 48 00 00 60 */ b lbl_802E1880
lbl_802E1824:
/* 802E1824 002DE764 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802E1828 002DE768 40 82 00 58 */ bne lbl_802E1880
/* 802E182C 002DE76C 38 80 00 00 */ li r4, 0
/* 802E1830 002DE770 80 7E 00 10 */ lwz r3, 0x10(r30)
/* 802E1834 002DE774 28 03 00 00 */ cmplwi r3, 0
/* 802E1838 002DE778 41 82 00 20 */ beq lbl_802E1858
/* 802E183C 002DE77C 80 BE 00 00 */ lwz r5, 0(r30)
/* 802E1840 002DE780 80 9E 00 0C */ lwz r4, 0xc(r30)
/* 802E1844 002DE784 7C 05 23 96 */ divwu r0, r5, r4
/* 802E1848 002DE788 7C 00 21 D6 */ mullw r0, r0, r4
/* 802E184C 002DE78C 7C 80 28 50 */ subf r4, r0, r5
/* 802E1850 002DE790 4B FF FE A9 */ bl getNumBit__FPUci
/* 802E1854 002DE794 7C 64 1B 78 */ mr r4, r3
lbl_802E1858:
/* 802E1858 002DE798 28 1D 00 00 */ cmplwi r29, 0
/* 802E185C 002DE79C 41 82 00 10 */ beq lbl_802E186C
/* 802E1860 002DE7A0 7F E3 FB 78 */ mr r3, r31
/* 802E1864 002DE7A4 4B FF FE 29 */ bl stopMotor__Q210JUTGamePad7CRumbleFib
/* 802E1868 002DE7A8 48 00 00 18 */ b lbl_802E1880
lbl_802E186C:
/* 802E186C 002DE7AC 54 80 06 3F */ clrlwi. r0, r4, 0x18
/* 802E1870 002DE7B0 41 82 00 10 */ beq lbl_802E1880
/* 802E1874 002DE7B4 7F E3 FB 78 */ mr r3, r31
/* 802E1878 002DE7B8 38 80 00 01 */ li r4, 1
/* 802E187C 002DE7BC 4B FF FE 11 */ bl stopMotor__Q210JUTGamePad7CRumbleFib
lbl_802E1880:
/* 802E1880 002DE7C0 80 7E 00 00 */ lwz r3, 0(r30)
/* 802E1884 002DE7C4 38 03 00 01 */ addi r0, r3, 1
/* 802E1888 002DE7C8 90 1E 00 00 */ stw r0, 0(r30)
lbl_802E188C:
/* 802E188C 002DE7CC 39 61 00 20 */ addi r11, r1, 0x20
/* 802E1890 002DE7D0 48 08 09 99 */ bl _restgpr_29
/* 802E1894 002DE7D4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802E1898 002DE7D8 7C 08 03 A6 */ mtlr r0
/* 802E189C 002DE7DC 38 21 00 20 */ addi r1, r1, 0x20
/* 802E18A0 002DE7E0 4E 80 00 20 */ blr
@@ -1,18 +0,0 @@
/* 802E199C 002DE8DC 3C 80 80 43 */ lis r4, lbl_804343E4@ha
/* 802E19A0 002DE8E0 38 84 43 E4 */ addi r4, r4, lbl_804343E4@l
/* 802E19A4 002DE8E4 80 84 00 00 */ lwz r4, 0(r4)
/* 802E19A8 002DE8E8 48 00 00 20 */ b lbl_802E19C8
lbl_802E19AC:
/* 802E19AC 002DE8EC 80 A4 00 00 */ lwz r5, 0(r4)
/* 802E19B0 002DE8F0 A8 05 00 7C */ lha r0, 0x7c(r5)
/* 802E19B4 002DE8F4 7C 03 00 00 */ cmpw r3, r0
/* 802E19B8 002DE8F8 40 82 00 0C */ bne lbl_802E19C4
/* 802E19BC 002DE8FC 7C A3 2B 78 */ mr r3, r5
/* 802E19C0 002DE900 4E 80 00 20 */ blr
lbl_802E19C4:
/* 802E19C4 002DE904 80 84 00 0C */ lwz r4, 0xc(r4)
lbl_802E19C8:
/* 802E19C8 002DE908 28 04 00 00 */ cmplwi r4, 0
/* 802E19CC 002DE90C 40 82 FF E0 */ bne lbl_802E19AC
/* 802E19D0 002DE910 38 60 00 00 */ li r3, 0
/* 802E19D4 002DE914 4E 80 00 20 */ blr
+7
View File
@@ -0,0 +1,7 @@
#ifndef JUTGRAPHFIFO_H
#define JUTGRAPHFIFO_H
#include "dolphin/types.h"
#endif /* JUTGRAPHFIFO_H */
+7
View File
@@ -0,0 +1,7 @@
#ifndef JUTNAMETAB_H
#define JUTNAMETAB_H
#include "dolphin/types.h"
#endif /* JUTNAMETAB_H */
+7
View File
@@ -0,0 +1,7 @@
#ifndef JUTPALETTE_H
#define JUTPALETTE_H
#include "dolphin/types.h"
#endif /* JUTPALETTE_H */
+7
View File
@@ -0,0 +1,7 @@
#ifndef JUTPROCBAR_H
#define JUTPROCBAR_H
#include "dolphin/types.h"
#endif /* JUTPROCBAR_H */
@@ -1,7 +0,0 @@
#ifndef JSYSTEM_JUTILITY_JUTREPORT_H
#define JSYSTEM_JUTILITY_JUTREPORT_H
void JUTReport(int, int, const char*, ...);
void JUTReport(int, int, int, const char*, ...);
#endif
+4 -72
View File
@@ -1,75 +1,7 @@
#ifndef JSYSTEM_JUTILITY_JUT_RES_FONT_
#define JSYSTEM_JUTILITY_JUT_RES_FONT_
#ifndef JUTRESFONT_H
#define JUTRESFONT_H
#include "JSystem/JKernel/JKRHeap/JKRHeap.h"
#include "JSystem/JUtility/JUTFont/JUTFont.h"
#include "dolphin/types.h"
// todo: move
inline u8 JSUHiByte(u16 i) {
return i >> 8;
}
inline u8 JSULoByte(u16 i) {
return i & 0xff;
}
struct ResFONT {};
class JUTResFont : JUTFont {
public:
JUTResFont();
JUTResFont(const ResFONT* font, JKRHeap* heap);
~JUTResFont();
struct Unknown {
struct Cell {
u32 filler0;
u32 filler4;
u32 filler8;
u16 width;
u16 height;
};
Cell* cell;
};
// virtuals
/* 0x0c */ virtual void setGX();
/* 0x10 */ virtual void setGX(JUtility::TColor col1, JUtility::TColor col2);
/* 0x14 */ virtual f32 drawChar_scale(f32 a1, f32 a2, f32 a3, f32 a4, int a5, bool a6);
/* 0x2c */ virtual void getWidthEntry(int i_no, TWidth* width) const;
/* 0x30 */ virtual u32 getCellWidth() const;
/* 0x34 */ virtual u32 getCellHeight() const;
/* 0x40 */ virtual bool isLeadByte(int a1) const;
/* 0x44 */ virtual void loadImage(int a1, GXTexMapID a2);
/* 0x48 */ virtual void setBlock();
// inlines
void delete_and_initialize() {
deleteMemBlocks_ResFont();
initialize_state();
}
// member functions
void deleteMemBlocks_ResFont();
void initialize_state();
bool initiate(const ResFONT* font, JKRHeap* heap);
bool protected_initiate(const ResFONT* font, JKRHeap* heap);
u32 countBlock();
void loadFont(int a1, GXTexMapID a2, TWidth* a3);
int getFontCode(int a1) const;
u32 convertSjis(int a1, u16* a2) const;
/* 0x20 */ u32 unk20;
/* 0x24 */ u8 filler24[0x20];
/* 0x44 */ u32 unk44;
/* 0x48 */ const ResFONT* pFontFile;
/* 0x4c */ u32 filler4C;
/* 0x50 */ JKRHeap* pMemBlocks;
/* 0x54 */ u32 unk54;
/* 0x58 */ Unknown* unk58;
/* 0x5c */ u32 unk5C;
/* 0x60 */ u16 mBlockCounts[6];
/* 0x6c */ bool (**unk6C)(int a1);
};
#endif // JSYSTEM_JUTILITY_JUT_RES_FONT
#endif /* JUTRESFONT_H */
+3 -8
View File
@@ -1,12 +1,7 @@
#ifndef JSYSTEM_JUTILITY_RESOURCE_H
#define JSYSTEM_JUTILITY_RESOURCE_H
#ifndef JUTRESOURCE_H
#define JUTRESOURCE_H
#include "dolphin/types.h"
struct JUTResReference {
JUTResReference() : res(NULL) {}
void* getResource(JSURandomInputStream* stream, u32 size, JKRArchive* archive);
void* res;
};
#endif // JSYSTEM_JUTILITY_RESOURCE_H
#endif /* JUTRESOURCE_H */
+4 -31
View File
@@ -1,34 +1,7 @@
#ifndef JSYSTEM_JUTILITY_TEXTURE_H
#define JSYSTEM_JUTILITY_TEXTURE_H
#include "global.h"
#ifndef JUTTEXTURE_H
#define JUTTEXTURE_H
struct ResTIMG { /* Acts as the header to image data. Usually texture data immediately follows it,
so any pointer arithmetic to go past the end of this structure is so that a
variable sized allocated buffer can be accessed. */
u8 texture_format;
bool is_alpha_enabled;
u16 texture_width;
u16 texture_height;
u8 wrap_s;
u8 wrap_t;
bool is_palettes_enabled;
u8 palette_format;
u16 palette_count;
u32 palette_offset;
bool is_mip_map_enabled;
bool do_edge_lod;
bool bias_clamp;
u8 max_anisotropy;
u8 min_filter;
u8 mag_filter;
u8 min_lod;
u8 max_lod;
u8 num_mipmaps;
u8 unknown;
u16 lod_bias;
u32 texture_data_offset;
};
#include "dolphin/types.h"
class JUTTexture;
#endif // JSYSTEM_JUTILITY_TEXTURE_H
#endif /* JUTTEXTURE_H */
+7
View File
@@ -0,0 +1,7 @@
#ifndef JUTVIDEO_H
#define JUTVIDEO_H
#include "dolphin/types.h"
#endif /* JUTVIDEO_H */
@@ -1,33 +0,0 @@
#ifndef JUTILITY_JUTVIDEO_JUTVIDEO_H_
#define JUTILITY_JUTVIDEO_JUTVIDEO_H_
#include "gx/GX.h"
#include "os/OS.h"
#include "vi/VI.h"
struct JUTVideo {
virtual ~JUTVideo();
typedef void (*CallbackFn)(void);
// struct JUTVideo_vtable * vtable;
GXRenderModeObj* render_object;
u32 field_0x8;
u32 retrace_count;
u32 field_0x10;
u32 field_0x14;
u32 field_0x18;
VIRetraceCallback pre_retrace_callback;
VIRetraceCallback post_retrace_callback;
CallbackFn unknown_callback_1;
CallbackFn unknown_callback_2;
bool set_black;
u8 padding[3];
s32 set_black_frame_counter;
OSMessage message;
OSMessageQueue message_queue;
};
extern JUTVideo* lbl_80451538;
#endif
+7
View File
@@ -0,0 +1,7 @@
#ifndef JUTXFB_H
#define JUTXFB_H
#include "dolphin/types.h"
#endif /* JUTXFB_H */
-40
View File
@@ -1,40 +0,0 @@
#ifndef JUTILITY_JUTXFB_JUTXFB_H_
#define JUTILITY_JUTXFB_JUTXFB_H_
#include "JSystem/JKernel/JKRHeap/JKRHeap.h"
#include "dolphin/types.h"
#include "gx/GX.h"
class JUTXfb {
public:
enum EXfbNumber { // TODO: placeholder
UNK_0 = 0,
UNK_1 = 1,
UNK_2 = 2,
UNK_3 = 3,
};
JUTXfb(GXRenderModeObj* obj, JKRHeap* heap, EXfbNumber xfb_number);
~JUTXfb();
void clearIndex();
void common_init(int xfb_number);
void delXfb(int index);
static JUTXfb* createManager(JKRHeap* heap, EXfbNumber xfb_number);
static void destroyManager();
void initiate(u16 width, u16 height, JKRHeap* heap, JUTXfb::EXfbNumber xfb_number);
private:
void* xfb_buffer[3];
bool is_xfb_allocated[3];
u8 padding_1;
s32 num_xfbs;
s16 active_xfb_index;
s16 last_drawn_xfb_index;
s16 next_xfb_buffer;
u8 padding_2[2];
s32 field_0x1c;
};
extern JUTXfb* lbl_80451550;
#endif
@@ -1,44 +0,0 @@
/* 802E5260 002E21A0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802E5264 002E21A4 7C 08 02 A6 */ mflr r0
/* 802E5268 002E21A8 90 01 00 24 */ stw r0, 0x24(r1)
/* 802E526C 002E21AC 39 61 00 20 */ addi r11, r1, 0x20
/* 802E5270 002E21B0 48 07 CF 65 */ bl _savegpr_27
/* 802E5274 002E21B4 7C 7B 1B 78 */ mr r27, r3
/* 802E5278 002E21B8 7C 9E 23 78 */ mr r30, r4
/* 802E527C 002E21BC 7C BC 2B 78 */ mr r28, r5
/* 802E5280 002E21C0 7C DD 33 78 */ mr r29, r6
/* 802E5284 002E21C4 7F A4 EB 78 */ mr r4, r29
/* 802E5288 002E21C8 4B FF FF A1 */ bl common_init__6JUTXfbFi
/* 802E528C 002E21CC 28 1E 00 00 */ cmplwi r30, 0
/* 802E5290 002E21D0 41 82 00 20 */ beq lbl_802E52B0
/* 802E5294 002E21D4 7F 63 DB 78 */ mr r3, r27
/* 802E5298 002E21D8 A0 9E 00 04 */ lhz r4, 4(r30)
/* 802E529C 002E21DC A0 BE 00 08 */ lhz r5, 8(r30)
/* 802E52A0 002E21E0 7F 86 E3 78 */ mr r6, r28
/* 802E52A4 002E21E4 7F A7 EB 78 */ mr r7, r29
/* 802E52A8 002E21E8 48 00 01 AD */ bl initiate__6JUTXfbFUsUsP7JKRHeapQ26JUTXfb10EXfbNumber
/* 802E52AC 002E21EC 48 00 00 40 */ b lbl_802E52EC
lbl_802E52B0:
/* 802E52B0 002E21F0 80 6D 8F B8 */ lwz r3, lbl_80451538-_SDA_BASE_(r13)
/* 802E52B4 002E21F4 80 83 00 04 */ lwz r4, 4(r3)
/* 802E52B8 002E21F8 A3 E4 00 04 */ lhz r31, 4(r4)
/* 802E52BC 002E21FC A0 64 00 06 */ lhz r3, 6(r4)
/* 802E52C0 002E2200 7C 7E 1B 78 */ mr r30, r3
/* 802E52C4 002E2204 A0 84 00 08 */ lhz r4, 8(r4)
/* 802E52C8 002E2208 48 07 7A A5 */ bl GXGetYScaleFactor
/* 802E52CC 002E220C 7F C3 F3 78 */ mr r3, r30
/* 802E52D0 002E2210 48 07 7A 0D */ bl GXGetNumXfbLines
/* 802E52D4 002E2214 7C 65 1B 78 */ mr r5, r3
/* 802E52D8 002E2218 7F 63 DB 78 */ mr r3, r27
/* 802E52DC 002E221C 7F E4 FB 78 */ mr r4, r31
/* 802E52E0 002E2220 7F 86 E3 78 */ mr r6, r28
/* 802E52E4 002E2224 7F A7 EB 78 */ mr r7, r29
/* 802E52E8 002E2228 48 00 01 6D */ bl initiate__6JUTXfbFUsUsP7JKRHeapQ26JUTXfb10EXfbNumber
lbl_802E52EC:
/* 802E52EC 002E222C 7F 63 DB 78 */ mr r3, r27
/* 802E52F0 002E2230 39 61 00 20 */ addi r11, r1, 0x20
/* 802E52F4 002E2234 48 07 CF 2D */ bl _restgpr_27
/* 802E52F8 002E2238 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802E52FC 002E223C 7C 08 03 A6 */ mtlr r0
/* 802E5300 002E2240 38 21 00 20 */ addi r1, r1, 0x20
/* 802E5304 002E2244 4E 80 00 20 */ blr
@@ -1,71 +0,0 @@
/* 802DF248 002DC188 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802DF24C 002DC18C 7C 08 02 A6 */ mflr r0
/* 802DF250 002DC190 90 01 00 24 */ stw r0, 0x24(r1)
/* 802DF254 002DC194 39 61 00 20 */ addi r11, r1, 0x20
/* 802DF258 002DC198 48 08 2F 81 */ bl _savegpr_28
/* 802DF25C 002DC19C 7C 7C 1B 78 */ mr r28, r3
/* 802DF260 002DC1A0 38 00 00 00 */ li r0, 0
/* 802DF264 002DC1A4 B0 03 00 60 */ sth r0, 0x60(r3)
/* 802DF268 002DC1A8 B0 03 00 62 */ sth r0, 0x62(r3)
/* 802DF26C 002DC1AC B0 03 00 64 */ sth r0, 0x64(r3)
/* 802DF270 002DC1B0 80 63 00 48 */ lwz r3, 0x48(r3)
/* 802DF274 002DC1B4 3B C3 00 20 */ addi r30, r3, 0x20
/* 802DF278 002DC1B8 3B A0 00 00 */ li r29, 0
/* 802DF27C 002DC1BC 3C 60 4D 41 */ lis r3, 0x4D415031@ha
/* 802DF280 002DC1C0 3B E3 50 31 */ addi r31, r3, 0x4D415031@l
/* 802DF284 002DC1C4 48 00 00 98 */ b lbl_802DF31C
lbl_802DF288:
/* 802DF288 002DC1C8 80 9E 00 00 */ lwz r4, 0(r30)
/* 802DF28C 002DC1CC 7C 04 F8 00 */ cmpw r4, r31
/* 802DF290 002DC1D0 41 82 00 64 */ beq lbl_802DF2F4
/* 802DF294 002DC1D4 40 80 00 2C */ bge lbl_802DF2C0
/* 802DF298 002DC1D8 3C 60 49 4E */ lis r3, 0x494E4631@ha
/* 802DF29C 002DC1DC 38 03 46 31 */ addi r0, r3, 0x494E4631@l
/* 802DF2A0 002DC1E0 7C 04 00 00 */ cmpw r4, r0
/* 802DF2A4 002DC1E4 41 82 00 6C */ beq lbl_802DF310
/* 802DF2A8 002DC1E8 40 80 00 5C */ bge lbl_802DF304
/* 802DF2AC 002DC1EC 3C 60 47 4C */ lis r3, 0x474C5931@ha
/* 802DF2B0 002DC1F0 38 03 59 31 */ addi r0, r3, 0x474C5931@l
/* 802DF2B4 002DC1F4 7C 04 00 00 */ cmpw r4, r0
/* 802DF2B8 002DC1F8 41 82 00 2C */ beq lbl_802DF2E4
/* 802DF2BC 002DC1FC 48 00 00 48 */ b lbl_802DF304
lbl_802DF2C0:
/* 802DF2C0 002DC200 3C 60 57 49 */ lis r3, 0x57494431@ha
/* 802DF2C4 002DC204 38 03 44 31 */ addi r0, r3, 0x57494431@l
/* 802DF2C8 002DC208 7C 04 00 00 */ cmpw r4, r0
/* 802DF2CC 002DC20C 41 82 00 08 */ beq lbl_802DF2D4
/* 802DF2D0 002DC210 48 00 00 34 */ b lbl_802DF304
lbl_802DF2D4:
/* 802DF2D4 002DC214 A0 7C 00 60 */ lhz r3, 0x60(r28)
/* 802DF2D8 002DC218 38 03 00 01 */ addi r0, r3, 1
/* 802DF2DC 002DC21C B0 1C 00 60 */ sth r0, 0x60(r28)
/* 802DF2E0 002DC220 48 00 00 30 */ b lbl_802DF310
lbl_802DF2E4:
/* 802DF2E4 002DC224 A0 7C 00 62 */ lhz r3, 0x62(r28)
/* 802DF2E8 002DC228 38 03 00 01 */ addi r0, r3, 1
/* 802DF2EC 002DC22C B0 1C 00 62 */ sth r0, 0x62(r28)
/* 802DF2F0 002DC230 48 00 00 20 */ b lbl_802DF310
lbl_802DF2F4:
/* 802DF2F4 002DC234 A0 7C 00 64 */ lhz r3, 0x64(r28)
/* 802DF2F8 002DC238 38 03 00 01 */ addi r0, r3, 1
/* 802DF2FC 002DC23C B0 1C 00 64 */ sth r0, 0x64(r28)
/* 802DF300 002DC240 48 00 00 10 */ b lbl_802DF310
lbl_802DF304:
/* 802DF304 002DC244 3C 60 80 3A */ lis r3, lbl_8039D45C@ha
/* 802DF308 002DC248 38 63 D4 5C */ addi r3, r3, lbl_8039D45C@l
/* 802DF30C 002DC24C 48 00 93 3D */ bl JUTReportConsole
lbl_802DF310:
/* 802DF310 002DC250 80 1E 00 04 */ lwz r0, 4(r30)
/* 802DF314 002DC254 7F DE 02 14 */ add r30, r30, r0
/* 802DF318 002DC258 3B BD 00 01 */ addi r29, r29, 1
lbl_802DF31C:
/* 802DF31C 002DC25C 80 7C 00 48 */ lwz r3, 0x48(r28)
/* 802DF320 002DC260 80 03 00 0C */ lwz r0, 0xc(r3)
/* 802DF324 002DC264 7C 1D 00 40 */ cmplw r29, r0
/* 802DF328 002DC268 41 80 FF 60 */ blt lbl_802DF288
/* 802DF32C 002DC26C 39 61 00 20 */ addi r11, r1, 0x20
/* 802DF330 002DC270 48 08 2E F5 */ bl _restgpr_28
/* 802DF334 002DC274 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802DF338 002DC278 7C 08 03 A6 */ mtlr r0
/* 802DF33C 002DC27C 38 21 00 20 */ addi r1, r1, 0x20
/* 802DF340 002DC280 4E 80 00 20 */ blr
@@ -1,270 +0,0 @@
/* 802DF7C4 002DC704 94 21 FF 50 */ stwu r1, -0xb0(r1)
/* 802DF7C8 002DC708 7C 08 02 A6 */ mflr r0
/* 802DF7CC 002DC70C 90 01 00 B4 */ stw r0, 0xb4(r1)
/* 802DF7D0 002DC710 DB E1 00 A0 */ stfd f31, 0xa0(r1)
/* 802DF7D4 002DC714 F3 E1 00 A8 */ psq_st f31, 168(r1), 0, 0
/* 802DF7D8 002DC718 DB C1 00 90 */ stfd f30, 0x90(r1)
/* 802DF7DC 002DC71C F3 C1 00 98 */ psq_st f30, 152(r1), 0, 0
/* 802DF7E0 002DC720 DB A1 00 80 */ stfd f29, 0x80(r1)
/* 802DF7E4 002DC724 F3 A1 00 88 */ psq_st f29, 136(r1), 0, 0
/* 802DF7E8 002DC728 DB 81 00 70 */ stfd f28, 0x70(r1)
/* 802DF7EC 002DC72C F3 81 00 78 */ psq_st f28, 120(r1), 0, 0
/* 802DF7F0 002DC730 DB 61 00 60 */ stfd f27, 0x60(r1)
/* 802DF7F4 002DC734 F3 61 00 68 */ psq_st f27, 104(r1), 0, 0
/* 802DF7F8 002DC738 DB 41 00 50 */ stfd f26, 0x50(r1)
/* 802DF7FC 002DC73C F3 41 00 58 */ psq_st f26, 88(r1), 0, 0
/* 802DF800 002DC740 39 61 00 50 */ addi r11, r1, 0x50
/* 802DF804 002DC744 48 08 29 D1 */ bl _savegpr_27
/* 802DF808 002DC748 7C 7E 1B 78 */ mr r30, r3
/* 802DF80C 002DC74C FF 40 08 90 */ fmr f26, f1
/* 802DF810 002DC750 FF 60 10 90 */ fmr f27, f2
/* 802DF814 002DC754 FF C0 18 90 */ fmr f30, f3
/* 802DF818 002DC758 FF 80 20 90 */ fmr f28, f4
/* 802DF81C 002DC75C 7C BB 2B 78 */ mr r27, r5
/* 802DF820 002DC760 38 A0 00 00 */ li r5, 0
/* 802DF824 002DC764 38 C1 00 08 */ addi r6, r1, 8
/* 802DF828 002DC768 48 00 03 C1 */ bl loadFont__10JUTResFontFi11_GXTexMapIDPQ27JUTFont6TWidth
/* 802DF82C 002DC76C 88 1E 00 05 */ lbz r0, 5(r30)
/* 802DF830 002DC770 28 00 00 00 */ cmplwi r0, 0
/* 802DF834 002DC774 40 82 00 0C */ bne lbl_802DF840
/* 802DF838 002DC778 57 60 06 3F */ clrlwi. r0, r27, 0x18
/* 802DF83C 002DC77C 40 82 00 0C */ bne lbl_802DF848
lbl_802DF840:
/* 802DF840 002DC780 FF E0 D0 90 */ fmr f31, f26
/* 802DF844 002DC784 48 00 00 58 */ b lbl_802DF89C
lbl_802DF848:
/* 802DF848 002DC788 7F C3 F3 78 */ mr r3, r30
/* 802DF84C 002DC78C 81 9E 00 00 */ lwz r12, 0(r30)
/* 802DF850 002DC790 81 8C 00 30 */ lwz r12, 0x30(r12)
/* 802DF854 002DC794 7D 89 03 A6 */ mtctr r12
/* 802DF858 002DC798 4E 80 04 21 */ bctrl
/* 802DF85C 002DC79C C8 22 C5 F8 */ lfd f1, lbl_80455FF8-_SDA2_BASE_(r2)
/* 802DF860 002DC7A0 6C 60 80 00 */ xoris r0, r3, 0x8000
/* 802DF864 002DC7A4 90 01 00 14 */ stw r0, 0x14(r1)
/* 802DF868 002DC7A8 3C 60 43 30 */ lis r3, 0x4330
/* 802DF86C 002DC7AC 90 61 00 10 */ stw r3, 0x10(r1)
/* 802DF870 002DC7B0 C8 01 00 10 */ lfd f0, 0x10(r1)
/* 802DF874 002DC7B4 EC 00 08 28 */ fsubs f0, f0, f1
/* 802DF878 002DC7B8 EC 5E 00 24 */ fdivs f2, f30, f0
/* 802DF87C 002DC7BC 88 01 00 08 */ lbz r0, 8(r1)
/* 802DF880 002DC7C0 C8 22 C6 00 */ lfd f1, lbl_80456000-_SDA2_BASE_(r2)
/* 802DF884 002DC7C4 90 01 00 1C */ stw r0, 0x1c(r1)
/* 802DF888 002DC7C8 90 61 00 18 */ stw r3, 0x18(r1)
/* 802DF88C 002DC7CC C8 01 00 18 */ lfd f0, 0x18(r1)
/* 802DF890 002DC7D0 EC 00 08 28 */ fsubs f0, f0, f1
/* 802DF894 002DC7D4 EC 00 00 B2 */ fmuls f0, f0, f2
/* 802DF898 002DC7D8 EF FA 00 28 */ fsubs f31, f26, f0
lbl_802DF89C:
/* 802DF89C 002DC7DC 7F C3 F3 78 */ mr r3, r30
/* 802DF8A0 002DC7E0 81 9E 00 00 */ lwz r12, 0(r30)
/* 802DF8A4 002DC7E4 81 8C 00 30 */ lwz r12, 0x30(r12)
/* 802DF8A8 002DC7E8 7D 89 03 A6 */ mtctr r12
/* 802DF8AC 002DC7EC 4E 80 04 21 */ bctrl
/* 802DF8B0 002DC7F0 C8 42 C5 F8 */ lfd f2, lbl_80455FF8-_SDA2_BASE_(r2)
/* 802DF8B4 002DC7F4 6C 60 80 00 */ xoris r0, r3, 0x8000
/* 802DF8B8 002DC7F8 90 01 00 1C */ stw r0, 0x1c(r1)
/* 802DF8BC 002DC7FC 3C 60 43 30 */ lis r3, 0x4330
/* 802DF8C0 002DC800 90 61 00 18 */ stw r3, 0x18(r1)
/* 802DF8C4 002DC804 C8 01 00 18 */ lfd f0, 0x18(r1)
/* 802DF8C8 002DC808 EC 00 10 28 */ fsubs f0, f0, f2
/* 802DF8CC 002DC80C EC 3E 00 24 */ fdivs f1, f30, f0
/* 802DF8D0 002DC810 80 1E 00 08 */ lwz r0, 8(r30)
/* 802DF8D4 002DC814 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 802DF8D8 002DC818 90 01 00 14 */ stw r0, 0x14(r1)
/* 802DF8DC 002DC81C 90 61 00 10 */ stw r3, 0x10(r1)
/* 802DF8E0 002DC820 C8 01 00 10 */ lfd f0, 0x10(r1)
/* 802DF8E4 002DC824 EC 00 10 28 */ fsubs f0, f0, f2
/* 802DF8E8 002DC828 EF A0 00 72 */ fmuls f29, f0, f1
/* 802DF8EC 002DC82C 88 1E 00 05 */ lbz r0, 5(r30)
/* 802DF8F0 002DC830 28 00 00 00 */ cmplwi r0, 0
/* 802DF8F4 002DC834 40 82 00 B8 */ bne lbl_802DF9AC
/* 802DF8F8 002DC838 57 60 06 3F */ clrlwi. r0, r27, 0x18
/* 802DF8FC 002DC83C 40 82 00 60 */ bne lbl_802DF95C
/* 802DF900 002DC840 7F C3 F3 78 */ mr r3, r30
/* 802DF904 002DC844 81 9E 00 00 */ lwz r12, 0(r30)
/* 802DF908 002DC848 81 8C 00 30 */ lwz r12, 0x30(r12)
/* 802DF90C 002DC84C 7D 89 03 A6 */ mtctr r12
/* 802DF910 002DC850 4E 80 04 21 */ bctrl
/* 802DF914 002DC854 C8 42 C5 F8 */ lfd f2, lbl_80455FF8-_SDA2_BASE_(r2)
/* 802DF918 002DC858 6C 60 80 00 */ xoris r0, r3, 0x8000
/* 802DF91C 002DC85C 90 01 00 1C */ stw r0, 0x1c(r1)
/* 802DF920 002DC860 3C 80 43 30 */ lis r4, 0x4330
/* 802DF924 002DC864 90 81 00 18 */ stw r4, 0x18(r1)
/* 802DF928 002DC868 C8 01 00 18 */ lfd f0, 0x18(r1)
/* 802DF92C 002DC86C EC 00 10 28 */ fsubs f0, f0, f2
/* 802DF930 002DC870 EC 3E 00 24 */ fdivs f1, f30, f0
/* 802DF934 002DC874 88 61 00 09 */ lbz r3, 9(r1)
/* 802DF938 002DC878 88 01 00 08 */ lbz r0, 8(r1)
/* 802DF93C 002DC87C 7C 03 02 14 */ add r0, r3, r0
/* 802DF940 002DC880 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 802DF944 002DC884 90 01 00 14 */ stw r0, 0x14(r1)
/* 802DF948 002DC888 90 81 00 10 */ stw r4, 0x10(r1)
/* 802DF94C 002DC88C C8 01 00 10 */ lfd f0, 0x10(r1)
/* 802DF950 002DC890 EC 00 10 28 */ fsubs f0, f0, f2
/* 802DF954 002DC894 EF A0 00 72 */ fmuls f29, f0, f1
/* 802DF958 002DC898 48 00 00 54 */ b lbl_802DF9AC
lbl_802DF95C:
/* 802DF95C 002DC89C 7F C3 F3 78 */ mr r3, r30
/* 802DF960 002DC8A0 81 9E 00 00 */ lwz r12, 0(r30)
/* 802DF964 002DC8A4 81 8C 00 30 */ lwz r12, 0x30(r12)
/* 802DF968 002DC8A8 7D 89 03 A6 */ mtctr r12
/* 802DF96C 002DC8AC 4E 80 04 21 */ bctrl
/* 802DF970 002DC8B0 C8 22 C5 F8 */ lfd f1, lbl_80455FF8-_SDA2_BASE_(r2)
/* 802DF974 002DC8B4 6C 60 80 00 */ xoris r0, r3, 0x8000
/* 802DF978 002DC8B8 90 01 00 1C */ stw r0, 0x1c(r1)
/* 802DF97C 002DC8BC 3C 60 43 30 */ lis r3, 0x4330
/* 802DF980 002DC8C0 90 61 00 18 */ stw r3, 0x18(r1)
/* 802DF984 002DC8C4 C8 01 00 18 */ lfd f0, 0x18(r1)
/* 802DF988 002DC8C8 EC 00 08 28 */ fsubs f0, f0, f1
/* 802DF98C 002DC8CC EC 5E 00 24 */ fdivs f2, f30, f0
/* 802DF990 002DC8D0 88 01 00 09 */ lbz r0, 9(r1)
/* 802DF994 002DC8D4 C8 22 C6 00 */ lfd f1, lbl_80456000-_SDA2_BASE_(r2)
/* 802DF998 002DC8D8 90 01 00 14 */ stw r0, 0x14(r1)
/* 802DF99C 002DC8DC 90 61 00 10 */ stw r3, 0x10(r1)
/* 802DF9A0 002DC8E0 C8 01 00 10 */ lfd f0, 0x10(r1)
/* 802DF9A4 002DC8E4 EC 00 08 28 */ fsubs f0, f0, f1
/* 802DF9A8 002DC8E8 EF A0 00 B2 */ fmuls f29, f0, f2
lbl_802DF9AC:
/* 802DF9AC 002DC8EC EF DF F0 2A */ fadds f30, f31, f30
/* 802DF9B0 002DC8F0 7F C3 F3 78 */ mr r3, r30
/* 802DF9B4 002DC8F4 81 9E 00 00 */ lwz r12, 0(r30)
/* 802DF9B8 002DC8F8 81 8C 00 24 */ lwz r12, 0x24(r12)
/* 802DF9BC 002DC8FC 7D 89 03 A6 */ mtctr r12
/* 802DF9C0 002DC900 4E 80 04 21 */ bctrl
/* 802DF9C4 002DC904 C8 22 C5 F8 */ lfd f1, lbl_80455FF8-_SDA2_BASE_(r2)
/* 802DF9C8 002DC908 6C 60 80 00 */ xoris r0, r3, 0x8000
/* 802DF9CC 002DC90C 90 01 00 1C */ stw r0, 0x1c(r1)
/* 802DF9D0 002DC910 3C 00 43 30 */ lis r0, 0x4330
/* 802DF9D4 002DC914 90 01 00 18 */ stw r0, 0x18(r1)
/* 802DF9D8 002DC918 C8 01 00 18 */ lfd f0, 0x18(r1)
/* 802DF9DC 002DC91C EC 00 08 28 */ fsubs f0, f0, f1
/* 802DF9E0 002DC920 EF 5C 00 24 */ fdivs f26, f28, f0
/* 802DF9E4 002DC924 7F C3 F3 78 */ mr r3, r30
/* 802DF9E8 002DC928 81 9E 00 00 */ lwz r12, 0(r30)
/* 802DF9EC 002DC92C 81 8C 00 1C */ lwz r12, 0x1c(r12)
/* 802DF9F0 002DC930 7D 89 03 A6 */ mtctr r12
/* 802DF9F4 002DC934 4E 80 04 21 */ bctrl
/* 802DF9F8 002DC938 C8 22 C5 F8 */ lfd f1, lbl_80455FF8-_SDA2_BASE_(r2)
/* 802DF9FC 002DC93C 6C 60 80 00 */ xoris r0, r3, 0x8000
/* 802DFA00 002DC940 90 01 00 14 */ stw r0, 0x14(r1)
/* 802DFA04 002DC944 3C 00 43 30 */ lis r0, 0x4330
/* 802DFA08 002DC948 90 01 00 10 */ stw r0, 0x10(r1)
/* 802DFA0C 002DC94C C8 01 00 10 */ lfd f0, 0x10(r1)
/* 802DFA10 002DC950 EC 00 08 28 */ fsubs f0, f0, f1
/* 802DFA14 002DC954 EC 00 06 B2 */ fmuls f0, f0, f26
/* 802DFA18 002DC958 EF 5B 00 28 */ fsubs f26, f27, f0
/* 802DFA1C 002DC95C 7F C3 F3 78 */ mr r3, r30
/* 802DFA20 002DC960 81 9E 00 00 */ lwz r12, 0(r30)
/* 802DFA24 002DC964 81 8C 00 24 */ lwz r12, 0x24(r12)
/* 802DFA28 002DC968 7D 89 03 A6 */ mtctr r12
/* 802DFA2C 002DC96C 4E 80 04 21 */ bctrl
/* 802DFA30 002DC970 C8 22 C5 F8 */ lfd f1, lbl_80455FF8-_SDA2_BASE_(r2)
/* 802DFA34 002DC974 6C 60 80 00 */ xoris r0, r3, 0x8000
/* 802DFA38 002DC978 90 01 00 24 */ stw r0, 0x24(r1)
/* 802DFA3C 002DC97C 3C 00 43 30 */ lis r0, 0x4330
/* 802DFA40 002DC980 90 01 00 20 */ stw r0, 0x20(r1)
/* 802DFA44 002DC984 C8 01 00 20 */ lfd f0, 0x20(r1)
/* 802DFA48 002DC988 EC 00 08 28 */ fsubs f0, f0, f1
/* 802DFA4C 002DC98C EF 9C 00 24 */ fdivs f28, f28, f0
/* 802DFA50 002DC990 7F C3 F3 78 */ mr r3, r30
/* 802DFA54 002DC994 81 9E 00 00 */ lwz r12, 0(r30)
/* 802DFA58 002DC998 81 8C 00 20 */ lwz r12, 0x20(r12)
/* 802DFA5C 002DC99C 7D 89 03 A6 */ mtctr r12
/* 802DFA60 002DC9A0 4E 80 04 21 */ bctrl
/* 802DFA64 002DC9A4 C8 22 C5 F8 */ lfd f1, lbl_80455FF8-_SDA2_BASE_(r2)
/* 802DFA68 002DC9A8 6C 60 80 00 */ xoris r0, r3, 0x8000
/* 802DFA6C 002DC9AC 90 01 00 2C */ stw r0, 0x2c(r1)
/* 802DFA70 002DC9B0 3C 00 43 30 */ lis r0, 0x4330
/* 802DFA74 002DC9B4 90 01 00 28 */ stw r0, 0x28(r1)
/* 802DFA78 002DC9B8 C8 01 00 28 */ lfd f0, 0x28(r1)
/* 802DFA7C 002DC9BC EC 00 08 28 */ fsubs f0, f0, f1
/* 802DFA80 002DC9C0 EC 00 07 32 */ fmuls f0, f0, f28
/* 802DFA84 002DC9C4 EF 7B 00 2A */ fadds f27, f27, f0
/* 802DFA88 002DC9C8 80 BE 00 1C */ lwz r5, 0x1c(r30)
/* 802DFA8C 002DC9CC 54 A4 78 20 */ slwi r4, r5, 0xf
/* 802DFA90 002DC9D0 80 7E 00 58 */ lwz r3, 0x58(r30)
/* 802DFA94 002DC9D4 A0 1E 00 66 */ lhz r0, 0x66(r30)
/* 802DFA98 002DC9D8 54 00 10 3A */ slwi r0, r0, 2
/* 802DFA9C 002DC9DC 7C 63 00 2E */ lwzx r3, r3, r0
/* 802DFAA0 002DC9E0 A0 C3 00 1A */ lhz r6, 0x1a(r3)
/* 802DFAA4 002DC9E4 7F E4 33 D6 */ divw r31, r4, r6
/* 802DFAA8 002DC9E8 80 9E 00 20 */ lwz r4, 0x20(r30)
/* 802DFAAC 002DC9EC 54 80 78 20 */ slwi r0, r4, 0xf
/* 802DFAB0 002DC9F0 A0 E3 00 1C */ lhz r7, 0x1c(r3)
/* 802DFAB4 002DC9F4 7F A0 3B D6 */ divw r29, r0, r7
/* 802DFAB8 002DC9F8 A0 03 00 0C */ lhz r0, 0xc(r3)
/* 802DFABC 002DC9FC 7C 05 02 14 */ add r0, r5, r0
/* 802DFAC0 002DCA00 54 00 78 20 */ slwi r0, r0, 0xf
/* 802DFAC4 002DCA04 7F 80 33 D6 */ divw r28, r0, r6
/* 802DFAC8 002DCA08 A0 03 00 0E */ lhz r0, 0xe(r3)
/* 802DFACC 002DCA0C 7C 04 02 14 */ add r0, r4, r0
/* 802DFAD0 002DCA10 54 00 78 20 */ slwi r0, r0, 0xf
/* 802DFAD4 002DCA14 7F 60 3B D6 */ divw r27, r0, r7
/* 802DFAD8 002DCA18 38 60 00 00 */ li r3, 0
/* 802DFADC 002DCA1C 38 80 00 09 */ li r4, 9
/* 802DFAE0 002DCA20 38 A0 00 01 */ li r5, 1
/* 802DFAE4 002DCA24 38 C0 00 04 */ li r6, 4
/* 802DFAE8 002DCA28 38 E0 00 00 */ li r7, 0
/* 802DFAEC 002DCA2C 48 07 BA D9 */ bl GXSetVtxAttrFmt
/* 802DFAF0 002DCA30 38 60 00 80 */ li r3, 0x80
/* 802DFAF4 002DCA34 38 80 00 00 */ li r4, 0
/* 802DFAF8 002DCA38 38 A0 00 04 */ li r5, 4
/* 802DFAFC 002DCA3C 48 07 CC 69 */ bl GXBegin
/* 802DFB00 002DCA40 3C 60 CC 01 */ lis r3, 0xCC008000@ha
/* 802DFB04 002DCA44 D3 E3 80 00 */ stfs f31, 0xCC008000@l(r3)
/* 802DFB08 002DCA48 D3 43 80 00 */ stfs f26, -0x8000(r3)
/* 802DFB0C 002DCA4C C0 02 C5 F0 */ lfs f0, lbl_80455FF0-_SDA2_BASE_(r2)
/* 802DFB10 002DCA50 D0 03 80 00 */ stfs f0, -0x8000(r3)
/* 802DFB14 002DCA54 80 1E 00 0C */ lwz r0, 0xc(r30)
/* 802DFB18 002DCA58 90 03 80 00 */ stw r0, -0x8000(r3)
/* 802DFB1C 002DCA5C B3 E3 80 00 */ sth r31, -0x8000(r3)
/* 802DFB20 002DCA60 B3 A3 80 00 */ sth r29, -0x8000(r3)
/* 802DFB24 002DCA64 D3 C3 80 00 */ stfs f30, -0x8000(r3)
/* 802DFB28 002DCA68 D3 43 80 00 */ stfs f26, -0x8000(r3)
/* 802DFB2C 002DCA6C C0 02 C5 F0 */ lfs f0, lbl_80455FF0-_SDA2_BASE_(r2)
/* 802DFB30 002DCA70 D0 03 80 00 */ stfs f0, -0x8000(r3)
/* 802DFB34 002DCA74 80 1E 00 10 */ lwz r0, 0x10(r30)
/* 802DFB38 002DCA78 90 03 80 00 */ stw r0, -0x8000(r3)
/* 802DFB3C 002DCA7C B3 83 80 00 */ sth r28, -0x8000(r3)
/* 802DFB40 002DCA80 B3 A3 80 00 */ sth r29, -0x8000(r3)
/* 802DFB44 002DCA84 D3 C3 80 00 */ stfs f30, -0x8000(r3)
/* 802DFB48 002DCA88 D3 63 80 00 */ stfs f27, -0x8000(r3)
/* 802DFB4C 002DCA8C C0 02 C5 F0 */ lfs f0, lbl_80455FF0-_SDA2_BASE_(r2)
/* 802DFB50 002DCA90 D0 03 80 00 */ stfs f0, -0x8000(r3)
/* 802DFB54 002DCA94 80 1E 00 18 */ lwz r0, 0x18(r30)
/* 802DFB58 002DCA98 90 03 80 00 */ stw r0, -0x8000(r3)
/* 802DFB5C 002DCA9C B3 83 80 00 */ sth r28, -0x8000(r3)
/* 802DFB60 002DCAA0 B3 63 80 00 */ sth r27, -0x8000(r3)
/* 802DFB64 002DCAA4 D3 E3 80 00 */ stfs f31, -0x8000(r3)
/* 802DFB68 002DCAA8 D3 63 80 00 */ stfs f27, -0x8000(r3)
/* 802DFB6C 002DCAAC C0 02 C5 F0 */ lfs f0, lbl_80455FF0-_SDA2_BASE_(r2)
/* 802DFB70 002DCAB0 D0 03 80 00 */ stfs f0, -0x8000(r3)
/* 802DFB74 002DCAB4 80 1E 00 14 */ lwz r0, 0x14(r30)
/* 802DFB78 002DCAB8 90 03 80 00 */ stw r0, -0x8000(r3)
/* 802DFB7C 002DCABC B3 E3 80 00 */ sth r31, -0x8000(r3)
/* 802DFB80 002DCAC0 B3 63 80 00 */ sth r27, -0x8000(r3)
/* 802DFB84 002DCAC4 38 60 00 00 */ li r3, 0
/* 802DFB88 002DCAC8 38 80 00 09 */ li r4, 9
/* 802DFB8C 002DCACC 38 A0 00 01 */ li r5, 1
/* 802DFB90 002DCAD0 38 C0 00 03 */ li r6, 3
/* 802DFB94 002DCAD4 38 E0 00 00 */ li r7, 0
/* 802DFB98 002DCAD8 48 07 BA 2D */ bl GXSetVtxAttrFmt
/* 802DFB9C 002DCADC FC 20 E8 90 */ fmr f1, f29
/* 802DFBA0 002DCAE0 E3 E1 00 A8 */ psq_l f31, 168(r1), 0, 0
/* 802DFBA4 002DCAE4 CB E1 00 A0 */ lfd f31, 0xa0(r1)
/* 802DFBA8 002DCAE8 E3 C1 00 98 */ psq_l f30, 152(r1), 0, 0
/* 802DFBAC 002DCAEC CB C1 00 90 */ lfd f30, 0x90(r1)
/* 802DFBB0 002DCAF0 E3 A1 00 88 */ psq_l f29, 136(r1), 0, 0
/* 802DFBB4 002DCAF4 CB A1 00 80 */ lfd f29, 0x80(r1)
/* 802DFBB8 002DCAF8 E3 81 00 78 */ psq_l f28, 120(r1), 0, 0
/* 802DFBBC 002DCAFC CB 81 00 70 */ lfd f28, 0x70(r1)
/* 802DFBC0 002DCB00 E3 61 00 68 */ psq_l f27, 104(r1), 0, 0
/* 802DFBC4 002DCB04 CB 61 00 60 */ lfd f27, 0x60(r1)
/* 802DFBC8 002DCB08 E3 41 00 58 */ psq_l f26, 88(r1), 0, 0
/* 802DFBCC 002DCB0C CB 41 00 50 */ lfd f26, 0x50(r1)
/* 802DFBD0 002DCB10 39 61 00 50 */ addi r11, r1, 0x50
/* 802DFBD4 002DCB14 48 08 26 4D */ bl _restgpr_27
/* 802DFBD8 002DCB18 80 01 00 B4 */ lwz r0, 0xb4(r1)
/* 802DFBDC 002DCB1C 7C 08 03 A6 */ mtlr r0
/* 802DFBE0 002DCB20 38 21 00 B0 */ addi r1, r1, 0xb0
/* 802DFBE4 002DCB24 4E 80 00 20 */ blr
@@ -1,110 +0,0 @@
/* 802DFDD8 002DCD18 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802DFDDC 002DCD1C 7C 08 02 A6 */ mflr r0
/* 802DFDE0 002DCD20 90 01 00 24 */ stw r0, 0x24(r1)
/* 802DFDE4 002DCD24 39 61 00 20 */ addi r11, r1, 0x20
/* 802DFDE8 002DCD28 48 08 23 F5 */ bl _savegpr_29
/* 802DFDEC 002DCD2C 7C 7D 1B 78 */ mr r29, r3
/* 802DFDF0 002DCD30 7C 9E 23 78 */ mr r30, r4
/* 802DFDF4 002DCD34 80 83 00 4C */ lwz r4, 0x4c(r3)
/* 802DFDF8 002DCD38 A3 E4 00 12 */ lhz r31, 0x12(r4)
/* 802DFDFC 002DCD3C 81 83 00 00 */ lwz r12, 0(r3)
/* 802DFE00 002DCD40 81 8C 00 38 */ lwz r12, 0x38(r12)
/* 802DFE04 002DCD44 7D 89 03 A6 */ mtctr r12
/* 802DFE08 002DCD48 4E 80 04 21 */ bctrl
/* 802DFE0C 002DCD4C 2C 03 00 02 */ cmpwi r3, 2
/* 802DFE10 002DCD50 40 82 00 34 */ bne lbl_802DFE44
/* 802DFE14 002DCD54 A0 1D 00 68 */ lhz r0, 0x68(r29)
/* 802DFE18 002DCD58 28 00 80 00 */ cmplwi r0, 0x8000
/* 802DFE1C 002DCD5C 41 80 00 28 */ blt lbl_802DFE44
/* 802DFE20 002DCD60 2C 1E 00 20 */ cmpwi r30, 0x20
/* 802DFE24 002DCD64 41 80 00 20 */ blt lbl_802DFE44
/* 802DFE28 002DCD68 28 1E 00 7F */ cmplwi r30, 0x7f
/* 802DFE2C 002DCD6C 40 80 00 18 */ bge lbl_802DFE44
/* 802DFE30 002DCD70 3C 60 80 3A */ lis r3, lbl_8039D39C@ha
/* 802DFE34 002DCD74 38 63 D3 9C */ addi r3, r3, lbl_8039D39C@l
/* 802DFE38 002DCD78 57 C0 08 3C */ slwi r0, r30, 1
/* 802DFE3C 002DCD7C 7C 63 02 14 */ add r3, r3, r0
/* 802DFE40 002DCD80 A3 C3 FF C0 */ lhz r30, -0x40(r3)
lbl_802DFE44:
/* 802DFE44 002DCD84 38 60 00 00 */ li r3, 0
/* 802DFE48 002DCD88 A0 1D 00 64 */ lhz r0, 0x64(r29)
/* 802DFE4C 002DCD8C 80 9D 00 5C */ lwz r4, 0x5c(r29)
/* 802DFE50 002DCD90 7C 09 03 A6 */ mtctr r0
/* 802DFE54 002DCD94 2C 00 00 00 */ cmpwi r0, 0
/* 802DFE58 002DCD98 40 81 00 EC */ ble lbl_802DFF44
lbl_802DFE5C:
/* 802DFE5C 002DCD9C 7C C4 18 2E */ lwzx r6, r4, r3
/* 802DFE60 002DCDA0 A0 A6 00 0A */ lhz r5, 0xa(r6)
/* 802DFE64 002DCDA4 7C 05 F0 00 */ cmpw r5, r30
/* 802DFE68 002DCDA8 41 81 00 D4 */ bgt lbl_802DFF3C
/* 802DFE6C 002DCDAC A0 06 00 0C */ lhz r0, 0xc(r6)
/* 802DFE70 002DCDB0 7C 1E 00 00 */ cmpw r30, r0
/* 802DFE74 002DCDB4 41 81 00 C8 */ bgt lbl_802DFF3C
/* 802DFE78 002DCDB8 A0 06 00 08 */ lhz r0, 8(r6)
/* 802DFE7C 002DCDBC 28 00 00 00 */ cmplwi r0, 0
/* 802DFE80 002DCDC0 40 82 00 0C */ bne lbl_802DFE8C
/* 802DFE84 002DCDC4 7F E5 F0 50 */ subf r31, r5, r30
/* 802DFE88 002DCDC8 48 00 00 BC */ b lbl_802DFF44
lbl_802DFE8C:
/* 802DFE8C 002DCDCC 28 00 00 02 */ cmplwi r0, 2
/* 802DFE90 002DCDD0 40 82 00 18 */ bne lbl_802DFEA8
/* 802DFE94 002DCDD4 7C 05 F0 50 */ subf r0, r5, r30
/* 802DFE98 002DCDD8 54 00 08 3C */ slwi r0, r0, 1
/* 802DFE9C 002DCDDC 7C 66 02 14 */ add r3, r6, r0
/* 802DFEA0 002DCDE0 A3 E3 00 10 */ lhz r31, 0x10(r3)
/* 802DFEA4 002DCDE4 48 00 00 A0 */ b lbl_802DFF44
lbl_802DFEA8:
/* 802DFEA8 002DCDE8 28 00 00 03 */ cmplwi r0, 3
/* 802DFEAC 002DCDEC 40 82 00 60 */ bne lbl_802DFF0C
/* 802DFEB0 002DCDF0 38 86 00 10 */ addi r4, r6, 0x10
/* 802DFEB4 002DCDF4 38 A0 00 00 */ li r5, 0
/* 802DFEB8 002DCDF8 A0 66 00 0E */ lhz r3, 0xe(r6)
/* 802DFEBC 002DCDFC 38 C3 FF FF */ addi r6, r3, -1
/* 802DFEC0 002DCE00 48 00 00 40 */ b lbl_802DFF00
lbl_802DFEC4:
/* 802DFEC4 002DCE04 7C 06 2A 14 */ add r0, r6, r5
/* 802DFEC8 002DCE08 7C 00 0E 70 */ srawi r0, r0, 1
/* 802DFECC 002DCE0C 7C E0 01 94 */ addze r7, r0
/* 802DFED0 002DCE10 54 E3 10 3A */ slwi r3, r7, 2
/* 802DFED4 002DCE14 7C 04 1A 2E */ lhzx r0, r4, r3
/* 802DFED8 002DCE18 7C 1E 00 00 */ cmpw r30, r0
/* 802DFEDC 002DCE1C 40 80 00 0C */ bge lbl_802DFEE8
/* 802DFEE0 002DCE20 38 C7 FF FF */ addi r6, r7, -1
/* 802DFEE4 002DCE24 48 00 00 1C */ b lbl_802DFF00
lbl_802DFEE8:
/* 802DFEE8 002DCE28 40 81 00 0C */ ble lbl_802DFEF4
/* 802DFEEC 002DCE2C 38 A7 00 01 */ addi r5, r7, 1
/* 802DFEF0 002DCE30 48 00 00 10 */ b lbl_802DFF00
lbl_802DFEF4:
/* 802DFEF4 002DCE34 7C 64 1A 14 */ add r3, r4, r3
/* 802DFEF8 002DCE38 A3 E3 00 02 */ lhz r31, 2(r3)
/* 802DFEFC 002DCE3C 48 00 00 48 */ b lbl_802DFF44
lbl_802DFF00:
/* 802DFF00 002DCE40 7C 06 28 00 */ cmpw r6, r5
/* 802DFF04 002DCE44 40 80 FF C0 */ bge lbl_802DFEC4
/* 802DFF08 002DCE48 48 00 00 3C */ b lbl_802DFF44
lbl_802DFF0C:
/* 802DFF0C 002DCE4C 28 00 00 01 */ cmplwi r0, 1
/* 802DFF10 002DCE50 40 82 00 34 */ bne lbl_802DFF44
/* 802DFF14 002DCE54 38 A0 00 00 */ li r5, 0
/* 802DFF18 002DCE58 A0 06 00 0E */ lhz r0, 0xe(r6)
/* 802DFF1C 002DCE5C 28 00 00 01 */ cmplwi r0, 1
/* 802DFF20 002DCE60 40 82 00 08 */ bne lbl_802DFF28
/* 802DFF24 002DCE64 38 A6 00 10 */ addi r5, r6, 0x10
lbl_802DFF28:
/* 802DFF28 002DCE68 7F A3 EB 78 */ mr r3, r29
/* 802DFF2C 002DCE6C 7F C4 F3 78 */ mr r4, r30
/* 802DFF30 002DCE70 48 00 01 95 */ bl convertSjis__10JUTResFontCFiPUs
/* 802DFF34 002DCE74 7C 7F 1B 78 */ mr r31, r3
/* 802DFF38 002DCE78 48 00 00 0C */ b lbl_802DFF44
lbl_802DFF3C:
/* 802DFF3C 002DCE7C 38 63 00 04 */ addi r3, r3, 4
/* 802DFF40 002DCE80 42 00 FF 1C */ bdnz lbl_802DFE5C
lbl_802DFF44:
/* 802DFF44 002DCE84 7F E3 FB 78 */ mr r3, r31
/* 802DFF48 002DCE88 39 61 00 20 */ addi r11, r1, 0x20
/* 802DFF4C 002DCE8C 48 08 22 DD */ bl _restgpr_29
/* 802DFF50 002DCE90 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802DFF54 002DCE94 7C 08 03 A6 */ mtlr r0
/* 802DFF58 002DCE98 38 21 00 20 */ addi r1, r1, 0x20
/* 802DFF5C 002DCE9C 4E 80 00 20 */ blr
@@ -1,45 +0,0 @@
/* 802DFC64 002DCBA4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802DFC68 002DCBA8 7C 08 02 A6 */ mflr r0
/* 802DFC6C 002DCBAC 90 01 00 14 */ stw r0, 0x14(r1)
/* 802DFC70 002DCBB0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802DFC74 002DCBB4 93 C1 00 08 */ stw r30, 8(r1)
/* 802DFC78 002DCBB8 7C 7E 1B 78 */ mr r30, r3
/* 802DFC7C 002DCBBC 7C BF 2B 78 */ mr r31, r5
/* 802DFC80 002DCBC0 48 00 01 59 */ bl getFontCode__10JUTResFontCFi
/* 802DFC84 002DCBC4 38 A0 00 00 */ li r5, 0
/* 802DFC88 002DCBC8 98 BF 00 00 */ stb r5, 0(r31)
/* 802DFC8C 002DCBCC 80 9E 00 4C */ lwz r4, 0x4c(r30)
/* 802DFC90 002DCBD0 A0 04 00 0E */ lhz r0, 0xe(r4)
/* 802DFC94 002DCBD4 98 1F 00 01 */ stb r0, 1(r31)
/* 802DFC98 002DCBD8 A0 1E 00 60 */ lhz r0, 0x60(r30)
/* 802DFC9C 002DCBDC 80 9E 00 54 */ lwz r4, 0x54(r30)
/* 802DFCA0 002DCBE0 7C 09 03 A6 */ mtctr r0
/* 802DFCA4 002DCBE4 2C 00 00 00 */ cmpwi r0, 0
/* 802DFCA8 002DCBE8 40 81 00 4C */ ble lbl_802DFCF4
lbl_802DFCAC:
/* 802DFCAC 002DCBEC 7C C4 28 2E */ lwzx r6, r4, r5
/* 802DFCB0 002DCBF0 A0 E6 00 08 */ lhz r7, 8(r6)
/* 802DFCB4 002DCBF4 7C 07 18 00 */ cmpw r7, r3
/* 802DFCB8 002DCBF8 41 81 00 34 */ bgt lbl_802DFCEC
/* 802DFCBC 002DCBFC A0 06 00 0A */ lhz r0, 0xa(r6)
/* 802DFCC0 002DCC00 7C 03 00 00 */ cmpw r3, r0
/* 802DFCC4 002DCC04 41 81 00 28 */ bgt lbl_802DFCEC
/* 802DFCC8 002DCC08 7C 07 18 50 */ subf r0, r7, r3
/* 802DFCCC 002DCC0C 54 03 08 3C */ slwi r3, r0, 1
/* 802DFCD0 002DCC10 38 63 00 0C */ addi r3, r3, 0xc
/* 802DFCD4 002DCC14 7C 66 1A 14 */ add r3, r6, r3
/* 802DFCD8 002DCC18 88 03 00 00 */ lbz r0, 0(r3)
/* 802DFCDC 002DCC1C 98 1F 00 00 */ stb r0, 0(r31)
/* 802DFCE0 002DCC20 88 03 00 01 */ lbz r0, 1(r3)
/* 802DFCE4 002DCC24 98 1F 00 01 */ stb r0, 1(r31)
/* 802DFCE8 002DCC28 48 00 00 0C */ b lbl_802DFCF4
lbl_802DFCEC:
/* 802DFCEC 002DCC2C 38 A5 00 04 */ addi r5, r5, 4
/* 802DFCF0 002DCC30 42 00 FF BC */ bdnz lbl_802DFCAC
lbl_802DFCF4:
/* 802DFCF4 002DCC34 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802DFCF8 002DCC38 83 C1 00 08 */ lwz r30, 8(r1)
/* 802DFCFC 002DCC3C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802DFD00 002DCC40 7C 08 03 A6 */ mtlr r0
/* 802DFD04 002DCC44 38 21 00 10 */ addi r1, r1, 0x10
/* 802DFD08 002DCC48 4E 80 00 20 */ blr
@@ -1,95 +0,0 @@
/* 802DFF60 002DCEA0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802DFF64 002DCEA4 7C 08 02 A6 */ mflr r0
/* 802DFF68 002DCEA8 90 01 00 24 */ stw r0, 0x24(r1)
/* 802DFF6C 002DCEAC 39 61 00 20 */ addi r11, r1, 0x20
/* 802DFF70 002DCEB0 48 08 22 69 */ bl _savegpr_28
/* 802DFF74 002DCEB4 7C 7C 1B 78 */ mr r28, r3
/* 802DFF78 002DCEB8 7C BD 2B 78 */ mr r29, r5
/* 802DFF7C 002DCEBC 3B E0 00 00 */ li r31, 0
/* 802DFF80 002DCEC0 38 60 00 00 */ li r3, 0
/* 802DFF84 002DCEC4 A0 FC 00 62 */ lhz r7, 0x62(r28)
/* 802DFF88 002DCEC8 7C E9 03 A6 */ mtctr r7
/* 802DFF8C 002DCECC 2C 07 00 00 */ cmpwi r7, 0
/* 802DFF90 002DCED0 40 81 00 38 */ ble lbl_802DFFC8
lbl_802DFF94:
/* 802DFF94 002DCED4 80 BC 00 58 */ lwz r5, 0x58(r28)
/* 802DFF98 002DCED8 7C A5 18 2E */ lwzx r5, r5, r3
/* 802DFF9C 002DCEDC A0 C5 00 08 */ lhz r6, 8(r5)
/* 802DFFA0 002DCEE0 7C 06 20 00 */ cmpw r6, r4
/* 802DFFA4 002DCEE4 41 81 00 18 */ bgt lbl_802DFFBC
/* 802DFFA8 002DCEE8 A0 05 00 0A */ lhz r0, 0xa(r5)
/* 802DFFAC 002DCEEC 7C 04 00 00 */ cmpw r4, r0
/* 802DFFB0 002DCEF0 41 81 00 0C */ bgt lbl_802DFFBC
/* 802DFFB4 002DCEF4 7C 86 20 50 */ subf r4, r6, r4
/* 802DFFB8 002DCEF8 48 00 00 10 */ b lbl_802DFFC8
lbl_802DFFBC:
/* 802DFFBC 002DCEFC 3B FF 00 01 */ addi r31, r31, 1
/* 802DFFC0 002DCF00 38 63 00 04 */ addi r3, r3, 4
/* 802DFFC4 002DCF04 42 00 FF D0 */ bdnz lbl_802DFF94
lbl_802DFFC8:
/* 802DFFC8 002DCF08 7C 1F 38 00 */ cmpw r31, r7
/* 802DFFCC 002DCF0C 41 82 00 E0 */ beq lbl_802E00AC
/* 802DFFD0 002DCF10 80 7C 00 58 */ lwz r3, 0x58(r28)
/* 802DFFD4 002DCF14 57 E6 10 3A */ slwi r6, r31, 2
/* 802DFFD8 002DCF18 7C A3 30 2E */ lwzx r5, r3, r6
/* 802DFFDC 002DCF1C A0 65 00 16 */ lhz r3, 0x16(r5)
/* 802DFFE0 002DCF20 A0 05 00 18 */ lhz r0, 0x18(r5)
/* 802DFFE4 002DCF24 7C 03 01 D6 */ mullw r0, r3, r0
/* 802DFFE8 002DCF28 7F C4 03 D6 */ divw r30, r4, r0
/* 802DFFEC 002DCF2C 7C 1E 01 D6 */ mullw r0, r30, r0
/* 802DFFF0 002DCF30 7C 80 20 50 */ subf r4, r0, r4
/* 802DFFF4 002DCF34 7C E4 1B D6 */ divw r7, r4, r3
/* 802DFFF8 002DCF38 7C 07 19 D6 */ mullw r0, r7, r3
/* 802DFFFC 002DCF3C 7C 60 20 50 */ subf r3, r0, r4
/* 802E0000 002DCF40 A0 05 00 0C */ lhz r0, 0xc(r5)
/* 802E0004 002DCF44 7C 03 01 D6 */ mullw r0, r3, r0
/* 802E0008 002DCF48 90 1C 00 1C */ stw r0, 0x1c(r28)
/* 802E000C 002DCF4C 80 7C 00 58 */ lwz r3, 0x58(r28)
/* 802E0010 002DCF50 7C 63 30 2E */ lwzx r3, r3, r6
/* 802E0014 002DCF54 A0 03 00 0E */ lhz r0, 0xe(r3)
/* 802E0018 002DCF58 7C 07 01 D6 */ mullw r0, r7, r0
/* 802E001C 002DCF5C 90 1C 00 20 */ stw r0, 0x20(r28)
/* 802E0020 002DCF60 80 1C 00 44 */ lwz r0, 0x44(r28)
/* 802E0024 002DCF64 7C 1E 00 00 */ cmpw r30, r0
/* 802E0028 002DCF68 40 82 00 10 */ bne lbl_802E0038
/* 802E002C 002DCF6C A0 1C 00 66 */ lhz r0, 0x66(r28)
/* 802E0030 002DCF70 7C 1F 00 00 */ cmpw r31, r0
/* 802E0034 002DCF74 41 82 00 6C */ beq lbl_802E00A0
lbl_802E0038:
/* 802E0038 002DCF78 80 7C 00 58 */ lwz r3, 0x58(r28)
/* 802E003C 002DCF7C 7C E3 30 2E */ lwzx r7, r3, r6
/* 802E0040 002DCF80 38 7C 00 24 */ addi r3, r28, 0x24
/* 802E0044 002DCF84 80 07 00 10 */ lwz r0, 0x10(r7)
/* 802E0048 002DCF88 7C 9E 01 D6 */ mullw r4, r30, r0
/* 802E004C 002DCF8C 38 84 00 20 */ addi r4, r4, 0x20
/* 802E0050 002DCF90 7C 87 22 14 */ add r4, r7, r4
/* 802E0054 002DCF94 A0 A7 00 1A */ lhz r5, 0x1a(r7)
/* 802E0058 002DCF98 A0 C7 00 1C */ lhz r6, 0x1c(r7)
/* 802E005C 002DCF9C A0 E7 00 14 */ lhz r7, 0x14(r7)
/* 802E0060 002DCFA0 39 00 00 00 */ li r8, 0
/* 802E0064 002DCFA4 39 20 00 00 */ li r9, 0
/* 802E0068 002DCFA8 39 40 00 00 */ li r10, 0
/* 802E006C 002DCFAC 48 07 DD D5 */ bl GXInitTexObj
/* 802E0070 002DCFB0 38 7C 00 24 */ addi r3, r28, 0x24
/* 802E0074 002DCFB4 38 80 00 01 */ li r4, 1
/* 802E0078 002DCFB8 38 A0 00 01 */ li r5, 1
/* 802E007C 002DCFBC C0 22 C5 F0 */ lfs f1, lbl_80455FF0-_SDA2_BASE_(r2)
/* 802E0080 002DCFC0 FC 40 08 90 */ fmr f2, f1
/* 802E0084 002DCFC4 FC 60 08 90 */ fmr f3, f1
/* 802E0088 002DCFC8 38 C0 00 00 */ li r6, 0
/* 802E008C 002DCFCC 38 E0 00 00 */ li r7, 0
/* 802E0090 002DCFD0 39 00 00 00 */ li r8, 0
/* 802E0094 002DCFD4 48 07 E0 41 */ bl GXInitTexObjLOD
/* 802E0098 002DCFD8 93 DC 00 44 */ stw r30, 0x44(r28)
/* 802E009C 002DCFDC B3 FC 00 66 */ sth r31, 0x66(r28)
lbl_802E00A0:
/* 802E00A0 002DCFE0 38 7C 00 24 */ addi r3, r28, 0x24
/* 802E00A4 002DCFE4 7F A4 EB 78 */ mr r4, r29
/* 802E00A8 002DCFE8 48 07 E3 6D */ bl GXLoadTexObj
lbl_802E00AC:
/* 802E00AC 002DCFEC 39 61 00 20 */ addi r11, r1, 0x20
/* 802E00B0 002DCFF0 48 08 21 75 */ bl _restgpr_28
/* 802E00B4 002DCFF4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802E00B8 002DCFF8 7C 08 03 A6 */ mtlr r0
/* 802E00BC 002DCFFC 38 21 00 20 */ addi r1, r1, 0x20
/* 802E00C0 002DD000 4E 80 00 20 */ blr
@@ -1,73 +0,0 @@
/* 802DF13C 002DC07C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802DF140 002DC080 7C 08 02 A6 */ mflr r0
/* 802DF144 002DC084 90 01 00 24 */ stw r0, 0x24(r1)
/* 802DF148 002DC088 39 61 00 20 */ addi r11, r1, 0x20
/* 802DF14C 002DC08C 48 08 30 91 */ bl _savegpr_29
/* 802DF150 002DC090 7C 7D 1B 78 */ mr r29, r3
/* 802DF154 002DC094 7C 9E 23 78 */ mr r30, r4
/* 802DF158 002DC098 7C BF 2B 78 */ mr r31, r5
/* 802DF15C 002DC09C 4B FF FF 31 */ bl deleteMemBlocks_ResFont__10JUTResFontFv
/* 802DF160 002DC0A0 7F A3 EB 78 */ mr r3, r29
/* 802DF164 002DC0A4 4B FF FF 4D */ bl initialize_state__10JUTResFontFv
/* 802DF168 002DC0A8 7F A3 EB 78 */ mr r3, r29
/* 802DF16C 002DC0AC 4B FF FB B9 */ bl initialize_state__7JUTFontFv
/* 802DF170 002DC0B0 28 1E 00 00 */ cmplwi r30, 0
/* 802DF174 002DC0B4 40 82 00 0C */ bne lbl_802DF180
/* 802DF178 002DC0B8 38 60 00 00 */ li r3, 0
/* 802DF17C 002DC0BC 48 00 00 B4 */ b lbl_802DF230
lbl_802DF180:
/* 802DF180 002DC0C0 93 DD 00 48 */ stw r30, 0x48(r29)
/* 802DF184 002DC0C4 38 00 00 01 */ li r0, 1
/* 802DF188 002DC0C8 98 1D 00 04 */ stb r0, 4(r29)
/* 802DF18C 002DC0CC 7F A3 EB 78 */ mr r3, r29
/* 802DF190 002DC0D0 48 00 00 B9 */ bl countBlock__10JUTResFontFv
/* 802DF194 002DC0D4 A0 9D 00 64 */ lhz r4, 0x64(r29)
/* 802DF198 002DC0D8 A0 7D 00 60 */ lhz r3, 0x60(r29)
/* 802DF19C 002DC0DC A0 1D 00 62 */ lhz r0, 0x62(r29)
/* 802DF1A0 002DC0E0 7C 00 22 14 */ add r0, r0, r4
/* 802DF1A4 002DC0E4 7C 03 02 14 */ add r0, r3, r0
/* 802DF1A8 002DC0E8 54 03 10 3A */ slwi r3, r0, 2
/* 802DF1AC 002DC0EC 7F E4 FB 78 */ mr r4, r31
/* 802DF1B0 002DC0F0 38 A0 00 00 */ li r5, 0
/* 802DF1B4 002DC0F4 4B FE FB 5D */ bl __nwa__FUlP7JKRHeapi
/* 802DF1B8 002DC0F8 90 7D 00 50 */ stw r3, 0x50(r29)
/* 802DF1BC 002DC0FC 80 7D 00 50 */ lwz r3, 0x50(r29)
/* 802DF1C0 002DC100 28 03 00 00 */ cmplwi r3, 0
/* 802DF1C4 002DC104 40 82 00 0C */ bne lbl_802DF1D0
/* 802DF1C8 002DC108 38 60 00 00 */ li r3, 0
/* 802DF1CC 002DC10C 48 00 00 64 */ b lbl_802DF230
lbl_802DF1D0:
/* 802DF1D0 002DC110 A0 1D 00 60 */ lhz r0, 0x60(r29)
/* 802DF1D4 002DC114 28 00 00 00 */ cmplwi r0, 0
/* 802DF1D8 002DC118 41 82 00 14 */ beq lbl_802DF1EC
/* 802DF1DC 002DC11C 90 7D 00 54 */ stw r3, 0x54(r29)
/* 802DF1E0 002DC120 A0 1D 00 60 */ lhz r0, 0x60(r29)
/* 802DF1E4 002DC124 54 00 10 3A */ slwi r0, r0, 2
/* 802DF1E8 002DC128 7C 63 02 14 */ add r3, r3, r0
lbl_802DF1EC:
/* 802DF1EC 002DC12C A0 1D 00 62 */ lhz r0, 0x62(r29)
/* 802DF1F0 002DC130 28 00 00 00 */ cmplwi r0, 0
/* 802DF1F4 002DC134 41 82 00 14 */ beq lbl_802DF208
/* 802DF1F8 002DC138 90 7D 00 58 */ stw r3, 0x58(r29)
/* 802DF1FC 002DC13C A0 1D 00 62 */ lhz r0, 0x62(r29)
/* 802DF200 002DC140 54 00 10 3A */ slwi r0, r0, 2
/* 802DF204 002DC144 7C 63 02 14 */ add r3, r3, r0
lbl_802DF208:
/* 802DF208 002DC148 A0 1D 00 64 */ lhz r0, 0x64(r29)
/* 802DF20C 002DC14C 28 00 00 00 */ cmplwi r0, 0
/* 802DF210 002DC150 41 82 00 08 */ beq lbl_802DF218
/* 802DF214 002DC154 90 7D 00 5C */ stw r3, 0x5c(r29)
lbl_802DF218:
/* 802DF218 002DC158 7F A3 EB 78 */ mr r3, r29
/* 802DF21C 002DC15C 81 9D 00 00 */ lwz r12, 0(r29)
/* 802DF220 002DC160 81 8C 00 48 */ lwz r12, 0x48(r12)
/* 802DF224 002DC164 7D 89 03 A6 */ mtctr r12
/* 802DF228 002DC168 4E 80 04 21 */ bctrl
/* 802DF22C 002DC16C 38 60 00 01 */ li r3, 1
lbl_802DF230:
/* 802DF230 002DC170 39 61 00 20 */ addi r11, r1, 0x20
/* 802DF234 002DC174 48 08 2F F5 */ bl _restgpr_29
/* 802DF238 002DC178 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802DF23C 002DC17C 7C 08 03 A6 */ mtlr r0
/* 802DF240 002DC180 38 21 00 20 */ addi r1, r1, 0x20
/* 802DF244 002DC184 4E 80 00 20 */ blr
@@ -1,92 +0,0 @@
/* 802DF344 002DC284 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802DF348 002DC288 7C 08 02 A6 */ mflr r0
/* 802DF34C 002DC28C 90 01 00 34 */ stw r0, 0x34(r1)
/* 802DF350 002DC290 39 61 00 30 */ addi r11, r1, 0x30
/* 802DF354 002DC294 48 08 2E 79 */ bl _savegpr_25
/* 802DF358 002DC298 7C 7C 1B 78 */ mr r28, r3
/* 802DF35C 002DC29C 3B 60 00 00 */ li r27, 0
/* 802DF360 002DC2A0 3B 40 00 00 */ li r26, 0
/* 802DF364 002DC2A4 3B 20 00 00 */ li r25, 0
/* 802DF368 002DC2A8 3C 60 00 01 */ lis r3, 0x0000FFFF@ha
/* 802DF36C 002DC2AC 38 03 FF FF */ addi r0, r3, 0x0000FFFF@l
/* 802DF370 002DC2B0 B0 1C 00 68 */ sth r0, 0x68(r28)
/* 802DF374 002DC2B4 80 7C 00 48 */ lwz r3, 0x48(r28)
/* 802DF378 002DC2B8 3B C3 00 20 */ addi r30, r3, 0x20
/* 802DF37C 002DC2BC 3B A0 00 00 */ li r29, 0
/* 802DF380 002DC2C0 3C 60 4D 41 */ lis r3, 0x4D415031@ha
/* 802DF384 002DC2C4 3B E3 50 31 */ addi r31, r3, 0x4D415031@l
/* 802DF388 002DC2C8 48 00 00 DC */ b lbl_802DF464
lbl_802DF38C:
/* 802DF38C 002DC2CC 80 9E 00 00 */ lwz r4, 0(r30)
/* 802DF390 002DC2D0 7C 04 F8 00 */ cmpw r4, r31
/* 802DF394 002DC2D4 41 82 00 88 */ beq lbl_802DF41C
/* 802DF398 002DC2D8 40 80 00 2C */ bge lbl_802DF3C4
/* 802DF39C 002DC2DC 3C 60 49 4E */ lis r3, 0x494E4631@ha
/* 802DF3A0 002DC2E0 38 03 46 31 */ addi r0, r3, 0x494E4631@l
/* 802DF3A4 002DC2E4 7C 04 00 00 */ cmpw r4, r0
/* 802DF3A8 002DC2E8 41 82 00 30 */ beq lbl_802DF3D8
/* 802DF3AC 002DC2EC 40 80 00 9C */ bge lbl_802DF448
/* 802DF3B0 002DC2F0 3C 60 47 4C */ lis r3, 0x474C5931@ha
/* 802DF3B4 002DC2F4 38 03 59 31 */ addi r0, r3, 0x474C5931@l
/* 802DF3B8 002DC2F8 7C 04 00 00 */ cmpw r4, r0
/* 802DF3BC 002DC2FC 41 82 00 50 */ beq lbl_802DF40C
/* 802DF3C0 002DC300 48 00 00 88 */ b lbl_802DF448
lbl_802DF3C4:
/* 802DF3C4 002DC304 3C 60 57 49 */ lis r3, 0x57494431@ha
/* 802DF3C8 002DC308 38 03 44 31 */ addi r0, r3, 0x57494431@l
/* 802DF3CC 002DC30C 7C 04 00 00 */ cmpw r4, r0
/* 802DF3D0 002DC310 41 82 00 2C */ beq lbl_802DF3FC
/* 802DF3D4 002DC314 48 00 00 74 */ b lbl_802DF448
lbl_802DF3D8:
/* 802DF3D8 002DC318 93 DC 00 4C */ stw r30, 0x4c(r28)
/* 802DF3DC 002DC31C 80 7C 00 4C */ lwz r3, 0x4c(r28)
/* 802DF3E0 002DC320 A0 03 00 08 */ lhz r0, 8(r3)
/* 802DF3E4 002DC324 54 04 10 3A */ slwi r4, r0, 2
/* 802DF3E8 002DC328 3C 60 80 3A */ lis r3, lbl_8039D390@ha
/* 802DF3EC 002DC32C 38 03 D3 90 */ addi r0, r3, lbl_8039D390@l
/* 802DF3F0 002DC330 7C 00 22 14 */ add r0, r0, r4
/* 802DF3F4 002DC334 90 1C 00 6C */ stw r0, 0x6c(r28)
/* 802DF3F8 002DC338 48 00 00 60 */ b lbl_802DF458
lbl_802DF3FC:
/* 802DF3FC 002DC33C 80 7C 00 54 */ lwz r3, 0x54(r28)
/* 802DF400 002DC340 7F C3 D9 2E */ stwx r30, r3, r27
/* 802DF404 002DC344 3B 7B 00 04 */ addi r27, r27, 4
/* 802DF408 002DC348 48 00 00 50 */ b lbl_802DF458
lbl_802DF40C:
/* 802DF40C 002DC34C 80 7C 00 58 */ lwz r3, 0x58(r28)
/* 802DF410 002DC350 7F C3 D1 2E */ stwx r30, r3, r26
/* 802DF414 002DC354 3B 5A 00 04 */ addi r26, r26, 4
/* 802DF418 002DC358 48 00 00 40 */ b lbl_802DF458
lbl_802DF41C:
/* 802DF41C 002DC35C 80 7C 00 5C */ lwz r3, 0x5c(r28)
/* 802DF420 002DC360 7F C3 C9 2E */ stwx r30, r3, r25
/* 802DF424 002DC364 A0 1C 00 68 */ lhz r0, 0x68(r28)
/* 802DF428 002DC368 80 7C 00 5C */ lwz r3, 0x5c(r28)
/* 802DF42C 002DC36C 7C 63 C8 2E */ lwzx r3, r3, r25
/* 802DF430 002DC370 A0 63 00 0A */ lhz r3, 0xa(r3)
/* 802DF434 002DC374 7C 00 18 40 */ cmplw r0, r3
/* 802DF438 002DC378 40 81 00 08 */ ble lbl_802DF440
/* 802DF43C 002DC37C B0 7C 00 68 */ sth r3, 0x68(r28)
lbl_802DF440:
/* 802DF440 002DC380 3B 39 00 04 */ addi r25, r25, 4
/* 802DF444 002DC384 48 00 00 14 */ b lbl_802DF458
lbl_802DF448:
/* 802DF448 002DC388 3C 60 80 3A */ lis r3, lbl_8039D45C@ha
/* 802DF44C 002DC38C 38 63 D4 5C */ addi r3, r3, lbl_8039D45C@l
/* 802DF450 002DC390 38 63 00 20 */ addi r3, r3, 0x20
/* 802DF454 002DC394 48 00 91 F5 */ bl JUTReportConsole
lbl_802DF458:
/* 802DF458 002DC398 80 1E 00 04 */ lwz r0, 4(r30)
/* 802DF45C 002DC39C 7F DE 02 14 */ add r30, r30, r0
/* 802DF460 002DC3A0 3B BD 00 01 */ addi r29, r29, 1
lbl_802DF464:
/* 802DF464 002DC3A4 80 7C 00 48 */ lwz r3, 0x48(r28)
/* 802DF468 002DC3A8 80 03 00 0C */ lwz r0, 0xc(r3)
/* 802DF46C 002DC3AC 7C 1D 00 40 */ cmplw r29, r0
/* 802DF470 002DC3B0 41 80 FF 1C */ blt lbl_802DF38C
/* 802DF474 002DC3B4 39 61 00 30 */ addi r11, r1, 0x30
/* 802DF478 002DC3B8 48 08 2D A1 */ bl _restgpr_25
/* 802DF47C 002DC3BC 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802DF480 002DC3C0 7C 08 03 A6 */ mtlr r0
/* 802DF484 002DC3C4 38 21 00 30 */ addi r1, r1, 0x30
/* 802DF488 002DC3C8 4E 80 00 20 */ blr