diff --git a/build/libraries_sysmenu/sysmenu/ARM9/Makefile b/build/libraries_sysmenu/sysmenu/ARM9/Makefile index 41d35031..4a3123e1 100644 --- a/build/libraries_sysmenu/sysmenu/ARM9/Makefile +++ b/build/libraries_sysmenu/sysmenu/ARM9/Makefile @@ -31,7 +31,6 @@ SRCS = sysmenu_lib.c sysmenu_card.c sysmenu_util.c gameBoot.c ninLogoFunc.c cm TARGET_LIB = libsysmenu$(TWL_LIBSUFFIX).a - include $(TWLIPL_ROOT)/build/buildtools/commondefs INSTALL_TARGETS = $(TARGETS) diff --git a/build/libraries_sysmenu/sysmenu/ARM9/src/sysmenu_lib.c b/build/libraries_sysmenu/sysmenu/ARM9/src/sysmenu_lib.c index 8b40ee0e..191160ad 100644 --- a/build/libraries_sysmenu/sysmenu/ARM9/src/sysmenu_lib.c +++ b/build/libraries_sysmenu/sysmenu/ARM9/src/sysmenu_lib.c @@ -16,6 +16,7 @@ *---------------------------------------------------------------------------*/ #include +#include #include #include "sysmenu_define.h" #include "sysmenu_card.h" @@ -27,6 +28,8 @@ #define SCREEN_RED 0 #define SCREEN_YELLOW 1 +#define TITLE_ID_BUF_SIZE 40 + typedef struct BannerCheckParam { u8 *srcp; u32 size; @@ -115,6 +118,16 @@ static inline void DBG_SetRed(u32 y_pos) // function's description // ============================================================================ +static void * AllocForNAM(unsigned long size) +{ + return OS_AllocFromHeap( OS_ARENA_MAIN, OS_CURRENT_HEAP_HANDLE, size ); +} + +static void FreeForNAM(void *p) +{ + OS_FreeToHeap( OS_ARENA_MAIN, OS_CURRENT_HEAP_HANDLE, p); +} + // SystemMenuの初期化 void SYSM_Init( void ) { @@ -135,6 +148,9 @@ void SYSM_Init( void ) // ※ISデバッガかどうかの判定。 BootROMからのパラメータ引渡し? SYSMi_WaitInitARM7(); + + //NAMの初期化 + NAM_Init(AllocForNAM,FreeForNAM); } @@ -183,12 +199,27 @@ int SYSM_GetCardTitleList( TitleProperty *pTitleList_Card ) } -int SYSM_GetNandTitleList( TitleProperty *pTitleList_Nand ) +int SYSM_GetNandTitleList( TitleProperty *pTitleList_Nand, int size) { -#pragma unused( pTitleList_Nand ) // filter_flag : ALL, ALL_APP, SYS_APP, USER_APP, Data only, 等の条件を指定してタイトルリストを取得する。 - // return : *TitleProperty Array - return 0; + int l; + int gotten; + NAMTitleId titleIdArray[TITLE_ID_BUF_SIZE]; + gotten = NAM_GetTitleList(titleIdArray, TITLE_ID_BUF_SIZE); + for(l=0;l 0 ); + size = CMN_LoadFile( (void **)&nobanner_banner, "data/NoBanner.bnr", &g_allocator); + NNS_G2D_ASSERT( size > 0 ); size = CMN_LoadFile( (void **)&card_banner, "data/CardBanner.bnr", &g_allocator); NNS_G2D_ASSERT( size > 0 ); - size = CMN_LoadFile( (void **)&pictochat_banner, "data/PictochatBanner.bnr", &g_allocator); - NNS_G2D_ASSERT( size > 0 ); size = CMN_LoadFile( (void **)&download_banner, "data/DownloadBanner.bnr", &g_allocator); NNS_G2D_ASSERT( size > 0 ); - size = CMN_LoadFile( (void **)&setting_banner, "data/SettingBanner.bnr", &g_allocator); - NNS_G2D_ASSERT( size > 0 ); } // パレットの読み込みやOBJ関係の初期化 @@ -167,8 +162,9 @@ static void BannerInit() 0, // charactor 0, // palette 0); // affine - DC_FlushRange(&banner_oam_attr[l], sizeof(banner_oam_attr[l])); } + G2_SetOBJEffect(&banner_oam_attr[2], GX_OAM_EFFECT_AFFINE_DOUBLE, 0); + DC_FlushRange(&banner_oam_attr, sizeof(banner_oam_attr)); } // 活線挿抜対応のため、毎回VRAMへのイメージデータロード判定をしている @@ -177,18 +173,18 @@ static void BannerDraw(int cursor, int selected, TitleProperty *titleprop) static int count = 0; int l; - // TitleProperty……本来は外部から取得 + // TitleProperty弄り for(l=0;lv1.gameName[GetNCDWork()->option.language]; @@ -279,8 +291,6 @@ void LauncherInit( TitleProperty *pTitleList ) // ランチャーメイン TitleProperty *LauncherMain( TitleProperty *pTitleList ) { -#pragma unused( pTitleList ) - static BOOL touch_bl = FALSE; BOOL tp_bl_on_off = FALSE; BOOL tp_select = FALSE; @@ -336,7 +346,7 @@ TitleProperty *LauncherMain( TitleProperty *pTitleList ) // DrawMenu( s_csr, &s_launcherParam ); #ifdef DBGBNR - BannerDraw( s_csr, selected, NULL ); + BannerDraw( s_csr, selected, pTitleList ); #endif if( ( pad.trg & PAD_BUTTON_A ) || ( tp_select ) ) { // メニュー項目への分岐 diff --git a/build/systemMenu_RED/Launcher/ARM9/src/launcher.h b/build/systemMenu_RED/Launcher/ARM9/src/launcher.h index fd63c322..a2120e2f 100644 --- a/build/systemMenu_RED/Launcher/ARM9/src/launcher.h +++ b/build/systemMenu_RED/Launcher/ARM9/src/launcher.h @@ -26,6 +26,7 @@ extern "C" { #endif // define data---------------------------------------------------------- +#define TITLE_PROPERTY_NUM 40 // global variables-------------------------------------------------- diff --git a/build/systemMenu_RED/Launcher/ARM9/src/main.c b/build/systemMenu_RED/Launcher/ARM9/src/main.c index 6d7dc103..b32dd269 100644 --- a/build/systemMenu_RED/Launcher/ARM9/src/main.c +++ b/build/systemMenu_RED/Launcher/ARM9/src/main.c @@ -59,7 +59,7 @@ void TwlMain( void ) }; u32 state = START; TitleProperty *pBootTitle = NULL; - TitleProperty *pTitleList = NULL; + TitleProperty pTitleList[TITLE_PROPERTY_NUM]; OS_Init(); @@ -98,7 +98,7 @@ void TwlMain( void ) // FS_ReadSharedContentFile( ContentID ); // NANDアプリリストの取得---------- - (void)SYSM_GetNandTitleList( pTitleList ); + (void)SYSM_GetNandTitleList( pTitleList, TITLE_PROPERTY_NUM ); while( 1 ) { OS_WaitIrq(1, OS_IE_V_BLANK); // Vブランク割り込み待ち diff --git a/build/systemMenu_RED/data/EmptyBanner.bnr b/build/systemMenu_RED/data/EmptyBanner.bnr index 35bb2e40..9a4757f3 100644 Binary files a/build/systemMenu_RED/data/EmptyBanner.bnr and b/build/systemMenu_RED/data/EmptyBanner.bnr differ diff --git a/build/systemMenu_RED/data/PictoChatBanner.bnr b/build/systemMenu_RED/data/NoBanner.bnr similarity index 58% rename from build/systemMenu_RED/data/PictoChatBanner.bnr rename to build/systemMenu_RED/data/NoBanner.bnr index 87072f9a..6d640e83 100644 Binary files a/build/systemMenu_RED/data/PictoChatBanner.bnr and b/build/systemMenu_RED/data/NoBanner.bnr differ diff --git a/build/systemMenu_RED/data/SettingBanner.bnr b/build/systemMenu_RED/data/SettingBanner.bnr deleted file mode 100644 index e1f6218e..00000000 Binary files a/build/systemMenu_RED/data/SettingBanner.bnr and /dev/null differ diff --git a/include/sysmenu/sysmenu_lib/ARM9/sysmenu_api.h b/include/sysmenu/sysmenu_lib/ARM9/sysmenu_api.h index db5e09b6..a5d2c550 100644 --- a/include/sysmenu/sysmenu_lib/ARM9/sysmenu_api.h +++ b/include/sysmenu/sysmenu_lib/ARM9/sysmenu_api.h @@ -62,7 +62,7 @@ extern void SYSM_Init( void ); extern BOOL SYSM_IsLogoDemoSkip( void ); extern void SYSM_CaribrateTP( void ); extern int SYSM_GetCardTitleList( TitleProperty *pTitleList_Card ); -extern int SYSM_GetNandTitleList( TitleProperty *pTitleList_Nand ); +extern int SYSM_GetNandTitleList( TitleProperty *pTitleList_Nand, int size ); extern AuthResult SYSM_LoadAndAuthenticateTitle( TitleProperty *pBootTitle ); extern void SYSM_Finalize( void );