# MPU-401

The MPU-401, where MPU stands for MIDI Processing Unit, is an important but now obsolete interface for connecting MIDI-equipped electronic music hardware to personal computers. It was designed by Roland Corporation, which also co-authored the MIDI standard.

## Design

Released around 1984, the original MPU-401 was an external breakout box providing MIDI IN/MIDI OUT/MIDI THRU/TAPE IN/TAPE OUT/MIDI SYNC connectors, for use with a separately-sold interface card/cartridge ("MPU-401 interface kit") inserted into a computer system. For this setup, the following "interface kits" were made:
* MIF-APL: For the Apple II
* MIF-C64: For the Commodore 64
* MIF-FM7: For the Fujitsu FM-7
* MIF-IPC: For the IBM PC/IBM XT. It turned out not to work reliably with 286 and faster processors. Early versions of the actual PCB had IF-MIDI/IBM as a silk screen.
* MIF-IPC-A: For the IBM AT, works with PC and XT as well.
* Xanadu MUSICOM IFM-PC: For the IBM PC / IBM XT / IBM AT. This was a third party MIDI card, incorporating the MIF-IPC(-A) and additional functionality that was coupled with the OEM Roland MPU-401 BOB. It also had a mini audio jack on the PCB.
* MIF-PC8: For the NEC PC-88
* MIF-PC98: For the NEC PC-98
* MIF-X1: For the Sharp X1
* MIF-AMG: For the Amiga, from Musicsoft
In 2014 hobbyists built clones of the MIF-IPC-A card for PCs.

## Variants

Later, Roland would put most of the electronics originally found in the breakout box onto the interface card itself, thus reducing the size of the breakout box. Products released in this manner:
* MPU-401N: an external interface, specifically designed for use with the NEC PC-98 series notebook computers. This breakout-box unit features a special COMPUTER IN port for direct connection to the computer's 110-pin expansion bus. METRONOME OUT connector was added. Released in Japan only.
* MPU-IPC: for the IBM PC/IBM XT/IBM AT and compatibles (8 bit ISA). It had a 25-pin female connector for the breakout box, even though only nine pins were used, and only seven were functionally different: both 5V and ground use two pins each.
* MPU-IPC-T: for the IBM PC/IBM XT/IBM AT and compatibles (8-bit ISA). The MIDI SYNC connector was removed from this Taiwanese-manufactured model, and the previously hardcoded I/O address and IRQ could be set to different values with jumpers. The break-out box has three DIN connectors for MIDI (1xIN and 2xOUT) plus three 3.5mm mini jack connectors (TAPE IN, TAPE OUT and METRONOME OUT).
* MPU-IMC: for the IBM PS/2's Micro Channel architecture bus. In earlier models both I/O address and IRQ were hardcoded to IRQ 2 (causing serious problems with the hard disk as it also uses that IRQ); in later models the IRQ could be set with a jumper. It had a 9-pin female connector for the breakout box. The IRQ selection on the MPU-IMC. Due to the incompatibility of IRQ 2/9 (and potentially I/O addresses) between the MPU-IMC and IBM PS/2 MCA models certain games will not work with MPU-401.
* S-MPU/AT (Super MPU): for the IBM AT and compatibles (16-bit ISA). It had a Mini-DIN female connector for the breakout box. The MIDI SYNC, TAPE IN, TAPE OUT, METRONOME OUT connectors was removed, but a second MIDI IN connector was added. An application to assign resources (plug and play) must be run to use the card in DOS. This application is not a TSR (it does not take up conventional memory).
* S-MPU-IIAT (Super MPU II): for the IBM or compatible Plug and Play PC computers (16 bit ISA). It had a Mini-DIN female connector for the breakout box with two MIDI In connectors and two MIDI Out connectors. An application to assign resources (plug and play) must be run to use the card in DOS. This application is not a TSR (it does not take up precious conventional memory).
* S-MPU/FMT: For FM Towns
* LAPC-I: for the IBM PC and compatibles. Includes the Roland CM-32L sound source. A breakout box for this card, the MCB-1, was sold separately.
* LAPC-N: for the NEC PC-98. Includes the Roland CM-32LN sound source. A breakout box for this card, the MCB-2, was sold separately.
* RAP-10: for the IBM AT and compatibles (16 bit ISA). General midi sound source only. MPU-401 UART mode only. A breakout box for this card, the MCB-10, was sold separately.
* SCP-55: for the IBM and compatible laptops (PCMCIA). Includes the Roland SC-55 sound source. A breakout box for this card, the MCB-3, was sold separately. MPU-401 UART mode only.
Still later, Roland would get rid of the breakout box completely and put all connectors on the back of the interface card itself. Products released in this manner:
* MPU-APL: for the Apple II. Single-card combination of the MIF-APL interface and MPU-401, featuring MIDI IN, OUT, and SYNC connectors.
* MPU-401AT: for IBM AT and "100% compatibles". Includes a connector for Wavetable daughterboards.
* MPU-PC98: for the NEC PC-98
* MPU-PC98II: for the NEC PC-98
* S-MPU/PC (Super MPU PC-98): for the NEC PC-98
* S-MPU/2N (Super MPU II N): for the NEC PC-98
* SCC-1: for the IBM PC and compatibles. Includes the Roland SC-55 sound source.
* GPPC-N & GPPC-NA: for the NEC PC-98. Includes the Roland SC-55 sound source.

## Clones

By the late 1980s other manufacturers of PCBs developed intelligent MPU-401 clones. Some of these, like Voyetra, were equipped with Roland chips whereas most had reverse-engineered ROMs (Midiman / Music Quest).
Examples:
* Midiman MM-401 (8BIT, non Roland chip set, also sold as part of the Midiman PC Desktop Music Kit)
* Midi System, Inc. MDR-401, non Roland chip set
* Computer Music Supply CMS-401 (8BIT, non Roland chip set)
* Music Quest PC MIDI Card / MQX-16s / MQX-32m (8 & 16BIT, non Roland chip set)
* Voyetra V-400x / OP-400x (V-4000, V4001, 8BIT, Roland chip set)
* MIDI LAND DX-401 (non Roland chipset) & MD-401 (non Roland chipset)
* Data Soft DS-401 (non Roland chipset)
In 2015 hobbyists developed a Music Quest PC MIDI Card 8BIT clone. In 2017/2018 hobbyists developed a revision of the Music Quest PC MIDI Card 8BIT clone that includes a wavetable header in analogy of the Roland MPU-401AT.

## Modes

The MPU-401 can work in two modes, normal mode and UART mode. "Normal mode" would provide the host system with an 8-track sequencer, MIDI clock output, SYNC 24 signal output, Tape Sync and a metronome; as a result of these features, it is often called "intelligent mode". Compare this to UART mode, which reduces the MPU-401 to simply relaying in-/outcoming MIDI data bytes.
As computers became more powerful, the features offered in "intelligent mode" became obsolete. Implementing these in the host system's software was more efficient. Specific hardware was no longer required. As a result, the UART mode became the dominant mode of operation. Early UART MPU-401 capable cards were still advertised as MPU-401 compatible.

## SoftMPU

In the mid 2010s, a hobbyist platform software interface, SoftMPU, was written that upgrades UART (non intelligent) MPU-401 interfaces to an intelligent MPU-401 interface, however this only works for MS-DOS. It also does not work for all games. Especially early Sierra games, such as Jones in the Fast Lane, will not work with SoftMPU.

## HardMPU

In 2015, a PCB (HardMPU) was developed that incorporates SoftMPU as logic on hardware (so that the PC's CPU does not have to process intelligent MIDI). Currently HardMPU only supports playback and not recording.

## Contemporary interfaces

Physical MIDI connections are increasingly replaced with the USB interface, and a USB to MIDI converter in order to drive musical peripherals which do not yet have their own USB ports. Often, peripherals are able to accept MIDI input through USB and convert it for the traditional DIN connectors. While MPU-401 support is no longer included in Windows Vista, a driver is available on Windows Update. As of 2011, the interface was still supported by Linux and Mac OS X.