Help Getting Rez Beta 899 Converted to a Bootable and Burnable Format

Discussion in 'Sega Dreamcast Development and Research' started by Woofmute, Feb 5, 2018.

  1. Woofmute

    Woofmute Site Supporter 2013-15, 17

    Joined:
    Jan 18, 2010
    Messages:
    187
    Likes Received:
    45
    Build 899 of Rez was found a while ago, but it's in gdi format. I tried to convert it to another format so i could burn it to a disc and run it on my dreamcast to record footage of it on hardware, but i've been unsuccessful in creating a bootable version of the game. I don't have access to a gd-emu or usb-gdrom yet.

    I'm able to build a bootable image of the final version of Rez, but this beta has had me stuck for a long time. Is there something i should be doing differently to make it work? I'm not very knowledgable of the various fixes applied to dreamcast games to get them running.

    I was using the fastboot tools last time i tried in a windows xp virtual machine because it wouldn't work on a 64-bit system (same way i made bootable images of the final version).

    Failing this, i'll have to find someone with a gd-emu or usb-gdrom who can record vga output of the beta for documentation and for putting together a video on various beta footage of Rez.

    Any advice and help is appreciated.

    The beta can be found here: http://hiddenpalace.org/Rez_(Jul_30,_2001_prototype)
     
  2. PixelButts

    PixelButts Site Soldier

    Joined:
    Aug 19, 2014
    Messages:
    2,700
    Likes Received:
    1,996
  3. -=FamilyGuy=-

    -=FamilyGuy=- Site Supporter 2049

    Joined:
    Mar 3, 2007
    Messages:
    3,092
    Likes Received:
    1,033
    I might give this a try if I can free some time up.

    Did you try my selfboot pack without the CDDA audio tracks (if any)? I know that a silent rez wouldn't be really entertaining, buy it could help figure out what's the issue.
     
    Woofmute and Anthony817 like this.
  4. Woofmute

    Woofmute Site Supporter 2013-15, 17

    Joined:
    Jan 18, 2010
    Messages:
    187
    Likes Received:
    45
    The game doesn't use cdda beyond the warning track all games have. At this point it's difficult to remember if i did try your pack (leaning towards yes) but i'll give it another go when i can.
     
  5. darcagn

    darcagn Site Supporter 2013, Site Supporter 2014

    Joined:
    May 13, 2007
    Messages:
    553
    Likes Received:
    285
    I'm the one who made the selfboot CDI of the Jun 1 2001 beta on there. Gave this one a shot...

    I did:
    1. burned first session with cdrecord - blank CDDA audio to pad out second session to start at LBA 45000.
    2. Used gditools.py to extract IP.BIN and sort file to working folder, and all disc's files to data folder.
    3. Mounted track 1 ISO and copied files to data folder.
    4. Modified sort file to put 0GDTEX.PVR at the beginning of disc and added single density files to put them at beginning of disc.
    5. Used dd to create 0.0 dummy file to pad folder to about 600MB.
    6. Used binhack32 to hack IP.BIN. Discarded binhack32's 1ST_READ.BIN and kept original since keeping at 45000 LBA.
    * Note that when doing this step I got the message "Bincon detected, OS flag set to 0" which I shouldn't have gotten since this is a Katana game, not WinCE. Continued to use this IP.BIN though since OS flag is supposed to be 0 for Katana games.
    7. mkisofs -C 0,45000 -l -hide 0.0 -G IP.BIN -sort sorttxt.txt -V SAMPLE_GAME_TITLE -o data.iso data
    8. Burned final session to CD-R with cdrecord.

    Failed on first try, booted to a black screen and then went back to the DC main menu.
    Tried again by copying over the IP.BIN from the K-Project June release CDI, thinking something must be wonky since binhack32 detected WinCE in the original IP.BIN. This time just reboots console after Sega copyright screen.

    Don't have time to try anything else today. Does the retail release of Rez have anything weird (copy protection etc) that needs to be hacked? I haven't selfbooted that one before.
     
    Woofmute likes this.
  6. -=FamilyGuy=-

    -=FamilyGuy=- Site Supporter 2049

    Joined:
    Mar 3, 2007
    Messages:
    3,092
    Likes Received:
    1,033
    I'm glad to see my tools put to good use!

    The bincon detection is heuristic, it checks if the bootbin starts with 0x0900 (a NOP I think). Most Katana bootbin don't start with those two bytes, but all binconed WinCE binaries (that I've seen) do. It only sets the OS flag to the Katana one, as it should be after a real WinCE bootbin has been binconed IIRC. It shouldn't change anything if it falsely detects a Katana binary as a bincon'd WinCE one.

    I doubt there'd be copy protections in the beta that aren't in the retail version.
     
    Last edited: Feb 6, 2018
    Woofmute likes this.
  7. Woofmute

    Woofmute Site Supporter 2013-15, 17

    Joined:
    Jan 18, 2010
    Messages:
    187
    Likes Received:
    45
    i've been using the revive dreamcast release of the final version of rez for building bootable images because the images work for testing my modifications to the game, i don't know if they did anything specific to make the final version work as a cdi though.
     
  8. Mrneo240

    Mrneo240 Enthusiastic Member

    Joined:
    Sep 15, 2017
    Messages:
    505
    Likes Received:
    614
    cool topic.

    edit: no points for second place.....https://mega.nz/#!F1EwSCxY!oR4YJWYE1lNX9UNmvFwRAKGclsdK92ZYUYi3CW6FL2s

    sorry for the purists, i just ran it through my setup. so everything is packaged and generated automatically.
    for those unfamiliar: 80 min, dummied to 79:45:00, vga enabled (unchecked), bootable CDI, no unnecessary files or junk, everything is copied from the original gdi files, logo added, nfo created and added.
     
    Last edited: Feb 7, 2018
    wombat and Woofmute like this.
  9. -=FamilyGuy=-

    -=FamilyGuy=- Site Supporter 2049

    Joined:
    Mar 3, 2007
    Messages:
    3,092
    Likes Received:
    1,033
    Does your version boots? If so, what had to be done?

    PS: Most of the people active in this thread are very familiar with selfbooting.
     
  10. Mrneo240

    Mrneo240 Enthusiastic Member

    Joined:
    Sep 15, 2017
    Messages:
    505
    Likes Received:
    614
    boots on all emulators, cant verify hardware because i am currently in class.

    Honestly i believe it didnt take much, just standard bin patching (hack4, binhack, cdda), patch ip.bin, create data/data lba 45000 and it booted first try.
     
    Woofmute likes this.
  11. -=FamilyGuy=-

    -=FamilyGuy=- Site Supporter 2049

    Joined:
    Mar 3, 2007
    Messages:
    3,092
    Likes Received:
    1,033
    Nice then!

    CDDA/DAHACK probably weren't needed, hack3 (included in hack4) might've been the key.

    Could you try to only apply hack3 and binhack to see if it boots fine?
     
    Mrneo240 likes this.
  12. Mrneo240

    Mrneo240 Enthusiastic Member

    Joined:
    Sep 15, 2017
    Messages:
    505
    Likes Received:
    614
    just using those results in sega intro -> bios screen. doesn't boot.

    heres pics of the booting version i upped though.
    2018-02-07 16_09_03-Help Getting Rez Beta 899 .png 2018-02-07 16_10_53-Help Getting Rez Beta 899.png 2018-02-07 16_11_25-Help Getting Rez Beta 899.png
     
    Woofmute likes this.
  13. -=FamilyGuy=-

    -=FamilyGuy=- Site Supporter 2049

    Joined:
    Mar 3, 2007
    Messages:
    3,092
    Likes Received:
    1,033
    I did forget that HACK4 includes the basic 0xCDE4436A -> 0x09000900. Did you patch for that? I'm not sure if it's default or not, maybe hack4 is verbose about this.

    Note: Hack4 includes Hacks 0,1,2,3 and this protection. Hack0 is 45000 → 11702, Hack1 is the bootbin part of binhack (45166 → NewLBA+166), Hack2 is 45150 → NewLBA+150, Hack3 is Hacks 1+2. Fun fact, dachack is HACK(NewLBA) + HACK2(0).
     
  14. Mrneo240

    Mrneo240 Enthusiastic Member

    Joined:
    Sep 15, 2017
    Messages:
    505
    Likes Received:
    614
    checking back in the logs, yes that prot is patched. probably the key to this.
     
    Woofmute likes this.
  15. -=FamilyGuy=-

    -=FamilyGuy=- Site Supporter 2049

    Joined:
    Mar 3, 2007
    Messages:
    3,092
    Likes Received:
    1,033
    BTW, if it can interest you or @darcagn, I have some old unreleased code for hacking binaries in python. Nothing fancy or too clean, but it might make automation easier. I never released publicly before because I though it wasn't really clean, and the handling of endianness and hex strings is dirty, but I don't think I'll ever get the motivation to work on it. So here's it "as is", in the hope it can be of help.

    https://sourceforge.net/p/binhacks/code/ci/master/tree/
     
    darcagn and Mrneo240 like this.
  16. Mrneo240

    Mrneo240 Enthusiastic Member

    Joined:
    Sep 15, 2017
    Messages:
    505
    Likes Received:
    614
    umm "ugly" can be beautiful, i hacked together a bunch of bitpacking and endianess in php in order to create vmu images lol, that code is horrendous
     
    -=FamilyGuy=- likes this.
  17. Mrneo240

    Mrneo240 Enthusiastic Member

    Joined:
    Sep 15, 2017
    Messages:
    505
    Likes Received:
    614
    OFFTOPIC:
    but heres a sample of terribly written code, php notwithstanding.

    2018-02-07 21_51_33-C__DC_color_extract.php - Notepad++.png
     
  18. darcagn

    darcagn Site Supporter 2013, Site Supporter 2014

    Joined:
    May 13, 2007
    Messages:
    553
    Likes Received:
    285
    Yes, that is definitely the key. I feel stupid now, as I checked my notes for my python script and under my comments for the cde4 scheme I have Rez listed as one of the games that requires this hack. :D

    Thanks, I'll check this out and see what I can reference and/or steal. ;)
     
  19. -=FamilyGuy=-

    -=FamilyGuy=- Site Supporter 2049

    Joined:
    Mar 3, 2007
    Messages:
    3,092
    Likes Received:
    1,033
    It's actually not half bad as a documentation. Python reads much easier than C or even text for technical stuff.
     
  20. darcagn

    darcagn Site Supporter 2013, Site Supporter 2014

    Joined:
    May 13, 2007
    Messages:
    553
    Likes Received:
    285
    I agree, in fact reading your gditools script was part of my motivation for getting started with Python. I found it quite easy to follow even though I didn't know much about the language other than that indentations were part of its syntax.
     
    Woofmute and -=FamilyGuy=- like this.

Share This Page