Index: include/nn/CTR/CTR_ProgramId.h =================================================================== --- include/nn/CTR/CTR_ProgramId.h (revision 34322) +++ include/nn/CTR/CTR_ProgramId.h (working copy) @@ -1,8 +1,8 @@ -/*---------------------------------------------------------------------------* +/*---------------------------------------------------------------------------* Project: Horizon File: CTR_ProgramId.h - Copyright (C)2009 Nintendo Co., Ltd. All rights reserved. + Copyright (C)2009-2013 Nintendo Co., Ltd. All rights reserved. These coded instructions, statements, and computer programs contain proprietary information of Nintendo of America Inc. and/or Nintendo @@ -18,6 +18,7 @@ #include +#include #include @@ -49,9 +50,13 @@ { PROGRAM_ID_CATEGORY_FLAG_NORMAL = 0 , // 通常 PROGRAM_ID_CATEGORY_FLAG_DLP_CHILD = 1, // DLPLAY 子機 - PROGRAM_ID_CATEGORY_FLAG_TRIAL = 2, // 体験版 - PROGRAM_ID_CATEGORY_FLAG_CONTENTS = 3, // 追加コンテンツ + PROGRAM_ID_CATEGORY_FLAG_DEMO = 2, // 体験版 + PROGRAM_ID_CATEGORY_FLAG_CONTENTS = 3, // コンテンツ + PROGRAM_ID_CATEGORY_FLAG_ADD_ON_CONTENTS = 4, // 追加コンテンツ + PROGRAM_ID_CATEGORY_FLAG_RIGHTS_ONLY = 5, // 権利のみ + PROGRAM_ID_CATEGORY_FLAG_PATCH = 6, // パッチ + PROGRAM_ID_CATEGORY_FLAG_TYPE_MASK = (7 << 0), // 種類 PROGRAM_ID_CATEGORY_FLAG_CANNOT_EXECUTION = (1 << 3), // 実行不可 PROGRAM_ID_CATEGORY_FLAG_SYSTEM = (1 << 4), // システム PROGRAM_ID_CATEGORY_FLAG_REQUIRE_BATCH_UPDATE = (1 << 5), // 一括アップデートが必要 @@ -71,7 +76,7 @@ PROGRAM_ID_CATEGORY_DLP_CHILD = ( PROGRAM_ID_CATEGORY_FLAG_DLP_CHILD ), // 体験版 - PROGRAM_ID_CATEGORY_TRIAL = ( PROGRAM_ID_CATEGORY_FLAG_TRIAL ), + PROGRAM_ID_CATEGORY_DEMO = ( PROGRAM_ID_CATEGORY_FLAG_DEMO ), // NAND ファームウェア PROGRAM_ID_CATEGORY_FIRMWARE = ( PROGRAM_ID_CATEGORY_FLAG_NORMAL @@ -113,6 +118,19 @@ | PROGRAM_ID_CATEGORY_FLAG_NOT_REQUIRE_USER_APPROVAL | PROGRAM_ID_CATEGORY_FLAG_NOT_REQUIRE_RIGHT_FOR_MOUNT ), + // 追加コンテンツ + PROGRAM_ID_CATEGORY_ADD_ON_CONTENTS = ( PROGRAM_ID_CATEGORY_FLAG_ADD_ON_CONTENTS + | PROGRAM_ID_CATEGORY_FLAG_CANNOT_EXECUTION + | PROGRAM_ID_CATEGORY_FLAG_NOT_REQUIRE_RIGHT_FOR_MOUNT ), + + // 権利のみ + PROGRAM_ID_CATEGORY_RIGHTS_ONLY = ( PROGRAM_ID_CATEGORY_FLAG_RIGHTS_ONLY + | PROGRAM_ID_CATEGORY_FLAG_CANNOT_EXECUTION ), + + // パッチ + PROGRAM_ID_CATEGORY_PATCH = ( PROGRAM_ID_CATEGORY_FLAG_PATCH + | PROGRAM_ID_CATEGORY_FLAG_CANNOT_EXECUTION ), + PROGRAM_ID_CATEGORY_MAX_BITS = (1u << 15) }; @@ -120,6 +138,7 @@ enum ProgramIdPlatform { PROGRAM_ID_PLATFORM_CTR, + PROGRAM_ID_PLATFORM_SNAKE = 2, PROGRAM_ID_PLATFORM_MAX_BITS = (1 << 3) }; @@ -135,7 +154,10 @@ const int PROGRAM_ID_UNIQUE_ID_SHIFT = 8; const int PROGRAM_ID_VARIATION_SHIFT = 0; + const size_t PROGRAM_ID_PLATFORM_SIZE = 4; + const bit64 PROGRAM_ID_PLATFORM_MASK = ((1ull << PROGRAM_ID_PLATFORM_SIZE) - 1) << PROGRAM_ID_PLATFORM_SHIFT; + /* ------------------------------------------------------------------------ ProgramId 作成関数 ------------------------------------------------------------------------ */ @@ -171,7 +193,17 @@ return ret; } + inline ProgramId MakeSystemProgramIdFromLegacyInitialCode(char gameCode[]) + { // TWLのNAND かつ システムアプリのProgramIdの生成 + ProgramId ret = TWL_CARD_APP_PSEUDO_PROGRAM_ID | (5ull << 32); + for (int i = 0; i < 4; i++) + { + ret |= gameCode[i] << ((3-i) * 8); + } + return ret; + } + /* ------------------------------------------------------------------------ ProgramId 分解関数 ------------------------------------------------------------------------ */ @@ -196,7 +228,6 @@ } - /* ------------------------------------------------------------------------ 定数定義の代わり ------------------------------------------------------------------------ */ @@ -204,15 +235,10 @@ { return (static_cast(pgid >> 32) & 0xFFFFC000) == 0x00048000; } - inline bool IsNtrTrialApp(ProgramId pgid) - { - return (static_cast(pgid >> 32) & 0xFFFFC000) == 0x00044000; + inline bool IsTwlSystemApp(ProgramId pgid) + { // Channel code 0bit目が1 + return IsTwlApp(pgid) && (pgid & (1ull << 32)); } - inline bool IsTwlCardApp(ProgramId pgid) - { - return pgid == TWL_CARD_APP_PSEUDO_PROGRAM_ID; - } - inline bool IsTwlCardAppByCtrProgramIdRule(ProgramId pgid) { return (static_cast(pgid >> 32) & 0xFFFFFFFF) == 0x00048000; @@ -233,60 +259,118 @@ return 0x0004800000000000ull | (pgid & 0x00007FFFFFFFFFFFull); } + inline ProgramId ReplacePlatform(ProgramId pgid, ProgramIdPlatform platform) + { + return (pgid & ~PROGRAM_ID_PLATFORM_MASK) | (platform << PROGRAM_ID_PLATFORM_SHIFT); + } - /* ------------------------------------------------------------------------ カテゴリ判別関数 ------------------------------------------------------------------------ */ + inline bool IsCtr(ProgramId pgid) + { + return (static_cast(pgid >> 32) & 0xFFFFC000) == 0x00040000; + } + + // bit 0-2 + inline bool IsContents(ProgramId pgid) + { + return IsCtr(pgid) && ((GetCategoryOf(pgid) & PROGRAM_ID_CATEGORY_FLAG_TYPE_MASK) == PROGRAM_ID_CATEGORY_FLAG_CONTENTS); + } + + inline bool IsNormalApplication(ProgramId pgid) + { + return IsCtr(pgid) && ((GetCategoryOf(pgid) & PROGRAM_ID_CATEGORY_FLAG_TYPE_MASK) == PROGRAM_ID_CATEGORY_FLAG_NORMAL); + } + // bit 4 inline bool IsSystem(ProgramId pgid) { - return (GetCategoryOf(pgid) & PROGRAM_ID_CATEGORY_FLAG_SYSTEM) != 0; + return IsCtr(pgid) && (GetCategoryOf(pgid) & PROGRAM_ID_CATEGORY_FLAG_SYSTEM) != 0; } // bit 5 inline bool IsRequireBatchUpdate(ProgramId pgid) { - return (GetCategoryOf(pgid) & PROGRAM_ID_CATEGORY_FLAG_REQUIRE_BATCH_UPDATE) != 0; + return IsCtr(pgid) && (GetCategoryOf(pgid) & PROGRAM_ID_CATEGORY_FLAG_REQUIRE_BATCH_UPDATE) != 0; } // bit 7 inline bool IsRequireRightForMount(ProgramId pgid) { - return (GetCategoryOf(pgid) & PROGRAM_ID_CATEGORY_FLAG_NOT_REQUIRE_RIGHT_FOR_MOUNT) == 0; + return IsCtr(pgid) && (GetCategoryOf(pgid) & PROGRAM_ID_CATEGORY_FLAG_NOT_REQUIRE_RIGHT_FOR_MOUNT) == 0; } // bit 8 inline bool IsRequireJumpIdConversion(ProgramId pgid) { - return (GetCategoryOf(pgid) & PROGRAM_ID_CATEGORY_FLAG_CAN_SKIP_CONVERT_JUMP_ID) == 0; + return IsCtr(pgid) && (GetCategoryOf(pgid) & PROGRAM_ID_CATEGORY_FLAG_CAN_SKIP_CONVERT_JUMP_ID) == 0; } inline bool IsDlpChild(ProgramId pgid) { - return GetCategoryOf(pgid) == PROGRAM_ID_CATEGORY_DLP_CHILD; + return IsCtr(pgid) && GetCategoryOf(pgid) == PROGRAM_ID_CATEGORY_DLP_CHILD; } + inline bool IsDemo(ProgramId pgid) + { + return IsCtr(pgid) && GetCategoryOf(pgid) == PROGRAM_ID_CATEGORY_DEMO; + } + inline bool IsNandFirmware(ProgramId pgid) { - return GetCategoryOf(pgid) == PROGRAM_ID_CATEGORY_FIRMWARE; + return IsCtr(pgid) && GetCategoryOf(pgid) == PROGRAM_ID_CATEGORY_FIRMWARE; } inline bool IsInternal(ProgramId pgid) { const bit16 category = GetCategoryOf(pgid); - return category == PROGRAM_ID_CATEGORY_FIRMWARE + return IsCtr(pgid) && + ( category == PROGRAM_ID_CATEGORY_FIRMWARE | category == PROGRAM_ID_CATEGORY_BASE - | category == PROGRAM_ID_CATEGORY_APPLET; + | category == PROGRAM_ID_CATEGORY_APPLET ); } + inline bool IsExecutable(ProgramId pgid) + { + return (GetCategoryOf(pgid) & PROGRAM_ID_CATEGORY_FLAG_CANNOT_EXECUTION) == 0; + } + + inline bool IsCtrOrTwlSystem(ProgramId pgid) + { + return IsSystem(pgid) || IsTwlSystemApp(pgid); + } + inline bool IsRequireCheckLaunchRights(ProgramId pgid) { - return ! IsSystem(pgid); + return ! IsCtrOrTwlSystem(pgid); } + inline bool IsAddOnContents(ProgramId pgid) + { + return IsCtr(pgid) && GetCategoryOf(pgid) == PROGRAM_ID_CATEGORY_ADD_ON_CONTENTS; + } + inline bool IsRightsOnly(ProgramId pgid) + { + return IsCtr(pgid) && GetCategoryOf(pgid) == PROGRAM_ID_CATEGORY_RIGHTS_ONLY; + } + inline bool IsPatch(ProgramId pgid) + { + return IsCtr(pgid) && GetCategoryOf(pgid) == PROGRAM_ID_CATEGORY_PATCH; + } + + inline bool HasInternalUniqueId(ProgramId pgid) + { + bit32 uid = GetUniqueIdOf(pgid); + return (uid < 0x00300) + || ((0xF8000 <= uid) && (uid < 0xFF000)) + || (0xFF400 <= uid); + } + + + /* ------------------------------------------------------------------------ コアバージョン ------------------------------------------------------------------------ */ @@ -308,8 +392,14 @@ PROGRAM_ID_VERSION_TWL_FIRM ); } + inline bit32 GetAgbCoreVersion() + { + return MakeTitleCode( PROGRAM_ID_UNIQUE_ID_AGB_FIRM, + PROGRAM_ID_VERSION_AGB_FIRM ); + } + /* ------------------------------------------------------------------------ 個々の ProgramId ------------------------------------------------------------------------ */ @@ -330,6 +420,30 @@ // 奇数のバリエーションは開発用システムのメジャーバージョン return IsSystem(pgid) && (GetVariationOf(pgid) % 2) != 0; } + + + + /* ------------------------------------------------------------------------ + 変換関数 + ------------------------------------------------------------------------ */ + inline ProgramId GetPatchTargetProgramId(ProgramId patchId) + { + NN_EQUAL_TASSERT_(GetCategoryOf(patchId), PROGRAM_ID_CATEGORY_PATCH); + + return MakeProgramId( + PROGRAM_ID_CATEGORY_APPLICATION, + GetUniqueIdOf(patchId), + GetVariationOf(patchId) ); + } + inline ProgramId GetPatchProgramIdOf(ProgramId appId) + { + NN_EQUAL_TASSERT_(GetCategoryOf(appId), PROGRAM_ID_CATEGORY_APPLICATION); + + return MakeProgramId( + PROGRAM_ID_CATEGORY_PATCH, + GetUniqueIdOf(appId), + GetVariationOf(appId) ); + } }} Index: include/nn/CTR/CTR_UniqueId.inc =================================================================== --- include/nn/CTR/CTR_UniqueId.inc (revision 34322) +++ include/nn/CTR/CTR_UniqueId.inc (working copy) @@ -56,6 +56,7 @@ NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( CFG, 0x00017) NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( NWM, 0x0002d) NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( DMNT, 0x00019) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( DMNT_IS, 0x00036) NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( NS, 0x00080) NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( IR, 0x00033) @@ -76,6 +77,7 @@ NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( MP, 0x0002a) NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( BOSS, 0x00034) NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( NEWS, 0x00035) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( RO, 0x00037) NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( NATIVE_FIRM, 0x00000) NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( TWL_FIRM, 0x00001) @@ -108,6 +110,8 @@ NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( PHOTO_SELECT_L, 0x000C3) NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( SOUND_SELECT_L, 0x000C4) NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( ERR_EULA_L, 0x000C5) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( AOC_L, 0x000C6) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( EXTRA_PAD_L, 0x000CD) #if 0 # Applet for AMERICA region (US) @@ -127,6 +131,7 @@ NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( PHOTO_SHOT_L_US, 0x000CA) NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( PHOTO_SELECT_L_US, 0x000CB) NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( SOUND_SELECT_L_US, 0x000CC) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( AOC_L_US, 0x000CE) #if 0 # Applet for EUROPE region (EU) @@ -146,6 +151,7 @@ NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( PHOTO_SHOT_L_EU, 0x000D2) NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( PHOTO_SELECT_L_EU, 0x000D3) NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( SOUND_SELECT_L_EU, 0x000D4) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( AOC_L_EU, 0x000D6) #if 0 # Applet for AUSTLARIA region (AU) @@ -155,15 +161,68 @@ # Applet for CHINA region (CN) #endif +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( SYSMENU_CN, 0x000A1) + +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( PHOTO_SHOT_CN, 0x000A2) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( MUSIC_PLAY_CN, 0x000A3) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( EBIRD_CN, 0x000A4) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( CHERRY_CN, 0x000A5) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( SPIDER_CN, 0x000A6) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( FRIENDLIST_CN, 0x000A7) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( NEWSLIST_CN, 0x000A8) + +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( KEYBOARD_L_CN, 0x000D8) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( MII_SELECT_L_CN, 0x000D9) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( PHOTO_SHOT_L_CN, 0x000DA) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( PHOTO_SELECT_L_CN, 0x000DB) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( SOUND_SELECT_L_CN, 0x000DC) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( ERR_EULA_L_CN, 0x000CF) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( AOC_L_CN, 0x000DD) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( EXTRA_PAD_L_CN, 0x000D5) + + #if 0 # Applet for KOREA region (KR) #endif +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( SYSMENU_KR, 0x000A9) + +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( PHOTO_SHOT_KR, 0x000AA) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( MUSIC_PLAY_KR, 0x000AB) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( EBIRD_KR, 0x000AC) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( CHERRY_KR, 0x000AD) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( SPIDER_KR, 0x000AE) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( FRIENDLIST_KR, 0x000AF) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( NEWSLIST_KR, 0x000B0) + +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( KEYBOARD_L_KR, 0x000DE) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( MII_SELECT_L_KR, 0x000DF) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( PHOTO_SHOT_L_KR, 0x000E0) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( PHOTO_SELECT_L_KR, 0x000E1) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( SOUND_SELECT_L_KR, 0x000E2) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( AOC_L_KR, 0x000E3) + #if 0 # Applet for TAIWAN region (TW) #endif +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( SYSMENU_TW, 0x000B1) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( PHOTO_SHOT_TW, 0x000B2) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( MUSIC_PLAY_TW, 0x000B3) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( EBIRD_TW, 0x000B4) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( CHERRY_TW, 0x000B5) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( SPIDER_TW, 0x000B6) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( FRIENDLIST_TW, 0x000B7) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( NEWSLIST_TW, 0x000B8) + +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( KEYBOARD_L_TW, 0x000E4) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( MII_SELECT_L_TW, 0x000E5) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( PHOTO_SHOT_L_TW, 0x000E6) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( PHOTO_SELECT_L_TW, 0x000E7) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( SOUND_SELECT_L_TW, 0x000E8) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( AOC_L_TW, 0x000E9) + #if 0 # System App for JAPAN region (JP) #endif @@ -183,6 +242,7 @@ NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( FRUIT, 0x0020c) NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( CPLAY_HAL, 0x0020d) NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( CPLAY_NCL, 0x0020e) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( BOXYARD, 0x00230) NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( SAFE_MODE_MSET, 0x0020F) @@ -205,6 +265,7 @@ NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( FRUIT_US, 0x0021c) NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( CPLAY_HAL_US, 0x0021d) NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( CPLAY_NCL_US, 0x0021e) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( BOXYARD_US, 0x00240) NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( SAFE_MODE_MSET_US, 0x0021F) #if 0 @@ -226,6 +287,130 @@ NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( FRUIT_EU, 0x0022c) NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( CPLAY_HAL_EU, 0x0022d) NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( CPLAY_NCL_EU, 0x0022e) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( BOXYARD_EU, 0x00250) NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( SAFE_MODE_MSET_EU, 0x0022F) +#if 0 +# System App for CHINA region (CN) +#endif +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( MSET_CN, 0x00260) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( DOWNLOAD_PLAY_CN, 0x00261) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( PLOG_CN, 0x00262) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( SAFE_CN, 0x00263) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( PNOTE_CN, 0x00264) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( SNOTE_CN, 0x00265) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( ANOTE_CN, 0x00266) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( MEDIT_CN, 0x00267) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( MEET_CN, 0x00268) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( TIGER_CN, 0x00269) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( CARD_BOARD_CN, 0x0026a) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( MARS_CN, 0x0026b) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( FRUIT_CN, 0x0026c) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( CPLAY_HAL_CN, 0x0026d) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( CPLAY_NCL_CN, 0x0026e) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( SAFE_MODE_MSET_CN, 0x0026F) + +#if 0 +# System App for KOREA region (KR) +#endif + +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( MSET_KR, 0x00270) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( DOWNLOAD_PLAY_KR, 0x00271) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( PLOG_KR, 0x00272) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( SAFE_KR, 0x00273) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( PNOTE_KR, 0x00274) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( SNOTE_KR, 0x00275) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( ANOTE_KR, 0x00276) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( MEDIT_KR, 0x00277) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( MEET_KR, 0x00278) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( TIGER_KR, 0x00279) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( CARD_BOARD_KR, 0x0027a) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( MARS_KR, 0x0027b) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( FRUIT_KR, 0x0027c) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( CPLAY_HAL_KR, 0x0027d) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( CPLAY_NCL_KR, 0x0027e) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( SAFE_MODE_MSET_KR, 0x0027F) + +#if 0 +# System App for TAIWAN region (TW) +#endif + +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( MSET_TW, 0x00280) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( DOWNLOAD_PLAY_TW, 0x00281) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( PLOG_TW, 0x00282) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( SAFE_TW, 0x00283) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( PNOTE_TW, 0x00284) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( SNOTE_TW, 0x00285) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( ANOTE_TW, 0x00286) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( MEDIT_TW, 0x00287) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( MEET_TW, 0x00288) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( TIGER_TW, 0x00289) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( CARD_BOARD_TW, 0x0028a) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( MARS_TW, 0x0028b) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( FRUIT_TW, 0x0028c) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( CPLAY_HAL_TW, 0x0028d) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( CPLAY_NCL_TW, 0x0028e) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( SAFE_MODE_MSET_TW, 0x0028F) + + +#if 0 +# Shared data title +#endif + +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( CERT, 0x00100) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( MII, 0x00102) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( NGWORD, 0x00103) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( COUNTRY_REGION, 0x00104) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( SSID, 0x00105) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( CERT_DATASTORAGE, 0x00106) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( APP_COMPATIBILITY_INFO, 0x00107) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( DICTIONARY_CHI_CH, 0x00110) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( DICTIONARY_CHI_TW, 0x00111) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( DICTIONARY_DUT, 0x00112) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( DICTIONARY_ENG_EU, 0x00113) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( DICTIONARY_ENG_US, 0x00114) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( DICTIONARY_FRE_EU, 0x00115) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( DICTIONARY_FRE_US, 0x00116) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( DICTIONARY_GER, 0x00117) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( DICTIONARY_ITA, 0x00118) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( DICTIONARY_JPN, 0x00119) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( DICTIONARY_KOR, 0x0011a) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( DICTIONARY_POR_EU, 0x0011b) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( DICTIONARY_RUS, 0x0011c) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( DICTIONARY_SPA, 0x0011d) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( DICTIONARY_POR_US, 0x0011e) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( ERROR_MESSAGE_EU, 0x00121) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( ERROR_MESSAGE_JP, 0x00122) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( ERROR_MESSAGE_US, 0x00123) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( ERROR_MESSAGE_CN, 0x00124) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( ERROR_MESSAGE_KR, 0x00125) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( ERROR_MESSAGE_TW, 0x00126) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( EULA_EU, 0x00131) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( EULA_JP, 0x00132) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( EULA_US, 0x00133) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( EULA_CN, 0x00134) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( EULA_KR, 0x00135) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( EULA_TW, 0x00136) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( FONT_STD, 0x00140) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( FONT_CN, 0x00141) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( FONT_KR, 0x00142) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( FONT_TW, 0x00143) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( RATING_ICON_EU, 0x00151) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( RATING_ICON_JP, 0x00152) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( RATING_ICON_US, 0x00153) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( RATING_ICON_CN, 0x00154) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( RATING_ICON_KR, 0x00155) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( RATING_ICON_TW, 0x00156) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( NUP_VERSION_EU, 0x00161) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( NUP_VERSION_JP, 0x00162) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( NUP_VERSION_US, 0x00163) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( NUP_VERSION_CN, 0x00164) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( NUP_VERSION_KR, 0x00165) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( NUP_VERSION_TW, 0x00166) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( CUP_VERSION_EU, 0x00171) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( CUP_VERSION_JP, 0x00172) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( CUP_VERSION_US, 0x00173) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( CUP_VERSION_CN, 0x00174) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( CUP_VERSION_KR, 0x00175) +NN_CTR_CTR_UNIQUE_ID_INC_DEFINE_UNIQUE_ID( CUP_VERSION_TW, 0x00176) Index: include/nn/CTR/CTR_Version.inc =================================================================== --- include/nn/CTR/CTR_Version.inc (revision 34322) +++ include/nn/CTR/CTR_Version.inc (working copy) @@ -65,6 +65,7 @@ NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( CFG, 02) NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( NWM, 02) NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( DMNT, 02) +NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( DMNT_IS, 02) NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( NS, 02) NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( IR, 02) @@ -85,9 +86,11 @@ NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( MP, 02) NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( BOSS, 02) NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( NEWS, 02) +NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( RO, 02) NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( NATIVE_FIRM, 02) -NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( NATIVE_FIRM_MINOR, 27) +NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( NATIVE_FIRM_MINOR, 33) +NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( NATIVE_FIRM_MICRO, 00) NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( TWL_FIRM, 02) NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( AGB_FIRM, 02) @@ -140,8 +143,43 @@ NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( EBIRD_EU, 02) NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( NEWSLIST_EU, 02) +#if 0 +# System Applet for CHINA region (CN) +#endif +NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( SYSMENU_CN, 02) +NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( PHOTO_SHOT_CN, 02) +NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( MUSIC_PLAY_CN, 02) +NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( FRIENDLIST_CN, 02) +NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( CHERRY_CN, 02) +NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( SPIDER_CN, 02) +NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( EBIRD_CN, 02) +NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( NEWSLIST_CN, 02) #if 0 +# System Applet for KOREA region (KR) +#endif +NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( SYSMENU_KR, 02) +NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( PHOTO_SHOT_KR, 02) +NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( MUSIC_PLAY_KR, 02) +NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( FRIENDLIST_KR, 02) +NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( CHERRY_KR, 02) +NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( SPIDER_KR, 02) +NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( EBIRD_KR, 02) +NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( NEWSLIST_KR, 02) + +#if 0 +# System Applet for TAIWAN region (TW) +#endif +NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( SYSMENU_TW, 02) +NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( PHOTO_SHOT_TW, 02) +NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( MUSIC_PLAY_TW, 02) +NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( FRIENDLIST_TW, 02) +NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( CHERRY_TW, 02) +NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( SPIDER_TW, 02) +NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( EBIRD_TW, 02) +NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( NEWSLIST_TW, 02) + +#if 0 # Library Applet for JAPAN region (JP) #endif NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( KEYBOARD_L, 02) @@ -150,6 +188,8 @@ NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( PHOTO_SELECT_L, 02) NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( SOUND_SELECT_L, 02) NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( ERR_EULA_L, 02) +NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( AOC_L, 02) +NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( EXTRA_PAD_L, 02) #if 0 # Library Applet for AMERICA region (US) @@ -159,6 +199,7 @@ NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( PHOTO_SHOT_L_US, 02) NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( PHOTO_SELECT_L_US,02) NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( SOUND_SELECT_L_US,02) +NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( AOC_L_US, 02) #if 0 # Library Applet for EUROPE region (EU) @@ -168,25 +209,79 @@ NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( PHOTO_SHOT_L_EU, 02) NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( PHOTO_SELECT_L_EU,02) NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( SOUND_SELECT_L_EU,02) +NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( AOC_L_EU, 02) +#if 0 +# Library Applet for CHINA region (CN) +#endif +NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( KEYBOARD_L_CN, 02) +NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( MII_SELECT_L_CN, 02) +NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( PHOTO_SHOT_L_CN, 02) +NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( PHOTO_SELECT_L_CN,02) +NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( SOUND_SELECT_L_CN,02) +NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( ERR_EULA_L_CN, 02) +NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( AOC_L_CN, 02) +NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( EXTRA_PAD_L_CN, 02) #if 0 +# Library Applet for KOREA region (KR) +#endif +NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( KEYBOARD_L_KR, 02) +NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( MII_SELECT_L_KR, 02) +NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( PHOTO_SHOT_L_KR, 02) +NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( PHOTO_SELECT_L_KR,02) +NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( SOUND_SELECT_L_KR,02) +NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( AOC_L_KR, 02) + +#if 0 +# Library Applet for TAIWAN region (TW) +#endif +NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( KEYBOARD_L_TW, 02) +NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( MII_SELECT_L_TW, 02) +NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( PHOTO_SHOT_L_TW, 02) +NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( PHOTO_SELECT_L_TW,02) +NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( SOUND_SELECT_L_TW,02) +NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( AOC_L_TW, 02) + + +#if 0 # System Application for JAPAN region (JP) #endif NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( MSET, 00) +NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( TIGER, 00) #if 0 # System Application for AMERICA region (US) #endif NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( MSET_US, 00) +NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( TIGER_US, 00) #if 0 # System Application for EUROPE region (EU) #endif NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( MSET_EU, 00) +NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( TIGER_EU, 00) +#if 0 +# System Application for CHINA region (CN) +#endif +NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( MSET_CN, 00) +NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( TIGER_CN, 00) #if 0 +# System Application for KOREA region (KR) +#endif +NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( MSET_KR, 00) +NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( TIGER_KR, 00) + +#if 0 +# System Application for TAIWAN region (TW) +#endif +NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( MSET_TW, 00) +NN_CTR_CTR_VERSION_INC_DEFINE_VERSION( TIGER_TW, 00) + + +#if 0 # DESC #endif Index: include/nn/pl/CTR/pl_SharedDataTitleId.h =================================================================== --- include/nn/pl/CTR/pl_SharedDataTitleId.h (revision 34322) +++ include/nn/pl/CTR/pl_SharedDataTitleId.h (working copy) @@ -1,8 +1,8 @@ -/*---------------------------------------------------------------------------* +/*---------------------------------------------------------------------------* Project: Horizon File: pl_SharedDataTitleId.h - Copyright (C)2010 Nintendo Co., Ltd. All rights reserved. + Copyright (C)2009-2012 Nintendo Co., Ltd. All rights reserved. These coded instructions, statements, and computer programs contain proprietary information of Nintendo of America Inc. and/or Nintendo @@ -49,6 +49,7 @@ const ProgramId SHAREDDATA_TITLEID_NGWORD = NN_PL_CTR_PL_SHAREDDATATITLEID_H_MAKE_AUTO_UPDATE_CONTENT_PROGRAM_ID(0x103); const ProgramId SHAREDDATA_TITLEID_COUNTRY_REGION = NN_PL_CTR_PL_SHAREDDATATITLEID_H_MAKE_SHARED_CONTENT_PROGRAM_ID (0x104); const ProgramId SHAREDDATA_TITLEID_SSID = NN_PL_CTR_PL_SHAREDDATATITLEID_H_MAKE_AUTO_UPDATE_CONTENT_PROGRAM_ID(0x105); + const ProgramId SHAREDDATA_TITLEID_CERT_DATASTORAGE = NN_PL_CTR_PL_SHAREDDATATITLEID_H_MAKE_SHARED_CONTENT_PROGRAM_ID (0x106); const ProgramId SHAREDDATA_TITLEID_DICTIONARY_CHI_CH = NN_PL_CTR_PL_SHAREDDATATITLEID_H_MAKE_SHARED_CONTENT_PROGRAM_ID (0x110); const ProgramId SHAREDDATA_TITLEID_DICTIONARY_CHI_TW = NN_PL_CTR_PL_SHAREDDATATITLEID_H_MAKE_SHARED_CONTENT_PROGRAM_ID (0x111); const ProgramId SHAREDDATA_TITLEID_DICTIONARY_DUT = NN_PL_CTR_PL_SHAREDDATATITLEID_H_MAKE_SHARED_CONTENT_PROGRAM_ID (0x112); @@ -67,9 +68,15 @@ const ProgramId SHAREDDATA_TITLEID_ERROR_MESSAGE_EU = NN_PL_CTR_PL_SHAREDDATATITLEID_H_MAKE_SHARED_CONTENT_PROGRAM_ID (0x121); const ProgramId SHAREDDATA_TITLEID_ERROR_MESSAGE_JP = NN_PL_CTR_PL_SHAREDDATATITLEID_H_MAKE_SHARED_CONTENT_PROGRAM_ID (0x122); const ProgramId SHAREDDATA_TITLEID_ERROR_MESSAGE_US = NN_PL_CTR_PL_SHAREDDATATITLEID_H_MAKE_SHARED_CONTENT_PROGRAM_ID (0x123); + const ProgramId SHAREDDATA_TITLEID_ERROR_MESSAGE_CN = NN_PL_CTR_PL_SHAREDDATATITLEID_H_MAKE_SHARED_CONTENT_PROGRAM_ID (0x124); + const ProgramId SHAREDDATA_TITLEID_ERROR_MESSAGE_KR = NN_PL_CTR_PL_SHAREDDATATITLEID_H_MAKE_SHARED_CONTENT_PROGRAM_ID (0x125); + const ProgramId SHAREDDATA_TITLEID_ERROR_MESSAGE_TW = NN_PL_CTR_PL_SHAREDDATATITLEID_H_MAKE_SHARED_CONTENT_PROGRAM_ID (0x126); const ProgramId SHAREDDATA_TITLEID_EULA_EU = NN_PL_CTR_PL_SHAREDDATATITLEID_H_MAKE_SHARED_CONTENT_PROGRAM_ID (0x131); const ProgramId SHAREDDATA_TITLEID_EULA_JP = NN_PL_CTR_PL_SHAREDDATATITLEID_H_MAKE_SHARED_CONTENT_PROGRAM_ID (0x132); const ProgramId SHAREDDATA_TITLEID_EULA_US = NN_PL_CTR_PL_SHAREDDATATITLEID_H_MAKE_SHARED_CONTENT_PROGRAM_ID (0x133); + const ProgramId SHAREDDATA_TITLEID_EULA_CN = NN_PL_CTR_PL_SHAREDDATATITLEID_H_MAKE_SHARED_CONTENT_PROGRAM_ID (0x134); + const ProgramId SHAREDDATA_TITLEID_EULA_KR = NN_PL_CTR_PL_SHAREDDATATITLEID_H_MAKE_SHARED_CONTENT_PROGRAM_ID (0x135); + const ProgramId SHAREDDATA_TITLEID_EULA_TW = NN_PL_CTR_PL_SHAREDDATATITLEID_H_MAKE_SHARED_CONTENT_PROGRAM_ID (0x136); const ProgramId SHAREDDATA_TITLEID_FONT_STD = NN_PL_CTR_PL_SHAREDDATATITLEID_H_MAKE_SHARED_CONTENT_PROGRAM_ID (0x140); const ProgramId SHAREDDATA_TITLEID_FONT_CN = NN_PL_CTR_PL_SHAREDDATATITLEID_H_MAKE_SHARED_CONTENT_PROGRAM_ID (0x141); const ProgramId SHAREDDATA_TITLEID_FONT_KR = NN_PL_CTR_PL_SHAREDDATATITLEID_H_MAKE_SHARED_CONTENT_PROGRAM_ID (0x142); @@ -77,12 +84,21 @@ const ProgramId SHAREDDATA_TITLEID_RATING_ICON_EU = NN_PL_CTR_PL_SHAREDDATATITLEID_H_MAKE_SHARED_CONTENT_PROGRAM_ID (0x151); const ProgramId SHAREDDATA_TITLEID_RATING_ICON_JP = NN_PL_CTR_PL_SHAREDDATATITLEID_H_MAKE_SHARED_CONTENT_PROGRAM_ID (0x152); const ProgramId SHAREDDATA_TITLEID_RATING_ICON_US = NN_PL_CTR_PL_SHAREDDATATITLEID_H_MAKE_SHARED_CONTENT_PROGRAM_ID (0x153); + const ProgramId SHAREDDATA_TITLEID_RATING_ICON_CN = NN_PL_CTR_PL_SHAREDDATATITLEID_H_MAKE_SHARED_CONTENT_PROGRAM_ID (0x154); + const ProgramId SHAREDDATA_TITLEID_RATING_ICON_KR = NN_PL_CTR_PL_SHAREDDATATITLEID_H_MAKE_SHARED_CONTENT_PROGRAM_ID (0x155); + const ProgramId SHAREDDATA_TITLEID_RATING_ICON_TW = NN_PL_CTR_PL_SHAREDDATATITLEID_H_MAKE_SHARED_CONTENT_PROGRAM_ID (0x156); const ProgramId SHAREDDATA_TITLEID_NUP_VERSION_EU = NN_PL_CTR_PL_SHAREDDATATITLEID_H_MAKE_AUTO_UPDATE_CONTENT_PROGRAM_ID(0x161); const ProgramId SHAREDDATA_TITLEID_NUP_VERSION_JP = NN_PL_CTR_PL_SHAREDDATATITLEID_H_MAKE_AUTO_UPDATE_CONTENT_PROGRAM_ID(0x162); const ProgramId SHAREDDATA_TITLEID_NUP_VERSION_US = NN_PL_CTR_PL_SHAREDDATATITLEID_H_MAKE_AUTO_UPDATE_CONTENT_PROGRAM_ID(0x163); + const ProgramId SHAREDDATA_TITLEID_NUP_VERSION_CN = NN_PL_CTR_PL_SHAREDDATATITLEID_H_MAKE_AUTO_UPDATE_CONTENT_PROGRAM_ID(0x164); + const ProgramId SHAREDDATA_TITLEID_NUP_VERSION_KR = NN_PL_CTR_PL_SHAREDDATATITLEID_H_MAKE_AUTO_UPDATE_CONTENT_PROGRAM_ID(0x165); + const ProgramId SHAREDDATA_TITLEID_NUP_VERSION_TW = NN_PL_CTR_PL_SHAREDDATATITLEID_H_MAKE_AUTO_UPDATE_CONTENT_PROGRAM_ID(0x166); const ProgramId SHAREDDATA_TITLEID_CUP_VERSION_EU = NN_PL_CTR_PL_SHAREDDATATITLEID_H_MAKE_AUTO_UPDATE_CONTENT_PROGRAM_ID(0x171); const ProgramId SHAREDDATA_TITLEID_CUP_VERSION_JP = NN_PL_CTR_PL_SHAREDDATATITLEID_H_MAKE_AUTO_UPDATE_CONTENT_PROGRAM_ID(0x172); const ProgramId SHAREDDATA_TITLEID_CUP_VERSION_US = NN_PL_CTR_PL_SHAREDDATATITLEID_H_MAKE_AUTO_UPDATE_CONTENT_PROGRAM_ID(0x173); + const ProgramId SHAREDDATA_TITLEID_CUP_VERSION_CN = NN_PL_CTR_PL_SHAREDDATATITLEID_H_MAKE_AUTO_UPDATE_CONTENT_PROGRAM_ID(0x174); + const ProgramId SHAREDDATA_TITLEID_CUP_VERSION_KR = NN_PL_CTR_PL_SHAREDDATATITLEID_H_MAKE_AUTO_UPDATE_CONTENT_PROGRAM_ID(0x175); + const ProgramId SHAREDDATA_TITLEID_CUP_VERSION_TW = NN_PL_CTR_PL_SHAREDDATATITLEID_H_MAKE_AUTO_UPDATE_CONTENT_PROGRAM_ID(0x176); } // end of namespace CTR } // end of namespace pl Index: include/nn/pl/CTR/pl_Version.h =================================================================== --- include/nn/pl/CTR/pl_Version.h (revision 34322) +++ include/nn/pl/CTR/pl_Version.h (working copy) @@ -1,8 +1,8 @@ -/*---------------------------------------------------------------------------* +/*---------------------------------------------------------------------------* Project: Horizon File: pl_Version.h - Copyright (C)2010 Nintendo Co., Ltd. All rights reserved. + Copyright (C)2009-2013 Nintendo Co., Ltd. All rights reserved. These coded instructions, statements, and computer programs contain proprietary information of Nintendo of America Inc. and/or Nintendo @@ -40,7 +40,9 @@ u8 majorVersion; // メジャーバージョン u8 reserved1; char region; // J:日本、U:北米、E:欧州・豪州、… - u8 reserved2[3]; + u8 snakeMicroVersion; // snake用 マイクロバージョン(非表示) + u8 snakeMinorVersion; // snake用 マイナーバージョン + u8 snakeMajorVersion; // snake用 メジャーバージョン }; /*!