mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-05-31 08:51:29 -04:00
782 lines
26 KiB
C++
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];
|
|
|