diff options
| author | Barry Wardell <rockbox@barrywardell.net> | 2007-03-14 13:51:05 +0000 |
|---|---|---|
| committer | Barry Wardell <rockbox@barrywardell.net> | 2007-03-14 13:51:05 +0000 |
| commit | 12df774d9f0093f614df6698231bdeb71934d416 (patch) | |
| tree | c37009aa5aef8a56d59c3d0d745aa9d923d6a961 /tools/mi4.c | |
| parent | 9d264806e87b4ded6b5fd88b14998e7311a8d53f (diff) | |
| download | rockbox-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.c | 8 |
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); |