mirror of
https://github.com/rvtr/TwlIPL.git
synced 2025-10-31 06:01:12 -04:00
・SDKリビジョン2721への対応。
・".wad"ファイル拡張子をを".tad"に変更。 ・コンポーネントhyena.TWLで、SCFGレジスタの内容をWRAMおよびMMEMのシステム領域に退避するようにする。 ・コンポーネントhyena.TWLで、リセットパラメータ取得条件を修正し、NANDファームがない場合やデバッガ上での動作に対応。 ・TwlIPLルートでのビルドの整理。 git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@290 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
parent
188d996469
commit
baca65d35d
14
Makefile
14
Makefile
@ -11,9 +11,9 @@
|
||||
# not be disclosed to third parties or copied or duplicated in any form,
|
||||
# in whole or in part, without the prior written consent of Nintendo.
|
||||
#
|
||||
# $Date:: $
|
||||
# $Rev:$
|
||||
# $Author:$
|
||||
# $Date:: 2007-11-21#$
|
||||
# $Rev: 237 $
|
||||
# $Author: yosiokat $
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
include $(TWLIPL_ROOT)/build/buildtools/commondefs
|
||||
@ -23,14 +23,6 @@ include $(TWLIPL_ROOT)/build/buildtools/commondefs
|
||||
export TWL_ARCHGEN = ALL
|
||||
|
||||
SUBDIRS = \
|
||||
$(TWLSDK_ROOT)/add-ins/NitroWireless \
|
||||
$(TWLSDK_ROOT)/build/libraries/ese \
|
||||
$(TWLSDK_ROOT)/build/libraries/nam \
|
||||
$(TWLSDK_ROOT)/build/libraries/reboot \
|
||||
$(TWLSDK_ROOT)/build/libraries/aes \
|
||||
$(TWLSDK_ROOT)/build/libraries/spi \
|
||||
$(TWLSDK_ROOT)/build/components/racoon.TWL \
|
||||
$(TWLSYSTEM_ROOT) \
|
||||
build
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
41
Makefile.full
Normal file
41
Makefile.full
Normal file
@ -0,0 +1,41 @@
|
||||
#! make -f
|
||||
#----------------------------------------------------------------------------
|
||||
# Project: TwlFirm - build
|
||||
# File: Makefile.full
|
||||
#
|
||||
# Copyright 2007 Nintendo. All rights reserved.
|
||||
#
|
||||
# These coded instructions, statements, and computer programs contain
|
||||
# proprietary information of Nintendo of America Inc. and/or Nintendo
|
||||
# Company Ltd., and are protected by Federal copyright law. They may
|
||||
# not be disclosed to third parties or copied or duplicated in any form,
|
||||
# in whole or in part, without the prior written consent of Nintendo.
|
||||
#
|
||||
# $Date:: $
|
||||
# $Rev:$
|
||||
# $Author:$
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
include $(TWLIPL_ROOT)/build/buildtools/commondefs
|
||||
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
export TWL_ARCHGEN = ALL
|
||||
|
||||
SUBDIRS = \
|
||||
$(TWLSDK_ROOT)/add-ins/NitroWireless \
|
||||
$(TWLSDK_ROOT)/build/libraries/spi/ARM9.TWL \
|
||||
$(TWLSDK_ROOT)/build/libraries/ese \
|
||||
$(TWLSDK_ROOT)/build/libraries/nam \
|
||||
$(TWLSDK_ROOT)/build/libraries/reboot \
|
||||
$(TWLSDK_ROOT)/build/components/racoon.TWL \
|
||||
$(TWLSYSTEM_ROOT) \
|
||||
build
|
||||
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
include $(TWLIPL_ROOT)/build/buildtools/modulerules
|
||||
|
||||
|
||||
#===== End of Makefile =====
|
||||
@ -1,7 +1,7 @@
|
||||
#! make -f
|
||||
#----------------------------------------------------------------------------
|
||||
# Project: TwlFirm - build
|
||||
# File: Makefile
|
||||
# File: Makefile.sysmenu
|
||||
#
|
||||
# Copyright 2007 Nintendo. All rights reserved.
|
||||
#
|
||||
@ -23,15 +23,6 @@ include $(TWLIPL_ROOT)/build/buildtools/commondefs
|
||||
export TWL_ARCHGEN = ALL
|
||||
|
||||
SUBDIRS = \
|
||||
$(TWLSDK_ROOT)/add-ins/NitroWireless \
|
||||
$(TWLSDK_ROOT)/build/libraries/ese \
|
||||
$(TWLSDK_ROOT)/build/libraries/nam \
|
||||
$(TWLSDK_ROOT)/build/libraries/reboot \
|
||||
$(TWLSDK_ROOT)/build/libraries/aes \
|
||||
$(TWLSDK_ROOT)/build/libraries/rtc \
|
||||
$(TWLSDK_ROOT)/build/libraries/spi \
|
||||
$(TWLSDK_ROOT)/build/components/racoon.TWL \
|
||||
$(TWLSYSTEM_ROOT) \
|
||||
build/libraries_sysmenu\
|
||||
build/components \
|
||||
build/systemmenu_RED
|
||||
|
||||
@ -43,12 +43,11 @@ LDEPENDS_RES += $(SYSMENU_BUILDTOOLSDIR)/commondefs.sysmenu
|
||||
### TWL-commondefs
|
||||
#
|
||||
#include $(TWLSDK_ROOT)/build/buildtools/commondefs
|
||||
include $(TWLSDK_ROOT)/add-ins/es/commondefs.es
|
||||
include $(NITROSYSTEM_ROOT)/build/buildtools/commondefs
|
||||
|
||||
|
||||
ifneq ($(TARGET_WAD),)
|
||||
TARGETS += $(TARGET_WAD)
|
||||
ifneq ($(TARGET_TAD),)
|
||||
TARGETS += $(TARGET_TAD)
|
||||
endif
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
@ -86,7 +85,7 @@ MAKEBANNER := $(SYSMENU_TOOLSDIR)/bin/makebanner.exe
|
||||
MAKESYSMENU_RSA_PRVKEY ?= $(SYSMENU_TOOLSDIR)/openssl/rsa_private.der
|
||||
MAKESYSMENU_RSA_PUBKEY ?= $(SYSMENU_TOOLSDIR)/openssl/rsa_public.der
|
||||
|
||||
MAKEWAD ?= $(TWLSDK_ROOT)/build/tools/TwlNMenu/data/makeWad.pl
|
||||
MAKETAD ?= $(TWLSDK_ROOT)/tools/bin/makeTad.pl
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
|
||||
@ -24,8 +24,8 @@ ifndef TWL_SYSMENU_MODULERULES_
|
||||
include $(NITROSYSTEM_ROOT)/build/buildtools/modulerules
|
||||
|
||||
|
||||
%.wad: $(BINDIR)/$(TARGET_BIN)
|
||||
$(MAKEWAD) $< $@
|
||||
%.tad: $(BINDIR)/$(TARGET_BIN)
|
||||
$(MAKETAD) $< $@
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
TWL_SYSMENU_MODULERULES_ = TRUE
|
||||
|
||||
@ -34,6 +34,7 @@
|
||||
#include <twl/cdc.h>
|
||||
#include <twl/aes.h>
|
||||
#include <twl/mcu.h>
|
||||
#include <twl/hw/ARM7/mmap_wramEnv.h>
|
||||
#include <sysmenu.h>
|
||||
#include "nvram_sp.h"
|
||||
|
||||
@ -65,6 +66,7 @@
|
||||
/*---------------------------------------------------------------------------*
|
||||
内部関数定義
|
||||
*---------------------------------------------------------------------------*/
|
||||
static void SetSCFGWork( void );
|
||||
static void ReadResetParameter( void );
|
||||
static void PrintDebugInfo(void);
|
||||
static OSHeapHandle InitializeAllocateSystem(void);
|
||||
@ -83,6 +85,7 @@ extern void SDK_LTDAUTOLOAD_LTDWRAM_BSS_END(void);
|
||||
extern void SDK_LTDAUTOLOAD_LTDMAIN_BSS_END(void);
|
||||
#endif
|
||||
|
||||
|
||||
/*---------------------------------------------------------------------------*
|
||||
Name: TwlSpMain
|
||||
Description: 起動ベクタ。
|
||||
@ -97,6 +100,12 @@ TwlSpMain(void)
|
||||
// SYSMワークのクリア
|
||||
MI_CpuClear32( SYSMi_GetWork(), sizeof(SYSM_work) );
|
||||
|
||||
// MMEMサイズチェックは、ARM7の_start内でやっているので、ノーケアでOK.
|
||||
// SCFGレジスタ→HWi_WSYS04 etc.→system shared領域への値セットは、ランチャー起動時点では行われていないので、
|
||||
// ランチャー自身がこれらの値を使うには、自身でこれらの値をセットしてやる必要がある。
|
||||
// ランチャーからアプリを起動する際には、reboot.cが
|
||||
SetSCFGWork();
|
||||
|
||||
// OS 初期化
|
||||
OS_Init();
|
||||
OS_InitTick();
|
||||
@ -108,9 +117,9 @@ TwlSpMain(void)
|
||||
// Cold/Hotスタート判定
|
||||
ReadResetParameter();
|
||||
|
||||
// ※カード電源ONして、ROMヘッダのみリード&チェックくらいはやっておきたい
|
||||
// [TODO:] カード電源ONして、ROMヘッダのみリード&チェックくらいはやっておきたい
|
||||
|
||||
SYSMi_GetWork()->isARM9Start = TRUE; // ※HW_RED_RESERVEDはNANDファームでクリアしておいて欲しい
|
||||
SYSMi_GetWork()->isARM9Start = TRUE; // [TODO:] HW_RED_RESERVEDはNANDファームでクリアしておいて欲しい
|
||||
|
||||
// ヒープ領域設定
|
||||
{
|
||||
@ -190,20 +199,58 @@ TwlSpMain(void)
|
||||
}
|
||||
|
||||
|
||||
// Hot/Coldスタート判定およびリセットパラメータのリード
|
||||
static void ReadResetParameter( void )
|
||||
// システム領域(WRAM & MMEM)にSCFG情報をセット
|
||||
static void SetSCFGWork( void )
|
||||
{
|
||||
MCU_GetFreeRegisters( 0, (u8 *)HW_RESET_PARAMETER_BUF, 1 );
|
||||
// SCFGレジスタが有効な場合のみセット
|
||||
if( reg_SCFG_EXT & REG_SCFG_EXT_CFG_MASK ) {
|
||||
// WRAMのシステム領域にセット
|
||||
u32 *wsys4 = (void*)HWi_WSYS04_ADDR;
|
||||
u8 *wsys8 = (void*)HWi_WSYS08_ADDR;
|
||||
u8 *wsys9 = (void*)HWi_WSYS09_ADDR;
|
||||
// copy scfg registers
|
||||
*wsys4 = reg_SCFG_EXT;
|
||||
*wsys8 = (u8)(((reg_SCFG_OP & REG_SCFG_OP_OPT_MASK)) |
|
||||
((reg_SCFG_A9ROM & (REG_SCFG_A9ROM_RSEL_MASK | REG_SCFG_A9ROM_SEC_MASK)) << (HWi_WSYS08_ROM_ARM9SEC_SHIFT - REG_SCFG_A9ROM_SEC_SHIFT)) |
|
||||
((reg_SCFG_A7ROM & (REG_SCFG_A7ROM_RSEL_MASK | REG_SCFG_A7ROM_SEC_MASK | REG_SCFG_A7ROM_FUSE_MASK)) << (HWi_WSYS08_ROM_ARM7SEC_SHIFT - REG_SCFG_A7ROM_SEC_SHIFT)) |
|
||||
((reg_SCFG_WL & REG_SCFG_WL_OFFB_MASK) << (HWi_WSYS08_WL_OFFB_SHIFT - REG_SCFG_WL_OFFB_SHIFT))
|
||||
);
|
||||
*wsys9 = (u8)((*wsys9 & (HWi_WSYS09_JTAG_DSPJE_MASK | HWi_WSYS09_JTAG_CPUJE_MASK | HWi_WSYS09_JTAG_ARM7SEL_MASK)) |
|
||||
((reg_SCFG_JTAG & (REG_SCFG_JTAG_CPUJE_MASK | REG_SCFG_JTAG_ARM7SEL_MASK))) |
|
||||
((reg_SCFG_JTAG & REG_SCFG_JTAG_DSPJE_MASK) >> (REG_SCFG_JTAG_DSPJE_SHIFT - HWi_WSYS09_JTAG_DSPJE_SHIFT)) |
|
||||
((reg_SCFG_CLK & (REG_SCFG_CLK_AESHCLK_MASK | REG_SCFG_CLK_SD2HCLK_MASK | REG_SCFG_CLK_SD1HCLK_MASK)) << (HWi_WSYS09_CLK_SD1HCLK_SHIFT - REG_SCFG_CLK_SD1HCLK_SHIFT)) |
|
||||
((reg_SCFG_CLK & (REG_SCFG_CLK_SNDMCLK_MASK | REG_SCFG_CLK_WRAMHCLK_MASK)) >> (REG_SCFG_CLK_WRAMHCLK_SHIFT - HWi_WSYS09_CLK_WRAMHCLK_SHIFT))
|
||||
);
|
||||
|
||||
// MMEMのシステム領域にコピー
|
||||
MI_CpuCopy8( (void*)HWi_WSYS04_ADDR, (void *)HW_SYS_CONF_BUF, 6 );
|
||||
}
|
||||
}
|
||||
|
||||
static BOOL IsEnableJTAG( void )
|
||||
{
|
||||
// SCFGレジスタが無効になっていたら、SCFGレジスタの値は"0"になるので、WRAMに退避している値をチェックする。
|
||||
u8 value = ( reg_SCFG_EXT & REG_SCFG_EXT_CFG_MASK ) ?
|
||||
(u8)( reg_SCFG_JTAG & REG_SCFG_JTAG_CPUJE_MASK ) :
|
||||
(u8)( *(u8 *)HWi_WSYS09_ADDR & HWi_WSYS09_JTAG_CPUJE_MASK );
|
||||
return value ? TRUE : FALSE;
|
||||
}
|
||||
|
||||
// Hot/Coldスタート判定およびリセットパラメータのリード
|
||||
#define MCU_RESET_VALUE_BUF_ENABLE_MASK 0x80000000
|
||||
#define MCU_RESET_VALUE_OFS 0
|
||||
#define MCU_RESET_VALUE_LEN 1
|
||||
void ReadResetParameter( void )
|
||||
{
|
||||
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 );
|
||||
}
|
||||
|
||||
// Hot/Coldスタート判定
|
||||
#ifdef SDK_FINALROM
|
||||
if( SYSMi_GetMCUFreeRegisterValue() == 0 ) // マイコンフリーレジスタ値が"0"ならColdスタート
|
||||
#else
|
||||
if( 1 ) // ISデバッガでのデバッグ動作時に常にホットスタート判定されるのを防ぐ
|
||||
#endif
|
||||
{
|
||||
// Hot/Coldスタート判定
|
||||
if( IsEnableJTAG() || // ISデバッガでのデバッグ動作時に常にホットスタート判定されるのを防ぐ
|
||||
( SYSMi_GetMCUFreeRegisterValue() == 0 ) ) { // "JTAG有効"か"マイコンフリーレジスタ値=0"ならColdスタート
|
||||
u8 data = 1;
|
||||
MCU_SetFreeRegisters( 0, &data, 1 );
|
||||
MCU_SetFreeRegisters( MCU_RESET_VALUE_OFS, &data, MCU_RESET_VALUE_LEN ); // マイコンフリーレジスタにホットスタートフラグをセット
|
||||
SYSMi_GetWork()->isHotStart = FALSE;
|
||||
}else {
|
||||
SYSMi_GetWork()->isHotStart = TRUE;
|
||||
|
||||
@ -42,7 +42,7 @@ void OS_BootWithRomHeaderFromFIRM( ROM_Header* rom_header )
|
||||
void *stack_top = (void*)OS_BOOT_STACK_TOP; // (HW_WRAM_AREA_END - HW_PRV_WRAM_SYSRV_SIZE - HW_SVC_STACK_SIZE)
|
||||
#endif
|
||||
void *wram_reg = rom_header->s.main_wram_config_data;
|
||||
REBOOTTarget target = REBOOT_TARGET_NAND_MENU;
|
||||
REBOOTTarget target = REBOOT_TARGET_TWL_SYSTEM;
|
||||
BOOL scfg = TRUE; // no touch
|
||||
BOOL jtag = FALSE; // no touch
|
||||
static u32 clr_list[32];
|
||||
|
||||
@ -78,7 +78,7 @@ BOOL BOOT_WaitStart( void )
|
||||
NULL
|
||||
};
|
||||
// [TODO]起動するターゲットの種類を指定する必要あり
|
||||
OS_Boot( (void *)*(u32 *)(HW_TWL_ROM_HEADER_BUF + 0x34), clr_list, REBOOT_TARGET_NAND_APP);
|
||||
OS_Boot( (void *)*(u32 *)(HW_TWL_ROM_HEADER_BUF + 0x34), clr_list, REBOOT_TARGET_TWL_SYSTEM );
|
||||
}
|
||||
}
|
||||
return FALSE;
|
||||
|
||||
@ -103,7 +103,7 @@ void BOOT_Ready( void )
|
||||
NULL
|
||||
};
|
||||
// [TODO]起動するターゲットの種類を指定する必要あり
|
||||
OS_Boot( (void *)*(u32 *)(HW_TWL_ROM_HEADER_BUF + 0x24), clr_list, REBOOT_TARGET_NAND_APP );
|
||||
OS_Boot( (void *)*(u32 *)(HW_TWL_ROM_HEADER_BUF + 0x24), clr_list, REBOOT_TARGET_TWL_SYSTEM );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -273,7 +273,7 @@ static int TSDi_RecoveryTSDFile( TSDStore *pTSDStoreOrg, u8 existErrFlag, u8 len
|
||||
// ファイル生成
|
||||
if( existErrFlag & ( 0x01 << i ) ) {
|
||||
if( !FS_CreateFile( s_TSDPath[ i ], FS_PERMIT_R | FS_PERMIT_W ) ) {
|
||||
OS_TPrintf( " TSD[%d] : create file error.\n" );
|
||||
OS_TPrintf( " TSD[%d] : create file error.\n", i );
|
||||
continue;
|
||||
}
|
||||
existErrFlag ^= 0x01 << i;
|
||||
@ -281,14 +281,14 @@ static int TSDi_RecoveryTSDFile( TSDStore *pTSDStoreOrg, u8 existErrFlag, u8 len
|
||||
|
||||
// ファイルオープン
|
||||
if( !FS_OpenFileEx( &file, s_TSDPath[ i ], FS_FILEMODE_R | FS_FILEMODE_W ) ) {
|
||||
OS_TPrintf( " TSD[%d] : file open error.\n" );
|
||||
OS_TPrintf( " TSD[%d] : file open error.\n", i );
|
||||
continue;
|
||||
}
|
||||
|
||||
// ファイル長変更
|
||||
if( lengthErrFlag & ( 0x01 << i ) ) {
|
||||
if( FS_SetFileLength( &file, DEFAULT_TSD_FILE_LENGTH ) != FS_RESULT_SUCCESS ) {
|
||||
OS_TPrintf( " TSD[%d] : set file length error.\n" );
|
||||
OS_TPrintf( " TSD[%d] : set file length error.\n", i );
|
||||
goto NEXT;
|
||||
}
|
||||
lengthErrFlag ^= 0x01 << i;
|
||||
@ -298,7 +298,7 @@ static int TSDi_RecoveryTSDFile( TSDStore *pTSDStoreOrg, u8 existErrFlag, u8 len
|
||||
if( dataErrFlag & ( 0x01 << i ) ) {
|
||||
if( pTSDStoreOrg ) {
|
||||
if( FS_WriteFile( &file, pTSDStoreOrg, sizeof(TSDStore) ) != sizeof(TSDStore) ) {
|
||||
OS_TPrintf( " TSD[%d] : write file length error.\n" );
|
||||
OS_TPrintf( " TSD[%d] : write file length error.\n", i );
|
||||
goto NEXT;
|
||||
}
|
||||
}else {
|
||||
|
||||
@ -31,6 +31,7 @@ SRCS = sysmenu_lib.c sysmenu_card.c sysmenu_util.c ninLogoFunc.c \
|
||||
|
||||
TARGET_LIB = libsysmenu$(TWL_LIBSUFFIX).a
|
||||
|
||||
include $(TWLSDK_ROOT)/add-ins/es/commondefs.es
|
||||
include $(TWLIPL_ROOT)/build/buildtools/commondefs
|
||||
|
||||
INSTALL_TARGETS = $(TARGETS)
|
||||
@ -39,6 +40,7 @@ INSTALL_DIR = $(SYSMENU_INSTALL_LIBDIR)
|
||||
LINCLUDES = $(TWLSDK_ROOT)/build/libraries/mb/common/include \
|
||||
$(TWLSDK_ROOT)/build/libraries/spi/ARM9/include \
|
||||
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
do-build: $(MYSUBDIRS) $(TARGETS)
|
||||
|
||||
@ -30,7 +30,7 @@ TARGET_PLATFORM = TWL
|
||||
TWL_ARCHGEN = LIMITED
|
||||
|
||||
TITLEID_LO = LNCR
|
||||
TARGET_WAD = $(BINDIR)/$(TITLEID_LO).wad
|
||||
TARGET_TAD = $(BINDIR)/$(TITLEID_LO).tad
|
||||
|
||||
TARGET_BIN = main.srl
|
||||
|
||||
@ -60,11 +60,12 @@ DEFAULT_COMP_ARM7 = hyena
|
||||
|
||||
MAKEROM_FLAGS += -F -DTITLEID_LO='$(TITLEID_LO)'
|
||||
|
||||
include $(TWLSDK_ROOT)/add-ins/es/commondefs.es
|
||||
include $(TWLIPL_ROOT)/build/buildtools/commondefs
|
||||
include $(TWLSDK_ROOT)/build/libraries/reboot/commondefs.reboot
|
||||
|
||||
LDIRT_CLEAN = $(TARGET_WAD)
|
||||
INSTALL_TARGETS = $(TARGET_WAD)
|
||||
LDIRT_CLEAN = $(TARGET_TAD)
|
||||
INSTALL_TARGETS = $(TARGET_TAD)
|
||||
INSTALL_DIR = $(SDK_NMENU_DATADIR)
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
@ -25,7 +25,7 @@ TARGET_PLATFORM = TWL
|
||||
TWL_ARCHGEN = LIMITED
|
||||
|
||||
TITLEID_LO = MSET
|
||||
TARGET_WAD = $(BINDIR)/$(TITLEID_LO).wad
|
||||
TARGET_TAD = $(BINDIR)/$(TITLEID_LO).tad
|
||||
|
||||
TARGET_BIN = main.srl
|
||||
|
||||
@ -50,8 +50,8 @@ LLIBRARIES += libreset_param$(TWL_LIBSUFFIX).a
|
||||
include $(TWLIPL_ROOT)/build/buildtools/commondefs
|
||||
|
||||
|
||||
LDIRT_CLEAN = $(TARGET_WAD)
|
||||
INSTALL_TARGETS = $(TARGET_WAD)
|
||||
LDIRT_CLEAN = $(TARGET_TAD)
|
||||
INSTALL_TARGETS = $(TARGET_TAD)
|
||||
INSTALL_DIR = $(SDK_NMENU_DATADIR)
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
@ -25,7 +25,7 @@ TARGET_PLATFORM = TWL
|
||||
TWL_ARCHGEN = LIMITED
|
||||
|
||||
TITLEID_LO = PCHT
|
||||
TARGET_WAD = $(BINDIR)/$(TITLEID_LO).wad
|
||||
TARGET_TAD = $(BINDIR)/$(TITLEID_LO).tad
|
||||
|
||||
TARGET_BIN = main.srl
|
||||
|
||||
@ -43,8 +43,8 @@ MAKEROM_FLAGS += -DTITLEID_LO='$(TITLEID_LO)'
|
||||
include $(TWLIPL_ROOT)/build/buildtools/commondefs
|
||||
|
||||
|
||||
LDIRT_CLEAN = $(TARGET_WAD)
|
||||
INSTALL_TARGETS = $(TARGET_WAD)
|
||||
LDIRT_CLEAN = $(TARGET_TAD)
|
||||
INSTALL_TARGETS = $(TARGET_TAD)
|
||||
INSTALL_DIR = $(SDK_NMENU_DATADIR)
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
@ -1,60 +1,85 @@
|
||||
SystemMenu_RED
|
||||
|
||||
|
||||
11/16(金) 1st.リリース予定
|
||||
|
||||
・ランチャー
|
||||
・カードアプリ取得 ×
|
||||
・TWLカード起動 ×
|
||||
・カード活線挿抜処理 ×
|
||||
・NTRカード(NTRモード)起動 ×
|
||||
・NANDアプリリスト取得 ○
|
||||
・NANDアプリ起動 ○
|
||||
・ISデバッガ対応 ×
|
||||
・ファームウェアとして正規動作 ×
|
||||
・アプリ起動時のWRAM-MAP設定 ○
|
||||
・アプリ起動時のSCFGレジスタロック ×
|
||||
・アプリ起動時のSDカードアクセス可否 △ (とりあえず解放にしておき、セキュリティ面での検討を行う。)
|
||||
・署名・暗号処理 ×
|
||||
・鍵管理 ×
|
||||
・メモリマップFIX ○
|
||||
・NTRコンポーネントパッチ ×
|
||||
・カードアプリ取得 △ (TWLバナーへの対応はまだ)
|
||||
・TWLカード起動 ○
|
||||
・カード活線挿抜処理 ×
|
||||
・NTRカード(NTRモード)起動 ×
|
||||
・NANDアプリリスト取得 ○
|
||||
・NANDアプリ起動 ○
|
||||
・アプリブート時の再配置処理 ×
|
||||
・ISデバッガ対応 ×
|
||||
・ファームウェアとして正規動作 ×
|
||||
・アプリ起動時のWRAM-MAP設定 ○
|
||||
・アプリ起動時のSCFGレジスタロック ×
|
||||
・アプリ起動時のSDカードアクセス可否 △ (とりあえず解放にしておき、セキュリティ面での検討を行う。)
|
||||
・署名・暗号処理 ×
|
||||
・鍵管理 ×
|
||||
・メモリマップFIX ○
|
||||
・NTRコンポーネントパッチ ×
|
||||
・本体設定
|
||||
・言語選択 ○
|
||||
・TP補正 ○
|
||||
・日付・時刻設定 ○
|
||||
・ユーザー情報 △ (欧州文字、絵文字など一部文字は入力できない)
|
||||
・その他設定 ×
|
||||
・NANDへの保存 ○
|
||||
・NTR側(NVRAM)への保存 ○
|
||||
・設定データフォーマットFIX ×
|
||||
・WiFi設定 ×
|
||||
・DSダウンロードプレイ ×
|
||||
・ネットワークアップデート ×
|
||||
・アプリ管理 ×
|
||||
・設定データフォーマットFIX ×
|
||||
・言語選択 ○
|
||||
・TP補正 ○
|
||||
・日付・時刻設定 ○
|
||||
・ユーザー情報 ○ (欧州文字、絵文字など一部文字は入力できない仕様)
|
||||
・その他設定 ×
|
||||
・NANDへの保存 ○
|
||||
・NTR側(NVRAM)への保存 ○
|
||||
|
||||
・WiFi設定 ×
|
||||
・設定データフォーマットFIX ×
|
||||
・仕様FIX ×
|
||||
|
||||
・DSダウンロードプレイ ×
|
||||
・仕様FIX ○ (DSダウンロードプレイと同一仕様)
|
||||
|
||||
・ネットワークアップデート ×
|
||||
|
||||
・アプリ管理 ×
|
||||
・SDにコピーする際のファイルフォーマット×
|
||||
|
||||
・TWLバナー対応 ×
|
||||
・makebanner作成 ×
|
||||
・NANDファーム→ランチャーパラメータ引渡し ×
|
||||
・アドレスFIX ×
|
||||
・ランチャー⇔NANDアプリ間パラメータ引渡し ×
|
||||
・TWLバナー対応 ×
|
||||
・仕様FIX ×
|
||||
・makebanner作成 ×
|
||||
・NANDfirm→ランチャー パラメータ引渡し ×
|
||||
・仕様FIX ○
|
||||
・ランチャー→NANDアプリ パラメータ引渡し ×
|
||||
・本体設定データなどの情報 ×
|
||||
・NAND,SDマウント情報(アクセス制限) ○
|
||||
・アプリからのHWリセット時パラメータ ×
|
||||
・DSダウンロードプレイの情報 ×
|
||||
・NAND内オーバーレイ&FS △ (nand_app_hack.hのFS_IdentifyTitle()を起動時に呼ぶ)
|
||||
・NANDアプリ→ランチャー パラメータ引渡し ×
|
||||
・仕様FIX ○
|
||||
・NAND内オーバーレイ&FS ○
|
||||
・仕様FIX ○
|
||||
・NAND,SDマウント情報(アクセス制限) ○
|
||||
・共有リソースアクセス ×
|
||||
・仕様FIX ×
|
||||
・タイトル外部リソースアクセス ×
|
||||
・NANDアプリデバッグ対応 × (現状カードアプリとしてデバッグ)
|
||||
・仕様FIX ×
|
||||
|
||||
・NANDアプリインストール ○ (TwlSDKのNMenuを使用)
|
||||
・NANDフォーマット △ (TwlSDKのdemos.TWL/fatfs/formatterを使用)
|
||||
・起動できないランチャーを書いて起動しなくなった時の復旧は、GCDファームのカード起動可能ファームを書き直して、
|
||||
・formatterに改変を加えたformatter+NANDファーム&システムメニューインストーラーで書き込み。
|
||||
・NANDアプリインストール ○ (TwlSDKのNMenuを使用)
|
||||
・NANDフォーマット △ (TwlSDKのdemos.TWL/fatfs/formatterを使用)
|
||||
・仕様FIX ○
|
||||
・NANDを固定値でベタ書き ×
|
||||
※起動できないランチャーを書いて起動しなくなった時の復旧は、GCDファームのカード起動可能ファームを書き直して、
|
||||
formatterに改変を加えたformatter+NANDファーム&システムメニューインストーラーで書き込み。
|
||||
|
||||
・makerom.TWL対応
|
||||
・TitleIDを入れる?
|
||||
・ファーム用ビルド(PKIを不使用、AES暗号範囲変更)に対応
|
||||
・TWLカードのノーマル領域をマニュアル設定できるように。
|
||||
・ファーム用ビルド(PKIを不使用、AES暗号範囲変更)に対応 ×
|
||||
・TWLカードのノーマル領域をマニュアル設定できるように。 ×
|
||||
・ROMヘッダ署名PKI仕様の削除 ×
|
||||
|
||||
・ISデバッガ対応
|
||||
・NANDアプリデバッグ対応 × (現状カードアプリとしてデバッグ)
|
||||
・仕様FIX △ (TwlNmenuを使ったNTRのDSダウンロードプレイ子機プログラムデバッグと似た仕組み)
|
||||
・バナー確認機能 ×
|
||||
・仕様FIX ×
|
||||
|
||||
・マスタリング処理 ×
|
||||
・CLSサーバ構築?? ×
|
||||
|
||||
・生産工程を考慮した仕様 ×
|
||||
・検査用カードの初期設定スキップ起動 ×
|
||||
・ショートカットキーによる初期設定スキップ起動 ×
|
||||
・生産工程で書き込まれるプリFIXデータ仕様 ×
|
||||
|
||||
|
||||
@ -25,6 +25,7 @@
|
||||
|
||||
#include <twl.h>
|
||||
#include <twl/os/common/format_rom.h>
|
||||
#include <twl/hw/common/mmap_parameter.h>
|
||||
|
||||
#include <sysmenu/sysmenu_lib.h>
|
||||
#include <sysmenu/banner.h>
|
||||
|
||||
@ -100,14 +100,10 @@ typedef struct SDKBootCheckInfo{
|
||||
// SYSM共有ワーク領域のアドレス獲得
|
||||
//----------------------------------------------------------------------
|
||||
// SYSMリセットパラメータアドレスの取得(※ライブラリ向け。ARM9側はSYSM_GetResetParamを使用して下さい。)
|
||||
#define SYSMi_GetResetParamAddr() ( (ResetParam *)0x02000100 )
|
||||
#define SYSMi_GetResetParamAddr() ( (ResetParam *)HW_PARAM_LAUNCH_PARAM )
|
||||
|
||||
#if 0
|
||||
// SYSM共有ワークの取得
|
||||
#define SYSMi_GetWork() ( (SYSM_work *)HW_RED_RESERVED )
|
||||
#else
|
||||
#define SYSMi_GetWork() ( (SYSM_work *)( HW_RED_RESERVED + 0x10 ) )
|
||||
#endif
|
||||
|
||||
// SDKブートチェック(アプリ起動時にカードIDをセットする必要がある。)
|
||||
#define SYSMi_GetSDKBootCheckInfo() ( (SDKBootCheckInfo *)HW_BOOT_CHECK_INFO_BUF )
|
||||
|
||||
Loading…
Reference in New Issue
Block a user