summaryrefslogtreecommitdiff
path: root/tools/scramble.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/scramble.c')
-rw-r--r--tools/scramble.c31
1 files changed, 22 insertions, 9 deletions
diff --git a/tools/scramble.c b/tools/scramble.c
index ace8337a1b..5dff4f4086 100644
--- a/tools/scramble.c
+++ b/tools/scramble.c
@@ -145,6 +145,7 @@ int main (int argc, char** argv)
145 char modelname[5]; 145 char modelname[5];
146 int model_id; 146 int model_id;
147 enum { none, scramble, xor, tcc_sum, tcc_crc, add } method = scramble; 147 enum { none, scramble, xor, tcc_sum, tcc_crc, add } method = scramble;
148 bool creative_enable_ciff;
148 149
149 model_id = ARCHOS_PLAYER; 150 model_id = ARCHOS_PLAYER;
150 151
@@ -341,20 +342,32 @@ int main (int argc, char** argv)
341 oname = argv[3]; 342 oname = argv[3];
342 return ipod_encode(iname, oname, 3, true); /* Firmware image v3 */ 343 return ipod_encode(iname, oname, 3, true); /* Firmware image v3 */
343 } 344 }
344 else if(!strncmp(argv[1], "-creative=", 10)) { 345 else if(!strncmp(argv[1], "-creative=", 10))
345 iname = argv[2]; 346 {
346 oname = argv[3]; 347 if(!strcmp(argv[2], "-no-ciff"))
348 {
349 creative_enable_ciff = false;
350 iname = argv[3];
351 oname = argv[4];
352 }
353 else
354 {
355 creative_enable_ciff = true;
356 iname = argv[2];
357 oname = argv[3];
358 }
347 if(!strcmp(&argv[1][10], "zvm")) 359 if(!strcmp(&argv[1][10], "zvm"))
348 return zvm_encode(iname, oname, ZENVISIONM); 360 return zvm_encode(iname, oname, ZENVISIONM, creative_enable_ciff);
349 else if(!strcmp(&argv[1][10], "zvm60")) 361 else if(!strcmp(&argv[1][10], "zvm60"))
350 return zvm_encode(iname, oname, ZENVISIONM60); 362 return zvm_encode(iname, oname, ZENVISIONM60, creative_enable_ciff);
351 else if(!strcmp(&argv[1][10], "zenvision")) 363 else if(!strcmp(&argv[1][10], "zenvision"))
352 return zvm_encode(iname, oname, ZENVISION); 364 return zvm_encode(iname, oname, ZENVISION, creative_enable_ciff);
353 else if(!strcmp(&argv[1][10], "zenv")) 365 else if(!strcmp(&argv[1][10], "zenv"))
354 return zvm_encode(iname, oname, ZENV); 366 return zvm_encode(iname, oname, ZENV, creative_enable_ciff);
355 else if(!strcmp(&argv[1][10], "zen")) 367 else if(!strcmp(&argv[1][10], "zen"))
356 return zvm_encode(iname, oname, ZEN); 368 return zvm_encode(iname, oname, ZEN, creative_enable_ciff);
357 else { 369 else
370 {
358 fprintf(stderr, "unsupported Creative device: %s\n", &argv[1][10]); 371 fprintf(stderr, "unsupported Creative device: %s\n", &argv[1][10]);
359 return 2; 372 return 2;
360 } 373 }