Commit graph

17 commits

Author SHA1 Message Date
Rafaël Carré
62e0cdca26 amsinfo: save files with .bin extension
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31219 a1c6a512-1295-4272-9138-f99709370657
2011-12-13 03:01:16 +00:00
Rafaël Carré
ff6b0425e4 mkamsboot/rbutil/amsinfo : do not try to detect the model of a given Sansa AMS OF
The field we thought was representative of the model is not, it has
changed in the past for fuzev1 and fuzev2.
For example the value 0x23 is found in 2 old fuzev1 OF versions, and in
the c200v2 OF

The only reliable way to detect the model of a given OF is by using the
built-in list of md5sums.

Modify mkamsboot and rbutilqt to load the rockbox bootloader first, and
then check if the model in the bootloader corresponds to the model of
the known md5sum of the given OF.

That way we can continue to present the user with a list of known OF
versions in case the OF is unknown to mkamsboot

Also explicit the dependency of main.c on mkamsboot.h in case the
prototypes change
Correct the header's description not updated in r21648

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26248 a1c6a512-1295-4272-9138-f99709370657
2010-05-24 10:06:52 +00:00
Rafaël Carré
e32f28b740 amsinfo: do not assume library blocks always have the same size
otg_functio is now correctly extracted of Clip+ firmware

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25188 a1c6a512-1295-4272-9138-f99709370657
2010-03-14 23:35:01 +00:00
Rafaël Carré
c2dae8742c amsinfo: support clip+ firmware format
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24218 a1c6a512-1295-4272-9138-f99709370657
2010-01-13 02:25:58 +00:00
Rafaël Carré
03f88d53ee Replace amsinfo by another version which:
- supports Clipv2/Fuzev2 firmwares
- dumps firmware and library blocks in current directory
- adds assertions and boundaries checks about the firmware format
- has nice colors !

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23366 a1c6a512-1295-4272-9138-f99709370657
2009-10-27 11:19:49 +00:00
Rafaël Carré
96165abec2 FS#10253 : mkamsboot v1.0
- Bump version to 1.0
- Add Clipv2 target
- Make mkamsboot work as a library (work by domonoky : FS#10185, with a few modifications by me)
  . Use a macro with variadic arguments for error cases in functions which might error.
  . Add detailed descriptions to functions exported by the library (in the header file)
- modify bin2c.c to produce only one pair of .c/.h files with several files embedded in it
- move files needing to be built by an ARM cross compiler into dualboot/
- commit produced .c/.h files (containing nrv2e_d8.S and dualboot.S built for Clip, Fuze, e200v2, c200v2, m200v4, Clipv2)
- Write a real README file
- cosmetics: indent dualboot.S properly, remove trailing spaces, limit lines to 80 characters
- comments: add/correct comments in dualboot.S and mkamsboot.c
- move back extract_fw.c to utils/AMS/hacking

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21118 a1c6a512-1295-4272-9138-f99709370657
2009-05-28 18:27:08 +00:00
Bertrik Sikken
4f87abf90a Cosmetic fix: remove duplicate semicolons
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20198 a1c6a512-1295-4272-9138-f99709370657
2009-03-04 18:15:06 +00:00
Dave Chapman
c6be818212 Move mkamsboot into the rbutil/mkamsboot/ directory - no other changes, so this should still work the same as before.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18706 a1c6a512-1295-4272-9138-f99709370657
2008-10-04 08:46:03 +00:00
Dave Chapman
c2933cd46e Remove the dependency on sufficient free space in the padding at the end of the firmware block by storing the ucl unpack function in the main firmware block, immediately before the compressed firmware image. Also simplify the memcpy function in test.S. This has been tested successfully on a Clip.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18682 a1c6a512-1295-4272-9138-f99709370657
2008-10-02 12:37:47 +00:00
Dave Chapman
2c096e463d It turns out that in-place UCL decompression isn't as easy as we thought, so we copy the OF to an unused part of RAM before decompressing it. This works - I have successfully patched m300a-1.1.17A.bin and installed on my Clip with this code. Thanks to Rafael Carre (funman) for the actual patch.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18679 a1c6a512-1295-4272-9138-f99709370657
2008-10-01 23:19:14 +00:00
Dave Chapman
caeaf76930 Correct the content of an error message (thanks to Jens for spotting) and fix a warning
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18678 a1c6a512-1295-4272-9138-f99709370657
2008-10-01 19:54:12 +00:00
Dave Chapman
fc7221649d We need to strip the header (26 bytes) from the UCL file - based on the information in tools/ucl2src.pl. Also add some sanity checking of the UCL file.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18677 a1c6a512-1295-4272-9138-f99709370657
2008-10-01 18:28:55 +00:00
Dave Chapman
5891a38486 Bug fix #1 for mkamsboot - pass the correct parameters to the ucl unpack function.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18676 a1c6a512-1295-4272-9138-f99709370657
2008-10-01 10:25:31 +00:00
Dave Chapman
757f5112e2 Untested (i.e. will almost certainly brick your device if you attempt to use it) first attempt at making mkamsboot store the original firmware as a UCL compressed image. If it works, then this means we have about 40KB (depending on target and OF version) for our bootloader code. I repeat: This is UNTESTED and needs reviewing fully before attempting to install on a device.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18675 a1c6a512-1295-4272-9138-f99709370657
2008-10-01 09:15:44 +00:00
Dave Chapman
fe72d57996 Original, unmodified version of the ARM thumb implementation of the UCL ucl_nrv2e_decompress_8 function from upx-3.03 - licensed under the GPL (v2 or later). This will be used to decompress the original firmware image in the next version of mkamsboot.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18674 a1c6a512-1295-4272-9138-f99709370657
2008-10-01 08:13:10 +00:00
Dave Chapman
0326055f91 We don't know how to increase the firmware size, so abort instead of creating a bricking firmware. Suggested by Rafaël Carré (funman).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18663 a1c6a512-1295-4272-9138-f99709370657
2008-09-29 09:27:35 +00:00
Dave Chapman
1aa6cde3ea Some tools for hacking Sansa V2 (AMS) firmware files and injecting our own code.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17464 a1c6a512-1295-4272-9138-f99709370657
2008-05-11 18:29:53 +00:00