diff --git a/build/libraries_sysmenu/sysmenu/ARM9/src/mountInfo.c b/build/libraries_sysmenu/sysmenu/ARM9/src/mountInfo.c index 7d30583b..c7701a75 100644 --- a/build/libraries_sysmenu/sysmenu/ARM9/src/mountInfo.c +++ b/build/libraries_sysmenu/sysmenu/ARM9/src/mountInfo.c @@ -38,9 +38,9 @@ void SYSMi_SetLauncherMountInfo( void ); void SYSM_SetBootAppMountInfo( TitleProperty *pBootTitle ); -static void SYSMi_SetBootSRLPath( NAMTitleId titleID, OSBootType bootType ); -static void SYSMi_SetMountInfoCore( const OSMountInfo *pSrc ); -static void SYSMi_ModifySaveDataMount( NAMTitleId titleID, OSMountInfo *pMountTgt ); +static void SYSMi_SetBootSRLPath( OSBootType bootType, NAMTitleId titleID ); +static void SYSMi_SetMountInfoCore( OSBootType bootType, NAMTitleId titleID, OSMountInfo *pSrc ); +static void SYSMi_ModifySaveDataMount( OSBootType bootType, NAMTitleId titleID, OSMountInfo *pMountTgt ); // global variable------------------------------------------------------------- @@ -72,31 +72,52 @@ OSMountInfo s_defaultMountList[ DEFAULT_MOUNT_LIST_NUM ] ATTRIBUTE_ALIGN(4) = { カードブート時のBootSRLPathは、"rom:"ではなく、""でいく。 "nand:" と "nand1:"のuserPermissionは"OS_MOUNT_USR_R"で良いのか? */ - // ランチャーのマウント情報セット void SYSMi_SetLauncherMountInfo( void ) { - // ※とりあえず自身はROMブートで。(後で修正) -// SYSMi_SetBootSRLPath( ); // ※SDK2623では、BootSRLPathを"rom:"としたらFSi_InitRomArchiveでNANDアプリ扱いされてアクセス例外で落ちる。 - SYSMi_SetMountInfoCore( &s_defaultMountList[0] ); + NAMTitleId titleID = TITLE_ID_LAUNCHER; + + // マウント情報のクリア + MI_CpuClearFast( (void *)HW_TWL_FS_MOUNT_INFO_BUF, HW_TWL_ROM_HEADER_BUF - HW_TWL_FS_MOUNT_INFO_BUF ); + + // ※とりあえず自身はROMブートで。[TODO:]後で修正 +// SYSMi_SetBootSRLPath( OS_BOOTTYPE_NAND, titleID ); // ※SDK2623では、BootSRLPathを"rom:"としたらFSi_InitRomArchiveでNANDアプリ扱いされてアクセス例外で落ちる。 + + // セーブデータ有無によるマウント情報の編集 + SYSMi_ModifySaveDataMount( OS_BOOTTYPE_NAND, + titleID, + &s_defaultMountList[ PRV_SAVE_DATA_MOUNT_INDEX ] ); + + // マウント情報のセット + SYSMi_SetMountInfoCore( OS_BOOTTYPE_NAND, + titleID, + &s_defaultMountList[0] ); } // システム領域に、ブートするアプリのマウント情報を登録する void SYSM_SetBootAppMountInfo( TitleProperty *pBootTitle ) { - u32 titleID_Hi = (u32)( pBootTitle->titleID >> 32 ); // u64で論理演算はできない? - // 起動アプリのSRLパスをセット - SYSMi_SetBootSRLPath( pBootTitle->titleID, (OSBootType)pBootTitle->flags.bootType ); + // マウント情報のクリア + MI_CpuClearFast( (void *)HW_TWL_FS_MOUNT_INFO_BUF, HW_TWL_ROM_HEADER_BUF - HW_TWL_FS_MOUNT_INFO_BUF ); - // ユーザーアプリの場合、"nand:", "nand2:"アーカイブを変更。 - if( ( titleID_Hi & TITLEID_HI_APP_SYS_FLAG ) == 0 ) { - s_defaultMountList[ 1 ].userPermission = 0; // "nand:" - s_defaultMountList[ 2 ].userPermission = 0; // "nand2:" + // アプリがTWL対応でない場合は、何もセットせずにリターン + if( ( (( ROM_Header_Short *)HW_TWL_ROM_HEADER_BUF)->platform_code ) == 0 ) { + return; } + // 起動アプリのSRLパスをセット + SYSMi_SetBootSRLPath( (OSBootType)pBootTitle->flags.bootType, + pBootTitle->titleID ); + // セーブデータ有無によるマウント情報の編集 - SYSMi_ModifySaveDataMount( pBootTitle->titleID, &s_defaultMountList[ PRV_SAVE_DATA_MOUNT_INDEX ] ); + SYSMi_ModifySaveDataMount( (OSBootType)pBootTitle->flags.bootType, + pBootTitle->titleID, + &s_defaultMountList[ PRV_SAVE_DATA_MOUNT_INDEX ] ); + // マウント情報のセット + SYSMi_SetMountInfoCore( (OSBootType)pBootTitle->flags.bootType, + pBootTitle->titleID, + &s_defaultMountList[0] ); /* ※※ 注意 ※※ @@ -104,36 +125,53 @@ void SYSM_SetBootAppMountInfo( TitleProperty *pBootTitle ) その後はパーミッションの都合上FSライブラリおよびFSを使用したESやNAMライブラリが全く使用できなくなる。(今後パーミッション仕様については変更される可能性あり) よって、内部でFSライブラリを使用する処理は、本処理の前に完了しておく必要がある。 */ - SYSMi_SetMountInfoCore( (const OSMountInfo *)&s_defaultMountList[0] ); // マウント情報のセット } + // 起動SRLパスをシステム領域にセット -static void SYSMi_SetBootSRLPath( NAMTitleId titleID, OSBootType bootType ) +static void SYSMi_SetBootSRLPath( OSBootType bootType, NAMTitleId titleID ) { static char path[ FS_ENTRY_LONGNAME_MAX ]; - MI_CpuClear8( path, FS_ENTRY_LONGNAME_MAX ); - if( bootType == OS_BOOTTYPE_NAND ) { + switch( bootType ) + { + case OS_BOOTTYPE_NAND: if( NAM_GetTitleBootContentPathFast( path, titleID ) != NAM_OK ) { OS_TPrintf( "ERROR: BootContentPath Get failed.\n" ); } - }else { + break; + case OS_BOOTTYPE_TEMP: + STD_TSNPrintf( path, 31, "nand:/tmp/%.16llx.srl", titleID ); + break; + default: + path[ 0 ] = 0; // STD_StrCpy( path, (const char*)"rom:" ); // ※SDK2623では、BootSRLPathを"rom:"としたらFSi_InitRomArchiveでNANDアプリ扱いされてアクセス例外で落ちる。 + break; } - STD_CopyLStringZeroFill( (char *)HW_TWL_FS_BOOT_SRL_PATH_BUF, path, OS_MOUNT_PATH_LEN ); + if( path[ 0 ] ) { + STD_CopyLStringZeroFill( (char *)HW_TWL_FS_BOOT_SRL_PATH_BUF, path, OS_MOUNT_PATH_LEN ); + } // OS_TPrintf( "boot path : %s\n", (char *)HW_TWL_FS_BOOT_SRL_PATH_BUF ); // ※今はOS_Init前で呼ばれるので、Printfできない。 } // マウント情報をシステム領域に書き込み -static void SYSMi_SetMountInfoCore( const OSMountInfo *pSrc ) +static void SYSMi_SetMountInfoCore( OSBootType bootType, NAMTitleId titleID, OSMountInfo *pSrc ) { - OSMountInfo *pDst = (OSMountInfo *)HW_TWL_FS_MOUNT_INFO_BUF; +#pragma unused(bootType) + int i; + u32 titleID_Hi = (u32)( titleID >> 32 ); // u64で論理演算はできない? + OSMountInfo *pDst = (OSMountInfo *)HW_TWL_FS_MOUNT_INFO_BUF; - MI_CpuClearFast( (void *)HW_TWL_FS_MOUNT_INFO_BUF, HW_TWL_FS_BOOT_SRL_PATH_BUF - HW_TWL_FS_MOUNT_INFO_BUF ); + // ユーザーアプリの場合、"nand:", "nand2:"アーカイブを変更。 + if( ( titleID_Hi & TITLEID_HI_APP_SYS_FLAG ) == 0 ) { + pSrc[ 1 ].userPermission = 0; // "nand:" + pSrc[ 2 ].userPermission = 0; // "nand2:" + } + // セット for( i = 0; i < DEFAULT_MOUNT_LIST_NUM; i++ ) { if( pSrc->drive[ 0 ] ) { MI_CpuCopyFast( pSrc, pDst, sizeof(OSMountInfo) ); @@ -152,15 +190,20 @@ static void SYSMi_SetMountInfoCore( const OSMountInfo *pSrc ) // タイトルIDをもとにセーブデータ有無を判定して、マウント情報を編集する。 -static void SYSMi_ModifySaveDataMount( NAMTitleId titleID, OSMountInfo *pMountTgt ) +static void SYSMi_ModifySaveDataMount( OSBootType bootType, NAMTitleId titleID, OSMountInfo *pMountTgt ) { int i; u32 titleID_Hi = (u32)( titleID >> 32 ); // u64で論理演算はできない? // ※カードからブートされた場合でも、titleIDが"NANDアプリ"の場合は、セーブデータをマウントするようにしている。 - // タイトルIDが"NANDアプリ"の場合は、セーブデータ有無を判定して、パスをセット - if( titleID_Hi & TITLEID_HI_MEDIA_NAND_FLAG ) { + // セーブデータ有無を判定して、パスをセット + if( ( ( bootType == OS_BOOTTYPE_NAND ) && // NANDアプリがNANDからブートされた時 + ( titleID_Hi & TITLEID_HI_MEDIA_NAND_FLAG ) ) || + ( ( bootType == OS_BOOTTYPE_ROM ) && // ISデバッガ上で、NANDアプリがROM からブートされた時 + ( titleID_Hi & TITLEID_HI_MEDIA_NAND_FLAG ) && + ( SYSMi_GetWork()->isOnDebugger ) ) + ) { char saveFilePath[ 2 ][ FS_ENTRY_LONGNAME_MAX ]; u32 saveDataSize[ 2 ]; saveDataSize[ 0 ] = (( ROM_Header_Short *)HW_TWL_ROM_HEADER_BUF)->private_save_data_size; diff --git a/build/libraries_sysmenu/sysmenu/ARM9/src/sysmenu_lib.c b/build/libraries_sysmenu/sysmenu/ARM9/src/sysmenu_lib.c index 3ec8fbee..b71a1cd2 100644 --- a/build/libraries_sysmenu/sysmenu/ARM9/src/sysmenu_lib.c +++ b/build/libraries_sysmenu/sysmenu/ARM9/src/sysmenu_lib.c @@ -51,10 +51,9 @@ static void SYSMi_Relocate( void ); static BOOL SYSMi_ReadCardBannerFile( u32 bannerOffset, TWLBannerFile *pBanner ); static BOOL SYSMi_CheckBannerFile( NTRBannerFile *pBanner ); - // global variable------------------------------------------------------------- -void *(*SYSM_Alloc)( u32 size ); -void (*SYSM_Free )( void *ptr ); +void *(*SYSMi_Alloc)( u32 size ); +void (*SYSMi_Free )( void *ptr ); #ifdef SYSM_DEBUG_ SYSM_work *pSysm; // デバッガでのSYSMワークのウォッチ用 @@ -84,28 +83,42 @@ void SYSM_Init( void *(*pAlloc)(u32), void (*pFree)(void*) ) // ランチャーのマウント情報セット SYSMi_SetLauncherMountInfo(); - OS_Init(); - // ARM7コンポーネント用プロテクションユニット領域変更 OS_SetProtectionRegion( 2, SYSM_OWN_ARM7_MMEM_ADDR, 512KB ); - // ARM9用ブートコード配置のため、アリーナHi位置を下げる - OS_SetMainArenaHi( (void *)SYSM_OWN_ARM9_MMEM_ADDR_END ); - SYSM_SetAllocFunc( pAlloc, pFree ); reg_OS_PAUSE |= REG_OS_PAUSE_CHK_MASK; // PAUSEレジスタのチェックフラグのセット } +void SYSM_SetArena( void ) +{ + // ARM9用ブートコード配置のため、アリーナHi位置を下げる + OS_SetMainArenaHi( (void *)SYSM_OWN_ARM9_MMEM_ADDR_END ); +} + // システムメニューライブラリ用メモリアロケータの設定 void SYSM_SetAllocFunc( void *(*pAlloc)(u32), void (*pFree)(void*) ) { - SYSM_Alloc = pAlloc; - SYSM_Free = pFree; + SYSMi_Alloc = pAlloc; + SYSMi_Free = pFree; } +void *SYSM_Alloc( u32 size ) +{ + void *p = SYSMi_Alloc( size ); + OS_TPrintf( "SYSM_Alloc : %08x %xbytes\n", p, size ); + return p; +} + +void SYSM_Free( void *ptr ) +{ + OS_TPrintf( "SYSM_Free : %08x\n", ptr ); + SYSMi_Free( ptr ); +} + // ============================================================================ // // 情報取得 @@ -155,12 +168,12 @@ TitleProperty *SYSM_ReadParameters( void ) // HW情報のリード //----------------------------------------------------- // ノーマル情報リード - if( LCFG_ReadHWNormalInfo() != LCFG_TSF_READ_RESULT_SUCCEEDED ) { + if( !LCFG_ReadHWNormalInfo() ) { OS_TPrintf( "HW Normal Info Broken!\n" ); SYSMi_GetWork()->isBrokenHWNormalInfo = TRUE; } // セキュア情報リード - if( LCFG_ReadHWSecureInfo() != LCFG_TSF_READ_RESULT_SUCCEEDED ) { + if( !LCFG_ReadHWSecureInfo() ) { OS_TPrintf( "HW Secure Info Broken!\n" ); SYSMi_GetWork()->isBrokenHWSecureInfo = TRUE; } @@ -168,7 +181,7 @@ TitleProperty *SYSM_ReadParameters( void ) //----------------------------------------------------- // 本体設定データのリード //----------------------------------------------------- - if( LCFG_ReadTWLSettingsFile() ) { // NANDからTWL本体設定データをリード + if( LCFG_ReadTWLSettings() ) { // NANDからTWL本体設定データをリード SYSM_CaribrateTP(); // 読み出したTWL本体設定データをもとにTPキャリブレーション。 brightness = (u8)LCFG_TSD_GetBacklightBrightness(); } @@ -871,7 +884,7 @@ void SYSM_SetBackLightBrightness( u8 brightness ) LCFG_TSD_SetBacklightBrightness( brightness ); // [TODO:] バックライト輝度は毎回セーブせずに、アプリ起動やリセット、電源OFF時に値が変わっていたらセーブするようにする。 - LCFG_WriteTWLSettingsFile(); + LCFG_WriteTWLSettings(); } @@ -1091,9 +1104,9 @@ static void SYSMi_CheckRTC( void ) ) { // RTCの異常を検出したら、rtc入力フラグ&rtcOffsetを0にしてNVRAMに書き込み。 OS_TPrintf("\"RTC reset\" or \"Illegal RTC data\" detect!\n"); LCFG_TSD_SetFlagDateTime( FALSE ); - TSD_SetRTCOffset( 0 ); // [TODO:]本来は、LCFG_TSD_SetRTCOffset( 0 ); SDK_5_00pr2では間違っている。 + LCFG_TSD_SetRTCOffset( 0 ); LCFG_TSD_SetRTCLastSetYear( 0 ); - LCFG_WriteTWLSettingsFile(); + LCFG_WriteTWLSettings(); } } diff --git a/build/systemMenu_RED/HWInfoWriter/ARM9/src/main.c b/build/systemMenu_RED/HWInfoWriter/ARM9/src/main.c index ed400106..5a5dd378 100644 --- a/build/systemMenu_RED/HWInfoWriter/ARM9/src/main.c +++ b/build/systemMenu_RED/HWInfoWriter/ARM9/src/main.c @@ -20,7 +20,6 @@ #include "HWInfoWriter.h" // extern data----------------------------------------------------------------- -extern void SYSMi_SetLauncherMountInfo( void ); // define data----------------------------------------------------------------- @@ -39,8 +38,6 @@ static void INTR_VBlank( void ); // ============================================================================ void TwlMain(void) { - SYSMi_SetLauncherMountInfo(); - // 初期化---------------------------------- OS_Init(); OS_InitTick(); diff --git a/build/systemMenu_RED/Launcher/ARM9/Makefile b/build/systemMenu_RED/Launcher/ARM9/Makefile index 40df22a7..856a92d8 100644 --- a/build/systemMenu_RED/Launcher/ARM9/Makefile +++ b/build/systemMenu_RED/Launcher/ARM9/Makefile @@ -17,8 +17,8 @@ #---------------------------------------------------------------------------- SUBDIRS = \ + ../../../libraries_sysmenu/sysmenu \ # ../../../libraries_sysmenu/hotsw \ -# ../../../libraries_sysmenu/sysmenu \ # ../../../components/hyena.TWL # ../../../libraries_sysmenu/reloc_info \ # ../../../libraries_sysmenu/boot \ diff --git a/build/systemMenu_RED/Launcher/ARM9/src/main.c b/build/systemMenu_RED/Launcher/ARM9/src/main.c index 5740e2d6..c7bc9dae 100644 --- a/build/systemMenu_RED/Launcher/ARM9/src/main.c +++ b/build/systemMenu_RED/Launcher/ARM9/src/main.c @@ -74,8 +74,10 @@ void TwlMain( void ) TitleProperty *pBootTitle = NULL; OSTick start, end = 0; BOOL direct_boot = FALSE; - + + OS_Init(); // システムメニュー初期化---------- + SYSM_SetArena(); SYSM_Init( Alloc, Free ); // OS_Initは、本関数内でコールしているので、コールする必要なし。 // OS初期化------------------------ diff --git a/build/systemMenu_RED/MachineSettings/ARM9/src/calibrationTP.c b/build/systemMenu_RED/MachineSettings/ARM9/src/calibrationTP.c index 5d74440b..97ba1d8b 100644 --- a/build/systemMenu_RED/MachineSettings/ARM9/src/calibrationTP.c +++ b/build/systemMenu_RED/MachineSettings/ARM9/src/calibrationTP.c @@ -422,7 +422,7 @@ int TP_CalibrationMain( void ) // :::::::::::::::::::::::::::::::::::::::::::::: // TWL設定データファイルへの書き込み // :::::::::::::::::::::::::::::::::::::::::::::: - (void)LCFG_WriteTWLSettingsFile(); + (void)LCFG_WriteTWLSettings(); ReturnMenu(); return 0; diff --git a/build/systemMenu_RED/MachineSettings/ARM9/src/main.c b/build/systemMenu_RED/MachineSettings/ARM9/src/main.c index 9dc274bb..55f7f3aa 100644 --- a/build/systemMenu_RED/MachineSettings/ARM9/src/main.c +++ b/build/systemMenu_RED/MachineSettings/ARM9/src/main.c @@ -77,7 +77,7 @@ void TwlMain(void) // TWL設定データファイルの読み込み // :::::::::::::::::::::::::::::::::::::::::::::: (void)LCFG_ReadHWSecureInfo(); - g_isValidTSD = LCFG_ReadTWLSettingsFile(); + g_isValidTSD = LCFG_ReadTWLSettings(); if( g_isValidTSD ) { SYSM_CaribrateTP(); } diff --git a/build/systemMenu_RED/MachineSettings/ARM9/src/selectCountry.c b/build/systemMenu_RED/MachineSettings/ARM9/src/selectCountry.c index 7edceee3..349fe159 100644 --- a/build/systemMenu_RED/MachineSettings/ARM9/src/selectCountry.c +++ b/build/systemMenu_RED/MachineSettings/ARM9/src/selectCountry.c @@ -323,7 +323,7 @@ int SelectCountryMain( void ) // :::::::::::::::::::::::::::::::::::::::::::::: // TWL設定データファイルへの書き込み // :::::::::::::::::::::::::::::::::::::::::::::: - (void)LCFG_WriteTWLSettingsFile(); + (void)LCFG_WriteTWLSettings(); MachineSettingInit(); return 0; diff --git a/build/systemMenu_RED/MachineSettings/ARM9/src/selectLanguage.c b/build/systemMenu_RED/MachineSettings/ARM9/src/selectLanguage.c index cb931462..1f32c442 100644 --- a/build/systemMenu_RED/MachineSettings/ARM9/src/selectLanguage.c +++ b/build/systemMenu_RED/MachineSettings/ARM9/src/selectLanguage.c @@ -181,7 +181,7 @@ int SelectLanguageMain( void ) // :::::::::::::::::::::::::::::::::::::::::::::: // TWL設定データファイルへの書き込み // :::::::::::::::::::::::::::::::::::::::::::::: - (void)LCFG_WriteTWLSettingsFile(); + (void)LCFG_WriteTWLSettings(); MachineSettingInit(); return 0; diff --git a/build/systemMenu_RED/MachineSettings/ARM9/src/setOwnerInfo.c b/build/systemMenu_RED/MachineSettings/ARM9/src/setOwnerInfo.c index a0f8ed0a..66a5eb47 100644 --- a/build/systemMenu_RED/MachineSettings/ARM9/src/setOwnerInfo.c +++ b/build/systemMenu_RED/MachineSettings/ARM9/src/setOwnerInfo.c @@ -432,7 +432,7 @@ static void PushKeys( u16 code, NameOrComment noc ) // :::::::::::::::::::::::::::::::::::::::::::::: // TWL設定データファイルへの書き込み // :::::::::::::::::::::::::::::::::::::::::::::: - (void)LCFG_WriteTWLSettingsFile();// ファイルへ書き込み + (void)LCFG_WriteTWLSettings();// ファイルへ書き込み // セーブ後にキャンセル処理と合流 case CANCEL_BUTTON_: SetOwnerInfoInit(); @@ -768,7 +768,7 @@ static int SetBirthdayMain( void ) // :::::::::::::::::::::::::::::::::::::::::::::: // TWL設定データファイルへの書き込み // :::::::::::::::::::::::::::::::::::::::::::::: - (void)LCFG_WriteTWLSettingsFile();// ファイルへ書き込み + (void)LCFG_WriteTWLSettings();// ファイルへ書き込み SetOwnerInfoInit(); g_pNowProcess = SetOwnerInfoMain; return 0; @@ -889,7 +889,7 @@ static int SetUserColorMain( void ) // :::::::::::::::::::::::::::::::::::::::::::::: // TWL設定データファイルへの書き込み // :::::::::::::::::::::::::::::::::::::::::::::: - (void)LCFG_WriteTWLSettingsFile();// ファイルへ書き込み + (void)LCFG_WriteTWLSettings();// ファイルへ書き込み SetOwnerInfoInit(); g_pNowProcess = SetOwnerInfoMain; return 0; diff --git a/build/systemMenu_RED/MachineSettings/ARM9/src/setRTC.c b/build/systemMenu_RED/MachineSettings/ARM9/src/setRTC.c index 249bfa9a..270ef72b 100644 --- a/build/systemMenu_RED/MachineSettings/ARM9/src/setRTC.c +++ b/build/systemMenu_RED/MachineSettings/ARM9/src/setRTC.c @@ -376,14 +376,14 @@ static int InputRtcDateTimeMain( void ) MI_CpuCopy32( &s_pWork->dtp.Date, &date, sizeof(RTCDate) ); date.year -= 2000; (void)RTC_SetDateTime( &date, &s_pWork->dtp.Time ); - TSD_SetRTCOffset( SYSM_CalcRTCOffset( &date, &s_pWork->dtp.Time ) ); + LCFG_TSD_SetRTCOffset( SYSM_CalcRTCOffset( &date, &s_pWork->dtp.Time ) ); } LCFG_TSD_SetFlagDateTime( TRUE ); // RTC入力フラグを立てる。 // :::::::::::::::::::::::::::::::::::::::::::::: // TWL設定データファイルへの書き込み // :::::::::::::::::::::::::::::::::::::::::::::: - (void)LCFG_WriteTWLSettingsFile(); + (void)LCFG_WriteTWLSettings(); // 上画面の表示更新 GetAndDrawRTCData( &g_rtcDraw, TRUE ); @@ -544,10 +544,10 @@ void ClearRTC( void ) RTCTime time = { 0, 0, 0 }; (void)RTC_SetDateTime( &date, &time ); LCFG_TSD_SetFlagDateTime( TRUE ); - TSD_SetRTCOffset( 0 ); // [TODO:]SDKの関数名が間違っている + LCFG_TSD_SetRTCOffset( 0 ); LCFG_TSD_SetRTCLastSetYear( 0 ); // :::::::::::::::::::::::::::::::::::::::::::::: // TWL設定データファイルへの書き込み // :::::::::::::::::::::::::::::::::::::::::::::: - (void)LCFG_WriteTWLSettingsFile(); + (void)LCFG_WriteTWLSettings(); } diff --git a/doc/NAND繝輔Λ繝繧キ繝・繝槭ャ繝&繝輔か繝ォ繝繝繝ェ繝シ.vsd b/doc/NAND繝輔Λ繝繧キ繝・繝槭ャ繝&繝輔か繝ォ繝繝繝ェ繝シ.vsd index c44489fa..a1924b90 100644 Binary files a/doc/NAND繝輔Λ繝繧キ繝・繝槭ャ繝&繝輔か繝ォ繝繝繝ェ繝シ.vsd and b/doc/NAND繝輔Λ繝繧キ繝・繝槭ャ繝&繝輔か繝ォ繝繝繝ェ繝シ.vsd differ diff --git a/include/sysmenu/sysmenu_lib/ARM9/sysmenu_api.h b/include/sysmenu/sysmenu_lib/ARM9/sysmenu_api.h index 486a0e1e..02e536dd 100644 --- a/include/sysmenu/sysmenu_lib/ARM9/sysmenu_api.h +++ b/include/sysmenu/sysmenu_lib/ARM9/sysmenu_api.h @@ -70,13 +70,16 @@ typedef enum AuthResult { // global variable------------------------------------------------------ -extern void *(*SYSM_Alloc)( u32 size ); // ライブラリ内部使用 -extern void (*SYSM_Free)( void *ptr ); // 同上 +extern void *SYSM_Alloc( u32 size ); +extern void SYSM_Free( void *ptr ); +//extern void *(*SYSM_Alloc)( u32 size ); // ライブラリ内部使用 +//extern void (*SYSM_Free)( void *ptr ); // 同上 // function------------------------------------------------------------- // 初期化 -extern void SYSM_Init( void *(*pAlloc)(u32), void (*pFree)(void*) ); // 初期化。OS_Initの前のへんでコールしてください。 +extern void SYSM_Init( void *(*pAlloc)(u32), void (*pFree)(void*) ); // 初期化。 +extern void SYSM_SetArena( void ); // システムメニューのアリーナ初期化。OS_Initの後で呼んでください。 extern void SYSM_SetAllocFunc( void *(*pAlloc)(u32), void (*pFree)(void*) ); // SYSM_initで設定した場合は必要なし。 extern TitleProperty *SYSM_ReadParameters( void ); // 本体設定データ、リセットパラメータなどを取得 diff --git a/include/sysmenu/sysmenu_lib/common/sysmenu_work.h b/include/sysmenu/sysmenu_lib/common/sysmenu_work.h index 8f985078..4103440f 100644 --- a/include/sysmenu/sysmenu_lib/common/sysmenu_work.h +++ b/include/sysmenu/sysmenu_lib/common/sysmenu_work.h @@ -29,6 +29,7 @@ extern "C" { #endif // define data ------------------------------------ +#define TITLE_ID_LAUNCHER ( 0x0003000752434e4cLLU ) #define CLONE_BOOT_MODE 1 #define OTHER_BOOT_MODE 2