Implementing AM_InstallFirm

This commit is contained in:
TuxSH 2016-01-03 19:38:41 +01:00
parent 2741615b85
commit 29176f39ae
2 changed files with 16 additions and 0 deletions

View File

@ -97,6 +97,9 @@ Result AM_DeleteAppTitle(u8 mediatype, u64 titleID);
/// Installs the current NATIVE_FIRM title to NAND (firm0:/ & firm1:/) /// Installs the current NATIVE_FIRM title to NAND (firm0:/ & firm1:/)
Result AM_InstallNativeFirm(void); Result AM_InstallNativeFirm(void);
/// Similar to InstallNativeFirm, but doesn't use AMPXI_GetTitleList (NATIVE_FIRM: 0004013800000002 or 0004013820000002 (N3DS))
Result AM_InstallFirm(u64 titleID);
/** /**
* @brief Gets the product code of a title. * @brief Gets the product code of a title.
* @param mediatype Mediatype of the title. * @param mediatype Mediatype of the title.

View File

@ -199,6 +199,19 @@ Result AM_InstallNativeFirm(void)
return (Result)cmdbuf[1]; return (Result)cmdbuf[1];
} }
Result AM_InstallFirm(u64 titleID){
Result ret = 0;
u32 *cmdbuf = getThreadCommandBuffer();
cmdbuf[0] = IPC_MakeHeader(0x401,2,0); // 0x04010080
cmdbuf[1] = titleID & 0xffffffff;
cmdbuf[2] = (u32)(titleID >> 32);
if(R_FAILED(ret = svcSendSyncRequest(amHandle))) return ret;
return (Result)cmdbuf[1];
}
Result AM_GetTitleProductCode(u8 mediatype, u64 titleID, char* productCode) Result AM_GetTitleProductCode(u8 mediatype, u64 titleID, char* productCode)
{ {
Result ret = 0; Result ret = 0;