summaryrefslogtreecommitdiff
path: root/firmware/rolo.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/rolo.c')
-rw-r--r--firmware/rolo.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/firmware/rolo.c b/firmware/rolo.c
index 9f9af40d39..fa1748341b 100644
--- a/firmware/rolo.c
+++ b/firmware/rolo.c
@@ -183,7 +183,7 @@ int rolo_load(const char* filename)
183{ 183{
184 int fd; 184 int fd;
185 long length; 185 long length;
186#if defined(CPU_COLDFIRE) || defined(CPU_PP) 186#if defined(CPU_COLDFIRE) || defined(CPU_ARM)
187#if !defined(MI4_FORMAT) 187#if !defined(MI4_FORMAT)
188 int i; 188 int i;
189#endif 189#endif
@@ -215,7 +215,7 @@ int rolo_load(const char* filename)
215 215
216 length = filesize(fd) - FIRMWARE_OFFSET_FILE_DATA; 216 length = filesize(fd) - FIRMWARE_OFFSET_FILE_DATA;
217 217
218#if defined(CPU_COLDFIRE) || defined(CPU_PP) 218#if defined(CPU_COLDFIRE) || defined(CPU_PP) || (CONFIG_CPU==DM320)
219 /* Read and save checksum */ 219 /* Read and save checksum */
220 lseek(fd, FIRMWARE_OFFSET_FILE_CRC, SEEK_SET); 220 lseek(fd, FIRMWARE_OFFSET_FILE_CRC, SEEK_SET);
221 if (read(fd, &file_checksum, 4) != 4) { 221 if (read(fd, &file_checksum, 4) != 4) {
@@ -251,7 +251,7 @@ int rolo_load(const char* filename)
251 checksum = chksum_crc32 (audiobuf, length); 251 checksum = chksum_crc32 (audiobuf, length);
252#else 252#else
253 checksum = MODEL_NUMBER; 253 checksum = MODEL_NUMBER;
254 254
255 for(i = 0;i < length;i++) { 255 for(i = 0;i < length;i++) {
256 checksum += audiobuf[i]; 256 checksum += audiobuf[i];
257 } 257 }
@@ -282,7 +282,7 @@ int rolo_load(const char* filename)
282 rolo_error("File length mismatch"); 282 rolo_error("File length mismatch");
283 return -1; 283 return -1;
284 } 284 }
285 285
286 /* Read and save checksum */ 286 /* Read and save checksum */
287 lseek(fd, FIRMWARE_OFFSET_FILE_CRC, SEEK_SET); 287 lseek(fd, FIRMWARE_OFFSET_FILE_CRC, SEEK_SET);
288 if (read(fd, &file_checksum, 2) != 2) { 288 if (read(fd, &file_checksum, 2) != 2) {
@@ -306,7 +306,7 @@ int rolo_load(const char* filename)
306 lcd_update(); 306 lcd_update();
307 307
308 checksum = descramble(audiobuf + length, audiobuf, length); 308 checksum = descramble(audiobuf + length, audiobuf, length);
309 309
310 /* Verify checksum against file header */ 310 /* Verify checksum against file header */
311 if (checksum != file_checksum) { 311 if (checksum != file_checksum) {
312 rolo_error("Checksum Error"); 312 rolo_error("Checksum Error");
@@ -317,7 +317,7 @@ int rolo_load(const char* filename)
317 lcd_update(); 317 lcd_update();
318 318
319 set_irq_level(HIGHEST_IRQ_LEVEL); 319 set_irq_level(HIGHEST_IRQ_LEVEL);
320 320
321 /* Calling these 2 initialization routines was necessary to get the 321 /* Calling these 2 initialization routines was necessary to get the
322 the origional Archos version of the firmware to load and execute. */ 322 the origional Archos version of the firmware to load and execute. */
323 system_init(); /* Initialize system for restart */ 323 system_init(); /* Initialize system for restart */