summaryrefslogtreecommitdiff
path: root/tools/scramble.c
diff options
context:
space:
mode:
authorLinus Nielsen Feltzing <linus@haxx.se>2006-03-27 08:31:34 +0000
committerLinus Nielsen Feltzing <linus@haxx.se>2006-03-27 08:31:34 +0000
commitd569727aa7a2fe34815298d747f9c8325a4b6202 (patch)
tree9a72b6ceed3ea80a9ec27bfb6c8314c4e32b14cb /tools/scramble.c
parentee1ab2ee11565d8e02ac1bf0e75400578d60d6c8 (diff)
downloadrockbox-d569727aa7a2fe34815298d747f9c8325a4b6202.tar.gz
rockbox-d569727aa7a2fe34815298d747f9c8325a4b6202.zip
Support iAudio X5V in the scrambler
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9278 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'tools/scramble.c')
-rw-r--r--tools/scramble.c18
1 files changed, 12 insertions, 6 deletions
diff --git a/tools/scramble.c b/tools/scramble.c
index e289fcdc24..cb3630ea5a 100644
--- a/tools/scramble.c
+++ b/tools/scramble.c
@@ -22,7 +22,7 @@
22#include <string.h> 22#include <string.h>
23#include "iriver.h" 23#include "iriver.h"
24 24
25int iaudio_encode(char *iname, char *oname); 25int iaudio_encode(char *iname, char *oname, char *idstring);
26 26
27enum 27enum
28{ 28{
@@ -69,7 +69,8 @@ void usage(void)
69 "\t-neo SSI Neo format\n" 69 "\t-neo SSI Neo format\n"
70 "\t-mm=X Archos Multimedia format (X values: A=JBMM, B=AV1xx, C=AV3xx)\n" 70 "\t-mm=X Archos Multimedia format (X values: A=JBMM, B=AV1xx, C=AV3xx)\n"
71 "\t-iriver iRiver format\n" 71 "\t-iriver iRiver format\n"
72 "\t-iaudio iAudio format\n" 72 "\t-iaudiox5 iAudio X5 format\n"
73 "\t-iaudiox5v iAudio X5V format\n"
73 "\t-add=X Rockbox generic \"add-up\" checksum format\n" 74 "\t-add=X Rockbox generic \"add-up\" checksum format\n"
74 "\t (X values: h100, h120, h140, h300, ipco, nano, ipvd\n" 75 "\t (X values: h100, h120, h140, h300, ipco, nano, ipvd\n"
75 "\t ip3g, ip4g, mini, x5)\n" 76 "\t ip3g, ip4g, mini, x5)\n"
@@ -198,10 +199,15 @@ int main (int argc, char** argv)
198 iriver_encode(iname, oname, FALSE); 199 iriver_encode(iname, oname, FALSE);
199 return 0; 200 return 0;
200 } 201 }
201 else if(!strcmp(argv[1], "-iaudio")) { 202 else if(!strcmp(argv[1], "-iaudiox5")) {
202 iname = argv[2]; 203 iname = argv[2];
203 oname = argv[3]; 204 oname = argv[3];
204 return iaudio_encode(iname, oname); 205 return iaudio_encode(iname, oname, "COWON_X5_FW");
206 }
207 else if(!strcmp(argv[1], "-iaudiox5v")) {
208 iname = argv[2];
209 oname = argv[3];
210 return iaudio_encode(iname, oname, "COWON_X5V_FW");
205 } 211 }
206 212
207 /* open file */ 213 /* open file */
@@ -373,7 +379,7 @@ int main (int argc, char** argv)
373 return 0; 379 return 0;
374} 380}
375 381
376int iaudio_encode(char *iname, char *oname) 382int iaudio_encode(char *iname, char *oname, char *idstring)
377{ 383{
378 size_t len; 384 size_t len;
379 int length; 385 int length;
@@ -405,7 +411,7 @@ int iaudio_encode(char *iname, char *oname)
405 } 411 }
406 412
407 memset(outbuf, 0, 0x1030); 413 memset(outbuf, 0, 0x1030);
408 strcpy((char *)outbuf, "COWON_X5_FW"); 414 strcpy((char *)outbuf, idstring);
409 415
410 for(i = 0; i < length;i++) 416 for(i = 0; i < length;i++)
411 sum += outbuf[0x1030 + i]; 417 sum += outbuf[0x1030 + i];