This is how you build a retro computer


If you are a fan of old computer systems, then you have already noticed that the devices are becoming scarcer and more expensive. For an original 80486, MSX, Amiga, Atari ST or Amstrad you have to dig deep into your pockets… if you come across one at all. For many, there is no other option than to work with emulators or virtual machines. Unfortunately, this does not always give the desired result. Fortunately, there is an alternative: build it yourself with a special chip and separate parts.

If the subject of retrocomputing or retro games appeals to you, you may have already seen the FPGA chip (field-programmable gate array). The FPGA is often touted as a ‘wonder chip’ that offers total accuracy and has no lag like an emulator. Several commercial companies, such as www.analogue.co, use the FPGA at the heart of their gaming systems and have great success with it.

Thanks to its affordability, its popularity with hobbyists who start their own open source projects with it is increasing rapidly. One such open source project is the MiSTer project, which in a user-friendly way brings back to life several old computers via the FPGA chip of the Terasic DE10-Nano development kit. Various FPGA implementations such as 80486 PC, NeoGeo, Game Boy and Sega Mega CD are currently under development. The number of projects is increasing rapidly.

01 What is an FPGA?

The best way to describe an FPGA is that it is a flexible chip that you can (re) program as you wish. The modern FPGA consists of a large number of programmable logic circuits that can perform a function together. You can program the chip in such a way that it does exactly what you want and is fully optimized for the function for which it is programmed. The great thing is that the FPGA can also be reprogrammed to perform a new function. The programmable infrastructure is almost limitless, an FPGA can be used to implement any logic function or set of functions, even multiple processor cores. The FPGA is mainly intended for professional purposes where data-intensive applications must be processed much more efficiently. But an FPGA chip can also be used to pretend to be an old retro machine.

This is how you turn your PC into a retro game emulator

02 Emulation and re-implementation

Emulation is an extremely inefficient way to simulate hardware. Relatively simple hardware emulation requires a beast of a processor. Also, in most cases, not all instructions are emulated properly so that the software doesn’t end up working as it did on the original hardware. In addition, many aspects affect performance. If the system is equally busy with another process, this is almost immediately noticeable in the emulation. When playing a game, this can give undesirable results. Think of a platform game that sometimes requires input to jump a tenth of a second earlier and another time a tenth later. One time you tumble into the abyss, the other time you just miss the end.

A relatively simple FPGA can do this trick much more efficiently, because the original electronic circuits on the FPGA are recreated and the instructions do not need to be translated by software. This method gives almost the same experience as the original hardware, because the instructions are executed as they were done with the original. In some implementations it even goes so far that certain delays, which occur on the original hardware, also occur in the emulation via the FPGA. When using an FPGA, the community prefers not to talk about emulation, but about ‘re-implementing’ the original hardware.

02 When using an FPGA chip, the community prefers not to talk about emulation, but about ‘re-implementing’ the original hardware.

03 From Minimig to MiSTer

The first steps to use an FPGA to recreate a retro computer were taken in January 2005. Then the Dutch electrical engineer Dennis van Weeren came up with the concept to develop a new Amiga 500 based on the FPGA: the Minimig or Mini Amiga . This project has probably inspired others and has resulted in several ideas. One of these is the MiST FPGA computer, designed around the Intel Cyclone III FPGA and intended to deploy classic 16bit computers such as the Amiga and Atari ST. The fairly active community has developed various so-called cores for the system, such as a NES (Nintendo Entertainment System), Apple + II and Commodore 64. But the Cyclone III reached its limit. Much more than these 8 and 16bit systems did not fit in this FPGA, a larger FPGA was needed.

The Intel Altera Cyclone III FPGA Development Kit cost more than $ 1,200 at the time and was therefore not interesting to use as a basis for the MiST FPGA computer. The Terasic DE10-Nano Development Kit with Cyclone V FPGA has a much lower price tag of around 110 euros. This development kit became the basis for the MiSTer project, which was started by Alexey Melnikov. This larger FPGA makes much more possible, for example an 80486 PC can be implemented on it. There are also cores from a Sega Mega CD, GameBoy Advance and NeoGeo AES.

03 The Terasic DE10-Nano development kit with Cyclone V FPGA has a much lower price tag of around 110 euros.

04 MiSTer extensions

One of the extensions for the MiSTer project is the MiSTer IO Board. This expansion board is also designed by Alexey Melnikov (the project leader of the MiSTer project). The design is freely available to everyone. The MiSTer IO Board is an optional extension that connects on top of the Terasic DE10-Nano-soc. It adds features to the MiSTer platform, such as a VGA connector for analog video, 3.5mm audio port, three buttons, three status LEDs, a second slot for a micro SD card, a fan for cooling and a user port in the shape of a USB connector (this is not a normal USB port, but a kind of serial port).

The IO Board is not the most popular expansion module, that is the MiSTer SDRAM memory module. The ddr3 memory on the Terasic DE10-Nano is too fast for most cores. It has too high a latency and is not suitable for the timings required for the edo dram of the past. There are three variants of the MiSTer SDRAM memory module with 32, 64 and 128 MB of memory. The SDRAM memory module with 128MB of memory is required for the latest cores such as the NeoGeo and to charge Game Boy Advance ROMs. You can find a full overview of the expansions and cores on the wiki page.

04 With the extensions you give more functions to the Terasic DE10-Nano Development Kit.

05 Where to buy?

MiSTer is open source and freely accessible to everyone. It is kept alive by the community. The suppliers of parts have often put these together themselves. Many of these providers are based in the US. But parts for the MiSTer project are also increasingly popping up on Chinese websites such as AliExpress. We have parts of the webshop www.misterfpga.co.uk used. This webshop is located in the United Kingdom and offers a wide choice of extensions. The Terasic DE10-Nano Development Kit can be found at various web shops. We bought our copy through www.digikey.com. On the forum www.misterfpga.org you will find more information about the project and the various extensions.

On the website www.misterfpga.co.uk you will find all the necessary extensions.

06 Get started yourself

To get started with MiSTer, you do not have to purchase all parts immediately. The most important parts are the Terasic DE10-Nano, a heatsink and a MiSTer SDRAM memory module. The IO Board, USB hub and housing can also be added at a later time. You do need a converter from micro-usb-b (male) to usb-a (female) to connect the keyboard. You can also connect your own USB hub to the USB OTG connector.

06 You can put it together yourself with a little technical insight.
.

Recent Articles

Related Stories