From a1473a1b025c8e36a414de9b231c6cfa3200e297 Mon Sep 17 00:00:00 2001 From: yosiokat Date: Wed, 23 Jan 2008 04:39:19 +0000 Subject: [PATCH] =?UTF-8?q?=E3=83=BBSDK3765=E3=81=AB=E5=AF=BE=E5=BF=9C?= =?UTF-8?q?=E3=80=82=20=E3=83=BBmountInfo=E3=81=AE=E3=83=90=E3=82=B0?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E3=80=82=20=E3=80=80titleID=E3=81=AE?= =?UTF-8?q?=E5=87=A6=E7=90=86=E3=82=92u64=E3=81=A7=E8=A1=8C=E3=81=86?= =?UTF-8?q?=E3=82=88=E3=81=86=E4=BF=AE=E6=AD=A3=E3=80=82?= 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@503 b08762b0-b915-fc4b-9d8c-17b2551a87ff --- .../hotsw/ARM7/include/hotswTypes.h | 2 +- .../sysmenu/ARM9/include/internal_api.h | 7 ++++ .../sysmenu/ARM9/src/device.c | 2 +- .../sysmenu/ARM9/src/mountInfo.c | 38 +++++++++---------- 4 files changed, 26 insertions(+), 23 deletions(-) diff --git a/build/libraries_sysmenu/hotsw/ARM7/include/hotswTypes.h b/build/libraries_sysmenu/hotsw/ARM7/include/hotswTypes.h index f8f406d9..c618e494 100644 --- a/build/libraries_sysmenu/hotsw/ARM7/include/hotswTypes.h +++ b/build/libraries_sysmenu/hotsw/ARM7/include/hotswTypes.h @@ -23,7 +23,7 @@ extern "C" { // Define ------------------------------------------------------------------- -//#define HOTSW_NO_MESSAGE +#define HOTSW_NO_MESSAGE // Printf抑制スイッチ #ifdef HOTSW_NO_MESSAGE #define OS_TPrintf( ... ) ((void)0) diff --git a/build/libraries_sysmenu/sysmenu/ARM9/include/internal_api.h b/build/libraries_sysmenu/sysmenu/ARM9/include/internal_api.h index 5cdda1f6..c6436318 100644 --- a/build/libraries_sysmenu/sysmenu/ARM9/include/internal_api.h +++ b/build/libraries_sysmenu/sysmenu/ARM9/include/internal_api.h @@ -24,6 +24,13 @@ extern "C" { #endif +//#define SYSM_LIB_NO_MESSAGE // Printf抑制スイッチ + +#ifdef SYSM_LIB_NO_MESSAGE +#define OS_Printf( ... ) ((void)0) +#define OS_TPrintf( ... ) ((void)0) +#define OS_PutString( ... ) ((void)0) +#endif //------------------------------------------------------- diff --git a/build/libraries_sysmenu/sysmenu/ARM9/src/device.c b/build/libraries_sysmenu/sysmenu/ARM9/src/device.c index 52149cf5..93b732ad 100644 --- a/build/libraries_sysmenu/sysmenu/ARM9/src/device.c +++ b/build/libraries_sysmenu/sysmenu/ARM9/src/device.c @@ -68,7 +68,7 @@ void SYSM_CaribrateTP( void ) store.data.raw_x1, store.data.raw_y1, (u16)store.data.dx1, (u16)store.data.dy1, store.data.raw_x2, store.data.raw_y2, (u16)store.data.dx2, (u16)store.data.dy2 ); TP_SetCalibrateParam( &calibParam ); - OS_Printf("TP_calib: %4d %4d %4d %4d %4d %4d\n", + OS_TPrintf("TP_calib: %4d %4d %4d %4d %4d %4d\n", store.data.raw_x1, store.data.raw_y1, (u16)store.data.dx1, (u16)store.data.dy1, store.data.raw_x2, store.data.raw_y2, (u16)store.data.dx2, (u16)store.data.dy2 ); } diff --git a/build/libraries_sysmenu/sysmenu/ARM9/src/mountInfo.c b/build/libraries_sysmenu/sysmenu/ARM9/src/mountInfo.c index 8a4d7e28..7de6e4ee 100644 --- a/build/libraries_sysmenu/sysmenu/ARM9/src/mountInfo.c +++ b/build/libraries_sysmenu/sysmenu/ARM9/src/mountInfo.c @@ -25,12 +25,12 @@ #define PRV_SAVE_DATA_MOUNT_INDEX 5 // プライベートセーブデータの s_defaultMountInfo リストインデックス #define PUB_SAVE_DATA_MOUNT_INDEX 6 // パブリック セーブデータの s_defaultMountInfo リストインデックス -#define TITLEID_HI_APP_SYS_FLAG_SHIFT 0 -#define TITLEID_HI_NOT_LAUNCH_FLAG_SHIFT 1 -#define TITLEID_HI_MEDIA_NAND_FLAG_SHIFT 2 -#define TITLEID_HI_APP_SYS_FLAG ( 1 << TITLEID_HI_APP_SYS_FLAG_SHIFT ) -#define TITLEID_HI_NOT_LAUNCH_FLAG ( 1 << TITLEID_HI_NOT_LAUNCH_FLAG_SHIFT ) -#define TITLEID_HI_MEDIA_NAND_FLAG ( 1 << TITLEID_HI_MEDIA_NAND_FLAG_SHIFT ) +#define TITLEID_APP_SYS_FLAG_SHIFT ( 32 + 0 ) +#define TITLEID_NOT_LAUNCH_FLAG_SHIFT ( 32 + 1 ) +#define TITLEID_MEDIA_NAND_FLAG_SHIFT ( 32 + 2 ) +#define TITLEID_APP_SYS_FLAG ( 1ULL << TITLEID_APP_SYS_FLAG_SHIFT ) +#define TITLEID_NOT_LAUNCH_FLAG ( 1ULL << TITLEID_NOT_LAUNCH_FLAG_SHIFT ) +#define TITLEID_MEDIA_NAND_FLAG ( 1ULL << TITLEID_MEDIA_NAND_FLAG_SHIFT ) // extern data----------------------------------------------------------------- @@ -73,9 +73,6 @@ void SYSMi_SetLauncherMountInfo( void ) { NAMTitleId titleID = TITLE_ID_LAUNCHER; - // マウント情報のクリア - MI_CpuClearFast( (void *)HW_TWL_FS_MOUNT_INFO_BUF, HW_TWL_ROM_HEADER_BUF - HW_TWL_FS_MOUNT_INFO_BUF ); - // ※とりあえず自身はROMブートで。[TODO:]後で修正 // SYSMi_SetBootSRLPath( OS_BOOTTYPE_NAND, titleID ); // ※SDK2623では、BootSRLPathを"rom:"としたらFSi_InitRomArchiveでNANDアプリ扱いされてアクセス例外で落ちる。 @@ -95,9 +92,6 @@ void SYSMi_SetLauncherMountInfo( void ) // システム領域に、ブートするアプリのマウント情報を登録する void SYSMi_SetBootAppMountInfo( TitleProperty *pBootTitle ) { - // マウント情報のクリア - MI_CpuClearFast( (void *)HW_TWL_FS_MOUNT_INFO_BUF, HW_TWL_ROM_HEADER_BUF - HW_TWL_FS_MOUNT_INFO_BUF ); - // アプリがTWL対応でない場合は、何もセットせずにリターン if( ( (( ROM_Header_Short *)HW_TWL_ROM_HEADER_BUF)->platform_code ) == 0 ) { return; @@ -111,6 +105,7 @@ void SYSMi_SetBootAppMountInfo( TitleProperty *pBootTitle ) SYSMi_ModifySaveDataMount( (OSBootType)pBootTitle->flags.bootType, pBootTitle->titleID, &s_defaultMountList[ PRV_SAVE_DATA_MOUNT_INDEX ] ); + // マウント情報のセット SYSMi_SetMountInfoCore( (OSBootType)pBootTitle->flags.bootType, pBootTitle->titleID, @@ -148,8 +143,10 @@ static void SYSMi_SetBootSRLPath( OSBootType bootType, NAMTitleId titleID ) if( path[ 0 ] ) { STD_CopyLStringZeroFill( (char *)HW_TWL_FS_BOOT_SRL_PATH_BUF, path, OS_MOUNT_PATH_LEN ); + }else { + MI_CpuClearFast( (void *)HW_TWL_FS_BOOT_SRL_PATH_BUF, OS_MOUNT_PATH_LEN ); } -// OS_TPrintf( "boot path : %s\n", (char *)HW_TWL_FS_BOOT_SRL_PATH_BUF ); // ※今はOS_Init前で呼ばれるので、Printfできない。 + OS_TPrintf( "boot SRL path : %s\n", (char *)HW_TWL_FS_BOOT_SRL_PATH_BUF ); // ※OS_Init前で呼ぶとPrintfできないので注意。 } @@ -159,11 +156,12 @@ static void SYSMi_SetMountInfoCore( OSBootType bootType, NAMTitleId titleID, OSM #pragma unused(bootType) int i; - u32 titleID_Hi = (u32)( titleID >> 32 ); // u64で論理演算はできない? OSMountInfo *pDst = (OSMountInfo *)HW_TWL_FS_MOUNT_INFO_BUF; + MI_CpuClearFast( (void *)HW_TWL_FS_MOUNT_INFO_BUF, HW_TWL_FS_BOOT_SRL_PATH_BUF - HW_TWL_FS_MOUNT_INFO_BUF ); + // ユーザーアプリの場合、"nand:", "nand2:"アーカイブを変更。 - if( ( titleID_Hi & TITLEID_HI_APP_SYS_FLAG ) == 0 ) { + if( ( titleID & TITLEID_APP_SYS_FLAG ) == 0 ) { pSrc[ 1 ].userPermission = 0; // "nand:" pSrc[ 2 ].userPermission = 0; // "nand2:" } @@ -190,15 +188,14 @@ static void SYSMi_SetMountInfoCore( OSBootType bootType, NAMTitleId titleID, OSM static void SYSMi_ModifySaveDataMount( OSBootType bootType, NAMTitleId titleID, OSMountInfo *pMountTgt ) { int i; - u32 titleID_Hi = (u32)( titleID >> 32 ); // u64で論理演算はできない? // ※カードからブートされた場合でも、titleIDが"NANDアプリ"の場合は、セーブデータをマウントするようにしている。 // セーブデータ有無を判定して、パスをセット if( ( ( bootType == OS_BOOTTYPE_NAND ) && // NANDアプリがNANDからブートされた時 - ( titleID_Hi & TITLEID_HI_MEDIA_NAND_FLAG ) ) || + ( titleID & TITLEID_MEDIA_NAND_FLAG ) ) || ( ( bootType == OS_BOOTTYPE_ROM ) && // ISデバッガ上で、NANDアプリがROM からブートされた時 - ( titleID_Hi & TITLEID_HI_MEDIA_NAND_FLAG ) && + ( titleID & TITLEID_MEDIA_NAND_FLAG ) && ( SYSMi_GetWork()->isOnDebugger ) ) ) { char saveFilePath[ 2 ][ FS_ENTRY_LONGNAME_MAX ]; @@ -235,15 +232,14 @@ static void SYSMi_ModifySaveDataMount( OSBootType bootType, NAMTitleId titleID, static void SYSMi_ModifySaveDataMountForLauncher( OSBootType bootType, NAMTitleId titleID, OSMountInfo *pMountTgt ) { int i; - u32 titleID_Hi = (u32)( titleID >> 32 ); // u64で論理演算はできない? // ※カードからブートされた場合でも、titleIDが"NANDアプリ"の場合は、セーブデータをマウントするようにしている。 // セーブデータ有無を判定して、パスをセット if( ( ( bootType == OS_BOOTTYPE_NAND ) && // NANDアプリがNANDからブートされた時 - ( titleID_Hi & TITLEID_HI_MEDIA_NAND_FLAG ) ) || + ( titleID & TITLEID_MEDIA_NAND_FLAG ) ) || ( ( bootType == OS_BOOTTYPE_ROM ) && // ISデバッガ上で、NANDアプリがROM からブートされた時 - ( titleID_Hi & TITLEID_HI_MEDIA_NAND_FLAG ) && + ( titleID & TITLEID_MEDIA_NAND_FLAG ) && ( SYSMi_GetWork()->isOnDebugger ) ) ) { char saveFilePath[ 2 ][ FS_ENTRY_LONGNAME_MAX ];