(佐々木@PSEG1)MountSpecialArchiveを使う設定でもビルドできるように変更

git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@2232 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
(no author) 2008-08-22 05:40:19 +00:00
parent d538bf6f0f
commit 6a8982195d
5 changed files with 63 additions and 43 deletions

View File

@ -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 ƒ^ƒCƒvÌŽwè
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

View File

@ -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

View File

@ -1,40 +0,0 @@
TitleList
*概要*
 メーカーコードやアプリ種別、セーブデータ領域の有無などが異なるアプリ間で
 セーブデータアクセスが正常に行われるかどうかを確認するアプリセットです。
*テスト方法*
 ①/debugsoft/TitleList 以下のTitleList_A.tadTitleList_J.tadを全てインポートします以下これらのtadをまとめて、ロムセットと表記します
 ②各ロムを起動して、
   Aボタン - ロムセットへの書き込みテストと
   Bボタン - 自身のセーブデータの読み込みテスト
 を行うことができます。
*アプリの仕様*
 書き込みテスト:
  Aボタンを押すと、自分自身を除くロムセットのセーブデータに対して書き込みを試行します。
  下画面に各ロムに対しての試行結果が表示されます。結果の表示の示す意味は下記の通りです。
PUB PRV はそれぞれセーブデータ領域の有無を示します。
  ○…正常に書き込みが行われた
  ×…書き込めなかった
  -…セーブデータ領域が存在しない(PUBもPRVも存在しない)、または自分自身である
  書き込むデータは、"Written by [X]" で、Xには自身のロム名AJが入ります。
 読み込みテスト:
  Bボタンを押すと、自身のセーブデータの内容を表示することができます。
  これによって、書き込みテストで実際に他のアプリからデータが書き込まれたかどうかを確認することができます。
Noneが表示される場合は、セーブデータ領域自体が存在しません
File not foundが表示される場合は、セーブデータ領域は存在しますが、ファイルが存在しませんどのアプリからも書き込まれていない
 セーブデータクリア:
  ROM Aのみ、ボタンを押すと、ロムセットのセーブデータを全てクリアします。
*ロムセットの内容*
  ROMset.xlsを参照してください。

View File

@ -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];