From 6a8982195d49171beba12ad3e00dc6eacc7b6db0 Mon Sep 17 00:00:00 2001 From: "(no author)" <(no author)@b08762b0-b915-fc4b-9d8c-17b2551a87ff> Date: Fri, 22 Aug 2008 05:40:19 +0000 Subject: [PATCH] =?UTF-8?q?(=E4=BD=90=E3=80=85=E6=9C=A8@PSEG1)MountSpecial?= =?UTF-8?q?Archive=E3=82=92=E4=BD=BF=E3=81=86=E8=A8=AD=E5=AE=9A=E3=81=A7?= =?UTF-8?q?=E3=82=82=E3=83=93=E3=83=AB=E3=83=89=E3=81=A7=E3=81=8D=E3=82=8B?= =?UTF-8?q?=E3=82=88=E3=81=86=E3=81=AB=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@2232 b08762b0-b915-fc4b-9d8c-17b2551a87ff --- build/debugsoft/MakerTitle/TitleList/Makefile | 24 ++++++++++- .../debugsoft/MakerTitle/TitleList/ROMset.xls | Bin 18944 -> 0 bytes .../MakerTitle/TitleList/include/title.h | 13 ++++++ .../debugsoft/MakerTitle/TitleList/readme.txt | 40 ------------------ .../MakerTitle/TitleList/src/appmain.c | 29 ++++++++++++- 5 files changed, 63 insertions(+), 43 deletions(-) delete mode 100644 build/debugsoft/MakerTitle/TitleList/ROMset.xls delete mode 100644 build/debugsoft/MakerTitle/TitleList/readme.txt diff --git a/build/debugsoft/MakerTitle/TitleList/Makefile b/build/debugsoft/MakerTitle/TitleList/Makefile index b2f2c5d2..1acd6ed2 100644 --- a/build/debugsoft/MakerTitle/TitleList/Makefile +++ b/build/debugsoft/MakerTitle/TitleList/Makefile @@ -47,6 +47,17 @@ do-something-build: +$(REMAKE) TWLSDK_PLATFORM=TWL ROM_NAME=H SKIP_SUBDIR=FALSE $(MY_GOAL) +$(REMAKE) TWLSDK_PLATFORM=TWL ROM_NAME=I SKIP_SUBDIR=FALSE $(MY_GOAL) +$(REMAKE) TWLSDK_PLATFORM=TWL ROM_NAME=J SKIP_SUBDIR=FALSE $(MY_GOAL) + +$(REMAKE) TWLSDK_PLATFORM=TWL ROM_NAME=A USE_SPECIAL=TRUE SKIP_SUBDIR=FALSE $(MY_GOAL) + +$(REMAKE) TWLSDK_PLATFORM=TWL ROM_NAME=B USE_SPECIAL=TRUE SKIP_SUBDIR=FALSE $(MY_GOAL) + +$(REMAKE) TWLSDK_PLATFORM=TWL ROM_NAME=C USE_SPECIAL=TRUE SKIP_SUBDIR=FALSE $(MY_GOAL) + +$(REMAKE) TWLSDK_PLATFORM=TWL ROM_NAME=D USE_SPECIAL=TRUE SKIP_SUBDIR=FALSE $(MY_GOAL) + +$(REMAKE) TWLSDK_PLATFORM=TWL ROM_NAME=E USE_SPECIAL=TRUE SKIP_SUBDIR=FALSE $(MY_GOAL) + +$(REMAKE) TWLSDK_PLATFORM=TWL ROM_NAME=F USE_SPECIAL=TRUE SKIP_SUBDIR=FALSE $(MY_GOAL) + +$(REMAKE) TWLSDK_PLATFORM=TWL ROM_NAME=G USE_SPECIAL=TRUE SKIP_SUBDIR=FALSE $(MY_GOAL) + +$(REMAKE) TWLSDK_PLATFORM=TWL ROM_NAME=H USE_SPECIAL=TRUE SKIP_SUBDIR=FALSE $(MY_GOAL) + +$(REMAKE) TWLSDK_PLATFORM=TWL ROM_NAME=I USE_SPECIAL=TRUE SKIP_SUBDIR=FALSE $(MY_GOAL) + +$(REMAKE) TWLSDK_PLATFORM=TWL ROM_NAME=J USE_SPECIAL=TRUE SKIP_SUBDIR=FALSE $(MY_GOAL) + do-something: +$(REMAKE) TWLSDK_PLATFORM=TWL ROM_NAME=A SKIP_SUBDIR=FALSE $(MY_GOAL) @@ -79,6 +90,17 @@ LLIBRARIES = libnam$(TWL_LIBSUFFIX).a libes$(TWL_LIBSUFFIX).a \ libsea$(TWL_LIBSUFFIX).a libboc$(TWL_LIBSUFFIX).a \ libsfs$(TWL_LIBSUFFIX).a + +#------------------------- +#-- API タイプの指定 +ifeq ($(USE_SPECIAL),) +API_TYPE = NORMAL +else +API_TYPE = SPECIAL +MACRO_FLAGS += -DUSE_SPECIAL +endif + + #------------------------- #-- ROM A 〜 Jまでのパラメータ設定 @@ -182,7 +204,7 @@ MAKEROM_ARM7 = $(MAKEROM_ARM7_BASE).$(TWL_ELF_EXT) # インストール指定 ifneq ($(TWL_IPL_RED_ROOT),) -INSTALL_DIR = $(TWL_IPL_RED_ROOT)/debugsoft/$(MASTER_NAME) +INSTALL_DIR = $(TWL_IPL_RED_ROOT)/debugsoft/$(MASTER_NAME)/$(API_TYPE) INSTALL_TARGETS = $(BINDIR)/$(TARGET_BIN) endif diff --git a/build/debugsoft/MakerTitle/TitleList/ROMset.xls b/build/debugsoft/MakerTitle/TitleList/ROMset.xls deleted file mode 100644 index adae636093874657b5616e0daacc0b4bd846f3af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18944 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 diff --git a/build/debugsoft/MakerTitle/TitleList/include/title.h b/build/debugsoft/MakerTitle/TitleList/include/title.h index 8d235690..74d93621 100644 --- a/build/debugsoft/MakerTitle/TitleList/include/title.h +++ b/build/debugsoft/MakerTitle/TitleList/include/title.h @@ -31,6 +31,19 @@ static char* GAMECODE_LIST[] = { static const u32 TITLE_COUNT = sizeof(GAMECODE_LIST) / sizeof(char*); +static u64 TITLE_ID_HIGH[] = { + 0x00030015ull, + 0x00030005ull, + 0x00030004ull, + 0x00030004ull, + 0x00030004ull, + 0x00030004ull, + 0x00030004ull, + 0x00030004ull, + 0x00030004ull, + 0x00030004ull, +}; + // PublicとPrivateの有無 static BOOL DATA_EXIST[TITLE_COUNT][2] = { {TRUE, TRUE}, // A diff --git a/build/debugsoft/MakerTitle/TitleList/readme.txt b/build/debugsoft/MakerTitle/TitleList/readme.txt deleted file mode 100644 index 362f50c7..00000000 --- a/build/debugsoft/MakerTitle/TitleList/readme.txt +++ /dev/null @@ -1,40 +0,0 @@ -TitleList - -*概要* - メーカーコードやアプリ種別、セーブデータ領域の有無などが異なるアプリ間で - セーブデータアクセスが正常に行われるかどうかを確認するアプリセットです。 - - -*テスト方法* - @/debugsoft/TitleList 以下のTitleList_A.tad〜TitleList_J.tadを全てインポートします(以下これらのtadをまとめて、ロムセットと表記します) - A各ロムを起動して、 -   Aボタン − ロムセットへの書き込みテストと -   Bボタン − 自身のセーブデータの読み込みテスト - - を行うことができます。 - -*アプリの仕様* - 書き込みテスト: -  Aボタンを押すと、自分自身を除くロムセットのセーブデータに対して書き込みを試行します。 -  下画面に各ロムに対しての試行結果が表示されます。結果の表示の示す意味は下記の通りです。 - - PUB PRV はそれぞれセーブデータ領域の有無を示します。 - -  ○…正常に書き込みが行われた -  ×…書き込めなかった -  −…セーブデータ領域が存在しない(PUBもPRVも存在しない)、または自分自身である - -  書き込むデータは、"Written by [X]" で、Xには自身のロム名(A〜J)が入ります。 - - 読み込みテスト: -  Bボタンを押すと、自身のセーブデータの内容を表示することができます。 -  これによって、書き込みテストで実際に他のアプリからデータが書き込まれたかどうかを確認することができます。 - Noneが表示される場合は、セーブデータ領域自体が存在しません - File not foundが表示される場合は、セーブデータ領域は存在しますが、ファイルが存在しません(どのアプリからも書き込まれていない) - - セーブデータクリア: -  ROM Aのみ、Xボタンを押すと、ロムセットのセーブデータを全てクリアします。 - -*ロムセットの内容* -  ROMset.xlsを参照してください。 - diff --git a/build/debugsoft/MakerTitle/TitleList/src/appmain.c b/build/debugsoft/MakerTitle/TitleList/src/appmain.c index a06d5772..ab626ba4 100644 --- a/build/debugsoft/MakerTitle/TitleList/src/appmain.c +++ b/build/debugsoft/MakerTitle/TitleList/src/appmain.c @@ -29,6 +29,8 @@ BOOL WriteFile(const char* arc_name, const char* file_name); BOOL ReadFile(const char* arc_name, const char* file_name, char* out, int len); void PrintResult(int x, int y, char* text); +static FSFATFSArchiveWork archiveWork ATTRIBUTE_ALIGN(32); + const char* ARC_NAME[2] = { "otherPub:/", "otherPrv:/", @@ -44,14 +46,33 @@ const char* FILE_NAME = "save.dat"; BOOL TestWriting(const char* code, BOOL out_results[2]) { + s32 i = 0; + +#ifndef USE_SPECIAL const NATitleArchive arc[2] = { NA_TITLE_ARCHIVE_DATAPUB, NA_TITLE_ARCHIVE_DATAPRV, }; - s32 i = 0; +#else + const char* arc[2] = { + "otherPub", + "otherPrv", + }; + u32 lo = 0; + OSTitleId TitleID; + lo = MI_LoadBE32(code); + TitleID = (TITLE_ID_HIGH[code[2] - 'A'] << 32) | lo; + +#endif + + for(i = 0; i < 2; ++i) { +#ifndef USE_SPECIAL FSResult res = NA_LoadOtherTitleArchive(code, arc[i]); +#else + FSResult res = FSi_MountSpecialArchive(TitleID, arc[i], &archiveWork); +#endif out_results[i] = (res != FS_RESULT_SUCCESS) ? FALSE : TRUE; if(res != FS_RESULT_SUCCESS) { @@ -61,8 +82,12 @@ BOOL TestWriting(const char* code, BOOL out_results[2]) } WriteFile(ARC_NAME[i], FILE_NAME); - + +#ifndef USE_SPECIAL NA_UnloadOtherTitleArchive(); +#else + FSi_MountSpecialArchive(TitleID, NULL, &archiveWork); +#endif } return out_results[0] | out_results[1];