summaryrefslogtreecommitdiff
path: root/bootloader/ipod.c
diff options
context:
space:
mode:
Diffstat (limited to 'bootloader/ipod.c')
-rw-r--r--bootloader/ipod.c35
1 files changed, 32 insertions, 3 deletions
diff --git a/bootloader/ipod.c b/bootloader/ipod.c
index 8b99fbd1ad..b1b3114ac9 100644
--- a/bootloader/ipod.c
+++ b/bootloader/ipod.c
@@ -157,6 +157,29 @@ int opto_keypad_read(void)
157} 157}
158#endif 158#endif
159 159
160char *strerror(int error)
161{
162 switch(error)
163 {
164 case 0:
165 return "OK";
166 case -1:
167 return "File not found";
168 case -2:
169 return "Read failed (chksum)";
170 case -3:
171 return "Read failed (model)";
172 case -4:
173 return "Read failed (image)";
174 case -5:
175 return "Bad checksum";
176 case -6:
177 return "File too big";
178 default:
179 return "Unknown";
180 }
181}
182
160char printfbuf[256]; 183char printfbuf[256];
161 184
162void reset_screen(void) 185void reset_screen(void)
@@ -448,7 +471,9 @@ void* main(void)
448 printf("Loading Rockbox..."); 471 printf("Loading Rockbox...");
449 rc=load_rockbox(loadbuffer, BOOTFILE); 472 rc=load_rockbox(loadbuffer, BOOTFILE);
450 if (rc < 0) { 473 if (rc < 0) {
451 printf("Rockbox error: %d",rc); 474 printf("Error!");
475 printf("Can't load rockbox.ipod:");
476 printf(strerror(rc));
452 } else { 477 } else {
453 printf("Rockbox loaded."); 478 printf("Rockbox loaded.");
454 memcpy((void*)DRAM_START,loadbuffer,rc); 479 memcpy((void*)DRAM_START,loadbuffer,rc);
@@ -460,7 +485,9 @@ void* main(void)
460 printf("Loading Linux..."); 485 printf("Loading Linux...");
461 rc=load_linux(loadbuffer); 486 rc=load_linux(loadbuffer);
462 if (rc < 0) { 487 if (rc < 0) {
463 printf("Linux error: %d",rc); 488 printf("Error!");
489 printf("Can't load linux.bin:");
490 printf(strerror(rc));
464 } else { 491 } else {
465 memcpy((void*)DRAM_START,loadbuffer,rc); 492 memcpy((void*)DRAM_START,loadbuffer,rc);
466 return (void*)DRAM_START; 493 return (void*)DRAM_START;
@@ -482,7 +509,9 @@ void* main(void)
482 509
483 /* Only report errors if the file was found */ 510 /* Only report errors if the file was found */
484 if (rc < -1) { 511 if (rc < -1) {
485 printf("apple_os.ipod error: %d",rc); 512 printf("Error!");
513 printf("Can't load apple_os.ipod:");
514 printf(strerror(rc));
486 } else if (rc > 0) { 515 } else if (rc > 0) {
487 printf("apple_os.ipod loaded."); 516 printf("apple_os.ipod loaded.");
488 memcpy((void*)DRAM_START,loadbuffer,rc); 517 memcpy((void*)DRAM_START,loadbuffer,rc);