Application Manager Services PXI: Difference between revisions

Neimod (talk | contribs)
No edit summary
ElementW (talk | contribs)
m Add anchors
 
(131 intermediate revisions by 13 users not shown)
Line 1: Line 1:
{{Anchor|AMPXI}}{{Anchor|pxi:am9}}
=Application Manager Services PXI "pxi:am9"=
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
!  Command Header
!  Command Header
!  Available since system version
!  Description
!  Description
|-
|-
| 0x00010040
| 0x00010040
| [[1.0.0-0]]
| [[AMPXI:GetTitleCount|GetTitleCount]]
| [[AMPXI:GetTitleCount|GetTitleCount]]
|-
|-
| 0x00020082
| 0x00020082
| [[1.0.0-0]]
| [[AMPXI:GetTitleList|GetTitleList]]
| [[AMPXI:GetTitleList|GetTitleList]]
|-
|-
| 0x00030084
| 0x00030084
| [[1.0.0-0]]
| [[AMPXI:GetTitleInfo|GetTitleInfo]]
| [[AMPXI:GetTitleInfo|GetTitleInfo]]
|-
| 0x000400C0
| [[1.0.0-0]]
| [[AMPXI:DeleteTitle|DeleteTitle]]
|-
| 0x000500C0
| [[1.0.0-0]]
| [[AMPXI:GetTitleProductCode|GetTitleProductCode]]
|-
| 0x000600C0
| [[1.0.0-0]]
| [[AMPXI:GetTitleExtDataId|GetTitleExtDataId]]
|-
| 0x00070080
| [[1.0.0-0]]
| [[AMPXI:DeletePendingTitles|DeletePendingTitles]]
|-
| 0x00080080
| [[1.0.0-0]]
| [[AMPXI:InstallFIRM|InstallFIRM]]
|-
| 0x00090000
| [[1.0.0-0]]
| [[AMPXI:InstallTikBegin|InstallTikBegin]]
|-
| 0x000A0042
| [[1.0.0-0]]
| [[AMPXI:InstallTikWrite|InstallTikWrite]]
|-
| 0x000B0000
| [[1.0.0-0]]
| [[AMPXI:InstallTikAbort|InstallTikAbort]]
|-
| 0x000C0000
| [[1.0.0-0]]
| [[AMPXI:InstallTikFinish|InstallTikFinish]]
|-
| 0x000D0080
| [[1.0.0-0]]
| [[AMPXI:DeleteTicket|DeleteTicket]]
|-
|-
| 0x000E0000
| 0x000E0000
| GetTitleCount2
| [[1.0.0-0]]
| [[AMPXI:GetTicketCount|GetTicketCount]]
|-
|-
| 0x000F0082
| 0x000F0082
| GetTitleList2
| [[1.0.0-0]]
| [[AMPXI:GetTicketList|GetTicketList]]
|-
|-
| 0x00100100
| 0x00100100
| InstallTitleBegin (?)
| [[1.0.0-0]]
| [[AMPXI:InstallTitleBegin|InstallTitleBegin]]
|-
|-
| 0x00110000
| 0x00110000
| InstallTitleAbort (?)
| [[1.0.0-0]]
| [[AMPXI:InstallTitleStop|InstallTitleStop]]
|-
|-
| 0x00120100
| 0x001200C0
| InstallTitleResume (?)
| [[1.0.0-0]]
| [[AMPXI:InstallTitleResume|InstallTitleResume]]
|-
|-
| 0x00130000
| 0x00130000
| InstallTmdBegin (?)
| [[1.0.0-0]]
| [[AMPXI:InstallTmdBegin|InstallTmdBegin]]
|-
|-
| 0x00140042
| 0x00140042
| [[1.0.0-0]]
| [[AMPXI:InstallTmdWrite|InstallTmdWrite]]
| [[AMPXI:InstallTmdWrite|InstallTmdWrite]]
|-
| 0x00150000
| [[1.0.0-0]]
| [[AMPXI:InstallTmdAbort|InstallTmdAbort]]
|-
|-
| 0x00160040
| 0x00160040
| InstallTmdFinish (?)
| [[1.0.0-0]]
| [[AMPXI:InstallTmdFinish|InstallTmdFinish]]
|-
|-
| 0x00170040
| 0x00170040
| [[1.0.0-0]]
| [[AMPXI:InstallContentBegin|InstallContentBegin]]
| [[AMPXI:InstallContentBegin|InstallContentBegin]]
|-
|-
| 0x00180042
| 0x00180042
| [[1.0.0-0]]
| [[AMPXI:InstallContentWrite|InstallContentWrite]]
| [[AMPXI:InstallContentWrite|InstallContentWrite]]
|-
|-
| 0x00190000
| 0x00190000
| InstallContentAbort (?)
| [[1.0.0-0]]
| [[AMPXI:InstallContentStop|InstallContentStop]]
|-
|-
| 0x001B0000
| 0x001A0000
| [[1.0.0-0]]
| [[AMPXI:InstallContentAbort|InstallContentAbort]]
|-
| 0x001B0040
| [[1.0.0-0]]
| [[AMPXI:InstallContentResume|InstallContentResume]]
| [[AMPXI:InstallContentResume|InstallContentResume]]
|-
|-
| 0x001C0000
| 0x001C0000
| [[1.0.0-0]]
| [[AMPXI:InstallContentFinish|InstallContentFinish]]
| [[AMPXI:InstallContentFinish|InstallContentFinish]]
|-
| 0x001D0080
| [[1.0.0-0]]
| [[AMPXI:GetPendingTitleCount|GetPendingTitleCount]]
|-
| 0x001E00C2
| [[1.0.0-0]]
| [[AMPXI:GetPendingTitleList|GetPendingTitleList]]
|-
|-
| 0x001F0084
| 0x001F0084
| GetTitleInfo2
| [[1.0.0-0]]
| [[AMPXI:GetPendingTitleInfo|GetPendingTitleInfo]]
|-
|-
| 0x00250000  
| 0x002000C0
| GetContentCount (?)
| [[1.0.0-0]]
| [[AMPXI:DeletePendingTitle|DeletePendingTitle]]
|-
| 0x002100C0
| [[1.0.0-0]]
| [[AMPXI:GetNumImportContentContexts|GetNumImportContentContexts]]
|-
| 0x00220102
| [[1.0.0-0]]
| [[AMPXI:GetImportContentContextList|GetImportContentContextList]]
|-
| 0x00230104
| [[1.0.0-0]]
| [[AMPXI:GetImportContentContexts|GetImportContentContexts]]
|-
| 0x00240102
| [[1.0.0-0]]
| [[AMPXI:DeleteImportContentContexts|DeleteImportContentContexts]]
|-
| 0x00250000
| [[1.0.0-0]]
| [[AMPXI:GetNumCurrentImportContentContexts|GetNumCurrentImportContentContexts]]
|-
|-
| 0x00260042
| 0x00260042
| GetContentIds (?)
| [[1.0.0-0]]
| [[AMPXI:GetCurrentImportContentContextList|GetCurrentImportContentContextList]]
|-
|-
| 0x00270044
| 0x00270044
| GetContentInfoForIds (?)
| [[1.0.0-0]]
| [[AMPXI:GetCurrentImportContentContexts|GetCurrentImportContentContexts]]
|-
| 0x00280000
| [[1.0.0-0]]
| [[AMPXI:InstallTitleAbort|InstallTitleAbort]]
|-
|-
| 0x00290000
| 0x00290000
| InstallTitleFinish (?)
| [[1.0.0-0]]
| [[AMPXI:InstallTitleFinish|InstallTitleFinish]]
|-
| 0x002A00C2
| [[1.0.0-0]]
| [[AMPXI:CommitImportPrograms|CommitImportPrograms]]
|-
| 0x002B....
| [[1.0.0-0]]
| Stubbed.
|-
| 0x002C....
| [[1.0.0-0]]
| Stubbed.
|-
| 0x002D....
| [[1.0.0-0]]
| Stubbed.
|-
| 0x002E....
| [[1.0.0-0]]
| Stubbed.
|-
| 0x002F....
| [[1.0.0-0]]
| Stubbed.
|-
| 0x0030....
| [[1.0.0-0]]
| Stubbed.
|-
| 0x0031....
| [[1.0.0-0]]
| Stubbed.
|-
| 0x0032....
| [[1.0.0-0]]
| Stubbed.
|-
| 0x0033....
| [[1.0.0-0]]
| Stubbed.
|-
| 0x0034....
| [[1.0.0-0]]
| Stubbed.
|-
| 0x0035....
| [[1.0.0-0]]
| Stubbed.
|-
| 0x0036....
| [[1.0.0-0]]
| Stubbed.
|-
| 0x0037....
| [[1.0.0-0]]
| Stubbed.
|-
| 0x0038....
| [[1.0.0-0]]
| Stubbed.
|-
| 0x00390146
| [[1.0.0-0]]
| [[AMPXI:Sign|Sign]]
|-
| 0x003A0146
| [[1.0.0-0]]
| Stubbed.
|-
| 0x003B0042
| [[1.0.0-0]]
| [[AMPXI:GetCTCert|GetCTCert]]
|-
| 0x003C0000
| [[1.0.0-0]]
| [[AMPXI:GetDeviceID|GetDeviceID]]
|-
| 0x003D0108
| [[1.0.0-0]]
| [[AMPXI:SetCertificates|SetCertificates]]
|-
| 0x003E0042
| [[1.0.0-0]]
| [[AMPXI:SetCertificate|SetCertificate]]
|-
| 0x003F0040
| [[1.0.0-0]]
| [[AMPXI:IsImportDatabaseInitialized|IsImportDatabaseInitialized]]
|-
| 0x00400040
| [[1.0.0-0]]
| [[AMPXI:DoCleanup|DoCleanup]]
|-
| 0x00410000
| [[1.0.0-0]]
| [[AMPXI:DeleteAllTemporaryPrograms|DeleteAllTemporaryPrograms]]
|-
| 0x00420142
| [[1.0.0-0]]
| [[AMPXI:InstallTitlesFinishFIRM|InstallTitlesFinishFIRM]]
|-
| 0x004301C8
| [[2.0.0-2]]
| [[AMPXI:VerifyDSiWareFooter|VerifyDSiWareFooter]]
|-
| 0x004400C4
| [[2.0.0-2]]
| This does basically nothing: after checking the two buffers' mem-ranges successfully(on failure it executes svcBreak like all other Process9 code for that), this just returns 0x0.
|-
| 0x00450108
| [[2.0.0-2]]
| [[AMPXI:DecryptDSiWareData|DecryptDSiWareData]]
|-
| 0x00460182
| [[2.0.0-2]]
| [[AMPXI:WriteTWLSavedata|WriteTWLSavedata]]
|-
| 0x00470080
| [[2.0.0-2]]
| [[AMPXI:InitializeTitleDatabase|InitializeTitleDatabase]]
|-
| 0x00480040
| [[2.0.0-2]]
| [[AMPXI:ReloadDBS|ReloadDBS]]
|-
| 0x00490080
| [[2.0.0-2]]
| [[AMPXI:GetNumTicketIds|GetNumTicketIds]]
|-
| 0x004A0102
| [[2.0.0-2]]
| [[AMPXI:GetTicketIdList|GetTicketIdList]]
|-
| 0x004B0100
| [[2.0.0-2]]
| [[AMPXI:DeleteTicketId|DeleteTicketId]]
|-
| 0x004C0042
| [[2.0.0-2]]
| [[AMPXI:GetPersonalizedTicketInfoList|GetPersonalizedTicketInfoList]]
|-
| 0x004D0144
| [[2.0.0-2]]
| [[AMPXI:ExportDSiWare|ExportDSiWare]]
|-
| 0x004E00C0
| [[2.0.0-2]]
| [[AMPXI:BeginInstallDSiWareExport|BeginInstallDSiWareExport]]
|-
| 0x004F00C0
| [[2.0.0-2]]
| [[AMPXI:GetDSiWareExportSize|GetDSiWareExportSize]]
|-
| 0x00500044
| [[2.0.0-2]]
| [[AMPXI:GetTwlProgramListForReboot|GetTwlProgramListForReboot]]
|-
| 0x00510000
| [[2.0.0-2]]
| [[AMPXI:DeleteAllTwlUserPrograms|DeleteAllTwlUserPrograms]]
|-
| 0x00520040
| [[2.0.0-2]]
| [[AMPXI:DeleteAllExpiredUserPrograms|DeleteAllExpiredUserPrograms]]
|-
| 0x00530084
| [[2.0.0-2]]
| [[AMPXI:ValidateDSiWareMovableSedHash|ValidateDSiWareMovableSedHash]]
|-
| 0x00540000
| [[2.0.0-2]]
| [[AMPXI:GetTWLPartitionInfo|GetTWLPartitionInfo]]
|-
| 0x005500C4
| [[2.0.0-2]]
| [[AMPXI:ValidateDSiWareSectionMAC|ValidateDSiWareSectionMAC]]
|-
| 0x005600C0
| [[2.0.0-2]]
| [[AMPXI:CheckContentRights|CheckContentRights]]
|-
| 0x00570042
| [[4.0.0-7]]
| [[AMPXI:CreateImportContentContexts|CreateImportContentContexts]]
|-
| 0x005800C0
| [[4.0.0-7]]
| [[AMPXI:GetNumContentInfos|GetNumContentInfos]]
|-
| 0x00590104
| [[4.0.0-7]]
| [[AMPXI:FindContentInfos|FindContentInfos]]
|-
| 0x005A0142
| [[4.0.0-7]]
| [[AMPXI:ListContentInfos|ListContentInfos]]
|-
| 0x005B0000
| [[4.0.0-7]]
| [[AMPXI:GetNumCurrentContentInfos|GetNumCurrentContentInfos]]
|-
| 0x005C0044
| [[4.0.0-7]]
| [[AMPXI:FindCurrentContentInfos|FindCurrentContentInfos]]
|-
| 0x005D0082
| [[4.0.0-7]]
| [[AMPXI:ListCurrentContentInfos|ListCurrentContentInfos]]
|-
| 0x005E0102
| [[4.0.0-7]]
| [[AMPXI:DeleteContents|DeleteContents]]
|-
| 0x005F0080
| [[4.0.0-7]]
| [[AMPXI:GetNumTicketsOfProgram|GetNumTicketsOfProgram]]
|-
| 0x00600102
| [[4.0.0-7]]
| [[AMPXI:ListDataTitleTicketInfos|ListDataTitleTicketInfos]]
|-
| 0x00610142
| [[4.0.0-7]]
| [[AMPXI:ExportLicenseTicket|ExportLicenseTicket]]
|-
| 0x00620044
| [[4.0.0-7]]
| [[AMPXI:GetTicketLimitInfos|GetTicketLimitInfos]]
|-
| 0x00630042
| [[4.0.0-7]]
| [[AMPXI:UpdateImportContentContexts|UpdateImportContentContexts]]
|-
| 0x006400C0
| [[4.0.0-7]]
| [[AMPXI:GetInternalTitleLocationInfo|GetInternalTitleLocationInfo]]
|-
| 0x006500C0
| [[4.0.0-7]]
| [[AMPXI:MigrateAGBtoSAV|MigrateAGBtoSAV]]
|-
| 0x0066....
| [[4.0.0-7]]
| Stubbed starting with [[4.0.0-7]].
|-
| 0x00670082
| [[4.0.0-7]]
| [[AMPXI:DeleteProgramsAtomically|DeleteProgramsAtomically]]
|-
| 0x006801C2
| [[4.0.0-7]]
| [[AMPXI:GetItemRights|GetItemRights]]
|-
| 0x006900C0
| [[4.0.0-7]]
| [[AMPXI:IsDataTitleInUse|IsDataTitleInUse]]
|-
| 0x006A00C0
| [[4.0.0-7]]
| [[AMPXI:GetNumExistingContentInfos|GetNumExistingContentInfos]]
|-
| 0x006B0142
| [[4.0.0-7]]
| [[AMPXI:ListExistingContentInfos|ListExistingContentInfos]]
|-
| 0x006C00C0
| [[5.0.0-11]]
| [[AMPXI:InstallTitleBeginForOverwrite|InstallTitleBeginForOverwrite]]
|-
| 0x006D0184
| [[11.8.0-41]]
| [[AMPXI:ExportTicketWrapped|ExportTicketWrapped]]
|}
 
=Errors=
{| class="wikitable" border="1"
|-
!  Error-code
!  Description
|-
| 0xC8A0802B
| This indicates the the [[Title_Database|dbs]] image(.db) does not exist, or opening the .db file failed.
|-
| 0xC8E083FC
| This error indicates that the title is already installed, with the same title-version as the title being installed?
|-
| 0xD8E08027
| Invalid title-version, or the title-version of the title being installed is older than the currently installed title-version.
|-
| 0xD8A08004
| Wrong installation state.
|-
| 0xD8E08020
| CIA file is empty.
|-
| 0xD8E08025
| Invalid NCCH. returned from InstallContentFinish
|-
| 0xD8A08029
| Error-type 1
|-
| 0xD8E08065
| Error-type -1
|-
| 0xD8E08065+1 / 0xD8E08066
| Error-type -2
|-
| 0xD8E08065+2 / 0xD8E08067
| Error-type -3. Returned when a CIA header is invalid.
|-
| 0xD8E08065+3 / 0xD8E08068
| Error-type -4
|-
| 0xD8E08065+4 / 0xD8E08069
| Error-type -5
|-
| 0xD8E08065+5 / 0xD8E0806A
| Error-type -6. Returned when a function returns error -2011: signature or hash check for cert(TMD/TIK/cert-chain, ...) failed.
|-
| 0xD8E08065+6 / 0xD8E0806B
| Error-type -7
|-
| 0xD8E08065+7 / 0xD8E0806C
| Error-type -8
|-
| 0xD8E08065+8 / 0xD8E0806D
| Error-type -9
|-
| 0xD8E08065+9 / 0xD8E0806E
| Error-type -10
|-
| 0xD8E08065+10 / 0xD8E0806F
| Error-type -11
|-
| 0xD8E08065+11 / 0xD8E08070
| Error-type -12
|-
| 0xD8E08065+12 / 0xD8E08071
| Error-type -13
|-
| 0xD8E08065+13 / 0xD8E08072
| Error-type -14
|-
| 0xD8A083FA
| Invalid titleID(?) / the specified title(s) don't exist.
|-
| 0xE0E0802C
| AM module returns this error when the system-title bit is set for the input CTR/TWL titleID-high, for [[AM:DeleteApplicationTitle]].
|}
|}