Engineering: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.[1] 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.[2]
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.[3] 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.[4]
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.[4]
MiSTer was initially named after the MiST project, whose name stands for "AMiga/ST".[5] MiSTer's name originally stood for "MiST on Terasic board".[6] However, MiSTer is currently only a simple name without anything underneath.[7] The project is licensed under version 3 of the GNU General Public Licence.[8]
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.[9]
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).[10] Contributors of the project developed various "cores" designed to run on the DE10-Nano,[11] 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.[12] 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.[13] 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.[14][15]
- 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.[14]
- 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.[14]
- 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.[14]
- Real-time clock add-on board: this board adds real-time clock (RTC) functionality to the MiSTer. Various MiSTer cores can use this feature.[14]
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.[16][17][18]
Second Generation Consoles
- Fairchild Channel F[19]
- Atari 2600
- Atari 5200[20]
- Astrocade[21]
- Odyssey 2[22]
- Intellivision[23]
- ColecoVision[24]
- Vectrex[25]
- Arcadia 2001[26]
- Bandai Super Vision 8000[27]
- Interton Video Computer 4000[28]
- VTech CreatiVision[29]
Third Generation Consoles
- Nintendo Entertainment System & Famicom Disk System[30]
- Master System[31]
- Atari 7800[32]
- Super NES/Super Famicom[33]
- Genesis/Mega Drive & Sega CD[34]
- TurboGrafx-16/PC Engine[35]
- Neo Geo[36]
- Philips CD-i[37]
Fifth Generation Consoles
- Game Boy[43]
- Game Boy Advance[44]
- Game Gear[45]
- Lynx[46]
- WonderSwan[47]
- Neo Geo Pocket/Neo Geo Pocket Color[48]
Microcomputers
- X68000[49]
- Amiga[50]
- Atari ST[51]
- Atari 8-bit computers[52]
- Commodore 64 & Commodore 128[53][54]
- VIC-20[55]
- Commodore 16[56]
- Coleco Adam[57]
- Macintosh Plus[58]
- ZX Spectrum[59]
- Amstrad CPC[60]
- Apple I[61]
- Apple II[62]
- PC-8800 series[63]
- IBM PC compatible (486 & IBM PC/XT)[64][65]
- TRS-80[66]
References
- ↑ Grant, Christopher (30 August 2021). "MiSTer 101: A classic gaming device to rule them all". Polygon. https://www.polygon.com/22640171/mister-project-classic-gaming-retro-fpga-board-chip-io-explainer-usb-hub.
- ↑ "MiSTer wiki". https://github.com/MiSTer-devel/Main_MiSTer/wiki.
- ↑ Fahey, Mike (2 September 2021). "And Now, The Ultimate Retro Gaming Device" (in en-us). Kotaku. https://kotaku.com/and-now-the-ultimate-retro-gaming-device-1847608362.
- ↑ 4.0 4.1 "The FPGA retro revolution" (in en). https://wireframe.raspberrypi.com/articles/the-fpga-retro-revolution/.
- ↑ "MIST - a FPGA based aMIga and ST". 2015-10-27. http://harbaum.org/till/mist/index.shtml.
- ↑ McFerran, Damien (11 February 2021). "Hardware: MiSTer FPGA Review - A Tantalising Glimpse Into The Future Of Retro Gaming". Nintendo Life. https://www.nintendolife.com/news/2021/02/hardware_mister_fpga_review_-_a_tantalising_glimpse_into_the_future_of_retro_gaming.
- ↑ "What does MiSTer stand for? Is it an acronym? - MiSTer FPGA Forum". https://www.misterfpga.org/viewtopic.php?p=3296#p3296.
- ↑ "MiSTer license". https://github.com/MiSTer-devel/Main_MiSTer/blob/master/LICENSE.
- ↑ McFerran, Damien. "MiSTer Pi - A $99 Gateway To FPGA Retro Gaming". https://www.timeextension.com/reviews/mister-pi-a-usd99-gateway-to-fpga-retro-gaming.
- ↑ Byford, Sam (11 March 2021). "Building the ultimate retro computer" (in en). The Verge. https://www.theverge.com/22323002/mister-fpga-project-retro-computer-console-early-pc.
- ↑ Thornton, Sarah (November 1, 2019). "Retro computing with FPGAs and MiSTer | Opensource.com" (in en). opensource.com. https://opensource.com/article/19/11/fpga-mister.
- ↑ Brookes, Tim. "Why FPGAs Are Amazing for Retro Gaming Emulation". How-To Geek. https://www.howtogeek.com/783770/why-fpgas-are-amazing-for-retro-gaming-emulation/.
- ↑ "MiSTer FPGA: The Future of Retro Game Emulation and Preservation?" (in en). RetroGaming with Racketboy. 20 February 2019. https://www.racketboy.com/retro/mister-fpga-the-future-of-retro-game-emulation-and-preservation.
- ↑ 14.0 14.1 14.2 14.3 14.4 "MiSTer FPGA Documentation - Addon Boards". https://mister-devel.github.io/MkDocs_MiSTer/basics/addons/.
- ↑ "MiSTer FPGA - Tinker, Tailor, Solder, Sprite". somethingawful.com. https://www.somethingawful.com/video-game-article/mister-fpga-core/.
- ↑ "Console Cores - MiSTer FPGA Documentation". https://mister-devel.github.io/MkDocs_MiSTer/cores/console/.
- ↑ "Computer Cores - MiSTer FPGA Documentation". https://mister-devel.github.io/MkDocs_MiSTer/cores/computer/.
- ↑ "Arcade Cores - MiSTer FPGA Documentation". https://mister-devel.github.io/MkDocs_MiSTer/cores/arcade/.
- ↑ "ChannelF_MiSTer". https://github.com/MiSTer-devel/ChannelF_MiSTer.
- ↑ "Atari 5200 and Atari 800/800XL/65XE/130XE for MiSTer Platform". https://github.com/MiSTer-devel/Atari800_MiSTer.
- ↑ "Bally Astrocade for MiSTer Platform". https://github.com/MiSTer-devel/Astrocade_MiSTer.
- ↑ "Magnavox Odyssey2/Videopac for MiSTer Platform". https://github.com/MiSTer-devel/Odyssey2_MiSTer.
- ↑ "Intv_MiSTer". https://github.com/MiSTer-devel/Intv_MiSTer.
- ↑ "Colecovision and Sega SG-1000 for MiSTer Platform". https://github.com/MiSTer-devel/ColecoVision_MiSTer.
- ↑ "Vectrex for MiSTer Platform". https://github.com/MiSTer-devel/Vectrex_MiSTer.
- ↑ "Emerson Arcadia 2001 game console". https://github.com/MiSTer-devel/Arcadia_MiSTer.
- ↑ "Bandai Super Vision 8000 for MiSTer". https://github.com/MiSTer-devel/Super_Vision_8000_MiSTer.
- ↑ "Interton VC4000 game console". https://github.com/MiSTer-devel/VC4000_MiSTer.
- ↑ "VTech Creativision". https://github.com/MiSTer-devel/CreatiVision_MiSTer.
- ↑ "Nintendo Entertainment System for MiSTer Platform". https://github.com/MiSTer-devel/NES_MiSTer.
- ↑ "Sega Master System/Game Gear for MiSTer FPGA and MiST". https://github.com/MiSTer-devel/SMS_MiSTer.
- ↑ "Atari7800 for MiSTer". https://github.com/MiSTer-devel/Atari7800_MiSTer.
- ↑ "SNES". https://mister-devel.github.io/MkDocs_MiSTer/cores/highlights/snes/.
- ↑ "Nuked-MD-FPGA". https://github.com/nukeykt/Nuked-MD-FPGA.
- ↑ "TurboGrafx 16 / PC Engine for MiSTer Platform". https://github.com/MiSTer-devel/TurboGrafx16_MiSTer.
- ↑ "SNK Neo Geo for MiSTer Platform". https://github.com/MiSTer-devel/NeoGeo_MiSTer.
- ↑ McFerran, Damien. "The Ill-Fated Philips CD-i Is Getting Its Own MiSTer FPGA Core". https://www.timeextension.com/news/2024/08/the-ill-fated-philips-cd-i-is-getting-its-own-mister-fpga-core.
- ↑ "MisterFPGA has been updated to include an official release for its Nintendo 64 core". https://gbatemp.net/threads/misterfpga-has-been-updated-to-include-an-official-release-for-its-nintendo-64-core.653036/.
- ↑ "MiSTer FPGA Saturn Core Now The "Most Accurate" Way To Play Outside Of Real Hardware". https://www.timeextension.com/news/2024/10/mister-fpga-saturn-core-now-the-most-accurate-way-to-play-outside-of-real-hardware.
- ↑ "MiSTer FPGA Documentation - PSX". https://mister-devel.github.io/MkDocs_MiSTer/cores/highlights/psx/.
- ↑ McFerran, Damien. "3DO Is Coming To MiSTer FPGA". https://www.timeextension.com/news/2025/01/3do-is-coming-to-mister-fpga.
- ↑ McFerran, Damien. "All MiSTer FPGA Cores". https://www.timeextension.com/guides/all-mister-fpga-cores-and-where-to-download-them.
- ↑ "Gameboy / Gameboy Color port to MiSTer". https://github.com/MiSTer-devel/Gameboy_MiSTer.
- ↑ "Gameboy Advance for MiSTer Platform". https://github.com/MiSTer-devel/GBA_MiSTer.
- ↑ "Sega Master System/Game Gear for MiSTer FPGA and MiST". https://github.com/MiSTer-devel/SMS_MiSTer.
- ↑ "Atari Lynx for MiSTer Platform". https://github.com/MiSTer-devel/AtariLynx_MiSTer.
- ↑ "WonderSwan for MiSTer Platform". https://github.com/MiSTer-devel/WonderSwan_MiSTer.
- ↑ McFerran, Damien. "Neo Geo Pocket FPGA Beta Core Now Available". https://www.timeextension.com/news/2024/01/neo-geo-pocket-fpga-beta-core-now-available.
- ↑ "Sharp X68000 for MiSTer Platform". https://github.com/MiSTer-devel/X68000_MiSTer.
- ↑ "Minimig-AGA_MiSTer". https://github.com/MiSTer-devel/Minimig-AGA_MiSTer.
- ↑ "Atari ST/STe for MiSTer (port of MiSTery)". https://github.com/MiSTer-devel/AtariST_MiSTer.
- ↑ "Atari 5200 and Atari 800/800XL/65XE/130XE for MiSTer Platform". https://github.com/MiSTer-devel/Atari800_MiSTer.
- ↑ "C64 for MiSTer". https://github.com/MiSTer-devel/C64_MiSTer.
- ↑ "C128 for MiSTer". https://github.com/MiSTer-devel/C128_MiSTer.
- ↑ "Commodore VIC-20 for MISTer". https://github.com/MiSTer-devel/VIC20_MiSTer.
- ↑ "Commodore 264 (C16 and Plus/4) for MISTer". https://github.com/MiSTer-devel/C16_MiSTer.
- ↑ "Coleco Adam for MiSTer". https://github.com/MiSTer-devel/ColecoAdam_MiSTer.
- ↑ "Macintosh Plus for the MiSTer Board". https://github.com/MiSTer-devel/MacPlus_MiSTer.
- ↑ "ZX Spectrum for MiSTer Platform". https://github.com/MiSTer-devel/ZX-Spectrum_MISTer.
- ↑ "Amstrad CPC 6128 for MiSTer". https://github.com/MiSTer-devel/Amstrad_MiSTer.
- ↑ "MiSTer port of Apple-I". https://github.com/MiSTer-devel/Apple-I_MiSTer.
- ↑ "Apple IIe for MiSTer". https://github.com/MiSTer-devel/Apple-II_MiSTer.
- ↑ "NEC PC8801 for MiSTer Platform". https://github.com/MiSTer-devel/PC88_MiSTer.
- ↑ "IBM PC/XT for MiSTer FPGA". https://github.com/MiSTer-devel/PCXT_MiSTer.
- ↑ "ao486 port for MiSTer by Sorgelig". https://github.com/MiSTer-devel/ao486_MiSTer.
- ↑ "TRS-80 for MiSTer Platform". https://github.com/MiSTer-devel/TRS-80_MiSTer.
External links
- MiSTer FPGA Forum - The online community for MiSTer FPGA enthusiasts
- MiSTer FPGA repository - Official main source repository
