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

Rockbox mail archive

Subject: ifp7xx port state (was Re: tomal: uisimulator/sdl ...)

ifp7xx port state (was Re: tomal: uisimulator/sdl ...)

From: Tomasz Malesinski <>
Date: Sat, 19 Aug 2006 21:03:44 +0200

On Fri, Aug 18, 2006 at 03:42:42PM -0500, Paul Louden wrote:
> I vote requesting a proper bootloader, rather than the .wma hack.
> Other than that, from what I've read about the progress, limited
> playback is available and it works on 256mb and 512mb units.

I will probably never make a bootloader similar to the iriver H100
bootloader, ie. one that does not require running at least a part of
the original firmware. To do this I would require a way to recover a
dead player, because probably the first try to initialize the player
with my code only would be unsuccessful. PNX0101 documentation is not
public, so we do not know how to connect a BDM wiggler. However, I
will try to make a bootloader that starts after the original firmware
initializes the player and before it goes to the main user interface.
I do not know yet how to do it in a relatively safe way, but it should
be possible.

The current hack has one drawback. The player remembers which file it
starts to play and if it is the Rockbox code, then after reboot the
next file will be played. If this is another .wma file, it will be

I have just committed two patches that allow compilation of the
ifp7xx simulator. The normal build still does not compile. There are
still problems with small amount of memory. The problems are:

- small amount of IRAM. I have put a patch to the patch tracker that
  allows controlling what goes to IRAM:
- small codec buffer. The recent changes in apps/playback.c made
  things worse. There is no memory for one or two additional codecs
  for voice support on iFP. To solve this we could assume that one of the
  codecs is wav which is very small.
- static buffers in the vorbis codec in sharedbook.c. Either we should
  allocate it with malloc, which will waste space in the malloc buffer
  (the buffers are only needed during initialization) or find some
  temporary space somewhere else

I have also two ideas for memory savings:
- reuse codecs iramcopy area for codecs bss space. Am I correct that
  iramcopy area is not needed after initialization?
- compress code page tables for unicode support. Quick tests showed
  that a variant of RLE allows to save ~40 kB (which is quite a lot
  for me).
You may add ifp7xx sim target to CVS builds, but please note that I
will be off-line for the following two weeks, so I will not be able to
fix anything.

Tomek Malesinski
Received on 2006-08-19

Page was last modified "Jan 10 2012" The Rockbox Crew