Old Schoold by Harri Kauhanen

The state of the emulation [Emulation on Windows Series]

Sometimes I wish I’d never develop any interest on emulation. It’s fun, and it complements the hardware side of the retrocomputing hobby. But often it’s also sometimes frustratingly hard to get the software working, and it might take hours and hours to find a working emulator with a working configuration. The emulators themselves come with user experiences that sometimes is great, and other times cumbersome. Add to the mix those (cool) emulator front-ends for launching those games on emulators, and you’ll get even more to configure.

In the ideal world, I would have a single emulator device that would support any gaming console or computer created on the 1980s or 1990s, every game/utility would run perfectly on it and the device would do it’s best to provide me the “feeling” of the actual hardware it is emulating. RetroPie running on Raspberry Pi is trying hard to be such device – it also does a damn good job on it and keeps your budget low.

My plan was to utilize Pi to emulate some popular gaming consoles and couple of 8-bit and 16-bit computers I don’t physically own. To emulate everything is not my cup of tea, I just want to play a little with those toys I have personal memories about. The “RetroPie plan” almost worked, but I finally gave up emulating computers on Pi. So currently Sinclair ZX Spectrum, Commodore 64 and Commodore Amiga get emulated on a PC/Windows. I also installed Amstrad CPC, Atari ST and Macintosh 68x00 emulators, because I sometimes need them for disk image processing and other “retro-tasks”, but also did it out of curiosity to see how enhanced editions (Amstrad CPC Plus and Atari STE) perform compared to my real-life counterparts without the extra power of these models. Macintosh II is interesting mostly to see how the most beautiful OS ever created (System 6) look on colors and how the first color game Crystal Quest compares to the black & white version.

The reason why I abandoned RetroPie for computer emulations:

  • Almost none of these emulators run on RetroArch so each emulator needs to be configured separately (and sometimes it’s a pain to get e.g. controllers working properly)
  • Emulators optimized for ARM-processors are fast, but lack features and usability
  • Even if you launch a game from Emulation Station, you might end up using the user interface of the emulator when switching disks etc.
  • Emulation Station support multi-disk games poorly (you need to do some tricks to “hide” other disks, but make them available for the emulators)
  • Many Amiga games do not work with Pi supported emulators
  • Amiga games (on UAE2ALL) cannot be launched directly from Emulation Station as the emulator does not support any command line options
  • Sometimes it is impossible to configure / remap controllers (looking at you again UAE2ALL)
  • There is no Amstrad CPC emulator for Pi capable of running “Plus” / GX4000 games

On the other hand, RetroPie and gaming consoles is almost a match made in heaven. So I still have Nintendo NES, Sega Master System, Nintendo SNES, Sega Mega Drive, Nintendo 64 and PlayStation 1 running on a tiny Pi-powered box. The reasons why consoles work so well:

  • Most of the emulators run on RetroArch, which means fewer things to configure and less things to learn
  • Emulation Station works great with game controller when choosing a game to play
  • Consoles are controlled with gaming controllers only, so you don’t need to have a keyboard & mouse connected
  • Cartridges do not need switching and your gaming experience is not interrupted with weird user interfaces and commands to learn

The older generation consoles work on this set up extremely well. PlayStation 1 is struggling a tiny bit, and I don’t know what happens when I’ll get asked for the CD-ROM #2 for the first time. N64 emulation is a popular subject on RetroPie forums as some games work, and others tend to have problems or are just unplayable. With overclocking and heavy game specific tweaking it might be possible to get most N64 titles running fine.

So now that I have computer emulators running on a “proper” platform (Windows XP in my case) did I get all the RetroPie issues resolved? The answer is only partially yes, and the most unpleasant result was that I still had to use hours and hours getting some difficult cases working. As a summary:

  • Some emulators can play disk drive sounds – it’s almost critical part of the emulation to support this
  • I already am controlling the computer (and emulator front-end) with a keyboard and mouse, so it feels more natural to carry on the same with the emulator
  • I have less compatibility issues with Amiga games, but performance is an issue with my 15 years old PC
  • Sometimes I still need to use two emulators – e.g. Stardust (on Atari STE) runs fine on Hatari, but does not on Steem SSE (which I prefer on other games)
  • Scanlines quality varies a lot and you are limited to the options the emulator provides
  • Some emulators struggle on something like Pentium 4 / Windows XP – it’s probably due to the development on emulation accuracy over the years

I was wondering should I have a front-end such as Emulation Station (does not work on XP) to launch the games, and I ended up using LaunchBox 4.4 (newer version do not work well on Windows XP). This old version is a bit hard to find, but you can grab them by registering to The Old Computer.

LaunchBox is very nice on XP as it does not break your flow (can be controller with a mouse) and comes with similar metadata scraper (game description, front covers, etc.) as Emulation Station has. The actual emulators I will discuss in separate posts:

Emulation Station is still used on RetroPie running these systems:

Now that I’ve played with emulators and emulation quite a bit, I hugely appreciate the love and effort retro computing hobbyists put on these projects. Part of me, however, wishes that the emulation scene was not such a wild west. It would be much better if we had a standard like RetroArch / LibRetro and every emulation effort was built on the standard. Then we would have some guys working with video mode enhancers and the other guys concentrated on the gorgeous front-ends giving the best experience possible by giving you the 3D-model of the computer/console, showing you how the floppies/cassettes/cartridges actually looked like and when you attach them into to the media-whatever-slow, you would hear a “click” just like you did with the real thing.

The state of the emulation is… well, it’s just awesome we have all these emulators, but one day I hope we’ll get more unified user experience with accurate emulation not requiring impossibly powerful host machines :) Currently, I have some systems emulated very nicely (8- and 16-bit consoles & Spectrum), emulators that either need to too much “per game” adjusting (N64, Amiga) or do not perform fully satisfactory (PlayStation 1, N64, Amiga, C64) and emulators that don’t provide good visual emulation with good scanlines / display filters (Atari ST, C64, Amiga, Amstrad, some N64 titles). Perhaps one day withing next 10 years I will update my emulation efforts to some expensive “Micro ATX like” solution (with some sort of multi-sync monitor) that will silk smoothly run anything I ever want :P