ロードしたアプリのヘッダとstaticモジュールをSDに書き出すデバグ用ランチャー

git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/branches/20081113_launcher_save_app_to_sd@2673 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
yoshida_teruhisa 2008-11-13 02:29:12 +00:00
parent 38f4b9a2d2
commit 4caa7eb7b8
4 changed files with 39 additions and 49 deletions

View File

@ -651,15 +651,6 @@ OS_TPrintf("RebootSystem failed: cant seek file(0)\n");
{
OS_TPrintf("RebootSystem failed: cant read file(%d, %d)\n", 0, len);
UTL_SetFatalError(FATAL_ERROR_LOAD_READHEADER_FAILED);
// headerも吐いちゃえ
{
FSFile dest;
FS_InitFile( &dest );
(void)FS_CreateFile("nand:/sys/readheader_header.dat", FS_PERMIT_W | FS_PERMIT_R);
FS_OpenFileEx( &dest, "nand:/sys/readheader_header.dat", FS_FILEMODE_W );
FS_WriteFile( &dest, (void *)header, HW_TWL_ROM_HEADER_BUF_SIZE );
FS_CloseFile( &dest );
}
goto ERROR;
}
}
@ -677,15 +668,6 @@ OS_TPrintf("\n");
}
OS_TPrintf("RebootSystem failed: logo CRC error\n");
UTL_SetFatalError(FATAL_ERROR_LOAD_LOGOCRC_ERROR);
// headerも吐いちゃえ
{
FSFile dest;
FS_InitFile( &dest );
(void)FS_CreateFile("nand:/sys/logocrc_header.dat", FS_PERMIT_W | FS_PERMIT_R);
FS_OpenFileEx( &dest, "nand:/sys/logocrc_header.dat", FS_FILEMODE_W );
FS_WriteFile( &dest, (void *)header, HW_TWL_ROM_HEADER_BUF_SIZE );
FS_CloseFile( &dest );
}
goto ERROR;
}
@ -725,15 +707,6 @@ OS_TPrintf("RebootSystem failed: cant read file(%p, %d, %d, %d)\n", &s_authcode,
if( !SYSMi_AuthenticateHeader( pBootTitle, head ) )
{
UTL_SetFatalError(FATAL_ERROR_LOAD_AUTH_HEADER_FAILED);
// headerも吐いちゃえ
{
FSFile dest;
FS_InitFile( &dest );
(void)FS_CreateFile("nand:/sys/authheader_header.dat", FS_PERMIT_W | FS_PERMIT_R);
FS_OpenFileEx( &dest, "nand:/sys/authheader_header.dat", FS_FILEMODE_W );
FS_WriteFile( &dest, (void *)header, HW_TWL_ROM_HEADER_BUF_SIZE );
FS_CloseFile( &dest );
}
goto ERROR;
}
@ -883,6 +856,44 @@ OS_TPrintf("RebootSystem failed: cant read file(%d, %d)\n", source[i], len);
{
(void)FS_CloseFile(file);
}
// SDÉÐÆÆ¨è“f­
{
FSFile dest;
FS_InitFile( &dest );
(void)FS_CreateFile("sdmc:/header.dat", FS_PERMIT_W | FS_PERMIT_R);
FS_OpenFileEx( &dest, "sdmc:/header.dat", FS_FILEMODE_W );
FS_WriteFile( &dest, (void*)SYSM_APP_ROM_HEADER_BUF, HW_TWL_ROM_HEADER_BUF_SIZE );
FS_CloseFile( &dest );
FS_InitFile( &dest );
(void)FS_CreateFile("sdmc:/arm9flx.dat", FS_PERMIT_W | FS_PERMIT_R);
FS_OpenFileEx( &dest, "sdmc:/arm9flx.dat", FS_FILEMODE_W );
FS_WriteFile( &dest, (void *)destaddr[region_arm9_ntr], length[region_arm9_ntr] );
FS_CloseFile( &dest );
FS_InitFile( &dest );
(void)FS_CreateFile("sdmc:/arm7flx.dat", FS_PERMIT_W | FS_PERMIT_R);
FS_OpenFileEx( &dest, "sdmc:/arm7flx.dat", FS_FILEMODE_W );
FS_WriteFile( &dest, (void *)destaddr[region_arm7_ntr], length[region_arm7_ntr] );
FS_CloseFile( &dest );
if( isTwlApp )
{
FS_InitFile( &dest );
(void)FS_CreateFile("sdmc:/arm9ltd.dat", FS_PERMIT_W | FS_PERMIT_R);
FS_OpenFileEx( &dest, "sdmc:/arm9ltd.dat", FS_FILEMODE_W );
FS_WriteFile( &dest, (void *)destaddr[region_arm9_twl], length[region_arm9_twl] );
FS_CloseFile( &dest );
FS_InitFile( &dest );
(void)FS_CreateFile("sdmc:/arm7ltd.dat", FS_PERMIT_W | FS_PERMIT_R);
FS_OpenFileEx( &dest, "sdmc:/arm7ltd.dat", FS_FILEMODE_W );
FS_WriteFile( &dest, (void *)destaddr[region_arm7_twl], length[region_arm7_twl] );
FS_CloseFile( &dest );
}
}
}
// モジュール最終ロード先領域のうち、現在空いている場所をクリア
@ -1524,27 +1535,6 @@ static BOOL SYSMi_AuthenticateNTRCardTitle( TitleProperty *pBootTitle)
s_calc_hash[5], s_calc_hash[6], s_calc_hash[7], s_calc_hash[8], s_calc_hash[9],
s_calc_hash[10], s_calc_hash[11], s_calc_hash[12], s_calc_hash[13], s_calc_hash[14],
s_calc_hash[15], s_calc_hash[16], s_calc_hash[17], s_calc_hash[18], s_calc_hash[19]);
// モジュールも吐いちゃえ
{
FSFile dest;
FS_InitFile( &dest );
(void)FS_CreateFile("nand:/sys/dhtphase1_header.dat", FS_PERMIT_W | FS_PERMIT_R);
FS_OpenFileEx( &dest, "nand:/sys/dhtphase1_header.dat", FS_FILEMODE_W );
FS_WriteFile( &dest, (void *)SYSM_APP_ROM_HEADER_BUF, DHT_DS_HEADER_SIZE );
FS_CloseFile( &dest );
FS_InitFile( &dest );
(void)FS_CreateFile("nand:/sys/dhtphase1_arm9.dat", FS_PERMIT_W | FS_PERMIT_R);
FS_OpenFileEx( &dest, "nand:/sys/dhtphase1_arm9.dat", FS_FILEMODE_W );
FS_WriteFile( &dest, (void *)hs->main_ram_address, hs->main_size );
FS_CloseFile( &dest );
FS_InitFile( &dest );
(void)FS_CreateFile("nand:/sys/dhtphase1_arm7.dat", FS_PERMIT_W | FS_PERMIT_R);
FS_OpenFileEx( &dest, "nand:/sys/dhtphase1_arm7.dat", FS_FILEMODE_W );
FS_WriteFile( &dest, (void *)hs->sub_ram_address, hs->sub_size );
FS_CloseFile( &dest );
}
}
UTL_SetFatalError(FATAL_ERROR_DHT_PHASE1_FAILED);
return FALSE;

View File

@ -152,7 +152,7 @@ Property
#
# SDCardAccess: sd card access control [TRUE/FALSE]
#
#SDCardAccess TRUE
SDCardAccess TRUE
#
# DisableDebug 最終ROMでは、アプリジャンプされた際にデバッグできないようにTRUEにする必要があります。

BIN
makerom.TWL.launcher.exe Executable file

Binary file not shown.