Over at NaClBox they are hosting a port of DOSBox to Google’s Native Client playground with one goal in mind: allowing you to play classic DOS games in Chrome. He currently has a limited number of titles set up in demo mode for you to try it out, including Alone in the Dark, the Secret of Monkey Island, and SimCity 2000. All of them play just like the originals, which tells me this VM implementation works great. I was able to play them on a 32 bit XP box, a 64 bit Windows 7 box, a 32 bit Xubuntu box, and just cause I could I then did it on my 64 bit box booting a Knoppix LiveDVD. Not that I recommend that, since all my settings evaporated when I took the disk back out, and Knoppix has its own DOSBox implementation bootable from the xStart GUI or command line menus anyways. I did not have a MAC box to test it on, but it claims to work on them as well.
I am unsure if the goal is to host a bunch of games at that site, but I suspect not. I believe he is trying to develop ports of open source projects like DOSBox for Chrome (the browser and the OS), and that belief is supported by the fact that his source code patch is available for download since this Tuesday so you can figure out how to compile and run your own. My project for this weekend is to see if I can get it built and working here. If I can, I have a few of my own favorite DOS games I look forward to playing again; Gibson’s Neuromancer, Zelazny’s 9 Princes in Amber, and Adam’s Hitchhikers Guide to the Galaxy. Thank Ghod I copied the original 5.25′ floppy’s to 3.5′ floppy’s in the early 90s, and then to CD in the late 90s, because I sure don’t have a working floppy drive of any flavor now. I even still have the original packaging on a few of them, although Leather Goddesses of Phobos looks a lot more sedate than my earlier self remembered.
How does this stuff work? The Google browser Chrome has some built in functionality called Native Client, which basically allows you to embed C or C++ code into your web app. This is currently in Beta, and one of the things that will determine whether it gets widely used or abandoned is how it will overcome the obvious security problems you generate by letting random remote people run programs on your machine. Java already solved that issue with the sandbox and restricted code subset approach to running C online, so there is a good chance Google will get there as well. While having DOSBox in the Chrome browser is an easy fix for windows and apple folks looking to run classic DOS programs in those environments, the real power of this port will be realized by people running those programs on their tablets and smart phones.