forked from len0rd/rockbox
Enable boot from SD for Sansa e200
Change-Id: I0940f2cd5fc914d6d5061b5798b1a636009649b7
This commit is contained in:
parent
8ee035b6c8
commit
da190727e7
6 changed files with 199 additions and 23 deletions
|
|
@ -131,7 +131,7 @@ int load_mi4_part(unsigned char* buf, struct partinfo* pinfo,
|
|||
unsigned long sum;
|
||||
|
||||
/* Read header to find out how long the mi4 file is. */
|
||||
storage_read_sectors(pinfo->start + PPMI_SECTOR_OFFSET,
|
||||
storage_read_sectors(IF_MD(0,) pinfo->start + PPMI_SECTOR_OFFSET,
|
||||
PPMI_SECTORS, &ppmi_header);
|
||||
|
||||
/* The first four characters at 0x80000 (sector 1024) should be PPMI*/
|
||||
|
|
@ -141,7 +141,7 @@ int load_mi4_part(unsigned char* buf, struct partinfo* pinfo,
|
|||
printf("BL mi4 size: %x", ppmi_header.length);
|
||||
|
||||
/* Read mi4 header of the OF */
|
||||
storage_read_sectors(pinfo->start + PPMI_SECTOR_OFFSET + PPMI_SECTORS
|
||||
storage_read_sectors(IF_MD(0,) pinfo->start + PPMI_SECTOR_OFFSET + PPMI_SECTORS
|
||||
+ (ppmi_header.length/512), MI4_HEADER_SECTORS, &mi4header);
|
||||
|
||||
/* We don't support encrypted mi4 files yet */
|
||||
|
|
@ -164,7 +164,7 @@ int load_mi4_part(unsigned char* buf, struct partinfo* pinfo,
|
|||
printf("Binary type: %.4s", mi4header.type);
|
||||
|
||||
/* Load firmware */
|
||||
storage_read_sectors(pinfo->start + PPMI_SECTOR_OFFSET + PPMI_SECTORS
|
||||
storage_read_sectors(IF_MD(0,) pinfo->start + PPMI_SECTOR_OFFSET + PPMI_SECTORS
|
||||
+ (ppmi_header.length/512) + MI4_HEADER_SECTORS,
|
||||
(mi4header.mi4size-MI4_HEADER_SIZE)/512, buf);
|
||||
|
||||
|
|
@ -183,9 +183,9 @@ int load_mi4_part(unsigned char* buf, struct partinfo* pinfo,
|
|||
|
||||
printf("Disabling database rebuild");
|
||||
|
||||
storage_read_sectors(pinfo->start + 0x3c08, 1, block);
|
||||
storage_read_sectors(IF_MD(0,) pinfo->start + 0x3c08, 1, block);
|
||||
block[0xe1] = 0;
|
||||
storage_write_sectors(pinfo->start + 0x3c08, 1, block);
|
||||
storage_write_sectors(IF_MD(0,) pinfo->start + 0x3c08, 1, block);
|
||||
}
|
||||
#else
|
||||
(void) disable_rebuild;
|
||||
|
|
@ -287,7 +287,6 @@ static int handle_usb(int connect_timeout)
|
|||
|
||||
void* main(void)
|
||||
{
|
||||
char filename[MAX_PATH];
|
||||
int i;
|
||||
int btn;
|
||||
int rc;
|
||||
|
|
@ -400,9 +399,8 @@ void* main(void)
|
|||
if((btn & BOOTLOADER_BOOT_OF) == 0)
|
||||
{
|
||||
printf("Loading Rockbox...");
|
||||
snprintf(filename,sizeof(filename), BOOTDIR "/%s", BOOTFILE);
|
||||
|
||||
rc = load_mi4(loadbuffer, filename, MAX_LOADSIZE);
|
||||
rc = load_mi4(loadbuffer, BOOTFILE, MAX_LOADSIZE);
|
||||
if (rc <= EFILE_EMPTY)
|
||||
{
|
||||
bool old_verbose = verbose;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue