[RFC] PS3 SPU Demo Harness

Technical discussion on the newly released and hard to find PS3.

Moderators: cheriff, emoon

Post Reply
User avatar
jbit
Site Admin
Posts: 293
Joined: Sat May 28, 2005 3:11 am
Location: København, Danmark
Contact:

[RFC] PS3 SPU Demo Harness

Post by jbit »

Hi,
I'm looking into making a harness for PS3 Linux that's similar to the PS2s VU Harness ( http://playstation2-linux.com/projects/vudemocontest ). I'm thinking it'd be nice to have something like the third creation compos for this harness, and maybe a prize backed competition like the fourth creation in the future....

Basically it's just a PPU program that loads an SPU program and then provides a standard interface to hardware. The whole point of the harness demos is to show what the VUs (on PS2) and SPUs (on PS3) can do. So you get no access to main memory, no file I/O, etc.... So your program needs to fit and run only within local store...

I'm currently thinking that the harness should provide the following:

* Access to one or more SPUs (different compos could have different SPU limits)
* Access to a sound buffer in main memory (44.1KHz, Stereo, 16bit?)
* Access to a frame buffer in main memory (640x480 32bit colour?)
* Input from a SIXAXIS pad

The harness will be for Linux right now since PS3SDK isn't ready yet, but there's no reason why demos developed for the Linux harness couldn't run on a harness written for PS3SDK.

I'm also thinking of making a simple kernel/initrd combo for the harness so interested developers don't have to mess around with Linux if they don't want to.

Just wondering if anybody has any comments, suggestions, etc.
Oobles
Site Admin
Posts: 347
Joined: Sat Jan 17, 2004 9:49 am
Location: Melbourne, Australia
Contact:

Post by Oobles »

When you have the harness ready I'd be happy to put up a prize or two for a competition.

Nice work!

David. aka Oobles.
jonathan
Posts: 23
Joined: Fri Sep 21, 2007 12:18 pm
Location: Tasmania, Australia

Re: [RFC] PS3 SPU Demo Harness

Post by jonathan »

jbit wrote:I'm currently thinking that the harness should provide the following:

* Access to one or more SPUs (different compos could have different SPU limits)
* Access to a sound buffer in main memory (44.1KHz, Stereo, 16bit?)
* Access to a frame buffer in main memory (640x480 32bit colour?)
I'd like to see it able to be configured to different resolutions - and support for a/v output to disk (or something like that) would be tasty.

Also, would some kind of timer (or signal) be appropriate/necessary for syncing fb swaps?
* Input from a SIXAXIS pad
Sounds good, I'm looking forward to it :)
ouasse
Posts: 80
Joined: Mon Jul 30, 2007 5:58 am
Location: Paris, France

Post by ouasse »

this is definitely interesting. I might spend some hours during next summer trying to get stuff out of my ps3 ! :)
User avatar
jbit
Site Admin
Posts: 293
Joined: Sat May 28, 2005 3:11 am
Location: København, Danmark
Contact:

Post by jbit »

Yup, you'll definitely be able to configure resolution, how many SPUs are allowed, audio settings, scaling of output, possible buffers available in main ram, etc. Maybe different compos can have different settings, I think some multi SPU compo (still no PPU) could be fun.

I hadn't thought about video/audio saving to disk, but I guess it shouldn't be too hard, maybe pipe the output into mencoder for compression.

Synchronisation of SPU to frame flips and audio buffers is definitely an issue I'm thinking about, not sure what solution I'll use yet though.

I'm hoping to have something resembling usable by Monday, the harness should be able to run on any PS3 currently running Linux but I'd really like to get a minimal Linux running from memory cards to. Hopefully this will get some coders who don't want to mess with Linux working on the PS3.

The harness will not run on SPUs, you'll have pretty much full rein of the SPUs setup, no libraries, languages, runtimes, etc will be required (though obviously you'll need to pay attention to certain messages)
jonathan
Posts: 23
Joined: Fri Sep 21, 2007 12:18 pm
Location: Tasmania, Australia

Post by jonathan »

Let me know if you need a beta tester.
ouasse
Posts: 80
Joined: Mon Jul 30, 2007 5:58 am
Location: Paris, France

Post by ouasse »

jbit wrote:Synchronisation of SPU to frame flips and audio buffers is definitely an issue I'm thinking about, not sure what solution I'll use yet though.
SPU mailboxes really are what you need. They have been created for synchronization purposes.

Just let the PPE send a message to all SPEs at each new frame flip, maybe containing an index in a screen array for the next frame to be drawn.

concerning the audio I guess just one SPE thread should be allowed to access the audio buffer. This would make things easier.
Post Reply