Saturn Modchip help

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

  1. billcosbymon

    billcosbymon Guru Meditation Error

    Joined:
    Dec 31, 2009
    Messages:
    625
    Likes Received:
    19
    Location:
    Milwaukee WI
    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-2016

    Joined:
    Jul 3, 2008
    Messages:
    1,489
    Likes Received:
    192
    Location:
    Hong Kong
    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:
    625
    Likes Received:
    19
    Location:
    Milwaukee WI
    Yeah, it's only 2 chips. I have no idea what the pin 6 would be.
    [​IMG] [​IMG]
     
    Last edited: Apr 14, 2014
  4. TriMesh

    TriMesh Site Supporter 2013-2016

    Joined:
    Jul 3, 2008
    Messages:
    1,489
    Likes Received:
    192
    Location:
    Hong Kong
    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 14, 2014
  5. billcosbymon

    billcosbymon Guru Meditation Error

    Joined:
    Dec 31, 2009
    Messages:
    625
    Likes Received:
    19
    Location:
    Milwaukee WI
    Thanks, I'll check it out tomorrow.
     
  6. billcosbymon

    billcosbymon Guru Meditation Error

    Joined:
    Dec 31, 2009
    Messages:
    625
    Likes Received:
    19
    Location:
    Milwaukee WI
    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,310
    Likes Received:
    69
    Location:
    Caleefornya
    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:
    625
    Likes Received:
    19
    Location:
    Milwaukee WI
    Yeah, it works great in my 64pin saturn too.
     
  9. Druid II

    Druid II Officer at Arms

    Joined:
    Jun 6, 2006
    Messages:
    3,600
    Likes Received:
    101

    Eh, first you want to make sure that that trace is connected to pin 1. If it is, there is no need to cut it, since it is leading to the exact same pin as you'd connect to for tapping the clock signal. (also, it's 8mhz not 33). On the SSB-02 it is ALREADY connected. And does not function otherwise.

    The only difference between 64 and 32pin drives is on pin 9 of the 21pin ribbon. If the chip does not use that at all (as far as I know it doesn't seem to), then any compatibility difference is in the modchip firmware, you won't be able to get it working by tinkering.

    For Sanyo drives, try connecting the +5v wire to the cd drive instead of the power supply... on some emsic chips this makes a difference.
     
  10. TriMesh

    TriMesh Site Supporter 2013-2016

    Joined:
    Jul 3, 2008
    Messages:
    1,489
    Likes Received:
    192
    Location:
    Hong Kong
    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. Druid II

    Druid II Officer at Arms

    Joined:
    Jun 6, 2006
    Messages:
    3,600
    Likes Received:
    101
    Well according to that, you do need to cut the trace on the modchip and solder a signal wire... I don't know where the Sanyo drives have those, I need to trace them one day.

    Well I didn't knew that.

    I only compared the ENR-011A and ENR-013A drives so far (aka EXL-P604 "64pin" and EXL-P605 early "32pin"). Only those two, because they used the same components on the motherboard - 315-5746, SH1 CDB106, and OCU YGR019B. There are lots of permutations beyond those: different PLL, different CD control ASIC (a combined SH1 + OCU), and different drives. I want to compare all the other drives, it's on my todo list...

    I've yet to find a chip that worked on the ENR-013A, but did not work on the HQA-001A (aka EXL-P608), so I assumed the drives were mostly the same.

    VA10+ drives using different signal clock could be the link I'm missing though. Thanks for that.

    Are you aware of any other differences between the drives? The only one I know is that the 64pin drives use pin 9 as access light, while later drives use pin 9 as a mirror of pin 14 (the bit clock). The EMSIC modchips have a 0014/0019 jumper to select between pin 9 and 14... which is stupid since you can just use pin 14 on all models... It only makes a difference in those chips where one of the options is having the bit clock wired to a 7404 which sometimes helps compatibility.
     
    Last edited: Apr 15, 2014
  12. Calpis

    Calpis Champion of the Forum

    Joined:
    Mar 13, 2004
    Messages:
    5,907
    Likes Received:
    17
    Location:
    .ma.us
    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. Druid II

    Druid II Officer at Arms

    Joined:
    Jun 6, 2006
    Messages:
    3,600
    Likes Received:
    101
    I've just today got a machine with a 610-6294-30 Sanyo drive, and that one says that pin 1 of the ribbon is 16mhz. Or at least that's what the board labels say. There should be still a 8mhz signal that can be tapped quite easily however - it is even marked on the board. I don't know how different the 610-6473-30 Sanyo drive is, however, beyond not using an extra trap board.
     
  14. TriMesh

    TriMesh Site Supporter 2013-2016

    Joined:
    Jul 3, 2008
    Messages:
    1,489
    Likes Received:
    192
    Location:
    Hong Kong
    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. Druid II

    Druid II Officer at Arms

    Joined:
    Jun 6, 2006
    Messages:
    3,600
    Likes Received:
    101
    Ribbon pin 14 is the bit clock output so it would make sense that it varies depending on what the drive is reading. In fact there are two different clock inputs on the Saturn side, one for CDDA data sync, one for CDROM data sync, but they are both connected to the same clock (MN662720RB or MN66272RPE pin 1).

    That pinout matches closely with my notes. I'll need to start writing up the other cd drives I have. What is problematic is that we only have pinout info for the YGR019, and later machines use a YGR022 (which is a YGR019 + SH1 combo).
     
  16. billcosbymon

    billcosbymon Guru Meditation Error

    Joined:
    Dec 31, 2009
    Messages:
    625
    Likes Received:
    19
    Location:
    Milwaukee WI
    So where would I put the signal wire then?
     
  17. Druid II

    Druid II Officer at Arms

    Joined:
    Jun 6, 2006
    Messages:
    3,600
    Likes Received:
    101
    There should be a point on the front of the board, right in front of the drive motor, that says "8mhz". It should trace to pin 71 of the LC78621 on the underneath of the board. There is a quite convenient solder point to use there; you may even put the cable through the hole in the board.

    This is assuming that the 610-6473-30 has it on the same location as the 610-6294-30 that I have (both are VA10+ drives used as an alternate of the JVC HQA-001A).
     
  18. Calpis

    Calpis Champion of the Forum

    Joined:
    Mar 13, 2004
    Messages:
    5,907
    Likes Received:
    17
    Location:
    .ma.us
    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. Druid II

    Druid II Officer at Arms

    Joined:
    Jun 6, 2006
    Messages:
    3,600
    Likes Received:
    101
    From what I understand the current modchip design is using a 8mhz master clock and the BCLK for reading stuff. Some other designs don't seem to use the BCLK at all (it isn't wired on the SSB-02 I have here), but they still tap the ribbon pin 1 for the 8mhz clock (pin 12 on the 20pin drives). The 8mhz clock is provided by the cdrom drive controller and is sent to the Saturn.

    However VA10+ machines have this changed around. On the Sanyo drive I checked here, the 8mhz signal still comes out of the drive controller, it just isn't wired to go anywhere, instead the drive sends a 16mhz signal on ribbon pin 1. TriMesh says that the JVC drives send 33mhz (double of that frequency, quadriple of the 8mhz that the older drives use).
    They also removed the onboard 33mhz crystals on the VA10+ cd drives, they generate their signals from elsewhere now... maybe the ribbon pin 1 is an input signal now, not an output one as it was before. Older Saturns did indeed have a 33mhz clock (8.4mhz x 4) next to the SH1, labelled as X5 on the board. But the VA13 schematics we have marks that one as 19mhz now. Trimesh, any chance you could measure the value on that one? All the machines I have here have those crystals unmarked.

    I can imagine this change being made either to combat modchips, or to save some component costs.
     
  20. TriMesh

    TriMesh Site Supporter 2013-2016

    Joined:
    Jul 3, 2008
    Messages:
    1,489
    Likes Received:
    192
    Location:
    Hong Kong
    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

Share This Page