Saturn DSP

Amon

Staff member
Does anyone have any information on the DSP? According to Guillaume the doc is wrong, the simulator is wrong and the DSP is not used much.

Thank you.
 
I assume you mean the SCU DSP, not the SCSP DSP? The main source of information is the SCU documentation and there does seem to be errors in it. The only DSP-related thing I've done is to write a disassembler, and while testing I noticed that the documented instruction encoding didn't completely match existing binaries. Anyway, both Yabause and MAME should contain working emulators which can be used as reference.

I don't know how much the DSP was used, but I can well imagine it being more trouble than it was worth. It has an unusual architecture, and unless you can take advantage of its single-cycle multiplier it's probably faster to use the SH2s for the job. It also adds bus contention etc.
 
Amon said:
Does anyone have any information on the DSP? According to Guillaume the doc is wrong, the simulator is wrong and the DSP is not used much.

Thank you.
Which DSP? There's the SCSP DSP (which is for sound effects) and the SCU DSP (which is for having your data magically transformed/filtered when you DMA it through the SCU, or something like that). Both are poorly-documented.
 
The SCSP DSP I think... the Yamaha FH1 DSP thingy which is virtually the same as the one in the dreamcast?
 
From IRC

<Ex-Cyber> maybe a starting point for comparison: http://hitmen.c02.at/files/docs/dc/aica_v08.txt

<Ex-Cyber> but I never really studied the SCSP

<Ex-Cyber> oh yeah, the SCSP manual has pretty much nothing on the DSP

<Ex-Cyber> just a block diagram and a really vague register map :/

<Ex-Cyber> hmm

<Ex-Cyber> not sure this is direct-linkable but: http://koti.kapsi.fi/~antime/sega/files/ST-228-R1-030596.pdf

<Ex-Cyber> and it doesn't have real instruction encodings

<Ex-Cyber> but seems to give some idea of how it works

<Ex-Cyber> looks like you can basically do difference equations and memory load/store ops, though I could be misinterpreting

* Ex-Cyber takes another look at that block diagram

<Ex-Cyber> heh... the microcode memory is on there but just has an arrow vaguely pointing into the rest of the diagram

<Ex-Cyber> haha

<Ex-Cyber> that happens sometimes in block diagrams when the person drawing it wants to "cheat" and not actually connect two things with a line (e.g. if they're in opposite corners or otherwise would need a lot of snaking around)

<Ex-Cyber> but this one doesn't go anywhere

<Ex-Cyber> it's just like "MPRO(128Wx54b) ---->"

<Ex-Cyber> and I'm guessing that "54" is supposed to be "64"
tongue.gif
 
The documentation for the AICA is available in HTML format here (apparently converted from a PDF with some figures re-drawn by hand). The DSP section contains the instruction format and other bits not included in the SCSP documentation. As the AICA has more functionality you'll need to cross-reference the document with the SCSP document to figure out what info applies to the Saturn and what only to the Dreamcast.

MAME also has SCSP DSP emulation, so you can use the sources as additional documentation.
 
I'm not sure Guillaume talked about the SCSP DSP, I think it's a better guess that it was the SCU's one ...
 
Back
Top