Rockbox Technical Forums

Rockbox General => Rockbox General Discussion => Topic started by: akg on January 19, 2007, 11:52:09 AM

Title: iPod 3G: What is needed for further development?
Post by: akg on January 19, 2007, 11:52:09 AM
I have Rockbox on my Iriver H140 and love it.  I also put it on my 5G 30gig video.  I got my old 3G out and loaded it on there, but alas it does not work well enough for me to use daily.  I understand that none of the developers (or not many) have a 3G.  I am not a coder or developer, but is there any way I can help with this port?  I really like my 3G and if I can be used as a tester, etc. I would like to help.

Thanks!
Title: Re: iPod 3G: What is needed for further development?
Post by: saratoga on January 19, 2007, 11:58:55 AM
A few people have picked up the 3G port over the last year, but ran into the following issues:

1)  Its reasonably different then later ipods, so not everything can be used as is with it.
2)  The CPU is a lot slower then later ipods.  Already, the Ipod port suffers from CPU issues, so this is a big problem.
3)  The 3G is old, and a lot of people didn't care for the button arrangements, so theres not a huge amount of interest for it.

As the other PP ports mature, the 3G port will become a lot more usable just because of the improved codec performance.  Additionally, whenever PP dual CPU support becomes stable enough to add to CVS, there will probably be a pretty big improvement (though some adjustments may be needed for it to work with the 3G).  

At that (probably distant) point, its mostly an issue of someone being interested enough to work on the remaining hardware issues, CPU frequency scaling, and porting over code from the other PP targets.  I'm not too sure it'll happen though.  By then used 5Gs and Nanos will be cheap, so people may just decide to buy an old one off ebay rather then spend all the time to make Rockbox work well on an even older 3G.
Title: Re: iPod 3G: What is needed for further development?
Post by: Llorean on January 19, 2007, 12:02:52 PM
Just as a minor note, the CPU itself isn't actually slower (it's still at 75mhz like the others), but the cache on the CPU is 'broken' making the CPU not able to benefit from it in the same way it does on the other iPods, if my understanding is correct (and more specifically if I've simplified it in a way that still preserves the idea).
Title: Re: iPod 3G: What is needed for further development?
Post by: akg on January 19, 2007, 12:34:01 PM
I really like the button arrangement on the 3G and the style of it.  I would love to get it running like my iHP-140 and if there are any testers or whatever needed I would love to help.  I would just use the Apple software but all my files are in FLAC!
Title: Re: iPod 3G: What is needed for further development?
Post by: saratoga on January 19, 2007, 12:36:55 PM
Yeah internally the 3G is still a dual ARM7 core, so the CPU is exactly the same, but the IO logic is really screwed up, so in practice its equivalent to maybe a little better then a the 5G at 35 or 40MHz.  Unless you put a lot of work into the code, it'll basically only do actual work on every other clock cycle.

Edit:  At least thats the impression I got from the iPL people ages ago.  I could be off.
Title: Re: iPod 3G: What is needed for further development?
Post by: akg on January 19, 2007, 01:02:21 PM
I suppose there's no way to make the Apple firmware play FLAC files?
Title: Re: iPod 3G: What is needed for further development?
Post by: linuxstb on January 19, 2007, 01:20:30 PM
I'm surprised FLAC doesn't work on the 3G - it's one of the most CPU efficient codecs in Rockbox.

Have you tried the normal CPU-load-reducing tricks such as switching to a WPS without a peakmeter, disabling the software EQ, using a simple WPS ?

What exactly is stopping you from using it on a daily basis?
Title: Re: iPod 3G: What is needed for further development?
Post by: akg on January 19, 2007, 01:34:53 PM
I was using it just how it came "out of the box".  I haven't disabled the peakmeter but I'm using the simple WPS.  It does decode and play FLAC as far as I've been able to tell, but the operation of the menus and wheel are very slow and half of the time it freezes when trying to load a song or folder.  
Title: Re: iPod 3G: What is needed for further development?
Post by: akg on January 19, 2007, 07:35:28 PM
It really isn't the FLAC playback that is the problem; it's navigating around.  It's hard to navigate even when it's not playing, but it gets worse during audio playback.
Title: Re: iPod 3G: What is needed for further development?
Post by: dan_a on January 20, 2007, 05:24:29 AM
There are two things that will help, but you will need to be compiling your own build.
The freezing is caused by frequency scaling - it has only started freezing as the code has got quicker so the CPU has been able to lower its speed.  There is a line in firmware/export/config-ipod3g.h which says "#define HAVE_CPU_FREQUENCY_SCALING" - delete this line to improve stability (at the cost of some battery life.)

The interface is very laggy because Rockbox tries to prioritise playing audio over anything else.  In one of the header files there will be a line which says "#define HAVE_PRIORITY_SCHEDULING".  Remove this to make the interface less laggy (at the cost of music possibly skipping more.)

Being on the While Playing Screen is very processor intensive.  If you exit out of that into the main menu when playing music, you should not get skips.

Note that I might have got the filenames and #defines slightly wrong - I've not got the code in front of me to confirm them.
Title: Re: iPod 3G: What is needed for further development?
Post by: akg on January 20, 2007, 07:23:59 PM
Thanks.  I'll have to look into compiling myself.  Is there a reason why the interface is laggy without music even playing?