#define _PAGE_ Tools #include "head.t"

Descrambler / Scrambler

The archos.mod file is scrambled, but luckily not using encryption.

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:

A 6-byte header is added to the beginning of the scrambled image:

I've written a small utility to descramble the firmware files:

...and one to scramble files:

Disassembler

I found a nice public domain SH-1/SH-2 disassembler written by Bart Trzynadlowski, called sh2d:

Update: I've added address lookup and register name translation to the disassembler (2001-12-09)

Compiler

GCC supports the SH processor. Just cook yourself a cross-compiler (sh-elf-gcc) and voila, instant SH-1 code.

There are also pre-cooked RH7.1 RPMs available from sh-linux.org, although some people have reported difficulties getting Rockbox to work with this.

Felix Arends has written a page about setting up an SH-1 compiler for Windows.

Justin Heiner has built a win32 cross compiler for cygwin users. #include "foot.t"