summaryrefslogtreecommitdiff
path: root/tools/scramble.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/scramble.c')
-rw-r--r--tools/scramble.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/tools/scramble.c b/tools/scramble.c
index c3eb1782af..d1e3d1d341 100644
--- a/tools/scramble.c
+++ b/tools/scramble.c
@@ -22,6 +22,7 @@
22#include <stdbool.h> 22#include <stdbool.h>
23#include <string.h> 23#include <string.h>
24#include "iriver.h" 24#include "iriver.h"
25#include "mi4.h"
25 26
26int iaudio_encode(char *iname, char *oname, char *idstring); 27int iaudio_encode(char *iname, char *oname, char *idstring);
27int ipod_encode(char *iname, char *oname, int fw_ver, bool fake_rsrc); 28int ipod_encode(char *iname, char *oname, int fw_ver, bool fake_rsrc);
@@ -82,6 +83,8 @@ void usage(void)
82 "\t-ipod3g ipod firmware partition format (3rd Gen)\n" 83 "\t-ipod3g ipod firmware partition format (3rd Gen)\n"
83 "\t-ipod4g ipod firmware partition format (4th Gen, Mini, Nano, Photo/Color)\n" 84 "\t-ipod4g ipod firmware partition format (4th Gen, Mini, Nano, Photo/Color)\n"
84 "\t-ipod5g ipod firmware partition format (5th Gen - aka Video)\n" 85 "\t-ipod5g ipod firmware partition format (5th Gen - aka Video)\n"
86 "\t-mi4v2 PortalPlayer .mi4 format (revision 010201)\n"
87 "\t-mi4v3 PortalPlayer .mi4 format (revision 010301)\n"
85 "\t-add=X Rockbox generic \"add-up\" checksum format\n" 88 "\t-add=X Rockbox generic \"add-up\" checksum format\n"
86 "\t (X values: h100, h120, h140, h300, ipco, nano, ipvd\n" 89 "\t (X values: h100, h120, h140, h300, ipco, nano, ipvd\n"
87 "\t ip3g, ip4g, mini, x5, h10, h10_5gb)\n" 90 "\t ip3g, ip4g, mini, x5, h10, h10_5gb)\n"
@@ -241,6 +244,16 @@ int main (int argc, char** argv)
241 oname = argv[3]; 244 oname = argv[3];
242 return ipod_encode(iname, oname, 3, true); /* Firmware image v3 */ 245 return ipod_encode(iname, oname, 3, true); /* Firmware image v3 */
243 } 246 }
247 else if(!strcmp(argv[1], "-mi4v2")) {
248 iname = argv[2];
249 oname = argv[3];
250 return mi4_encode(iname, oname, 0x00010201);
251 }
252 else if(!strcmp(argv[1], "-mi4v3")) {
253 iname = argv[2];
254 oname = argv[3];
255 return mi4_encode(iname, oname, 0x00010301);
256 }
244 257
245 /* open file */ 258 /* open file */
246 file = fopen(iname,"rb"); 259 file = fopen(iname,"rb");