From 234f2a5e43899188ef3a4c3554f3e63197911578 Mon Sep 17 00:00:00 2001 From: "(no author)" <(no author)@b08762b0-b915-fc4b-9d8c-17b2551a87ff> Date: Wed, 2 Sep 2009 23:13:58 +0000 Subject: [PATCH] =?UTF-8?q?=E3=83=BB=E3=82=B7=E3=83=A7=E3=83=83=E3=83=97?= =?UTF-8?q?=E3=82=92=E5=90=AB=E3=82=81=E3=81=A6=E3=81=84=E3=81=AA=E3=81=8B?= =?UTF-8?q?=E3=81=A3=E3=81=9F=E3=81=AE=E3=81=A7=E4=BF=AE=E6=AD=A3=20?= =?UTF-8?q?=E3=83=BB=E8=A4=87=E6=95=B0=E3=83=9A=E3=83=BC=E3=82=B8=E3=81=AB?= =?UTF-8?q?=E3=81=AA=E3=82=8B=E5=A0=B4=E5=90=88=E3=81=AB=E3=82=AD=E3=83=BC?= =?UTF-8?q?=E6=93=8D=E4=BD=9C=E3=81=8C=E4=B8=8D=E5=85=B7=E5=90=88=E3=81=8C?= =?UTF-8?q?=E3=81=82=E3=81=A3=E3=81=9F=E3=81=AE=E3=81=A7=E4=BF=AE=E6=AD=A3?= =?UTF-8?q?=20=E3=83=BB=E4=BA=88=E7=B4=84=E3=82=A2=E3=83=97=E3=83=AA?= =?UTF-8?q?=E4=BB=A5=E5=A4=96=E3=81=AE=E3=82=A2=E3=83=97=E3=83=AA=E3=82=92?= =?UTF-8?q?=E6=98=87=E9=A0=86=E3=81=AB=E4=B8=A6=E3=81=B6=E3=82=88=E3=81=86?= =?UTF-8?q?=E3=81=AB=E4=BF=AE=E6=AD=A3?= 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@2908 b08762b0-b915-fc4b-9d8c-17b2551a87ff --- .../TitleHashChecker/ARM9.TWL/src/main.c | 54 +++++++++++++------ 1 file changed, 38 insertions(+), 16 deletions(-) diff --git a/build/tests/TitleHashChecker/ARM9.TWL/src/main.c b/build/tests/TitleHashChecker/ARM9.TWL/src/main.c index 21bf5e43..288648c9 100644 --- a/build/tests/TitleHashChecker/ARM9.TWL/src/main.c +++ b/build/tests/TitleHashChecker/ARM9.TWL/src/main.c @@ -56,7 +56,7 @@ #define TITLE_ID_DATA_ONLY_MASK 0x00000008 #define TITLE_ID_GAMECODE_MASK 0xFFFFFF00 -#define OUTPUT_SORT_TITLE_NUM 14 +#define OUTPUT_SORT_TITLE_NUM 15 #define OUTPUT_NAND_FIRM_IDX 10 #define OUTPUT_SHARED_FONT_IDX 12 @@ -114,21 +114,22 @@ static DataStruct gDataList[TITLE_NUM_PAGE]; static u16 crc_table[0x100]; -static const u32 TitleIDTable[14] = { +static const u32 TitleIDTable[OUTPUT_SORT_TITLE_NUM] = { 0x484e4100, // 0.HNA* ランチャ 0x484e4200, // 1.HNB* 本体設定 0x484e4300, // 2.HNC* 無線ファーム 0x484e4400, // 3.HND* DLプレイ 0x484e4500, // 4.HNE* ピクトチャット - 0x484e4800, // 5.HNH* ホワイトリスト - 0x484e4900, // 6.HNI* カメラ - 0x484e4a00, // 7.HNJ* Nintendoゾーン - 0x484e4b00, // 8.HNK* サウンド - 0x484e4c00, // 9.HNL* バージョンデータ - NAND_FIRM_MAGIC_CODE, //10.---- NANDファーム - 0x344e4641, //11.4NFA Nand Filer - SHARED_FONT_MAGIC_CODE, //12.---- フォント - 0x34544e41 //13.4TNA TwlNmenu + 0x484e4600, // 5.HNF* ショップ + 0x484e4800, // 6.HNH* ホワイトリスト + 0x484e4900, // 7.HNI* カメラ + 0x484e4a00, // 8.HNJ* Nintendoゾーン + 0x484e4b00, // 9.HNK* サウンド + 0x484e4c00, //10.HNL* バージョンデータ + NAND_FIRM_MAGIC_CODE, //11.---- NANDファーム + 0x344e4641, //12.4NFA Nand Filer + SHARED_FONT_MAGIC_CODE, //13.---- フォント + 0x34544e41 //14.4TNA TwlNmenu }; /*---------------------------------------------------------------------------* Prototype @@ -490,6 +491,9 @@ BOOL ProcessTitleHashCheck( void ) // SharedフォントとNandファームの値用の2つ gNandAppNum += 2; + // 表示ページ数を求める + gMaxPage = (u32)((gNandAppNum & 0xf0) >> 4); + // SharedフォントのSha1値を求める CulcuFontDataHash(gDataList); @@ -1049,10 +1053,11 @@ BOOL CulcuNandFirmHash(DataStruct* list) *---------------------------------------------------------------------------*/ static void SortList( DataStruct* list ) { - u32 i,j,count=0; - + u32 i,j,sort_count,count=0; + u8* tmpList; - DataStruct* p; + DataStruct *p; + DataStruct buf; tmpList = spAllocFunc( sizeof(DataStruct) * TITLE_NUM_PAGE ); if ( tmpList == NULL ) @@ -1064,7 +1069,7 @@ static void SortList( DataStruct* list ) for(i=0; isort) @@ -1105,6 +1111,22 @@ static void SortList( DataStruct* list ) count++; } } + + // 降順に並び替え + p = (DataStruct *)tmpList; + + for(i=sort_count; i=i; j--) + { + if( (u32)p[j].id > (u32)p[j+1].id ) + { + MI_CpuCopy8( &p[j], &buf, sizeof(DataStruct) ); + MI_CpuCopy8( &p[j+1], &p[j], sizeof(DataStruct) ); + MI_CpuCopy8( &buf, &p[j+1], sizeof(DataStruct) ); + } + } + } // ソートが済んだデータを反映する MI_CpuCopy8(tmpList, list, sizeof(DataStruct) * TITLE_NUM_PAGE);