summaryrefslogtreecommitdiff
path: root/tools/mi4.c
diff options
context:
space:
mode:
authorBarry Wardell <rockbox@barrywardell.net>2007-03-14 13:51:05 +0000
committerBarry Wardell <rockbox@barrywardell.net>2007-03-14 13:51:05 +0000
commit12df774d9f0093f614df6698231bdeb71934d416 (patch)
treec37009aa5aef8a56d59c3d0d745aa9d923d6a961 /tools/mi4.c
parent9d264806e87b4ded6b5fd88b14998e7311a8d53f (diff)
downloadrockbox-12df774d9f0093f614df6698231bdeb71934d416.zip
rockbox-12df774d9f0093f614df6698231bdeb71934d416.tar.gz
rockbox-12df774d9f0093f614df6698231bdeb71934d416.tar.bz2
rockbox-12df774d9f0093f614df6698231bdeb71934d416.tar.xz
Add support for scramble to put a 4 character string indicating binary type and the 4 character model id at the end of the mi4 header.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12760 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'tools/mi4.c')
-rw-r--r--tools/mi4.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/tools/mi4.c b/tools/mi4.c
index f466ad7..b9f7e25 100644
--- a/tools/mi4.c
+++ b/tools/mi4.c
@@ -102,7 +102,8 @@ static void int2le(unsigned int val, unsigned char* addr)
addr[3] = (val >> 24) & 0xff;
}
-int mi4_encode(char *iname, char *oname, int version, int magic)
+int mi4_encode(char *iname, char *oname, int version, int magic,
+ char *model, char *type)
{
size_t len;
int length;
@@ -150,7 +151,10 @@ int mi4_encode(char *iname, char *oname, int version, int magic)
int2le(length+4, &outbuf[0x2e8]); /* length plus 0xaa55aa55 */
int2le(0xaa55aa55, &outbuf[0x200+length]); /* More Magic */
-
+
+ strncpy((char *)outbuf+0x1f8, type, 4); /* type of binary - RBBL, RBOS, ... */
+ strncpy((char *)outbuf+0x1fc, model, 4); /* type of binary - RBBL, RBOS, ... */
+
/* Calculate CRC32 checksum */
chksum_crc32gentab ();
crc = chksum_crc32 (outbuf+28,mi4length-28);