Files
dusklight/libs/dolphin/pad/Pad.cpp
T
2021-03-31 23:22:38 +02:00

782 lines
26 KiB
C++

//
// Generated By: dol2asm
// Translation Unit: Pad
//
#include "dol2asm.h"
#include "dolphin/types.h"
#include "dolphin/pad/Pad.h"
//
// Forward References:
//
// True False
extern "C" static void UpdateOrigin();
// True False
extern "C" static void PADOriginCallback();
// True False
extern "C" static void PADOriginUpdateCallback();
// True False
extern "C" static void PADProbeCallback();
// True False
extern "C" static void PADTypeAndStatusCallback();
// True False
extern "C" static void PADReceiveCheckCallback();
// False False
extern "C" void PADReset();
// False False
extern "C" void PADRecalibrate();
// False False
extern "C" void PADInit();
// False False
extern "C" void PADRead();
// False False
extern "C" void PADControlMotor();
// False False
extern "C" void PADSetSpec();
// True False
extern "C" static void SPEC0_MakeStatus();
// True False
extern "C" static void SPEC1_MakeStatus();
// True False
extern "C" static void SPEC2_MakeStatus();
// False False
extern "C" void PADSetAnalogMode();
// True False
extern "C" static void OnReset();
// True False
extern "C" static void SamplingHandler();
// True False
extern "C" static void PADSetSamplingCallback();
// False False
extern "C" void __PADDisableRecalibration();
extern "C" extern u8 CmdProbeDevice[16];
extern "C" extern u8 __PADSpec[4 + 4 /* padding */];
//
// External References:
//
// False False
SECTION_INIT void memset();
// False False
extern "C" void OSRegisterVersion();
// False False
extern "C" void OSSetCurrentContext();
// False False
extern "C" void OSClearContext();
// False False
extern "C" void OSDisableInterrupts();
// False False
extern "C" void OSRestoreInterrupts();
// False False
extern "C" void OSRegisterResetFunction();
// False False
extern "C" void OSSetWirelessID();
// False False
extern "C" void OSGetTime();
// False False
extern "C" void SIBusy();
// False False
extern "C" void SIIsChanBusy();
// False False
extern "C" void SIRegisterPollingHandler();
// False False
extern "C" void SIUnregisterPollingHandler();
// False False
extern "C" void SIGetStatus();
// False False
extern "C" void SISetCommand();
// False False
extern "C" void SITransferCommands();
// False False
extern "C" void SIEnablePolling();
// False False
extern "C" void SIDisablePolling();
// False False
extern "C" void SIGetResponse();
// False False
extern "C" void SITransfer();
// False False
extern "C" void SIGetType();
// False False
extern "C" void SIGetTypeAsync();
// False False
extern "C" void SIRefreshSamplingRate();
// False False
extern "C" void __shr2i();
extern "C" extern u8 __PADFixBits[4 + 4 /* padding */];
//
// Declarations:
//
/* ############################################################################################## */
/* 803D1B48-803D1B90 0045+03 s=1 e=0 z=0 None .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 0010+00 s=3 e=0 z=0 None .bss Type */
static u8 Type[16];
/* 8044CB80-8044CBB0 0030+00 s=8 e=0 z=0 None .bss Origin */
static u8 Origin[48];
/* 80450A20-80450A24 0004+00 s=1 e=0 z=0 None .sdata __PADVersion */
SECTION_SDATA static void* __PADVersion = (void*)&lit_1;
/* 80450A24-80450A28 0004+00 s=7 e=0 z=0 None .sdata ResettingChan */
SECTION_SDATA static u32 ResettingChan = 0x00000020;
/* 80450A28-80450A2C 0004+00 s=1 e=0 z=0 None .sdata XPatchBits */
SECTION_SDATA static u32 XPatchBits = 0xF0000000;
/* 80450A2C-80450A30 0004+00 s=7 e=0 z=0 None .sdata AnalogMode */
SECTION_SDATA static u32 AnalogMode = 0x00000300;
/* 8034E2B4-8034E458 01A4+00 s=2 e=0 z=0 None .text UpdateOrigin */
// 8034E2B8: 8044CB80 (Origin)
// 8034E2C8: 8044CB80 (Origin)
// 8034E2D4: 80450A2C (AnalogMode)
// 8034E40C: 80450A28 (XPatchBits)
// 8034E428: 80345F90 (SIGetType)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// True False
extern "C" asm static void UpdateOrigin() {
nofralloc
#include "asm/dolphin/pad/Pad/UpdateOrigin.s"
}
#pragma pop
/* ############################################################################################## */
/* 80451848-8045184C 0004+00 s=1 e=0 z=0 None .sbss Initialized */
static u8 Initialized[4];
/* 8045184C-80451850 0004+00 s=10 e=0 z=0 None .sbss EnabledBits */
static u8 EnabledBits[4];
/* 80451850-80451854 0004+00 s=7 e=0 z=0 None .sbss ResettingBits */
static u8 ResettingBits[4];
/* 8034E458-8034E51C 00C4+00 s=1 e=0 z=0 None .text PADOriginCallback */
// 8034E470: 80450A24 (ResettingChan)
// 8034E474: 8034E2B4 (UpdateOrigin)
// 8034E478: 80450A24 (ResettingChan)
// 8034E480: 8045184C (EnabledBits)
// 8034E490: 8045184C (EnabledBits)
// 8034E498: 80345A3C (SIGetResponse)
// 8034E49C: 80450A2C (AnalogMode)
// 8034E4A8: 803457D0 (SISetCommand)
// 8034E4AC: 8045184C (EnabledBits)
// 8034E4B0: 80345860 (SIEnablePolling)
// 8034E4B4: 80451850 (ResettingBits)
// 8034E4BC: 80450A24 (ResettingChan)
// 8034E4C0: 80450A24 (ResettingChan)
// 8034E4DC: 80451850 (ResettingBits)
// 8034E4E0: 8044CB80 (Origin)
// 8034E4E4: 8044CB80 (Origin)
// 8034E4F4: 80003458 (memset)
// 8034E4F8: 8034E6C0 (PADTypeAndStatusCallback)
// 8034E4FC: 80450A24 (ResettingChan)
// 8034E500: 8034E6C0 (PADTypeAndStatusCallback)
// 8034E504: 80346154 (SIGetTypeAsync)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// True False
extern "C" asm static void PADOriginCallback() {
nofralloc
#include "asm/dolphin/pad/Pad/PADOriginCallback.s"
}
#pragma pop
/* ############################################################################################## */
/* 80451854-80451858 0004+00 s=4 e=0 z=0 None .sbss RecalibrateBits */
static u8 RecalibrateBits[4];
/* 80451858-8045185C 0004+00 s=7 e=0 z=0 None .sbss WaitingBits */
static u8 WaitingBits[4];
/* 8045185C-80451860 0004+00 s=6 e=0 z=0 None .sbss CheckingBits */
static u8 CheckingBits[4];
/* 80451860-80451864 0004+00 s=6 e=0 z=0 None .sbss PendingBits */
static u8 PendingBits[4];
/* 80451864-80451868 0004+00 s=6 e=0 z=0 None .sbss BarrelBits */
static u8 BarrelBits[4];
/* 8034E51C-8034E5E8 00CC+00 s=2 e=0 z=0 None .text PADOriginUpdateCallback */
// 8034E544: 8045184C (EnabledBits)
// 8034E55C: 8034E2B4 (UpdateOrigin)
// 8034E568: 8033D6F4 (OSDisableInterrupts)
// 8034E574: 803458FC (SIDisablePolling)
// 8034E578: 8045184C (EnabledBits)
// 8034E580: 80451858 (WaitingBits)
// 8034E588: 8045185C (CheckingBits)
// 8034E58C: 80451860 (PendingBits)
// 8034E594: 80451864 (BarrelBits)
// 8034E5A4: 8045184C (EnabledBits)
// 8034E5AC: 80451858 (WaitingBits)
// 8034E5B4: 8045185C (CheckingBits)
// 8034E5B8: 80451860 (PendingBits)
// 8034E5BC: 80451864 (BarrelBits)
// 8034E5C0: 8034084C (OSSetWirelessID)
// 8034E5C8: 8033D71C (OSRestoreInterrupts)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// True False
extern "C" asm static void PADOriginUpdateCallback() {
nofralloc
#include "asm/dolphin/pad/Pad/PADOriginUpdateCallback.s"
}
#pragma pop
/* 8034E5E8-8034E6C0 00D8+00 s=1 e=0 z=0 None .text PADProbeCallback */
// 8034E604: 80450A24 (ResettingChan)
// 8034E60C: 8045184C (EnabledBits)
// 8034E61C: 8045184C (EnabledBits)
// 8034E624: 80345A3C (SIGetResponse)
// 8034E628: 80450A2C (AnalogMode)
// 8034E634: 803457D0 (SISetCommand)
// 8034E638: 8045184C (EnabledBits)
// 8034E63C: 80345860 (SIEnablePolling)
// 8034E640: 80450A24 (ResettingChan)
// 8034E644: 80451858 (WaitingBits)
// 8034E650: 80451858 (WaitingBits)
// 8034E654: 80451850 (ResettingBits)
// 8034E65C: 80450A24 (ResettingChan)
// 8034E660: 80450A24 (ResettingChan)
// 8034E67C: 80451850 (ResettingBits)
// 8034E680: 8044CB80 (Origin)
// 8034E684: 8044CB80 (Origin)
// 8034E694: 80003458 (memset)
// 8034E698: 8034E6C0 (PADTypeAndStatusCallback)
// 8034E69C: 80450A24 (ResettingChan)
// 8034E6A0: 8034E6C0 (PADTypeAndStatusCallback)
// 8034E6A4: 80346154 (SIGetTypeAsync)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// True False
extern "C" asm static void PADProbeCallback() {
nofralloc
#include "asm/dolphin/pad/Pad/PADProbeCallback.s"
}
#pragma pop
/* ############################################################################################## */
/* 80450A30-80450A34 0004+00 s=4 e=0 z=0 None .sdata Spec */
SECTION_SDATA static u32 Spec = 0x00000005;
/* 80450A34-80450A38 0004+00 s=2 e=0 z=0 None .sdata MakeStatus */
SECTION_SDATA static void* MakeStatus = (void*)SPEC2_MakeStatus;
/* 80450A38-80450A3C 0004+00 s=3 e=0 z=0 None .sdata CmdReadOrigin */
SECTION_SDATA static u32 CmdReadOrigin = 0x41000000;
/* 80450A3C-80450A40 0004+00 s=1 e=0 z=0 None .sdata CmdCalibrate */
SECTION_SDATA static u32 CmdCalibrate = 0x42000000;
/* 8034E6C0-8034E9EC 032C+00 s=4 e=0 z=0 None .text PADTypeAndStatusCallback */
// 8034E6C4: 8044CB70 (Type)
// 8034E6E0: 8044CB70 (Type)
// 8034E6EC: 80450A24 (ResettingChan)
// 8034E6F0: 80451854 (RecalibrateBits)
// 8034E6FC: 80451854 (RecalibrateBits)
// 8034E70C: 80451850 (ResettingBits)
// 8034E714: 80450A24 (ResettingChan)
// 8034E718: 80450A24 (ResettingChan)
// 8034E734: 80451850 (ResettingBits)
// 8034E744: 80003458 (memset)
// 8034E74C: 80450A24 (ResettingChan)
// 8034E754: 80346154 (SIGetTypeAsync)
// 8034E780: 80451850 (ResettingBits)
// 8034E788: 80450A24 (ResettingChan)
// 8034E78C: 80450A24 (ResettingChan)
// 8034E7AC: 80451850 (ResettingBits)
// 8034E7BC: 80003458 (memset)
// 8034E7C4: 80450A24 (ResettingChan)
// 8034E7CC: 80346154 (SIGetTypeAsync)
// 8034E7D4: 80450A30 (Spec)
// 8034E7E0: 8045184C (EnabledBits)
// 8034E7F0: 8045184C (EnabledBits)
// 8034E7F4: 80345A3C (SIGetResponse)
// 8034E7F8: 80450A2C (AnalogMode)
// 8034E804: 803457D0 (SISetCommand)
// 8034E808: 8045184C (EnabledBits)
// 8034E80C: 80345860 (SIEnablePolling)
// 8034E810: 80451850 (ResettingBits)
// 8034E818: 80450A24 (ResettingChan)
// 8034E81C: 80450A24 (ResettingChan)
// 8034E838: 80451850 (ResettingBits)
// 8034E848: 80003458 (memset)
// 8034E850: 80450A24 (ResettingChan)
// 8034E858: 80346154 (SIGetTypeAsync)
// 8034E87C: 8034E458 (PADOriginCallback)
// 8034E884: 8034E458 (PADOriginCallback)
// 8034E88C: 80450A3C (CmdCalibrate)
// 8034E8A4: 80345B8C (SITransfer)
// 8034E8B0: 8034E458 (PADOriginCallback)
// 8034E8B8: 8034E458 (PADOriginCallback)
// 8034E8C0: 80450A38 (CmdReadOrigin)
// 8034E8D8: 80345B8C (SITransfer)
// 8034E904: 8034E458 (PADOriginCallback)
// 8034E90C: 8034E458 (PADOriginCallback)
// 8034E914: 80450A38 (CmdReadOrigin)
// 8034E92C: 80345B8C (SITransfer)
// 8034E938: 8034E5E8 (PADProbeCallback)
// 8034E944: 8034E5E8 (PADProbeCallback)
// 8034E964: 80345B8C (SITransfer)
// 8034E970: 80451850 (ResettingBits)
// 8034E974: 80451860 (PendingBits)
// 8034E97C: 80450A24 (ResettingChan)
// 8034E984: 80450A24 (ResettingChan)
// 8034E988: 80451860 (PendingBits)
// 8034E9A8: 80451850 (ResettingBits)
// 8034E9B8: 80003458 (memset)
// 8034E9C0: 80450A24 (ResettingChan)
// 8034E9C8: 80346154 (SIGetTypeAsync)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// True False
extern "C" asm static void PADTypeAndStatusCallback() {
nofralloc
#include "asm/dolphin/pad/Pad/PADTypeAndStatusCallback.s"
}
#pragma pop
/* 8034E9EC-8034EB2C 0140+00 s=1 e=0 z=0 None .text PADReceiveCheckCallback */
// 8034EA10: 8045184C (EnabledBits)
// 8034EA1C: 80451858 (WaitingBits)
// 8034EA24: 8045185C (CheckingBits)
// 8034EA34: 80451858 (WaitingBits)
// 8034EA38: 8045185C (CheckingBits)
// 8034EA78: 8044CB80 (Origin)
// 8034EA7C: 8044CB80 (Origin)
// 8034EA80: 8034E51C (PADOriginUpdateCallback)
// 8034EA88: 8034E51C (PADOriginUpdateCallback)
// 8034EA90: 80450A38 (CmdReadOrigin)
// 8034EAA4: 80345B8C (SITransfer)
// 8034EAAC: 8033D6F4 (OSDisableInterrupts)
// 8034EAB8: 803458FC (SIDisablePolling)
// 8034EABC: 8045184C (EnabledBits)
// 8034EAC4: 80451858 (WaitingBits)
// 8034EACC: 8045185C (CheckingBits)
// 8034EAD0: 80451860 (PendingBits)
// 8034EAD8: 80451864 (BarrelBits)
// 8034EAE8: 8045184C (EnabledBits)
// 8034EAF0: 80451858 (WaitingBits)
// 8034EAF8: 8045185C (CheckingBits)
// 8034EAFC: 80451860 (PendingBits)
// 8034EB00: 80451864 (BarrelBits)
// 8034EB04: 8034084C (OSSetWirelessID)
// 8034EB0C: 8033D71C (OSRestoreInterrupts)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// True False
extern "C" asm static void PADReceiveCheckCallback() {
nofralloc
#include "asm/dolphin/pad/Pad/PADReceiveCheckCallback.s"
}
#pragma pop
/* 8034EB2C-8034EC3C 0110+00 s=2 e=1 z=0 None .text PADReset */
// 8034EB44: 8033D6F4 (OSDisableInterrupts)
// 8034EB48: 80451860 (PendingBits)
// 8034EB50: 80451858 (WaitingBits)
// 8034EB58: 8045185C (CheckingBits)
// 8034EB60: 80451850 (ResettingBits)
// 8034EB68: 80450A30 (Spec)
// 8034EB70: 8045184C (EnabledBits)
// 8034EB78: 80451864 (BarrelBits)
// 8034EB80: 80451850 (ResettingBits)
// 8034EB8C: 80451850 (ResettingBits)
// 8034EB94: 80451860 (PendingBits)
// 8034EB9C: 8045184C (EnabledBits)
// 8034EBA0: 80451864 (BarrelBits)
// 8034EBA8: 80451854 (RecalibrateBits)
// 8034EBB0: 80451854 (RecalibrateBits)
// 8034EBB4: 803458FC (SIDisablePolling)
// 8034EBB8: 80450A24 (ResettingChan)
// 8034EBC4: 80451850 (ResettingBits)
// 8034EBCC: 80450A24 (ResettingChan)
// 8034EBD0: 80450A24 (ResettingChan)
// 8034EBEC: 80451850 (ResettingBits)
// 8034EBF0: 8044CB80 (Origin)
// 8034EBF4: 8044CB80 (Origin)
// 8034EC04: 80003458 (memset)
// 8034EC08: 8034E6C0 (PADTypeAndStatusCallback)
// 8034EC0C: 80450A24 (ResettingChan)
// 8034EC10: 8034E6C0 (PADTypeAndStatusCallback)
// 8034EC14: 80346154 (SIGetTypeAsync)
// 8034EC1C: 8033D71C (OSRestoreInterrupts)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// False False
extern "C" asm void PADReset() {
nofralloc
#include "asm/dolphin/pad/Pad/PADReset.s"
}
#pragma pop
/* 8034EC3C-8034ED50 0114+00 s=1 e=1 z=0 None .text PADRecalibrate */
// 8034EC54: 8033D6F4 (OSDisableInterrupts)
// 8034EC58: 80451860 (PendingBits)
// 8034EC60: 80451858 (WaitingBits)
// 8034EC68: 8045185C (CheckingBits)
// 8034EC70: 80451850 (ResettingBits)
// 8034EC80: 8045184C (EnabledBits)
// 8034EC88: 80451864 (BarrelBits)
// 8034EC8C: 80451850 (ResettingBits)
// 8034EC9C: 80451850 (ResettingBits)
// 8034ECA4: 80451860 (PendingBits)
// 8034ECAC: 8045184C (EnabledBits)
// 8034ECB4: 80451864 (BarrelBits)
// 8034ECBC: 80451854 (RecalibrateBits)
// 8034ECC4: 80451854 (RecalibrateBits)
// 8034ECC8: 803458FC (SIDisablePolling)
// 8034ECCC: 80450A24 (ResettingChan)
// 8034ECD8: 80451850 (ResettingBits)
// 8034ECE0: 80450A24 (ResettingChan)
// 8034ECE4: 80450A24 (ResettingChan)
// 8034ED00: 80451850 (ResettingBits)
// 8034ED04: 8044CB80 (Origin)
// 8034ED08: 8044CB80 (Origin)
// 8034ED18: 80003458 (memset)
// 8034ED1C: 8034E6C0 (PADTypeAndStatusCallback)
// 8034ED20: 80450A24 (ResettingChan)
// 8034ED24: 8034E6C0 (PADTypeAndStatusCallback)
// 8034ED28: 80346154 (SIGetTypeAsync)
// 8034ED30: 8033D71C (OSRestoreInterrupts)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// False False
extern "C" asm void PADRecalibrate() {
nofralloc
#include "asm/dolphin/pad/Pad/PADRecalibrate.s"
}
#pragma pop
/* ############################################################################################## */
/* 803D1B90-803D1BA0 0010+00 s=1 e=0 z=0 None .data ResetFunctionInfo */
SECTION_DATA static void* ResetFunctionInfo[4] = {
(void*)OnReset,
(void*)0x0000007F,
(void*)NULL,
(void*)NULL,
};
/* 80451868-8045186C 0004+00 s=3 e=0 z=0 None .sbss SamplingCallback */
static u8 SamplingCallback[4];
/* 8045186C-80451870 0004+00 s=1 e=0 z=0 None .sbss recalibrated$388 */
static u8 recalibrated[4];
/* 80451870-80451878 0004+04 s=2 e=1 z=0 None .sbss __PADSpec */
u8 __PADSpec[4 + 4 /* padding */];
/* 8034ED50-8034EEA0 0150+00 s=0 e=1 z=0 None .text PADInit */
// 8034ED54: 8044CB70 (Type)
// 8034ED64: 8044CB70 (Type)
// 8034ED68: 80451848 (Initialized)
// 8034ED7C: 80450A20 (__PADVersion)
// 8034ED80: 8033A874 (OSRegisterVersion)
// 8034ED84: 80451870 (__PADSpec)
// 8034ED90: 8034F258 (PADSetSpec)
// 8034ED94: 804516F8 (__PADFixBits)
// 8034ED9C: 80451848 (Initialized)
// 8034EDA8: 803426FC (OSGetTime)
// 8034EDB8: 80362694 (__shr2i)
// 8034EDEC: 80362694 (__shr2i)
// 8034EE0C: 80362694 (__shr2i)
// 8034EE20: 80451854 (RecalibrateBits)
// 8034EE74: 80346374 (SIRefreshSamplingRate)
// 8034EE78: 803D1B90 (ResetFunctionInfo)
// 8034EE7C: 803D1B90 (ResetFunctionInfo)
// 8034EE80: 8033F660 (OSRegisterResetFunction)
// 8034EE88: 8034EB2C (PADReset)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// False False
extern "C" asm void PADInit() {
nofralloc
#include "asm/dolphin/pad/Pad/PADInit.s"
}
#pragma pop
/* 8034EEA0-8034F1A0 0300+00 s=0 e=1 z=0 None .text PADRead */
// 8034EEB4: 8033D6F4 (OSDisableInterrupts)
// 8034EEC0: 8044CB80 (Origin)
// 8034EEC4: 8044CB80 (Origin)
// 8034EECC: 8034E51C (PADOriginUpdateCallback)
// 8034EED0: 8034E9EC (PADReceiveCheckCallback)
// 8034EED8: 8034E51C (PADOriginUpdateCallback)
// 8034EEDC: 8034E9EC (PADReceiveCheckCallback)
// 8034EEE8: 80451860 (PendingBits)
// 8034EEFC: 8034EB2C (PADReset)
// 8034EF14: 80003458 (memset)
// 8034EF1C: 80451850 (ResettingBits)
// 8034EF28: 80450A24 (ResettingChan)
// 8034EF48: 80003458 (memset)
// 8034EF50: 8045184C (EnabledBits)
// 8034EF70: 80003458 (memset)
// 8034EF7C: 80344BC0 (SIIsChanBusy)
// 8034EF9C: 80003458 (memset)
// 8034EFA8: 80345754 (SIGetStatus)
// 8034EFBC: 80345A3C (SIGetResponse)
// 8034EFC0: 80451858 (WaitingBits)
// 8034EFE0: 80003458 (memset)
// 8034EFE4: 8045185C (CheckingBits)
// 8034EFF4: 8045185C (CheckingBits)
// 8034F000: 80346154 (SIGetTypeAsync)
// 8034F008: 8033D6F4 (OSDisableInterrupts)
// 8034F014: 803458FC (SIDisablePolling)
// 8034F018: 8045184C (EnabledBits)
// 8034F020: 80451858 (WaitingBits)
// 8034F028: 8045185C (CheckingBits)
// 8034F02C: 80451860 (PendingBits)
// 8034F034: 80451864 (BarrelBits)
// 8034F044: 8045184C (EnabledBits)
// 8034F04C: 80451858 (WaitingBits)
// 8034F054: 8045185C (CheckingBits)
// 8034F058: 80451860 (PendingBits)
// 8034F05C: 80451864 (BarrelBits)
// 8034F060: 8034084C (OSSetWirelessID)
// 8034F068: 8033D71C (OSRestoreInterrupts)
// 8034F080: 80003458 (memset)
// 8034F08C: 80345F90 (SIGetType)
// 8034F0A4: 80345A3C (SIGetResponse)
// 8034F0C4: 80003458 (memset)
// 8034F0EC: 80003458 (memset)
// 8034F0F4: 80450A34 (MakeStatus)
// 8034F12C: 80003458 (memset)
// 8034F13C: 80450A38 (CmdReadOrigin)
// 8034F150: 80345B8C (SITransfer)
// 8034F184: 8033D71C (OSRestoreInterrupts)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// False False
extern "C" asm void PADRead() {
nofralloc
#include "asm/dolphin/pad/Pad/PADRead.s"
}
#pragma pop
/* 8034F1A0-8034F258 00B8+00 s=0 e=2 z=0 None .text PADControlMotor */
// 8034F1C0: 8033D6F4 (OSDisableInterrupts)
// 8034F1C8: 8045184C (EnabledBits)
// 8034F1E0: 80345F90 (SIGetType)
// 8034F1EC: 80450A30 (Spec)
// 8034F218: 80450A2C (AnalogMode)
// 8034F22C: 803457D0 (SISetCommand)
// 8034F230: 803457E4 (SITransferCommands)
// 8034F238: 8033D71C (OSRestoreInterrupts)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// False False
extern "C" asm void PADControlMotor() {
nofralloc
#include "asm/dolphin/pad/Pad/PADControlMotor.s"
}
#pragma pop
/* 8034F258-8034F2B8 0060+00 s=1 e=1 z=0 None .text PADSetSpec */
// 8034F260: 80451870 (__PADSpec)
// 8034F284: 8034F2B8 (SPEC0_MakeStatus)
// 8034F288: 8034F2B8 (SPEC0_MakeStatus)
// 8034F28C: 80450A34 (MakeStatus)
// 8034F294: 8034F42C (SPEC1_MakeStatus)
// 8034F298: 8034F42C (SPEC1_MakeStatus)
// 8034F29C: 80450A34 (MakeStatus)
// 8034F2A4: 8034F5A0 (SPEC2_MakeStatus)
// 8034F2A8: 8034F5A0 (SPEC2_MakeStatus)
// 8034F2AC: 80450A34 (MakeStatus)
// 8034F2B0: 80450A30 (Spec)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// False False
extern "C" asm void PADSetSpec() {
nofralloc
#include "asm/dolphin/pad/Pad/PADSetSpec.s"
}
#pragma pop
/* 8034F2B8-8034F42C 0174+00 s=1 e=0 z=0 None .text SPEC0_MakeStatus */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// True False
extern "C" asm static void SPEC0_MakeStatus() {
nofralloc
#include "asm/dolphin/pad/Pad/SPEC0_MakeStatus.s"
}
#pragma pop
/* 8034F42C-8034F5A0 0174+00 s=1 e=0 z=0 None .text SPEC1_MakeStatus */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// True False
extern "C" asm static void SPEC1_MakeStatus() {
nofralloc
#include "asm/dolphin/pad/Pad/SPEC1_MakeStatus.s"
}
#pragma pop
/* 8034F5A0-8034FA10 0470+00 s=2 e=0 z=0 None .text SPEC2_MakeStatus */
// 8034F5C8: 80450A2C (AnalogMode)
// 8034F7B0: 8044CB70 (Type)
// 8034F7C0: 8044CB70 (Type)
// 8034F818: 80451864 (BarrelBits)
// 8034F824: 80451864 (BarrelBits)
// 8034F844: 80451864 (BarrelBits)
// 8034F850: 80451864 (BarrelBits)
// 8034F854: 8044CB80 (Origin)
// 8034F860: 8044CB80 (Origin)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// True False
extern "C" asm static void SPEC2_MakeStatus() {
nofralloc
#include "asm/dolphin/pad/Pad/SPEC2_MakeStatus.s"
}
#pragma pop
/* 8034FA10-8034FA84 0074+00 s=0 e=2 z=0 None .text PADSetAnalogMode */
// 8034FA24: 8033D6F4 (OSDisableInterrupts)
// 8034FA28: 8045184C (EnabledBits)
// 8034FA30: 80451858 (WaitingBits)
// 8034FA40: 8045185C (CheckingBits)
// 8034FA48: 80450A2C (AnalogMode)
// 8034FA54: 8045184C (EnabledBits)
// 8034FA5C: 80451858 (WaitingBits)
// 8034FA60: 8045185C (CheckingBits)
// 8034FA64: 803458FC (SIDisablePolling)
// 8034FA6C: 8033D71C (OSRestoreInterrupts)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// False False
extern "C" asm void PADSetAnalogMode() {
nofralloc
#include "asm/dolphin/pad/Pad/PADSetAnalogMode.s"
}
#pragma pop
/* 8034FA84-8034FB40 00BC+00 s=1 e=0 z=0 None .text OnReset */
// 8034FA98: 80451868 (SamplingCallback)
// 8034FAA8: 8034FBA0 (PADSetSamplingCallback)
// 8034FAB4: 80451850 (ResettingBits)
// 8034FAC8: 80450A24 (ResettingChan)
// 8034FAE0: 80344BA0 (SIBusy)
// 8034FAF0: 8045186C (recalibrated)
// 8034FB08: 8034EC3C (PADRecalibrate)
// 8034FB0C: 8045186C (recalibrated)
// 8034FB24: 8045186C (recalibrated)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// True False
extern "C" asm static void OnReset() {
nofralloc
#include "asm/dolphin/pad/Pad/OnReset.s"
}
#pragma pop
/* 8034FB40-8034FBA0 0060+00 s=1 e=0 z=0 None .text SamplingHandler */
// 8034FB54: 80451868 (SamplingCallback)
// 8034FB64: 8033C000 (OSClearContext)
// 8034FB6C: 8033BE38 (OSSetCurrentContext)
// 8034FB70: 80451868 (SamplingCallback)
// 8034FB80: 8033C000 (OSClearContext)
// 8034FB88: 8033BE38 (OSSetCurrentContext)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// True False
extern "C" asm static void SamplingHandler() {
nofralloc
#include "asm/dolphin/pad/Pad/SamplingHandler.s"
}
#pragma pop
/* 8034FBA0-8034FBF4 0054+00 s=1 e=0 z=0 None .text PADSetSamplingCallback */
// 8034FBB4: 80451868 (SamplingCallback)
// 8034FBB8: 80451868 (SamplingCallback)
// 8034FBC0: 8034FB40 (SamplingHandler)
// 8034FBC4: 8034FB40 (SamplingHandler)
// 8034FBC8: 803452D4 (SIRegisterPollingHandler)
// 8034FBD0: 8034FB40 (SamplingHandler)
// 8034FBD4: 8034FB40 (SamplingHandler)
// 8034FBD8: 803453A0 (SIUnregisterPollingHandler)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// True False
extern "C" asm static void PADSetSamplingCallback() {
nofralloc
#include "asm/dolphin/pad/Pad/PADSetSamplingCallback.s"
}
#pragma pop
/* 8034FBF4-8034FC70 007C+00 s=0 e=1 z=0 None .text __PADDisableRecalibration */
// 8034FC0C: 8033D6F4 (OSDisableInterrupts)
// 8034FC50: 8033D71C (OSRestoreInterrupts)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// False False
extern "C" asm void __PADDisableRecalibration() {
nofralloc
#include "asm/dolphin/pad/Pad/__PADDisableRecalibration.s"
}
#pragma pop
/* ############################################################################################## */
/* 8044CBB0-8044CBC0 0010+00 s=0 e=0 z=0 None .bss CmdProbeDevice */
u8 CmdProbeDevice[16];