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
|
||||
|
||||
#FIRM_USE_PRODUCT_KEYS = TRUE
|
||||
#SYSMENU_DEBUGGER_BUILD = TRUE
|
||||
|
||||
ifeq ($(TARGET_FIRM),SYSTEMMENU)
|
||||
include $(TWL_IPL_RED_ROOT)/build/buildtools/commondefs.sysmenu
|
||||
|
||||
@ -18,9 +18,6 @@
|
||||
ifndef TWL_SYSMENU_COMMONDEFS_
|
||||
TWL_SYSMENU_COMMONDEFS_ = TRUE
|
||||
|
||||
#SYSMENU_DISABLE_TWL_BOOT = TRUE
|
||||
#SYSMENU_DISABLE_RETAIL_BOOT = TRUE
|
||||
|
||||
NITRO_NO_STD_PCHDR = TRUE # プリコンパイルヘッダ抑止
|
||||
|
||||
EMPTY ?=
|
||||
@ -100,12 +97,8 @@ SDK_NMENU_DATADIR = $(ROOT)/build/tools/TwlNMenu/data
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
ifdef SYSMENU_DISABLE_TWL_BOOT
|
||||
MACRO_FLAGS += -DSYSMENU_DISABLE_TWL_BOOT=$(SYSMENU_DISABLE_TWL_BOOT)
|
||||
endif
|
||||
|
||||
ifdef SYSMENU_DISABLE_RETAIL_BOOT
|
||||
MACRO_FLAGS += -DSYSMENU_DISABLE_RETAIL_BOOT=$(SYSMENU_DISABLE_RETAIL_BOOT)
|
||||
ifeq ($(SYSMENU_DEBUGGER_BUILD),TRUE)
|
||||
MACRO_FLAGS += -DSYSMENU_DEBUGGER_BUILD
|
||||
endif
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
@ -375,7 +375,7 @@ static HotSwState LoadCardData(void)
|
||||
}
|
||||
MCU_EnableDeepSleepToPowerLine( MCU_PWR_LINE_33, enableDeepSleep );
|
||||
|
||||
// ARM9/7で不整合が発生しないようにRomエミュレーション情報ロードは初回のみ
|
||||
// ARM9/7で不整合が発生しないようにRomエミュレーション情報ロードは初回のみ
|
||||
if ( ! SYSMi_GetWork()->flags.hotsw.is1stCardChecked )
|
||||
{
|
||||
// Romエミュレーション情報を取得
|
||||
@ -389,6 +389,8 @@ static HotSwState LoadCardData(void)
|
||||
s_debuggerFlg = FALSE;
|
||||
}
|
||||
}
|
||||
// ※ROMエミュレーション情報を読まなければ、デバッガ上でカードアクセスができなくなるため、ランチャー自身をデバッグできなくなる。
|
||||
// よって、ROMエミュレーション情報リード部分をデバッガビルド時以外に切ることはできない。
|
||||
|
||||
// 初回のRomエミュレーション情報を使用
|
||||
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
|
||||
|
||||
|
||||
@ -471,6 +471,7 @@ static void SYSMi_FinalizeHotSWAsync( TitleProperty *pBootTitle, ROM_Header *hea
|
||||
{
|
||||
case LAUNCHER_BOOTTYPE_NAND:
|
||||
case LAUNCHER_BOOTTYPE_TEMP:
|
||||
// ROMヘッダのアクセスコントロール情報をもとにカード状態を制御するのは "NAND/TMPブートのTWL-LTD" アプリのみ
|
||||
if ( ( head->s.platform_code & PLATFORM_CODE_TWL_LIMITED ) == PLATFORM_CODE_TWL_LIMITED )
|
||||
{
|
||||
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;
|
||||
}
|
||||
}
|
||||
// それ以外は強制的にNTR互換Game領域にアクセス可能な状態となる(DSダウンロードプレイも含む)
|
||||
else
|
||||
{
|
||||
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];
|
||||
}
|
||||
// デバッガが有効でTLF読み込みならば、ハッシュチェックスルーフラグを立てる
|
||||
if(SYSMi_GetWork()->flags.hotsw.isOnDebugger && SYSMi_GetWork()->romEmuInfo.isTlfRom )
|
||||
if( SYSM_IsRunOnDebugger() && SYSMi_GetWork()->romEmuInfo.isTlfRom )
|
||||
{
|
||||
s_b_dev = TRUE;
|
||||
}
|
||||
@ -966,7 +968,7 @@ static BOOL SYSMi_AuthenticateHeaderWithSign( TitleProperty *pBootTitle, ROM_Hea
|
||||
// 開発版
|
||||
key = g_devPubKey[keynum];
|
||||
// デバッガが有効でTLF読み込みならば、ハッシュチェックスルーフラグを立てる
|
||||
if(SYSMi_GetWork()->flags.hotsw.isOnDebugger && SYSMi_GetWork()->romEmuInfo.isTlfRom )
|
||||
if( SYSM_IsRunOnDebugger() && SYSMi_GetWork()->romEmuInfo.isTlfRom )
|
||||
{
|
||||
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" );
|
||||
}
|
||||
|
||||
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 );
|
||||
}else
|
||||
|
||||
@ -309,7 +309,7 @@ static void SYSMi_ModifySaveDataMount( LauncherBootType bootType, NAMTitleId tit
|
||||
( titleID & TITLEID_MEDIA_NAND_FLAG ) ) ||
|
||||
( ( bootType == LAUNCHER_BOOTTYPE_ROM ) && // ISデバッガ上で、NANDアプリがROM からブートされた時
|
||||
( titleID & TITLEID_MEDIA_NAND_FLAG ) &&
|
||||
( SYSMi_GetWork()->flags.hotsw.isOnDebugger ) )
|
||||
SYSM_IsRunOnDebugger() )
|
||||
) {
|
||||
char saveFilePath[ 2 ][ FS_ENTRY_LONGNAME_MAX ];
|
||||
u32 saveDataSize[ 2 ];
|
||||
@ -353,7 +353,7 @@ static void SYSMi_ModifySaveDataMountForLauncher( LauncherBootType bootType, NAM
|
||||
( titleID & TITLEID_MEDIA_NAND_FLAG ) ) ||
|
||||
( ( bootType == LAUNCHER_BOOTTYPE_ROM ) && // ISデバッガ上で、NANDアプリがROM からブートされた時
|
||||
( titleID & TITLEID_MEDIA_NAND_FLAG ) &&
|
||||
( SYSMi_GetWork()->flags.hotsw.isOnDebugger ) )
|
||||
SYSM_IsRunOnDebugger() )
|
||||
) {
|
||||
char saveFilePath[ 2 ][ FS_ENTRY_LONGNAME_MAX ];
|
||||
u32 saveDataSize[ 2 ];
|
||||
|
||||
@ -55,13 +55,6 @@ BOOL SYSM_IsLogoDemoSkip( void )
|
||||
}
|
||||
|
||||
|
||||
// ISデバッガ上で動作しているか?
|
||||
BOOL SYSM_IsRunOnDebugger( void )
|
||||
{
|
||||
return SYSMi_GetWork()->flags.hotsw.isOnDebugger;
|
||||
}
|
||||
|
||||
|
||||
// ISデバッガのバナービューモード起動かどうか?
|
||||
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);
|
||||
|
||||
// ISデバッガ上で動作しているか?
|
||||
BOOL HOTSWi_IsRunOnDebugger(void);
|
||||
|
||||
// ROMをエミュレーションしているか?
|
||||
BOOL HOTSWi_IsRomEmulation(void);
|
||||
|
||||
|
||||
@ -132,7 +132,6 @@ extern void SYSM_SetLogoDemoSkip( BOOL skip ); //
|
||||
extern BOOL SYSM_IsValidTSD( void ); // TWL設定データは有効か?
|
||||
extern void SYSM_SetValidTSD( BOOL valid ); // TWL設定データの有効/無効フラグを設定する。
|
||||
extern const LauncherParamBody *SYSM_GetLauncherParamBody( void ); // ランチャーパラメータの取得
|
||||
extern BOOL SYSM_IsRunOnDebugger( void ); // ISデバッガ上で動作しているか?
|
||||
|
||||
extern BOOL SYSM_IsLauncherHidden( void ); // ランチャーの画面を表示しないバージョンか?
|
||||
|
||||
|
||||
@ -208,6 +208,18 @@ typedef struct DeliverBROM9Key {
|
||||
#define GetDeliverBROM9KeyAddr() ( (DeliverBROM9Key *)HW_WRAM_0_LTD )
|
||||
#endif
|
||||
|
||||
// ISデバッガ上で動作しているか?
|
||||
static inline BOOL SYSM_IsRunOnDebugger( void )
|
||||
{
|
||||
#ifdef SYSMENU_DEBUGGER_BUILD
|
||||
return SYSMi_GetWork()->flags.hotsw.isOnDebugger;
|
||||
#else
|
||||
return FALSE;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
Loading…
Reference in New Issue
Block a user