Welcome to
 Welcome to riocar.org! Friday, August 6th 
Main Menu
· Web Links
· Downloads
· BBS/Forums
· Lens Compare
· Boot Logos
· Button Guide
· Developer Info
· Drive Upgrade
· FAQ
· Geek Guide
· Photo Gallery


  
rio car dot org Developer Information



Category: Main -> Disk Partitions

 
·   Default Partition Layout
·   The Dynamic Data Partition (hda3)
·   Song File Structure

 
·  Default Partition Layout
 (Entry last updated on February 5th, 2003)

Your Empeg's primary hard drive, hda, has five partitions which are created by the Empeg Upgrade Wizard. This table summarizes what each partition is used for, as well as the file system type, and the default size:

PartitionContentsFS TypeSize (Megabytes)
hda2Free for developer use (user applications, /usr partition, etc.)ext232
hda3The Empeg player application's dynamic data partitionraw (custom format)16
hda4Music, databases, and player configurationext2Approx. 80 megs less than the size of your drive
hda5The root Linux partition (/)ext216
hda6Swap partitionswap16

Contributed by Tony Cebzanov

Back to Top
·  The Dynamic Data Partition (hda3)
 (Entry last updated on February 5th, 2003)

Disclaimer:
While this information applies to all software versions between 1.00 and 2.00 inclusive, it will become incorrect after that. Also, because the player app doesn't expect 3rd party apps to be writing to this partition, any user apps wishing to write to this partition should keep a backup in case bad things happen.

So you've got /dev/hda3. It's 16 megabytes long, or 32,768 sectors of 512 bytes. Sectors 4,096 to 32,767 inclusive contain the dynamic data, one sector per FID. So the data for, say, FID 0x4230 would be at sector 4,096 + 0x423.

Each sector contains a 2-byte length field, a 2-byte CRC field, and a data structure the prefix of which is described in lib/protocol/dyndata_format.h in an emptool source release. The CRC algorithm, which obviously only applies to the main data structure and not the length and CRC fields, is the "CRC::CRC16" algorithm from lib/protocol/crc.h in an emptool source release. None of this has changed substantially since before v1.00, although the structure length has increased and some fields were never filled in in older releases.

As you'll have spotted, this imposes a maximum of 28,672 files on the player (in fact, sixteen less than that, because the first fid is 0x100 not 0). So at some post-2.0 point, we'll rejig it to store several fids' data per sector, and whatever tools you're going to write with the information in this post will break.

Of course, tools which use lib/protocol to read and write dynamic data, like emptool does, will be insulated from this change.

(The other hard limit I mentioned is on the size of playlist that can be remembered over a shutdown: this information is stored in the first 512 sectors, in a way which changed between v1 and v2.)

Contributed by Peter Hartley

Back to Top
·  Song File Structure
 (Entry last updated on February 13th, 2005)

Roger Lipscombe has prepared an excellent guide to the song file structure, it can be found here.

Back to Top


Copyright © 2001-2024 riocar.org
All logos and trademarks on this site are property of their respective owners. The comments are property of their posters.