summaryrefslogtreecommitdiffstats
path: root/www
diff options
context:
space:
mode:
authorBjörn Stenberg <bjorn@haxx.se>2002-03-28 14:28:17 +0000
committerBjörn Stenberg <bjorn@haxx.se>2002-03-28 14:28:17 +0000
commit68ee35c679b680cd7083e40a630ca065f14c7c75 (patch)
tree2b873b33b8a613a62379947d1a7cae0a91867c34 /www
parent5c983fc7c56b723af4b8abe84862ec6dbad72292 (diff)
downloadrockbox-68ee35c679b680cd7083e40a630ca065f14c7c75.tar.gz
rockbox-68ee35c679b680cd7083e40a630ca065f14c7c75.zip
Minor updates
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@54 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'www')
-rw-r--r--www/main.t22
-rw-r--r--www/tools.t17
2 files changed, 20 insertions, 19 deletions
diff --git a/www/main.t b/www/main.t
index 8bc8572b7d..42e332ad31 100644
--- a/www/main.t
+++ b/www/main.t
@@ -113,9 +113,11 @@ To subscribe, send a message to <a href="mailto:majordomo@cool.haxx.se">majordom
<h2>About the hardware</h2>
-<p>I wrote a <a href="/isd200/archos.html">"dissection" page</a> some months ago,
+<p>I wrote a <a href="internals/bjorn.html">"dissection" page</a> some months ago,
showing the inside of the Archos and listing the main components.
I have also collected a couple of <a href="docs/">data sheets</a>.
+Also, don't miss the <a href="notes.html">research notes</a>
+from my reverse-engineering the firmware.
<h2>About the software</h2>
@@ -125,24 +127,6 @@ The first thing this version does after boot is to look for a file called
If it exists, it is loaded into RAM and started.
This is how firmware upgrades are loaded.
-<h3>File format</h3>
-<p>The archos.mod file is scrambled, but luckily not using encryption.
-
-<p>Each data byte is inverted and ROLed 1 bit.
-The data is then spread over four memory segments. The two least significant bits of the address is used as segment number and the rest as offset in the segment. So, basically:
-
-<ul>
-<li>segment number = address % 4
-<li>segment offset = address / 4
-<li>segment length = imgsize / 4
-</ul>
-
-<p>A 6-byte header is added to the beginning of the scrambled image:
-<ul>
-<li>32 bit length (big-endian)
-<li>16 bit checksum
-</ul>
-
<h2>Dreams</h2>
<p>Ok, forget about reality, what could we do with this?
diff --git a/www/tools.t b/www/tools.t
index e8d5f33054..c1c72b6044 100644
--- a/www/tools.t
+++ b/www/tools.t
@@ -3,6 +3,23 @@
<h2>Descrambler / Scrambler</h2>
+<p>The archos.mod file is scrambled, but luckily not using encryption.
+
+<p>Each data byte is inverted and ROLed 1 bit.
+The data is then spread over four memory segments. The two least significant bits of the address is used as segment number and the rest as offset in the segment. So, basically:
+
+<ul>
+<li>segment number = address % 4
+<li>segment offset = address / 4
+<li>segment length = imgsize / 4
+</ul>
+
+<p>A 6-byte header is added to the beginning of the scrambled image:
+<ul>
+<li>32 bit length (big-endian)
+<li>16 bit checksum
+</ul>
+
<p>I've written a small utility to descramble the firmware files:
<ul>
<li><a href="descramble.c">descramble.c</a> - 1835 bytes - The source code (pure ANSI C, should work everywhere). GPL licensed.