// // 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];