mirror of
https://github.com/rvtr/TwlIPL.git
synced 2025-10-31 06:01:12 -04:00
・SDKリビジョン3243に対応。(多分大丈夫のはず)
esライブラリをeseではなくBroadOnの正式版を使用するようにする。 ・ドキュメント更新。 git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@396 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
parent
90c67b36a5
commit
2e49f54eb1
@ -91,7 +91,7 @@ MAKETAD ?= $(TWLSDK_ROOT)/tools/bin/makeTad.pl
|
|||||||
|
|
||||||
### Global Library resettings
|
### Global Library resettings
|
||||||
|
|
||||||
GINCLUDES := $(SYSMENU_INCDIR) $(GINCLUDES) $(ES_ROOT)/include
|
GINCLUDES := $(SYSMENU_INCDIR) $(GINCLUDES) $(ES_ROOT)/twl/include
|
||||||
GLIBRARY_DIRS := $(SYSMENU_LIBDIR) $(GLIBRARY_DIRS)
|
GLIBRARY_DIRS := $(SYSMENU_LIBDIR) $(GLIBRARY_DIRS)
|
||||||
GLIBRARIES := $(SYSMENU_LIBS) $(GLIBRARIES)
|
GLIBRARIES := $(SYSMENU_LIBS) $(GLIBRARIES)
|
||||||
|
|
||||||
|
|||||||
@ -25,7 +25,7 @@ include $(NITROSYSTEM_ROOT)/build/buildtools/modulerules
|
|||||||
|
|
||||||
|
|
||||||
%.tad: $(BINDIR)/$(TARGET_BIN)
|
%.tad: $(BINDIR)/$(TARGET_BIN)
|
||||||
$(MAKETAD) $< $@
|
$(MAKETAD) $< -o $@
|
||||||
|
|
||||||
# .rbin
|
# .rbin
|
||||||
$(BINDIR)/$(TARGET_BIN_BASENAME).rbin: $(OBJS)
|
$(BINDIR)/$(TARGET_BIN_BASENAME).rbin: $(OBJS)
|
||||||
|
|||||||
@ -68,7 +68,7 @@
|
|||||||
*---------------------------------------------------------------------------*/
|
*---------------------------------------------------------------------------*/
|
||||||
static void SetSCFGWork( void );
|
static void SetSCFGWork( void );
|
||||||
static void ResetRTC( void );
|
static void ResetRTC( void );
|
||||||
static void ReadResetParameter( void );
|
static void ReadLauncherParameter( void );
|
||||||
static void PrintDebugInfo(void);
|
static void PrintDebugInfo(void);
|
||||||
static OSHeapHandle InitializeAllocateSystem(void);
|
static OSHeapHandle InitializeAllocateSystem(void);
|
||||||
static void InitializeFatfs(void);
|
static void InitializeFatfs(void);
|
||||||
@ -111,8 +111,8 @@ TwlSpMain(void)
|
|||||||
OS_InitTick();
|
OS_InitTick();
|
||||||
PrintDebugInfo();
|
PrintDebugInfo();
|
||||||
|
|
||||||
// Cold/Hotスタート判定
|
// ランチャーパラメター取得(Cold/Hotスタート判定含む)
|
||||||
ReadResetParameter();
|
ReadLauncherParameter();
|
||||||
|
|
||||||
// RTCリセット
|
// RTCリセット
|
||||||
ResetRTC(); // 330usくらい
|
ResetRTC(); // 330usくらい
|
||||||
@ -249,14 +249,14 @@ static void ResetRTC( void )
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Hot/Coldスタート判定およびリセットパラメータのリード
|
// ランチャーパラメータのリードおよびHot/Coldスタート判定
|
||||||
void ReadResetParameter( void )
|
void ReadLauncherParameter( void )
|
||||||
{
|
{
|
||||||
BOOL hot;
|
BOOL hot;
|
||||||
SYSMi_GetWork()->isValidResetParam = OS_ReadResetParameter( (ResetParam *)&(SYSMi_GetWork()->resetParam), &hot );
|
SYSMi_GetWork()->isValidLauncherParam = OS_ReadLauncherParameter( (LauncherParam *)&(SYSMi_GetWork()->launcherParam), &hot );
|
||||||
SYSMi_GetWork()->isHotStart = hot;
|
SYSMi_GetWork()->isHotStart = hot;
|
||||||
// メインメモリのリセットパラメータをクリアしておく
|
// メインメモリのリセットパラメータをクリアしておく
|
||||||
MI_CpuClear32( SYSMi_GetResetParamAddr(), 0x100 );
|
MI_CpuClear32( SYSMi_GetLauncherParamAddr(), 0x100 );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -170,13 +170,13 @@ TitleProperty *SYSM_ReadParameters( void )
|
|||||||
// リセットパラメータの判定(リセットパラメータが有効かどうかは、ARM7でやってくれている)
|
// リセットパラメータの判定(リセットパラメータが有効かどうかは、ARM7でやってくれている)
|
||||||
//-----------------------------------------------------
|
//-----------------------------------------------------
|
||||||
{
|
{
|
||||||
if( SYSM_GetResetParamBody()->v1.flags.isLogoSkip || // ロゴデモスキップ?
|
if( SYSM_GetLauncherParamBody()->v1.flags.isLogoSkip || // ロゴデモスキップ?
|
||||||
SYSMi_IsDebuggerBannerViewMode() ) {
|
SYSMi_IsDebuggerBannerViewMode() ) {
|
||||||
SYSM_SetLogoDemoSkip( TRUE );
|
SYSM_SetLogoDemoSkip( TRUE );
|
||||||
}
|
}
|
||||||
|
|
||||||
if( SYSM_GetResetParamBody()->v1.bootTitleID ) { // アプリ直接起動の指定があったらロゴデモを飛ばして指定アプリ起動
|
if( SYSM_GetLauncherParamBody()->v1.bootTitleID ) { // アプリ直接起動の指定があったらロゴデモを飛ばして指定アプリ起動
|
||||||
pBootTitle = (TitleProperty *)&SYSM_GetResetParamBody()->v1;
|
pBootTitle = (TitleProperty *)&SYSM_GetLauncherParamBody()->v1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -448,10 +448,10 @@ int SYSM_GetNandTitleList( TitleProperty *pTitleList_Nand, int listNum )
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// リセットパラメータの取得
|
// ランチャーパラメータの取得
|
||||||
const ResetParamBody *SYSM_GetResetParamBody( void )
|
const LauncherParamBody *SYSM_GetLauncherParamBody( void )
|
||||||
{
|
{
|
||||||
return (const ResetParamBody *)&SYSMi_GetWork()->resetParam.body;
|
return (const LauncherParamBody *)&SYSMi_GetWork()->launcherParam.body;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -17,12 +17,12 @@
|
|||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
SUBDIRS = \
|
SUBDIRS = \
|
||||||
../../../libraries_sysmenu/reloc_info \
|
# ../../../libraries_sysmenu/reloc_info \
|
||||||
../../../libraries_sysmenu/sysmenu \
|
# ../../../libraries_sysmenu/sysmenu \
|
||||||
../../../libraries_sysmenu/settings \
|
# ../../../libraries_sysmenu/settings \
|
||||||
../../../libraries_sysmenu/boot \
|
# ../../../libraries_sysmenu/boot \
|
||||||
../../../libraries_sysmenu/hotsw \
|
# ../../../libraries_sysmenu/hotsw \
|
||||||
../../../components/hyena.TWL
|
# ../../../components/hyena.TWL
|
||||||
|
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|||||||
@ -197,7 +197,7 @@ int MachineSettingMain( void )
|
|||||||
{
|
{
|
||||||
BOOL tp_select;
|
BOOL tp_select;
|
||||||
|
|
||||||
BootFlags tempflag = {TRUE, 0, TRUE, FALSE, FALSE, FALSE, 0};
|
LauncherBootFlags tempflag = {TRUE, 0, TRUE, FALSE, FALSE, FALSE, 0};
|
||||||
|
|
||||||
ReadTP();
|
ReadTP();
|
||||||
|
|
||||||
@ -218,7 +218,7 @@ int MachineSettingMain( void )
|
|||||||
DrawMenu( s_csr, &s_settingParam );
|
DrawMenu( s_csr, &s_settingParam );
|
||||||
|
|
||||||
if( pad.trg & PAD_BUTTON_START ) {
|
if( pad.trg & PAD_BUTTON_START ) {
|
||||||
OS_SetResetParamAndResetHardware( 0, NULL, &tempflag );
|
OS_SetLauncherParamAndResetHardware( 0, NULL, &tempflag );
|
||||||
}
|
}
|
||||||
|
|
||||||
if( ( pad.trg & PAD_BUTTON_A ) || ( tp_select ) ) { // メニュー項目への分岐
|
if( ( pad.trg & PAD_BUTTON_A ) || ( tp_select ) ) { // メニュー項目への分岐
|
||||||
@ -250,7 +250,7 @@ int MachineSettingMain( void )
|
|||||||
break;
|
break;
|
||||||
case 6:
|
case 6:
|
||||||
//pictochat起動テスト
|
//pictochat起動テスト
|
||||||
OS_SetResetParamAndResetHardware( 0, 0x0001000150434854, &tempflag );
|
OS_SetLauncherParamAndResetHardware( 0, 0x0001000150434854, &tempflag );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -499,10 +499,10 @@ static void MenuScene(void)
|
|||||||
MI_CpuCopy8(s_work.parameter, arginfo->buf, 2*(PARAM_LENGTH+1));
|
MI_CpuCopy8(s_work.parameter, arginfo->buf, 2*(PARAM_LENGTH+1));
|
||||||
}
|
}
|
||||||
//B‹N“®
|
//B‹N“®
|
||||||
OS_SetResetParamAndResetHardware( 0, 0x00010001434f5042, &tempflag );
|
OS_SetLauncherParamAndResetHardware( 0, 0x00010001434f5042, &tempflag );
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
OS_SetResetParamAndResetHardware( 0, NULL, &tempflag );
|
OS_SetLauncherParamAndResetHardware( 0, NULL, &tempflag );
|
||||||
//<2F>Ä‹N“®
|
//<2F>Ä‹N“®
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -157,12 +157,12 @@ static void MenuScene(void)
|
|||||||
// アプリ専用部分のセット
|
// アプリ専用部分のセット
|
||||||
MI_CpuCopy8("-r", arginfo->buf, 3);
|
MI_CpuCopy8("-r", arginfo->buf, 3);
|
||||||
//呼び出し元アプリ起動
|
//呼び出し元アプリ起動
|
||||||
OS_SetResetParamAndResetHardware( 0, (u64)0x0001000100000000 + invGameCode, &tempflag );
|
OS_SetLauncherParamAndResetHardware( 0, (u64)0x0001000100000000 + invGameCode, &tempflag );
|
||||||
//OS_SetResetParamAndResetHardware( 0, (u64)0x00010001434f5041, &tempflag );
|
//OS_SetLauncherParamAndResetHardware( 0, (u64)0x00010001434f5041, &tempflag );
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
OS_SetResetParamAndResetHardware( 0, NULL, &tempflag );
|
OS_SetLauncherParamAndResetHardware( 0, NULL, &tempflag );
|
||||||
//再起動
|
//再起動
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -499,10 +499,10 @@ static void MenuScene(void)
|
|||||||
MI_CpuCopy8(s_work.parameter, arginfo->buf, 2*(PARAM_LENGTH+1));
|
MI_CpuCopy8(s_work.parameter, arginfo->buf, 2*(PARAM_LENGTH+1));
|
||||||
}
|
}
|
||||||
//B‹N“®
|
//B‹N“®
|
||||||
OS_SetResetParamAndResetHardware( 0, 0x00010001434f5042, &tempflag );
|
OS_SetLauncherParamAndResetHardware( 0, 0x00010001434f5042, &tempflag );
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
OS_SetResetParamAndResetHardware( 0, NULL, &tempflag );
|
OS_SetLauncherParamAndResetHardware( 0, NULL, &tempflag );
|
||||||
//<2F>Ä‹N“®
|
//<2F>Ä‹N“®
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -65,7 +65,7 @@
|
|||||||
内部関数定義
|
内部関数定義
|
||||||
*---------------------------------------------------------------------------*/
|
*---------------------------------------------------------------------------*/
|
||||||
static void SetSCFGWork( void );
|
static void SetSCFGWork( void );
|
||||||
static void ReadResetParameter( void );
|
static void ReadLauncherParameter( void );
|
||||||
static void PrintDebugInfo(void);
|
static void PrintDebugInfo(void);
|
||||||
static OSHeapHandle InitializeAllocateSystem(void);
|
static OSHeapHandle InitializeAllocateSystem(void);
|
||||||
static void InitializeFatfs(void);
|
static void InitializeFatfs(void);
|
||||||
@ -119,7 +119,7 @@ TwlSpMain(void)
|
|||||||
ReadUserInfo();
|
ReadUserInfo();
|
||||||
|
|
||||||
// Cold/Hotスタート判定
|
// Cold/Hotスタート判定
|
||||||
ReadResetParameter();
|
ReadLauncherParameter();
|
||||||
|
|
||||||
// [TODO:] カード電源ONして、ROMヘッダのみリード&チェックくらいはやっておきたい
|
// [TODO:] カード電源ONして、ROMヘッダのみリード&チェックくらいはやっておきたい
|
||||||
|
|
||||||
@ -222,11 +222,11 @@ static BOOL IsEnableJTAG( void )
|
|||||||
return value ? TRUE : FALSE;
|
return value ? TRUE : FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Hot/Coldスタート判定およびリセットパラメータのリード
|
// ランチャーパラメータのリードおよびHot/Coldスタート判定
|
||||||
#define MCU_RESET_VALUE_BUF_ENABLE_MASK 0x80000000
|
#define MCU_RESET_VALUE_BUF_ENABLE_MASK 0x80000000
|
||||||
#define MCU_RESET_VALUE_OFS 0
|
#define MCU_RESET_VALUE_OFS 0
|
||||||
#define MCU_RESET_VALUE_LEN 1
|
#define MCU_RESET_VALUE_LEN 1
|
||||||
void ReadResetParameter( void )
|
void ReadLauncherParameter( void )
|
||||||
{
|
{
|
||||||
if( ( *(u32 *)HW_RESET_PARAMETER_BUF & MCU_RESET_VALUE_BUF_ENABLE_MASK ) == 0 ) {
|
if( ( *(u32 *)HW_RESET_PARAMETER_BUF & MCU_RESET_VALUE_BUF_ENABLE_MASK ) == 0 ) {
|
||||||
(void)MCU_GetFreeRegisters( MCU_RESET_VALUE_OFS, (u8 *)HW_RESET_PARAMETER_BUF, MCU_RESET_VALUE_LEN );
|
(void)MCU_GetFreeRegisters( MCU_RESET_VALUE_OFS, (u8 *)HW_RESET_PARAMETER_BUF, MCU_RESET_VALUE_LEN );
|
||||||
@ -240,20 +240,20 @@ void ReadResetParameter( void )
|
|||||||
SYSMi_GetWork()->isHotStart = FALSE;
|
SYSMi_GetWork()->isHotStart = FALSE;
|
||||||
}else {
|
}else {
|
||||||
SYSMi_GetWork()->isHotStart = TRUE;
|
SYSMi_GetWork()->isHotStart = TRUE;
|
||||||
// リセットパラメータ有効判定
|
// ランチャーパラメータ有効判定
|
||||||
if( ( STD_StrNCmp( (const char *)&SYSMi_GetResetParamAddr()->header.magicCode,
|
if( ( STD_StrNCmp( (const char *)&SYSMi_GetLauncherParamAddr()->header.magicCode,
|
||||||
SYSM_RESET_PARAM_MAGIC_CODE,
|
SYSM_LAUNCHER_PARAM_MAGIC_CODE,
|
||||||
SYSM_RESET_PARAM_MAGIC_CODE_LEN ) == 0 ) &&
|
SYSM_LAUNCHER_PARAM_MAGIC_CODE_LEN ) == 0 ) &&
|
||||||
( SYSMi_GetResetParamAddr()->header.bodyLength > 0 ) &&
|
( SYSMi_GetLauncherParamAddr()->header.bodyLength > 0 ) &&
|
||||||
( SYSMi_GetResetParamAddr()->header.crc16 == SVC_GetCRC16( 65535, &SYSMi_GetResetParamAddr()->body, SYSMi_GetResetParamAddr()->header.bodyLength ) )
|
( SYSMi_GetLauncherParamAddr()->header.crc16 == SVC_GetCRC16( 65535, &SYSMi_GetLauncherParamAddr()->body, SYSMi_GetLauncherParamAddr()->header.bodyLength ) )
|
||||||
) {
|
) {
|
||||||
// リセットパラメータが有効なら、ワークに退避
|
// ランチャーパラメータが有効なら、ワークに退避
|
||||||
MI_CpuCopy32 ( SYSMi_GetResetParamAddr(), &SYSMi_GetWork()->resetParam, sizeof(ResetParam) );
|
MI_CpuCopy32 ( SYSMi_GetLauncherParamAddr(), &SYSMi_GetWork()->launcherParam, sizeof(LauncherParam) );
|
||||||
SYSMi_GetWork()->isValidResetParam = TRUE;
|
SYSMi_GetWork()->isValidLauncherParam = TRUE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// メインメモリのリセットパラメータをクリアしておく
|
// メインメモリのランチャーパラメータをクリアしておく
|
||||||
MI_CpuClear32( SYSMi_GetResetParamAddr(), 0x100 );
|
MI_CpuClear32( SYSMi_GetLauncherParamAddr(), HW_PARAM_LAUNCH_PARAM_SIZE );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
BIN
doc/鍵管理.xls
BIN
doc/鍵管理.xls
Binary file not shown.
Binary file not shown.
@ -50,29 +50,29 @@ typedef struct BootFlags {
|
|||||||
|
|
||||||
|
|
||||||
// リセットパラメータ ヘッダ
|
// リセットパラメータ ヘッダ
|
||||||
typedef struct ResetParameterHeader {
|
typedef struct LauncherParameterHeader {
|
||||||
u32 magicCode; // SYSM_RESET_PARAM_MAGIC_CODEが入る
|
u32 magicCode; // SYSM_RESET_PARAM_MAGIC_CODEが入る
|
||||||
u8 type; // タイプによってBodyを判別する。
|
u8 type; // タイプによってBodyを判別する。
|
||||||
u8 bodyLength; // bodyの長さ
|
u8 bodyLength; // bodyの長さ
|
||||||
u16 crc16; // bodyのCRC16
|
u16 crc16; // bodyのCRC16
|
||||||
}ResetParamHeader;
|
}LauncherParamHeader;
|
||||||
|
|
||||||
|
|
||||||
// リセットパラメータ ボディ
|
// リセットパラメータ ボディ
|
||||||
typedef union ResetParamBody {
|
typedef union LauncherParamBody {
|
||||||
struct { // ※とりあえず最初はTitlePropertyとフォーマットを合わせておく
|
struct { // ※とりあえず最初はTitlePropertyとフォーマットを合わせておく
|
||||||
NAMTitleId bootTitleID; // リセット後にダイレクト起動するタイトルID
|
NAMTitleId bootTitleID; // リセット後にダイレクト起動するタイトルID
|
||||||
BootFlags flags; // リセット時のランチャー動作フラグ
|
BootFlags flags; // リセット時のランチャー動作フラグ
|
||||||
u8 rsv[ 4 ]; // 予約
|
u8 rsv[ 4 ]; // 予約
|
||||||
}v1;
|
}v1;
|
||||||
}ResetParamBody;
|
}LauncherParamBody;
|
||||||
|
|
||||||
|
|
||||||
// リセットパラメータ
|
// リセットパラメータ
|
||||||
typedef struct ResetParam {
|
typedef struct LauncherParam {
|
||||||
ResetParamHeader header;
|
LauncherParamHeader header;
|
||||||
ResetParamBody body;
|
LauncherParamBody body;
|
||||||
}ResetParam;
|
}LauncherParam;
|
||||||
|
|
||||||
// function's prototype------------------------------------
|
// function's prototype------------------------------------
|
||||||
|
|
||||||
|
|||||||
@ -55,7 +55,7 @@ typedef enum PlatformCode {
|
|||||||
// タイトル情報
|
// タイトル情報
|
||||||
typedef struct TitleProperty { // この情報は、ランチャー時には認証通ってないけど、起動時には認証通すので大丈夫だろう。
|
typedef struct TitleProperty { // この情報は、ランチャー時には認証通ってないけど、起動時には認証通すので大丈夫だろう。
|
||||||
NAMTitleId titleID; // タイトルID(TitleID_Hiで起動メディアは判定できる?)
|
NAMTitleId titleID; // タイトルID(TitleID_Hiで起動メディアは判定できる?)
|
||||||
BootFlags flags; // ブート時のランチャー動作フラグ
|
LauncherBootFlags flags; // ブート時のランチャー動作フラグ
|
||||||
TWLBannerFile *pBanner; // バナーへのポインタ(固定長フォーマットなら偽造されても大丈夫だろう。)
|
TWLBannerFile *pBanner; // バナーへのポインタ(固定長フォーマットなら偽造されても大丈夫だろう。)
|
||||||
}TitleProperty;
|
}TitleProperty;
|
||||||
|
|
||||||
@ -102,7 +102,7 @@ extern BOOL SYSM_IsLogoDemoSkip( void ); //
|
|||||||
extern void SYSM_SetLogoDemoSkip( BOOL skip ); // ロゴデモ飛ばし状態フラグを設定する。
|
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 ResetParamBody *SYSM_GetResetParamBody( void ); // リセットパラメータの取得
|
extern const LauncherParamBody *SYSM_GetLauncherParamBody( void ); // リセットパラメータの取得
|
||||||
|
|
||||||
// 本体設定データアクセス
|
// 本体設定データアクセス
|
||||||
extern BOOL SYSM_ReadTWLSettingsFile( void ); // TWL設定データのリード
|
extern BOOL SYSM_ReadTWLSettingsFile( void ); // TWL設定データのリード
|
||||||
|
|||||||
@ -54,7 +54,7 @@ typedef struct SYSM_work {
|
|||||||
Relocate_Info romRelocateInfo[RELOCATE_INFO_NUM]; // ROM再配置情報(arm9,arm7それぞれltdとflxで最大4つ)
|
Relocate_Info romRelocateInfo[RELOCATE_INFO_NUM]; // ROM再配置情報(arm9,arm7それぞれltdとflxで最大4つ)
|
||||||
vu32 isARM9Start :1; // ARM9スタートフラグ
|
vu32 isARM9Start :1; // ARM9スタートフラグ
|
||||||
vu32 isHotStart :1; // Hot/Coldスタート判定
|
vu32 isHotStart :1; // Hot/Coldスタート判定
|
||||||
vu32 isValidResetParam :1; // リセットパラメータ有効
|
vu32 isValidLauncherParam :1; // リセットパラメータ有効
|
||||||
vu32 isValidTSD :1; // NITRO設定データ無効フラグ
|
vu32 isValidTSD :1; // NITRO設定データ無効フラグ
|
||||||
vu32 isLogoSkip :1; // ロゴデモスキップ
|
vu32 isLogoSkip :1; // ロゴデモスキップ
|
||||||
vu32 isOnDebugger :1; // デバッガ動作か?
|
vu32 isOnDebugger :1; // デバッガ動作か?
|
||||||
@ -79,7 +79,7 @@ typedef struct SYSM_work {
|
|||||||
int cloneBootMode;
|
int cloneBootMode;
|
||||||
u32 nCardID; // カードID
|
u32 nCardID; // カードID
|
||||||
|
|
||||||
ResetParam resetParam;
|
LauncherParam launcherParam;
|
||||||
|
|
||||||
// NTR-IPL2のレガシー 最終的には消すと思う
|
// NTR-IPL2のレガシー 最終的には消すと思う
|
||||||
BOOL enableCardNormalOnly;
|
BOOL enableCardNormalOnly;
|
||||||
@ -106,8 +106,8 @@ typedef struct SDKBootCheckInfo{
|
|||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
// SYSM共有ワーク領域のアドレス獲得
|
// SYSM共有ワーク領域のアドレス獲得
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
// SYSMリセットパラメータアドレスの取得(※ライブラリ向け。ARM9側はSYSM_GetResetParamを使用して下さい。)
|
// SYSMリセットパラメータアドレスの取得(※ライブラリ向け。ARM9側はSYSM_GetLauncherParamを使用して下さい。)
|
||||||
#define SYSMi_GetResetParamAddr() ( (ResetParam *)HW_PARAM_LAUNCH_PARAM )
|
#define SYSMi_GetLauncherParamAddr() ( (LauncherParam *)HW_PARAM_LAUNCH_PARAM )
|
||||||
|
|
||||||
// SYSM共有ワークの取得
|
// SYSM共有ワークの取得
|
||||||
#define SYSMi_GetWork() ( (SYSM_work *)HW_RED_RESERVED )
|
#define SYSMi_GetWork() ( (SYSM_work *)HW_RED_RESERVED )
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user