dev builds
themes manual
device status forums
mailing lists
IRC bugs
dev guide

Wiki > Main > IriverIfpPort (compare)

Difference: IriverIfpPort (r6 vs. r5)

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.


Collect information In Progress see IriverFP3XX5XXHardwareComponents, IriverIfp7XXSpecs
Decrypt firmware In Progress see IfpCryptanalysis
Overall project In Progress see below

Hardware summary

iFP1xx iFP3xx iFP5xx iFP7xx iFP8xx FP9xx iFP1xxx N10
cpu PhilipsSAA7750PhilipsSAA7750PhilipsSAA7750PhilipsPNX0101PhilipsPNX0101PhilipsPNX0101PhilipsPNX0101PhilipsPNX0101
ram ? ? 8MB ? ? ? ? ?
flash-ROM ? ? 2MB ? ? ? ? ?
usb 1.1 ? ? 2.0(ISP1582BS) 2.0(ISP1582BS) 2.0 1.1 ?

Iriver iFP 790 Backdoor

TomekMalesinski: 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.

Warning: 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 run it:

./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):

31def10bf772f80f6b4d7d2fdfd5a001  IFP-7XXT_new.HEX

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 only. Flash memory and audio are files on not supported yet. Shutting down does not work too, you have to remove the battery from flash disk. Some plugins also work. Non-working plugins, as well as some of the player to switch it off. working ones, require correction of buttons assignment and adjustment of graphics. Recently the port was committed to CVS on Jan 11, 06 and basic key definitions have been 06. From now on, new versions will added, allowing plugins to compile. Other useful iFP files and tools can be found 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.bin should have .wma extension on the player. Otherwise it will not be possible to run it.

Task scheduler (threading) Done
Kernel (messaging and tick timer) Done
Interrupt handling core code Done
LCD driver Done
Backlight Done
Flash disk driver 20% (currently no writing and supports 256 MB models only)
Button driver Done
Plugins 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 0%
I2C? driver 0%
CPU frequency changing 0%
Audio ADC/DAC driver 0%
bin_patch.ccbin_patch.cmanage 0.8 K 19 Nov 2005 - 23:25TomekMalesinski Firmware patcher
ums129eu.patchpatchums129eu.patchmanage 0.6 K 19 Nov 2005 - 23:26TomekMalesinski UMS 1.29 EU backdoor

r8 - 11 Apr 2007 - 19:58:41 - PaulLouden

Revision r6 - 19 Jan 2006 - 00:08 - TomekMalesinski
Revision r5 - 12 Jan 2006 - 02:32 - TomRoss
Copyright by the contributing authors.