Archos Gmini Port effort of Rockbox
Gmini Devices which the Port will run on
Note that this porting effort has stalled recently. It seems there's about one person working on this, and he has not been seen around the project for a month or so. Here's the reason: http://donat.org/bboard/viewtopic.php?t=105 (alternative: http://donat.org.nyud.net:8090/bboard/viewtopic.php?t=105). If you want to see this effort continue moving forward, we suggest you start contributing!
This Port of Rockbox will run on the Gmini 120, SP, 200 and 220XS. At the moment the Port is only tested on the SP, because this is the only device the Main Contributor
JeanPhilippeBernardy owns himself. But it will be quite easy to make it run on the 2xx ones, as the only difference is the display which is quite easy to implement. 120 is a superset of SP, so it works just as good as SP.
The Gmini 400 series will not be supported. These devices have a complete different architecure.
Status of the Port
At the moment Rockbox kernel is ported and working. This includes LCD and most of the keys:
For the complete status of this port visit the
gmEmu home page.
If you have problems opening the page you may try to use an
open http proxy, because there have been routing problems to this domain due to DDOS attacks originating in Europe. They also have a project page at
Source Forge.
Todo List
TODO, high priority first
- Document Hardware layout (follow them traces…)
- Gain physical access to the Gmini backdoor
- ‘hello world’ on Gmini 220 & 220XS (120 & SP done)
- Porting Rockbox to the gmini: see drivers list.
- Update CalmRISC16 to current binutils (done, except bug in relocation)
- Make gcc/CalmRISC16 work at -O1
- Asses, in international perspective, legal issues with regard to reverse engineering, hosting of files, etc
Rockbox driver list for Gmini Port:
Task |
Status |
Task scheduler (threading) |
Done |
Kernel (messaging and tick timer) |
Done |
Interrupt handling core code |
Done |
Panic handler |
Done |
LCD driver for 1xx series |
Done |
Font rendering |
Done |
Button driver (ADC) |
Done |
ATA driver |
Almost Done |
Led driver |
Done |
Backlight |
Done |
USB handler |
Done |
“on” button driver |
Done |
Boot Loader |
1% |
Power management |
10% |
LCD driver for 220 series |
1% |
LCD driver for 220XS series |
0% |
I2C driver |
80% |
SPI driver |
0% |
ADC driver (SPI) |
0% |
Remote LCD driver (SPI) |
0% |
Remote button driver (ADC) |
0% |
Audio ADC/DAC driver |
20% |
Decoders/Encoders |
0% |
Background tasks:
- Gather broken Gmini devices for research purposes
- Determine which other non-Archos devices use a CalmRISC16 CPU
- Obtain all possible hardware documentation, datasheets, etc.
- Enhance the emulator to
- support more things
- make it run faster
- allow better debugging
"Roadmap" for the port
Longterm goal is to port Rockbox to Gmini
- LCD driver for rockbox. -> DONE
- Compile & load a minimal rockbox (LCD only). -> DONE The rest of the drivers will be incrementally added.
- Keypad driver. -> DONE
- IDE driver for rockbox. Reading and Writing works -> DONE
This is the point we've reached. Next things to do:
- Make rockbox fit in flash, either:
- support the upgrade procedure inside rockbox; or
- make it small enough to co-exist with Archos’ software
- wav decoder
- Sound driver.
- mp3/wma/ogg player. This needs to be done in software like on the IriverPort. So there is a chance that this can be done more people than only the Gmini Porters. SoundCodecs has the details.
Other Pages of Interest
Copyright © by the contributing authors.