Commit graph

17 commits

Author SHA1 Message Date
Michael Sevakis
05099149f1 Enable nocache sections using the linker. PP5022/4 must use SW_CORELOCK now with shared variables in DRAM (it seems swp(b) is at least partially broken on all PP or I'm doing something very wrong here :\). For core-shared data use SHAREDBSS/DATA_ATTR. NOCACHEBSS/DATA_ATTR is available whether or not single core is forced for static peripheral-DMA buffer allocation without use of the UNCACHED_ADDR macro in code and is likely useful on a non-PP target with a data cache (although not actually enabled in config.h and the .lds's in this commit).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16981 a1c6a512-1295-4272-9138-f99709370657
2008-04-06 04:34:57 +00:00
Michael Sevakis
ef1f7d3bf9 SPC Codec: Ensure no crash occurs on load failure which could cause emulation to be run without a program loaded on dual core (DSP wasn't initialized yet). The load failures come from core buffering not having the atomic audio file fully loaded before the codec requests the buffer (it gets as many bytes as can be provided) which IMHO isn't very atomic :). Changes in thread execution order after dumping spinlocks for general use simply revealed the buffering race condition. No fix for that will be hacked into the codec itself but should be fixed in the core. Add my copyright to files I had a significant part in developing per request of Adam Gashlin.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16154 a1c6a512-1295-4272-9138-f99709370657
2008-01-24 13:35:13 +00:00
Michael Sevakis
a124e1251a Be sure SPC codec runs nicely from the start by using more IRAM when the dual core is done for PP5002. Basically ready, it is.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15808 a1c6a512-1295-4272-9138-f99709370657
2007-11-26 08:02:18 +00:00
Michael Sevakis
1a41c8afee SPC Codec: Run SPC emulation on COP and audio sample processing on CPU on dual-core PortalPlayer targets.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15673 a1c6a512-1295-4272-9138-f99709370657
2007-11-18 19:03:45 +00:00
Michael Sevakis
af2e9cc6e9 SPC/Coldfire: Just use msac.w instead of neg.l/mac.w. It seems fine. Must've been cache aliasing. :-)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15532 a1c6a512-1295-4272-9138-f99709370657
2007-11-08 15:30:47 +00:00
Michael Sevakis
84501494ce Forgot to add a file as usual.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13920 a1c6a512-1295-4272-9138-f99709370657
2007-07-16 21:16:52 +00:00
Michael Sevakis
8552eff9e4 Make the SPC codec run like it used to on Coldfire before -Os crushed it. Build as a lib using the old -O option. Should not impact ARM targets.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13919 a1c6a512-1295-4272-9138-f99709370657
2007-07-16 21:03:25 +00:00
Jens Arnold
bd5c0ad7bb Cast some more to keep both 32 bit and 64 bit simulator platforms happy.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12819 a1c6a512-1295-4272-9138-f99709370657
2007-03-17 10:50:58 +00:00
Michael Sevakis
411f8198b4 Oops. That ICONST_ATTR shouldn't be on the gauss table...yet. I leave experiments in a commit by accident way too much. :P What's the deal with getting SVN to update Id or add it? Nothing seems to work.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12562 a1c6a512-1295-4272-9138-f99709370657
2007-03-03 03:39:18 +00:00
Michael Sevakis
9764e09acb SPC codec on Coldfire: Urgh. There was a whole gain stage I overlooked. :P Kill another several boost points.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12561 a1c6a512-1295-4272-9138-f99709370657
2007-03-03 03:28:13 +00:00
Michael Sevakis
fa9ea27e11 Fix a comment that sounded a bit odd.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12560 a1c6a512-1295-4272-9138-f99709370657
2007-03-03 01:40:55 +00:00
Michael Sevakis
f2b6ecd5fe SPC codec on Coldfire: Move movclrs into the light and out of the long dark shadow cast my emac latency as much as possible. Put in a faster interpolation routine (emac saves the day...again). Add comments about what's going on.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12558 a1c6a512-1295-4272-9138-f99709370657
2007-03-03 01:19:35 +00:00
Michael Sevakis
c2925814ce SPC Codec: Fix an overflow issue in echo with left shifting by 9 that showed on some files by using mac.l instead which is ok since the little beastie seems to prefer multiplying things. Mark asm blocks volatile so gcc doesn't get any ideas that the code can be removed as happened to me once already.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12464 a1c6a512-1295-4272-9138-f99709370657
2007-02-23 22:39:12 +00:00
Michael Sevakis
46bb37add6 Fix a mistake in wrapping the echo buffer.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12414 a1c6a512-1295-4272-9138-f99709370657
2007-02-20 13:06:11 +00:00
Michael Sevakis
d31162a9d3 SPC codec: enable echo on ColdFire CPU. Do a couple general small optimizations. Preswap some data when running DSP for big endian.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12410 a1c6a512-1295-4272-9138-f99709370657
2007-02-20 10:27:39 +00:00
Adam Gashlin
4de600b46e Remove dishonest spc amplification
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12301 a1c6a512-1295-4272-9138-f99709370657
2007-02-14 07:33:41 +00:00
Adam Gashlin
b73960d3b9 Adding SPC codec (FS #6542)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12298 a1c6a512-1295-4272-9138-f99709370657
2007-02-14 03:34:55 +00:00