Frame Gride beta version release

Discussion in 'Sega Dreamcast Development and Research' started by darcagn, May 3, 2019.

  1. darcagn

    darcagn Site Supporter 2013, Site Supporter 2014

    Joined:
    May 13, 2007
    Messages:
    500
    Likes Received:
    204
    Hi all,

    I was sent a copy of a beta dev version of Frame Gride from March 19, 1999 to dump and I was given permission so share it with you guys as well. :)

    I have not actually been able to even play/mess with it yet, so enjoy the element of discovery here.

    The disc was damaged, but through some creativity as documented below, it should be a 100% perfect dump now.

    Frame Gride (Preproduction 1999-03-19) - Disc Label.jpg
    FrameGrideBeta1.png FrameGrideBeta2.png


    CDI version:
    https://mega.nz/#!r8lEiKhQ!KgJJhNaNSgRQJDX6Zz348tgDy5N9nZcKgLYwdAxxh2o

    GDI version:
    https://mega.nz/#!i902WSZL!pRkXh1LOhDOUhWmKnuRX0z4LEcd19816j5B4KZuZDfY
     
    Last edited: May 3, 2019
  2. Yakumo

    Yakumo Pillar of the Community *****

    Joined:
    Mar 14, 2004
    Messages:
    20,510
    Likes Received:
    1,046
    Excellent. thank you very much!
     
    darcagn likes this.
  3. wombat

    wombat SEGA!

    Joined:
    Mar 14, 2004
    Messages:
    2,671
    Likes Received:
    318
    A-W-E-S-O-M-E
    There is something magical about Dreamcast beta builds that come from Katana discs! thanks for sharing.
     
    darcagn likes this.
  4. -=FamilyGuy=-

    -=FamilyGuy=- Site Supporter 2049

    Joined:
    Mar 3, 2007
    Messages:
    3,006
    Likes Received:
    840
    Nice forensics!

    I think I did write an iso2bin program at one point using libedc, I'll try and look for it. That'd be practical for such cases.
     
    darcagn likes this.
  5. darcagn

    darcagn Site Supporter 2013, Site Supporter 2014

    Joined:
    May 13, 2007
    Messages:
    500
    Likes Received:
    204
    Yes! I have never touched one of these old-style blue Katana GD-Rs before and I was very excited to work with one.

    Thanks! It was a bit of a challenge, but in the end I was very happy to get a full 100% recovery of this disc. Sad part is that it looked great on the bottom, when I received it in the mail it I didn't think I would have problems like this.

    Man, having an iso2bin would have made my life a lot easier. I almost just released it with that track in ISO/2048 form (which really would have been fine) but wanted to go all the way. Any iso2bin conversion tools I tried wouldn't properly work on a multisession data track, and I had to track down an old build of Alcohol 120% (since the GD-ROM mount trick stopped working around version 2.0.2 or so).
     
  6. -=FamilyGuy=-

    -=FamilyGuy=- Site Supporter 2049

    Joined:
    Mar 3, 2007
    Messages:
    3,006
    Likes Received:
    840
    Yeah the LBA of the sector comes into play because of the header in 2352 mode that's included in the EDC code. IIRC it was the only real subtlety.

    BTW, the simplest way to convert it without a custom tool would be to GDIFix it then mount the resulting iso in any program/isobuster and rip the right sectors in 2352. Pretty much what you did, but GDIFix would make it simpler.

    Unless it's a mode/form thing? I recall the EDC/ECC being applied to slightly different part of the sector for different mode.

    I'll look into my archives to try and find it.

    Edit: Found it, it's only a POC though. Pm sent.
     
    Last edited: May 4, 2019
    darcagn likes this.
  7. Mrneo240

    Mrneo240 Gutsy Member

    Joined:
    Sep 15, 2017
    Messages:
    458
    Likes Received:
    564
    Code:
            print('gdifix, converts a gdi dump into a valid iso file\n')
            print('Usage: gdifix.py disc.gdi [fixed.iso]')
            print('\nFamilyGuy 2014')
    this one?
     
  8. -=FamilyGuy=-

    -=FamilyGuy=- Site Supporter 2049

    Joined:
    Mar 3, 2007
    Messages:
    3,006
    Likes Received:
    840
    Yes, or the original. This one is a clone I made.

    I think using GDIFix and then extracting by sectors in isobuster would work. Unless the EDC/ECC of mode2/form1 is different than mode1. The yellow book, libedc source, or simple tests should clarify that.
     
    Last edited: May 4, 2019
  9. PrOfUnD Darkness

    PrOfUnD Darkness Familiar Face

    Joined:
    Mar 13, 2004
    Messages:
    1,119
    Likes Received:
    48
    Amazing! Big differences between this and the released version?
     
  10. darcagn

    darcagn Site Supporter 2013, Site Supporter 2014

    Joined:
    May 13, 2007
    Messages:
    500
    Likes Received:
    204
    I haven't tried it yet but yes EDC/ECC of mode 1 vs. mode 2 form 1 is different.

    cdsectors.gif

    I still actually haven't tried it yet. I haven't even played the original Frame Gride.

    At this point game preservation, console modding, hacking, etc. is pretty much just as fun as playing games for me. Sometimes more so.
     
    LuizNai and -=FamilyGuy=- like this.
  11. -=FamilyGuy=-

    -=FamilyGuy=- Site Supporter 2049

    Joined:
    Mar 3, 2007
    Messages:
    3,006
    Likes Received:
    840
    Well then, according to the sample iso2bin I sent you, I think GD-Rom are actually mode 1 (user data starts on 16th byte counting from 0).
    Maybe only mil-cd are m2f1?

    I'll try to make a proper iso2bin in the near future.

    Edit:
    The document GD-ROM Format Specification Details Ver. 1.32 confirms GD-Rom data tracks are Mode1, so no XA or form1.

    Mil-CDs/Selfboots have to be Mode2/Form1 though, because of multi session. A GD-Rom pretends it's a single session spanning both LD and HD areas.

    Getting either mode to work in iso2bin should be trivial using libedc.
     
    Last edited: May 7, 2019
  12. megavolt85

    megavolt85 Peppy Member

    Joined:
    Jan 8, 2015
    Messages:
    307
    Likes Received:
    450
    all games use only 2048 bytes per sector
    2048 bytes per sector is MODE1 or MODE2 FORM1

    read 16 bytes from data track and look last byte, 01h = MODE1, 02h = MODE2
     
    darcagn and -=FamilyGuy=- like this.
  13. -=FamilyGuy=-

    -=FamilyGuy=- Site Supporter 2049

    Joined:
    Mar 3, 2007
    Messages:
    3,006
    Likes Received:
    840
    Yeah thanks, but I know that already.

    I've made a proof on concept program that converts a single sector from iso2bin properly if you specify its LBA. I was trying to build CDI manually back then I think. I tested it by extracting a sector from a GDI, keeping only the user data, rebuilding the 2352 Mode1 sector, and comparing to the original.

    Now, I just plan to rewrite it cleanly and support whole tracks.


    PS: The math of Reed-Solomon code is super interesting. Finite fields (Galois 2^8 specifically) are just so clever for the limitations of computers!
     
    Last edited: May 7, 2019
    darcagn likes this.

Share This Page