dev builds
themes manual
device status forums
mailing lists
IRC bugs
dev guide

Rockbox mail archive

Subject: ATA field test (Was Re: File system corruption)
From: Jens Arnold (
Date: 2004-03-06

Hello all,

as you may know, some people had problems with an assembler
optimized disk reading routine recently, so this routine had to
be taken out again.

As it would nevertheless be a good thing to have a fast disk
reading routine, I have prepared a special test build of rockbox
to perform a field test.

This test should give us a clue "how far we can go" in
optimizing the disk reading without corrupting anyone's hard

The test build is _safe_ for normal rockbox use, since
it uses the slow, safe reading routine by default. The
"advanced" routines are _only_ accessed by a special test plugin
which never writes data back to disk and is thus also safe.

Here is what I would ask you to do:

1. Get the special test build for your Archos model:

   Recorder FM:
   Recorder v2:

   (No version for the player. Sorry, I really don't know how I
   should squeeze the output in 2 lines.)

   If someone is interested in the source, it can be found at (only files
   modified against current cvs)

2. Unzip it to the root of your Archos. You will get 3 files.

3. Start your box _and_ ROLO into "ajbrec-test.ajz". If you
   don't rolo, you will get a funny "IllInstr" exception error
   afterwards (wouldn't hurt your box permanently).

4. Be sure to use a small font, because otherwise not all
   information fits in the display space. If you don't have a
   small font handy, the included "rockfont-8.fnt" will fit

5. Start the test plugin, "test-ata.rock". This will run for
   about 4 minutes. If the plugin has finished, note down the
   results (the lower 4 lines).

   (For those who are curios what the plugin does: The test
   build contains several disk reading routines with different
   The plugin first grabs the mp3 play buffer. It then uses the
   buffer to read in the beginning of the hard disk (as much
   as fits into the buffer). It does this three times for each
   speed setting and data alignment, each time calculating a
   checksum. Afterwards it compares the checksums. If not all
   three checksums are equal, it outputs "Error", else it
   displays "ok" and the time needed to read the data.)

6. Go to the debug menu (F1->Info->Debug (Keep out!)) and
   extract some information from there. (See below)

7. You can now delete the 3 files from the root directory of
   your Archos (ajbrec-test.ajz, rockfont-8.fnt, test-ata.rock)

Example Report (my box):

Model: Archos Jukebox Recorder 20

(following data is from Debug->View HW info)

ROM: 1.28
Mask: 0x0302
USB: positive
ATA: 0x200, master

(following data is from Debug->View disk info)

Model: IC25N020ATCS04-0
Firmware: CA20A71A
Power mgmt: enabled
Noise mgmt: unsupported
Read-ahead: enabled
PIO modes: 0 1 2 3 4
Cycles times: 240ns/120ns
IORDY support: yes
IORDY disable: yes

(test results from the plugin)

S0: ok 1.18s / ok 1.49s
S1: ok 0.94s / ok 1.17s
S2: ok 0.79s / ok 0.81s
S3: ok 0.69s / ok 0.83s

If you are one of the users which experienced file system
corruption, it is likely that you will get a reading "Error"
instead of "ok" and a time. This is important!

Regards, Jens


Page was last modified "Jan 10 2012" The Rockbox Crew