FS#5226 - Remove icode and long-calls from PP502x iPod builds

Attached to Project: Rockbox
Opened by Dave Chapman (linuxstb) - Monday, 24 April 2006, 16:11 GMT
Last edited by Peter D'Hoye (petur) - Monday, 13 August 2007, 21:24 GMT
Task Type Patches
Category Build environment
Status Closed
Assigned To No-one
Operating System All players
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No


The attached patch removes all code from IRAM on the PP502x ipods (but leaves it there for the 3g) and removes the -mlong-calls GCC option. This reduces the size of rockbox.ipod from 376692 bytes to 323704 bytes.

Some brief testing with an MP3 file on my 4G Color ipod gave about 74% boost ratio with CVS Rockbox, 75% boost with this patch, and about 90% boost if I disabled the use of IRAM completely, but more thorough testing would be useful before deciding if this is to be committed to CVS.

This task depends upon

Closed by  Peter D'Hoye (petur)
Monday, 13 August 2007, 21:24 GMT
Reason for closing:  Out of Date
Additional comments about closing:  <linuxstb> I think amiconn's fixes (which IIUC have removed most long calls) probably make it obsolete.
Comment by David Brown (ep0ch) - Friday, 28 April 2006, 20:30 GMT
FLAC with EQ on, gained just 1% boost with this patch.
MOD (without EQ) also gained 1% with patched applied.

running on 5g
Comment by Mick (mickgoanna) - Thursday, 11 May 2006, 06:09 GMT
works for my nano
Comment by Chris (decayed.cell) - Sunday, 14 January 2007, 10:16 GMT
Needs updating if this still works... or is it in SVN already?
Comment by Barry Wardell (barrywardell) - Tuesday, 31 July 2007, 12:16 GMT
This patch is out of date, but I just tested the attached updated version on my H10 with a test FLAC file. With the code in IRAM, i get 393.20% realtime. Moving the code out of IRAM using the attached patch, I get 392.25% realtime.
Comment by Peter D'Hoye (petur) - Sunday, 05 August 2007, 00:18 GMT
Dave, are you going to bring up to date and commit?