Rockbox Development > New Ports
Dell Digital Jukebox
Bagder:
Interesting stuff to figure out, apart from the PCB scans etc is the upgrade firmware file format.
Also, for everything DM320-based it is worth checking out the Archopen project since they have code actually running already on (Archos) DM320-based targets. I've seen claims they even have sound going (through the DSP that accesses the DAC).
Oh. and of course there's also Neuros OSD that is open source on DM320 hardware, although of course all the really tasty parts aren't open at all...
There is "leaked" DM320 docs out there.
LambdaCalculus:
I'm going to download the firmware updates from Dell and post them on the wiki page when it goes up.
I'm also reading up on Archopen, and I did download the source for it. But it may be some time before I can get any real work done because of school and work. I'll keep you guys posted.
(EDIT-2007/09/01): The (very preliminary) wiki page is up and running here:
http://www.rockbox.org/twiki/bin/view/Main/DellDJPort
(EDIT-2007/09/07): I just spent my entire lunch hour opening up the entire Dell DJ. I'm going to try and get some pictures and scans of the components later on this weekend.
wesmo:
I've been interested in getting a zen xtra port together - if youve looked at the zen touch wiki page (http://www.rockbox.org/twiki/bin/view/Main/CreativeZenTouch) you'll notice that all of the information there is relevant to the dell dj port (considering they are all njb 3 players).
It's possible I could get hold of another Zen Xtra and donote it to rockbox if there are some developers interested?? :)
Most of the work on the zen vision port (http://forums.rockbox.org/index.php?topic=3320.0) should be relevant too - since the playsforsure firmwares that were available are similar.
LambdaCalculus:
What I have found is that Creative seems to have kept consistency with their players. When I removed the hard drive from the Dell DJ and plugged it in, it boots into a Rescue Mode, with options to format the hard drive, reload the firmware, check the hard drive for errors (if it's present), or reboot the device. This is very similar to some of the other Creative DAPs.
But it's very hard to navigate the Rescue Mode on the Dell DJ with a bare PCB, because the scroll barrel on the DJ is mounted on the inside of the front case, with small gold contacts that touch five points on the scroll pad. I think it has to maintain a certain amount of contact in order for the barrel to work, but it's hard to hold it down while you've got a bare board. I'll keep trying.
In the meantime, I'll give you the link to the Dell DJ wiki page:
http://www.rockbox.org/twiki/bin/view/Main/DellDJPort
If you have any good info about the DJ, feel free to add it to the page!
zook:
I've been looking at the firmware of various Zen players and discovered something which holds true for the Dell DJ as well.
The FRESCUE segment of the DellDJ_1_20_03.exe firmware is completely unprotected and I've discovered how the contents is mapped into memory.
The FRESUCE segment starts with a header:
--- Code: ---struct R_HEADER {
BYTE Tag[4]; // "CODE"
DWORD Size; // Length of segment, excluding header.
};
--- End code ---
It's followed by a DWORD which I'm not certain what is. It could be an entry point but I haven't remapped my disassembly yet, so I'm not certain.
Then comes an array of section objects:
--- Code: ---struct R_SECTION {
DWORD Address; // The address which Content get's read to.
DWORD RawSize; // The size of the data to read.
DWORD MappedSize; // Not certain about this one. Sometimes it's larger than RawSize, other's it's less.
// My guess it's used to allocate more memory than is present in Content.
BYTE Content[RawSize]; // This is the data that get's copied to Address.
};
--- End code ---
It's worth noting that if you're using IDA you need to select TMS320C55x as processor type. However, there's probably half a dozen of instructions which it doesn't recognize. Such as: ec318e0033e8 AMAR *(#033e8h),XAR0
I've also been looking at TI's Code Composer Studio, which is what the firmware is most likely written in.
The entry point function of any given project contains a unique signature which I've been able to locate within the firmware. I'm not certain if posting disassembly is allowed on the board, so I'll just point you towards the function _c_int00. This function is responsible of intiailizing the environment and calling the 'main' function of your project.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version