Application Manager Services PXI: Difference between revisions

ElementW (talk | contribs)
m Add anchors
 
(81 intermediate revisions by 10 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"
|-
|-
Line 27: Line 29:
| 0x000600C0
| 0x000600C0
| [[1.0.0-0]]
| [[1.0.0-0]]
| (unknown_u8, unknown_u64)
| [[AMPXI:GetTitleExtDataId|GetTitleExtDataId]]
|-
|-
| 0x00070080
| 0x00070080
| [[1.0.0-0]]
| [[1.0.0-0]]
| (unknown_u8, unknown_u32)
| [[AMPXI:DeletePendingTitles|DeletePendingTitles]]
|-
|-
| 0x00080080
| 0x00080080
Line 39: Line 41:
| 0x00090000
| 0x00090000
| [[1.0.0-0]]
| [[1.0.0-0]]
| InstallTikBegin
| [[AMPXI:InstallTikBegin|InstallTikBegin]]
|-
|-
| 0x000A0042
| 0x000A0042
| [[1.0.0-0]]
| [[1.0.0-0]]
| InstallTikWrite (size, ptr, ptrsize)
| [[AMPXI:InstallTikWrite|InstallTikWrite]]
|-
|-
| 0x000B0000
| 0x000B0000
| [[1.0.0-0]]
| [[1.0.0-0]]
|  
| [[AMPXI:InstallTikAbort|InstallTikAbort]]
|-
|-
| 0x000C0000
| 0x000C0000
| [[1.0.0-0]]
| [[1.0.0-0]]
| InstallTikFinish
| [[AMPXI:InstallTikFinish|InstallTikFinish]]
|-
|-
| 0x000D0080
| 0x000D0080
| [[1.0.0-0]]
| [[1.0.0-0]]
| (unknown_u64)
| [[AMPXI:DeleteTicket|DeleteTicket]]
|-
|-
| 0x000E0000
| 0x000E0000
| [[1.0.0-0]]
| [[1.0.0-0]]
| GetTitleAllCount
| [[AMPXI:GetTicketCount|GetTicketCount]]
|-
|-
| 0x000F0082
| 0x000F0082
| [[1.0.0-0]]
| [[1.0.0-0]]
| GetTitleAllList
| [[AMPXI:GetTicketList|GetTicketList]]
|-
|-
| 0x00100100
| 0x00100100
| [[1.0.0-0]]
| [[1.0.0-0]]
| InstallTitleBegin (?)
| [[AMPXI:InstallTitleBegin|InstallTitleBegin]]
|-
|-
| 0x00110000
| 0x00110000
| [[1.0.0-0]]
| [[1.0.0-0]]
| InstallTitleAbort (?)
| [[AMPXI:InstallTitleStop|InstallTitleStop]]
|-
|-
| 0x00120100
| 0x001200C0
| [[1.0.0-0]]
| [[1.0.0-0]]
| InstallTitleResume (?)
| [[AMPXI:InstallTitleResume|InstallTitleResume]]
|-
|-
| 0x00130000
| 0x00130000
| [[1.0.0-0]]
| [[1.0.0-0]]
| InstallTmdBegin (?)
| [[AMPXI:InstallTmdBegin|InstallTmdBegin]]
|-
|-
| 0x00140042
| 0x00140042
Line 87: Line 89:
| 0x00150000
| 0x00150000
| [[1.0.0-0]]
| [[1.0.0-0]]
|  
| [[AMPXI:InstallTmdAbort|InstallTmdAbort]]
|-
|-
| 0x00160040
| 0x00160040
| [[1.0.0-0]]
| [[1.0.0-0]]
| InstallTmdFinish (?)
| [[AMPXI:InstallTmdFinish|InstallTmdFinish]]
|-
|-
| 0x00170040
| 0x00170040
Line 103: Line 105:
| 0x00190000
| 0x00190000
| [[1.0.0-0]]
| [[1.0.0-0]]
| InstallContentAbort (?)
| [[AMPXI:InstallContentStop|InstallContentStop]]
|-
|-
| 0x001A0000
| 0x001A0000
| [[1.0.0-0]]
| [[1.0.0-0]]
|  
| [[AMPXI:InstallContentAbort|InstallContentAbort]]
|-
|-
| 0x001B0040
| 0x001B0040
Line 117: Line 119:
| [[AMPXI:InstallContentFinish|InstallContentFinish]]
| [[AMPXI:InstallContentFinish|InstallContentFinish]]
|-
|-
| 0x001D0040
| 0x001D0080
| [[1.0.0-0]]
| [[1.0.0-0]]
| (unknown_u8, unknown_u32)
| [[AMPXI:GetPendingTitleCount|GetPendingTitleCount]]
|-
|-
| 0x001E00C2
| 0x001E00C2
| [[1.0.0-0]]
| [[1.0.0-0]]
| (unknown_entrycount, unknown_u8, unknown_u32, ptr, ptrsize)
| [[AMPXI:GetPendingTitleList|GetPendingTitleList]]
|-
|-
| 0x001F0084
| 0x001F0084
| [[1.0.0-0]]
| [[1.0.0-0]]
| [[AMPXI:GetTitleTemporaryInfo|GetTitleTemporaryInfo]]
| [[AMPXI:GetPendingTitleInfo|GetPendingTitleInfo]]
|-
|-
| 0x002000C0
| 0x002000C0
| [[1.0.0-0]]
| [[1.0.0-0]]
| (unknown_u8, unknown_u64)
| [[AMPXI:DeletePendingTitle|DeletePendingTitle]]
|-
|-
| 0x002100C0
| 0x002100C0
| [[1.0.0-0]]
| [[1.0.0-0]]
| (unknown_u8, unknown_u64)
| [[AMPXI:GetNumImportContentContexts|GetNumImportContentContexts]]
|-
|-
| 0x00220102
| 0x00220102
| [[1.0.0-0]]
| [[1.0.0-0]]
| (count, unknown_u8, unknown_u64, ptrsize_count_mul_2, ptr)
| [[AMPXI:GetImportContentContextList|GetImportContentContextList]]
|-
|-
| 0x00230104
| 0x00230104
| [[1.0.0-0]]
| [[1.0.0-0]]
| (count, unknown_u8, unknown_u64, ptr1size_count_mul_2, ptr1, ptr2size_count_mul_24, ptr2)
| [[AMPXI:GetImportContentContexts|GetImportContentContexts]]
|-
|-
| 0x00240102
| 0x00240102
| [[1.0.0-0]]
| [[1.0.0-0]]
| (count, unknown_u8, unknown_u64, ptrsize_count_mul2, ptr)
| [[AMPXI:DeleteImportContentContexts|DeleteImportContentContexts]]
|-
|-
| 0x00250000
| 0x00250000
| [[1.0.0-0]]  
| [[1.0.0-0]]  
| GetContentCount (?)
| [[AMPXI:GetNumCurrentImportContentContexts|GetNumCurrentImportContentContexts]]
|-
|-
| 0x00260042
| 0x00260042
| [[1.0.0-0]]
| [[1.0.0-0]]
| GetContentIds (?)
| [[AMPXI:GetCurrentImportContentContextList|GetCurrentImportContentContextList]]
|-
|-
| 0x00270044
| 0x00270044
| [[1.0.0-0]]
| [[1.0.0-0]]
| GetContentInfoForIds (?)
| [[AMPXI:GetCurrentImportContentContexts|GetCurrentImportContentContexts]]
|-
|-
| 0x00280000
| 0x00280000
| [[1.0.0-0]]
| [[1.0.0-0]]
|  
| [[AMPXI:InstallTitleAbort|InstallTitleAbort]]
|-
|-
| 0x00290000
| 0x00290000
| [[1.0.0-0]]
| [[1.0.0-0]]
| InstallTitleFinish (?)
| [[AMPXI:InstallTitleFinish|InstallTitleFinish]]
|-
|-
| 0x002A00C2
| 0x002A00C2
| [[1.0.0-0]]
| [[1.0.0-0]]
| (unknown_u8, count, unknown_u8, ptrsize_count_mul_8, ptr)
| [[AMPXI:CommitImportPrograms|CommitImportPrograms]]
|-
|-
| 0x002B....
| 0x002B....
| [[1.0.0-0]]
| [[1.0.0-0]]
| ?
| Stubbed.
|-
|-
| 0x002C....
| 0x002C....
| [[1.0.0-0]]
| [[1.0.0-0]]
| ?
| Stubbed.
|-
|-
| 0x002D....
| 0x002D....
| [[1.0.0-0]]
| [[1.0.0-0]]
| ?
| Stubbed.
|-
|-
| 0x002E....
| 0x002E....
| [[1.0.0-0]]
| [[1.0.0-0]]
| ?
| Stubbed.
|-
|-
| 0x002F....
| 0x002F....
| [[1.0.0-0]]
| [[1.0.0-0]]
| ?
| Stubbed.
|-
|-
| 0x0030....
| 0x0030....
| [[1.0.0-0]]
| [[1.0.0-0]]
| ?
| Stubbed.
|-
|-
| 0x0031....
| 0x0031....
| [[1.0.0-0]]
| [[1.0.0-0]]
| ?
| Stubbed.
|-
|-
| 0x0032....
| 0x0032....
| [[1.0.0-0]]
| [[1.0.0-0]]
| ?
| Stubbed.
|-
|-
| 0x0033....
| 0x0033....
| [[1.0.0-0]]
| [[1.0.0-0]]
| ?
| Stubbed.
|-
|-
| 0x0034....
| 0x0034....
| [[1.0.0-0]]
| [[1.0.0-0]]
| ?
| Stubbed.
|-
|-
| 0x0035....
| 0x0035....
| [[1.0.0-0]]
| [[1.0.0-0]]
| ?
| Stubbed.
|-
|-
| 0x0036....
| 0x0036....
| [[1.0.0-0]]
| [[1.0.0-0]]
| ?
| Stubbed.
|-
|-
| 0x0037....
| 0x0037....
| [[1.0.0-0]]
| [[1.0.0-0]]
| ?
| Stubbed.
|-
|-
| 0x0038....
| 0x0038....
| [[1.0.0-0]]
| [[1.0.0-0]]
| ?
| Stubbed.
|-
|-
| 0x00390146
| 0x00390146
| [[1.0.0-0]]
| [[1.0.0-0]]
| (size2, size3, unknown_u64, size1, ptr1size_size1, ptr1, ptr2size_size2, ptr2, ptr3size_size3, ptr3)
| [[AMPXI:Sign|Sign]]
|-
|-
| 0x003A0146
| 0x003A0146
| [[1.0.0-0]]
| [[1.0.0-0]]
| (unknown_u64, size1, size2, size3, ptr1size_size1, ptr1, ptr2size_size2, ptr2, ptr3size_size3, ptr3)
| Stubbed.
|-
|-
| 0x003B0042
| 0x003B0042
| [[1.0.0-0]]
| [[1.0.0-0]]
| (size, ptrsize, ptr)
| [[AMPXI:GetCTCert|GetCTCert]]
|-
|-
| 0x003C0000
| 0x003C0000
| [[1.0.0-0]]
| [[1.0.0-0]]
|  
| [[AMPXI:GetDeviceID|GetDeviceID]]
|-
|-
| 0x003D0108
| 0x003D0108
| [[1.0.0-0]]
| [[1.0.0-0]]
| (size1, size2, size3, size4, ptr1size, ptr1, ptr2size, ptr2, ptr3size, ptr3, ptr4size, ptr4)
| [[AMPXI:SetCertificates|SetCertificates]]
|-
|-
| 0x003E0042
| 0x003E0042
| [[1.0.0-0]]
| [[1.0.0-0]]
| (size, ptrsize, ptr)
| [[AMPXI:SetCertificate|SetCertificate]]
|-
|-
| 0x003F0040
| 0x003F0040
| [[1.0.0-0]]
| [[1.0.0-0]]
| (unknown_u8)
| [[AMPXI:IsImportDatabaseInitialized|IsImportDatabaseInitialized]]
|-
|-
| 0x00400040
| 0x00400040
| [[1.0.0-0]]
| [[1.0.0-0]]
| FinishInstallToMedia (u8 mediatype)
| [[AMPXI:DoCleanup|DoCleanup]]
|-
|-
| 0x00410000
| 0x00410000
| [[1.0.0-0]]
| [[1.0.0-0]]
|  
| [[AMPXI:DeleteAllTemporaryPrograms|DeleteAllTemporaryPrograms]]
|-
|-
| 0x00420142
| 0x00420142
| [[1.0.0-0]]
| [[1.0.0-0]]
| InstallCommit
| [[AMPXI:InstallTitlesFinishFIRM|InstallTitlesFinishFIRM]]
|-
|-
| 0x004301C8
| 0x004301C8
Line 275: Line 277:
| 0x004400C4
| 0x004400C4
| [[2.0.0-2]]
| [[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
| 0x00450108
| [[2.0.0-2]]
| [[2.0.0-2]]
| (size1, size3, size2, unknown_u8, ptr1size, ptr1, ptr2size, ptr2, ptr3size, ptr3, ptr4size_size2, ptr4) (DecryptDSiWareData)
| [[AMPXI:DecryptDSiWareData|DecryptDSiWareData]]
|-
|-
| 0x00460182
| 0x00460182
Line 287: Line 289:
| 0x00470080
| 0x00470080
| [[2.0.0-2]]
| [[2.0.0-2]]
| (unknown_u8, unknown_u8)
| [[AMPXI:InitializeTitleDatabase|InitializeTitleDatabase]]
|-
|-
| 0x00480040
| 0x00480040
Line 295: Line 297:
| 0x00490080
| 0x00490080
| [[2.0.0-2]]
| [[2.0.0-2]]
| (unknown_u64)
| [[AMPXI:GetNumTicketIds|GetNumTicketIds]]
|-
|-
| 0x004A0102
| 0x004A0102
| [[2.0.0-2]]
| [[2.0.0-2]]
| (count, unknown_u64, unknown_u8, ptrsize_count_mul_8, ptr)
| [[AMPXI:GetTicketIdList|GetTicketIdList]]
|-
|-
| 0x004B0100
| 0x004B0100
| [[2.0.0-2]]
| [[2.0.0-2]]
| (unknown_u64, unknown_u64)
| [[AMPXI:DeleteTicketId|DeleteTicketId]]
|-
|-
| 0x004C0042
| 0x004C0042
| [[2.0.0-2]]
| [[2.0.0-2]]
| (count, ptrsize_count_mul_24, ptr)
| [[AMPXI:GetPersonalizedTicketInfoList|GetPersonalizedTicketInfoList]]
|-
|-
| 0x004D0144
| 0x004D0144
Line 315: Line 317:
| 0x004E00C0
| 0x004E00C0
| [[2.0.0-2]]
| [[2.0.0-2]]
| (unknown_u64, unknown_u8)
| [[AMPXI:BeginInstallDSiWareExport|BeginInstallDSiWareExport]]
|-
|-
| 0x004F00C0
| 0x004F00C0
Line 323: Line 325:
| 0x00500044
| 0x00500044
| [[2.0.0-2]]
| [[2.0.0-2]]
| (count, ptr1size_count_mul_8, ptr1, ptr2size_count_mul_4, ptr2)
| [[AMPXI:GetTwlProgramListForReboot|GetTwlProgramListForReboot]]
|-
|-
| 0x00510000
| 0x00510000
| [[2.0.0-2]]
| [[2.0.0-2]]
|  
| [[AMPXI:DeleteAllTwlUserPrograms|DeleteAllTwlUserPrograms]]
|-
|-
| 0x00520040
| 0x00520040
| [[2.0.0-2]]
| [[2.0.0-2]]
| (unknown_u8)
| [[AMPXI:DeleteAllExpiredUserPrograms|DeleteAllExpiredUserPrograms]]
|-
|-
| 0x00530084
| 0x00530084
Line 339: Line 341:
| 0x00540000
| 0x00540000
| [[2.0.0-2]]
| [[2.0.0-2]]
|  
| [[AMPXI:GetTWLPartitionInfo|GetTWLPartitionInfo]]
|-
|-
| 0x005500C4
| 0x005500C4
Line 347: Line 349:
| 0x005600C0
| 0x005600C0
| [[2.0.0-2]]
| [[2.0.0-2]]
| (unknown_u64, unknown_u16)
| [[AMPXI:CheckContentRights|CheckContentRights]]
|-
|-
| 0x00570042
| 0x00570042
| [[4.0.0-7]]
| [[4.0.0-7]]
| ?
| [[AMPXI:CreateImportContentContexts|CreateImportContentContexts]]
|-
|-
| 0x0058....
| 0x005800C0
| [[4.0.0-7]]
| [[4.0.0-7]]
| ?
| [[AMPXI:GetNumContentInfos|GetNumContentInfos]]
|-
|-
| 0x00590104
| 0x00590104
| [[4.0.0-7]]
| [[4.0.0-7]]
| ?
| [[AMPXI:FindContentInfos|FindContentInfos]]
|-
|-
| 0x005A0142
| 0x005A0142
| [[4.0.0-7]]
| [[4.0.0-7]]
| ?
| [[AMPXI:ListContentInfos|ListContentInfos]]
|-
|-
| 0x005B....
| 0x005B0000
| [[4.0.0-7]]
| [[4.0.0-7]]
| ?
| [[AMPXI:GetNumCurrentContentInfos|GetNumCurrentContentInfos]]
|-
|-
| 0x005C0044
| 0x005C0044
| [[4.0.0-7]]
| [[4.0.0-7]]
| ?
| [[AMPXI:FindCurrentContentInfos|FindCurrentContentInfos]]
|-
|-
| 0x005D0082
| 0x005D0082
| [[4.0.0-7]]
| [[4.0.0-7]]
| ?
| [[AMPXI:ListCurrentContentInfos|ListCurrentContentInfos]]
|-
|-
| 0x005E0102
| 0x005E0102
| [[4.0.0-7]]
| [[4.0.0-7]]
| ?
| [[AMPXI:DeleteContents|DeleteContents]]
|-
|-
| 0x005F....
| 0x005F0080
| [[4.0.0-7]]
| [[4.0.0-7]]
| ?
| [[AMPXI:GetNumTicketsOfProgram|GetNumTicketsOfProgram]]
|-
|-
| 0x00600102
| 0x00600102
| [[4.0.0-7]]
| [[4.0.0-7]]
| ?
| [[AMPXI:ListDataTitleTicketInfos|ListDataTitleTicketInfos]]
|-
|-
| 0x00610142
| 0x00610142
| [[4.0.0-7]]
| [[4.0.0-7]]
| ?
| [[AMPXI:ExportLicenseTicket|ExportLicenseTicket]]
|-
|-
| 0x00620044
| 0x00620044
| [[4.0.0-7]]
| [[4.0.0-7]]
| ?
| [[AMPXI:GetTicketLimitInfos|GetTicketLimitInfos]]
|-
|-
| 0x00630042
| 0x00630042
| [[4.0.0-7]]
| [[4.0.0-7]]
| ?
| [[AMPXI:UpdateImportContentContexts|UpdateImportContentContexts]]
|-
|-
| 0x0064....
| 0x006400C0
| [[4.0.0-7]]
| [[4.0.0-7]]
| ?
| [[AMPXI:GetInternalTitleLocationInfo|GetInternalTitleLocationInfo]]
|-
|-
| 0x0065....
| 0x006500C0
| [[4.0.0-7]]
| [[4.0.0-7]]
| ?
| [[AMPXI:MigrateAGBtoSAV|MigrateAGBtoSAV]]
|-
|-
| 0x0066....
| 0x0066....
| [[4.0.0-7]]
| [[4.0.0-7]]
| Stubbed starting with [[4.0.0-7]], this only returns zero for the command result-code.
| Stubbed starting with [[4.0.0-7]].
|-
|-
| 0x00670082
| 0x00670082
| [[4.0.0-7]]
| [[4.0.0-7]]
| ?
| [[AMPXI:DeleteProgramsAtomically|DeleteProgramsAtomically]]
|-
|-
| 0x006801C2
| 0x006801C2
| [[4.0.0-7]]
| [[4.0.0-7]]
| ?
| [[AMPXI:GetItemRights|GetItemRights]]
|-
|-
| 0x0069....
| 0x006900C0
| [[4.0.0-7]]
| [[4.0.0-7]]
| ?
| [[AMPXI:IsDataTitleInUse|IsDataTitleInUse]]
|-
|-
| 0x006A....
| 0x006A00C0
| [[4.0.0-7]]
| [[4.0.0-7]]
| ?
| [[AMPXI:GetNumExistingContentInfos|GetNumExistingContentInfos]]
|-
|-
| 0x006B0142
| 0x006B0142
| [[4.0.0-7]]
| [[4.0.0-7]]
| ?
| [[AMPXI:ListExistingContentInfos|ListExistingContentInfos]]
|-
|-
| 0x006C....
| 0x006C00C0
| [[5.0.0-11]]
| [[5.0.0-11]]
| (u8 [[Mediatypes|Mediatype]], u64 programID)
| [[AMPXI:InstallTitleBeginForOverwrite|InstallTitleBeginForOverwrite]]
|-
| 0x006D0184
| [[11.8.0-41]]
| [[AMPXI:ExportTicketWrapped|ExportTicketWrapped]]
|}
|}


Line 454: Line 460:
|-
|-
| 0xD8A08004
| 0xD8A08004
| Invalid ticket title version.
| Wrong installation state.
|-
| 0xD8E08020
| CIA file is empty.
|-
|-
| 0xD8E08025
| 0xD8E08025
Line 469: Line 478:
|-
|-
| 0xD8E08065+2 / 0xD8E08067
| 0xD8E08065+2 / 0xD8E08067
| Error-type -3
| Error-type -3. Returned when a CIA header is invalid.
|-
|-
| 0xD8E08065+3 / 0xD8E08068
| 0xD8E08065+3 / 0xD8E08068
Line 478: Line 487:
|-
|-
| 0xD8E08065+5 / 0xD8E0806A
| 0xD8E08065+5 / 0xD8E0806A
| Error-type -6. Returned when a function returns error -2011: signature check for cert(TMD/TIK/cert-chain, ...) failed.
| Error-type -6. Returned when a function returns error -2011: signature or hash check for cert(TMD/TIK/cert-chain, ...) failed.
|-
|-
| 0xD8E08065+6 / 0xD8E0806B
| 0xD8E08065+6 / 0xD8E0806B
Line 505: Line 514:
|-
|-
| 0xD8A083FA
| 0xD8A083FA
| Invalid titleID.
| Invalid titleID(?) / the specified title(s) don't exist.
|-
|-
| 0xE0E0802C
| 0xE0E0802C
| AM module returns this error when the system-title bit is set for the input CTR/TWL titleID-high, for [[AM:DeleteApplicationTitle]].
| AM module returns this error when the system-title bit is set for the input CTR/TWL titleID-high, for [[AM:DeleteApplicationTitle]].
|}
|}