Protecting Software Programs

After upgrading to Mountain Lion from Snow Leopard I realized that some of my old games I got for my son are not working. I didn’t even realize till then that those games worked only because of a technology called Rosetta to run PowerPC based software on Intel based Macs. I started with OS X only starting 2010 and so I never new all the history till now.

My 3 yr old son wants to play Zoombinis Logical Journey (he doesn’t really play it properly and himself, but let me put it that he can spend some time moving those cute Zoombinis around and losing them all to the Pizza guy). I told him that we can’t play anymore but 3 times I have noticed he put the CD into my iMac’s DVD tray. So I realized that he is not going to give up and then started the quest to get the game running.

a) First I installed the VirtualBox and tried installing OS X Snow Leopard using the original DVDs that came with the iMac. Installation was successful and I could get everything up and running. However, the game did not run. I think there was a problem entering into the full-screen 640×480 mode that the game requires.

b) Then I thought may be if I tried a different virtualization technology, I might have luck. I downloaded the trial version of VMWare Fusion and went through the VM creation process. If everything worked, I wanted to get a copy of it from Amazon. That’s when I realized for the first time that OS X actually has a client version and a server version (call me dumb, but as a consumer who was using Windows and Linux, I never had a need to know that level of details especially when all I get to order is a shiny iMac for well over $3000 with top-of-the-line customization) and Apple only allows virtualizing the server version.

c) So as I was evaluating other options, I briefly thought of buying a Mac Mini with Snow Leopard. First, it’s not possible to get such a system on Apple. The ones on Amazon are too expensive. Found a few on Craigslist and eBay but too much price variation I wasn’t sure which one is the best option.

I wish Apple should have done one of the following things

  1. Continue to support Rosetta
  2. Give a big warning that can’t be missed when trying to upgrade from Snow Leopard
  3. Sell Snow Leopard based hardware for a few more years
  4. Or better, change the EULA for OS X client versions that they can be virtualized (I don’t now how legally it’s possible for already accepted EULAs). I feel annoyed that I paid so much for the Mac, then I upgraded to Mountain Lion and the only reason I want to hang on to Snow Leopard is for the fault of Apple not supporting Rosetta and I can’t make use of the Snow Leopard copy because of the restrictive EULA.

I also briefly thought of buying the latest Mac Mini with Mountain Lion, partition the disk and install Snow Leopard as a second OS so that I could dual boot (I have to warn this is also not legally allowed I think because though the hardware is from Apple, I think it’s allowed to install only on the original hardware for which the OS disks were provided) but I dropped this idea because apparently such installations can fail if the 2+ yr old installation can’t recognize the newer CPUs it won’t work.

Just when I thought I was running out of options, I got another idea and there comes option d) below.

d) Luckily all these game CDs were meant for both Windows and Mac. So, what if I could get it to run as a Windows game? Then I installed wine using macports which initially had a few hiccups but finally went smooth (one issue was that /opt/local/bin/python was pointing to Python 3.3 and another was I had several dependent packages built without the universal flag). But finally when the time came to run the game I ran into an issue. Wine can’t directly interact with the CD disk (atleast on Mac) and the Mac’s mount point only shows the PowerPC files and not Windows files. So, I have no idea how to get it to install the Windows files. I even tried this with WineBottler and ran into the same issue.

e) Now comes the final option. Given that I was going down the Windows path, I suddenly realized I have a big paper weight lying around with Windows 7 Ultimate edition on it. Here I am calling my HP Laptop the big paper weight because after spending $15000 in 2009 and having heat problems in less than 3 months and getting it serviced via the warranty, it heat problem never went away and even crashed my harddisk due to the heat. I bought a new hard-drive and installed Windows 7 on it but due to the heat problem just kept it aside. Only time we were using it was for taking some printouts.

So I thought of trying out the game on this Windows 7 machine. I was skeptical if it would run a decade old game made for Windows 98. But interestingly it ran perfectly though it crashed in the middle. Forgetting the heat problem I first thought it might be a compatibility issue and so downloaded the Windows XP Mode and ran the game in that. It worked just fine.

Now I am almost ready to let my son give it a try. Except, I wanted him to try it from the Mac itself rather than giving that hot laptop to him. Then I thought I will use Remote Desktop (RDP program). For that I need to provide the IP address of the machine and what IP address should I give for the virtual machine? Because I was using the NAT option and can’t really use other options, I ran out of options to use the remote desktop.

Then I shelved the Windows XP mode and tried it back on Windows 7 itself (after realizing that the original crash was the heat problem) and everything worked fine. For a brief period I made my son play the game on the laptop (under my supervision) but he really had difficulty with the mouse. Given he is very comfortable with Apple’s magic mouse, I completed the initial mission of making it run on the iMac.

Now everything works as expected except there is some problem for Windows 7 to go into a low resolution full-screen mode when accessed using RDP. For this I first have to start the game on the laptop and then access it using the RDP. I also bought a laptop cooler now that I might use it a bit longer.

After 2 days of multiple hours of effort and learning a lot (technical, legal, historical details) I decided to write about this experience and ponder the bigger question. While researching on running PowerPC applications on Mountain Lion, some people suggested moving to modern programs, latest version of the apps etc. Sure, I don’t mind paying again and getting newer version of those games. But unfortunately, the original game companies got acquired (and reacquired) and in the process there are no newer versions of those games and those games are simply too good (classic) to give up.

This brings a bigger question. There is a lot of concern about losing a lot of digital content because of change in hardware and standards. But what about the software itself? While it’s technically feasible to run any software with suitable emulators, as time passes it’s going to only get difficult. How do we protect the best of our software for future generations?

This entry was posted in Uncategorized and tagged , , , . Bookmark the permalink.

One Response to Protecting Software Programs

  1. Pingback: Virtualization | (Point(er(r)))

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.