• Rise from your gwave!

Experiment #1: Dummy padding Saturn games

Discussion in 'Saturn Dev' started by MasterAkumaMatata, May 20, 2002.

  1. MasterAkumaMatata

    MasterAkumaMatata Staff Member

    1. Get Dummy Add, make sure it's DA.EXE when unzipped.
    2. Create or get a BIN+CUE of Street Fighter Alpha 2: SFA2.BIN and SFA2.CUE. Cue sheet looks like this:

       TRACK 01 MODE1/2352
        INDEX 01 00:00:00
       TRACK 02 AUDIO
        PREGAP 00:02:00
        INDEX 01 43:59:73
    3. Run DA.EXE SFA2 SFA2_NEW in a command prompt; pad for 80 minute CD-R
    4. Extract the audio track from SFA2 disc to a WAV file; call it TRACK02.WAV
    5. Add the audio track to SFA2_NEW.cue to look like this:

      FILE "SFA2_NEW.iso" BINARY
       TRACK 01 MODE1/2048
        INDEX 01 00:00:00
        POSTGAP 00:02:00
       TRACK 02 AUDIO
        PREGAP 00:02:00
        INDEX 01 00:00:00
    6. Load SFA2_NEW.cue with CDRWin, FireBurner, BlindWrite, or Nero and burn to CD-R
    7. Test on modded Saturn (use swap trick otherwise)
    Conclusion: The game plays fine. However, no significant, if any, noticeable increase in loading time. Proceed to experiment on another ISO+short audio track game: Shining The Holy Ark:

     TRACK 01 MODE1/2352
      INDEX 01 00:00:00
      PREGAP 00:02:00
      INDEX 01 24:20:50
  2. Curtis

    Curtis Member

    What's the ultimate goal here Akuma? I thought padding saturn games was pointless ???
  3. MasterAkumaMatata

    MasterAkumaMatata Staff Member

    That's the goal, proving that it is.
  4. Curtis

    Curtis Member

    Oookay...ummm would it be silly to ask why you need to go to so much trouble to prove that it is useless?
  5. MasterAkumaMatata

    MasterAkumaMatata Staff Member

    Just for the fun of it.   [​IMG]
  6. Curtis

    Curtis Member

    You are a crazy mad person!

    Cool [​IMG]
  7. MasterAkumaMatata

    MasterAkumaMatata Staff Member

    My next experiment is to see if I can play custom made CPK movies using just the 0.BIN file from SFA2 and renaming my custom made CPK movie to "INTRO.CPK". As you know, the Capcom logo intro ("INTRO.CPK") plays before anything else on the game, so if the 0.BIN file acts like the 1ST_READ.BIN for the DC, it might be possible to make it play a whole length CPK movie.

    If it plays, I can forsee it crashing on right after the movie ends since the 0.BIN calls on other files as well. [​IMG]
  8. MasterAkumaMatata

    MasterAkumaMatata Staff Member

    OK, I'm ready to share my results with the CPK movie experiment.
    1. Using IsoBuster, I extracted the first 26 files from my original SFA2 disc that was sorted from lowest LBA onward, one of which was the Capcom logo intro "LOGO.CPK", and saved it to a blank folder called "data" on my HDD.
    2. Next, I took the intro movie "ARKNS.CPK" from Shining the Holy Ark and copied it to my HDD, renamed it to "LOGO.CPK", moved it to the "data" folder mentioned above, and overwrote the "LOGO.CPK" file there.
    3. Using MKISOFS.EXE from the DC selfboot toolkit, I recreated an ISO containing the 26 files from the "data" folder using this sort text file "sfa2.txt":

      data/STDEMO.PAK 489
      data/EFCT00.PAK 490
      data/OMAKE.Z 491
      data/BACKUP.Z 492
      data/OPTION.Z 493
      data/NOWLOAD.COL 494
      data/NOWLOAD.MAP 495
      data/NOWLOAD.DOT 496
      data/SELECT.PAK 497
      data/SELECT.Z 498
      data/BIGFACE.COL 499
      data/TITLE.PAK 500
      data/OPENING.Z 501
      data/OPENING.BIN 502
      data/BACKUP.CHA 503
      data/WARNING.PAK 504
      data/AKEBONO.COL 505
      data/ASCII.COL 506
      data/ASCII.BIN 507
      data/LOGO.CPK 508
      data/MOVIE.Z 509
      data/SDDRVS.PAK 510
      data/SFA2UBIB.TXT 511
      data/SFA2UABS.TXT 512
      data/SFA2UCPY.TXT 513
      data/0.BIN 514
      and this command line:

      mkisofs -V STREET_FIGHTER_ALPHA2 -l -sort sfa2.txt -o sfa2.iso data

      The result was a 20.9 MB regular MODE1/2048 ISO file.
    4. Using CDRWin, I extracted sector 0 to sector 15 from my original SFA2 disc as MODE1/2048 and named it IP.BIN. IP.BIN should be exactly 32KB (32,768 bytes).
    5. Using Echelon's IPINS.EXE tool, I've patched sfa2.iso with IP.BIN.
    6. To be on the safe side, I've extracted the audio track from my original copy of SFA2 as a WAV file to my HDD and called it TRACK02.WAV.
    7. Using the simple cue sheet below, I've burned it to CD-R.

      FILE "sfa2.iso" BINARY
       TRACK 01 MODE1/2048
        INDEX 01 00:00:00
        POSTGAP 00:02:00
       TRACK 02 AUDIO
        PREGAP 00:02:00
        INDEX 01 00:00:00
    8. When done burning, I've tested it on my modded Saturn.

    To my satisfaction, my hacked ISO booted up fine, and as I expected, the intro movie to Shining the Holy Ark was playing in place of the Capcom logo intro [​IMG] However, the playback was a bit choppy and slow compared to its original speed (i.e., it took 102 seconds to finish playback compared to the normal playback time of 61 seconds). This is most likely due to the LBA difference of the movie file (i.e., LBA 64,399 in original STHA disc and LBA 193 in the one I created). Perhaps dummy padding to 74 or 80 minutes would speed things up. Will do that on next experiment, which is to really encode an AVI file with the Cinepak codec and then convert that to CPK using David Midknight's AVI to CPK Converter tool that RadSil gave me a long time ago.

    Anyway, after the movie finished playing, it displayed the words "NOW LOADING" in SFA2 font, followed by the name Capcom as it normally does in SFA2 before the realtime intro movie that starts out showing fire burning with Akuma in the center of it. After the word Capcom, a blank screen came up and didn't go away until I powered off the Saturn.
  9. mal

    mal Member

    You've just got too much time on your hands.

    Although it does sound like fun. [​IMG]
  10. ExCyber

    ExCyber Staff Member

    Actually, there is theory to support the idea that padding might slightly reduce seek times on a CLV drive, but it won't help overall transfer rates unless you've got an application that's constantly seeking.

    Which file gets loaded first apparently depends on stuff in the IP.BIN; details of this are unknown to me, except that the standard IP.BIN seems to always boot the first file on the disc regardless of filename.

    As for the Cinepak replacement experiment, you may have replaced the Capcom intro video with a file that used a different Cinepak encoding method not fully supported by the playback code present on SFA2. Have you considered trying a different Cinepak-using game as the "host"?
  11. MasterAkumaMatata

    MasterAkumaMatata Staff Member

    You're right. The IP.BIN for Saturn games does not specify which file to load first. Therefore, it would be logical to think that Saturn games always boot from the first file on the disc in alpha-numeric order. I put several random Saturn games into my computer and noticed this to be true.

    Knowing this, I now realize why (six months ago when I first got my modded Saturn) my first attempt at adding a dummy file to a remastered SFA2 didn't boot. Silly me, it was trying to boot from the dummy file. [​IMG] Therefore, if you must add a dummy file, make sure to name it as the second file listed in alpha-numeric order.

    @May 21 2002,09:52

    As for the Cinepak replacement experiment, you may have replaced the Capcom intro video with a file that used a different Cinepak encoding method not fully supported by the playback code present on SFA2. Have you considered trying a different Cinepak-using game as the "host"?[/quote]

    I thought about that when I chose to replace with the intro movie of Shining the Holy Ark. Perhaps because the video files were created by different developers (Capcom vs. Sega), or perhaps due to the date difference, that slightly different versions of the Cinepak codec were used. The Capcom intro video file was dated September 13, 1996 while the intro video file for StHA was dated March 4, 1997.
  12. AmyGrrl

    AmyGrrl New Member

    What kinda limitation are there to the Cinepak format...

    I think I got the video and audio set right... but what about filesize limit.. can the video be no long than 5 mins... or maybe.. no bigger than 100 MB.... if this is the case.. than we'd need to split up the video files into multiply files.. which is fine by me... but then..we'd most denefitly need a custom player to CPK videos... to load one part after anther... and that doesn't exist....
  13. MasterAkumaMatata

    MasterAkumaMatata Staff Member

    There might be a way to hack the 0.BIN file from SFA2. Looking at the 0.BIN file with a hex editor, I can actually see the names of files, including LOGO.CPK and other files mentioned on my sort text file listed above. If I know what file is called on after LOGO.CPK, I may be able to hack the 0.BIN to call on another CPK video file instead. Experimenting may tell me whether if it will work.

    To find out the limits on file size and time, I'll have to do another experiment: encode an AVI that would take up almost all of an 80 minute CD-R. I'll post my results when I'm done.
  14. AmyGrrl

    AmyGrrl New Member

    I've been playing around with a 30 minute video clips... and replacing it with the F3.CPK file on Shining Force III... as near as I can tell... the video's are encoded excatly the same... right down to the res. codec, audio.. etc... using the file information... in VirtualDub both movies like the.. yet.. I still can't seem to make it work... the CD boots up just find.. but just skips the video.. and goes to the intro screen and you can keep playing...
  15. DBOY

    DBOY New Member

    I think there's a difference between Saturn CinePak and the CinePak codec in windows that virtualdub uses. That's why you need the AVI to CPK converter.
  16. AmyGrrl

    AmyGrrl New Member

    of course I'm using the avi to cpk program... if I take the CPK2AVI program.. and convert the F3.CPK to F3.AVI.. and then look at the file infomation of the AVI file in VirtualDub... and then I took at 30 min video file I had.. and encoded it to the same settings VirtualDub showed me... and then looked at the File information using VirtualDub.. and they both look the same... so I use the AVI2CPK program... to convert my 30 minute video file to the CPK format.. replaced the file on the CD... and burned it... but the Saturn just skips the file...and goes to the intro
  17. ExCyber

    ExCyber Staff Member

    Sounds like the Cinepak decoder found something in the header it didn't like and just returned to the caller with an error code, which was probably ignored since the video isn't an essential function.
  18. DBOY

    DBOY New Member

    Oh kick ass [​IMG] Maybe if I corrupt all the videos in Panzer I won't have to watch them every time I play the damn game [​IMG]

    This gives me another idea too...
  19. AmyGrrl

    AmyGrrl New Member

    Well.. I can't see what I'm doing wrong with this encoding... so I hope someone figures out the right way to do the encodeing...
  20. AmyGrrl

    AmyGrrl New Member

    Success... =[​IMG]= I tried using a smaller clip... and I actually replace the F3.CPK file on my Shining Force III CD... with a LEGO Media clip called... The Han Solo Affair... an it's running on my Modded Saturn just fine right now... video plays great.. no slow downs.. etc... has for audio.. it seems pretty good... it does lag a bit.. and get's pretty off near the end of the video.... and it's a bit hissy... but I think that's the AVI2CPK program.... if you use his CPK2AVI file.. and convert the F3.CPK file to AVI format... the audio is very very hissy... yet if I use acpk2avi a different CPK2AVI encoder... I get a prefect conversion of the audio... no hisses... so maybe we need a better AVI2CPK program... but this is a great start... I finally replace a different video on Shining Force III that I encoded... =[​IMG]= I'll keep playing around with that larger 30 Minute file I have... maybe there is a filesize limit to this compression format...

Share This Page