Games comments edit

This post is about how to get a specific class of Win95 / Win98 era video games playing properly in Parallels on OS X.  Somewhat less important is that Parallels is running Windows 8 (I don’t see why it wouldn’t work with Windows 7).  If you’re using a computer without a CD drive (like any of the Microsoft Surface Pros) this should still prove to be helpful since a lot of the issue actually has to do with the lack of the CD Drive.

Every once in a while, I get a hankering to play one of the games of my youth.  The games I played back in high school or even college.  The games I played when I had nothing but time to play games.  One of the games I enjoyed playing long ago was Might and Magic 6.  MM6 was one of many role-playing games developed by New World Computing.  NWC was a in-house dev studio of 3DO.  Neither of these still exist, though their games live on.  If you haven’t played any of those games and have free time, they’re arguably worth checking out.  MM6 and many other MM games are available on Good Old Games for an incredible bargain.  If you want to buy the game (or any other game) on GOG, you don’t need to continue reading this, they’ve already solved the problem (at least for MM6).  However, the problem we’re solving here is a bit different.  If you still have the game CDs, read on.

The problem with many games of that era (the 90s…ahh I’m old) were that they used Mixed Mode CDs.  Mixed Mode CDs solved the problem of having CD quality sound in video games.  This was accomplished by having one data track on the CD (usually track 1) and then all of the other tracks were the actual music tracks.  You might remember having put a game CD into a music CD player and hearing very loud static if the first track played.  This was what happened when a music player tried to play the data.  Smarter, mostly computer, CD-ROM drives could check a bit and realize that the first track was data and skip it.

The real problem comes when you try to duplicate one of these CDs so you can “mount” it on your machine.  If you just want to reproduce the data portion of a game CD to get past the CD-check (back in the day you had to have the game CD in the drive to run the game…or you had to run a no-cd crack) this is easy enough.  You can use any of tons of programs to just copy the cd.  If you want to mount it to your computer or parallels image, all you need to do is generate an ISO of the CD drive. To do this, just get access to a computer with a CD drive, insert the CD, and then search for how to generate an ISO using your operating system.  For OS X I know you can do this very easily with the built-in Disk Utility.  From there, it’s very easy to mount an ISO using either OS X or Win8.  In either system, you just double click the ISO file and it’s done.  You don’t have to do anything special.  However, things are much more complicated for our Mixed-Mode CDs.  When you make the ISO of a Mixed-Mode CD, it only includes the data portion, not the audio.  This mostly works but if you want the music as well, you’re out of luck. 

After a lot of searching (it doesn’t help that “mixed-mode cd” isn’t an official term) I finally stumbled upon this page in the GOG forums.  It is essentially the ONE article after hours of looking that solved the problem.  You can take a look at the post for all the specific details but I’ll also detail them here.  IF YOU DO jump directly to the article, make sure you read the comment on getting the actual device string (for step 6).

Prereqs

In order for this to work, you need to have quite a bit of software installed on OS X.  If you’re not prepared to jump through quite a few hoops, abandon all hope (but you’re trying to play a twenty year old game so what are a few hoops).  First install the following:

  • Xcode – You can get this from the Mac App Store.
  • MacPorts – install instructions are here.  This enables you to install further prereqs.
  • CDRDAO – open a Terminal and type “port install cdrdao”
  • bchunk – in the same Terminal, type “port install bchunk”

Processing the cd

Insert your cd and go back to the Terminal.  Run “mount”.  This should print out all the drives mounted on your computer including the cd drive.  You’ll likely see two things mounted for the cd, so in my case something like this:

/dev/disk2s0 on /Volumes/MM7_Disk2 (cd9660, local, nodev, nosuid, read-only, noowners)      
/dev/disk2 on /Volumes/Might & Magic VII (cddafs, local, nodev, nosuid, read-only, noowners)
To unmount this, you’d then type “disktool –u disk2” and both items will be unmounted.  Next we need to get our device path.  We’ll do this by running: “sudo cdrdao scanbus”.  After entering your password you’ll get something like this:
IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/SATA@1F,2/AppleIntelPchSeriesAHCI/PRT1@1/IOAHCIDevice@0/IOAHCISerialATAPI/IOSCSIPeripheralDeviceNub/IOSCSIPeripheralDeviceType05/IODVDServices : MATSHITA, DVD-R   UJ-8A8, HB14
Now that you have that, we’re ready to process our CD.  (You may need to reunmount your cd disk again here).  In the following command, replace <DEVICE> with what you just got above minus the “, DVD-R UJ8A8, HB14” part:
cdrdao read-cd --datafile image.bin --driver generic-mmc:0x20000 --device &lt;DEVICE&gt; --read-raw image.toc
In my case, the command looks like this:
cdrdao read-cd --datafile image.bin --driver generic-mmc:0x20000 --device &quot;IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/SATA@1F,2/AppleIntelPchSeriesAHCI/PRT1@1/IOAHCIDevice@0/IOAHCISerialATAPI/IOSCSIPeripheralDeviceNub/IOSCSIPeripheralDeviceType05/IODVDServices&quot; --read-raw image.toc
That’s going to take a little while to run.  The last step is to use a tool installed with CDRDAO named toc2cue.  We’ll use this to create a cue file from the toc file.  Run this in terminal, “toc2cue image.toc image.cue”. 

Now we just need to mount the file in parallels.

Mounting in Parallels

Before you do anything, make sure you’ve shut down the Parallels image.  It can’t just be suspended.  Once that is done, right click on the VM (from the VM list) and go to Configure.  Then choose the Hardware tab.  From this list, click the + in the bottom left and choose to add a CD/DVD.  Click on the Connect To drop down and select Choose an image file…  Choose the image.cue file that you generated and click OK and close the window.  Start your VM up and you should see a CD drive mounted with your game on it and now when you play your game, it should play the music just fine!

One thing to note is that on occasion when playing MM6 the music would come over as static.  I don’t think this had to do with my mounting approach as I seem to remember having this issue long ago when I wasn’t ripping and mounting the cd at all.


Chris Risner