mirror of
https://github.com/rvtr/TwlIPL.git
synced 2025-10-31 06:01:12 -04:00
SDK3790に対応中。
BOOTTYPEの仕様変更に対応。 git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@508 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
parent
301b8c21f9
commit
90d2377e65
@ -35,10 +35,10 @@
|
||||
|
||||
// extern data-----------------------------------------------------------------
|
||||
// function's prototype--------------------------------------------------------
|
||||
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 );
|
||||
static void SYSMi_ModifySaveDataMountForLauncher( OSBootType bootType, NAMTitleId titleID, OSMountInfo *pMountTgt );
|
||||
static void SYSMi_SetBootSRLPath( LauncherBootType bootType, NAMTitleId titleID );
|
||||
static void SYSMi_SetMountInfoCore( LauncherBootType bootType, NAMTitleId titleID, OSMountInfo *pSrc );
|
||||
static void SYSMi_ModifySaveDataMount( LauncherBootType bootType, NAMTitleId titleID, OSMountInfo *pMountTgt );
|
||||
static void SYSMi_ModifySaveDataMountForLauncher( LauncherBootType bootType, NAMTitleId titleID, OSMountInfo *pMountTgt );
|
||||
|
||||
// global variable-------------------------------------------------------------
|
||||
// static variable-------------------------------------------------------------
|
||||
@ -74,16 +74,16 @@ void SYSMi_SetLauncherMountInfo( void )
|
||||
NAMTitleId titleID = TITLE_ID_LAUNCHER;
|
||||
|
||||
// ※とりあえず自身はROMブートで。[TODO:]後で修正
|
||||
// SYSMi_SetBootSRLPath( OS_BOOTTYPE_NAND, titleID ); // ※SDK2623では、BootSRLPathを"rom:"としたらFSi_InitRomArchiveでNANDアプリ扱いされてアクセス例外で落ちる。
|
||||
// SYSMi_SetBootSRLPath( LAUNCHER_BOOTTYPE_NAND, titleID ); // ※SDK2623では、BootSRLPathを"rom:"としたらFSi_InitRomArchiveでNANDアプリ扱いされてアクセス例外で落ちる。
|
||||
|
||||
// セーブデータ有無によるマウント情報の編集
|
||||
// ※このタイミングではFSは動かせないので、FSを使わない特別版で対応。
|
||||
SYSMi_ModifySaveDataMountForLauncher( OS_BOOTTYPE_NAND,
|
||||
SYSMi_ModifySaveDataMountForLauncher( LAUNCHER_BOOTTYPE_NAND,
|
||||
titleID,
|
||||
&s_defaultMountList[ PRV_SAVE_DATA_MOUNT_INDEX ] );
|
||||
|
||||
// マウント情報のセット
|
||||
SYSMi_SetMountInfoCore( OS_BOOTTYPE_NAND,
|
||||
SYSMi_SetMountInfoCore( LAUNCHER_BOOTTYPE_NAND,
|
||||
titleID,
|
||||
&s_defaultMountList[0] );
|
||||
}
|
||||
@ -98,16 +98,16 @@ void SYSMi_SetBootAppMountInfo( TitleProperty *pBootTitle )
|
||||
}
|
||||
|
||||
// 起動アプリのSRLパスをセット
|
||||
SYSMi_SetBootSRLPath( (OSBootType)pBootTitle->flags.bootType,
|
||||
SYSMi_SetBootSRLPath( (LauncherBootType)pBootTitle->flags.bootType,
|
||||
pBootTitle->titleID );
|
||||
|
||||
// セーブデータ有無によるマウント情報の編集
|
||||
SYSMi_ModifySaveDataMount( (OSBootType)pBootTitle->flags.bootType,
|
||||
SYSMi_ModifySaveDataMount( (LauncherBootType)pBootTitle->flags.bootType,
|
||||
pBootTitle->titleID,
|
||||
&s_defaultMountList[ PRV_SAVE_DATA_MOUNT_INDEX ] );
|
||||
|
||||
// マウント情報のセット
|
||||
SYSMi_SetMountInfoCore( (OSBootType)pBootTitle->flags.bootType,
|
||||
SYSMi_SetMountInfoCore( (LauncherBootType)pBootTitle->flags.bootType,
|
||||
pBootTitle->titleID,
|
||||
&s_defaultMountList[0] );
|
||||
|
||||
@ -121,18 +121,18 @@ void SYSMi_SetBootAppMountInfo( TitleProperty *pBootTitle )
|
||||
|
||||
|
||||
// 起動SRLパスをシステム領域にセット
|
||||
static void SYSMi_SetBootSRLPath( OSBootType bootType, NAMTitleId titleID )
|
||||
static void SYSMi_SetBootSRLPath( LauncherBootType bootType, NAMTitleId titleID )
|
||||
{
|
||||
static char path[ FS_ENTRY_LONGNAME_MAX ];
|
||||
|
||||
switch( bootType )
|
||||
{
|
||||
case OS_BOOTTYPE_NAND:
|
||||
case LAUNCHER_BOOTTYPE_NAND:
|
||||
if( NAM_GetTitleBootContentPathFast( path, titleID ) != NAM_OK ) {
|
||||
OS_TPrintf( "ERROR: BootContentPath Get failed.\n" );
|
||||
}
|
||||
break;
|
||||
case OS_BOOTTYPE_TEMP:
|
||||
case LAUNCHER_BOOTTYPE_TEMP:
|
||||
STD_TSNPrintf( path, 31, "nand:/tmp/%.16llx.srl", titleID );
|
||||
break;
|
||||
default:
|
||||
@ -151,7 +151,7 @@ static void SYSMi_SetBootSRLPath( OSBootType bootType, NAMTitleId titleID )
|
||||
|
||||
|
||||
// マウント情報をシステム領域に書き込み
|
||||
static void SYSMi_SetMountInfoCore( OSBootType bootType, NAMTitleId titleID, OSMountInfo *pSrc )
|
||||
static void SYSMi_SetMountInfoCore( LauncherBootType bootType, NAMTitleId titleID, OSMountInfo *pSrc )
|
||||
{
|
||||
#pragma unused(bootType)
|
||||
|
||||
@ -185,16 +185,16 @@ static void SYSMi_SetMountInfoCore( OSBootType bootType, NAMTitleId titleID, OSM
|
||||
|
||||
|
||||
// タイトルIDをもとにセーブデータ有無を判定して、マウント情報を編集する。
|
||||
static void SYSMi_ModifySaveDataMount( OSBootType bootType, NAMTitleId titleID, OSMountInfo *pMountTgt )
|
||||
static void SYSMi_ModifySaveDataMount( LauncherBootType bootType, NAMTitleId titleID, OSMountInfo *pMountTgt )
|
||||
{
|
||||
int i;
|
||||
|
||||
// ※カードからブートされた場合でも、titleIDが"NANDアプリ"の場合は、セーブデータをマウントするようにしている。
|
||||
|
||||
// セーブデータ有無を判定して、パスをセット
|
||||
if( ( ( bootType == OS_BOOTTYPE_NAND ) && // NANDアプリがNANDからブートされた時
|
||||
if( ( ( bootType == LAUNCHER_BOOTTYPE_NAND ) && // NANDアプリがNANDからブートされた時
|
||||
( titleID & TITLEID_MEDIA_NAND_FLAG ) ) ||
|
||||
( ( bootType == OS_BOOTTYPE_ROM ) && // ISデバッガ上で、NANDアプリがROM からブートされた時
|
||||
( ( bootType == LAUNCHER_BOOTTYPE_ROM ) && // ISデバッガ上で、NANDアプリがROM からブートされた時
|
||||
( titleID & TITLEID_MEDIA_NAND_FLAG ) &&
|
||||
( SYSMi_GetWork()->isOnDebugger ) )
|
||||
) {
|
||||
@ -229,16 +229,16 @@ static void SYSMi_ModifySaveDataMount( OSBootType bootType, NAMTitleId titleID,
|
||||
|
||||
|
||||
// タイトルIDをもとにセーブデータ有無を判定して、マウント情報を編集する。
|
||||
static void SYSMi_ModifySaveDataMountForLauncher( OSBootType bootType, NAMTitleId titleID, OSMountInfo *pMountTgt )
|
||||
static void SYSMi_ModifySaveDataMountForLauncher( LauncherBootType bootType, NAMTitleId titleID, OSMountInfo *pMountTgt )
|
||||
{
|
||||
int i;
|
||||
|
||||
// ※カードからブートされた場合でも、titleIDが"NANDアプリ"の場合は、セーブデータをマウントするようにしている。
|
||||
|
||||
// セーブデータ有無を判定して、パスをセット
|
||||
if( ( ( bootType == OS_BOOTTYPE_NAND ) && // NANDアプリがNANDからブートされた時
|
||||
if( ( ( bootType == LAUNCHER_BOOTTYPE_NAND ) && // NANDアプリがNANDからブートされた時
|
||||
( titleID & TITLEID_MEDIA_NAND_FLAG ) ) ||
|
||||
( ( bootType == OS_BOOTTYPE_ROM ) && // ISデバッガ上で、NANDアプリがROM からブートされた時
|
||||
( ( bootType == LAUNCHER_BOOTTYPE_ROM ) && // ISデバッガ上で、NANDアプリがROM からブートされた時
|
||||
( titleID & TITLEID_MEDIA_NAND_FLAG ) &&
|
||||
( SYSMi_GetWork()->isOnDebugger ) )
|
||||
) {
|
||||
|
||||
@ -157,6 +157,7 @@ TitleProperty *SYSM_ReadParameters( void )
|
||||
if( !LCFG_ReadHWSecureInfo() ) {
|
||||
OS_TPrintf( "HW Secure Info Broken!\n" );
|
||||
SYSMi_GetWork()->isBrokenHWSecureInfo = TRUE;
|
||||
SYSMi_GetWork()->isFatalError = TRUE;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------
|
||||
@ -209,7 +210,7 @@ static TitleProperty *SYSMi_CheckShortcutBoot( void )
|
||||
s_bootTitle.flags.isAppLoadCompleted = TRUE;
|
||||
s_bootTitle.flags.isInitialShortcutSkip = TRUE; // 初回起動シーケンスを飛ばす
|
||||
s_bootTitle.flags.isLogoSkip = TRUE; // ロゴデモを飛ばす
|
||||
s_bootTitle.flags.bootType = OS_BOOTTYPE_ROM;
|
||||
s_bootTitle.flags.bootType = LAUNCHER_BOOTTYPE_ROM;
|
||||
s_bootTitle.flags.isValid = TRUE;
|
||||
s_bootTitle.titleID = *(u64 *)( &SYSM_GetCardRomHeader()->titleID_Lo );
|
||||
SYSM_SetLogoDemoSkip( s_bootTitle.flags.isLogoSkip );
|
||||
@ -228,7 +229,7 @@ static TitleProperty *SYSMi_CheckShortcutBoot( void )
|
||||
!LCFG_TSD_IsSetUserColor() ||
|
||||
!LCFG_TSD_IsSetNickname() ) {
|
||||
s_bootTitle.titleID = TITLE_ID_MACHINE_SETTINGS;
|
||||
s_bootTitle.flags.bootType = OS_BOOTTYPE_NAND;
|
||||
s_bootTitle.flags.bootType = LAUNCHER_BOOTTYPE_NAND;
|
||||
s_bootTitle.flags.isValid = TRUE;
|
||||
return &s_bootTitle;
|
||||
}
|
||||
|
||||
@ -36,6 +36,13 @@ static OSThread s_thread;
|
||||
static TWLBannerFile s_bannerBuf[ LAUNCHER_TITLE_LIST_NUM ] ATTRIBUTE_ALIGN(32);
|
||||
|
||||
// const data------------------------------------------------------------------
|
||||
static const OSBootType s_launcherToOSBootType[ LAUNCHER_BOOTTYPE_MAX ] = {
|
||||
OS_BOOTTYPE_ILLEGAL, // ILLEGAL
|
||||
OS_BOOTTYPE_ROM, // ROM
|
||||
OS_BOOTTYPE_NAND, // TEMP
|
||||
OS_BOOTTYPE_NAND, // NAND
|
||||
OS_BOOTTYPE_MEMORY, // MEMORY
|
||||
};
|
||||
|
||||
// ============================================================================
|
||||
//
|
||||
@ -81,41 +88,13 @@ BOOL SYSM_GetCardTitleList( TitleProperty *pTitleList_Card )
|
||||
}
|
||||
|
||||
// タイトル情報フラグのセット
|
||||
pTitleList_Card->flags.bootType = OS_BOOTTYPE_ROM;
|
||||
pTitleList_Card->flags.bootType = LAUNCHER_BOOTTYPE_ROM;
|
||||
pTitleList_Card->titleID = *(u64 *)( &SYSM_GetCardRomHeader()->titleID_Lo );
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
||||
|
||||
// Žw’èƒtƒ@ƒCƒ‹ƒŠ<C692>[ƒh
|
||||
static s32 ReadFile(FSFile* pf, void* buffer, s32 size)
|
||||
{
|
||||
u8* p = (u8*)buffer;
|
||||
s32 remain = size;
|
||||
|
||||
while( remain > 0 )
|
||||
{
|
||||
const s32 len = MATH_IMin(1024, remain);
|
||||
const s32 readLen = FS_ReadFile(pf, p, len);
|
||||
|
||||
if( readLen < 0 )
|
||||
{
|
||||
return readLen;
|
||||
}
|
||||
if( readLen != len )
|
||||
{
|
||||
return size - remain + readLen;
|
||||
}
|
||||
|
||||
remain -= readLen;
|
||||
p += readLen;
|
||||
}
|
||||
|
||||
return size;
|
||||
}
|
||||
|
||||
|
||||
// NANDタイトルリストの取得
|
||||
int SYSM_GetNandTitleList( TitleProperty *pTitleList_Nand, int listNum )
|
||||
{
|
||||
@ -214,7 +193,7 @@ int SYSM_GetNandTitleList( TitleProperty *pTitleList_Nand, int listNum )
|
||||
pTitleList_Nand[l+1].pBanner = &s_bannerBuf[l];
|
||||
if( titleIdArray[l] ) {
|
||||
pTitleList_Nand[l+1].flags.isValid = TRUE;
|
||||
pTitleList_Nand[l+1].flags.bootType = OS_BOOTTYPE_NAND;
|
||||
pTitleList_Nand[l+1].flags.bootType = LAUNCHER_BOOTTYPE_NAND;
|
||||
}
|
||||
}
|
||||
// return : *TitleProperty Array
|
||||
@ -222,6 +201,34 @@ int SYSM_GetNandTitleList( TitleProperty *pTitleList_Nand, int listNum )
|
||||
}
|
||||
|
||||
|
||||
// 指定ファイルリード
|
||||
static s32 ReadFile(FSFile* pf, void* buffer, s32 size)
|
||||
{
|
||||
u8* p = (u8*)buffer;
|
||||
s32 remain = size;
|
||||
|
||||
while( remain > 0 )
|
||||
{
|
||||
const s32 len = MATH_IMin(1024, remain);
|
||||
const s32 readLen = FS_ReadFile(pf, p, len);
|
||||
|
||||
if( readLen < 0 )
|
||||
{
|
||||
return readLen;
|
||||
}
|
||||
if( readLen != len )
|
||||
{
|
||||
return size - remain + readLen;
|
||||
}
|
||||
|
||||
remain -= readLen;
|
||||
p += readLen;
|
||||
}
|
||||
|
||||
return size;
|
||||
}
|
||||
|
||||
|
||||
// ============================================================================
|
||||
//
|
||||
// アプリ起動
|
||||
@ -250,22 +257,21 @@ static void SYSMi_LoadTitleThreadFunc( TitleProperty *pBootTitle )
|
||||
FSFile file[1];
|
||||
BOOL bSuccess;
|
||||
BOOL isTwlApp = TRUE;
|
||||
if(pBootTitle->flags.bootType == OS_BOOTTYPE_NAND)
|
||||
{
|
||||
|
||||
switch( pBootTitle->flags.bootType )
|
||||
{
|
||||
case LAUNCHER_BOOTTYPE_NAND:
|
||||
// NAND
|
||||
NAM_GetTitleBootContentPathFast(path, pBootTitle->titleID);
|
||||
}
|
||||
else if(pBootTitle->flags.bootType == OS_BOOTTYPE_ROM)
|
||||
{
|
||||
break;
|
||||
case LAUNCHER_BOOTTYPE_ROM:
|
||||
// TODO:CARD未読の場合の処理
|
||||
}
|
||||
else if(pBootTitle->flags.bootType == OS_BOOTTYPE_TEMP)
|
||||
{
|
||||
break;
|
||||
case LAUNCHER_BOOTTYPE_TEMP:
|
||||
// tmpフォルダ
|
||||
STD_TSNPrintf( path, 31, "nand:/tmp/%.16llx.srl", pBootTitle->titleID );
|
||||
}
|
||||
else
|
||||
{
|
||||
break;
|
||||
default:
|
||||
// unknown
|
||||
return;
|
||||
}
|
||||
@ -394,7 +400,7 @@ OS_TPrintf("RebootSystem failed: cant read file(%d, %d)\n", source[i], len);
|
||||
|
||||
(void)FS_CloseFile(file);
|
||||
|
||||
if(pBootTitle->flags.bootType == OS_BOOTTYPE_TEMP)
|
||||
if(pBootTitle->flags.bootType == LAUNCHER_BOOTTYPE_TEMP)
|
||||
{
|
||||
// tmpアプリの場合はファイル削除
|
||||
// TODO:その他読み込み等の失敗時にもDeleteする必要あり?
|
||||
@ -432,7 +438,7 @@ void SYSM_StartLoadTitle( TitleProperty *pBootTitle )
|
||||
SYSMi_GetWork()->isLoadSucceeded = TRUE;
|
||||
}
|
||||
|
||||
if( pBootTitle->flags.bootType == OS_BOOTTYPE_ROM ) {
|
||||
if( pBootTitle->flags.bootType == LAUNCHER_BOOTTYPE_ROM ) {
|
||||
SYSMi_GetWork()->isCardBoot = TRUE;
|
||||
}else if(pBootTitle->flags.isAppLoadCompleted)
|
||||
{
|
||||
@ -525,6 +531,14 @@ AuthResult SYSM_AuthenticateTitle( TitleProperty *pBootTitle )
|
||||
}
|
||||
#endif
|
||||
|
||||
// BOOTTYPE_MEMORYでNTRモードのFSありでブートすると、旧NitroSDKでビルドされたアプリの場合、
|
||||
// ROMアーカイブにカードが割り当てられて、FSで関係ないカードにアクセスにいってしまうので、それを防止する。
|
||||
if( ( pBootTitle->flags.bootType == LAUNCHER_BOOTTYPE_MEMORY ) &&
|
||||
( ( (( ROM_Header_Short *)HW_TWL_ROM_HEADER_BUF)->platform_code ) == 0 ) &&
|
||||
( ( (( ROM_Header_Short *)HW_TWL_ROM_HEADER_BUF)->fat_size ) > 0 )
|
||||
) {
|
||||
return AUTH_RESULT_TITLE_BOOTTYPE_ERROR;
|
||||
}
|
||||
|
||||
// ※ROMヘッダ認証
|
||||
|
||||
@ -533,16 +547,14 @@ AuthResult SYSM_AuthenticateTitle( TitleProperty *pBootTitle )
|
||||
SYSMi_SetBootAppMountInfo( pBootTitle );
|
||||
|
||||
// HW_WM_BOOT_BUFへのブート情報セット
|
||||
{
|
||||
OSBootInfo *pBootInfo = (OSBootInfo *)OS_GetBootInfo();
|
||||
pBootInfo->boot_type = (OSBootType)pBootTitle->flags.bootType;
|
||||
}
|
||||
( (OSBootInfo *)OS_GetBootInfo() )->boot_type = s_launcherToOSBootType[ pBootTitle->flags.bootType ];
|
||||
|
||||
BOOT_Ready(); // never return.
|
||||
|
||||
return AUTH_RESULT_SUCCEEDED;
|
||||
}
|
||||
|
||||
|
||||
#if 0
|
||||
// 指定タイトルの認証&ロード ※1フレームじゃ終わらん。
|
||||
// もしかすると使わないかも
|
||||
|
||||
@ -509,7 +509,7 @@ static TitleProperty *ProcessPads( TitleProperty *pTitleList )
|
||||
u16 dummy;
|
||||
u16 tp_lr = 3;
|
||||
TitleProperty *ret = NULL;
|
||||
LauncherBootFlags tempflag = {TRUE, OS_BOOTTYPE_NAND, TRUE, FALSE, FALSE, FALSE, 0};
|
||||
LauncherBootFlags tempflag = {TRUE, LAUNCHER_BOOTTYPE_NAND, TRUE, FALSE, FALSE, FALSE, 0};
|
||||
|
||||
// バックライト関係のキー処理
|
||||
ProcessBackLightPads();
|
||||
|
||||
@ -188,7 +188,7 @@ int MachineSettingMain( void )
|
||||
{
|
||||
BOOL tp_select;
|
||||
|
||||
LauncherBootFlags tempflag = {TRUE, OS_BOOTTYPE_NAND, TRUE, FALSE, FALSE, FALSE, 0};
|
||||
LauncherBootFlags tempflag = {TRUE, LAUNCHER_BOOTTYPE_NAND, TRUE, FALSE, FALSE, FALSE, 0};
|
||||
|
||||
ReadTP();
|
||||
|
||||
|
||||
@ -439,7 +439,7 @@ static void MenuScene(void)
|
||||
{
|
||||
BOOL tp_select = FALSE;
|
||||
static TPData tgt = (TPData){0,0,0,0};
|
||||
LauncherBootFlags tempflag = {TRUE, OS_BOOTTYPE_NAND, TRUE, FALSE, FALSE, FALSE, 0};
|
||||
LauncherBootFlags tempflag = {TRUE, LAUNCHER_BOOTTYPE_NAND, TRUE, FALSE, FALSE, FALSE, 0};
|
||||
|
||||
ReadTP();
|
||||
|
||||
|
||||
@ -124,7 +124,7 @@ static void MenuInit( void )
|
||||
static void MenuScene(void)
|
||||
{
|
||||
BOOL tp_select = FALSE;
|
||||
LauncherBootFlags tempflag = {TRUE, OS_BOOTTYPE_NAND, TRUE, FALSE, FALSE, FALSE, 0};
|
||||
LauncherBootFlags tempflag = {TRUE, LAUNCHER_BOOTTYPE_NAND, TRUE, FALSE, FALSE, FALSE, 0};
|
||||
|
||||
ReadTP();
|
||||
|
||||
|
||||
@ -439,7 +439,7 @@ static void MenuScene(void)
|
||||
{
|
||||
BOOL tp_select = FALSE;
|
||||
static TPData tgt = (TPData){0,0,0,0};
|
||||
LauncherBootFlags tempflag = {TRUE, OS_BOOTTYPE_NAND, TRUE, FALSE, FALSE, FALSE, 0};
|
||||
LauncherBootFlags tempflag = {TRUE, LAUNCHER_BOOTTYPE_NAND, TRUE, FALSE, FALSE, FALSE, 0};
|
||||
|
||||
ReadTP();
|
||||
|
||||
|
||||
@ -134,7 +134,7 @@ static BOOL LoadTitle( NAMTitleId bootTitleID )
|
||||
static void MenuScene(void)
|
||||
{
|
||||
BOOL tp_select = FALSE;
|
||||
LauncherBootFlags tempflag = {TRUE, OS_BOOTTYPE_NAND, TRUE, FALSE, TRUE, FALSE, 0};
|
||||
LauncherBootFlags tempflag = {TRUE, LAUNCHER_BOOTTYPE_NAND, TRUE, FALSE, TRUE, FALSE, 0};
|
||||
|
||||
ReadTP();
|
||||
|
||||
|
||||
@ -65,7 +65,8 @@ typedef enum AuthResult {
|
||||
AUTH_RESULT_TITLE_LOAD_FAILED = 2,
|
||||
AUTH_RESULT_TITLE_POINTER_ERROR = 3,
|
||||
AUTH_RESULT_AUTHENTICATE_FAILED = 4,
|
||||
AUTH_RESULT_ENTRY_ADDRESS_ERROR = 5
|
||||
AUTH_RESULT_ENTRY_ADDRESS_ERROR = 5,
|
||||
AUTH_RESULT_TITLE_BOOTTYPE_ERROR = 6
|
||||
}AuthResult;
|
||||
|
||||
|
||||
|
||||
@ -70,6 +70,7 @@ typedef struct ISD_RomEmuInfo {
|
||||
// SYSM共有ワーク構造体
|
||||
typedef struct SYSM_work {
|
||||
Relocate_Info romRelocateInfo[RELOCATE_INFO_NUM]; // ROM再配置情報(arm9,arm7それぞれltdとflxで最大4つ)
|
||||
vu32 isFatalError :1; // FATALエラー
|
||||
vu32 isARM9Start :1; // ARM9スタートフラグ
|
||||
vu32 isHotStart :1; // Hot/Coldスタート判定
|
||||
vu32 isValidLauncherParam :1; // リセットパラメータ有効
|
||||
@ -86,9 +87,9 @@ typedef struct SYSM_work {
|
||||
#ifdef DEBUG_USED_CARD_SLOT_B_
|
||||
vu32 isValidCardBanner :1;
|
||||
vu32 is1stCardChecked :1;
|
||||
vu32 rsv :18;
|
||||
vu32 rsv :17;
|
||||
#else
|
||||
vu32 rsv :20;
|
||||
vu32 rsv :19;
|
||||
#endif
|
||||
|
||||
u16 cardHeaderCrc16; // カード検出時に算出したROMヘッダCRC16(ARM9側でコピーして使用する側)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user