Changes

213 bytes added ,  20:12, 5 September 2019
no edit summary
Line 59: Line 59:  
| 8 || [2.0.0+] [[#OpenFileSystemWithId]]
 
| 8 || [2.0.0+] [[#OpenFileSystemWithId]]
 
|-
 
|-
| 9 || [3.0.0+] OpenDataFileSystemByApplicationId
+
| 9 || [3.0.0+] OpenDataFileSystemByProgramId
 
|-
 
|-
 
| 11 || [[#OpenBisFileSystem]]
 
| 11 || [[#OpenBisFileSystem]]
Line 117: Line 117:  
| 61 || [[#OpenSaveDataInfoReaderBySaveDataSpaceId]]
 
| 61 || [[#OpenSaveDataInfoReaderBySaveDataSpaceId]]
 
|-
 
|-
| 62 || [5.0.0+] OpenCacheStorageList
+
| 62 || [5.0.0+] OpenSaveDataInfoReaderOnlyCacheStorage
 
|-
 
|-
 
| 64 || [5.0.0+] OpenSaveDataInternalStorageFileSystem
 
| 64 || [5.0.0+] OpenSaveDataInternalStorageFileSystem
Line 123: Line 123:  
| 65 || [5.0.0+] UpdateSaveDataMacForDebug
 
| 65 || [5.0.0+] UpdateSaveDataMacForDebug
 
|-
 
|-
| 66 || [5.0.0+] WriteSaveDataFileSystemExtraData2
+
| 66 || [5.0.0+] WriteSaveDataFileSystemExtraDataWithMask
 
|-
 
|-
 
| 67 || [6.0.0+] FindSaveDataWithFilter (Takes a total of 0x50-bytes of input, returns 8-bytes of output, and a type-0x6 output buffer)
 
| 67 || [6.0.0+] FindSaveDataWithFilter (Takes a total of 0x50-bytes of input, returns 8-bytes of output, and a type-0x6 output buffer)
 
|-
 
|-
| 68 || [6.0.0+] OpenSaveDataIterator (Takes a total of 0x50-bytes of input, returns an #ISaveDataInfoReader)
+
| 68 || [6.0.0+] OpenSaveDataInfoReaderWithFilter (Takes a total of 0x50-bytes of input, returns an #ISaveDataInfoReader)
 
|-
 
|-
 
| 69 || [8.0.0+] ReadSaveDataFileSystemExtraDataBySaveDataAttribute
 
| 69 || [8.0.0+] ReadSaveDataFileSystemExtraDataBySaveDataAttribute
Line 159: Line 159:  
| 203 || OpenPatchDataStorageByCurrentProcess
 
| 203 || OpenPatchDataStorageByCurrentProcess
 
|-
 
|-
| 204 || [7.0.0+] OpenDataFileSystemByProgramIndex (Takes an input u8, returns an [[#IFileSystem]])
+
| 204 || [7.0.0+] OpenDataFileSystemWithProgramIndex (Takes an input u8, returns an [[#IFileSystem]])
 
|-
 
|-
| 205 || [7.0.0+] OpenDataStorageByProgramIndex (Takes an input u8, returns an [[#IStorage]])
+
| 205 || [7.0.0+] OpenDataStorageWithProgramIndex (Takes an input u8, returns an [[#IStorage]])
 
|-
 
|-
 
| 400 || [[#OpenDeviceOperator]]
 
| 400 || [[#OpenDeviceOperator]]
Line 173: Line 173:  
| 511 || [5.0.0+] NotifySystemDataUpdateEvent
 
| 511 || [5.0.0+] NotifySystemDataUpdateEvent
 
|-
 
|-
| 520 || [6.0.0+] SimulateGameCardDetectionEvent (Takes a total of 0xC-bytes of input, no output)
+
| 520 || [6.0.0+] SimulateDeviceDetectionEvent (Takes a total of 0xC-bytes of input, no output)
 
|-
 
|-
 
| 600 || [1.0.0-3.0.2] SetCurrentPosixTime
 
| 600 || [1.0.0-3.0.2] SetCurrentPosixTime
Line 219: Line 219:  
| 640 || [4.0.0-7.0.1] IsSignedSystemPartitionOnSdCardValid
 
| 640 || [4.0.0-7.0.1] IsSignedSystemPartitionOnSdCardValid
 
|-
 
|-
| 700 || [5.0.0+] [[#OpenAccessFailureResolver]]
+
| 700 || [5.0.0+] [[#OpenAccessFailureDetectionEventNotifier]]
 
|-
 
|-
 
| 701 || [5.0.0+] GetAccessFailureDetectionEvent
 
| 701 || [5.0.0+] GetAccessFailureDetectionEvent
Line 229: Line 229:  
| 720 || [5.0.0+] AbandonAccessFailure
 
| 720 || [5.0.0+] AbandonAccessFailure
 
|-
 
|-
| 800 || [2.0.0+] GetAndClearFileSystemProxyErrorInfo
+
| 800 || [2.0.0+] GetAndClearErrorInfo
 
|-
 
|-
 
| 810 || [7.0.0+] RegisterProgramIndexMapInfo
 
| 810 || [7.0.0+] RegisterProgramIndexMapInfo
Line 255: Line 255:  
| 1010 || [5.1.0-6.2.0] SetDataStorageRedirectTarget
 
| 1010 || [5.1.0-6.2.0] SetDataStorageRedirectTarget
 
|-
 
|-
| 1011 || [7.0.0+] GetAccessLogVersionInfo (Unofficial name, no input, returns two 32-bit values "version" and "program_index")
+
| 1011 || [7.0.0+] GetProgramIndexForAccessLog (No input, returns two 32-bit values "version" and "program_index")
 
|-
 
|-
 
| 1100 || [4.0.0+] OverrideSaveDataTransferTokenSignVerificationKey
 
| 1100 || [4.0.0+] OverrideSaveDataTransferTokenSignVerificationKey
 
|-
 
|-
| 1110 || [6.0.0+] CorruptSaveDataFileSystemBySaveDataSpaceId2
+
| 1110 || [6.0.0+] CorruptSaveDataFileSystemByOffset
 
|-
 
|-
 
| 1200 || [6.0.0+] OpenMultiCommitManager (No input, returns an output #IMultiCommitManager)
 
| 1200 || [6.0.0+] OpenMultiCommitManager (No input, returns an output #IMultiCommitManager)
Line 402: Line 402:  
| 0xC || 0x8000000000004020 || CanOpenSaveDataInfoReaderForSystem || [[#OpenSaveDataInfoReaderBySaveDataSpaceId]], [[#OpenSaveDataInfoReader]]
 
| 0xC || 0x8000000000004020 || CanOpenSaveDataInfoReaderForSystem || [[#OpenSaveDataInfoReaderBySaveDataSpaceId]], [[#OpenSaveDataInfoReader]]
 
|-
 
|-
| 0xD || 0x8000000000000040<br/>([1.0.0-5.1.0] 0x8000000000020000) || CanOpenSaveDataIterator || OpenSaveDataIterator
+
| 0xD || 0x8000000000000040<br/>([1.0.0-5.1.0] 0x8000000000020000) || CanOpenSaveDataInfoReaderForInternal || OpenSaveDataInfoReaderWithFilter
 
|-
 
|-
 
| 0xE || 0x8000000000020000<br/>([1.0.0-5.1.0] 0x8000000000000400) || CanOpenSaveDataMetaFile || [[#OpenSaveDataMetaFile]]
 
| 0xE || 0x8000000000020000<br/>([1.0.0-5.1.0] 0x8000000000000400) || CanOpenSaveDataMetaFile || [[#OpenSaveDataMetaFile]]
Line 434: Line 434:  
| [3.0.0+] 0x1C || 0x8000000000000800<br/>([5.0.0-5.1.0] 0x8000000000004020)<br/>([1.0.0-4.1.0] 0x8000000000000028) || CanSetEncryptionSeed || [[#SetSdCardEncryptionSeed]]
 
| [3.0.0+] 0x1C || 0x8000000000000800<br/>([5.0.0-5.1.0] 0x8000000000004020)<br/>([1.0.0-4.1.0] 0x8000000000000028) || CanSetEncryptionSeed || [[#SetSdCardEncryptionSeed]]
 
|-
 
|-
| [4.0.0+] 0x1D || 0x8000000000000020<br/>([5.0.0-5.1.0] 0x8000000000000000)<br/>([1.0.0-4.1.0] 0x8000000020000000) || SaveDataExtraData_Write0 || [[#WriteSaveDataFileSystemExtraData]], [[#WriteSaveDataFileSystemExtraData2]]
+
| [4.0.0+] 0x1D || 0x8000000000000020<br/>([5.0.0-5.1.0] 0x8000000000000000)<br/>([1.0.0-4.1.0] 0x8000000020000000) || SaveDataExtraData_Write0 || [[#WriteSaveDataFileSystemExtraData]], [[#WriteSaveDataFileSystemExtraDataWithMask]]
 
|-
 
|-
| [4.0.0+] 0x1E || 0x8000000000004020<br/>([5.0.0-5.1.0] 0x8000000000002020)<br/>([1.0.0-4.1.0] 0x8000000040000000) || CanWriteSaveDataFileSystemExtraDataFlags || [[#WriteSaveDataFileSystemExtraData]], [[#WriteSaveDataFileSystemExtraData2]]
+
| [4.0.0+] 0x1E || 0x8000000000004020<br/>([5.0.0-5.1.0] 0x8000000000002020)<br/>([1.0.0-4.1.0] 0x8000000040000000) || CanWriteSaveDataFileSystemExtraDataFlags || [[#WriteSaveDataFileSystemExtraData]], [[#WriteSaveDataFileSystemExtraDataWithMask]]
 
|-
 
|-
| [4.0.0+] 0x1F || 0x8000000000000020<br/>([5.0.0-5.1.0] 0x8000000000000028)<br/>([1.0.0-4.1.0] 0x8000000000000000) || SaveDataExtraData_Write1 || [[#WriteSaveDataFileSystemExtraData]], [[#WriteSaveDataFileSystemExtraData2]]
+
| [4.0.0+] 0x1F || 0x8000000000000020<br/>([5.0.0-5.1.0] 0x8000000000000028)<br/>([1.0.0-4.1.0] 0x8000000000000000) || SaveDataExtraData_Write1 || [[#WriteSaveDataFileSystemExtraData]], [[#WriteSaveDataFileSystemExtraDataWithMask]]
 
|-
 
|-
| [4.0.0+] 0x20 || 0x8000000000000000<br/>([5.0.0-5.1.0] 0x8000000020000000)<br/>([1.0.0-4.1.0] 0x8000000000000000) || CanWriteSaveDataFileSystemExtraDataAll || [[#WriteSaveDataFileSystemExtraData]], [[#WriteSaveDataFileSystemExtraData2]]
+
| [4.0.0+] 0x20 || 0x8000000000000000<br/>([5.0.0-5.1.0] 0x8000000020000000)<br/>([1.0.0-4.1.0] 0x8000000000000000) || CanWriteSaveDataFileSystemExtraDataAll || [[#WriteSaveDataFileSystemExtraData]], [[#WriteSaveDataFileSystemExtraDataWithMask]]
 
|-
 
|-
 
| [5.0.0+] 0x21 || 0x8000000000002020<br/>([1.0.0-5.1.0] 0x8000000040000000) || CanExtendSaveData || [[#ExtendSaveDataFileSystem]]
 
| [5.0.0+] 0x21 || 0x8000000000002020<br/>([1.0.0-5.1.0] 0x8000000040000000) || CanExtendSaveData || [[#ExtendSaveDataFileSystem]]
Line 452: Line 452:  
| [5.0.0+] 0x25 || 0x8000000200000000<br/>([1.0.0-5.1.0] 0x8000000080200000) || CanOpenSaveDataTransferManagerVersion2 || [[#OpenSaveDataTransferManagerVersion2]]
 
| [5.0.0+] 0x25 || 0x8000000200000000<br/>([1.0.0-5.1.0] 0x8000000080200000) || CanOpenSaveDataTransferManagerVersion2 || [[#OpenSaveDataTransferManagerVersion2]]
 
|-
 
|-
| [5.0.0+] 0x26 || 0x8000000200002000<br/>([1.0.0-5.1.0] 0x8000000080000110) || CanOpenSaveDataTransferProhibiterForCloudBackUp || [[#OpenSaveDataTransferProhibiterForCloudBackUp]]
+
| [5.0.0+] 0x26 || 0x8000000200002000<br/>([1.0.0-5.1.0] 0x8000000080000110) || CanOpenOpenSaveDataTransferProhibiter || [[#OpenSaveDataTransferProhibiter]]
 
|-
 
|-
| [5.0.0+] 0x27 || 0x8000000240002000 <br/>([6.0.0-7.0.1] 0x8000000200002000)<br/>([1.0.0-5.1.0] 0x8000000000100008) || CanListApplicationAccessibleSaveDataOwnerId || ListApplicationAccessibleSaveDataOwnerId
+
| [5.0.0+] 0x27 || 0x8000000240002000 <br/>([6.0.0-7.0.1] 0x8000000200002000)<br/>([1.0.0-5.1.0] 0x8000000000100008) || CanListAccessibleSaveDataOwnerId || ListAccessibleSaveDataOwnerId
 
|-
 
|-
 
| [5.0.0+] 0x28 || 0x8000000000000000<br/>([1.0.0-5.1.0] 0x8000000080010000) || CanControlMmcPatrol || [[#SuspendMmcPatrol]], [[#ResumeMmcPatrol]]
 
| [5.0.0+] 0x28 || 0x8000000000000000<br/>([1.0.0-5.1.0] 0x8000000080010000) || CanControlMmcPatrol || [[#SuspendMmcPatrol]], [[#ResumeMmcPatrol]]
Line 468: Line 468:  
| [5.0.0+] 0x2D || 0x8000000000010000<br/>([1.0.0-5.1.0] 0x0000000080000001) || CanNotifySystemDataUpdateEvent || [[#NotifySystemDataUpdateEvent]]
 
| [5.0.0+] 0x2D || 0x8000000000010000<br/>([1.0.0-5.1.0] 0x0000000080000001) || CanNotifySystemDataUpdateEvent || [[#NotifySystemDataUpdateEvent]]
 
|-
 
|-
| [5.0.0+] 0x2E || 0x8000000100000000<br/>([1.0.0-5.1.0] 0x8000000040000000) || CanOpenAccessFailureDetectionEventNotifier || [[#OpenAccessFailureResolver]]
+
| [5.0.0+] 0x2E || 0x8000000100000000<br/>([1.0.0-5.1.0] 0x8000000040000000) || CanOpenAccessFailureDetectionEventNotifier || [[#OpenAccessFailureDetectionEventNotifier]]
 
|-
 
|-
 
| [5.0.0+] 0x2F || 0x8000000100000000<br/>([1.0.0-5.1.0] 0x8000000080200000) || CanGetAccessFailureDetectionEvent || [[#GetAccessFailureDetectionEvent]]
 
| [5.0.0+] 0x2F || 0x8000000100000000<br/>([1.0.0-5.1.0] 0x8000000080200000) || CanGetAccessFailureDetectionEvent || [[#GetAccessFailureDetectionEvent]]
Line 484: Line 484:  
| [6.0.0+] 0x35 || 0x8000000000200000 || CanSetSdCardAccessibility || [[#SetSdCardAccessibility]]
 
| [6.0.0+] 0x35 || 0x8000000000200000 || CanSetSdCardAccessibility || [[#SetSdCardAccessibility]]
 
|-
 
|-
| [6.0.0+] 0x36 || 0x4000000000000000 || CanSimulateGameCardDetectionEvent || SimulateGameCardDetectionEvent, SetSimulationEvent, ClearSimulationEvent
+
| [6.0.0+] 0x36 || 0x4000000000000000 || CanSimulateGameCardDetectionEvent || SimulateDeviceDetectionEvent, SetSimulationEvent, ClearSimulationEvent
 
|-
 
|-
 
| [6.0.0+] 0x37 || 0x8000000000000000<br/>([6.0.0-6.2.0] 0x8000000000080000) || CanSetDataStorageRedirectTarget || SetDataStorageRedirectTarget
 
| [6.0.0+] 0x37 || 0x8000000000000000<br/>([6.0.0-6.2.0] 0x8000000000080000) || CanSetDataStorageRedirectTarget || SetDataStorageRedirectTarget
Line 622: Line 622:  
[[NS_Services|NS]]-module reads the 0x10 bytes from SdCard:/Nintendo/Contents/private, and compares them to the first 0x10 bytes of the ns_appman:/private (in [[Flash_Filesystem#System_Savegames|system savedata]] 0x8000000000000043). If they match, NS calls this command using bytes 0x10-0x20 from ns_appman:/private. The rest of this file (0x1F0 bytes total) is (usually/always?) all-zero (however in some cases the byte at offset 0x20 is value 0x1).
 
[[NS_Services|NS]]-module reads the 0x10 bytes from SdCard:/Nintendo/Contents/private, and compares them to the first 0x10 bytes of the ns_appman:/private (in [[Flash_Filesystem#System_Savegames|system savedata]] 0x8000000000000043). If they match, NS calls this command using bytes 0x10-0x20 from ns_appman:/private. The rest of this file (0x1F0 bytes total) is (usually/always?) all-zero (however in some cases the byte at offset 0x20 is value 0x1).
   −
== OpenAccessFailureResolver ==
+
== OpenAccessFailureDetectionEventNotifier ==
 
Takes 8-bytes of input and returns an [[#IEventNotifier]].
 
Takes 8-bytes of input and returns an [[#IEventNotifier]].
   Line 900: Line 900:  
| 208 || GetGameCardIdSet
 
| 208 || GetGameCardIdSet
 
|-
 
|-
| 209 || WriteToGameCard
+
| 209 || WriteToGameCardDirectly
 
|-
 
|-
 
| 210 || SetVerifyWriteEnalbleFlag
 
| 210 || SetVerifyWriteEnalbleFlag
Line 932: Line 932:  
| 402 || [6.0.0+] GetSdmmcConnectionStatus (Takes a total of 4-bytes of input, returns a total of 8-bytes of output)
 
| 402 || [6.0.0+] GetSdmmcConnectionStatus (Takes a total of 4-bytes of input, returns a total of 8-bytes of output)
 
|-
 
|-
| 500 || [6.0.0+] SetSimulationEvent (Takes a total of 0x14-bytes of input, no output)
+
| 500 || [6.0.0+] SetDeviceSimulationEvent (Takes a total of 0x14-bytes of input, no output)
 
|-
 
|-
| 501 || [6.0.0+] ClearSimulationEvent (Takes a total of 4-bytes of input, no output)
+
| 501 || [6.0.0+] ClearDeviceSimulationEvent (Takes a total of 4-bytes of input, no output)
 
|}
 
|}
   Line 992: Line 992:  
! Cmd || Name
 
! Cmd || Name
 
|-
 
|-
| 0 || [[#Initialize]]
+
| 0 || [[#GetSaveDataInfo]]
 
|-
 
|-
 
| 1 || [[#GetRestSize]]
 
| 1 || [[#GetRestSize]]
Line 1,003: Line 1,003:  
This was added with [[4.0.0]].
 
This was added with [[4.0.0]].
   −
== Initialize ==
+
== GetSaveDataInfo ==
 
No input/output, takes a type-0x1A [[#SaveDataInfo]] output buffer.
 
No input/output, takes a type-0x1A [[#SaveDataInfo]] output buffer.
   Line 1,024: Line 1,024:  
! Cmd || Name
 
! Cmd || Name
 
|-
 
|-
| 0 || [[#Initialize]]
+
| 0 || [[#GetSaveDataInfo]]
 
|-
 
|-
 
| 1 || [[#GetRestSize]]
 
| 1 || [[#GetRestSize]]
Line 1,035: Line 1,035:  
This was added with [[4.0.0]].
 
This was added with [[4.0.0]].
   −
== Initialize ==
+
== GetSaveDataInfo ==
No input/output, takes a type-0x1A [[#SaveDataInfo]] output buffer.
+
No input/output, takes a type-0x1A [[#GetSaveDataInfo]] output buffer.
    
The actual name for this is the SaveDataImporter constructor. This is used automatically after [[#OpenSaveDataImporter]] by official sw.
 
The actual name for this is the SaveDataImporter constructor. This is used automatically after [[#OpenSaveDataImporter]] by official sw.
Line 1,060: Line 1,060:  
| 16 || [[#SetKeySeedPackage]]
 
| 16 || [[#SetKeySeedPackage]]
 
|-
 
|-
| 32 || [[#OpenSaveDataFullExporter]]
+
| 32 || [[#OpenSaveDataExporter]]
 
|-
 
|-
| 33 || [[#OpenSaveDataDiffExporter]]
+
| 33 || [[#OpenSaveDataExporterForDiffExport]]
 
|-
 
|-
 
| 34 || [6.0.0+] [[#OpenSaveDataExporterByContext]]
 
| 34 || [6.0.0+] [[#OpenSaveDataExporterByContext]]
 
|-
 
|-
| 64 || [[#OpenSaveDataFullImporter]]
+
|rowspan="2"| 64 || [5.0.0-5.1.0] OpenSaveDataImporter
 +
|-
 +
| [6.0.0+] [[#OpenSaveDataImporterDeprecated]]
 
|-
 
|-
| 65 || [[#OpenSaveDataDiffImporter]]
+
| 65 || [[#OpenSaveDataImporterForDiffImport]]
 
|-
 
|-
| 66 || [6.0.0+] [[#OpenSaveDataDuplicateDiffImporter]]
+
| 66 || [6.0.0+] [[#OpenSaveDataImporterForDuplicateDiffImport]]
 
|-
 
|-
 
| 67 || [6.0.0+] [[#OpenSaveDataImporter]]
 
| 67 || [6.0.0+] [[#OpenSaveDataImporter]]
Line 1,087: Line 1,089:  
No input/output, takes a type-0x5 input buffer containing the '''KeySeedPackage'''.
 
No input/output, takes a type-0x5 input buffer containing the '''KeySeedPackage'''.
   −
== OpenSaveDataFullExporter ==
+
== OpenSaveDataExporter ==
 
Takes an input u8 [[#SaveDataSpaceId]] and u64. Returns an [[#ISaveDataDivisionExporter]].
 
Takes an input u8 [[#SaveDataSpaceId]] and u64. Returns an [[#ISaveDataDivisionExporter]].
   −
== OpenSaveDataDiffExporter ==
+
== OpenSaveDataExporterForDiffExport ==
 
Takes an input u8 [[#SaveDataSpaceId]], an u64, and a type-0x5 input buffer [[#InitialDataVersion2]]. Returns an [[#ISaveDataDivisionExporter]].
 
Takes an input u8 [[#SaveDataSpaceId]], an u64, and a type-0x5 input buffer [[#InitialDataVersion2]]. Returns an [[#ISaveDataDivisionExporter]].
   Line 1,096: Line 1,098:  
No input/output, takes a type-0x5 input buffer, returns an [[#ISaveDataDivisionExporter]].
 
No input/output, takes a type-0x5 input buffer, returns an [[#ISaveDataDivisionExporter]].
   −
== OpenSaveDataFullImporter ==
+
== OpenSaveDataImporterDeprecated ==
 
Takes an input u8 [[#SaveDataSpaceId]], a 0x10-byte userID, and a type-0x5 input buffer [[#InitialDataVersion2]]. Returns an [[#ISaveDataDivisionImporter]].
 
Takes an input u8 [[#SaveDataSpaceId]], a 0x10-byte userID, and a type-0x5 input buffer [[#InitialDataVersion2]]. Returns an [[#ISaveDataDivisionImporter]].
   −
== OpenSaveDataDiffImporter ==
+
== OpenSaveDataImporterForDiffImport ==
 
Takes an input u8 [[#SaveDataSpaceId]], an u64, and a type-0x5 input buffer [[#InitialDataVersion2]], returns an [[#ISaveDataDivisionImporter]].
 
Takes an input u8 [[#SaveDataSpaceId]], an u64, and a type-0x5 input buffer [[#InitialDataVersion2]], returns an [[#ISaveDataDivisionImporter]].
   −
== OpenSaveDataDuplicateDiffImporter ==
+
== OpenSaveDataImporterForDuplicateDiffImport ==
 
Takes an input u8 and an u64, and a type-0x5 input buffer, returns an [[#ISaveDataDivisionImporter]].
 
Takes an input u8 and an u64, and a type-0x5 input buffer, returns an [[#ISaveDataDivisionImporter]].
   Line 1,235: Line 1,237:  
! Cmd || Name
 
! Cmd || Name
 
|-
 
|-
| 1 || ? (Takes an input [[#IFilesystem]], no output)
+
| 1 || Add (Takes an input [[#IFilesystem]], no output)
 
|-
 
|-
| 2 || ? (No input/output)
+
| 2 || Commit (No input/output)
 
|}
 
|}
  
11

edits