diff options
-rw-r--r-- | tools/scramble.c | 18 |
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 | ||
25 | int iaudio_encode(char *iname, char *oname); | 25 | int iaudio_encode(char *iname, char *oname, char *idstring); |
26 | 26 | ||
27 | enum | 27 | enum |
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 | ||
376 | int iaudio_encode(char *iname, char *oname) | 382 | int 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]; |