summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorMiika Pekkarinen <miipekk@ihme.org>2006-08-09 12:04:13 +0000
committerMiika Pekkarinen <miipekk@ihme.org>2006-08-09 12:04:13 +0000
commite1eb91b976621f03fe7082e5290f47d09f6d7b2e (patch)
treeeca734c2a193dc8f933b784a72969ccc3b9101ea /apps
parent0f87f8fd366b0869c001a7d4e8ca6b2e27065e7b (diff)
downloadrockbox-e1eb91b976621f03fe7082e5290f47d09f6d7b2e.tar.gz
rockbox-e1eb91b976621f03fe7082e5290f47d09f6d7b2e.zip
Bootloader support to search firmware also from flash. Bootloader <->
Rockbox communication when Rockbox has been flashed. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10499 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps')
-rw-r--r--apps/main.c4
-rw-r--r--apps/plugins/iriver_flash.c14
-rw-r--r--apps/plugins/viewers.config1
3 files changed, 12 insertions, 7 deletions
diff --git a/apps/main.c b/apps/main.c
index 907e1126cf..d590790a85 100644
--- a/apps/main.c
+++ b/apps/main.c
@@ -120,7 +120,9 @@ int init_dircache(void)
120# ifdef HAVE_EEPROM 120# ifdef HAVE_EEPROM
121 if (firmware_settings.initialized && firmware_settings.disk_clean) 121 if (firmware_settings.initialized && firmware_settings.disk_clean)
122 { 122 {
123 if (dircache_load(DIRCACHE_FILE) == 0) 123 result = dircache_load(DIRCACHE_FILE);
124 remove(DIRCACHE_FILE);
125 if (result == 0)
124 return 0; 126 return 0;
125 } 127 }
126# endif 128# endif
diff --git a/apps/plugins/iriver_flash.c b/apps/plugins/iriver_flash.c
index 28734d197b..40c9a2979b 100644
--- a/apps/plugins/iriver_flash.c
+++ b/apps/plugins/iriver_flash.c
@@ -381,12 +381,13 @@ void show_fatal_error(void)
381 381
382int flash_bootloader(const char *filename) 382int flash_bootloader(const char *filename)
383{ 383{
384 // char buf[32]; 384 char buf[32];
385 int pos, i, len, rc; 385 int pos, i, len, rc;
386 unsigned long checksum, sum, crc32; 386 unsigned long checksum, sum, crc32;
387 unsigned char *p8; 387 unsigned char *p8;
388 uint16_t *p16; 388 uint16_t *p16;
389 389
390 (void)buf;
390 len = load_firmware_file(filename, &checksum); 391 len = load_firmware_file(filename, &checksum);
391 if (len < 0) 392 if (len < 0)
392 return len * 10; 393 return len * 10;
@@ -399,15 +400,16 @@ int flash_bootloader(const char *filename)
399 400
400 /* Verify the crc32 checksum also. */ 401 /* Verify the crc32 checksum also. */
401 crc32 = crc_32(audiobuf, len, 0xffffffff); 402 crc32 = crc_32(audiobuf, len, 0xffffffff);
402 // rb->snprintf(buf, sizeof buf, "crc32 = 0x%08x", crc32); 403#if 0
403 // rb->splash(HZ*10, true, buf); 404 rb->snprintf(buf, sizeof buf, "crc32 = 0x%08x", crc32);
404 405 rb->splash(HZ*10, true, buf);
405 if (crc32 != 0x5361a679) 406#else
407 if (crc32 != 0xa930906d)
406 { 408 {
407 rb->splash(HZ*3, true, "Untested bootloader"); 409 rb->splash(HZ*3, true, "Untested bootloader");
408 return -2; 410 return -2;
409 } 411 }
410 412#endif
411 rb->lcd_puts(0, 3, "Processing critical sections..."); 413 rb->lcd_puts(0, 3, "Processing critical sections...");
412 rb->lcd_update(); 414 rb->lcd_update();
413 415
diff --git a/apps/plugins/viewers.config b/apps/plugins/viewers.config
index 5e1c6283f8..cc05bbc47d 100644
--- a/apps/plugins/viewers.config
+++ b/apps/plugins/viewers.config
@@ -22,3 +22,4 @@ wav,viewers/mp3_encoder, 00 00 00 00 00 00
22wav,viewers/wavplay,60 7F 05 35 3F 00 22wav,viewers/wavplay,60 7F 05 35 3F 00
23bmp,rocks/rockpaint, 01 10 01 10 01 10 23bmp,rocks/rockpaint, 01 10 01 10 01 10
24m2v,viewers/mpegplayer,5D 7F 5D 7F 5D 7F 24m2v,viewers/mpegplayer,5D 7F 5D 7F 5D 7F
25iriver,viewers/iriver_flash,2A 7F 41 41 7F 2A