diff --git a/build/tests/CustomSystemUpdater/ARM9.TWL/Makefile b/build/tests/CustomSystemUpdater/ARM9.TWL/Makefile index 17d05926..cca34bfe 100644 --- a/build/tests/CustomSystemUpdater/ARM9.TWL/Makefile +++ b/build/tests/CustomSystemUpdater/ARM9.TWL/Makefile @@ -116,9 +116,9 @@ LLIBRARIES += $(SYSMENU_LIBS) $(SDK_APPEND_LIBS) MAKEROM = $(TWL_TOOLSDIR)/bin/makerom.TWL.secure.exe #LDIRT_CLEAN = -#INSTALL_TARGETS = -INSTALL_DIR = $(SDK_NMENU_DATADIR) -#INSTALL_DIR = $(TWL_IPL_RED_ROOT)/build/tests/CustomSystemUpdater/bin +INSTALL_TARGETS = $(BINDIR)/$(TARGET_BIN) +#INSTALL_DIR = $(SDK_NMENU_DATADIR) +INSTALL_DIR = ../bin #---------------------------------------------------------------------------- @@ -128,7 +128,12 @@ INSTALL_DIR = $(SDK_NMENU_DATADIR) .PHONY: build_time check_rom sumaker check_rom: - $(ROM_CHECKER) $(DATA_ROOT)/$(ROMSET) +ifeq ($(DISABLE_ROMCHECK),) + $(ROM_CHECKER) $(ROMSET) +endif +#ifeq ($(DISABLE_ROMCHECK),) +# $(ROM_CHECKER) $(DATA_ROOT)/$(ROMSET) +#endif build_time: echo -n "#define BUILD_TIME \"`date \"+%Y/%m/%d %H:%M:%S\"`\"" > include/build_time.h diff --git a/build/tests/CustomSystemUpdater/ARM9.TWL/main.rsf b/build/tests/CustomSystemUpdater/ARM9.TWL/main.rsf deleted file mode 100644 index 3802e389..00000000 --- a/build/tests/CustomSystemUpdater/ARM9.TWL/main.rsf +++ /dev/null @@ -1,229 +0,0 @@ -#---------------------------------------------------------------------------- -# Project: SystemUpdater -# File: main.rsf -# -# Copyright 2007 Nintendo. All rights reserved. -# -# These coded insructions, 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$ -#---------------------------------------------------------------------------- -# -# TWL ROM SPEC FILE -# - -Arm9 -{ - Static "$(MAKEROM_ARM9:r).TWL.FLX.sbin$(COMPSUFFIX9)" - OverlayDefs "$(MAKEROM_ARM9:r)_defs.TWL.FLX.sbin$(COMPSUFFIX9)" - OverlayTable "$(MAKEROM_ARM9:r)_table.TWL.FLX.sbin$(COMPSUFFIX9)" - Elf "$(MAKEROM_ARM9:r).tef" -} - -Arm7 -{ - Static "$(MAKEROM_ARM7_BASE:r).TWL.FLX.sbin$(COMPSUFFIX7)" - OverlayDefs "$(MAKEROM_ARM7_BASE:r)_defs.TWL.FLX.sbin$(COMPSUFFIX7)" - OverlayTable "$(MAKEROM_ARM7_BASE:r)_table.TWL.FLX.sbin$(COMPSUFFIX7)" - Elf "$(MAKEROM_ARM7_BASE:r).tef" -} - -Arm9.Ltd -{ - Static "$(MAKEROM_ARM9:r).TWL.LTD.sbin$(COMPSUFFIX9)" - OverlayDefs "$(MAKEROM_ARM9:r)_defs.TWL.LTD.sbin$(COMPSUFFIX9)" - OverlayTable "$(MAKEROM_ARM9:r)_table.TWL.LTD.sbin$(COMPSUFFIX9)" -} - -Arm7.Ltd -{ - Static "$(MAKEROM_ARM7_BASE:r).TWL.LTD.sbin$(COMPSUFFIX7)" - OverlayDefs "$(MAKEROM_ARM7_BASE:r)_defs.TWL.LTD.sbin$(COMPSUFFIX7)" - OverlayTable "$(MAKEROM_ARM7_BASE:r)_table.TWL.LTD.sbin$(COMPSUFFIX7)" -} - -Property -{ - ### - ### Settings for FinalROM - ### - #### BEGIN - # - # TITLE NAME: Your product name within 12bytes - # - #TitleName "YourAppName" - - # - # MAKER CODE: Your company ID# in 2 ascii words - # issued by NINTENDO - # - #MakerCode "00" - - # - # REMASTER VERSION: Mastering version - # - #RomVersion 0 - - # - # ROM SPEED TYPE: [MROM/1TROM/UNDEFINED] - # - RomSpeedType $(MAKEROM_ROMSPEED) - - # - # ROM SIZE: in bit [64M/128M/256M/512M/1G/2G] - # - RomSize 64M - - # - # ROM PADDING: TRUE if finalrom - # - #RomFootPadding TRUE - - # - # ROM HEADER TEMPLATE: Provided to every product by NINTENDO - # - #RomHeaderTemplate ./etc/rom_header.template.sbin - - # - # BANNER FILE: generated from Banner Spec File - # - BannerFile ../banner/banner_EUR.bnr - - ### - ### Setting for TWL - ### - - # - # ROM HEADER Ltd: Provided to every product by NINTENDO - # - RomHeaderLtd $(TWLSDK_ROOT)/tools/bin/rom_header.LTD.sbin - - # - # Digest parameters: - # - DigestParam 1024 32 - - # - # WRAM mapping: [MAP_BB_HYB/MAP_BB_LTD/MAP_TS_HYB/MAP_TS_LTD] - # don't have to edit - # - WramMapping MAP_TS_SCR - - # - # CardRegion: card region [Japan/America/Europe/Australia/China/Korea] - # - CardRegion ALL - - # - # CommonClientKey: launcher deliver common client Key [TRUE/FALSE] - # - # ========= SystemUpdaterは特別な鍵を使う ========= - CommonClientKey TRUE - #CommonClientKeyForDebugger TRUE - - # - # HwAESSlotB: launcher deliver HW AES slot B setting [TRUE/FALSE] - # - HwAESSlotB TRUE - - # - # HwAESSlotC: launcher deliver HW AES slot C setting [TRUE/FALSE] - # - HwAESSlotC TRUE - - # - # SDCardAccess: sd card access control [TRUE/FALSE] - # - SDCardAccess TRUE - - # - # NANDAccess: NAND access control [TRUE/FALSE] - # - NANDAccess TRUE - - # - # Codec mode: - # don't have to edit - # - CodecMode $(MAKEROM_CODEC_MODE) - - # - # DisableDebug :最終ROMでは、実行時にデバッグできないようにTRUEにする必要があります。 - # - DisableDebug $(DISABLE_DEBUG) - - ### - #### END -} - - -AppendProperty -{ - # - # Publisher : "Nintendo" - # don't have to edit - Publisher Nintendo - - # - # Application type : [USER/SYSTEM] - # don't have to edit - AppType System - - # - # launch title on the launcher : [TRUE/FALSE] - # don't have to edit - Launch TRUE - - # - # Data only title : [TRUE/FALSE] - # don't have to edit - DataOnly FALSE - - # - # Secure title : [TRUE/FALSE] - # don't have to edit - Secure TRUE - - # - # Boot allowed Media: [GameCard/NAND] - # - Media GameCard - - # - # GameCode for TitleID : Your GameCode in 4 ascii words - # - GameCode $(TITLEID_LO) - - # - # Public save data size: [16K/32K/64K/128K/256K/512K/1M/2M/4M/8M] - # - #PublicSaveDataSize 32K - - # - # Private save data size: [16K/32K/64K/128K/256K/512K/1M/2M/4M/8M] - # - #PrivateSaveDataSize 16K - - # - # Enable SubBannerFile - #SubBannerFile TRUE -} - - -RomSpec -{ - Offset 0x00000000 - Segment ALL - HostRoot ../data/20080822_cls/euro - Root /data - File hnap-v0.tad hnbp-v0.tad hnca-v0.tad hnda-v0.tad hnea-v0.tad hnfp-v0.tad hngp-v0.tad hnha-v0.tad hnip-v0.tad hnjp-v0.tad hnkp-v0.tad hnlp-v0.tad TWLFontTable.dat nandfirm_rcplus.nand - HostRoot $(PRIVKEY_PATH) - Root /key - File $(HWINFO_PRIVKEY) $(HWID_PRIVKEY) -} diff --git a/build/tests/CustomSystemUpdater/ARM9.TWL/src/main.c b/build/tests/CustomSystemUpdater/ARM9.TWL/src/main.c deleted file mode 100644 index 197e9612..00000000 --- a/build/tests/CustomSystemUpdater/ARM9.TWL/src/main.c +++ /dev/null @@ -1,772 +0,0 @@ -/*---------------------------------------------------------------------------* - Project: SystemUpdater - File: main.c - - Copyright 2008 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 // atoi -#include -#include -#include -#include -#include -#include -#include "kami_pxi.h" -#include "kami_font.h" -#include "kami_write_nandfirm.h" -#include "kami_copy_file.h" -#include "import.h" -#include "hw_info.h" -#include "graphics.h" -#include "hwi.h" -#include "keypad.h" -#include "debugger_hw_reset_control.h" -#include "debugger_card_rom.h" -#include "build_time.h" - -#define SCRAMBLE_MASK 0x00406000 - -extern const char *g_strIPLSvnRevision; -extern const char *g_strSDKSvnRevision; - -/*---------------------------------------------------------------------------* - 型定義 - *---------------------------------------------------------------------------*/ - -typedef struct _SystemUpdaterLog -{ - int magic_code; - int sdk_version; - int ipl_version; - int reserve[5]; -} SystemUpdaterLog; - -typedef struct _CopyFileList -{ - char* srcPath; - char* dstPath; -} CopyFileList; - -/*---------------------------------------------------------------------------* - 内部定数定義 - *---------------------------------------------------------------------------*/ - -#define SYSTEM_UPDATER_LOG_PATH "nand:/sys/log/updater.log" -#define NAND_FIRM_PATH_IN_ROM "rom:/data/nandfirm_rcplus.nand" - -#define SYSTEM_UPDATER_MAGIC_CODE 44001111 - -// リトライ回数 -#define MAX_RETRY_COUNT 2 - -static const char* ImportTadFileList[] = -{ - "rom:/data/hnap-v0.tad", - "rom:/data/hnbp-v0.tad", - "rom:/data/hnca-v0.tad", - "rom:/data/hnda-v0.tad", - "rom:/data/hnea-v0.tad", - "rom:/data/hnfp-v0.tad", - "rom:/data/hngp-v0.tad", - "rom:/data/hnha-v0.tad", - "rom:/data/hnip-v0.tad", - "rom:/data/hnjp-v0.tad", - "rom:/data/hnkp-v0.tad", - "rom:/data/hnlp-v0.tad", - -}; - -static const CopyFileList sCopyFileList[] = -{ - { "rom:/data/TWLFontTable.dat", "nand:sys/TWLFontTable.dat" } -}; - -/*---------------------------------------------------------------------------* - 内部変数定義 - *---------------------------------------------------------------------------*/ - -static NAMTitleId titleId; -static s16 printLine; -static vu8 sIsFormatFinish; -static u8 sFormatResult; -static s32 sLockId; - -/*---------------------------------------------------------------------------* - 内部関数定義 - *---------------------------------------------------------------------------*/ -static void VBlankIntr(void); -static void InitAllocation(void); -static BOOL IgnoreRemoval(void); -static void DrawWaitButtonA(void); -static void DrawInvalidConsole(void); -static void DrawCancel(void); -static void DrawAlready(SystemUpdaterLog* log); -static void DrawResult(BOOL result); -static void FormatCallback(KAMIResult result, void* arg); - -/*---------------------------------------------------------------------------* - Name: TwlMain - - Description: main - - Arguments: None - - Returns: None - *---------------------------------------------------------------------------*/ -void -TwlMain() -{ - BOOL result; - BOOL hw_info_result; - BOOL nand_firm_result; - int tadNum; - int i,j; - - // 製品ビルドランチャー&デバッガ上での起動対応 - if ( OS_GetRunningConsoleType() & OS_CONSOLE_TWLDEBUGGER ) - { - ROM_Header *dh = (void *)HW_ROM_HEADER_BUF; - dh->s.game_cmd_param &= ~SCRAMBLE_MASK; - } - - OS_Init(); - OS_InitThread(); - OS_InitTick(); - OS_InitAlarm(); - OS_InitArena(); - PXI_Init(); - OS_InitLock(); - OS_InitArenaEx(); - OS_InitIrqTable(); - OS_SetIrqStackChecker(); - MI_Init(); - OS_InitVAlarm(); - OSi_InitVramExclusive(); - OS_InitThread(); - OS_InitReset(); - GX_Init(); - FX_Init(); - SND_Init(); - TP_Init(); - RTC_Init(); - - KamiPxiInit(); /* 独自PXI初期化 */ - - // Vブランク割り込み設定 - OS_SetIrqFunction(OS_IE_V_BLANK, VBlankIntr); - (void)OS_EnableIrqMask(OS_IE_V_BLANK); - (void)OS_EnableIrqMask(OS_IE_FIFO_RECV); - (void)OS_EnableIrq(); - (void)GX_VBlankIntr(TRUE); - - // initialize file-system - FS_Init(FS_DMA_NOT_USE); - - InitAllocation(); - - // NAMライブラリ初期化 - NAM_Init( OS_AllocFromMain, OS_FreeToMain ); - NAMUT_Init( OS_AllocFromMain, OS_FreeToMain ); // SoftBoxCountの計算に必要 - - // 表示関連初期化 - InitGraphics(); - kamiFontInit(); - - // メインスレッドのカードロックID取得 - sLockId = OS_GetLockID(); - - /* always preload FS table for faster directory access. */ - { - u32 need_size = FS_GetTableSize(); - void *p_table = OS_Alloc(need_size); - SDK_ASSERT(p_table != NULL); - (void)FS_LoadTable(p_table, need_size); - } - - // コンソールチェック - { - u32 console = OS_GetRunningConsoleType(); - enum { IS_TWL_DEBUGGER=0, IS_TWL_CAPTURE, TWL, UNKNOWN }; - int running = UNKNOWN; - - // SystemUpdaterはデバッグ不可で作成されるためOS_CONSOLE_TWLが取得される - // 赤箱にカードを挿してSystemUpdaterを実行した場合も同様(但しOS_CONSOLE_TWLTYPE_RETAILにはならない) - // デバッガかどうかの判定はメモリサイズチェックにより行う - // 念のためOS_CONSOLE_TWLTYPE_RETAILでないことも確認する - - if ((console & OS_CONSOLE_SIZE_MASK) == OS_CONSOLE_SIZE_32MB) - { - if ((console & OS_CONSOLE_TWLTYPE_MASK) != OS_CONSOLE_TWLTYPE_RETAIL) - { - IsToolType type; - kamiGetIsToolType(&type); - if (type == IS_TOOL_TYPE_DEBUGGER) - { - running = IS_TWL_DEBUGGER; - } - else if (type == IS_TOOL_TYPE_ERROR) // TSボードプラス + 旧仕様デバッガ - { - running = IS_TWL_DEBUGGER; - } - else if (type == IS_TOOL_TYPE_CAPTURE) - { - running = IS_TWL_CAPTURE; - } - } - } - else if ((console & OS_CONSOLE_MASK) == OS_CONSOLE_TWL) - { - IsToolType type; - kamiGetIsToolType(&type); - if (type == IS_TOOL_TYPE_CAPTURE) - { - running = IS_TWL_CAPTURE; - } - else - { - running = TWL; - } - } - - switch (running) - { - case IS_TWL_DEBUGGER: - kamiFontPrintf( 0, printLine++, FONT_COLOR_GREEN, "Running on IS_TWL_DEBUGGER."); - break; - case IS_TWL_CAPTURE: - kamiFontPrintf( 0, printLine++, FONT_COLOR_GREEN, "Running on IS_TWL_CAPTURE."); - break; - case TWL: - kamiFontPrintf( 0, printLine++, FONT_COLOR_GREEN, "Running on TWL CONSOLE."); - break; - case UNKNOWN: - kamiFontPrintf( 0, printLine++, FONT_COLOR_GREEN, "Running on UNKNOWN."); - break; - } - -#ifdef SYSM_BUILD_FOR_DEBUGGER - // デバッガ向けSystemUpdaterは実機とキャプチャでは動作させない - if (running != IS_TWL_DEBUGGER) - { - kamiFontPrintfMain( 2, 9, 3, " Sorry, "); - kamiFontPrintfMain( 2, 10, 3, " This SystemUpdater can not "); - kamiFontPrintfMain( 2, 11, 3, " execute on TWL-CONSOLE. "); - DrawInvalidConsole(); - } -#else - // 実機向けSystemUpdaterはデバッガでは動作させない - if (running == IS_TWL_DEBUGGER) - { - kamiFontPrintfMain( 2, 9, 3, " Sorry, "); - kamiFontPrintfMain( 2, 10, 3, " This SystemUpdater can not "); - kamiFontPrintfMain( 2, 11, 3, " execute on IS-TWL-DEBUGGER."); - DrawInvalidConsole(); - } -#endif // SYSM_BUILD_FOR_DEBUGGER - - // UNKNOWNはは動作させない - if (running == UNKNOWN) - { - kamiFontPrintfMain( 2, 9, 3, " Sorry, "); - kamiFontPrintfMain( 2, 10, 3, " This SystemUpdater can not "); - kamiFontPrintfMain( 2, 11, 3, " execute on UNKNOWN CONSOLE."); - DrawInvalidConsole(); - } - } - - // (更新可能条件) - // 1.ログが存在しない - // 2.ログが存在し、ログに記載のマジックコードが不正(初版SystemUpdater実行後の状態) - // 2.ログが存在し、ログに記載のマジックコードが正しくかつログに記載の - // SDK & IPL のバージョンが SystemUpdater のそれ以下である - -#ifdef IGNORE_VERSION_CHECK - if( 0 ) -#endif // IGNORE_VERSION_CHECK - { - SystemUpdaterLog log; - FSFile file; - FS_InitFile( &file ); - - if (FS_OpenFileEx(&file, SYSTEM_UPDATER_LOG_PATH, FS_FILEMODE_R) == TRUE) - { - DC_InvalidateRange(&log, sizeof(log)); - - if (FS_ReadFile(&file, &log, sizeof(log)) == sizeof(log)) - { - // ログリード成功 - OS_Printf("[%d, %d]\n", log.sdk_version, log.ipl_version); - - // 初版SystemUpdater実行状態でないことをマジックコードで判別する - if (log.magic_code == SYSTEM_UPDATER_MAGIC_CODE) - { - // マジックコード、SDKバージョン、IPLバージョンの確認 - if (log.sdk_version > atoi(g_strSDKSvnRevision) || - log.ipl_version > atoi(g_strIPLSvnRevision)) - { - // 更新不可 - DrawAlready(&log); - } - } - } - else - { - // ログリード失敗 - OS_Warning("Failure! FS_ReadFile"); - } - - FS_CloseFile(&file); - } - } - - // Aボタン待ち - DrawWaitButtonA(); - - // TWLの更新処理を実行中です - CARD_LockRom((u16)sLockId); - (void)CARDi_ReadRomIDCoreEx(DEBUGGER_COMMAND_NOW_UPDATE); - CARD_UnlockRom((u16)sLockId); - - // ISデバッガのハードウェアリセットを禁止する - DEBUGGER_HwResetDisable(); - - // HWInfo関連の前準備 - switch (HWI_Init( OS_AllocFromMain, OS_FreeToMain )) - { - case HWI_INIT_FAILURE: - OS_Warning(" Fail! : HWI_INIT()"); - break; - case HWI_INIT_SUCCESS_PRO_SIGNATURE_MODE: - break; - case HWI_INIT_SUCCESS_DEV_SIGNATURE_MODE: - break; - case HWI_INIT_SUCCESS_NO_SIGNATRUE_MODE: - break; - } - - result = TRUE; - - // 完全に消去 - NAMUT_Format(); - - // フォーマット実行 - sIsFormatFinish = FALSE; - ExeFormatAsync(FORMAT_MODE_QUICK, FormatCallback); - kamiFontPrintfMain( 7, 11, 8, "Now Format..."); - while(!sIsFormatFinish){}; - if (sFormatResult) - { - kamiFontPrintf( 0, printLine++, FONT_COLOR_GREEN, "NAND Format Success."); - } - else - { - kamiFontPrintf( 0, printLine++, FONT_COLOR_RED, "NAND Format Failure!"); - } - kamiFontPrintfMain( 7, 11, 8, " "); - - // フォーマット後はESに必要なファイルがなくなっているため - // ES_InitLibを呼び出すことで作成しておく - NAM_End( NULL, NULL ); - NAM_Init( OS_AllocFromMain, OS_FreeToMain ); - - // 全ハードウェア情報の更新 - for (i=0;isdk_version, log->ipl_version ); - kamiFontPrintfMain( 3, 13, 1, "--------------------------"); - - while(1) - { - G3X_Reset(); - G3_Identity(); - G3_PolygonAttr(GX_LIGHTMASK_NONE, GX_POLYGONMODE_DECAL, GX_CULL_NONE, 0, 31, 0); - - DrawQuad( 10, 50, 246, 128, GX_RGB(28, 28, 28)); - - G3_SwapBuffers(GX_SORTMODE_AUTO, GX_BUFFERMODE_W); - - OS_WaitVBlankIntr(); - } -} - -/*---------------------------------------------------------------------------* - Name: DrawResult - - Description: 処理結果を表示します。 - - Arguments: - - Returns: None. - *---------------------------------------------------------------------------*/ -static void DrawResult(BOOL result) -{ - // 3D初期化 - G3X_Reset(); - G3_Identity(); - G3_PolygonAttr(GX_LIGHTMASK_NONE, GX_POLYGONMODE_DECAL, GX_CULL_NONE, 0, 31, 0); - - // "Now Updating.." を消去 - kamiFontPrintfMain( 0, 9, 7, " "); - - if (result) - { - kamiFontPrintfMain( 9, 10, 7, "Update Success!"); - // グリーンダイアログ - DrawQuad( 50, 50, 206, 120, GX_RGB(12, 25, 12)); - } - else - { - kamiFontPrintfMain( 9, 10, 7, "Update Failure!"); - // レッドダイアログ - DrawQuad( 50, 50, 206, 120, GX_RGB(31, 0, 0)); - } - - kamiFontLoadScreenData(); - - // 3Dスワップ - G3_SwapBuffers(GX_SORTMODE_AUTO, GX_BUFFERMODE_W); -} - -/*---------------------------------------------------------------------------* - Name: FormatCallback - - Description: フォーマットコールバック - - Arguments: - - Returns: None. - *---------------------------------------------------------------------------*/ -static void FormatCallback(KAMIResult result, void* /*arg*/) -{ - if ( result == KAMI_RESULT_SUCCESS_TRUE ) - { - sFormatResult = TRUE; - } - else - { - sFormatResult = FALSE; - } - - sIsFormatFinish = TRUE; -} diff --git a/build/tests/CustomSystemUpdater/Makefile b/build/tests/CustomSystemUpdater/Makefile index cf077bfb..f47a60f6 100644 --- a/build/tests/CustomSystemUpdater/Makefile +++ b/build/tests/CustomSystemUpdater/Makefile @@ -51,13 +51,13 @@ clobber: MY_GOAL=clobber install: MY_GOAL=install do-something: - -$(REMAKE) TWLSDK_PLATFORM=TWL REGION=JPN ROMSET=$(ROMSET) SKIP_SUBDIR=FALSE $(MY_GOAL) + -$(REMAKE) TWLSDK_PLATFORM=TWL REGION=JPN ROMSET=$(ROMSET) DISABLE_ROMCHECK=$(DISABLE_ROMCHECK) SKIP_SUBDIR=FALSE $(MY_GOAL) -rm `find . -name "*autogen*"` - -$(REMAKE) TWLSDK_PLATFORM=TWL REGION=AUS ROMSET=$(ROMSET) SKIP_SUBDIR=FALSE $(MY_GOAL) + -$(REMAKE) TWLSDK_PLATFORM=TWL REGION=AUS ROMSET=$(ROMSET) DISABLE_ROMCHECK=$(DISABLE_ROMCHECK) SKIP_SUBDIR=FALSE $(MY_GOAL) -rm `find . -name "*autogen*"` - -$(REMAKE) TWLSDK_PLATFORM=TWL REGION=USA ROMSET=$(ROMSET) SKIP_SUBDIR=FALSE $(MY_GOAL) + -$(REMAKE) TWLSDK_PLATFORM=TWL REGION=USA ROMSET=$(ROMSET) DISABLE_ROMCHECK=$(DISABLE_ROMCHECK) SKIP_SUBDIR=FALSE $(MY_GOAL) -rm `find . -name "*autogen*"` - -$(REMAKE) TWLSDK_PLATFORM=TWL REGION=EUR ROMSET=$(ROMSET) SKIP_SUBDIR=FALSE $(MY_GOAL) + -$(REMAKE) TWLSDK_PLATFORM=TWL REGION=EUR ROMSET=$(ROMSET) DISABLE_ROMCHECK=$(DISABLE_ROMCHECK) SKIP_SUBDIR=FALSE $(MY_GOAL) include $(TWLSDK_ROOT)/build/buildtools/modulerules @@ -92,9 +92,10 @@ SUBDIRS = banner \ ARM9.TWL endif -# CustomRegion +# CustomSystemUpdater export SYSM_REGION = $(REGION) export ROMSET := $(ROMSET) +export DISABLE_ROMCHECK := $(DISABLE_ROMCHECK) # COMPILE SWITCH for build SystemMenu diff --git a/build/tests/CustomSystemUpdater/custom_base.yaml b/build/tests/CustomSystemUpdater/custom_base.yaml index 83d20537..7624d9d2 100644 --- a/build/tests/CustomSystemUpdater/custom_base.yaml +++ b/build/tests/CustomSystemUpdater/custom_base.yaml @@ -1,5 +1,5 @@ --- -:DataPath: data +:DataPath: . :NandFirm: nandfirm_rcplus.nand :TargetPath: . :TemplatePath: template diff --git a/build/tests/CustomSystemUpdater/romchecker.rb b/build/tests/CustomSystemUpdater/romchecker.rb index 4ccd2236..7681504c 100755 --- a/build/tests/CustomSystemUpdater/romchecker.rb +++ b/build/tests/CustomSystemUpdater/romchecker.rb @@ -46,6 +46,7 @@ def check_pickuped(path, print_success) ret = true files = Dir.glob(path) p_path = path.slice(REG_PATH) + #p files case when files.size == 0 $stdout.printf( "NG:#{p_path} -- #{p_path} is not included ***********\n") @@ -69,25 +70,26 @@ def check(target_dir) REGION_DIRS.each{|region_dir, region_code| ALL_REGION.each{|app_code| # オールリージョンのロムが含まれているかのチェック - search_path = "#{target_dir}/#{region_dir}/#{HEADER}#{app_code}A*.tad" + search_path = File.join(target_dir, region_dir, "#{HEADER}#{app_code}A*.tad") + #p search_path ret &= check_pickuped(search_path, false) } FIX_REGION.each{|app_code| # 各リージョン固有のロムが含まれているかのチェック - search_path = "#{target_dir}/#{region_dir}/#{HEADER}#{app_code}#{region_code}*.tad" + search_path = File.join(target_dir, region_dir, "#{HEADER}#{app_code}#{region_code}*.tad") ret &= check_pickuped(search_path, false) } (ALL_REGION + FIX_REGION).each{|app_code| # HNxy が 各リージョンごと1つだけ存在するかのチェック # HNxA と HNxU など、aとuが混在していたりするとここでひっかかる - search_path = "#{target_dir}/#{region_dir}/#{HEADER}#{app_code}*.tad" + search_path = File.join(target_dir, region_dir, "#{HEADER}#{app_code}*.tad") ret &= check_pickuped(search_path, false) } # nand firm, font のチェック - search_path = "#{target_dir}/#{region_dir}/#{NAND_FIRM}" + search_path = File.join(target_dir, region_dir, NAND_FIRM) ret &= check_pickuped(search_path, false) - search_path = "#{target_dir}/#{region_dir}/#{FONT_DATA}" + search_path = File.join(target_dir, region_dir, FONT_DATA) ret &= check_pickuped(search_path, false) $stdout.printf("\n") @@ -102,6 +104,10 @@ if ARGV.size < 1 exit -1 end +# カレントディレクトリの変更 +Dir.chdir(File.dirname(File.expand_path(__FILE__))) + + target = ARGV[0] exit (check target) ? 0 : -1 diff --git a/build/tests/CustomSystemUpdater/sumaker.rb b/build/tests/CustomSystemUpdater/sumaker.rb index bcb470df..3cbbc30d 100755 --- a/build/tests/CustomSystemUpdater/sumaker.rb +++ b/build/tests/CustomSystemUpdater/sumaker.rb @@ -54,7 +54,7 @@ def make_default_config :TemplatePath => "template", :RSF => "ARM9.TWL/main.rsf", :SRC => "ARM9.TWL/src/main.c", - :DataPath => "data", + :DataPath => ".", :Region => "JPN", } write_config(DEFAULT_CONFIG, config) @@ -101,10 +101,12 @@ def make_rsf(config) tadlist = config[:TadFiles].dup tadlist << config[:FontFile] << config[:NandFirm] tadlist = tadlist.join(" ") - src = File.read(config[:TemplatePath] + "/" + config[:RSF]) + src = File.read(File.join(config[:TemplatePath], config[:RSF])) + #src = File.read(config[:TemplatePath] + "/" + config[:RSF]) src = replace_data(src, "datapath", config[:DataPath]) src = replace_data(src, "regionname", config[:Region]) - write_data(config[:TargetPath] + "/" + config[:RSF], replace_data(src, "filelist", tadlist)) + write_data(File.join(config[:TargetPath], config[:RSF]), replace_data(src, "filelist", tadlist)) + #write_data(config[:TargetPath] + "/" + config[:RSF], replace_data(src, "filelist", tadlist)) end # main.c の書き換え @@ -115,7 +117,8 @@ def make_main(config) data.push("\t\"rom:/data/" + t + "\", \n") end data = data.join - src = File.read(config[:TemplatePath] + "/" + config[:SRC]) + #src = File.read(config[:TemplatePath] + "/" + config[:SRC]) + src = File.read(File.join(config[:TemplatePath], config[:SRC])) mod = replace_data(src, "tadlist", data) mod = replace_data(mod, "nandfirm", config[:NandFirm]) mod = replace_data(mod, "fontfile", config[:FontFile]) @@ -125,7 +128,9 @@ def make_main(config) region = (REGION[region_name] != nil) ? REGION[region_name] : REGION["JPN"] mod = replace_data(mod, "region", region) mod = replace_data(mod, "regionname", region_name) - write_data(config[:TargetPath] + "/" + config[:SRC], mod) + #write_data(config[:TargetPath] + "/" + config[:SRC], mod) + write_data(File.join(config[:TargetPath], config[:SRC]), mod) + end # SystemUpdaterを作成する @@ -176,7 +181,9 @@ when "custom" then config[:TadFiles] = [] end - config[:DataPath] += "/#{ARGV[1]}/#{REGION_PATH[region]}" + + #config[:DataPath] += "/#{ARGV[1]}/#{REGION_PATH[region]}" + config[:DataPath] = File.join(config[:DataPath], ARGV[1], REGION_PATH[region]) config[:Region] = region tads = pickup_files(config[:DataPath], "/*.tad") nand = pickup_files(config[:DataPath], "/*.nand") diff --git a/build/tests/CustomSystemUpdater/template/ARM9.TWL/src/main.c b/build/tests/CustomSystemUpdater/template/ARM9.TWL/src/main.c index f1cd83e6..0825e574 100644 --- a/build/tests/CustomSystemUpdater/template/ARM9.TWL/src/main.c +++ b/build/tests/CustomSystemUpdater/template/ARM9.TWL/src/main.c @@ -455,7 +455,12 @@ TwlMain() } // 更新ログを作成して再実行を防ぐ - if (result) + +#ifdef IGNORE_VERSION_CHECK + if( 0 ) +#else + if (result) +#endif { SystemUpdaterLog log;