MiSTer FPGA - dwhinham/mt32-pi GitHub Wiki

The MiSTer FPGA platform is an open-source project that can emulate vintage computing and gaming systems. The FPGA approach has the potential for greater accuracy and lower latency than what would be possible with traditional software-based emulation, and MiSTer provides an affordable route to benefitting from it, with community-supported hardware and emulation cores.

Many cores are available, and some are able to use external MIDI hardware, such as the AO486, Atari ST, Minimig (Amiga), and Sharp X68000 cores. This makes it possible to use mt32-pi with these cores.

Whilst MiSTer does allow you to run Munt and FluidSynth on its built-in Hard Processor System (HPS), there are severe limitations. See the FAQ for more information on why you might consider using mt32-pi with your MiSTer.

Take a look at the MiSTer documentation to learn more about the project.

User port connection

For convenience, mt32-pi and the MiSTer project have collaborated to develop a solution to directly connect the Raspberry Pi to the MiSTer, without the need for separate power, audio, or MIDI cabling.

MiSTer's I/O board provides a "user port" that provides direct access to some of the FPGA's GPIO pins, as well as power. The physical connector is a USB 3.0 Standard-A receptacle.

Note: MiSTer's user port is not a USB port - the USB receptacle was chosen because they are inexpensive and widely available.

The user port connection offers the following benefits:

  • Can power the Raspberry Pi.
  • Transmits MIDI data directly to the Raspberry Pi's UART.
  • Receives digital audio back from the Raspberry Pi via I²S and mixes it with the FPGA core's audio output.
  • Provides a control channel via I²C so that mt32-pi settings can be changed from the MiSTer's OSD menu system.
  • MiSTer can simulate an SSD1306 OLED display so that you can see mt32-pi's output right on your MiSTer's display!

Custom hardware

An official MiSTer-endorsed HAT PCB design for the Raspberry Pi is available for a plug and play solution. You can purchase one from the following MiSTer hardware suppliers:

Note: Requests for support pertaining to the hardware should be made with your supplier and not here.

If you have the means to assemble your own, you can find the PCB designs and further information over at the MiSTer hardware repository.

Note: A MiSTer I/O board is required to use the HAT, ideally version 5.6 or later. If you have a version 5.5 I/O board, it may be necessary to carry out minor modifications if you experience problems. Compare the schematics for I/O board 5.5 and I/O board 5.6, paying close attention to the six 10K pull-up resistors R39 to R44 that were added in version 5.6, and try adding them to your 5.5 board if you have have issues related to sound or the mt32-pi menu not appearing in the OSD.

⚠ IMPORTANT: Badly-manufactured I/O boards

Some MiSTer I/O boards (especially those purchased from sellers on AliExpress or eBay) have been found to have issues with their user ports due to poor soldering (e.g. bridges/shorts) or missing pins 1, 2.

If you have problems such as missing audio or OSD controls not working, check that all of the P7 header's pins are present and that there is good continuity between them and the USB 3.0 port (refer to the I/O board schematic).

You should also check for bridges/shorts on resistor networks RN12, RN13, RN14, and RN15.

In general, it is always recommended that users purchase MiSTer hardware from reputable sellers who test their products with mt32-pi and do not cut corners when assembling them.

⚠ IMPORTANT: Cabling considerations

It is essential that you use a short USB 3.0 A-A cable when connecting your MiSTer to the mt32-pi MiSTer HAT PCB to ensure reliable operation.

For further information and a list of tested cables, see the tested USB cables page.

Setup and usage

Head over to the setup and usage page to learn how to correctly configure mt32-pi for your MiSTer.