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.

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 and 16-bit systems.

References

External links 

 MiSTer FPGA Forum - The online community for MiSTer FPGA enthusiasts
 MiSTer FPGA repository - Official main source repository 

Home computer remakes
Open computers
Home video game consoles
ARM-based video game consoles
FPGA-based video game consoles