KBNLresearch / iromlab

Loader software for automated imaging of optical media with Nimbie disc robot
Apache License 2.0
31 stars 5 forks source link

Handling of CD-ROMs with multiple data sessions #98

Open bitsgalore opened 4 years ago

bitsgalore commented 4 years ago

Currently Iromlab only extracts the data from the first session of a disc (unless it is an enhanced CD). Consider extracting data from all sessions.

bitsgalore commented 4 years ago

We could repeatedly call IsoBuster for each session, using the /s: option. Then for each iteration write the ISO image using a naming suffix that allows us to figure out the original session arrangement/order (e.g. disc-02.iso, disc-03.iso, etc).

A complication here is that if a cd contains muliple data-only sessions, cd-info does not report it as a multisession disc, so there's no info that would inform Iromlab about the number of sessions to iterate over!

We can get around this with /s:all in IsoBuster, and using the session index path variable <%SI> (note added quotation marks around the ei argument):

"C:\Program Files (x86)\Smart Projects\IsoBuster\IsoBuster.exe" /d:D "/ei:test-<%SI>.iso" /et:u /ep:oea /ep:npc /c /m /nosplash /s:all /l:ib-h.log

Some things that need to be taken into account:

  1. What is the behaviour of the above command with enhanced audio CDs? Will this extract the audio session as well?

  2. Renaming of ISO images as per the volumeIdentifier will get slightly more complicated.

  3. How do we inform isolyzer that it now needs to iterate over multiple files (and which ones)?

  4. How do we pass the correct sector offset of each sector to isolyzer? LSN of each track from iso-info listing?

bitsgalore commented 4 years ago

Update - the multisession case is further complicated by the fact that the file system within a session may link to previous sessions, see:

http://www.gburner.com/online-help/what-is-multisession-disc.htm

and a bit of history:

https://web.archive.org/web/20050211005128/http://www.roxio.com/en/support/cdr/multisessionhistory.html

(Via Tyler Thorsted on Twitter)