MiSTer, also called MiSTer FPGA, is an open-source project that tries to recreate classic computers, game consoles, and arcade machines using modern FPGA hardware. It lets software and video game images run as they would on original hardware, with the help of devices like mice, keyboards, joysticks, and other game controllers.
History
The MiSTer project was created by Alexey “Sorgelig” Melnikov and shared on GitHub in June 2017. It was based on the MiST project, which aimed to recreate the Amiga and Atari ST computers using an FPGA. While working on MiST, Sorgelig faced challenges because the hardware only supported analog video output, but his monitors and TVs used HDMI. This problem inspired him to develop a way to use HDMI directly with an FPGA board, leading to the creation of the MiSTer project.
Unlike MiST, which used a custom FPGA board made by Lotharek, Sorgelig chose to use a widely available board for his open-source project. This decision made development easier and less expensive. He selected the Terasic DE10-Nano board, which uses an Intel SoC FPGA.
The name “MiSTer” originally came from the MiST project and meant “MiST on Terasic board.” However, the name now simply refers to the project without additional meaning. The MiSTer project is licensed under version 3 of the GNU General Public License.
In 2024, YouTuber Taki Udon created a more affordable version of the MiSTer using an Altera Cyclone V FPGA board. This version, called the MiSTer Pi, claims to work perfectly with existing MiSTer software and hardware.
Hardware
The MiSTer project uses a general-purpose printed circuit board made by Terasic called the DE10-Nano. This board includes a special chip called a field-programmable gate array (FPGA). People who work on the MiSTer project created different "cores" that run on the DE10-Nano. These cores are written in a special programming language for hardware. Each core is designed to change the FPGA into a specific type of computer, handheld game console, or arcade system board. Unlike software-based emulators, MiSTer's cores use hardware emulation to recreate these systems.
The MiSTer platform can work with just the basic DE10-Nano board. However, its features can be improved by adding extra hardware. Some available add-on boards include:
- SDRAM add-on board: The 128 MB SDRAM add-on board is needed for some cores to work properly. A cheaper 32 MB or 64 MB SDRAM board can be used instead, but some games on Neo Geo, Game Boy Advance, and a few other cores may not work with the smaller boards.
- USB hub add-on board: This board adds an OTG USB hub to the MiSTer. It has one power-only USB port on the back and six USB 2.0 ports on the other sides.
- Analog I/O add-on board: This board provides a VGA port for analog video output, allowing the MiSTer to connect to a CRT TV or monitor. It also supports analog and HDMI video output at the same time. The board includes a 3.5mm analog audio/Mini-TOSLINK port, a cooling fan, and a "user I/O" port for connecting to peripherals.
- Digital I/O add-on board: This board has the same features as the Analog I/O board but does not include analog video output. It includes a full-size TOSLINK optical audio port and a Mini-TOSLINK port.
- Real-time clock add-on board: This board adds real-time clock (RTC) functionality to the MiSTer. Some MiSTer cores can use this feature.
Supported systems
Many game consoles, arcade systems, and microcomputers have supported cores. This includes many of the popular 8-bit, 16-bit, and 32-bit systems.
- 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
- Nintendo Entertainment System & Famicom Disk System
- Master System
- Atari 7800
- Super NES/Super Famicom
- Genesis/Mega Drive & Sega CD
- TurboGrafx-16/PC Engine
- Neo Geo
- Philips CD-i
- Nintendo 64
- Saturn
- PlayStation
- 3DO
- Jaguar
- Game Boy
- Game Boy Advance
- Game Gear
- Lynx
- WonderSwan
- Neo Geo Pocket/Neo Geo Pocket Color
- 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