mirror of
https://github.com/rvtr/TwlIPL.git
synced 2025-10-31 06:01:12 -04:00
MountInfoとSrlPathにちゃんと対応したつもり
git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@932 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
parent
bbb6bc01a7
commit
c8d8e4f517
@ -114,8 +114,7 @@ void FS_InitMountInfo( BOOL nand, BOOL sdmc )
|
||||
*(u32*)dest = 0;
|
||||
}
|
||||
*(u8*)HW_TWL_RED_LAUNCHER_VER = 1;
|
||||
*(char*)HW_FIRM_BOOT_SRL_PATH_BUF = 0;
|
||||
// MI_CpuCopy8("nand:/nandfirm/menu_launcher.srl", (char*)HW_FIRM_BOOT_SRL_PATH_BUF, 0x40);
|
||||
*(char*)HW_FIRM_BOOT_SRL_PATH_BUF = 0; // no rom archive
|
||||
}
|
||||
|
||||
/*---------------------------------------------------------------------------*
|
||||
@ -129,8 +128,7 @@ void FS_InitMountInfo( BOOL nand, BOOL sdmc )
|
||||
*---------------------------------------------------------------------------*/
|
||||
int FS_OpenSrl( void )
|
||||
{
|
||||
#define BOOT_SRL_PATH_BUF_SIZE (HW_TWL_ROM_HEADER_BUF - HW_TWL_FS_BOOT_SRL_PATH_BUF)
|
||||
u16 fatpath[BOOT_SRL_PATH_BUF_SIZE];
|
||||
ConvertPath(fatpath, (void*)HW_TWL_FS_BOOT_SRL_PATH_BUF, BOOT_SRL_PATH_BUF_SIZE);
|
||||
u16 fatpath[HW_FIRM_FS_BOOT_SRL_PATH_BUF_SIZE];
|
||||
ConvertPath(fatpath, (void*)HW_TWL_FS_BOOT_SRL_PATH_BUF, HW_FIRM_FS_BOOT_SRL_PATH_BUF_SIZE);
|
||||
return FATFSi_rtfs_po_open((u8*)fatpath, 0, 0);
|
||||
}
|
||||
|
||||
@ -82,23 +82,26 @@ void OS_BootWithRomHeaderFromFIRM( ROM_Header* rom_header )
|
||||
mem_list[i++] = NULL;
|
||||
// copy forward
|
||||
#ifdef SDK_ARM7
|
||||
if ( *(char*)HW_TWL_FS_MOUNT_INFO_BUF )
|
||||
{
|
||||
mem_list[i++] = HW_TWL_FS_MOUNT_INFO_BUF;
|
||||
mem_list[i++] = (u32)rom_header->s.sub_mount_info_ram_address;
|
||||
mem_list[i++] = HW_TWL_ROM_HEADER_BUF - HW_TWL_FS_MOUNT_INFO_BUF;
|
||||
}
|
||||
// MountInfo (移動する?)
|
||||
mem_list[i++] = HW_TWL_FS_MOUNT_INFO_BUF;
|
||||
mem_list[i++] = (u32)rom_header->s.sub_mount_info_ram_address;
|
||||
mem_list[i++] = HW_FIRM_FS_MOUNT_INFO_BUF_SIZE;
|
||||
// srlファイル名
|
||||
mem_list[i++] = HW_TWL_FS_BOOT_SRL_PATH_BUF;
|
||||
mem_list[i++] = (u32)rom_header->s.sub_mount_info_ram_address + HW_FIRM_FS_MOUNT_INFO_BUF_SIZE;
|
||||
mem_list[i++] = HW_FIRM_FS_BOOT_SRL_PATH_BUF_SIZE;
|
||||
#endif
|
||||
mem_list[i++] = NULL;
|
||||
// copy backward
|
||||
mem_list[i++] = NULL;
|
||||
// post clear
|
||||
#ifdef SDK_ARM7
|
||||
if ( *(char*)HW_TWL_FS_MOUNT_INFO_BUF )
|
||||
{
|
||||
mem_list[i++] = HW_TWL_FS_MOUNT_INFO_BUF;
|
||||
mem_list[i++] = HW_TWL_ROM_HEADER_BUF - HW_TWL_FS_MOUNT_INFO_BUF;
|
||||
}
|
||||
// MountInfo (移動する?)
|
||||
mem_list[i++] = HW_TWL_FS_MOUNT_INFO_BUF;
|
||||
mem_list[i++] = HW_FIRM_FS_MOUNT_INFO_BUF_SIZE;
|
||||
// srlファイル名
|
||||
mem_list[i++] = HW_TWL_FS_BOOT_SRL_PATH_BUF;
|
||||
mem_list[i++] = HW_FIRM_FS_BOOT_SRL_PATH_BUF_SIZE;
|
||||
#endif
|
||||
mem_list[i++] = NULL;
|
||||
SDK_ASSERT(i <= sizeof(mem_list)/sizeof(mem_list[0]));
|
||||
|
||||
@ -32,6 +32,9 @@ extern "C" {
|
||||
#define HW_FIRM_LOAD_BUFFER_END (HW_FIRM_LOAD_BUFFER_BASE + HW_FIRM_LOAD_BUFFER_SIZE)
|
||||
|
||||
//------------------------------------- FS/FATFS
|
||||
#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 // 0x02ff6000
|
||||
|
||||
Loading…
Reference in New Issue
Block a user