MiSTer

From Emulation General Wiki
Revision as of 20:08, 8 July 2019 by Jpx (talk | contribs)
Jump to navigation Jump to search
MiSTer
Original developer(s) Sorgelig
(AKA Alexey Melkinov)
Current developer(s) MiSTer-devel
(MiSTer Team)
Latest version Git
Active Yes
Platform(s) Terasic DE10-nano (with add-ons)
Architecture(s) FPGA
Emulates Various
Compatibility Varies, see supported systems
Website MiSTer wiki
Support ($) PayPal
Patreon
Programmed in Verilog, VHDL, SystemVerilog
License Varies between GPL3 and MIT
Source code GitHub

MiSTer is an open source hardware reimplementation project designed to be used on an FPGA. It reimplements various console, arcade, and computer hardware on the Terasic DE10-nano development board as opposed to running projects like Lakka on an ARM-based DIY emulation box. MiSTer is a fork of MiST, which is a similar project; the difference is that MiSTer targets a more powerful board to allow for more complex hardware implementations.

Contrary to what one might think, the Terasic DE10-nano doesn't just have an FPGA; the system also contains an ARM processor and DDR3 memory which is used with an optimized Linux kernel to interface with files-- the system can even run Lubuntu 16.04 if one wanted to. The difference between a board like the DE10-nano and, say, a Raspberry Pi is the addition of an entire FPGA which handles the bulk of the system core.

MiSTer also maintains schematics for a few additional boards; some cores will often require the SDRAM board, as it allows for better handling of memory than what the DDR3 unit provides. The DE10-nano only includes HDMI output so the I/O board is needed if VGA connectivity is desired.

Setup

Follow these two pages to get started (and this one if you plan on using a core that requires SDRAM).

Overview

Supported systems

System Classification Status
Bally Astrocade Console SuperStar
Atari 2600 Consoleall> version = Git active = Yes SuperStar
Atari 5200 Console SuperStar
ColecoVision Console SuperStar
Nintendo Entertainment System Console SuperStar
Nintendo Gameboy Console SuperStar
Odyssey² Console SuperStarall> version = Git active = Yes
PC Engine/TurboGrafx 16 (SuperGrafx) Console SuperStar
Sega Genesis/Mega Drive Console SuperStar
Sega Master System and Game Gear Console SuperStar
SNES/Super Famicom Console SuperStar
Vectrex Console SuperStar
Amstrad CPC 6128 Computer SuperStar
SNES (Super Famicom) Computer SuperStar
Atari 800 XL Computer SuperStar
Amiga Computer SuperStar
Commodore 64 Computer SuperStar
Commodore 16 / Plus/4 Computer SuperStar
Commodore PET Computer SuperStar
Commodore VIC-20 Computer SuperStar
ao486 Computer SuperStar
SAM Coupe Computer SuperStar
ZX Spectrum Computer SuperStar
Apple II+ Computer Good
Apple Macintosh Plus Computer Good
Altair 8800 Computer Advanced
DEC PDP-1 Computer Advanced
Neo Geo Console WIP
Sharp X68000 Computer WIP

Add-on boards

The project also maintains schematics for add-on boards that users can add onto the DE10-nano. All of them are optional for the basic usage of the FPGA, but some cores may require the SDRAM board.

SDRAM
Allows FPGA cores to use memory that's better suited for reimplementations.
I/O
Adds a VGA connector, a 3.5mm audio jack, optical audio, three buttons, three LEDs, a secondary SD card slot, a USB 3.0-like expansion connector, and a fan that cools the FPGA. The DE10-nano only includes an HDMI connector, so this board is needed if one wants VGA support. The I/O board already features zero-latency analog video output if a RGB, component or other cables is used.
RTC
Provides a real-time clock for enthusiasts. The clock can be automatically configured if the FPGA is connected to the internet via the DE10's Ethernet port, and only two cores make use of it anyway.
USB hub
Adds seven USB ports under the main board.

Controllers

LL Cool Joy
Ultra-Low-Latency Controller Board[1]. This is a controller add-on board that links to the I/O board and is made by ElectronAsh & rattboi. ElectronAsh officially named it the "LL Cool Joy". It is designed to support native controllers of original retro consoles and third party controllers with those native ports. [2] It also has USB ports for extra convenience.
Bliss-Box Bridge
Alternative to LL Cool Joy. Not yet available. This upcoming product from Bliss-Box makes similar utilisation of the ultra-low-latency API found in the MiSTer range for adapting native controllers. It will enable original console controllers that inter-operate with Bliss-Box's 4-Play or Gamer-Pro universal adapter to connect to a MiSTer hardware (Read their Support page for more details). It also works with consoles like original Xbox and Nintendo Switch[3]. Bliss-Box has a new BlisSTer low-latency controller input board for the MiSTer with USB and HDMI ports. Adapter cables can be ordered along with the BlisSTer for original controllers to be used with those HDMI ports in low-latency mode.

Note: Check the Racketboy retrospective in Resources list below as it particularly covers these solutions to using old controllers well.

Comparison to alternatives

If you are interested in buying an FPGA board/unit(s) to accurately recreate retro consoles, that at the same time plays well on modern visual screens (TVs, computer monitors, etc), it might be better to get one of the sophisticated FPGA clones from Analogue covering one console and parts for this MiSTer board covering a wide array of console cores:

- Analogue Super NT: This clone recreates the normal SNES/Famicom console almost perfectly. It doesn't support all the special chips embedded inside select game carts. However, you may buy the SD2SNES cart from Ukrainian developer Krikkz from one of the many online stores. It supports the vast array of special chips found in those special carts, including the SuperFX and SA-1 (Both added in firmware updates in 2018). Though it has a large added impost of $200 US on top of the clone. MiSTer on the other hand has gradually been adding support for several special chip game types, though not everything yet.
- Analogue MegaSG: Another clone from Analogue, this one recreates the regular Sega Megadrive/Genesis console line perfectly. It doesn't support the Sega Genesis 32X or SegaCD add-ons. However, TerraOnion, another firm that probably made the world's first ever FPGA-driven flash cart for any retro console with a cart for the Neo Geo console in the late 1990's (Needs citation/research), has started releasing a new FPGA-based SegaCD drive simulator cart called the MegaSD for the Megadrive hardware and MegaSG clone. While inserted into original Megadrive, the MegaSD is compatible with the 32X add-on and SegaCD add-on; but is NOT able to support the 32X hardware while inserted into the MegaSG probably due to the complications arising from signalling routines that were shared between the original Megadrive and 32X hardware. It does support the SegaCD hardware perfectly with the MegaSG. A curious tidbit: The MegaSD cart couldn't support the only game cart embedded with a special chip called the "SVG" for the game Virtua Racing (One of many ports of a Sega Model 1 arcade original). The MiSTer officially supported that SVG game in mid-2019!
- MiSTer: Your mileage may vary as to which one of the Analogue-made clones that you want along with a MiSTer setup. The cores currently found in the MiSTer range for top 16-bit consoles like the SNES and/or Megadrive are not necessarily as fully compatible nor perfect with all games (Both normal carts and those with many special chips) as an Analogue unit and recommended flash cart can achieve.

Otherwise, if you really can only afford one FPGA unit to do it all, then the MiSTer hardware with add-on boards & a 3D-printed case is really the one to pick; it however requires some reading and learning to set up.

Resources

References

  1. 'LL Cool Joy' naming update (October 20, 2018)
  2. Controller board news on RetroRGB. The ports are "DB15 (Neo Geo MVS/AES/CD, and Arcade), DB9 (Genesis, Atari, etc), & RJ45 (MC Cthulhu standard) inputs. RJ45 dongles could be made for any controller under the sun as long as code is added to support them. This would bypass the need to use USB controller adapters (which all add some lag) to plug in native controllers." (October 12, 2018)
  3. Bliss-Box now goes live to a console near you. (Racketboy thread. Thu Jan 10, 2019.)

External Links

  • Twitter feed (By SmokeMonster, a RetroRGB.com journalist)
  • YT channel (By SmokeMonster, a RetroRGB.com journalist)
  • Core availability on the MiSTer (Atari-Forum thread. Tue May 08, 2018. Early comparisons between the original MiST hardware and this new MiSTer fork regarding supported system cores. Original developer of both hardware, Sorgelig, also discussed in this conversation.)