Rockbox.org home
release
dev builds
extras
themes manual
wiki
device status forums
mailing lists
IRC bugs
patches
dev guide
translations



Rockbox mail archive

Subject: Feature added to load and execute application (mod/ajz) from Dir Browse

Feature added to load and execute application (mod/ajz) from Dir Browse

From: <Rdwrockbox_at_aol.com>
Date: Wed, 7 Aug 2002 05:15:07 EDT

This code allows the user to have multiple versions of the firmware on the
disk.

Turn the mp3/mu3 filter off in General Settings. Then browse to select the
mod/ajz file that you would like to execute (doesn't have to be in the root).
 Press your "play" button and the firmware will be loaded and executed.

I have several copies of the firmware using archosmmddyyhhmmss.mod where
mmddyyhhmmss is the timestamp of the build. Switching between the versions
only takes a few seconds. I have the Archos supplied version named
archos503a.mod. Executing that file allows me to go back to the Archos
firmware.

There are two new routines added for this feature. One is in assembly
language, violating the first rule of CONTRIBUTING, but writing
self-relocating code in C would be very painful. I had both files in the
firmware directory because that seems to be the only makefile that handles .S
files.

The attached zip file has the cvs diffs for tree.c and the makefile for the
firmware directory, the two new routines, and the tree.c and firmware
makefile that I have been using.

I make a modified version of scramble that just adds the 6 byte header to the
.bin file and I output to a .rbx file. If the extension is .rbx, the
routines assume that the file has the 6 byte header and is unscrambled.
These files load somewhat faster than mod/ajz files.

I hope that this will persuade more people to try Rockbox since it allows you
go back to the Archos firmware or to compare different versions of Rockbox
without having to connect to a computer.

Enjoy
Randy Wood

Received on 2002-08-07

Page template was last modified "Tue Sep 7 00:00:02 2021" The Rockbox Crew -- Privacy Policy