Squidge
Certified Guru
Ok, the secondary processor seems like an absolute doddle to use for data processing. Wrote some simple asm and got it working under Linux without any problems.
Now, time to try and hack up a compiler and get some GCC compiled code to work on it, and then try and access the hardware.
EDIT: Hmmm, the frame buffer in Linux is in just the right location to be directly accessed by the second core (probably setup that way so direct mpeg decoding to the frame buffer is possible). I've done a few frame buffer effects using the second core - basically, read, modify, write, while other apps run completely unaware on the first core
Me like
One thing that has been learnt from this however is that Linux will only ever be able to be built with 32MB of memory support whilst the mpeg decoding routines are on the second core. The reason for this is that MagicEyes placed the 16MB arm940 buffer base at 0x02000000 (exactly 32MB) and the 1MB code base at 0x03000000 (48MB). This means that 49MB -> 63MB (~14MB) is basically wasted. The only way of getting this back is to compile a kernel without hardware mpeg support.
Now, if GPH decided on a similar setup as the GP32 (just a launcher - no OS as such), then the memory would only be used when you opened the movie player, rather than all the time...
Now, time to try and hack up a compiler and get some GCC compiled code to work on it, and then try and access the hardware.
EDIT: Hmmm, the frame buffer in Linux is in just the right location to be directly accessed by the second core (probably setup that way so direct mpeg decoding to the frame buffer is possible). I've done a few frame buffer effects using the second core - basically, read, modify, write, while other apps run completely unaware on the first core
Me like
One thing that has been learnt from this however is that Linux will only ever be able to be built with 32MB of memory support whilst the mpeg decoding routines are on the second core. The reason for this is that MagicEyes placed the 16MB arm940 buffer base at 0x02000000 (exactly 32MB) and the 1MB code base at 0x03000000 (48MB). This means that 49MB -> 63MB (~14MB) is basically wasted. The only way of getting this back is to compile a kernel without hardware mpeg support.
Now, if GPH decided on a similar setup as the GP32 (just a launcher - no OS as such), then the memory would only be used when you opened the movie player, rather than all the time...