diff --git a/build/libraries_sysmenu/sysmenu/ARM9/src/title.c b/build/libraries_sysmenu/sysmenu/ARM9/src/title.c index a6d50370..96846ce1 100644 --- a/build/libraries_sysmenu/sysmenu/ARM9/src/title.c +++ b/build/libraries_sysmenu/sysmenu/ARM9/src/title.c @@ -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にひととおり吐く + { + 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; diff --git a/build/systemMenu_RED/Launcher/ARM9/main.rsf b/build/systemMenu_RED/Launcher/ARM9/main.rsf index e3cd8f4c..5460c5f0 100644 --- a/build/systemMenu_RED/Launcher/ARM9/main.rsf +++ b/build/systemMenu_RED/Launcher/ARM9/main.rsf @@ -152,7 +152,7 @@ Property # # SDCardAccess: sd card access control [TRUE/FALSE] # - #SDCardAccess TRUE + SDCardAccess TRUE # # DisableDebug :最終ROMでは、アプリジャンプされた際にデバッグできないようにTRUEにする必要があります。 diff --git a/build/systemMenu_RED/sharedFont/TWLFontTable.dat b/build/systemMenu_RED/sharedFont/TWLFontTable.dat index 9d42be0e..13b637a4 100644 Binary files a/build/systemMenu_RED/sharedFont/TWLFontTable.dat and b/build/systemMenu_RED/sharedFont/TWLFontTable.dat differ diff --git a/makerom.TWL.launcher.exe b/makerom.TWL.launcher.exe new file mode 100755 index 00000000..ce4cb6b5 Binary files /dev/null and b/makerom.TWL.launcher.exe differ