Saturn Optical Drive Emulator

Discussion in 'Sega Saturn Programming and Development' started by jhl, Jul 11, 2016.

  1. -=FamilyGuy=-

    -=FamilyGuy=- Site Supporter 2049

    Joined:
    Mar 3, 2007
    Messages:
    3,034
    Likes Received:
    891
    The Dreamcast copy protection is actually very good, only security issue is the milcd support.

    And even the milcd is somewhat safe, because it scrambles the binary when loading it, making a standard executable non-working, and it locks the gdrom drive to disable reading code.

    The exploit is that the IP.BIN, also called bootsector or Initial Program, can actually have code inserted in it that descrambles the binary in memory, and re-enables reading for the gd-rom drive. This Initial Program is also present on milcd, hence the possibility to execute custom, or retail, code.

    AFAIK, the gdrom drive software reset is not really required for anything, so just disabling this could've made it perfectly safe. In any case, disabling the milcd support, as they did in va2 Dreamcasts, makes it secure.

    From the end user point of view, you just burn a CD-R and it boots, so yeah looks like there's no copy protection. However, the fact it's easy to use doesn't mean there wasn't hard work done to allow it.
     
    Last edited: Aug 23, 2016
    gmipf and several like this.
  2. FrenchyToasty

    FrenchyToasty Rising Member

    Joined:
    Dec 5, 2014
    Messages:
    53
    Likes Received:
    7
    What I meant is that if you lock your front door and your window but still leave the backdoor opened you're not keeping it real tight... or it's like locking it real good but leaving a key in sight for everyone to use.
     
  3. -=FamilyGuy=-

    -=FamilyGuy=- Site Supporter 2049

    Joined:
    Mar 3, 2007
    Messages:
    3,034
    Likes Received:
    891
    Except it's not in sight at all, it's hidden in a way that's worthy of an Indiana Jones's movie. But once Indy finds the key, he can tell everyone about it. And you can't change where it's hidden because your console hardware is already done and they are being produced for a long time already.
     
    several likes this.
  4. MottZilla

    MottZilla Champion of the Forum

    Joined:
    Feb 1, 2006
    Messages:
    5,066
    Likes Received:
    102
    Wasn't the whole Mil-CD and security being exploited linked to use of official devkit materials? Wrong people getting the right stuff to make it happen. I don't think it was magically reverse engineered from nothing.
     
  5. -=FamilyGuy=-

    -=FamilyGuy=- Site Supporter 2049

    Joined:
    Mar 3, 2007
    Messages:
    3,034
    Likes Received:
    891
    AFAIR, Skywalker from HITMEN made the first selfboot demo on the DC. Then Randy Linden used the exploit in Bleemcast!, and later on Marcus Comstedt documented it. Skywalker allegedly used HITMEN's Dreamcast Debug Handler which was basically a huge reverse engineering hardware probe on the DC to figure it out.

    The Utopia guys then used that knowledge, along with their access to a devkit to create their bootdisc and release warez. Trivia: The spinning deer is basically the teapot demo on the SDK, but with the teapot replaced by the deer...

    It's not clear to me who first found out about the gd-rom soft-reset, probably Randy Linden is the first to actaully have read data other than the main executable off a CD-R. Most early demo consist of a single executable, so there was no need to read further data from the gdrom, whereas it's required for bleemcast! and retail games.

    Then Kalisto apeared and made selfboots and Echelon eventually replaced them.
     
  6. FrenchyToasty

    FrenchyToasty Rising Member

    Joined:
    Dec 5, 2014
    Messages:
    53
    Likes Received:
    7
    Always like good old stories about what happened and who found what, can't believe we're about to enter the journey of the Saturn. The gates are on the verge of being opened.
     
  7. -=FamilyGuy=-

    -=FamilyGuy=- Site Supporter 2049

    Joined:
    Mar 3, 2007
    Messages:
    3,034
    Likes Received:
    891
    You read our replies didn't you? Saturn Selfboots are unlikely to ever happen. Extensive reverse engineering came to that conclusion.
     
  8. FrenchyToasty

    FrenchyToasty Rising Member

    Joined:
    Dec 5, 2014
    Messages:
    53
    Likes Received:
    7
    Not on the disc side, but by the backdoor found and exploited by Dr Abrasive.
     
    -=FamilyGuy=- likes this.
  9. rouken

    rouken Rising Member

    Joined:
    Nov 30, 2012
    Messages:
    64
    Likes Received:
    0
    Ok... If everyone is making suggestions with the intuit to improve the Satisfier, I want to participate in this party too. :)

    Just to note, the (wall) text below is result of some brainstorms, and must be considered just as mere suggestions. The Satisfier Devs must consider if the suggestions are acceptable to apply in the project or not.

    Let's go!! :)




    1. The USB port otpion

    The main purpose / feature of the Satisfier is the option to connect an USB port (in the actual project, a mini-B port) in the Sega Saturn. This dream can finally becomes true with this initiative. With an USB port to make the Sega Saturn access external data, it can load games from a Storage device, and help developers to create homebrews, connecting the Saturn directly from a PC.

    The main question is "How the USB port can be featured?".

    Using the USB port connected (soldered) directly to the board is the initial and most logical idea. But how about change it a little, replacing the USB port with a "wire to board connector", and connecting the USB port from this connector?

    [​IMG]

    [​IMG]

    [​IMG]

    [​IMG]


    This option have some good points and considerable benefits. To start, would be possible to create a shorter board, instead of a long board just to make an USB port accessible. The wire to board connector can be installed in the upper part of the Satisfier board, and just connect the cable.

    The second benefit is, in the case of an USB port connected directly into the board, it will save the board of the possibility to broke the solders of the USB port with constants pluging and unpluging during time. If, by some way, the USB port got damaged and not work anymore, you don't need discart all the board or make the work of re-solder the USB port again. Just replace the USB port, unpluging the cable from the board and replacing it for a new one.

    [​IMG]


    The third benefit is a custom Saturn's back door with an USB port build in can be factured, saving the users to mod the shell of their Sega Saturn to have a permanent USB port installed on it... without counting the fact the Saturn users who lost their console's back doors and have plans to get a Satisfier will have a good replacement for it.

    [​IMG]

    [​IMG]


    You can even find 3D PROJECTS to create the SATURN'S BACK DOOR IN A 3D PRINTER. So, it's just the matter of modify the project to add an USB port.

    The final benefit I can list here is the USB port can be easily replaced with another type of port for the taste of each user, like replacing the USB port for a SD Card port (so, the Caveat point "No SD card support" can be reconsidered), or other types of USB ports, like an USB-printer port, or even an Ethernet port...




    2. HDD Holder option

    Another possibility to connect a storage device to the Saturn is an internal HDD, like a laptop HDD (because of the small size).

    If the user have a Sega Saturn with a dead optical reader, he can have the option to replace the whole optical drive with a HDD holder, who can be connected in the optical drive's place. Install a regular HDD into a holder can be more conveniente than install an USB HDD inside the Saturn, once internal HDDs have standard position for screws' hole, and USB HDDs can vary in size and shape, making dificult to create a standard HDD holder for them all.

    The holder can have an SD card slot installed above it too. With this, after close the Sega Saturn's shell, the SD Card slot can be accessible from the hole left by removing the optical reader.

    [​IMG]

    [​IMG]


    The main idea here is to have two media storages: One large and permanent, and other small and removable.

    To have this feature, the Satisfier board must have not just one, but two "connectors to board ports" of the above suggestion: The first port destined to connect a removable storage media, and the second port to connect the internal and permanent HDD. Even if the Satisfier board can't offer enough power to connect two storage devices at the same time, a scheme can be created to get power from the terminal of the Saturn's internal power font to supply the HDD, in the same way the Saturn's mod chips do.

    [​IMG]


    The Satisfier can have the option to detect if a HDD is connected or not. This will leave some possibilities. For example:
    • If the HDD is recognized as "not connected", it means the optical drive is still connected. With this, the board can detect the USB port as the primary partition, and list the games from it, and the CD-ROM drive is an alternative option to load games from it.

    • If the HDD is recognized as "connected", it means the CD-ROM drive was replaced. With this, the HDD is set as the primary drive, and the USB/SD drive is the alternative option to add games in the same list of the HDD, or to show them in separated lists.

    With the suggestions listed until now, we can have a lot of setup options:
    1. If you have a (still) working optical reader, the user can just to install the board with the USB port accessible from the console's back. With this, the user can have the benefits to load the games from an external HDD, and have access of the disc drive to play the original discs. Or even have the option to rip the discs to the USB port.

    2. If the user have a dead optical reader, the user have the option to replace the whole optical drive to a HDD, and install a USB port to be accessible from the console's back. With this, the user can store all their games to inside of the console, and still have the option to connect a external device (like a pen drive) to access new games, and to copy/move them to the "internal" HDD without the need to disassemble the console.

    3. The same of above, but replace the USB port accessible from the Saturn's back door for the SD Card reader accessible from the Saturn's disc door. It have all the same benefits of the above setup, with the advantage to not use the back door, but the CD door, who is more convenient to access than accessing a port to the console's back, and with a door who can be conveniently open with a single button press, and be closed after.
    The only disadvantage to use a SD reader instead of a USB port is to homebrews developers will not be able to connect the Saturn to a PC with standard, easy-to-find cables.

    A nice point about the HDD holder is the Satisfier Devs don't need to produce it. It can be done by other persons interested in produce it.




    3. Intercepting save routine?

    I don't know if it's possible... But once the Satisfier have a routine who let the Saturn start the loader, it's safe to suppose there's some way the Satisfier can intercept the save game command lines to swap the file destination? If the answer is "YES!!", so, let's continue with the suggestion...

    The Satisfier could add a routine to intercept the Saturn's internal commands, and swap the destinations of the save files. With this, the save files can be stored in the USB/SD/HDD, using a "Virtual Internal Memory" instead of the "real" Saturn's Internal Memory. Or even more... It could have the possibility to trick the console and create a "Virtual Backup Cartridge", even with no real backup cartridge connected.

    The main purpose of this suggestion is, if there's a way to do this for real, there's will be no more need to keeping the Saturn active from time to time just to keep the save files at the internal memory safe, once the save files will be saved in a storage media. Saturn users, who don't have a backup cartridge and suffer when the console's battery is low, will be very happy with this feature.




    4. About the Satisfier Loader

    I know the current efforts is to make the Satisfier to work 100%. But once the Satisfier is ready, how about focus to improve the Loader? Specially because the loader is open source, so all the community (who know how to program) can contribute with it.

    To start, the loader can run using the hi-def mode, reaching a great visual quality, who can make the difference if the loader can use pictures of covers or CD labels.

    As said above, the Satisfiver can have the ability to check if the CD-ROM is still connected. If the CD-ROM is still connected, an option can be available, who let the user take advantage of it, like playing original discs, with the remotion of the region lockout, and with a ripping disc feature.

    The loader can have a lot of options who let the user short their game list. For example, the loader can short the game list by just checking the main folder content, or loading a propper game list file.

    Using a game list file method, other options can be included, like "merging" their game titles. Merging is a term who combine all versions of the same game in one package. In this case, if the user have in the HDD different versions of the same game (example: Shin shinobi Den, Shinobi Legions and Shinobi X), the user can, first, select the title and, after, the version of the game.

    The same idea of selecting a game and, after, a version, can be applyed to a multi-disc game...

    Other advantage of a game list file is the user is free to customize the contents, like prefered regional order (USA > EUR > JAP, or EUR > USA > JAP, for example), edit game names, rearrange order, etc...

    Other secondary ressources can be used, like using a game info file (to show game's info, like release date, developer, etc) , summary info file (to show the game's synopsis), access to FAQ/Secret text file, etc...

    Obviouslly, creating a PC program to work as a Satisfier Loader Manager could be very useful in this case.

    The loader also can have a very own save manager, who let the user access the saves from the internal memory and backup cartridge or, if the case, the virtual memory files from the suggestion above if it proves to be a possibility.




    Well, that's all for now. I hope some of those suggestion can be used in the project in some way...

    Thanks for the attention!! :)
     
    Last edited: Sep 12, 2016
  10. Moo

    Moo Gutsy Member

    Joined:
    May 3, 2012
    Messages:
    497
    Likes Received:
    177
    Ease of use is better. Just allow external hard drives.
     
  11. cafealpha2

    cafealpha2 Site Supporter 2015

    Joined:
    Jul 4, 2014
    Messages:
    280
    Likes Received:
    20
    It's technically possible/available on regular cartridge port.
    Reason is that theses commands can't be intercepted from MPEG cartridge port, so I doubt Satisfier will provide such feature. (and this limitation applies to RAM extension too)

    And, "Virtual Internal Memory" is possible/available too, but on regular cartridge port only.
    I personally prefer "Hybrid Memory Device" nickname for this feature.


    "all the community (who know how to program)" is something like 10 dudes doing programming on their free time in their basement/garage/etc ...
     
    A Murder of Crows likes this.
  12. omp

    omp Familiar Face

    Joined:
    May 22, 2011
    Messages:
    1,017
    Likes Received:
    8
    Stumbled on this by accident (random youtube video), what a neat bit of gear!
     
  13. Moo

    Moo Gutsy Member

    Joined:
    May 3, 2012
    Messages:
    497
    Likes Received:
    177
    Someone on rhdn was claiming the hack author is in discussions with Sega. Is this true? If so, I don't suppose you know what they want with the hack? I think a Saturn plug and play would be awesome. I dunno if they could shrink it down enough for a portable console, but that would be awesome too.
     
  14. cafealpha2

    cafealpha2 Site Supporter 2015

    Joined:
    Jul 4, 2014
    Messages:
    280
    Likes Received:
    20
    Link ?
    Yeah, I'm too lazy to dig rhdn :D
     
  15. jmjohnson85

    jmjohnson85 Newly Registered

    Joined:
    Nov 14, 2009
    Messages:
    1
    Likes Received:
    0
  16. cafealpha2

    cafealpha2 Site Supporter 2015

    Joined:
    Jul 4, 2014
    Messages:
    280
    Likes Received:
    20
  17. Atolm

    Atolm Spirited Member

    Joined:
    Feb 28, 2016
    Messages:
    147
    Likes Received:
    39
    I like how the guy gives no context to where he supposedly heard this. I also doubt they'd make a Saturn plug and play. Sega doesn't even make a Genesis version, it's simply been licensed out to atgames. The fact the OP's first thought is mini saturn makes me think he's blowing smoke. If there's any remote truth to this, I'd imagine it was for cleaning up an emulator implementation maybe for a download service for the old games.
     
  18. Moo

    Moo Gutsy Member

    Joined:
    May 3, 2012
    Messages:
    497
    Likes Received:
    177
    You wouldn't need cd rom access in a emulator. You just simply don't emulate the part that locks you out of using a burned disc.
     
  19. Atolm

    Atolm Spirited Member

    Joined:
    Feb 28, 2016
    Messages:
    147
    Likes Received:
    39
    All this means is the guy's story even makes less sense. If sega were to do a plug and play, probably wouldn't include a CD drive. Not sure why they'd need any of the old security measures.
     
  20. karsten

    karsten Member of The Cult Of Kefka

    Joined:
    Mar 14, 2004
    Messages:
    4,015
    Likes Received:
    150
    It's coming out here in Italy. Still what is the mass interest for Saturn? mmmh
     
sonicdude10
Draft saved Draft deleted
Insert every image as a...
  1.  0%

Share This Page