Sega Saturn Modchip

Discussion in 'Sega Saturn Programming and Development' started by williamgentry, Mar 3, 2018.

  1. williamgentry

    williamgentry Rising Member

    Joined:
    Jan 19, 2017
    Messages:
    53
    Likes Received:
    1
    Can anyone explain in detail how the sega saturn modchip works?

    I know the disk has a wobble, can't find anywhere what string it contains?

    My thoughts are that the traditional ps1 modchip passes a string "SCEA" for example, so couldn't the same principle be applied to the saturn?
     
  2. TriMesh

    TriMesh Site Supporter 2013-2017

    Joined:
    Jul 3, 2008
    Messages:
    2,324
    Likes Received:
    750
    No. The way the copy protection is implemented in the Saturn is a lot more complicated than the method used in the PlayStation.

    If you look at a Saturn disc there is a ring at edge that contains a "SEGA" logo - when the system identifies a disc as being a Saturn program disc, it seeks to this area and starts reading (the logo data is written using standard EFM symbols) - the CD block checks for the presence of certain strings of data in this stream and will reject the disc if they are not found. In addition to this, the sectors that make up the track format in the logo area are written with alternate sectors offset (like the wobble on the PlayStation), and the control MCU on the drive counts the number of times the tracking position jumps and outputs a count of the number detected.

    So what the modchip has to do is:

    1) Monitor the command stream to the drive and watch for the "seek to security track" command
    2) When this command is detected, it has to block the data being sent back to the CD block from
    the drive and replace it with locally generated data that matches a valid disc (note that the CD
    block checks both the actual data and the status responses, so they both need to be simulated)
    3) Once the CD block accepts the disc and sends another seek command, switch the data being
    sent to the CD block back to the real values coming from the disc.

    As you can see, it's quite complicated - which is why Saturn modchips were small PCBs with multiple devices on them and the PlayStation ones were a single MCU.

    The chips on a typical Saturn modchip were a PIC MCU that controlled everything, a LS157 data selector (used to switch the data lines between the chip and the drive) and a small PAL used for glue logic and to generate the drive data stream (basically a 4 bit parallel to serial converter, since the data rate was sufficiently high that the PIC couldn't generate it in real time using a single bit). Another interesting thing is that the data generated by the modchips is quite different from the data you get from a real disc - but it's clearly close enough to fool the CD block into accepting the disc.
     
    SegaLife, Marteicos, Jei and 2 others like this.
sonicdude10
Draft saved Draft deleted
Insert every image as a...
  1.  0%

Share This Page