# MiSTer

MiSTer (also known as MiSTer FPGA) is an open-source project that aims to recreate various classic computers, game consoles and arcade machines, using modern FPGA-based hardware. It allows software and video game images to run as they would on original hardware, using peripherals such as mice, keyboards, joysticks and other game controllers.

## History

The MiSTer project was created by Alexey “Sorgelig” Melnikov, and was introduced on GitHub in June 2017. MiSTer originated as a port of the MiST project, a similar project that started as an FPGA recreation of the Amiga and Atari ST computers. When Sorgelig was developing and porting cores for MiST, he often struggled to get a picture on any of his monitors or televisions. The hardware used for MiST only featured analog video output, while all his monitors and TVs used HDMI. This led him to think about ways to get HDMI directly from an FPGA board, which eventually led to the MiSTer project.
Unlike MiST, which used a custom-built FPGA board from Lotharek, Sorgelig decided his open-source project should be based on a mass-produced board – one that anyone could pick up with ease. He figured it would not only make development more straightforward but cheaper, and he eventually settled on Terasic's DE10-Nano which is built around the Intel SoC FPGA.
MiSTer was initially named after the MiST project, whose name stands for "AMiga/ST". MiSTer's name originally stood for "MiST on Terasic board". However, MiSTer is currently only a simple name without anything underneath. The project is licensed under version 3 of the GNU General Public Licence.
In 2024, YouTuber Taki Udon released a lower-cost clone of the MiSTer using an Altera Cyclone V FPGA-based board that is less expensive than the DE10 Nano. The project is called the MiSTer Pi and its creators claim to have perfect compatibility with existing MiSTer cores and software.

## Hardware

The MiSTer project revolves around a general-purpose printed circuit board by Terasic called the DE10-Nano, which incorporates a field-programmable gate array (FPGA). Contributors of the project developed various "cores" designed to run on the DE10-Nano, written in a hardware description language. Each core is designed to configure the FPGA into a specific computer, (handheld) game console, or arcade system board. Unlike a software-based emulator MiSTer's cores replicate systems through hardware emulation.
While the MiSTer platform can be used with just the basic DE10-Nano board, its features can be greatly expanded with the use of additional hardware expansions. Available add-on boards include:
* SDRAM add-on board: the 128MB SDRAM add-on board for MiSTer is required for the operation of several of the cores. A cheaper 32MB or 64MB SDRAM board can be used alternatively, however, there are some games on Neo Geo, Game Boy Advance, and a few other cores which might not be compatible with the smaller sized module.
* USB hub add-on board: this board provides an OTG USB hub for the MiSTer which has one power-only USB port in the back and 6 USB 2.0 ports on the other 3 sides.
* Analog I/O add-on board: this board provides a VGA port for analog video output, which enables the user to easily connect the MiSTer to a CRT TV or monitor. Analog video and HDMI video output can be used simultaneously with this board. This board also provides a 3.5mm analog audio/Mini-TOSLINK port. The board also includes a cooling fan, and a 'user I/O' port that can be used for direct serial communication with various peripherals and adapters.
* Digital I/O add-on board: this board offers the same features as the Analog I/O board, but without the analog video output. This board also includes a full-size TOSLINK optical digital audio port, alongside the Mini-TOSLINK port.
* Real-time clock add-on board: this board adds real-time clock (RTC) functionality to the MiSTer. Various MiSTer cores can use this feature.

## Supported systems

Dozens of game consoles, arcade systems, and microcomputers have supported cores. This includes many of the popular 8-bit, 16-bit, and 32-bit systems.

### Second Generation Consoles

* Fairchild Channel F
* Atari 2600
* Atari 5200
* Astrocade
* Odyssey 2
* Intellivision
* ColecoVision
* Vectrex
* Arcadia 2001
* Bandai Super Vision 8000
* Interton Video Computer 4000
* VTech Creativision

### Third Generation Consoles

* Nintendo Entertainment System & Famicom Disk System
* Master System
* Atari 7800

### Fourth Generation Consoles

* Super NES/Super Famicom
* Genesis/Mega Drive & Sega CD
* TurboGrafx-16/PC Engine
* Neo Geo
* Philips CD-i

### Fifth Generation Consoles

* Nintendo 64
* Saturn
* PlayStation
* 3DO
* Jaguar

### Handheld Consoles

* Game Boy
* Game Boy Advance
* Game Gear
* Lynx
* WonderSwan
* Neo Geo Pocket/Neo Geo Pocket Color

### Microcomputers

* X68000
* Amiga
* Atari ST
* Atari 8-bit computers
* Commodore 64 & Commodore 128
* VIC-20
* Commodore 16
* Coleco Adam
* Macintosh Plus
* ZX Spectrum
* Amstrad CPC
* Apple I
* Apple II
* PC-8800 series
* IBM PC compatible (486 & IBM PC/XT)
* TRS-80