Ripping weird multisession software CD from the 90s
Hi, we spoke on a stream recently. Ripping the weird multi session CD revealed it was not exclusively Win 3.1 (though it supports it) but also supports 9x. Still very weird.
A big issue here is that the extracted ISOs for anything but the first session don't work due to the absolute LBAs in the ISO9660 file system. In this blog post from a person working at the national library in the Netherlands, they suggest any data track not at the start of the CD needs to be zero padded at the front to the correct offset.
However, for multi session CDs I believe the proper way to do it is to join all ISOs into a single shared file, each image placed at the correct offsets in the file, then use mount option sbsector=xxx
to select which superblock to use to mount it. This is required as later sessions can refer to data in earlier sessions (this how "updating CDs" was done). Your software also need to output what sbsector values should be used for each session.
I will be uploading the bin/cue/toc files to archive.org for this when I have the bandwidth to do so, and will post a comment. This will allow for you to experiment with how to fix this properly.
Side note: I suggest that your script is also updated to dump the output of cd-info
as that may be crucial for correct reconstruction.