MiSTer FPGA to Emulate Retro Systems, Specifications

For some time now, the emulation, or rather simulation, of retro systems through FPGAs has become very fashionable, since thanks to them it is possible to have a system as faithful as possible to the original hardware. The MiSTer FPGA project falls into this category. We explain what it consists of.

Little by little the old systems are completely degraded and cannot be used and preserving them in the most reliable way possible is important for the history of computing. If we can’t keep the original chips, we can at least keep their organization and make the FPGAs behave like one.

MiSTer FPGA to Emulate Retro Systems

What is MiSTer FPGA?

MiSTer FPGA is a free and open project that seeks the most reliable possible reproduction of old systems through the use of an FPGA, which is configured to emulate old systems, whether they are computers or video game consoles. For this, the MiSTer community has created files that allow the MiSTer FPGA to be configured to function as different 8-bit and 16-bit systems.

Thanks to the use of an FPGA configured as the original hardware, it behaves like the original hardware and not through emulation. In other words, the MiSTer FPGA behaves like the original hardware and is the ideal replacement for those who want the most faithful experience possible with those systems.

The differences with other projects? As it is an open and free project, it is not associated with a commercial brand, this gives the participants the freedom to be as faithful as possible to the original hardware. Many of the commercial solutions that “emulate” old consoles through FPGA are limited to not infringing neither the patents nor the intellectual property and therefore they have to look for other solutions to avoid litigation.

How are the nuclei of the different systems developed?

Diseño Circuitos Papel

FPGAs are programmed using hardware description languages such as Verilog and VHDL in their different versions. These languages do not describe programs to be executed, but rather the internal organization of the various transistors. The way to achieve this is first by taking photographs with special microscopes and using visual information such as a map that is then encoded. This is due to the fact that the number of transistors has been doubling from time to time due to Moore’s Law, which complicates the analysis and implementation.

When systems are very complex, a version for FPGAs is created as close as possible to the original hardware, but many times there are elements that have not been documented by the manufacturer and these have to be implemented through reverse engineering. This means that even though the MiSTer FPGA has been configured to behave like a specific kernel, it does not work reliably.

Another problem has to do with the fact that the video times in old systems were designed to work with monitors and televisions that no longer exist, and although it is possible to add additional modules that allow you to use a CRT monitor, actually all MiSTer FPGA cores are designed to output their video signal through HDMI, so they are not completely faithful to the original hardware. Luckily it is an open project and the kernels that describe the hardware are updated over time.

Why an FPGA?

Procesador

The advantage of FPGAs is that we can configure them as if they were different pieces of hardware interconnected with each other and working in parallel. This has a higher efficiency than an emulator in which all the pieces of it are emulated by a single core or by several but in a less efficient way. An FPGA makes it possible to integrate older hardware more reliably, not only making the hardware work as is, but also with the same communication times and interfaces.

What hardware makes up the MiSTer FPGA?

Terasic De10-Nano

The main FPGA of the MiSTer FPGA is the De10-Nano from Terasic, it is an Intel Cyclone V 5CSEBA6U23I7 SoC , which includes two ARM Cortex-A9 cores as the main CPU, a 1 GB DDR3 RAM, a Micro SD interface, an HDMI video output and a type B mini-USB connector. This part of the hardware is used to load the cores through a menu, once they have been loaded the FPGA is started, which begins to function as the core that we have loaded.

The number of logic gates that the FPGA has is 110,000, this means that it cannot simulate complex systems due to the lack of programmable logic gates inside. So if you hope to emulate a 32-bit or 64-bit system then it is best that you forget to do it, since there are not enough elements for it.

Nor do you expect a 100% reliable emulation, since as we have mentioned before there are many hardware elements of these systems that, if we know what they do, they were never documented and we do not have the information on how they are implemented in the hardware.

SDRAM modules for the MiSTer FPGA

Mister FPGA SDRAM

The other item that is required is the SDRAM modules, which is surprising since the system has 1GB of onboard DDR3 memory. The explanation? It has to do with clock speed and latency, since as RAM has been giving greater bandwidths, latency has also increased. Today this is negligible, but old systems were designed so that the processors worked at specific times, which were related to the latency between the RAM and the different elements.

The usual thing would be to make use of the internal memory of the FPGA, but this means reducing it for the simulation of the hardware, so it is necessary to use external RAM and the answer has been the use of SDRAM, which is a compromise between the best The solution that would be the SRAM and the worst is that the use of DDR memory when simulating the different systems.

The other reason is that the DDR RAM is used by the ARM cores, which means that there is contention in its access, adding even more latency and making the simulation by the FPGA not correct. In general, memory response times are important for the system to function in a synchronized and coordinated manner.

I / O Expansions for the MiSTer FPGA

Mister FPGA Set Completo

The MiSTer FPGA has a series of expansion boards that add additional functionalities that are necessary to add certain functionalities and connectivity with certain peripherals. The installation of these plates is not easy, since in some cases they are not based on connecting them to an expansion port and must be done through soldering certain connections. So in most cases we recommend buying a MiSTer FPGA with the entire kit fully assembled.

Analog Board

Mister FPGA Analog Board

The first I / O board for the MiSTer is the so-called Analog Board which adds the following elements:

  • A VGA connector, to be able to connect a CRT monitor.
  • An audio minijack with TOSLINK.
  • A secondary SD interface, which is required for some cores.
  • A fan to cool down the De10-Nano, that is, the FPGA.
  • A USB 3.0 aspect port, which is called User Port and it is a serial port, which is used mainly to connect the original controllers through said interface.

SNAC adapters allow you to connect a control knob to one of these connectors, but if we want to be able to connect more knobs we are severely limited, since the Analog Board only has one User Port.

RTC Board

Mister FPGA RTC Board

The second expansion board is the RTC Board, which adds a real time clock for the cores that need it to function properly. CPUs usually count time from the duration of their clock cycles, so in order to have information on the course of time in the real world, they need this type of plate, which can also be updated through the internet.

ADC Board

Mister FPGA ADC Board

The third plate is the Audio / Tape Input, this plate allows to connect a cassette unit for greater fidelity of the experience of the computers of 8 bits. It is an addition for people who still keep the tapes of their 8-bit computers and they will work after so long, so it is not a fundamental piece to work.

USB Board and BlisSTer

MisterFPGA USB Hub

The fourth board is the USB Hub, which adds 7 USB ports to the MiSTer FPGA to be able to connect various peripherals. Be it mice, keyboards, gamepads and we can even add Bluetooth and WiFi modules.

Mister FPGA Bliss Box

The USB Hub should not be confused with the BlisSTer board, which integrates a series of User Ports to be able to connect several SNAC adapters and to be able to connect several controls and peripherals at the same time. Which is ideal if you still have the original peripherals and want to continue using these.