diff options
Diffstat (limited to 'tools/scramble.c')
-rw-r--r-- | tools/scramble.c | 13 |
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 | ||
26 | int iaudio_encode(char *iname, char *oname, char *idstring); | 27 | int iaudio_encode(char *iname, char *oname, char *idstring); |
27 | int ipod_encode(char *iname, char *oname, int fw_ver, bool fake_rsrc); | 28 | int 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"); |