|
Rockbox mail archiveSubject: Ladies and Gentlemen, we have sound (on iriver iFP)Ladies and Gentlemen, we have sound (on iriver iFP)
From: Tomasz Malesinski <tmal_at_mimuw.edu.pl>
Date: Mon, 20 Feb 2006 02:16:39 +0100 I managed to implement preliminary audio support for Rockbox on iriver iFP790. I have not prepared a clean patch yet and I am not sure if I will have time for Rockbox in the following week, so I just put what I currently have to the patch tracker: https://sourceforge.net/tracker/index.php?func=detail&aid=1434898&group_id=44306&atid=439120 The patch includes some changes not directly connected with audio support, like keybindings and a bugfix for flash disk support. There are several problems with audio support on iFP. The biggest one is small amount of memory. There is probably only 1 MB of DRAM and 64 kB of internal SRAM. I have not opened the player, so I am not sure what DRAM chip is actually inside. However, DRAM is located at 0x24000000 and USB chip is located 1 MB further at 0x24100000. Trying to access memory at 0x24200000 freezes the player. I reduced the malloc buffer from 512 kB to 40 kB, which is too little for the Ogg Vorbis codec, which requires at least 120 kB (according to a test in the emulator with 2 MB of DRAM). There is a low mem branch of the Tremor. I have not tested it, although it probably requires more CPU power. Because of this I think we have to make some kind of configuration system in which memory hungry features, like unicode support could be disabled. Also there is a need for IRAM prioritization support which has been talked about recently. iFP790 has only 64 kB of IRAM. I also have a problem with CPU power. The mp3 codec does not work in real time yet. I believe that I enabled the cache for DRAM and configured CPU speed in the same way as the original firmware does it for Ogg Vorbis playback. Of course without PNX0101 datasheet I can't be sure. Maybe a change to what is stored in IRAM what in DRAM would help here. The only tested and working codec is WAV. Sound playback sometimes does not start. Pausing and resuming helps in this case. We should also find a way to smoothly shut down the audio hardware. Currently there is a quite loud noise during power off. I wonder if the audio codec in PNX0101 is a custom one or if it is similar to some codec with publicly available datasheets. I have to take a look at it. All the decoding is done in software. I don't know anything about the DSP core in PNX0101. The original firmware seems not to use it for Vorbis decoding (I managed to decode a piece of a song in my emulator, which does not emulate the DSP), although it probably uses it for mp3 decoding (when I play an mp3 file in the emulator, the spectrum analyzer does not work, but it works during Vorbis playback; I have not looked at it further). I have not traced communication of the original firmware with DSP, so I can't tell if we could use it to implement equaliser, mp3 decoder, encoder or use it with other formats. -- Tomek MalesinskiReceived on 2006-02-20 Page template was last modified "Tue Sep 7 00:00:02 2021" The Rockbox Crew -- Privacy Policy |