Saturn Modchip help

Discussion in 'Sega Saturn Programming and Development' started by billcosbymon, Apr 13, 2014.

  1. billcosbymon

    billcosbymon Guru Meditation Error

    Joined:
    Dec 31, 2009
    Messages:
    660
    Likes Received:
    48
    I can't seem to find the any info on the SSB-03 modchip, I'm trying to find out where the signal point is for the modchip. I also have a Sanyo 610-6473-30 drive if that makes a difference.
     
  2. TriMesh

    TriMesh Site Supporter 2013-2017

    Joined:
    Jul 3, 2008
    Messages:
    2,324
    Likes Received:
    750
    I think the SSB-03 is one of those designs that just has two chips, the PIC and a PAL? If so, try wiring the clock to pin 6 on the PAL. That's generally where the 8.4MHz goes.
     
  3. billcosbymon

    billcosbymon Guru Meditation Error

    Joined:
    Dec 31, 2009
    Messages:
    660
    Likes Received:
    48
    Yeah, it's only 2 chips. I have no idea what the pin 6 would be.
    [​IMG] [​IMG]
     
    Last edited: Apr 13, 2014
  4. TriMesh

    TriMesh Site Supporter 2013-2017

    Joined:
    Jul 3, 2008
    Messages:
    2,324
    Likes Received:
    750
    The looks like it's set up to get the clock from pin 1 (the 33MHz clock signal from the main board). If you want to use an external clock, you have to cut a trace before soldering on the wire.

    Test it first, since it may well work just as it is.


    Ymuhd6Cl.jpg
     
    Last edited: Apr 13, 2014
  5. billcosbymon

    billcosbymon Guru Meditation Error

    Joined:
    Dec 31, 2009
    Messages:
    660
    Likes Received:
    48
    Thanks, I'll check it out tomorrow.
     
  6. billcosbymon

    billcosbymon Guru Meditation Error

    Joined:
    Dec 31, 2009
    Messages:
    660
    Likes Received:
    48
    It doesn't seem to be working on my sanyo drive. it works fine on my american saturn but that one doesn't have a sanyo drive.
     
  7. APE

    APE Site Supporter 2015

    Joined:
    Dec 5, 2005
    Messages:
    6,416
    Likes Received:
    138
    Sanyos don't play nice generally speaking. That chip works great in 64pin Saturns in my experience.
     
  8. billcosbymon

    billcosbymon Guru Meditation Error

    Joined:
    Dec 31, 2009
    Messages:
    660
    Likes Received:
    48
    Yeah, it works great in my 64pin saturn too.
     
  9. Druidic teacher

    Druidic teacher Officer at Arms

    Joined:
    Jun 6, 2006
    Messages:
    3,643
    Likes Received:
    129
    x
     
    Last edited: Jun 22, 2017
  10. TriMesh

    TriMesh Site Supporter 2013-2017

    Joined:
    Jul 3, 2008
    Messages:
    2,324
    Likes Received:
    750
    You have said this repeatedly, but it's simply not true. They are not the same signal and they are different frequencies - to be precise, one is 4 times the other. To be more precise, it used to be 8.4MHz on the old drives with the on-board 33MHz xtal, but was switched to 33MHz on the later models.

    These were taken from a Japanese VA11 board with an EXL-P608 drive S/N A8F040790

    Upper: Pin 1 on ribbon cable
    PIN 1 on ribbon.jpg
    Lower: Pin 14 on the CD IC401
    Pin 14 on IC401.jpg
     
    Last edited: Apr 15, 2014
  11. Druidic teacher

    Druidic teacher Officer at Arms

    Joined:
    Jun 6, 2006
    Messages:
    3,643
    Likes Received:
    129
    x
     
    Last edited: Jun 22, 2017
  12. Calpis

    Calpis Champion of the Forum

    Joined:
    Mar 13, 2004
    Messages:
    5,906
    Likes Received:
    21
    There is no signal point, the 8.47 MHz clock is expected to be on the ribbon connector. Is that not the case with this Saturn? I'm quite positive the modchip isn't capable of dividing the 33.87 MHz clock itself so a couple of D flip flops or a synchronous counter is necessary. I'd go with a 74AC(T)161 in case it's necessary to align the clock phase using another signal as reference (the modchips with their own oscillators get around this somehow).
     
  13. Druidic teacher

    Druidic teacher Officer at Arms

    Joined:
    Jun 6, 2006
    Messages:
    3,643
    Likes Received:
    129
    x
     
    Last edited: Jun 22, 2017
  14. TriMesh

    TriMesh Site Supporter 2013-2017

    Joined:
    Jul 3, 2008
    Messages:
    2,324
    Likes Received:
    750
    You have BCLK, which is 8.4MHz most of the time (I have a feeling it drops down to 4.2MHz when playing audio CDs, though) - this is in it's usual place on pin 14 and also on pin 9 (physically connected together) Apart from the 33MHz clock on pin 1, that's the only stable clock on the connector, but attempting to use it as the replacement for the 8.4MHz that used to be on pin 1 results in flaky behavior. I'm not quite sure why this is - my first guess was metastability issues (since the PIC pins change of the rising edge of the clock in Q1 and it's the same signal that's being used to clock the PAL), but since inverting the clock didn't seem to make any difference I guess not.

    The same machine and modchip is, however, entirely stable if you derive the clock from the 8.4MHz on pin 14 of the sub-CPU. No idea why. Possibly aliens.

    edit:

    OK, I just checked again, and the only way you can get 8.4MHz out of BCLK is when the drive has got confused. if the drive initializes properly, it sets BCLK to 4.2MHz and LRCLK to 88.2KHz (24 bit cells, x 2 channels), and then drops down to 2.1MHz (44.1KHz LRCLK, 24 bit cells) when it goes into audio mode. When you actually play the CD, LRCLK stays at 44.1KHz, but BCLK goes to 2.822MHz, presumably indicating a transition to 32 bit I2S cells. Under certain unclear conditions, I've also seen it step up to 5.6MHz while reading a Saturn disc.

    This also means that the real mystery was why it worked even once, since it's the wrong frequency...

    On this specific drive, the signals seem to be as follows:

    1: 33MHz clock
    2: GND
    3: Drive status info
    4: Drive commands
    5: Command / status byte sync line
    6: CD Frame marker - 60Hz in idle, 150Hz with Saturn CD, 75Hz with audio CD (
    7: Command / status clock
    8: GND
    9: BCLK - Varies with drive mode, as described above
    10: Pulses high at CD frame rate. Frame sync?
    11: High all the time as far as I can see
    12: GND
    13: LRCLK
    14: BCLK (same as 9, and wired together)
    15: DATA (both CD-ROM and digital audio)
    16: GND
    17: Low with a CD-ROM, high with an Audio CD. Might be X1/X2 indication, too.
    18: Looks like Q subcode
    19: Looks like clock for 18
    20: Normally low, pulses high during seeks and if you disturb the drive. Error flag?
    21: Looks like clock for 20

    I can't see anything that would be useful as a clock.

    Edit again: after a bit more poking around, it looks like the 33MHz clock is fed into one of the Xtal pins on the MN662724 and the 8.4MHz comes out of pin 19 and then gets fed to pin 14 on the M37477.
     
    Last edited: Apr 16, 2014
  15. Druidic teacher

    Druidic teacher Officer at Arms

    Joined:
    Jun 6, 2006
    Messages:
    3,643
    Likes Received:
    129
    x
     
    Last edited: Jun 22, 2017
  16. billcosbymon

    billcosbymon Guru Meditation Error

    Joined:
    Dec 31, 2009
    Messages:
    660
    Likes Received:
    48
    So where would I put the signal wire then?
     
  17. Druidic teacher

    Druidic teacher Officer at Arms

    Joined:
    Jun 6, 2006
    Messages:
    3,643
    Likes Received:
    129
    x
     
    Last edited: Jun 22, 2017
  18. Calpis

    Calpis Champion of the Forum

    Joined:
    Mar 13, 2004
    Messages:
    5,906
    Likes Received:
    21
    I feel like I'm missing something in this discussion. Do other Saturn models have a reliable 8.4 MHz signal on the ribbon that isn't BCLK? AFAIK you should be able to use BCLK directly for timing because logically that's what the GAL and PIC are synchronized to. It doesn't matter what the frequency is (as long as the PIC performs its lookup in time), or that it varies, because once the modchip performs the swap trick it goes out of system. The PIC is used as a state machine and ROM, and the GAL as a shift register, reload counter and multiplexer.

    IIRC the GAL must invert the clock for the PIC because it's negative-edge triggered; the proper place to insert timing would have to be the GAL's pin 1 which is the only input that may clock its internal registers (note that pin 1 must already be connected to another ribbon signal, presumably BCLK).

    If this modchip *is* already connected to BCLK and this Saturn's ribbon doesn't have a strange pinout or something, and it still doesn't work, then it's safe to say that the timing or protocol is different to other Saturns and trips up the modchip.
     
    Last edited: Apr 16, 2014
  19. Druidic teacher

    Druidic teacher Officer at Arms

    Joined:
    Jun 6, 2006
    Messages:
    3,643
    Likes Received:
    129
    x
     
    Last edited: Jun 22, 2017
  20. TriMesh

    TriMesh Site Supporter 2013-2017

    Joined:
    Jul 3, 2008
    Messages:
    2,324
    Likes Received:
    750
    Yes, the older drives output 8.4MHz either on pin 9 (20 pin drives) or on pin 1 (21 pin drives) - this seems to have been used in place of the on-board oscillator to clock the PIC, while BCLK was used to drive the clock pin on the PAL. And not all of the chips just drop out of circuit - some of them (I.E. the cost reduced ones) don't have that mux and use the PIC to relay the command / status data (although the SDATA appears to be muxed in the PAL). On a practical level, trying to clock the PIC with BCLK on the board I'm playing with here doesn't work - half the time the Saturn won't even see the drive and even when it does it generally won't boot.

    In practice, they seem to have had different clocks - either an on-board osc or the 8.4MHz for the PIC, and BCLK for the PAL. The board I have here seems to have been designed with an inverter in BCLK (it feeds into pin 2 of the PAL and then comes out again on pin 23, which is linked to pin 1), but the trace has been cut and pin 1 wired directly to BCLK on the ribbon.

    The one I'm looking at is connected to BCLK, but also gets the 8.4MHz clock for the PIC from pin 1 of the ribbon cable. It works fine in an older model with the EXL-P605 CD drive, since that has the 8.4MHz MCLK on pin 1. It doesn't work on this VA11 board with the P608 CD because that same pin is no longer 8.4MHz. If you isolate the trace running to pin 1 and then connect it to some other source of 8.4Mhz, then the chip works.

    Reads as 19.998Mhz, so I guess 20MHz is right. I also discovered something interesting about the signal on pin 1 - it is being generated by the Saturn, but depending on the state of pin 8 can output either 16.9 MHz or 33Mhz. This is based on the state of pin 8 - the JVC drive grounds it, which selects 33MHz and I assume the Sanyo leaves it open and gets 16Mhz.
     
    Last edited: Apr 16, 2014
sonicdude10
Draft saved Draft deleted
Insert every image as a...
  1.  0%

Share This Page