mirror of
https://github.com/rvtr/TwlIPL.git
synced 2025-10-31 06:01:12 -04:00
FSライブラリの内部メモリ設定方法の変更に対応
git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@1795 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
parent
e76216fdb7
commit
b2b334015f
@ -17,6 +17,8 @@
|
||||
#include <firm.h>
|
||||
#include <es.h>
|
||||
|
||||
//#define PROFILE_ES 0x02FFCB00
|
||||
|
||||
// bootContent ‚ð•\‚·“ÁŽê‚È contentIndex
|
||||
#define CONTENT_INDEX_BOOT 0xFFFF
|
||||
|
||||
@ -34,11 +36,26 @@
|
||||
*---------------------------------------------------------------------------*/
|
||||
void FS_InitFIRM( void )
|
||||
{
|
||||
FSiTemporaryBuffer = (void*)HW_FIRM_FS_TEMP_BUFFER;
|
||||
FATFS_InitFIRM();
|
||||
FS_Init( FS_DMA_NOT_USE );
|
||||
}
|
||||
|
||||
/*---------------------------------------------------------------------------*
|
||||
Name: FSi_SetupFATBuffers
|
||||
|
||||
Description: override weak function
|
||||
|
||||
Arguments:
|
||||
|
||||
Returns: None
|
||||
*---------------------------------------------------------------------------*/
|
||||
void FSi_SetupFATBuffers(void)
|
||||
{
|
||||
FSiFATFSDrive = (void*)HW_FIRM_FS_FATFS_DRIVE;
|
||||
FSiFATFSAsyncRequest = (void*)HW_FIRM_FS_FATFS_ASYNC_REQUEST;
|
||||
FSiTemporaryBuffer = (void*)HW_FIRM_FS_TEMP_BUFFER;
|
||||
}
|
||||
|
||||
/*---------------------------------------------------------------------------*
|
||||
Name: FSi_OverrideRomArchive
|
||||
|
||||
@ -241,32 +258,42 @@ BOOL FS_ResolveSrl( OSTitleId titleId )
|
||||
int FS_ResolveSrlList( const OSTitleId* titleIdList, u32 nums )
|
||||
{
|
||||
int i;
|
||||
OSTick tick[8];
|
||||
char*ptr=(char*)0x02FFCB00;
|
||||
tick[0] = OS_GetTick();
|
||||
#ifdef PROFILE_ES
|
||||
OSTick tick[8];
|
||||
char*ptr=(char*)PROFILE_ES;
|
||||
tick[0] = OS_GetTick();
|
||||
#endif
|
||||
MI_CpuClearFast( (char*)HW_TWL_FS_BOOT_SRL_PATH_BUF, HW_FIRM_FS_BOOT_SRL_PATH_BUF_SIZE );
|
||||
tick[1] = OS_GetTick();
|
||||
#ifdef PROFILE_ES
|
||||
tick[1] = OS_GetTick();
|
||||
#endif
|
||||
if ( !titleIdList || !nums || ES_ERR_OK != ES_InitLib() )
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
for ( i = 0; i < nums; i++ )
|
||||
{
|
||||
tick[2+i] = OS_GetTick();
|
||||
#ifdef PROFILE_ES
|
||||
tick[2+i] = OS_GetTick();
|
||||
#endif
|
||||
if ( ES_ERR_OK == ES_GetContentPath(titleIdList[i], CONTENT_INDEX_BOOT, (char*)HW_TWL_FS_BOOT_SRL_PATH_BUF) )
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
tick[3+i] = OS_GetTick();
|
||||
#ifdef PROFILE_ES
|
||||
tick[3+i] = OS_GetTick();
|
||||
#endif
|
||||
if ( ES_ERR_OK != ES_CloseLib() )
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
tick[4+i] = OS_GetTick();
|
||||
tick[5+i] = tick[4+i];
|
||||
for(i=0;i<7;i++)
|
||||
ptr+=STD_TSPrintf(ptr, "tick[%d]:%d\n",i,(int)OS_TicksToMicroSeconds(tick[i+1]-tick[i]));
|
||||
#ifdef PROFILE_ES
|
||||
tick[4+i] = OS_GetTick();
|
||||
tick[5+i] = tick[4+i];
|
||||
for(i=0;i<7;i++)
|
||||
ptr+=STD_TSPrintf(ptr, "tick[%d]:%d\n",i,(int)OS_TicksToMicroSeconds(tick[i+1]-tick[i]));
|
||||
#endif
|
||||
return (i == nums ? -1 : i);
|
||||
}
|
||||
|
||||
|
||||
@ -24,6 +24,8 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define HW_FIRM_ROUNDUP32(x) ( ((x) + 31) & -32 )
|
||||
|
||||
//------------------------------------- *_LoadBuffer
|
||||
#define HW_FIRM_LOAD_BUFFER_BASE MI_GetWramMapStart_B()
|
||||
#define HW_FIRM_LOAD_BUFFER_UNIT_SIZE 0x8000
|
||||
@ -35,13 +37,21 @@ extern "C" {
|
||||
#define HW_FIRM_FS_MOUNT_INFO_BUF_SIZE (HW_TWL_FS_BOOT_SRL_PATH_BUF - HW_TWL_FS_MOUNT_INFO_BUF)
|
||||
#define HW_FIRM_FS_BOOT_SRL_PATH_BUF_SIZE (HW_TWL_ROM_HEADER_BUF - HW_TWL_FS_BOOT_SRL_PATH_BUF)
|
||||
|
||||
#define HW_FIRM_FATFS_ARCHNAME_LIST (HW_FIRM_FATFS_ARCHNAME_LIST_END - HW_FIRM_FATFS_ARCHNAME_LIST_SIZE)
|
||||
#define HW_FIRM_FATFS_ARCHNAME_LIST_SIZE MATH_ROUNDUP(OS_MOUNT_ARCHIVE_NAME_LEN * OS_MOUNT_INFO_MAX + 1, 32) // 0xC0
|
||||
#define HW_FIRM_FATFS_ARCHNAME_LIST_END HW_FIRM_FATFS_COMMAND_BUFFER // 0x02ff5800
|
||||
#define HW_FIRM_FATFS_ARCHNAME_LIST (HW_FIRM_FATFS_ARCHNAME_LIST_END - HW_FIRM_FATFS_ARCHNAME_LIST_SIZE) // 0x02fee120
|
||||
#define HW_FIRM_FATFS_ARCHNAME_LIST_SIZE MATH_ROUNDUP(OS_MOUNT_ARCHIVE_NAME_LEN * OS_MOUNT_INFO_MAX + 1, 32) // 0xc0
|
||||
#define HW_FIRM_FATFS_ARCHNAME_LIST_END HW_FIRM_FATFS_COMMAND_BUFFER // 0x2fee1e0
|
||||
|
||||
#define HW_FIRM_FATFS_COMMAND_BUFFER (HW_FIRM_FATFS_COMMAND_BUFFER_END - HW_FIRM_FATFS_COMMAND_BUFFER_SIZE)
|
||||
#define HW_FIRM_FATFS_COMMAND_BUFFER_SIZE FATFS_COMMAND_BUFFER_MAX // 0x1000
|
||||
#define HW_FIRM_FATFS_COMMAND_BUFFER_END HW_FIRM_FS_TEMP_BUFFER // 0x02ff6800
|
||||
#define HW_FIRM_FATFS_COMMAND_BUFFER_END HW_FIRM_FS_FATFS_DRIVE // 0x2fef1e0
|
||||
|
||||
#define HW_FIRM_FS_FATFS_DRIVE (HW_FIRM_FS_FATFS_DRIVE_END - HW_FIRM_FS_FATFS_DRIVE_SIZE)
|
||||
#define HW_FIRM_FS_FATFS_DRIVE_SIZE HW_FIRM_ROUNDUP32(sizeof(FSFATFSArchiveContext[FS_MOUNTDRIVE_MAX])) // 0x1cc0
|
||||
#define HW_FIRM_FS_FATFS_DRIVE_END HW_FIRM_FS_FATFS_ASYNC_REQUEST // 0x02ff0ea0
|
||||
|
||||
#define HW_FIRM_FS_FATFS_ASYNC_REQUEST (HW_FIRM_FS_FATFS_ASYNC_REQUEST_END - HW_FIRM_FS_FATFS_ASYNC_REQUEST_SIZE)
|
||||
#define HW_FIRM_FS_FATFS_ASYNC_REQUEST_SIZE HW_FIRM_ROUNDUP32(sizeof(FATFSRequestBuffer[FS_MOUNTDRIVE_MAX])) // 0x5960
|
||||
#define HW_FIRM_FS_FATFS_ASYNC_REQUEST_END HW_FIRM_FS_TEMP_BUFFER // 0x02ff6800
|
||||
|
||||
#define HW_FIRM_FS_TEMP_BUFFER (HW_FIRM_FS_TEMP_BUFFER_END - HW_FIRM_FS_TEMP_BUFFER_SIZE)
|
||||
#define HW_FIRM_FS_TEMP_BUFFER_SIZE FS_TEMPORARY_BUFFER_MAX // 0x5800
|
||||
|
||||
Loading…
Reference in New Issue
Block a user