Disc Combining Kits

Discussion in 'Misc PSX Discussion' started by shalma, Feb 10, 2009.

  1. shalma

    shalma Discontinued Emu Author

    Messages:
    1,192
    Likes Received:
    0
    Some multi-disc games can be merged into 1 bin/cue file for emulators

    PSP: There's now reports that some kits have problems with PSX2PSP (ex. FFVII)
    PSP: Chrono Cross, Parasite Eve 1 are guaranteed to work on PSP


    NTSC-U collection
    Alone in the Dark - The New Nightmare
    Brain Dead 13
    Chrono Cross (*** POSSIBLE VIRUS WARNING ***)
    Colony Wars
    Countdown Vampires
    D
    Dragon Warrior VII
    Driver 2
    Fear Effect
    Fear Effect 2
    Final Fantasy VII
    Final Fantasy VIII
    Final Fantasy IX
    G-Police
    Galerians
    Grandia
    Heart of Darkness
    In Cold Blood
    Koudelka
    Legend of Dragoon
    Lunar - Silver Star Story Complete
    Lunar 2 - Eternal Blue Complete
    Metal Gear Solid
    Novastorm
    Oddworld - Abe's Exoddus
    Parasite Eve
    Parasite Eve II
    Shadow Madness
    Star Ocean - The Second Story
    Star Wars - Rebel Assault II - The Hidden Empire
    Syphon Filter 2
    Tales of Destiny II
    Thousand Arms
    Valkyrie Profile
    Wild Arms 2
    Xenogears


    NTSC-J collection
    Brain Dead 13
    Colony Wars
    Creature Shock
    Dragon Quest VII
    Parasite Eve
    Policenauts
    Star Ocean - The Second Story
    Valkyrie Profile
    Wild Arms - 2nd Ignition
    Xenogears


    PAL-E (S/G/I/F/..) collection
    Colony Wars
    Driver 2 - Back On the Streets
    Heart of Darkness
    In Cold Blood
    Novastorm
    Star Wars - Rebel Assault II - The Hidden Empire


    ePSXe_DVD5:
    Latest build (v5)

    Master files list:
    Attachments - Emuforums.com


    WARNING:
    Suggested not to re-rip your CD image using CloneCD / Alcohol from a virtual drive to create a 'bin' or 'img'.

    MagicISO / ISOBuster supposedly works to convert img, iso, mdf, bwt to 'bin' or 'iso'.

    Games bought from the Sony PSN store are DRM-encrypted and cannot work with these kits unless you decrypt them and convert the PSP eboot. No support will be given in this thread.


    PROBLEMS:
    Try looking at this post [URL="http://forums.ngemu.com/misc-psx-discussion/118402-disc-combining-kits-5.html#post1735866]HERE[/URL] which will let us examine your files.


    OPTIONAL:
    If you want to verify that your PS1 discs are accurate before merging..

    Method 1:
    Redump disc repair guide

    Method 2:
    1) Download the latest beta of CDMage (freeware) @ CDmage - CD image handling tool
    2) Run CDMage
    3) File -> Open (cue, ccd, bin, img, ..)
    4) Action -> Scan for Corruption -> OK

    0 errors = :)
    1+ errors = :*( - bad opcode, glitchy movie, or you may never notice the problem in-game

    Then visit here if you want to verify your discs:
    redump.org PSX discs
    Last edited: Mar 2, 2011
  2. NGEmu.com Advertisement

  3. Squall-Leonhart

    Squall-Leonhart NGemu Award Winner Award Winner!

    Messages:
    23,269
    Likes Received:
    2
    Only for the PSP, it will not work on any PSX emulator.
  4. shalma

    shalma Discontinued Emu Author

    Messages:
    1,192
    Likes Received:
    0
    I've used the parasite eve one with epsxe 1.7.0 (ISO loading). Played start to finish perfectly with no problems. Including ex-game.

    Playing the lunar one with epsxe 1.7.0 (ISO loading). No problems so far (start to end-game tower).

    Note:
    The tools create an ISO but creating the EBOOT (PSP) is a seperate process.
    Maybe I'm completely mistaken though (..?)
  5. Squall-Leonhart

    Squall-Leonhart NGemu Award Winner Award Winner!

    Messages:
    23,269
    Likes Received:
    2
    This interests me, maybe possible to combine the 4 FF9 CD's into a DVD?
  6. dolphin1984

    dolphin1984 Purr

    Messages:
    119
    Likes Received:
    0
    Sound interesting may save some time in the long run.
  7. shalma

    shalma Discontinued Emu Author

    Messages:
    1,192
    Likes Received:
    0
    The ff9.img files have different sizes. They'll need merging and rebuilding. I don't know if it can be safely done (conflicting file contents?). The structure doesn't seem horrible to work with.

    I think a DVD could be possible during a long-term project.
  8. Squall-Leonhart

    Squall-Leonhart NGemu Award Winner Award Winner!

    Messages:
    23,269
    Likes Received:
    2
    multidisk psx games tend to mirror the textures of all area's on each disk, with usually only the fmv's being different... unless you count FF8, of which theres 1 or 2 FMV's on disk 2 that are also on disk 3..... iiirc... been awhile since i was in the debug room.
  9. shalma

    shalma Discontinued Emu Author

    Messages:
    1,192
    Likes Received:
    0
    Began checking the first two FF9 discs more closely. I think you are right. And the game looks to use internal file IDs, making collisions probably remote.

    If I had more HDD space, I'd dump all 4 discs and rig the extractor to do sector comparisons for safety. Then create some test images.

    Don't know anything about how the disc swap check would work.
    Otherwise, your idea seems more concrete.
    I'll give the builder more thought in the meantime.

    FF9 Extractor
    http://forums.qhimm.com/index.php?topic=5481.0
  10. fireblaster_lyz

    fireblaster_lyz Is this thing on? Junior Contributor

    Messages:
    2,114
    Likes Received:
    15
    Yes. It can be done using Popsloader.

    EDIT: Popsloader only applies for the PSP. I don't think there's a way to compile it into a DVD.
    Last edited: Feb 12, 2009
  11. shalma

    shalma Discontinued Emu Author

    Messages:
    1,192
    Likes Received:
    0
    Lunar 2 combiner

    Code:
    Lunar 2 - Eternal Blue Complete [SLUS-01071 / 01239 / 01240]
    
    This will combine your 3 game CDs into 1 disc
    Tested only with epsxe 1.7.0
    
    WARNING:
    You'll need ~6GB to finish the operation
    
    Current: v1

    Preview fixes:
    - Movie player (permanent)
    - CD swapper (permanent)


    NOTE:
    The old kit was badly broken (in-game movie player). It is now deprecated to preview status.
    Last edited: Dec 30, 2009
  12. momochi

    momochi New Member

    Messages:
    26
    Likes Received:
    0
    I might do FFIX, combining FF9.IMG will be easy since every file has a unique ID that's stored in it's FAT. I just hope that the video files are accessed through the ISO table and not by hardcoded sector values (FFVII did this)
  13. shalma

    shalma Discontinued Emu Author

    Messages:
    1,192
    Likes Received:
    0
    Okay, I'll hold off for the moment. Finished the merger program but if someone else wants to work, don't mind at all. :) :)

    (confirmed)
    - Movies are loaded via ISO table
    - FF9.IMG can be relocatable
    - CD checks are done by looking for the presence of specific SLUS_* files
    (I don't know where this happens yet)
  14. KrossX

    KrossX クロスエクス

    Messages:
    4,664
    Likes Received:
    125
    This sounds interesting.

    Could you use the attachment instead of Megaupload?
  15. shalma

    shalma Discontinued Emu Author

    Messages:
    1,192
    Likes Received:
    0
    Code:
    Lunar - Silver Star Story Complete [SLUS-00628 / 00899]
    
    This will combine your 2 game CDs into 1 disc
    Tested only with epsxe 1.7.0, ISO loading.
    
    WARNING:
    You'll need ~4GB to finish the operation 
    
    
    Tested versions:
    - 1999-05-01  Original
    
    Current: version 1
    Last edited: Jul 19, 2009
  16. Squall-Leonhart

    Squall-Leonhart NGemu Award Winner Award Winner!

    Messages:
    23,269
    Likes Received:
    2
    did someone screw the uploads folder again.
  17. momochi

    momochi New Member

    Messages:
    26
    Likes Received:
    0
    I'll give it a go, like everything I do it'll be quite the hack job haha. If you're wondering about the disc check, the routine is stored in FF9.IMG (like most Square games lots of code for different segments of the game is swapped in and out to save RAM). It's loaded at the address 0x0a8234 in the RAM and looks like this:

    03004010FF00022498A0020C21204002

    If you change it to...

    03004010FF0002240000000000000000

    ... then it'll bypass the jump and link function to the disc change screen and the game will load as usual.

    Edit: And it may be the spacing issue, seeing as the game uses the next file's start sector to determine how large the current file it's loading is, the game may be trying to load 0x800 of free space where it can't.

    Edit2: Good work on your Lunar merge kits BTW, I think I'll use M2CDMaker for FFIX as well... may make things easier.

    Eidt3: 4:30 AM and I'm not thinking quite straight. In case you didn't know, I go by the name of psychospacefish on some message boards.
    Last edited: Feb 18, 2009
  18. shalma

    shalma Discontinued Emu Author

    Messages:
    1,192
    Likes Received:
    0
    Thanks, I see it now. :)

    Got lucky with the Lunars - friendly enough for cd2dvd. Normally I work with PC conversions (cd-2-dvd) but the Eve1 got me interested.

    Make sure to use the Lunar2 one - fixes some stupid root dir LBA bugs. And m2cdmaker wants all the root files listed first, then any sub-directory ones. There's also another current bug with subdirectory extraction - doesn't handle spanning yet.

    Don't plan to do any more conversions for awhile - they appear much harder than I'd thought. Grandia and Star Ocean might be fun to try though (MGS has differing contents for RADIO and STAGE but merging all those files looks damn tough). I've heard that Chrono Cross actually hides its files. >=o


    EDIT:
    Out of curiosity, checked out Grandia. There's a few conflicting files with same names.. :|

    Merging all the FF9.IMG files together is a little too large for the RAM to handle. Re-creating the FAT table maybe could be possible, which looks like a lot of work for any determined person. :frustrated:
    Last edited: Feb 19, 2009
  19. momochi

    momochi New Member

    Messages:
    26
    Likes Received:
    0
    Do you mean that the game can't handle directory tables larger than 2 sectors (thus requiring some ASM work to get the game to read them)? Or do you mean that when recreating the FAT you have to account for the fact that some directory tables will be more than 2 sectors?

    Grandia may be tricky because I think that the voice/music file's indexes are relative to the disc (meaning that for example the game may reference file 125 on disc 1 and file 125 on disc 2, but they'll be different files for different purposes). Also Grandia has that nasty disc-swapping mechanism that requires you to reset and reload to continue playing, not sure how you'd get around that.
  20. shalma

    shalma Discontinued Emu Author

    Messages:
    1,192
    Likes Received:
    0
    Normally the game DMAs about 11-12 $800 blocks to the tail-end of RAM (full directory info, ~1F3700). Merging all the files expands to 15 blocks, passing the RAM barrier and creates a hard crash.

    merger wip:
    http://www.megaupload.com/?d=8H2STXJF
    (create folders cd1/cd2/cd3/cd4/out; place FF9.IMG in each disc folder, out is ~675MB)

    Recreating FAT:
    - replacing directory table sector #s with real offset values
    - (directory 0) + (directory 1) + (directory 2) all in the same $800 block.

    Problem areas noted:
    $8001debc - this controls how many blocks to DMA. Used a ADDIU v1,r0,$7800 to hard-code it.
    $8001df08 - used to load directory 0 (?)
    $8001df70 - log says it's loading sector c (#10)
    more ex. SLL 00000009 (v0), 00000009 (v0), 0b (11)

    Got a migraine from trying to understand everything. Currently my build just infinitely repeatedly CD-ROM reads the last directory sector after grabbing the directory data.


    Haven't played Grandia in a long time. That sounds really nasty. o_o
  21. momochi

    momochi New Member

    Messages:
    26
    Likes Received:
    0
    So you've clumped all the directory tables together in one big block? I'm looking at the loading routine now, wouldn't it just be easier to hardcode the DMA address to 1F0000 or thereabouts? I suck at coding, so I'm writing an extractor/rebuilder/mess right now... the extractor part's working, haven't looked at the rebuilder yet.
    Last edited: Feb 19, 2009

Share This Page