release
dev builds
extras
themes manual
wiki
device status forums
mailing lists
IRC bugs
patches
dev guide



Search | Go
Wiki > Main > GminiPort

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…)
    • DSP, sound
  • 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


r27 - 02 Apr 2021 - 20:46:06 - UnknownUser

Copyright © by the contributing authors.