Manual - minor fixes to fractals.tex: update screenshot capture to reflect the renami...
[kugel-rb.git] / utils / zenutils / notes.txt
blob0006bd2e71b8c5b70f80e580c77b2658ce00815e
1 zenutils is a collection of utilities for working with firmwares of the Creative Zen range.
3 The utilities are split into 3 categories:
4 1) update_*
5    Operates on the Creative firmware updater executable.
6 2) firmware_*
7    Operates on the Creative firmware archive.
8 3) zen_crypt
9    Operates on the parts of the firmware archive which requires cryptography.
12 General usage:
13 --------------
14 A typical use scenario would be: download the firmware updater and run
15  update_extract on it to obtain the firmware archive which it contains.
16 Run firmware_extract on the firmware archive to obtain the files
17  which the firmware archive contains and a make file that can later be used
18  to create a new firmware archive. Edit* the extracted files of
19  interest and optionally the associated make file. Create a new firmware
20  archive by running firmware_make. If a NULL entry is present in the firmware
21  then it's signature has to be updated running zen_crypt. If on windows, you
22  can use update_patch to write your newly created firmware archive to the
23  updater executable which you originally extracted it from. The new updater
24  will update your player with the modifications you've made.
26 * If you're creating or editing executable code, such as the CENC or ©TL entries,
27 you'll need to use zen_crypt to decrypt and/or encrypt them.
28 In addition, executable code on some players that use the ©TL entries also needs
29  to be signed using zen_crypt, prior to encrypting them.
30 Encrypting FBOOT and FRESC is not supported, as these contain the executable 
31  code that makes up the critical Rescue Mode software, contained in flash.
32 As opposed to CENC and ©TL which ultimately ends up being stored in the players
33  filesystem as a file named Jukebox2.jrm.
36 Important:
37 ----------
38 The only entries required in a firmware archive is CINF and if present, NULL.
39 Including either FBOOT, FRESC or EXT0 in your firmware archive is not advised,
40  the first two are required for the Rescue Mode software operation and EXT0 is
41  unknown, but given that it's contents is sent to an internal device named mcu0,
42  the consequences of failure could be fatal to your player.
45 Supported players:
46 ------------------
47 zen_crypt supports signing, verification, decryption and encryption on the
48  following Creative Zen players:
49   Vision:M (default if no player is specified)
50   Vision W
51   Micro
52   MicroPhoto
53   Sleek
54   SleekPhoto
55   Touch
56   Xtra
58 The other utilities are not player specific and may work on players not listed.
59 Although the Vision:M is the only player I've fully tested.
62 Building the sources:
63 ---------------------
64 The source code uses the CMake (www.cmake.org) build system.
65 Once you've installed CMake, you'll need to run it to produce make files for
66  your system. I would recommend producing the make files within in the 'build'
67  directory of this package. Which can be done by typing:
68   zenutils\build\>cmake -g "Visual Studio 8 2005" ..
69   (for msvc8 on windows)
70  or:
71   ~zenutils/build/$ cmake -g "Unix Makefiles" ..
72   (for various 'nixes)
73 The windows example will produce a solution file for msvc8.
74 The 'nix example will produce a makefile which can be built using make.
76 The executables will be placed within the 'bin' directory, once built.