One of the main problems facing the retro game and retro computer enthusiast is the age of the hardware and software involved. For instance, most of the computers and consoles I'm interested in are pushing (or even over) 30 years old now and the software (be it on cartridge, floppy or tape) is just as old.

As such, the hardware might not be as reliable as it used to be, options to connect to a monitor, TV or other peripherals might be outdated or produce low quality results and the software might no longer start or develop glitches due to failing storage media. To try and solve this issue, several different solutions have shown up over the years - each with their own pros and cons.

In this article I'll take a look at the most popular of these: using emulation, using FPGA or similar technology to clone the original systems and expanding or maintaining the original systems.

Emulation
Cross development using Komodo Edit, ACME and the VICE Commodore emulator.
Above: Cross development using Komodo Edit, ACME and the VICE Commodore emulator.
By far the most popular method of playing retro games is using an emulator of sorts. An emulator is a software implementation of a computer or console system - it in effect 'pretends' to be an old system so programs made for the older system can be run.

Good emulators can be an effective way to play old games or use old software. While they may not always be 100% accurate, the differences (if any) are usually minute - most if not all software will run without any problems. They also allow you to skip loading, speed up or slow down games and save a game at literally any moment.

Emulators can also help speed up the development of new games and software for your system of choice, offering an easy way to test your new code without the drawbacks of using the actual system you're coding for. Naturally, emulators can make use of modern monitors and peripherals without any problems. Often, you can emulate a much more complete old system than you originally had: want a harddrive added to your fake Amiga? No problem! A turbocard for your virtual C64? Sure thing! A network interface for your emulated NES to play over the internet? It's possible!

In short, there are many advantages to using an emulator - and since you're not running a 30 year old system it's far less likely to break down or act up. On the other hand, there are some downsides to using emulators as well.

First of, there is the question of legality. For some emulators (and most downloadable ROMs), it's not clear wether or not the required licenses or approvals have been given*. Secondly, emulators tend to be run on PC's connected to modern LCD monitors which may or may not pose a problem.

For one, the old screens were much lower resolution and were based on analog technology which kind of blurred pixels together (this even happens on the higher quality CRT monitors of the 80's and early 90's - albeit far less so than on an 80's TV set). And for another, PC monitors run in very different video modes and, for PAL computers & consoles, at a different refresh rate altogether.

All this results in an image which looks a whole lot less good than you may remember - scrolling might not be smooth, colours might be very faded or overly harsh and everything is oh-so pixelated. Naturally, this is partly due to the new systems and games looking so much better and using much higher resolutions. However, the games did look better** than the average emulator will make them look - though not through any fault of the emulator itself.

Lastly, emulators can 'feel' different due to differences in control and a lack of immersion. Keyboards and gamepads do not fit well to replace old style digital joysticks (this is less of an issue with consoles as they always used gamepads - albeit digital ones).

Likewise, running things on an old console or homecomputer involves changing cartridges or other media, waiting on loading, not being able to alt-tab out or using save states etc. It's a more involved and physical process to play games on old hardware, whereas playing an emulator is more of a virtual process (there are no cartridges, you can stop any moment to browse the internet, etc).

To me personally this effect is big enough to have an impact. Using (for example) a real SNES or a real Commodore 64 feels very different and more authentic, even if from an objective perspective the differences are not that big. It's all very subjective but that doesn't change the result - in my humble opinion, anyway.
Emulation pros:
  • Easily available
  • Can do things original hardware can't (save states, higher speed)
  • Virtual disks, tapes and carts always work
Emulation cons:
  • Misses that 'authentic' feeling
  • Can look worse than old CRTs
  • Controls are not optimal (i.e. keyboard instead of joystick)

FPGA systems
The Turbo Chameleon, a FPGA system, running Project-X using the MiniMig Amiga core
Above: The Turbo Chameleon, a FPGA system, running Project-X using the MiniMig Amiga core.
A new and upcoming way to play retro games is by using a FPGA (Field Programmable Gate Array) system. These basically are reconfigurable computer systems, which can be changed on the fly by loading a new definition into the FPGA which powers it. So, you can change how the system works on a hardware level*** by merely loading a file from hard disk or other storage medium.

Until recently, this technology was very expensive and limited in functionality. These days FPGA chips are much more affordable and capable. As a result several companies and persons have used the technology to create hardware clones of old computer systems.

Examples of what FPGAs can do is things like reimplementing the Commodore 64, the Amiga 500, the ZX Spectrum, the Atari ST(e), old arcade boards, etc. In most cases these FPGA implementations add extra features, such as VGA out, turbo modes, built-in virtual disk drives, etc.

Because these systems are a kind of 'hardware emulator', they can get closer to the original systems in some ways - many of the FPGA systems allow you to use at least some of the original peripherals out of the box or allow you to interface directly with the original computers or consoles.

For example, the Minimig has a RGB SCART cable available for it, allowing you to use PAL or NTSC television screens or old style CRT monitors. It also accepts the original joysticks and original mice. The Turbo Chameleon not only plugs into a Commodore 64 as a cartridge, it can also function as a standalone Commodore 64 compatible disk drive and has an optional docking station which allows the use of original joysticks as well as the original Commodore 64 or Commodore Amiga 500 keyboards.

Both also offer 50Hz video out for smooth-scrolling PAL games**** (without stuttering).

Other ways in which FPGA systems get closer to the original experience is that they are separate systems - which helps in creating the feeling of immersion - and that they operate more like a separate, whole system than a piece of software running on a standard PC or Mac can.

Of course, nothing is perfect so FPGA systems have their own drawbacks.

Starting with the reason why not many people own them: they tend to be quite expensive. There are many good reasons for this (niche market, expensive components, etc) but the end result is that FPGA systems tend to fall in the €200-300 bracket. Which, while you get a very useful and rather cool device for the money, is still not exactly cheap.

Another drawback is the FPGA cores themselves. While they tend to be under constant development, FPGA's are somewhat of a niche market and as such the development is slower than that of software emulators. As such, the FPGA cores tend to lag somewhat in features and compatibility compared to the software emulators available.

Lastly, the hardware nature of FPGA's does tend to limit the systems as well. Most FPGA systems are small, self contained units with a limited number of ports and little or no way to expand or upgrade (apart from larger storage).

This is a big part of the charm of these systems, but also means the release of a new FPGA chip which supports more advanced computers to 'emulate' will mean buying a new FPGA system. Likewise, if one of the ports or the memory card standard/filesystem change for PC's, you'll need a new system.
FPGA pros:
  • Supports multiple retro systems at the touch of a button
  • Tend to offer hardware options such as controller ports for retro joysticks or PAL video out
  • Virtual disks, tapes and carts always work
FPGA cons:
  • These systems are more limited in connectivity than a PC in many ways
  • The hardware tends to be expensive
  • It's (still) a niche market, so development is slower than PC emulators

Original systems
A Commodore 64 with the DC2N Datasette emulator and the 1541 Ultimate disk drive emulator
Above: A Commodore 64 with the DC2N Datasette emulator and the 1541 Ultimate disk drive emulator.
A third and also popular method of retro gaming is to use the original hardware and either maintain it in working condition or use modern upgrades to make using the systems easier in modern times. Obviously, a well maintained classic computer or console is an excellent way to experience retro games. However, some elements of retro gaming are getting harder to keep using as intended.

Magnetic media such as floppy disks and audio cassettes were widely used by home computers. These are very old now and rather unreliable. What works today may not work tomorrow. Likewise, old CRT monitors or TV's are old and may fail and the computers/consoles themselves can also fail due to ageing components. Of course, all these problems can be fixed and it's also possible to upgrade the old systems with new hardware to expand storage options or peripheral options. This can lead to a much more usable system than 'back in the day', so it's worth investigating.

Examples of what is possible today include adding VGA, DVI or HDMI out for an improved display, adding more modern internal or external storage options, replacing floppy drives with floppy drive emulators, adding turbo cards (the new variants of these tend to have much more memory than the old) or adding options to use modern mice, keyboards or gamepads.

Personally I like projects like these a lot - having VGA out on my Amiga 600 has made it much easier to use and being able to use an external compact flash card reader to transfer files to the PC and back is a great feature!

Naturally, using old systems (even if you upgrade them) does have its share of drawbacks.

To begin with (and as mentioned before), even if you maintain your systems well they are still very old by now. Things like the capacitors used in them are liable to stop working, which can lead to all sorts of faults or even a complete system failure.

Secondly, upgrading these machines to make use of modern hardware or storage can get quite costly and time consuming - as an example: converting lots of floppies to floppy images takes a long time. While an upgraded system is much more usable, it does require some effort to get to that point and using an emulator or FPGA system is usually a quicker solution.

The last drawback to using original systems (though upgrading them can alleviate this to a point) is that using them, while authentic, does mean living without quite a few modern amenities - no fast loading or massive quantities of games at your fingertips, no internet access, instant save points or fast forwarding gameplay, etc. This obviously has its own charm, but if all you want to do is quickly play an old game setting up a retro system can be a bit cumbersome. For me it's not enough to stop me from using them, but it is a point worth bearing in mind.
Original systems pros:
  • There are no incompatibilities and all original peripherals can be used
  • They have the proper 'authentic feel' and looks great when coupled with a CRT TV or monitor
  • Upgrades available these days can make the old machines great fun to use - within their limits
Original systems cons:
  • They are really quite old these days and so are unreliable and fragile. Magnetic media (disks, tape) are hit-or-miss and likely failing by now
  • Compared to emulators or FPGA systems, using 'the real thing' can be rather cumbersome
  • Upgrading to be more usable today is a costly endeavor

Conclusion
All three of the options I've looked at have their own pros and cons. In my opinion, none of the options is the clear winner - my own preference is using the original systems or FPGA systems, but at the end of the day that is a subjective thing.

If you wish to explore retro computers, I'd therefore recommend trying out any of the three above and see what you like best. Start with emulators or systems you owned 'back in the day' and go from there.

FPGA systems are very cool, but do require a bit more tuning than most emulators. Upgrades for old systems usually mean opening the case and sometimes require soldering - if in doubt, let someone with the proper skills do the work, breaking something is easier than you'd think and clearly no fun.

Above all, enjoy your retro computing - no matter the form!

Useful links - emulation
  • The versatile Commodore emulator: VICE. This program emulates various 8-bit commodore machines, including the Commodore 64. One of the best Commodore 64 emulators out there.
  • The amiga emulators, WinUAE for Windows based machines and FS-UAE for Linux/BSD and Mac.
  • Amiga Forever, a software package using WinUAE and FS-UAE. Includes official licensed Amiga Kickstart ROMs and some licensed commercial software.
  • Steem and Hatari, Atari ST emulators.
  • EmuTOS, an open source replacement operating system for the Atari ST.
  • There are many ZX Spectrum emulators available. Here's a couple to get you started: Spectaculator and Fuse.
  • As for consoles, there are plenty of emulators about for those as well. Here's a few: Nestopia (NES), SNES9x (SNES), Kega Fusion (many Sega consoles).
  • Last but not least, there is the Arcade emulator MAME - which emulates most Arcade games from the 80's and 90's (and more I might add).

Useful links - FPGA clones
  • The FPGA system I'm currently using is the Turbo Chameleon 64.
  • A promising new system is the FPGA Arcade, which aims to run lots of cores (Atari, Commodore, Arcade stuff, etc) - including an Amiga core that runs AGA software.
  • The first Amiga FPGA system was the Minimig, designed to be an Amiga 500 - in a little box!
  • Another new FPGA system is MIST, which aims to runs the Atari ST and Atari STE, as well as offering an Amiga core and more.
  • One of the first available systems was the C-One reconfigurable computer.

Useful links - retro computer expansions
  • Individual Computers - creators of the Turbo Chameleon, the Indivision ECS (offering VGA out for the Amiga 500/600/etc), the ACA turbo cards for the Amiga and many, many more retro computing goodies!
  • The official 1541 Ultimate-II page, still sells the Commodore 1541 emulator cartridge for the Commodore 64.
  • Lotharek - sells many retro computing things, including a wonderful floppy drive emulator, the MIST board and more!
  • AmigaKit - Sells many Amiga related goodies, including most of the Individual Computers range.
  • Vesalia - Also sells many Amiga related goodies, including (again) most of the Individual Computer range.

*) There are exceptions to this: a large number of games has been made available for download by the original companies or developers. There are also licensed emulation packages such as Amiga Forever. Some emulators even include free re-implementations of required ROMS - most Atari ST emulators come with EmuTOS, an open source implementation of the Atari ST operating system which is freely available and does not require a license.

Note that the act of making an emulator itself is not illegal (especially for systems that are 20+ years old - any patents on the original technology will have lapsed by now), the legal aspect is mostly about the actual games and any required ROM code to run the machine itself.

**) A great example here is dithering - on a period TV or monitor low res games using dithered graphics appeared to smoothly flow from one colour to the next, on modern monitors each pixel will be clearly visible - generating a far harsher look and no blending of colours.

The other big difference is smooth scrolling - systems which supported this had screens which fluidly moved, without visible jerking or stuttering. On a monitor using a different refresh rate (such as a 50Hz PAL game on a 60Hz LCD screen) will not show the same: the movement will stutter as 60 is not divisible by 50.

***) This is a simplification of what actually happens - the components do not change and they still operate within their normal limits, but an FPGA system used for retro-computer cloning tends to use the FPGA as CPU, Video and Audio processors so loading a new FPGA core can change the behaviour of the system quite radically.

****) Note that the PAL Commodore 64 never output 50Hz but rather 50.125Hz so there still is a very slight judder every now and then that the original didn't have.