mirror of
https://github.com/rvtr/TwlIPL.git
synced 2025-10-31 06:01:12 -04:00
build/buildtools/commondefs上のSYSMENU_DEBUGGER_BUILDスイッチで、
製品/開発本体用ランチャーとISデバッガ用ランチャーを別バイナリでビルドするよう変更。 SYSM_IsRunOnDebugger関数をinline展開に変更し、上記ビルドスイッチでISデバッガ用ビルド時のみ 正しく値を返すよう変更。 git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@1890 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
parent
917247b71e
commit
dcf17e54a3
@ -19,6 +19,7 @@ ifndef TWL_IPL_COMMONDEFS_
|
|||||||
TWL_IPL_COMMONDEFS_ = TRUE
|
TWL_IPL_COMMONDEFS_ = TRUE
|
||||||
|
|
||||||
#FIRM_USE_PRODUCT_KEYS = TRUE
|
#FIRM_USE_PRODUCT_KEYS = TRUE
|
||||||
|
#SYSMENU_DEBUGGER_BUILD = TRUE
|
||||||
|
|
||||||
ifeq ($(TARGET_FIRM),SYSTEMMENU)
|
ifeq ($(TARGET_FIRM),SYSTEMMENU)
|
||||||
include $(TWL_IPL_RED_ROOT)/build/buildtools/commondefs.sysmenu
|
include $(TWL_IPL_RED_ROOT)/build/buildtools/commondefs.sysmenu
|
||||||
|
|||||||
@ -18,9 +18,6 @@
|
|||||||
ifndef TWL_SYSMENU_COMMONDEFS_
|
ifndef TWL_SYSMENU_COMMONDEFS_
|
||||||
TWL_SYSMENU_COMMONDEFS_ = TRUE
|
TWL_SYSMENU_COMMONDEFS_ = TRUE
|
||||||
|
|
||||||
#SYSMENU_DISABLE_TWL_BOOT = TRUE
|
|
||||||
#SYSMENU_DISABLE_RETAIL_BOOT = TRUE
|
|
||||||
|
|
||||||
NITRO_NO_STD_PCHDR = TRUE # プリコンパイルヘッダ抑止
|
NITRO_NO_STD_PCHDR = TRUE # プリコンパイルヘッダ抑止
|
||||||
|
|
||||||
EMPTY ?=
|
EMPTY ?=
|
||||||
@ -100,12 +97,8 @@ SDK_NMENU_DATADIR = $(ROOT)/build/tools/TwlNMenu/data
|
|||||||
|
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
ifdef SYSMENU_DISABLE_TWL_BOOT
|
ifeq ($(SYSMENU_DEBUGGER_BUILD),TRUE)
|
||||||
MACRO_FLAGS += -DSYSMENU_DISABLE_TWL_BOOT=$(SYSMENU_DISABLE_TWL_BOOT)
|
MACRO_FLAGS += -DSYSMENU_DEBUGGER_BUILD
|
||||||
endif
|
|
||||||
|
|
||||||
ifdef SYSMENU_DISABLE_RETAIL_BOOT
|
|
||||||
MACRO_FLAGS += -DSYSMENU_DISABLE_RETAIL_BOOT=$(SYSMENU_DISABLE_RETAIL_BOOT)
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
|
|||||||
@ -375,7 +375,7 @@ static HotSwState LoadCardData(void)
|
|||||||
}
|
}
|
||||||
MCU_EnableDeepSleepToPowerLine( MCU_PWR_LINE_33, enableDeepSleep );
|
MCU_EnableDeepSleepToPowerLine( MCU_PWR_LINE_33, enableDeepSleep );
|
||||||
|
|
||||||
// ARM9/7で不整合が発生しないようにRomエミュレーション情報ロードは初回のみ
|
// ARM9/7で不整合が発生しないようにRomエミュレーション情報ロードは初回のみ
|
||||||
if ( ! SYSMi_GetWork()->flags.hotsw.is1stCardChecked )
|
if ( ! SYSMi_GetWork()->flags.hotsw.is1stCardChecked )
|
||||||
{
|
{
|
||||||
// Romエミュレーション情報を取得
|
// Romエミュレーション情報を取得
|
||||||
@ -389,6 +389,8 @@ static HotSwState LoadCardData(void)
|
|||||||
s_debuggerFlg = FALSE;
|
s_debuggerFlg = FALSE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// ※ROMエミュレーション情報を読まなければ、デバッガ上でカードアクセスができなくなるため、ランチャー自身をデバッグできなくなる。
|
||||||
|
// よって、ROMエミュレーション情報リード部分をデバッガビルド時以外に切ることはできない。
|
||||||
|
|
||||||
// 初回のRomエミュレーション情報を使用
|
// 初回のRomエミュレーション情報を使用
|
||||||
if(HOTSWi_IsRomEmulation()){
|
if(HOTSWi_IsRomEmulation()){
|
||||||
@ -698,17 +700,6 @@ HotSwState HOTSWi_RefreshBadBlock(u32 romMode)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*
|
|
||||||
Name: HOTSWi_IsRunOnDebugger
|
|
||||||
|
|
||||||
Description: ISデバッガ上で動作しているか?
|
|
||||||
*---------------------------------------------------------------------------*/
|
|
||||||
BOOL HOTSWi_IsRunOnDebugger(void)
|
|
||||||
{
|
|
||||||
return s_debuggerFlg;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*
|
/*---------------------------------------------------------------------------*
|
||||||
Name: HOTSWi_IsRomEmulation
|
Name: HOTSWi_IsRomEmulation
|
||||||
|
|
||||||
|
|||||||
@ -471,6 +471,7 @@ static void SYSMi_FinalizeHotSWAsync( TitleProperty *pBootTitle, ROM_Header *hea
|
|||||||
{
|
{
|
||||||
case LAUNCHER_BOOTTYPE_NAND:
|
case LAUNCHER_BOOTTYPE_NAND:
|
||||||
case LAUNCHER_BOOTTYPE_TEMP:
|
case LAUNCHER_BOOTTYPE_TEMP:
|
||||||
|
// ROMヘッダのアクセスコントロール情報をもとにカード状態を制御するのは "NAND/TMPブートのTWL-LTD" アプリのみ
|
||||||
if ( ( head->s.platform_code & PLATFORM_CODE_TWL_LIMITED ) == PLATFORM_CODE_TWL_LIMITED )
|
if ( ( head->s.platform_code & PLATFORM_CODE_TWL_LIMITED ) == PLATFORM_CODE_TWL_LIMITED )
|
||||||
{
|
{
|
||||||
if(rh->s.access_control.game_card_nitro_mode){
|
if(rh->s.access_control.game_card_nitro_mode){
|
||||||
@ -483,6 +484,7 @@ static void SYSMi_FinalizeHotSWAsync( TitleProperty *pBootTitle, ROM_Header *hea
|
|||||||
card_state = HOTSW_CARD_STATE_POWER_OFF;
|
card_state = HOTSW_CARD_STATE_POWER_OFF;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// それ以外は強制的にNTR互換Game領域にアクセス可能な状態となる(DSダウンロードプレイも含む)
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
card_state = HOTSW_CARD_STATE_GAME_MODE;
|
card_state = HOTSW_CARD_STATE_GAME_MODE;
|
||||||
@ -953,7 +955,7 @@ static BOOL SYSMi_AuthenticateHeaderWithSign( TitleProperty *pBootTitle, ROM_Hea
|
|||||||
key = ((OSFromFirm9Buf *)HW_FIRM_FROM_FIRM_BUF)->rsa_pubkey[keynum];
|
key = ((OSFromFirm9Buf *)HW_FIRM_FROM_FIRM_BUF)->rsa_pubkey[keynum];
|
||||||
}
|
}
|
||||||
// デバッガが有効でTLF読み込みならば、ハッシュチェックスルーフラグを立てる
|
// デバッガが有効でTLF読み込みならば、ハッシュチェックスルーフラグを立てる
|
||||||
if(SYSMi_GetWork()->flags.hotsw.isOnDebugger && SYSMi_GetWork()->romEmuInfo.isTlfRom )
|
if( SYSM_IsRunOnDebugger() && SYSMi_GetWork()->romEmuInfo.isTlfRom )
|
||||||
{
|
{
|
||||||
s_b_dev = TRUE;
|
s_b_dev = TRUE;
|
||||||
}
|
}
|
||||||
@ -966,7 +968,7 @@ static BOOL SYSMi_AuthenticateHeaderWithSign( TitleProperty *pBootTitle, ROM_Hea
|
|||||||
// 開発版
|
// 開発版
|
||||||
key = g_devPubKey[keynum];
|
key = g_devPubKey[keynum];
|
||||||
// デバッガが有効でTLF読み込みならば、ハッシュチェックスルーフラグを立てる
|
// デバッガが有効でTLF読み込みならば、ハッシュチェックスルーフラグを立てる
|
||||||
if(SYSMi_GetWork()->flags.hotsw.isOnDebugger && SYSMi_GetWork()->romEmuInfo.isTlfRom )
|
if( SYSM_IsRunOnDebugger() && SYSMi_GetWork()->romEmuInfo.isTlfRom )
|
||||||
{
|
{
|
||||||
s_b_dev = TRUE;
|
s_b_dev = TRUE;
|
||||||
}
|
}
|
||||||
@ -1028,7 +1030,7 @@ static BOOL SYSMi_AuthenticateTWLHeader( TitleProperty *pBootTitle, ROM_Header *
|
|||||||
OS_TPrintf( "Authenticate_Header : header TitleID check succeed.\n" );
|
OS_TPrintf( "Authenticate_Header : header TitleID check succeed.\n" );
|
||||||
}
|
}
|
||||||
|
|
||||||
if( head->s.enable_signature || (SYSMi_GetWork()->flags.hotsw.isOnDebugger && SYSMi_GetWork()->romEmuInfo.isTlfRom))
|
if( head->s.enable_signature || ( SYSM_IsRunOnDebugger() && SYSMi_GetWork()->romEmuInfo.isTlfRom))
|
||||||
{
|
{
|
||||||
return SYSMi_AuthenticateHeaderWithSign( pBootTitle, head );
|
return SYSMi_AuthenticateHeaderWithSign( pBootTitle, head );
|
||||||
}else
|
}else
|
||||||
|
|||||||
@ -309,7 +309,7 @@ static void SYSMi_ModifySaveDataMount( LauncherBootType bootType, NAMTitleId tit
|
|||||||
( titleID & TITLEID_MEDIA_NAND_FLAG ) ) ||
|
( titleID & TITLEID_MEDIA_NAND_FLAG ) ) ||
|
||||||
( ( bootType == LAUNCHER_BOOTTYPE_ROM ) && // ISデバッガ上で、NANDアプリがROM からブートされた時
|
( ( bootType == LAUNCHER_BOOTTYPE_ROM ) && // ISデバッガ上で、NANDアプリがROM からブートされた時
|
||||||
( titleID & TITLEID_MEDIA_NAND_FLAG ) &&
|
( titleID & TITLEID_MEDIA_NAND_FLAG ) &&
|
||||||
( SYSMi_GetWork()->flags.hotsw.isOnDebugger ) )
|
SYSM_IsRunOnDebugger() )
|
||||||
) {
|
) {
|
||||||
char saveFilePath[ 2 ][ FS_ENTRY_LONGNAME_MAX ];
|
char saveFilePath[ 2 ][ FS_ENTRY_LONGNAME_MAX ];
|
||||||
u32 saveDataSize[ 2 ];
|
u32 saveDataSize[ 2 ];
|
||||||
@ -353,7 +353,7 @@ static void SYSMi_ModifySaveDataMountForLauncher( LauncherBootType bootType, NAM
|
|||||||
( titleID & TITLEID_MEDIA_NAND_FLAG ) ) ||
|
( titleID & TITLEID_MEDIA_NAND_FLAG ) ) ||
|
||||||
( ( bootType == LAUNCHER_BOOTTYPE_ROM ) && // ISデバッガ上で、NANDアプリがROM からブートされた時
|
( ( bootType == LAUNCHER_BOOTTYPE_ROM ) && // ISデバッガ上で、NANDアプリがROM からブートされた時
|
||||||
( titleID & TITLEID_MEDIA_NAND_FLAG ) &&
|
( titleID & TITLEID_MEDIA_NAND_FLAG ) &&
|
||||||
( SYSMi_GetWork()->flags.hotsw.isOnDebugger ) )
|
SYSM_IsRunOnDebugger() )
|
||||||
) {
|
) {
|
||||||
char saveFilePath[ 2 ][ FS_ENTRY_LONGNAME_MAX ];
|
char saveFilePath[ 2 ][ FS_ENTRY_LONGNAME_MAX ];
|
||||||
u32 saveDataSize[ 2 ];
|
u32 saveDataSize[ 2 ];
|
||||||
|
|||||||
@ -55,13 +55,6 @@ BOOL SYSM_IsLogoDemoSkip( void )
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// ISデバッガ上で動作しているか?
|
|
||||||
BOOL SYSM_IsRunOnDebugger( void )
|
|
||||||
{
|
|
||||||
return SYSMi_GetWork()->flags.hotsw.isOnDebugger;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ISデバッガのバナービューモード起動かどうか?
|
// ISデバッガのバナービューモード起動かどうか?
|
||||||
BOOL SYSMi_IsDebuggerBannerViewMode( void )
|
BOOL SYSMi_IsDebuggerBannerViewMode( void )
|
||||||
{
|
{
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
@ -180,9 +180,6 @@ void HOTSW_SetSecureSegmentBuffer(ModeType type ,void* buf, u32 size);
|
|||||||
// 上記のバッファ非クリアバージョン
|
// 上記のバッファ非クリアバージョン
|
||||||
void HOTSWi_SetSecureSegmentBuffer(ModeType type ,void* buf, u32 size);
|
void HOTSWi_SetSecureSegmentBuffer(ModeType type ,void* buf, u32 size);
|
||||||
|
|
||||||
// ISデバッガ上で動作しているか?
|
|
||||||
BOOL HOTSWi_IsRunOnDebugger(void);
|
|
||||||
|
|
||||||
// ROMをエミュレーションしているか?
|
// ROMをエミュレーションしているか?
|
||||||
BOOL HOTSWi_IsRomEmulation(void);
|
BOOL HOTSWi_IsRomEmulation(void);
|
||||||
|
|
||||||
|
|||||||
@ -132,7 +132,6 @@ extern void SYSM_SetLogoDemoSkip( BOOL skip ); //
|
|||||||
extern BOOL SYSM_IsValidTSD( void ); // TWL設定データは有効か?
|
extern BOOL SYSM_IsValidTSD( void ); // TWL設定データは有効か?
|
||||||
extern void SYSM_SetValidTSD( BOOL valid ); // TWL設定データの有効/無効フラグを設定する。
|
extern void SYSM_SetValidTSD( BOOL valid ); // TWL設定データの有効/無効フラグを設定する。
|
||||||
extern const LauncherParamBody *SYSM_GetLauncherParamBody( void ); // ランチャーパラメータの取得
|
extern const LauncherParamBody *SYSM_GetLauncherParamBody( void ); // ランチャーパラメータの取得
|
||||||
extern BOOL SYSM_IsRunOnDebugger( void ); // ISデバッガ上で動作しているか?
|
|
||||||
|
|
||||||
extern BOOL SYSM_IsLauncherHidden( void ); // ランチャーの画面を表示しないバージョンか?
|
extern BOOL SYSM_IsLauncherHidden( void ); // ランチャーの画面を表示しないバージョンか?
|
||||||
|
|
||||||
|
|||||||
@ -208,6 +208,18 @@ typedef struct DeliverBROM9Key {
|
|||||||
#define GetDeliverBROM9KeyAddr() ( (DeliverBROM9Key *)HW_WRAM_0_LTD )
|
#define GetDeliverBROM9KeyAddr() ( (DeliverBROM9Key *)HW_WRAM_0_LTD )
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// ISデバッガ上で動作しているか?
|
||||||
|
static inline BOOL SYSM_IsRunOnDebugger( void )
|
||||||
|
{
|
||||||
|
#ifdef SYSMENU_DEBUGGER_BUILD
|
||||||
|
return SYSMi_GetWork()->flags.hotsw.isOnDebugger;
|
||||||
|
#else
|
||||||
|
return FALSE;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user