• Rise from your gwave!

SCU DSP documentation

Discussion in 'Saturn Dev' started by jollyroger, May 15, 2017.

  1. jollyroger

    jollyroger New Member

    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
     
  2. vbt

    vbt Staff Member

    sure and you're welcome here !
     
  3. jollyroger

    jollyroger New Member

    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
     
  4. jollyroger

    jollyroger New Member

    Come on guys, no love for this? Cyber? Antime?
     
  5. mrkotfw

    mrkotfw New Member

    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.
     
  6. jollyroger

    jollyroger New Member

    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
     
  7. ExCyber

    ExCyber Staff Member

    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
     
  8. jollyroger

    jollyroger New Member

    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...
     

Share This Page