mirror of
https://github.com/rvtr/TwlIPL.git
synced 2025-10-31 06:01:12 -04:00
SDK3729に対応中。(ランチャーが動かない)
BootSRLPathをTMPブート時にセットするよう変更。 git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@495 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
parent
0deab36684
commit
db4df023f6
@ -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;
|
||||
|
||||
@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -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();
|
||||
|
||||
// <20>‰Šú‰»----------------------------------
|
||||
OS_Init();
|
||||
OS_InitTick();
|
||||
|
||||
@ -17,8 +17,8 @@
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
SUBDIRS = \
|
||||
../../../libraries_sysmenu/sysmenu \
|
||||
# ../../../libraries_sysmenu/hotsw \
|
||||
# ../../../libraries_sysmenu/sysmenu \
|
||||
# ../../../components/hyena.TWL
|
||||
# ../../../libraries_sysmenu/reloc_info \
|
||||
# ../../../libraries_sysmenu/boot \
|
||||
|
||||
@ -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初期化------------------------
|
||||
|
||||
@ -422,7 +422,7 @@ int TP_CalibrationMain( void )
|
||||
// ::::::::::::::::::::::::::::::::::::::::::::::
|
||||
// TWL設定データファイルへの書き込み
|
||||
// ::::::::::::::::::::::::::::::::::::::::::::::
|
||||
(void)LCFG_WriteTWLSettingsFile();
|
||||
(void)LCFG_WriteTWLSettings();
|
||||
|
||||
ReturnMenu();
|
||||
return 0;
|
||||
|
||||
@ -77,7 +77,7 @@ void TwlMain(void)
|
||||
// TWL設定データファイルの読み込み
|
||||
// ::::::::::::::::::::::::::::::::::::::::::::::
|
||||
(void)LCFG_ReadHWSecureInfo();
|
||||
g_isValidTSD = LCFG_ReadTWLSettingsFile();
|
||||
g_isValidTSD = LCFG_ReadTWLSettings();
|
||||
if( g_isValidTSD ) {
|
||||
SYSM_CaribrateTP();
|
||||
}
|
||||
|
||||
@ -323,7 +323,7 @@ int SelectCountryMain( void )
|
||||
// ::::::::::::::::::::::::::::::::::::::::::::::
|
||||
// TWL設定データファイルへの書き込み
|
||||
// ::::::::::::::::::::::::::::::::::::::::::::::
|
||||
(void)LCFG_WriteTWLSettingsFile();
|
||||
(void)LCFG_WriteTWLSettings();
|
||||
|
||||
MachineSettingInit();
|
||||
return 0;
|
||||
|
||||
@ -181,7 +181,7 @@ int SelectLanguageMain( void )
|
||||
// ::::::::::::::::::::::::::::::::::::::::::::::
|
||||
// TWL設定データファイルへの書き込み
|
||||
// ::::::::::::::::::::::::::::::::::::::::::::::
|
||||
(void)LCFG_WriteTWLSettingsFile();
|
||||
(void)LCFG_WriteTWLSettings();
|
||||
|
||||
MachineSettingInit();
|
||||
return 0;
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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();
|
||||
}
|
||||
|
||||
Binary file not shown.
@ -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 ); // 本体設定データ、リセットパラメータなどを取得
|
||||
|
||||
|
||||
@ -29,6 +29,7 @@ extern "C" {
|
||||
#endif
|
||||
|
||||
// define data ------------------------------------
|
||||
#define TITLE_ID_LAUNCHER ( 0x0003000752434e4cLLU )
|
||||
#define CLONE_BOOT_MODE 1
|
||||
#define OTHER_BOOT_MODE 2
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user