MiSTer FPGA Part 1 – Intro and Hardware Overview

FPGA, MiSTer, Posts, Retrocomputing, Retrogaming, Single-Board Computing

MiSTer is an open project that aims to recreate various classic computers, game consoles and arcade machines using modern FPGA hardware. I plan to deep-dive on some of the retro computing cores – but first a project introduction and hardware overview.

Introduction

The base hardware is the Terasic DE10-Nano, which is built as a learning and development platform for FPGA. FPGA stands for Field-Programmable Gate Array – the key concept here is that FPGA circuits are designed to be configured by the developer after manufacturing (hence “Field-Programmable”).

How does FPGA work?

An FPGA chip contains an array of programmable logic blocks, memory and interconnects that can be “wired together” by the developer. Developers write “Hardware Description Language” (HDL) – instructing the FPGA to create electronic circuits and compose logic gates into fully functional, working hardware.

Most importantly for retro-enthusiats, it’s possible to author HDL to replicate the hardware from old computers and consoles – perhaps even down to the circuit level. It’s possible to recreate an Amiga or Atari ST inside the FPGA – and then run it for a very authentic retro computing experience. How authentic depends on the accuracy of the HDL implementation vs the original hardware. Today (August 2020) the experience is already very good

What is MiSTer?

Realising the potential of the DE10-Nano for retro computing, a developer known as Sorgelig started the MiSTer project with the specific intent of recreating retro computers, consoles and arcade machines on modern FPGA hardware. “MiSTer” is:

  • The base hardware: the DE10-Nano board
  • Plus retro computer hardware definitions in the form of HDL (aka “cores”)
  • Plus a Linux-based operating system to load and run the cores
  • Plus hardware add-ons – so you can expand your MiSTer with additional memory, IO options, a USB hub or even a case

The whole project is on GitHub and open-sourced so anyone can contribute.

Hardware Overview

Taking a look at the hardware itself:

  • On the base board we have the Cyclone V SoC. This contains the FPGA and also a dual-core ARM Cortex-A9 to run the host OS

Around the outside we have:

  • The power jack, which uses a 5V DC barrel connector
  • HDMI-out for video
  • Two Mini-USB sockets, which are used for FPGA programming
  • An RJ45 socket for Ethernet
  • A Micro-USB socket to connect your peripherals: mouse, keyboard and gamepad

Underneath the device we have a microSD card slot. The microSD card contains the OS and also any cores/software you want to load. The DE10-Nano kit ships with an 8GB card which is plenty for MiSTer use.

Add-Ons

In terms of add-ons, I have a 32MB SDRAM board. This is strongly recommended – the majority of computer and console cores require it. Other add-ons are optional.


That’s it for the hardware overview. Next up: Install and Setup.

Comments