Page 1 of 1

SPU documentation

Posted: Mon Dec 06, 2004 12:30 pm
by Shine
I'm searching documentation how to program the SPU. There are some nice examples, like the AHX player, but I'm missing a full documentation of all registers.

I want to use the ADSR register to play synthesized sounds. For example I've written a sound synthesis program in Lisp ( http://www.frank-buss.de/tmp/ForElise.lisp.txt ) which produces some single voice music ( http://www.frank-buss.de/tmp/ForElise.mp3 ), but with the ADSR registers I don't need to do the ADSR calculation manually and with the many channels I can simplify the handling of overlapped notes, because then I can use new channels for new notes instead of mixing it manually. Then there is only a MIDI interface missing to implement my own professional synthesizer and sequencer :-)

Next week I'll get my Linux kit, but looks like the the SPU is not described in the delivered docs: http://playstation2-linux.com/forum/mes ... g_id=45738

Posted: Mon Dec 06, 2004 1:09 pm
by Guest
SPU docs are not included in the Linux kit. Only official PS2 developers under NDA from Sony have access to such information.

You are limited to the information that has been gleaned from reversing files. So, you have a fantastic opportunity to contribute to the current pool of knowledge on the SPU by your own research, if you are motivated enough. ;)

Posted: Thu Dec 23, 2004 8:12 pm
by jum
You can find a PS1 SPU doc on the "PADUA" site:

http://psx.rules.org/psxrul2.shtml

There's also the source to my PS1 SPU lib v2:

http://www.geocities.com/james7780/PSX/psxprog.html

I also worked out some info on the ADSR envelope timings, I'll see if I can find that doc.

The source code to the SPU plugins for PCSX or ePSXe or PCSX2 should also contain useful info.

I'm also interested in writing a synthesizer proggie for the PS2, possibly supporting a MIDI keyboard.

- Jum