I've been looking at a lot of my old game collection for archival lately. Many games from the 90's had both data (CD-ROM) and Redbook Audio (CD-Audio) components to them so that the game audio can play in the background while the game is playing, with examples being game discs of the Windows 95 era and original Playstation games. Because of the Redbook audio, these discs don't compress well and I think it could be better.
Unless I'm mistaken, the best way to archive the discs currently is to perform LZMA compression on a BIN/CUE image of the discs using a combination of something like ImgBurn and 7-zip. Unfortunately, none of the lossless compression algorithms for files compress the audio portion of the discs very well. But something like FLAC works well for audio.
A solution to better compress the audio portion of the disc is to use something like CUEtools and make a CUE/FLAC disc image. Unfortunately, CUEtools discards the data portion of the image completely.
I believe that the best of both worlds exist. A CUE/BIN/FLAC image for hybrid discs would be beneficial because the audio tracks are easily accessible and better compressed. I can compress the CUE and BIN data separately using LZMA and get some pretty good results.
I have made a BIN/CUE/FLAC image manually. Is there a program that can rip hybrid discs to BIN/CUE/FLAC images? If not, is there a limitation that stops people from doing this? If there is not, may someone please make a program that does this or add this feature into their ripper/burner?
The CUE file standard does not object to having audio tracks and data from different sources and not just the BIN file. I have made a BIN/CUE/FLAC image manually from two rips and a notepad-modified CUE file. This image burns and plays fine. Here are my instructions for making a proof-of-concept BIN/CUE/FLAC image. I have performed these instructions on the video game disc "Agile Warrior F-111X".
- Using the CUE Ripper program of CUE Tools, I ripped the tracks of the disc in lossless FLAC format, in tracks using libFlake, using compression set to 11. I ripped these individual tracks in a folder called â€œ[Just the Audio]â€ (if you wanted to know).
- Using ImgBurnâ€™s â€œBuildâ€ feature, I dragged and dropped the files from the disc. I built the BIN/CUE image trying to replicate the data type and disc labels. (For the game I used, the data type was really MODE1/2352 but the closest thing I could use was MODE2/2352; I thought that the data was only ISO9660 Level 1 with standard character set.) I put the BIN/CUE in a folder called â€œ[Just the Data]â€.
- I made a new folder from the FLAC tracks and data BIN.
- I modified a cue file with notepad and put it into that folder as well. The file should start with â€œâ€â€FILE "data.bin" BINARY\ TRACK 01 MODE2/2352\ INDEX 01 00:00:00â€â€â€ for the data portion, followed by â€œâ€â€FILE "01. Track 01.flac" WAVE\ TRACK 02 AUDIO\ INDEX 01 00:00:00â€â€â€ on a new line for each consecutive audio track. You can keep the REM line from the CUE Tools CUE file if you want, but I did not.
At this stage, you should have a working CUE/BIN/FLAC image. These next steps are just for 7z compression.
- I temporarily removed the FLAC tracks for a moment. I work with the BIN and CUE files in this next step.
- I used 7-zip to compress the folder. For me, the settings I used were Ultra / LZMA / 64 MB / Word Size: 273 / Solid Block / 2 CPU threads. I kept the update mode at â€œAdd and replace filesâ€ for this step. I did not change the name of the archive: the archive name is the name of the folder.
- I added the FLAC tracks back in. I will work with all the files for this next step.
- I used 7-zip to compress the folder again, but this time I used the update mode â€œUpdate and add filesâ€ and the compression level â€œStoreâ€. I did not change the name of the archive: the archive name is the name of the folder. This new archive should add the FLAC tracks, previously missing, in an uncompressed format.
By the end of this these instructions, I have created the 7z file that I will use to store the image for backup purposes.
My current proof of concept lacks the exact filesystem structure of the data portion of the disc; if you recall, I simply slapped the files from the disc onto another BIN/CUE image, which does not replicate the filesystem structure. Should there be any copy protection on any game, my proof of concept instructions would not make the game playable. I propose that someone should make a program that rips to BIN/CUE/FLAC because it would replicate the filesystem structure of the data.
If someone could make a program that makes this proof of concept better than I, it would be a great help! Not just to me but to the community.
Lastly, I think that this compressed single file should be burnable by itself, so I want it to have its own file extension. I think the compressed single file image should have the file extension â€œ.cfzâ€; that extension is not linked to any program.