mirror of https://github.com/zeldaret/tp.git
421 lines
11 KiB
C++
421 lines
11 KiB
C++
//
|
|
// Generated By: dol2asm
|
|
// Translation Unit: Pad
|
|
//
|
|
|
|
#include "dolphin/pad/Pad.h"
|
|
#include "dol2asm.h"
|
|
#include "dolphin/types.h"
|
|
|
|
//
|
|
// Forward References:
|
|
//
|
|
|
|
extern "C" static void UpdateOrigin();
|
|
extern "C" static void PADOriginCallback();
|
|
extern "C" static void PADOriginUpdateCallback();
|
|
extern "C" static void PADProbeCallback();
|
|
extern "C" static void PADTypeAndStatusCallback();
|
|
extern "C" static void PADReceiveCheckCallback();
|
|
extern "C" static void SPEC0_MakeStatus();
|
|
extern "C" static void SPEC1_MakeStatus();
|
|
extern "C" static void SPEC2_MakeStatus();
|
|
extern "C" static void OnReset();
|
|
extern "C" static void SamplingHandler();
|
|
extern "C" static void PADSetSamplingCallback();
|
|
extern "C" void __PADDisableRecalibration();
|
|
|
|
//
|
|
// External References:
|
|
//
|
|
|
|
SECTION_INIT void memset();
|
|
extern "C" void OSRegisterVersion();
|
|
extern "C" void OSSetCurrentContext();
|
|
extern "C" void OSClearContext();
|
|
extern "C" void OSDisableInterrupts();
|
|
extern "C" void OSRestoreInterrupts();
|
|
extern "C" void OSRegisterResetFunction();
|
|
extern "C" void OSSetWirelessID();
|
|
extern "C" void OSGetTime();
|
|
extern "C" void SIBusy();
|
|
extern "C" void SIIsChanBusy();
|
|
extern "C" void SIRegisterPollingHandler();
|
|
extern "C" void SIUnregisterPollingHandler();
|
|
extern "C" void SIGetStatus();
|
|
extern "C" void SISetCommand();
|
|
extern "C" void SITransferCommands();
|
|
extern "C" void SIEnablePolling();
|
|
extern "C" void SIDisablePolling();
|
|
extern "C" void SIGetResponse();
|
|
extern "C" void SITransfer();
|
|
extern "C" void SIGetType();
|
|
extern "C" void SIGetTypeAsync();
|
|
extern "C" void SIRefreshSamplingRate();
|
|
extern "C" void __shr2i();
|
|
extern "C" extern u8 __PADFixBits[4 + 4 /* padding */];
|
|
|
|
//
|
|
// Declarations:
|
|
//
|
|
|
|
/* ############################################################################################## */
|
|
/* 803D1B48-803D1B90 02EC68 0045+03 1/0 0/0 0/0 .data @1 */
|
|
SECTION_DATA static u8 lit_1[69 + 3 /* padding */] = {
|
|
0x3C,
|
|
0x3C,
|
|
0x20,
|
|
0x44,
|
|
0x6F,
|
|
0x6C,
|
|
0x70,
|
|
0x68,
|
|
0x69,
|
|
0x6E,
|
|
0x20,
|
|
0x53,
|
|
0x44,
|
|
0x4B,
|
|
0x20,
|
|
0x2D,
|
|
0x20,
|
|
0x50,
|
|
0x41,
|
|
0x44,
|
|
0x09,
|
|
0x72,
|
|
0x65,
|
|
0x6C,
|
|
0x65,
|
|
0x61,
|
|
0x73,
|
|
0x65,
|
|
0x20,
|
|
0x62,
|
|
0x75,
|
|
0x69,
|
|
0x6C,
|
|
0x64,
|
|
0x3A,
|
|
0x20,
|
|
0x41,
|
|
0x70,
|
|
0x72,
|
|
0x20,
|
|
0x20,
|
|
0x35,
|
|
0x20,
|
|
0x32,
|
|
0x30,
|
|
0x30,
|
|
0x34,
|
|
0x20,
|
|
0x30,
|
|
0x34,
|
|
0x3A,
|
|
0x31,
|
|
0x34,
|
|
0x3A,
|
|
0x34,
|
|
0x39,
|
|
0x20,
|
|
0x28,
|
|
0x30,
|
|
0x78,
|
|
0x32,
|
|
0x33,
|
|
0x30,
|
|
0x31,
|
|
0x29,
|
|
0x20,
|
|
0x3E,
|
|
0x3E,
|
|
0x00,
|
|
/* padding */
|
|
0x00,
|
|
0x00,
|
|
0x00,
|
|
};
|
|
|
|
/* 8044CB70-8044CB80 079890 0010+00 3/3 0/0 0/0 .bss Type */
|
|
static u8 Type[16];
|
|
|
|
/* 8044CB80-8044CBB0 0798A0 0030+00 8/8 0/0 0/0 .bss Origin */
|
|
static u8 Origin[48];
|
|
|
|
/* 80450A20-80450A24 -00001 0004+00 1/1 0/0 0/0 .sdata __PADVersion */
|
|
SECTION_SDATA static void* __PADVersion = (void*)&lit_1;
|
|
|
|
/* 80450A24-80450A28 0004A4 0004+00 7/7 0/0 0/0 .sdata ResettingChan */
|
|
SECTION_SDATA static u32 ResettingChan = 0x00000020;
|
|
|
|
/* 80450A28-80450A2C 0004A8 0004+00 1/1 0/0 0/0 .sdata XPatchBits */
|
|
SECTION_SDATA static u32 XPatchBits = 0xF0000000;
|
|
|
|
/* 80450A2C-80450A30 0004AC 0004+00 7/7 0/0 0/0 .sdata AnalogMode */
|
|
SECTION_SDATA static u32 AnalogMode = 0x00000300;
|
|
|
|
/* 8034E2B4-8034E458 348BF4 01A4+00 2/2 0/0 0/0 .text UpdateOrigin */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
static asm void UpdateOrigin() {
|
|
nofralloc
|
|
#include "asm/dolphin/pad/Pad/UpdateOrigin.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* ############################################################################################## */
|
|
/* 80451848-8045184C 000D48 0004+00 1/1 0/0 0/0 .sbss Initialized */
|
|
static u8 Initialized[4];
|
|
|
|
/* 8045184C-80451850 000D4C 0004+00 10/10 0/0 0/0 .sbss EnabledBits */
|
|
static u8 EnabledBits[4];
|
|
|
|
/* 80451850-80451854 000D50 0004+00 7/7 0/0 0/0 .sbss ResettingBits */
|
|
static u8 ResettingBits[4];
|
|
|
|
/* 8034E458-8034E51C 348D98 00C4+00 1/1 0/0 0/0 .text PADOriginCallback */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
static asm void PADOriginCallback() {
|
|
nofralloc
|
|
#include "asm/dolphin/pad/Pad/PADOriginCallback.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* ############################################################################################## */
|
|
/* 80451854-80451858 000D54 0004+00 4/4 0/0 0/0 .sbss RecalibrateBits */
|
|
static u8 RecalibrateBits[4];
|
|
|
|
/* 80451858-8045185C 000D58 0004+00 7/7 0/0 0/0 .sbss WaitingBits */
|
|
static u8 WaitingBits[4];
|
|
|
|
/* 8045185C-80451860 000D5C 0004+00 6/6 0/0 0/0 .sbss CheckingBits */
|
|
static u8 CheckingBits[4];
|
|
|
|
/* 80451860-80451864 000D60 0004+00 6/6 0/0 0/0 .sbss PendingBits */
|
|
static u8 PendingBits[4];
|
|
|
|
/* 80451864-80451868 000D64 0004+00 6/6 0/0 0/0 .sbss BarrelBits */
|
|
static u8 BarrelBits[4];
|
|
|
|
/* 8034E51C-8034E5E8 348E5C 00CC+00 2/2 0/0 0/0 .text PADOriginUpdateCallback */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
static asm void PADOriginUpdateCallback() {
|
|
nofralloc
|
|
#include "asm/dolphin/pad/Pad/PADOriginUpdateCallback.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 8034E5E8-8034E6C0 348F28 00D8+00 1/1 0/0 0/0 .text PADProbeCallback */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
static asm void PADProbeCallback() {
|
|
nofralloc
|
|
#include "asm/dolphin/pad/Pad/PADProbeCallback.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* ############################################################################################## */
|
|
/* 80450A30-80450A34 0004B0 0004+00 4/4 0/0 0/0 .sdata Spec */
|
|
SECTION_SDATA static u32 Spec = 0x00000005;
|
|
|
|
/* 80450A34-80450A38 -00001 0004+00 2/2 0/0 0/0 .sdata MakeStatus */
|
|
SECTION_SDATA static void* MakeStatus = (void*)SPEC2_MakeStatus;
|
|
|
|
/* 80450A38-80450A3C 0004B8 0004+00 3/3 0/0 0/0 .sdata CmdReadOrigin */
|
|
SECTION_SDATA static f32 CmdReadOrigin = 8.0f;
|
|
|
|
/* 80450A3C-80450A40 0004BC 0004+00 1/1 0/0 0/0 .sdata CmdCalibrate */
|
|
SECTION_SDATA static f32 CmdCalibrate = 32.0f;
|
|
|
|
/* 8034E6C0-8034E9EC 349000 032C+00 4/4 0/0 0/0 .text PADTypeAndStatusCallback */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
static asm void PADTypeAndStatusCallback() {
|
|
nofralloc
|
|
#include "asm/dolphin/pad/Pad/PADTypeAndStatusCallback.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 8034E9EC-8034EB2C 34932C 0140+00 1/1 0/0 0/0 .text PADReceiveCheckCallback */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
static asm void PADReceiveCheckCallback() {
|
|
nofralloc
|
|
#include "asm/dolphin/pad/Pad/PADReceiveCheckCallback.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 8034EB2C-8034EC3C 34946C 0110+00 2/2 1/1 0/0 .text PADReset */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm s32 PADReset(PADMask mask) {
|
|
nofralloc
|
|
#include "asm/dolphin/pad/Pad/PADReset.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 8034EC3C-8034ED50 34957C 0114+00 1/1 1/1 0/0 .text PADRecalibrate */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm s32 PADRecalibrate(PADMask mask) {
|
|
nofralloc
|
|
#include "asm/dolphin/pad/Pad/PADRecalibrate.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* ############################################################################################## */
|
|
/* 803D1B90-803D1BA0 -00001 0010+00 1/1 0/0 0/0 .data ResetFunctionInfo */
|
|
SECTION_DATA static void* ResetFunctionInfo[4] = {
|
|
(void*)OnReset,
|
|
(void*)0x0000007F,
|
|
(void*)NULL,
|
|
(void*)NULL,
|
|
};
|
|
|
|
/* 8044CBB0-8044CBC0 0798D0 0010+00 0/1 0/0 0/0 .bss CmdProbeDevice */
|
|
#pragma push
|
|
#pragma force_active on
|
|
static u8 CmdProbeDevice[16];
|
|
#pragma pop
|
|
|
|
/* 80451868-8045186C 000D68 0004+00 3/3 0/0 0/0 .sbss SamplingCallback */
|
|
static u8 SamplingCallback[4];
|
|
|
|
/* 8045186C-80451870 000D6C 0004+00 1/1 0/0 0/0 .sbss recalibrated$388 */
|
|
static u8 recalibrated[4];
|
|
|
|
/* 80451870-80451878 000D70 0004+04 2/2 1/1 0/0 .sbss __PADSpec */
|
|
extern u8 __PADSpec[4 + 4 /* padding */];
|
|
u8 __PADSpec[4 + 4 /* padding */];
|
|
|
|
/* 8034ED50-8034EEA0 349690 0150+00 0/0 1/1 0/0 .text PADInit */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm u32 PADInit() {
|
|
nofralloc
|
|
#include "asm/dolphin/pad/Pad/PADInit.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 8034EEA0-8034F1A0 3497E0 0300+00 0/0 1/1 0/0 .text PADRead */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm u32 PADRead(PADStatus*) {
|
|
nofralloc
|
|
#include "asm/dolphin/pad/Pad/PADRead.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 8034F1A0-8034F258 349AE0 00B8+00 0/0 2/2 0/0 .text PADControlMotor */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void PADControlMotor(s32 channel, u32 command) {
|
|
nofralloc
|
|
#include "asm/dolphin/pad/Pad/PADControlMotor.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 8034F258-8034F2B8 349B98 0060+00 1/1 1/1 0/0 .text PADSetSpec */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void PADSetSpec(int spec) {
|
|
nofralloc
|
|
#include "asm/dolphin/pad/Pad/PADSetSpec.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 8034F2B8-8034F42C 349BF8 0174+00 1/1 0/0 0/0 .text SPEC0_MakeStatus */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
static asm void SPEC0_MakeStatus() {
|
|
nofralloc
|
|
#include "asm/dolphin/pad/Pad/SPEC0_MakeStatus.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 8034F42C-8034F5A0 349D6C 0174+00 1/1 0/0 0/0 .text SPEC1_MakeStatus */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
static asm void SPEC1_MakeStatus() {
|
|
nofralloc
|
|
#include "asm/dolphin/pad/Pad/SPEC1_MakeStatus.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 8034F5A0-8034FA10 349EE0 0470+00 2/1 0/0 0/0 .text SPEC2_MakeStatus */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
static asm void SPEC2_MakeStatus() {
|
|
nofralloc
|
|
#include "asm/dolphin/pad/Pad/SPEC2_MakeStatus.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 8034FA10-8034FA84 34A350 0074+00 0/0 2/2 0/0 .text PADSetAnalogMode */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void PADSetAnalogMode(u32 mode) {
|
|
nofralloc
|
|
#include "asm/dolphin/pad/Pad/PADSetAnalogMode.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 8034FA84-8034FB40 34A3C4 00BC+00 1/0 0/0 0/0 .text OnReset */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
static asm void OnReset() {
|
|
nofralloc
|
|
#include "asm/dolphin/pad/Pad/OnReset.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 8034FB40-8034FBA0 34A480 0060+00 1/1 0/0 0/0 .text SamplingHandler */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
static asm void SamplingHandler() {
|
|
nofralloc
|
|
#include "asm/dolphin/pad/Pad/SamplingHandler.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 8034FBA0-8034FBF4 34A4E0 0054+00 1/1 0/0 0/0 .text PADSetSamplingCallback */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
static asm void PADSetSamplingCallback() {
|
|
nofralloc
|
|
#include "asm/dolphin/pad/Pad/PADSetSamplingCallback.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 8034FBF4-8034FC70 34A534 007C+00 0/0 1/1 0/0 .text __PADDisableRecalibration */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void __PADDisableRecalibration() {
|
|
nofralloc
|
|
#include "asm/dolphin/pad/Pad/__PADDisableRecalibration.s"
|
|
}
|
|
#pragma pop
|