Index page for the Iriver Ifp Rockbox porting effort
Rockbox is finally being ported to iRiver's iFP device, at least to iFP790; this page is to help coordinate the effort.
Iriver iFP 790 Backdoor
: I created a way to run custom code on iFP790. I patched the firmware in such a way that instead of playing
files with .wma extension it treates them as code and executes them. The patched firmware loads at most 1MB of a file at 0x24000000 (although I am not sure if there is whole 1MB) and jumps to that address storing return address in LR, so the executed
code can return just like a regular subroutine. The patch also disables the Ogg Vorbis low bitrate limit.
I am not responsible for any damages caused by the patch.
In order to create the patched firmware, download the firmware version UMS 1.29 EU
and two attached files: bin_patch.c and ums129eu.patch. Unzip the original firmware. Compile the bin_patch.c program and
./bin_patch IFP-7XXT.HEX IFP-7XXT_new.HEX <ums129eu.patch
The new file IFP-7XXT_new.HEX should have the following MD5 checksum (do not copy it to the player if it is different):
Now you can upgrade your player with a new firmware. Remember about the above warning, but if you have fresh batteries
everything should go fine.
iFP7xx Rockbox Port
The current version of the port allows a user to browse the menu and files on the flash disk. Some plugins also work. Non-working
plugins, as well as some of the working ones, require correction of buttons assignment and adjustment of graphics.
Recently the port was committed to CVS on Jan 11, 06. From now on, new versions will be available in CVS, the project page at
will still contain the iFP emulator. The emulator, however, will probably be
also commited to CVS in the near future.
The rockbox binary should have .wma extension on the player. Otherwise it will not be possible to run it.
| Task scheduler (threading)
| Kernel (messaging and tick timer)
| Interrupt handling core code
| LCD driver
| Flash disk driver
|| 20% (currently no writing and supports 256 MB models only)
| Button driver
|| 70% (require buttons and graphics adjustments)
| GDB stub
|| 60% (USB serial driver and part of the stub implemented)
| Power handling
|| 20% (power off implemented)
| RTC driver
| I2C? driver
| CPU frequency changing
| Audio ADC/DAC driver
Copyright © by the contributing authors.