SCU DSP documentation

Hello everyone,

Given that it is common knowledge that the Sega official documentation for the SCU DSP contains several mistakes, could we gather here all we know about this so that we create and maintain an "errata"?

I would find it useful, and I hope others would too...

Cheers,

Jolly
 
Thank you vbt :)

I am looking at the gurus here, please share your information, it would be really precious! I haven't had too much time with the DSP back in the day and I lost all my notes...

Jolly
 
You're more than welcome to look in the MESS/MAME/Mednafen/Yabause source code and document them here.

The fact that CWX, Guillaume, antime, and numerous others have done a lot of work to actually implement the processor, it would be great if you would get the ball rolling here.

I would start with enumerating the instruction set and making corrections on the PDF itself.
 
You're more than welcome to look in the MESS/MAME/Mednafen/Yabause source code and document them here.

The fact that CWX, Guillaume, antime, and numerous others have done a lot of work to actually implement the processor, it would be great if you would get the ball rolling here.

I would start with enumerating the instruction set and making corrections on the PDF itself.

Sounds good, it will just take me much longer to do that if they did it, as I have to compare each operation documented in the PDF with the implementation in the emulator to find discrepancies, whereas the authors certainly know which ones they had to make corrections to.

If noone else takes this up, I will do it, over time...

Jolly
 
You pinged me via PM, but since there's a thread I guess I'll just post my response here. I tried to dig up some documentation/tools back in the day, and always wanted to try a "DMA 'through' the SCU DSP" method (i.e. SCU DMA directly to the DSP data port, which I thought should work), but I never really did much directly with it.

I'd suggest cross-referencing the history of the Yabause SCU code with the manual and see if you find any errors that way:

https://github.com/Yabause/yabause/commits/master/yabause/src/scu.c

Another way to slice this information is to look at the blame data, which lets you correlate commits to lines of code; the main DSP code seems to start here, and has some comments suggestive of errors in old versions of some opcodes:

https://github.com/Yabause/yabause/blame/master/yabause/src/scu.c#L2181
 
Hey, I pinged you on PM just because I could not be sure you would be tracking this thread, thanks for your reply.

That makes a lot of sense, I will try to read through the code changes and at the same time I will try to remember from when I was actually programming the Saturn back then, as I had noticed discrepancies in the documentation, but I forgot all about it...
 
I don't know if it what you're looking for, but a long ago @antime did some documentation and reverse engineering work regarding SCU DSP.
I couldn't find it directly on antime's homepage, but this is located in SaturnOrbit archive -> TOOLS -> scu-dump.txt and scu-dump_src.rar
 
Hello everyone,

Given that it is common knowledge that the Sega official documentation for the SCU DSP contains several mistakes, could we gather here all we know about this so that we create and maintain an "errata"?

I would find it useful, and I hope others would too...

Cheers,

Jolly
Off topic but welcome jolly :)
 
Back
Top