Working on bin/cue support in SheepShaver

About SheepShaver, a PPC Mac emulator for Windows, MacOS X, and Linux that can run System 7.5.3 to MacOS 9.0.4.

Moderators: Cat_7, Ronald P. Regensburg, ClockWise

dom
Space Cadet
Posts: 6
Joined: Sun Jan 03, 2021 3:37 pm

Re: Working on bin/cue support in SheepShaver

Post by dom »

Thanks for your support on this.

I tested the Beethoven_Beyond image from Mac Garden, and it's working great also for me. So, maybe there is something wrong with my bin/cue files... I can't test with the old version of SheepSaver I built in the past, unfortunately.

I will try to make new disk images from the physical CD-ROM. I'm using this command to make the bin/cue files :

cdrdao read-cd --paranoia-mode 3 --read-raw --datafile filename.bin filename.toc

then I use : toc2cue filename.toc to get the cue file generated.

Could that be the problem ? It is supposed to generates single binary and 2532 tracks (audio and raw data)...
Elyus
Tinkerer
Posts: 90
Joined: Wed Mar 21, 2012 12:35 am

Re: Working on bin/cue support in SheepShaver

Post by Elyus »

I'm honestly not sure. I don't think I've gotten a successful bin/cue file using the cdrdao & toc2cue method myself. Perhaps relevant: the toc2cue man page has a note about static noise from audio CDs for recording.

Would you be willing to share one of your bin/cue files? I could try to reproduce the issue and try some different settings. You could also consider asking the folks at Macintosh Garden. They are a lot more familiar with bin/cue preservation of media!
dom
Space Cadet
Posts: 6
Joined: Sun Jan 03, 2021 3:37 pm

Re: Working on bin/cue support in SheepShaver

Post by dom »

I spent a long time today trying to make a bin/cue disk image to work in the current SS build.
I tried so many things... at the end, using PowerISO on Windows (even on a virtualized Windows 2000 with an old PowerISO version) is the only way I found for having CD quality sound for mixed-mode disk image of CD-ROM from Voyager Co.

I tried cdrdao with many various options, under Mac OS X mainly as I'm a Mac user, but I also gave a shot to Linux Mint last build on a PC (bare metal- not a virtual machine).

What I can see is that there is a very small difference between the image files generated by PowerISO and those made by cdrdao.

The .bin file is a little bit bigger or smaller when made with PowerISO, and the .cue file has a small amount of time delay for each track, almost like an unnecessary offset is introduced somewhere by cdrdao and at the generated disk image lacks something... Depending on the CD-ROM, the PREGAP seems to be the source of the problem.

Here is an example :

Physical CD-ROM : The Classical Ideal, from Voyager Co. (Mixed-mode CD-ROM with audio Tracks).

With PowerISO under Win 2000 I get :

classic.bin : 752,4 Mo (752 435 376 octets)
classic.cue :
FILE "classic.bin" BINARY
TRACK 01 MODE1/2352
INDEX 01 00:00:00
TRACK 02 AUDIO
INDEX 01 01:06:01
TRACK 03 AUDIO
INDEX 01 05:48:04
TRACK 04 AUDIO
INDEX 01 06:22:11
TRACK 05 AUDIO
INDEX 01 07:30:38
[...]
TRACK 51 AUDIO
INDEX 01 70:32:39

!This disc image works perfectly with SheepShaver!

With cdrdao I have :

classic.bin : 755,5 Mo (752 082 576 octets)
classic.cue :
FILE "classic.bin" BINARY
TRACK 01 MODE1/2352
INDEX 01 00:00:00
TRACK 02 AUDIO
PREGAP 00:02:00
INDEX 01 01:04:01
TRACK 03 AUDIO
INDEX 01 05:46:04
TRACK 04 AUDIO
INDEX 01 06:20:11
TRACK 05 AUDIO
INDEX 01 07:28:38
[...]
TRACK 51 AUDIO
INDEX 01 70:30:39

! With this image, I have statics noise in SS!

So, comparing both, we can deduce that the ripping process is not the same.

I will eventually ask to the Mac Garden community what tools they are using for mixed-mode CD-ROM ripping, as you suggest.
And I can also share both the working and the noisy disk image for you to have a look, if you would like too. Please, confirm me if you would like to have access to it.

And thanks again for your help!
User avatar
adespoton
Forum All-Star
Posts: 3171
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: Working on bin/cue support in SheepShaver

Post by adespoton »

dom wrote: Wed Jan 06, 2021 10:28 pm I spent a long time today trying to make a bin/cue disk image to work in the current SS build.
I tried so many things... at the end, using PowerISO on Windows (even on a virtualized Windows 2000 with an old PowerISO version) is the only way I found for having CD quality sound for mixed-mode disk image of CD-ROM from Voyager Co.

I tried cdrdao with many various options, under Mac OS X mainly as I'm a Mac user, but I also gave a shot to Linux Mint last build on a PC (bare metal- not a virtual machine).

What I can see is that there is a very small difference between the image files generated by PowerISO and those made by cdrdao.

The .bin file is a little bit bigger or smaller when made with PowerISO, and the .cue file has a small amount of time delay for each track, almost like an unnecessary offset is introduced somewhere by cdrdao and at the generated disk image lacks something... Depending on the CD-ROM, the PREGAP seems to be the source of the problem.

Here is an example :

Physical CD-ROM : The Classical Ideal, from Voyager Co. (Mixed-mode CD-ROM with audio Tracks).

With PowerISO under Win 2000 I get :

classic.bin : 752,4 Mo (752 435 376 octets)
classic.cue :
FILE "classic.bin" BINARY
TRACK 01 MODE1/2352
INDEX 01 00:00:00
TRACK 02 AUDIO
INDEX 01 01:06:01
TRACK 03 AUDIO
INDEX 01 05:48:04
TRACK 04 AUDIO
INDEX 01 06:22:11
TRACK 05 AUDIO
INDEX 01 07:30:38
[...]
TRACK 51 AUDIO
INDEX 01 70:32:39

!This disc image works perfectly with SheepShaver!

With cdrdao I have :

classic.bin : 755,5 Mo (752 082 576 octets)
classic.cue :
FILE "classic.bin" BINARY
TRACK 01 MODE1/2352
INDEX 01 00:00:00
TRACK 02 AUDIO
PREGAP 00:02:00
INDEX 01 01:04:01
TRACK 03 AUDIO
INDEX 01 05:46:04
TRACK 04 AUDIO
INDEX 01 06:20:11
TRACK 05 AUDIO
INDEX 01 07:28:38
[...]
TRACK 51 AUDIO
INDEX 01 70:30:39

! With this image, I have statics noise in SS!

So, comparing both, we can deduce that the ripping process is not the same.

I will eventually ask to the Mac Garden community what tools they are using for mixed-mode CD-ROM ripping, as you suggest.
And I can also share both the working and the noisy disk image for you to have a look, if you would like too. Please, confirm me if you would like to have access to it.

And thanks again for your help!
Great work! What happens if you use the PowerISO cuefile with the cdrdao rip? What I'm seeing here is that cdrdao is assuming the audio should be gapped and doesn't allow for continuous play, which this sort of audio would definitely have.

If the PowerISO cuefile + cdrdao bin works, then it's likely just a flag in cdrdao that needs to be set differently. If the static is still there, something else is probably causing it.

In the past, I've been able to get cdrdao to perfectly mimic PowerISO, so it should be possible here too.

Out of curiosity, what does the TOC file look like? It's possible the issue was generated by toc2cue and not by cdrdao at all.

Here's the complete list of cdrdao options:

cdrdao {show-toc|read-toc|read-cd|read-cddb|show-data|read-test|disk-info|msinfo|unlock|simulate|write|copy|blank} [--device device] [--source-device device] [--driver driver-id] [--source-driver driver-id] [--simulate] [--speed writing-speed] [--blank-mode mode] [--datafile file] [--read-raw] [--read-subchan [--no-mode2-mixed] mode] [--tao-source] [--tao-source-adjust link-blocks] [--fast-toc] [--buffers buffer-count] [--multi] [--overburn] [--eject] [--swap] [--session] [--force] [--reload] [--keepimage] [--on-the-fly] [--paranoia-mode mode] [--with-cddb] [--cddb-servers server-list] [--cddb-timeout timeout] [--cddb-directory directory] [--tmpdir directory] [--keep] [--save] [-n] [-v verbose-level] toc-file

There's enough different flags there that could be causing the issue that it's probably worth trying a few variations and seeing what gives you an exact PowerISO match.
dom
Space Cadet
Posts: 6
Joined: Sun Jan 03, 2021 3:37 pm

Re: Working on bin/cue support in SheepShaver

Post by dom »

Just a quick answer : yes, I tried to use the .cue file made by PowerISO with the .bin file made by cdrdao, and it still produces static noise, so I think that something if different in the way cdrdao is producing the .bin file.
I tried a lot of different options with cdrdao, reading again and again its man page... then I gave up and gave a try to PowerISO.

I may will try others combinaisons later. I have the intuition that the time gap is the key : it looks like the gap is ignored by PowerISO and not by cdrdao.

I checked also the TOC file, and it contains the same timing and track info than the .cue file made with toc2cue...

Thanks.
dom
Space Cadet
Posts: 6
Joined: Sun Jan 03, 2021 3:37 pm

Re: Working on bin/cue support in SheepShaver

Post by dom »

I almost gave up when I had a look to this wiki entry about DOS emulation :

https://www.dosbox.com/wiki/Cuesheet

The relevant part is this :
The option --driver generic-mmc:0x20000 takes care of the correct byte order. Omitting it would lead to noise instead of music.
Pretty straight... and from the man page of cdrdao (https://github.com/denisleroy/cdrdao/blob/master/README) :
0x00020000: If the byte order of the audio data retrieved with
'read-cd' is wrong (i.e. not big endian samples) use
this option.
I already read this ReadMe, but I didn't try the various driver options. There are others options that can be useful too, for other cases than audio.

So, by adding :

Code: Select all

--driver generic-mmc:0x20000
to my command line, the bin/cue is finally audio-compatible with SheepShaver! The noise is gone!

Hope this will help others, someday, when they face the same problem.
User avatar
adespoton
Forum All-Star
Posts: 3171
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: Working on bin/cue support in SheepShaver

Post by adespoton »

dom wrote: Sat Jan 09, 2021 2:21 pm I almost gave up when I had a look to this wiki entry about DOS emulation :

https://www.dosbox.com/wiki/Cuesheet

The relevant part is this :
The option --driver generic-mmc:0x20000 takes care of the correct byte order. Omitting it would lead to noise instead of music.
Pretty straight... and from the man page of cdrdao (https://github.com/denisleroy/cdrdao/blob/master/README) :
0x00020000: If the byte order of the audio data retrieved with
'read-cd' is wrong (i.e. not big endian samples) use
this option.
I already read this ReadMe, but I didn't try the various driver options. There are others options that can be useful too, for other cases than audio.

So, by adding :

Code: Select all

--driver generic-mmc:0x20000
to my command line, the bin/cue is finally audio-compatible with SheepShaver! The noise is gone!

Hope this will help others, someday, when they face the same problem.
Please let the guys at MG know about this too -- this is extremely useful to know for data archiving.
Post Reply