summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Chapman <dave@dchapman.com>2005-11-20 10:57:53 +0000
committerDave Chapman <dave@dchapman.com>2005-11-20 10:57:53 +0000
commit20eed88b0efad0ff77f7a1d028eeaaa39a4cfc69 (patch)
tree234acbbe8a53ebd6f70dc1647158e82eb118cf1f
parent062a0b3c588f8aea755261d2dabdf897b6d7765e (diff)
downloadrockbox-20eed88b0efad0ff77f7a1d028eeaaa39a4cfc69.tar.gz
rockbox-20eed88b0efad0ff77f7a1d028eeaaa39a4cfc69.zip
iPod: Change bootloader so that Rockbox loads by default. Holding down MENU now boots to the Apple firmware. Check .rockbox/ for a firmware file (to be consistent with the iriver bootloader) and remove the cosmetic sleep.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8012 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--bootloader/ipod.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/bootloader/ipod.c b/bootloader/ipod.c
index 03a814f797..5b8c0ee217 100644
--- a/bootloader/ipod.c
+++ b/bootloader/ipod.c
@@ -220,9 +220,13 @@ int load_rockbox(unsigned char* buf)
220 int i; 220 int i;
221 char str[80]; 221 char str[80];
222 222
223 fd = open("/rockbox.ipod", O_RDONLY); 223 fd = open("/.rockbox/" BOOTFILE, O_RDONLY);
224 if(fd < 0) 224 if(fd < 0)
225 return -1; 225 {
226 fd = open("/" BOOTFILE, O_RDONLY);
227 if(fd < 0)
228 return -1;
229 }
226 230
227 len = filesize(fd) - 8; 231 len = filesize(fd) - 8;
228 232
@@ -399,7 +403,7 @@ void* main(void)
399 /* Check for a keypress */ 403 /* Check for a keypress */
400 i=key_pressed(); 404 i=key_pressed();
401 405
402 if (i==BUTTON_MENU) { 406 if ((i!=BUTTON_MENU) && (i!=BUTTON_PLAY)) {
403 lcd_puts(0, line, "Loading Rockbox..."); 407 lcd_puts(0, line, "Loading Rockbox...");
404 lcd_update(); 408 lcd_update();
405 rc=load_rockbox(loadbuffer); 409 rc=load_rockbox(loadbuffer);
@@ -410,11 +414,8 @@ void* main(void)
410 } else { 414 } else {
411 lcd_puts(0, line++, "Rockbox loaded."); 415 lcd_puts(0, line++, "Rockbox loaded.");
412 lcd_update(); 416 lcd_update();
413#if 0
414 /* Rockbox is not yet runable, so we disable this */
415 memcpy((void*)DRAM_START,loadbuffer,rc); 417 memcpy((void*)DRAM_START,loadbuffer,rc);
416 return (void*)DRAM_START; 418 return (void*)DRAM_START;
417#endif
418 } 419 }
419 } 420 }
420 421
@@ -438,7 +439,7 @@ void* main(void)
438 lcd_update(); 439 lcd_update();
439 440
440 /* Pause for 5 seconds so we can see what's happened */ 441 /* Pause for 5 seconds so we can see what's happened */
441 usleep(5000000); 442// usleep(5000000);
442 443
443 entry = tblp->addr + tblp->entryOffset; 444 entry = tblp->addr + tblp->entryOffset;
444 if (imageno || ((int)tblp->addr & 0xffffff) != 0) { 445 if (imageno || ((int)tblp->addr & 0xffffff) != 0) {