services: Update some function tables

This commit is contained in:
Lioncash 2015-12-30 09:30:57 -05:00
parent 4bc961d5fd
commit 744f4af3ab
25 changed files with 369 additions and 113 deletions

View file

@ -10,14 +10,15 @@
namespace ACT_U { namespace ACT_U {
// Empty arrays are illegal -- commented out until an entry is added. const Interface::FunctionInfo FunctionTable[] = {
//const Interface::FunctionInfo FunctionTable[] = { }; {0x000600C2, nullptr, "GetAccountDataBlock"},
};
//////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////
// Interface class // Interface class
Interface::Interface() { Interface::Interface() {
//Register(FunctionTable); Register(FunctionTable);
} }
} // namespace } // namespace

View file

@ -10,6 +10,36 @@ namespace Service {
namespace AM { namespace AM {
const Interface::FunctionInfo FunctionTable[] = { const Interface::FunctionInfo FunctionTable[] = {
{0x00010040, TitleIDListGetTotal, "TitleIDListGetTotal"},
{0x00020082, GetTitleIDList, "GetTitleIDList"},
{0x00030084, nullptr, "ListTitles"},
{0x000400C0, nullptr, "DeleteApplicationTitle"},
{0x000500C0, nullptr, "GetTitleProductCode"},
{0x00080000, nullptr, "TitleIDListGetTotal3"},
{0x00090082, nullptr, "GetTitleIDList3"},
{0x000A0000, nullptr, "GetDeviceID"},
{0x000D0084, nullptr, "ListTitles2"},
{0x00140040, nullptr, "FinishInstallToMedia"},
{0x00180080, nullptr, "InitializeTitleDatabase"},
{0x00190040, nullptr, "ReloadDBS"},
{0x001A00C0, nullptr, "GetDSiWareExportSize"},
{0x001B0144, nullptr, "ExportDSiWare"},
{0x001C0084, nullptr, "ImportDSiWare"},
{0x00230080, nullptr, "TitleIDListGetTotal2"},
{0x002400C2, nullptr, "GetTitleIDList2"},
{0x04010080, nullptr, "InstallFIRM"},
{0x04020040, nullptr, "StartInstallCIADB0"},
{0x04030000, nullptr, "StartInstallCIADB1"},
{0x04040002, nullptr, "AbortCIAInstall"},
{0x04050002, nullptr, "CloseCIAFinalizeInstall"},
{0x04060002, nullptr, "CloseCIA"},
{0x040700C2, nullptr, "FinalizeTitlesInstall"},
{0x04080042, nullptr, "GetCiaFileInfo"},
{0x040E00C2, nullptr, "InstallTitlesFinish"},
{0x040F0000, nullptr, "InstallNATIVEFIRM"},
{0x041000C0, nullptr, "DeleteTitle"},
{0x04120000, nullptr, "Initialize"},
{0x041700C0, nullptr, "MigrateAGBtoSAV"},
{0x08010000, nullptr, "OpenTicket"}, {0x08010000, nullptr, "OpenTicket"},
{0x08020002, nullptr, "TicketAbortInstall"}, {0x08020002, nullptr, "TicketAbortInstall"},
{0x08030002, nullptr, "TicketFinalizeInstall"}, {0x08030002, nullptr, "TicketFinalizeInstall"},

View file

@ -12,6 +12,21 @@ namespace AM {
const Interface::FunctionInfo FunctionTable[] = { const Interface::FunctionInfo FunctionTable[] = {
{0x00010040, TitleIDListGetTotal, "TitleIDListGetTotal"}, {0x00010040, TitleIDListGetTotal, "TitleIDListGetTotal"},
{0x00020082, GetTitleIDList, "GetTitleIDList"}, {0x00020082, GetTitleIDList, "GetTitleIDList"},
{0x00030084, nullptr, "ListTitles"},
{0x000400C0, nullptr, "DeleteApplicationTitle"},
{0x000500C0, nullptr, "GetTitleProductCode"},
{0x00080000, nullptr, "TitleIDListGetTotal3"},
{0x00090082, nullptr, "GetTitleIDList3"},
{0x000A0000, nullptr, "GetDeviceID"},
{0x000D0084, nullptr, "ListTitles2"},
{0x00140040, nullptr, "FinishInstallToMedia"},
{0x00180080, nullptr, "InitializeTitleDatabase"},
{0x00190040, nullptr, "ReloadDBS"},
{0x001A00C0, nullptr, "GetDSiWareExportSize"},
{0x001B0144, nullptr, "ExportDSiWare"},
{0x001C0084, nullptr, "ImportDSiWare"},
{0x00230080, nullptr, "TitleIDListGetTotal2"},
{0x002400C2, nullptr, "GetTitleIDList2"}
}; };
AM_SYS_Interface::AM_SYS_Interface() { AM_SYS_Interface::AM_SYS_Interface() {

View file

@ -12,6 +12,34 @@ namespace AM {
const Interface::FunctionInfo FunctionTable[] = { const Interface::FunctionInfo FunctionTable[] = {
{0x00010040, TitleIDListGetTotal, "TitleIDListGetTotal"}, {0x00010040, TitleIDListGetTotal, "TitleIDListGetTotal"},
{0x00020082, GetTitleIDList, "GetTitleIDList"}, {0x00020082, GetTitleIDList, "GetTitleIDList"},
{0x00030084, nullptr, "ListTitles"},
{0x000400C0, nullptr, "DeleteApplicationTitle"},
{0x000500C0, nullptr, "GetTitleProductCode"},
{0x00080000, nullptr, "TitleIDListGetTotal3"},
{0x00090082, nullptr, "GetTitleIDList3"},
{0x000A0000, nullptr, "GetDeviceID"},
{0x000D0084, nullptr, "ListTitles2"},
{0x00140040, nullptr, "FinishInstallToMedia"},
{0x00180080, nullptr, "InitializeTitleDatabase"},
{0x00190040, nullptr, "ReloadDBS"},
{0x001A00C0, nullptr, "GetDSiWareExportSize"},
{0x001B0144, nullptr, "ExportDSiWare"},
{0x001C0084, nullptr, "ImportDSiWare"},
{0x00230080, nullptr, "TitleIDListGetTotal2"},
{0x002400C2, nullptr, "GetTitleIDList2"},
{0x04010080, nullptr, "InstallFIRM"},
{0x04020040, nullptr, "StartInstallCIADB0"},
{0x04030000, nullptr, "StartInstallCIADB1"},
{0x04040002, nullptr, "AbortCIAInstall"},
{0x04050002, nullptr, "CloseCIAFinalizeInstall"},
{0x04060002, nullptr, "CloseCIA"},
{0x040700C2, nullptr, "FinalizeTitlesInstall"},
{0x04080042, nullptr, "GetCiaFileInfo"},
{0x040E00C2, nullptr, "InstallTitlesFinish"},
{0x040F0000, nullptr, "InstallNATIVEFIRM"},
{0x041000C0, nullptr, "DeleteTitle"},
{0x04120000, nullptr, "Initialize"},
{0x041700C0, nullptr, "MigrateAGBtoSAV"}
}; };
AM_U_Interface::AM_U_Interface() { AM_U_Interface::AM_U_Interface() {

View file

@ -91,6 +91,12 @@ const Interface::FunctionInfo FunctionTable[] = {
{0x004E0000, nullptr, "HardwareResetAsync"}, {0x004E0000, nullptr, "HardwareResetAsync"},
{0x004F0080, nullptr, "SetApplicationCpuTimeLimit"}, {0x004F0080, nullptr, "SetApplicationCpuTimeLimit"},
{0x00500040, nullptr, "GetApplicationCpuTimeLimit"}, {0x00500040, nullptr, "GetApplicationCpuTimeLimit"},
{0x00510080, nullptr, "GetStartupArgument"},
{0x00520104, nullptr, "Wrap1"},
{0x00530104, nullptr, "Unwrap1"},
{0x00580002, nullptr, "GetProgramID"},
{0x01010000, nullptr, "CheckNew3DSApp"},
{0x01020000, nullptr, "CheckNew3DS"}
}; };
APT_S_Interface::APT_S_Interface() { APT_S_Interface::APT_S_Interface() {

View file

@ -92,6 +92,12 @@ const Interface::FunctionInfo FunctionTable[] = {
{0x004E0000, nullptr, "HardwareResetAsync"}, {0x004E0000, nullptr, "HardwareResetAsync"},
{0x004F0080, SetAppCpuTimeLimit, "SetAppCpuTimeLimit"}, {0x004F0080, SetAppCpuTimeLimit, "SetAppCpuTimeLimit"},
{0x00500040, GetAppCpuTimeLimit, "GetAppCpuTimeLimit"}, {0x00500040, GetAppCpuTimeLimit, "GetAppCpuTimeLimit"},
{0x00510080, nullptr, "GetStartupArgument"},
{0x00520104, nullptr, "Wrap1"},
{0x00530104, nullptr, "Unwrap1"},
{0x00580002, nullptr, "GetProgramID"},
{0x01010000, nullptr, "CheckNew3DSApp"},
{0x01020000, nullptr, "CheckNew3DS"}
}; };
APT_U_Interface::APT_U_Interface() { APT_U_Interface::APT_U_Interface() {

View file

@ -11,6 +11,9 @@ namespace BOSS {
const Interface::FunctionInfo FunctionTable[] = { const Interface::FunctionInfo FunctionTable[] = {
{0x00020100, nullptr, "GetStorageInfo"}, {0x00020100, nullptr, "GetStorageInfo"},
{0x000C0082, nullptr, "UnregisterTask"},
{0x001E0042, nullptr, "CancelTask"},
{0x00330042, nullptr, "StartBgImmediate"},
}; };
BOSS_U_Interface::BOSS_U_Interface() { BOSS_U_Interface::BOSS_U_Interface() {

View file

@ -54,12 +54,17 @@ const Interface::FunctionInfo FunctionTable[] = {
{0x002A0080, nullptr, "GetLatestVsyncTiming"}, {0x002A0080, nullptr, "GetLatestVsyncTiming"},
{0x002B0000, nullptr, "GetStereoCameraCalibrationData"}, {0x002B0000, nullptr, "GetStereoCameraCalibrationData"},
{0x002C0400, nullptr, "SetStereoCameraCalibrationData"}, {0x002C0400, nullptr, "SetStereoCameraCalibrationData"},
{0x002D00C0, nullptr, "WriteRegisterI2c"},
{0x002E00C0, nullptr, "WriteMcuVariableI2c"},
{0x002F0080, nullptr, "ReadRegisterI2cExclusive"},
{0x00300080, nullptr, "ReadMcuVariableI2cExclusive"},
{0x00310180, nullptr, "SetImageQualityCalibrationData"}, {0x00310180, nullptr, "SetImageQualityCalibrationData"},
{0x00320000, nullptr, "GetImageQualityCalibrationData"}, {0x00320000, nullptr, "GetImageQualityCalibrationData"},
{0x003302C0, nullptr, "SetPackageParameterWithoutContext"}, {0x003302C0, nullptr, "SetPackageParameterWithoutContext"},
{0x00340140, nullptr, "SetPackageParameterWithContext"}, {0x00340140, nullptr, "SetPackageParameterWithContext"},
{0x003501C0, nullptr, "SetPackageParameterWithContextDetail"}, {0x003501C0, nullptr, "SetPackageParameterWithContextDetail"},
{0x00360000, nullptr, "GetSuitableY2rStandardCoefficient"}, {0x00360000, nullptr, "GetSuitableY2rStandardCoefficient"},
{0x00370202, nullptr, "PlayShutterSoundWithWave"},
{0x00380040, nullptr, "PlayShutterSound"}, {0x00380040, nullptr, "PlayShutterSound"},
{0x00390000, nullptr, "DriverInitialize"}, {0x00390000, nullptr, "DriverInitialize"},
{0x003A0000, nullptr, "DriverFinalize"}, {0x003A0000, nullptr, "DriverFinalize"},

View file

@ -22,9 +22,10 @@ const Interface::FunctionInfo FunctionTable[] = {
{0x00060000, nullptr, "ReleaseSoundChannels"}, {0x00060000, nullptr, "ReleaseSoundChannels"},
{0x00070000, nullptr, "AcquireCaptureDevice"}, {0x00070000, nullptr, "AcquireCaptureDevice"},
{0x00080040, nullptr, "ReleaseCaptureDevice"}, {0x00080040, nullptr, "ReleaseCaptureDevice"},
{0x00090082, nullptr, "FlushDCache"}, {0x00090082, nullptr, "FlushDataCache"},
{0x000A0082, nullptr, "StoreDCache"}, {0x000A0082, nullptr, "StoreDataCache"},
{0x000B0082, nullptr, "InvalidateDCache"}, {0x000B0082, nullptr, "InvalidateDataCache"},
{0x000C0000, nullptr, "Reset"},
}; };
//////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////

View file

@ -150,13 +150,13 @@ static void RegisterInterruptEvents(Service::Interface* self) {
} }
/** /**
* DSP_DSP::WriteReg0x10 service function * DSP_DSP::SetSemaphore service function
* Inputs: * Inputs:
* 1 : Unknown (observed only half word used) * 1 : Unknown (observed only half word used)
* Outputs: * Outputs:
* 1 : Result of function, 0 on success, otherwise error code * 1 : Result of function, 0 on success, otherwise error code
*/ */
static void WriteReg0x10(Service::Interface* self) { static void SetSemaphore(Service::Interface* self) {
u32* cmd_buff = Kernel::GetCommandBuffer(); u32* cmd_buff = Kernel::GetCommandBuffer();
SignalInterrupt(); SignalInterrupt();
@ -276,12 +276,17 @@ const Interface::FunctionInfo FunctionTable[] = {
{0x00020040, nullptr, "RecvDataIsReady"}, {0x00020040, nullptr, "RecvDataIsReady"},
{0x00030080, nullptr, "SendData"}, {0x00030080, nullptr, "SendData"},
{0x00040040, nullptr, "SendDataIsEmpty"}, {0x00040040, nullptr, "SendDataIsEmpty"},
{0x00070040, WriteReg0x10, "WriteReg0x10"}, {0x000500C2, nullptr, "SendFifoEx"},
{0x000600C0, nullptr, "RecvFifoEx"},
{0x00070040, SetSemaphore, "SetSemaphore"},
{0x00080000, nullptr, "GetSemaphore"}, {0x00080000, nullptr, "GetSemaphore"},
{0x00090040, nullptr, "ClearSemaphore"}, {0x00090040, nullptr, "ClearSemaphore"},
{0x000A0040, nullptr, "MaskSemaphore"},
{0x000B0000, nullptr, "CheckSemaphoreRequest"}, {0x000B0000, nullptr, "CheckSemaphoreRequest"},
{0x000C0040, ConvertProcessAddressFromDspDram, "ConvertProcessAddressFromDspDram"}, {0x000C0040, ConvertProcessAddressFromDspDram, "ConvertProcessAddressFromDspDram"},
{0x000D0082, WriteProcessPipe, "WriteProcessPipe"}, {0x000D0082, WriteProcessPipe, "WriteProcessPipe"},
{0x000E00C0, nullptr, "ReadPipe"},
{0x000F0080, nullptr, "GetPipeReadableSize"},
{0x001000C0, ReadPipeIfPossible, "ReadPipeIfPossible"}, {0x001000C0, ReadPipeIfPossible, "ReadPipeIfPossible"},
{0x001100C2, LoadComponent, "LoadComponent"}, {0x001100C2, LoadComponent, "LoadComponent"},
{0x00120000, nullptr, "UnloadComponent"}, {0x00120000, nullptr, "UnloadComponent"},
@ -295,7 +300,10 @@ const Interface::FunctionInfo FunctionTable[] = {
{0x001A0042, nullptr, "SetIirFilterI2S1_cmd1"}, {0x001A0042, nullptr, "SetIirFilterI2S1_cmd1"},
{0x001B0042, nullptr, "SetIirFilterI2S1_cmd2"}, {0x001B0042, nullptr, "SetIirFilterI2S1_cmd2"},
{0x001C0082, nullptr, "SetIirFilterEQ"}, {0x001C0082, nullptr, "SetIirFilterEQ"},
{0x001D00C0, nullptr, "ReadMultiEx_SPI2"},
{0x001E00C2, nullptr, "WriteMultiEx_SPI2"},
{0x001F0000, GetHeadphoneStatus, "GetHeadphoneStatus"}, {0x001F0000, GetHeadphoneStatus, "GetHeadphoneStatus"},
{0x00200040, nullptr, "ForceHeadphoneOut"},
{0x00210000, nullptr, "GetIsDspOccupied"}, {0x00210000, nullptr, "GetIsDspOccupied"},
}; };

View file

@ -11,25 +11,58 @@ namespace FRD {
const Interface::FunctionInfo FunctionTable[] = { const Interface::FunctionInfo FunctionTable[] = {
{0x00010000, nullptr, "HasLoggedIn"}, {0x00010000, nullptr, "HasLoggedIn"},
{0x00020000, nullptr, "IsOnline"},
{0x00030000, nullptr, "Login"}, {0x00030000, nullptr, "Login"},
{0x00040000, nullptr, "Logout"}, {0x00040000, nullptr, "Logout"},
{0x00050000, nullptr, "GetFriendKey"}, {0x00050000, nullptr, "GetMyFriendKey"},
{0x00060000, nullptr, "GetMyPreference"},
{0x00070000, nullptr, "GetMyProfile"},
{0x00080000, nullptr, "GetMyPresence"}, {0x00080000, nullptr, "GetMyPresence"},
{0x00090000, nullptr, "GetMyScreenName"}, {0x00090000, nullptr, "GetMyScreenName"},
{0x00100040, nullptr, "GetPassword"}, {0x000A0000, nullptr, "GetMyMii"},
{0x000B0000, nullptr, "GetMyLocalAccountId"},
{0x000C0000, nullptr, "GetMyPlayingGame"},
{0x000D0000, nullptr, "GetMyFavoriteGame"},
{0x000E0000, nullptr, "GetMyNcPrincipalId"},
{0x000F0000, nullptr, "GetMyComment"},
{0x00100040, nullptr, "GetMyPassword"},
{0x00110080, nullptr, "GetFriendKeyList"}, {0x00110080, nullptr, "GetFriendKeyList"},
{0x00120042, nullptr, "GetFriendPresence"},
{0x00130142, nullptr, "GetFriendScreenName"},
{0x00140044, nullptr, "GetFriendMii"},
{0x00150042, nullptr, "GetFriendProfile"},
{0x00160042, nullptr, "GetFriendRelationship"},
{0x00170042, nullptr, "GetFriendAttributeFlags"},
{0x00180044, nullptr, "GetFriendPlayingGame"},
{0x00190042, nullptr, "GetFriendFavoriteGame"}, {0x00190042, nullptr, "GetFriendFavoriteGame"},
{0x001A00C4, nullptr, "GetFriendInfo"}, {0x001A00C4, nullptr, "GetFriendInfo"},
{0x001B0080, nullptr, "IsOnFriendList"}, {0x001B0080, nullptr, "IsIncludedInFriendList"},
{0x001C0042, nullptr, "DecodeLocalFriendCode"}, {0x001C0042, nullptr, "UnscrambleLocalFriendCode"},
{0x001D0002, nullptr, "SetCurrentlyPlayingText"}, {0x001D0002, nullptr, "UpdateGameModeDescription"},
{0x001E02C2, nullptr, "UpdateGameMode"},
{0x001F0042, nullptr, "SendInvitation"},
{0x00200002, nullptr, "AttachToEventNotification"},
{0x00210040, nullptr, "SetNotificationMask"},
{0x00220040, nullptr, "GetEventNotification"},
{0x00230000, nullptr, "GetLastResponseResult"}, {0x00230000, nullptr, "GetLastResponseResult"},
{0x00240040, nullptr, "PrincipalIdToFriendCode"},
{0x00250080, nullptr, "FriendCodeToPrincipalId"},
{0x00260080, nullptr, "IsValidFriendCode"},
{0x00270040, nullptr, "ResultToErrorCode"}, {0x00270040, nullptr, "ResultToErrorCode"},
{0x00280244, nullptr, "RequestGameAuthentication"}, {0x00280244, nullptr, "RequestGameAuthentication"},
{0x00290000, nullptr, "GetGameAuthenticationData"}, {0x00290000, nullptr, "GetGameAuthenticationData"},
{0x002A0204, nullptr, "RequestServiceLocator"}, {0x002A0204, nullptr, "RequestServiceLocator"},
{0x002B0000, nullptr, "GetServiceLocatorData"}, {0x002B0000, nullptr, "GetServiceLocatorData"},
{0x002C0002, nullptr, "DetectNatProperties"},
{0x002D0000, nullptr, "GetNatProperties"},
{0x002E0000, nullptr, "GetServerTimeInterval"},
{0x002F0040, nullptr, "AllowHalfAwake"},
{0x00300000, nullptr, "GetServerTypes"},
{0x00310082, nullptr, "GetFriendComment"},
{0x00320042, nullptr, "SetClientSdkVersion"}, {0x00320042, nullptr, "SetClientSdkVersion"},
{0x00330000, nullptr, "GetMyApproachContext"},
{0x00340046, nullptr, "AddFriendWithApproach"},
{0x00350082, nullptr, "DecryptApproachContext"},
}; };
FRD_U_Interface::FRD_U_Interface() { FRD_U_Interface::FRD_U_Interface() {

View file

@ -731,7 +731,7 @@ const Interface::FunctionInfo FunctionTable[] = {
{0x08130000, nullptr, "GetCardType"}, {0x08130000, nullptr, "GetCardType"},
{0x08140000, nullptr, "GetSdmcArchiveResource"}, {0x08140000, nullptr, "GetSdmcArchiveResource"},
{0x08150000, nullptr, "GetNandArchiveResource"}, {0x08150000, nullptr, "GetNandArchiveResource"},
{0x08160000, nullptr, "GetSdmcFatfsErro"}, {0x08160000, nullptr, "GetSdmcFatfsError"},
{0x08170000, IsSdmcDetected, "IsSdmcDetected"}, {0x08170000, IsSdmcDetected, "IsSdmcDetected"},
{0x08180000, IsSdmcWriteable, "IsSdmcWritable"}, {0x08180000, IsSdmcWriteable, "IsSdmcWritable"},
{0x08190042, nullptr, "GetSdmcCid"}, {0x08190042, nullptr, "GetSdmcCid"},
@ -792,12 +792,30 @@ const Interface::FunctionInfo FunctionTable[] = {
{0x08500040, nullptr, "GetSpecialFileSize"}, {0x08500040, nullptr, "GetSpecialFileSize"},
{0x08510242, CreateExtSaveData, "CreateExtSaveData"}, {0x08510242, CreateExtSaveData, "CreateExtSaveData"},
{0x08520100, DeleteExtSaveData, "DeleteExtSaveData"}, {0x08520100, DeleteExtSaveData, "DeleteExtSaveData"},
{0x08530142, nullptr, "ReadExtSaveDataIcon"},
{0x085400C0, nullptr, "GetExtDataBlockSize"},
{0x08550102, nullptr, "EnumerateExtSaveData"},
{0x08560240, CreateSystemSaveData, "CreateSystemSaveData"}, {0x08560240, CreateSystemSaveData, "CreateSystemSaveData"},
{0x08570080, DeleteSystemSaveData, "DeleteSystemSaveData"}, {0x08570080, DeleteSystemSaveData, "DeleteSystemSaveData"},
{0x08580000, nullptr, "GetMovableSedHashedKeyYRandomData"}, {0x08580000, nullptr, "StartDeviceMoveAsSource"},
{0x08590200, nullptr, "StartDeviceMoveAsDestination"},
{0x085A00C0, nullptr, "SetArchivePriority"},
{0x085B0080, nullptr, "GetArchivePriority"},
{0x085C00C0, nullptr, "SetCtrCardLatencyParameter"},
{0x085D01C0, nullptr, "SetFsCompatibilityInfo"},
{0x085E0040, nullptr, "ResetCardCompatibilityParameter"},
{0x085F0040, nullptr, "SwitchCleanupInvalidSaveData"},
{0x08600042, nullptr, "EnumerateSystemSaveData"},
{0x08610042, InitializeWithSdkVersion, "InitializeWithSdkVersion"}, {0x08610042, InitializeWithSdkVersion, "InitializeWithSdkVersion"},
{0x08620040, SetPriority, "SetPriority"}, {0x08620040, SetPriority, "SetPriority"},
{0x08630000, GetPriority, "GetPriority"}, {0x08630000, GetPriority, "GetPriority"},
{0x08640000, nullptr, "GetNandInfo"},
{0x08650140, nullptr, "SetSaveDataSecureValue"},
{0x086600C0, nullptr, "GetSaveDataSecureValue"},
{0x086700C4, nullptr, "ControlSecureSave"},
{0x08680000, nullptr, "GetMediaType"},
{0x08690000, nullptr, "GetNandEraseCount"},
{0x086A0082, nullptr, "ReadNandReport"}
}; };
//////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////

View file

@ -11,14 +11,18 @@
namespace GSP_LCD { namespace GSP_LCD {
/*const Interface::FunctionInfo FunctionTable[] = { const Interface::FunctionInfo FunctionTable[] = {
};*/ {0x000F0000, nullptr, "PowerOnAllBacklights"},
{0x00100000, nullptr, "PowerOffAllBacklights"},
{0x00110040, nullptr, "PowerOnBacklight"},
{0x00120040, nullptr, "PowerOffBacklight"},
};
//////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////
// Interface class // Interface class
Interface::Interface() { Interface::Interface() {
//Register(FunctionTable); Register(FunctionTable);
} }
} // namespace } // namespace

View file

@ -11,6 +11,8 @@ namespace HID {
const Interface::FunctionInfo FunctionTable[] = { const Interface::FunctionInfo FunctionTable[] = {
{0x000A0000, GetIPCHandles, "GetIPCHandles"}, {0x000A0000, GetIPCHandles, "GetIPCHandles"},
{0x000B0000, nullptr, "StartAnalogStickCalibration"},
{0x000E0000, nullptr, "GetAnalogStickCalibrateParam"},
{0x00110000, EnableAccelerometer, "EnableAccelerometer"}, {0x00110000, EnableAccelerometer, "EnableAccelerometer"},
{0x00120000, DisableAccelerometer, "DisableAccelerometer"}, {0x00120000, DisableAccelerometer, "DisableAccelerometer"},
{0x00130000, EnableGyroscopeLow, "EnableGyroscopeLow"}, {0x00130000, EnableGyroscopeLow, "EnableGyroscopeLow"},

View file

@ -47,10 +47,18 @@ const Interface::FunctionInfo FunctionTable[] = {
{0x00220040, nullptr, "GetResponseStatusCode"}, {0x00220040, nullptr, "GetResponseStatusCode"},
{0x002300C0, nullptr, "GetResponseStatusCodeTimeout"}, {0x002300C0, nullptr, "GetResponseStatusCodeTimeout"},
{0x00240082, nullptr, "AddTrustedRootCA"}, {0x00240082, nullptr, "AddTrustedRootCA"},
{0x00250080, nullptr, "AddDefaultCert"},
{0x00260080, nullptr, "SelectRootCertChain"},
{0x002700C4, nullptr, "SetClientCert"},
{0x002D0000, nullptr, "CreateRootCertChain"},
{0x002E0040, nullptr, "DestroyRootCertChain"},
{0x002F0082, nullptr, "RootCertChainAddCert"},
{0x00300080, nullptr, "RootCertChainAddDefaultCert"},
{0x00350186, nullptr, "SetDefaultProxy"}, {0x00350186, nullptr, "SetDefaultProxy"},
{0x00360000, nullptr, "ClearDNSCache"}, {0x00360000, nullptr, "ClearDNSCache"},
{0x00370080, nullptr, "SetKeepAlive"}, {0x00370080, nullptr, "SetKeepAlive"},
{0x003800C0, nullptr, "Finalize"}, {0x003800C0, nullptr, "SetPostDataTypeSize"},
{0x00390000, nullptr, "Finalize"},
}; };
//////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////

View file

@ -18,14 +18,14 @@ const Interface::FunctionInfo FunctionTable[] = {
{0x00050000, nullptr, "StopSampling"}, {0x00050000, nullptr, "StopSampling"},
{0x00060000, nullptr, "IsSampling"}, {0x00060000, nullptr, "IsSampling"},
{0x00070000, nullptr, "GetEventHandle"}, {0x00070000, nullptr, "GetEventHandle"},
{0x00080040, nullptr, "SetControl"}, {0x00080040, nullptr, "SetGain"},
{0x00090000, nullptr, "GetControl"}, {0x00090000, nullptr, "GetGain"},
{0x000A0040, nullptr, "SetBias"}, {0x000A0040, nullptr, "SetPower"},
{0x000B0000, nullptr, "GetBias"}, {0x000B0000, nullptr, "GetPower"},
{0x000C0042, nullptr, "size"}, {0x000C0042, nullptr, "size"},
{0x000D0040, nullptr, "SetClamp"}, {0x000D0040, nullptr, "SetClamp"},
{0x000E0000, nullptr, "GetClamp"}, {0x000E0000, nullptr, "GetClamp"},
{0x000F0040, nullptr, "unknown_input1"}, {0x000F0040, nullptr, "SetAllowShellClosed"},
{0x00100040, nullptr, "unknown_input2"}, {0x00100040, nullptr, "unknown_input2"},
}; };

View file

@ -14,10 +14,26 @@ const Interface::FunctionInfo FunctionTable[] = {
{0x00010042, nullptr, "EnterExclusiveState"}, {0x00010042, nullptr, "EnterExclusiveState"},
{0x00020002, nullptr, "LeaveExclusiveState"}, {0x00020002, nullptr, "LeaveExclusiveState"},
{0x00030000, nullptr, "QueryExclusiveMode"}, {0x00030000, nullptr, "QueryExclusiveMode"},
{0x00040002, nullptr, "LockState"},
{0x00050002, nullptr, "UnlockState"},
{0x00060040, nullptr, "SuspendDaemons"}, {0x00060040, nullptr, "SuspendDaemons"},
{0x00070040, nullptr, "ResumeDaemons"},
{0x00080040, nullptr, "DisableWifiUsage"}, {0x00080040, nullptr, "DisableWifiUsage"},
{0x00090000, nullptr, "EnableWifiUsage"}, {0x00090000, nullptr, "EnableWifiUsage"},
{0x000A0000, nullptr, "GetCurrentState"},
{0x000B0000, nullptr, "GetTargetState"},
{0x000C0000, nullptr, "<Stubbed>"},
{0x000D0040, nullptr, "QueryStatus"},
{0x000E0040, nullptr, "GetDaemonDisableCount"},
{0x000F0000, nullptr, "GetSchedulerDisableCount"},
{0x00100040, nullptr, "SetScanInterval"},
{0x00110000, nullptr, "GetScanInterval"},
{0x00120040, nullptr, "SetRetryInterval"},
{0x00130000, nullptr, "GetRetryInterval"},
{0x00140040, nullptr, "OverrideDefaultDaemons"}, {0x00140040, nullptr, "OverrideDefaultDaemons"},
{0x00150000, nullptr, "ResetDefaultDaemons"},
{0x00160000, nullptr, "GetDefaultDaemons"},
{0x00170000, nullptr, "ClearHalfAwakeMacFilter"},
}; };
//////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////

View file

@ -11,6 +11,18 @@ namespace NEWS {
const Interface::FunctionInfo FunctionTable[] = { const Interface::FunctionInfo FunctionTable[] = {
{0x000100C6, nullptr, "AddNotification"}, {0x000100C6, nullptr, "AddNotification"},
{0x00050000, nullptr, "GetTotalNotifications"},
{0x00060042, nullptr, "SetNewsDBHeader"},
{0x00070082, nullptr, "SetNotificationHeader"},
{0x00080082, nullptr, "SetNotificationMessage"},
{0x00090082, nullptr, "SetNotificationImage"},
{0x000A0042, nullptr, "GetNewsDBHeader"},
{0x000B0082, nullptr, "GetNotificationHeader"},
{0x000C0082, nullptr, "GetNotificationMessage"},
{0x000D0082, nullptr, "GetNotificationImage"},
{0x000E0040, nullptr, "SetInfoLEDPattern"},
{0x00120082, nullptr, "GetNotificationHeaderOther"},
{0x00130000, nullptr, "WriteNewsDBSavedata"},
}; };
NEWS_S_Interface::NEWS_S_Interface() { NEWS_S_Interface::NEWS_S_Interface() {

View file

@ -11,6 +11,9 @@ namespace NIM {
const Interface::FunctionInfo FunctionTable[] = { const Interface::FunctionInfo FunctionTable[] = {
{0x000A0000, nullptr, "CheckSysupdateAvailableSOAP"}, {0x000A0000, nullptr, "CheckSysupdateAvailableSOAP"},
{0x0016020A, nullptr, "ListTitles"},
{0x002D0042, nullptr, "DownloadTickets"},
{0x00420240, nullptr, "StartDownload"},
}; };
NIM_S_Interface::NIM_S_Interface() { NIM_S_Interface::NIM_S_Interface() {

View file

@ -12,7 +12,16 @@
namespace NS_S { namespace NS_S {
const Interface::FunctionInfo FunctionTable[] = { const Interface::FunctionInfo FunctionTable[] = {
{0x000100C0, nullptr, "LaunchFIRM"},
{0x000200C0, nullptr, "LaunchTitle"}, {0x000200C0, nullptr, "LaunchTitle"},
{0x000500C0, nullptr, "LaunchApplicationFIRM"},
{0x00060042, nullptr, "SetFIRMParams4A0"},
{0x00070042, nullptr, "CardUpdateInitialize"},
{0x000D0140, nullptr, "SetFIRMParams4B0"},
{0x000E0000, nullptr, "ShutdownAsync"},
{0x00100180, nullptr, "RebootSystem"},
{0x00150140, nullptr, "LaunchApplication"},
{0x00160000, nullptr, "HardRebootSystem"},
}; };
//////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////

View file

@ -106,14 +106,32 @@ static void Initialize(Service::Interface* self) {
} }
const Interface::FunctionInfo FunctionTable[] = { const Interface::FunctionInfo FunctionTable[] = {
{0x00020000, nullptr, "Scrap"},
{0x00030000, Shutdown, "Shutdown"}, {0x00030000, Shutdown, "Shutdown"},
{0x00040402, nullptr, "CreateNetwork"},
{0x00050040, nullptr, "EjectClient"},
{0x00060000, nullptr, "EjectSpectator"},
{0x00070080, nullptr, "UpdateNetworkAttribute"},
{0x00080000, nullptr, "DestroyNetwork"},
{0x000A0000, nullptr, "DisconnectNetwork"},
{0x000B0000, nullptr, "GetConnectionStatus"},
{0x000D0040, nullptr, "GetNodeInformation"},
{0x000F0404, RecvBeaconBroadcastData, "RecvBeaconBroadcastData"}, {0x000F0404, RecvBeaconBroadcastData, "RecvBeaconBroadcastData"},
{0x00100042, nullptr, "SetBeaconAdditionalData"}, {0x00100042, nullptr, "SetBeaconAdditionalData"},
{0x00110040, nullptr, "GetApplicationData"},
{0x00120100, nullptr, "Bind"},
{0x00130040, nullptr, "Unbind"},
{0x001400C0, nullptr, "RecvBroadcastDataFrame"}, {0x001400C0, nullptr, "RecvBroadcastDataFrame"},
{0x00150080, nullptr, "SetMaxSendDelay"},
{0x00170182, nullptr, "SendTo"},
{0x001A0000, nullptr, "GetChannel"},
{0x001B0302, Initialize, "Initialize"}, {0x001B0302, Initialize, "Initialize"},
{0x001D0044, nullptr, "BeginHostingNetwork"}, {0x001D0044, nullptr, "BeginHostingNetwork"},
{0x001E0084, nullptr, "ConnectToNetwork"}, {0x001E0084, nullptr, "ConnectToNetwork"},
{0x001F0006, nullptr, "DecryptBeaconData"}, {0x001F0006, nullptr, "DecryptBeaconData"},
{0x00200040, nullptr, "Flush"},
{0x00210080, nullptr, "SetProbeResponseParam"},
{0x00220402, nullptr, "ScanOnConnection"},
}; };
//////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////

View file

@ -19,6 +19,10 @@ const Interface::FunctionInfo FunctionTable[] = {
{0x00070042, nullptr, "GetFIRMLaunchParams"}, {0x00070042, nullptr, "GetFIRMLaunchParams"},
{0x00080100, nullptr, "GetTitleExheaderFlags"}, {0x00080100, nullptr, "GetTitleExheaderFlags"},
{0x00090042, nullptr, "SetFIRMLaunchParams"}, {0x00090042, nullptr, "SetFIRMLaunchParams"},
{0x000A0140, nullptr, "SetResourceLimit"},
{0x000B0140, nullptr, "GetResourceLimitMax"},
{0x000C0080, nullptr, "UnregisterProcess"},
{0x000D0240, nullptr, "LaunchTitleUpdate"},
}; };
//////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////

View file

@ -39,7 +39,8 @@ const Interface::FunctionInfo FunctionTable[] = {
{0x08110000, nullptr, "GetShellStatus"}, {0x08110000, nullptr, "GetShellStatus"},
{0x08120000, nullptr, "IsShutdownByBatteryEmpty"}, {0x08120000, nullptr, "IsShutdownByBatteryEmpty"},
{0x08130000, nullptr, "FormatSavedata"}, {0x08130000, nullptr, "FormatSavedata"},
{0x08140000, nullptr, "GetLegacyJumpProhibitedFlag"} {0x08140000, nullptr, "GetLegacyJumpProhibitedFlag"},
{0x08180040, nullptr, "ConfigureNew3DSCPU"},
}; };
PTM_Sysm_Interface::PTM_Sysm_Interface() { PTM_Sysm_Interface::PTM_Sysm_Interface() {

View file

@ -62,10 +62,14 @@ static void GenerateRandomData(Service::Interface* self) {
const Interface::FunctionInfo FunctionTable[] = { const Interface::FunctionInfo FunctionTable[] = {
{0x00010002, Initialize, "Initialize"}, {0x00010002, Initialize, "Initialize"},
{0x000200C2, nullptr, "CreateContext"}, {0x000200C2, nullptr, "CreateContext"},
{0x00030000, nullptr, "CreateRootCertChain"},
{0x00040040, nullptr, "DestroyRootCertChain"},
{0x00050082, nullptr, "AddTrustedRootCA"}, {0x00050082, nullptr, "AddTrustedRootCA"},
{0x00060080, nullptr, "RootCertChainAddDefaultCert"},
{0x00110042, GenerateRandomData, "GenerateRandomData"}, {0x00110042, GenerateRandomData, "GenerateRandomData"},
{0x00150082, nullptr, "Read"}, {0x00150082, nullptr, "Read"},
{0x00170082, nullptr, "Write"}, {0x00170082, nullptr, "Write"},
{0x00180080, nullptr, "ContextSetRootCertChain"},
}; };
//////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////

View file

@ -375,21 +375,41 @@ static void DriverFinalize(Service::Interface* self) {
const Interface::FunctionInfo FunctionTable[] = { const Interface::FunctionInfo FunctionTable[] = {
{0x00010040, SetInputFormat, "SetInputFormat"}, {0x00010040, SetInputFormat, "SetInputFormat"},
{0x00020000, nullptr, "GetInputFormat"},
{0x00030040, SetOutputFormat, "SetOutputFormat"}, {0x00030040, SetOutputFormat, "SetOutputFormat"},
{0x00040000, nullptr, "GetOutputFormat"},
{0x00050040, SetRotation, "SetRotation"}, {0x00050040, SetRotation, "SetRotation"},
{0x00060000, nullptr, "GetRotation"},
{0x00070040, SetBlockAlignment, "SetBlockAlignment"}, {0x00070040, SetBlockAlignment, "SetBlockAlignment"},
{0x00080000, nullptr, "GetBlockAlignment"},
{0x00090040, nullptr, "SetSpacialDithering"},
{0x000A0000, nullptr, "GetSpacialDithering"},
{0x000B0040, nullptr, "SetTemporalDithering"},
{0x000C0000, nullptr, "GetTemporalDithering"},
{0x000D0040, SetTransferEndInterrupt, "SetTransferEndInterrupt"}, {0x000D0040, SetTransferEndInterrupt, "SetTransferEndInterrupt"},
{0x000F0000, GetTransferEndEvent, "GetTransferEndEvent"}, {0x000F0000, GetTransferEndEvent, "GetTransferEndEvent"},
{0x00100102, SetSendingY, "SetSendingY"}, {0x00100102, SetSendingY, "SetSendingY"},
{0x00110102, SetSendingU, "SetSendingU"}, {0x00110102, SetSendingU, "SetSendingU"},
{0x00120102, SetSendingV, "SetSendingV"}, {0x00120102, SetSendingV, "SetSendingV"},
{0x00130102, SetSendingYUYV, "SetSendingYUYV"}, {0x00130102, SetSendingYUYV, "SetSendingYUYV"},
{0x00140000, nullptr, "IsFinishedSendingYuv"},
{0x00150000, nullptr, "IsFinishedSendingY"},
{0x00160000, nullptr, "IsFinishedSendingU"},
{0x00170000, nullptr, "IsFinishedSendingV"},
{0x00180102, SetReceiving, "SetReceiving"}, {0x00180102, SetReceiving, "SetReceiving"},
{0x00190000, nullptr, "IsFinishedReceiving"},
{0x001A0040, SetInputLineWidth, "SetInputLineWidth"}, {0x001A0040, SetInputLineWidth, "SetInputLineWidth"},
{0x001B0000, nullptr, "GetInputLineWidth"},
{0x001C0040, SetInputLines, "SetInputLines"}, {0x001C0040, SetInputLines, "SetInputLines"},
{0x001D0000, nullptr, "GetInputLines"},
{0x001E0100, SetCoefficient, "SetCoefficient"}, {0x001E0100, SetCoefficient, "SetCoefficient"},
{0x001F0000, nullptr, "GetCoefficient"},
{0x00200040, SetStandardCoefficient, "SetStandardCoefficient"}, {0x00200040, SetStandardCoefficient, "SetStandardCoefficient"},
{0x00210040, nullptr, "GetStandardCoefficientParams"},
{0x00220040, SetAlpha, "SetAlpha"}, {0x00220040, SetAlpha, "SetAlpha"},
{0x00230000, nullptr, "GetAlpha"},
{0x00240200, nullptr, "SetDitheringWeightParams"},
{0x00250000, nullptr, "GetDitheringWeightParams"},
{0x00260000, StartConversion, "StartConversion"}, {0x00260000, StartConversion, "StartConversion"},
{0x00270000, StopConversion, "StopConversion"}, {0x00270000, StopConversion, "StopConversion"},
{0x00280000, IsBusyConversion, "IsBusyConversion"}, {0x00280000, IsBusyConversion, "IsBusyConversion"},
@ -397,6 +417,7 @@ const Interface::FunctionInfo FunctionTable[] = {
{0x002A0000, PingProcess, "PingProcess"}, {0x002A0000, PingProcess, "PingProcess"},
{0x002B0000, DriverInitialize, "DriverInitialize"}, {0x002B0000, DriverInitialize, "DriverInitialize"},
{0x002C0000, DriverFinalize, "DriverFinalize"}, {0x002C0000, DriverFinalize, "DriverFinalize"},
{0x002D0000, nullptr, "GetPackageParameter"},
}; };
//////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////