Tuesday, October 22, 2013

Choosing an operating system for running MAME, NES, Sega Master System, NEOGEO and Sega Megadrive emulators

Choosing an Operating System for running the Emulators
 
When starting out with the arcade machine, I had a look for some Linux Live CD distributions, as well as considering other operating systems: DOS (ms dos, dr-dos etc...) and even Windows. I had considered using Windows as some of the front ends look really good, like mamewah. But I wanted to do this arcade cabinet on the cheap.

I thought ms-dos might be a bit old, and possibly some emulators may not work with it, so I gave that a miss. However, one advantage of DOS would be it would be quick to load, and have low memory usage for the operating system, leaving more for the emulators.

 Because I am familiar  with Linux, I thought I'd give Linux a go. Its free, and a live distribution would theoretically take less time to set up than doing it from scratch. Plus, I knew nothing about video game emulators, and a live distribution would help me out in that respect.

 I couldn't find the KnoppixMame Live CD on the Knoppix website(but it is here! sigh), and I didn't know enough about emulators in order to set up a Debian net-install (after trying on a virtual machine), so I ended up using Puppy Arcade in a virtual machine to test it out. It worked really well, and out of the box, it was almost fully set up.

Puppy Arcade (based on Puppy Linux) is really good. It has loads of emulators and front-ends. There are supplementary packages (http://ppm.scottjarvis.com/ and http://murga-linux.com/puppy/viewtopic.php?p=488932#488932) which add in extra or updated packages, and I found it really easy to set up. However, I had a few issues with it. The most recent version of Puppy Arcade is version 10, which was last updated about 2010(?), so the emulators that come with it may be out of date.

There were a couple of old emulators (fceux for NES, and MAME for arcade) which wouldn't do full screen. There are updated versions which would do full screen, but I either couldn't compile a more recent version, or download a compatible updated package. I tried "cheating"by adding Debian packages, which are compatible with Puppy, but I ended up with too many dependencies needing to be updated.

  I found Puppy Linux somewhat problematic in itself. I come from a Debian background, and found the lack of a central repository for packages disappointing. I found a couple of updates to the emulators on other sites, but it wasn't enough.

   I had also done a full hd install, and its not possible to upgrade from Puppy Linux 4.20 (which Puppy Arcade 10 is based on) to Puppy Linux 5.20 (which may have more up-to-date packages?) without doing a full reinstall. 

 The deal breaker was really the lack of fullscreen though. The other NES emulators Puppy Arcade had would go full screen, but wouldn't work with some of the roms I had downloaded. I really wanted to stick with fceux, as it seemed to be most compatible with the random selection I tried. Plus I needed to be able to remap the keys on fceux due to some issues with my keyboard/joystick being wired up to use pre-bound keys. A newer version of fceux would let me rebind the keys to something else.

 So, I sadly bid goodbye to my Puppy Arcade install, and went over to Debian. I used a net-install to get all of the emulators I'd used under Puppy, and copied over the configuration files from ones I'd made in Puppy Linux.

 Because I'd  changed from Puppy Arcade to Debian, the version of MAME I was using also changed.  So,  I needed to update the ROMs for MAME. At some point the MAME ROM format had changed, so many of the ROMs I'd downloaded didn't go anymore. That was easy enough, its just something to be aware of.

No comments: