Sunday, June 16, 2013

Roland MPU-401 : The Vintage Computing Part that Simply Works

I have, and have owned lots of vintage PC items since 2006.  I used to have an Apple II Platinum with dual Mockingboards, that was quite the system.  I have an Atari 800 that works, but I have no software for it.  I also have had lots of PC compatible cards and components.  I have owned one of every major iteration of the 3dfx Voodoo cards except the Voodoo 2 (and I had one of those back in the day).  At one time I possessed a representative of every major ISA Sound Blaster.  I currently possess a Game Blaster complete in box with all manuals, and while that is an exceptionally rare card, it is not what I consider the highlight of my collection.  The quality of the music for the card or its chips is often third-rate (behind MT-32 and Adlib).  I have the true IBM VGA 8-bit card, and while it is also extremely rare its not especially impressive in what it can do.  I have a Gravis Ultrasound ACE, but from what I hear the full Ultrasound is not particularly incompatible with the Adlib or Sound Blaster, so its Adlib port disabling feature is not a great selling point.  The 286 Express Tandy 1000/SX accelerator is also quite a find, but it can overheat with software.  The ADP-50L is a fine 16-to-8 bit IDE card, but it has a very long bootup screen.

Perhaps most prized item in my possession is my Roland MPU-401 MIDI Processing Unit.  Equally as important is the interface card that came with it, the MIF-IPC-A.  The MPU-401 is essentially a computer in its own right, with a CPU, ROM, RAM and a bus interface.  The external unit contains all the intelligent circuitry and can be connected to an Apple II, a Commodore 64, an MSX, Sharp X1, a Fujitsu FM7 or an NEC PC-88 or PC-98 machine in addition to a PC compatible.  All you need is the appropriate adapter card or cartridge.  The external unit connects to the interface card/cartridge through a DB-25 male/male cable.  In my cable, pins 7, 8, 19, 20 and 21 are not connected and pins 13 & 25 are tied together (both GND).


Just as important, it came with all documentation and manuals.  It had the Roland MPU-401 Technical Interface Manual, the MPU-401 Booklet and the sheet for the MIF-IPC(-A) with the schematic on the back.  Finally, the equipment and manuals are in beautiful shape.  It didn't come with the box as I recall.  Later a friend of mine donated a second MPU-401 to me, but I don't have a second interface card for it.

What is the most important thing about this interface is what it represented.  The principal function of this interface was to connect to a Roland MT-32 or CM-32L (have both of them).  Unlike the Game Blaster, when a game supported the MT-32, the game almost always sounded best on it (not too hard when the competition was the Adlib Music Synthesizer Card and to a lesser extent the Game Blaster).  Roland LA Synthesis had a very long reign in the PC sound realm, from 1988 to 1992 when General MIDI devices began taking over.

The interface card provides two I/O ports to the interface at I/O 330 & 331.  By its design, it cannot use I/O 332-337 because pins A1 & A2 are unconnected  The traces next to the comparator allow it to be put virtually anywhere in the PC's 10-bit address space.  It can also use any interrupt request available on the ISA bus, but to use an IRQ other than the default 2/9, you also have to cut a trace.  Essentially the card is a traffic cop and a buffer for the 8 data bits and a few other signals.  It also supplies an Interrupt Request when the MPU-401 needs to assert an interrupt. The card uses a DB-25 female connector and bracket, four 74LS TTL logic chips and decoupling capacitors, one resistor and one electrolytic capacitor.  The card is as simple as you get and can easily be recreated.  You can find the schematic in my Tutorial : How to Get the Roland MT-32 working with DOS Games.  Without it, the complex interface unit is useless.


The card can be used in every PC compatible system, including PCs, XTs, ATs, Tandy 1000s and others.  The original MIF-IPC was a more complex card but has issues working in AT-class machines.  While the MPU-IPC and MPU-IPC-T can also work with everything, the interface is on the card, and if lost the breakout box is useless.  The last in the series, the MPU-401AT is not guaranteed to work in something less advanced than an AT system.  However, it was released in 1994 when the XT class machines were no longer a strong market segment, so it may not have been tested in them.  It is an 8-bit card, and probably will work without trouble in standard and near-standard (Tandy 1000) PCs.  However, it, like the MPU-401 SCC-1 and LAPC-I card go for very high prices when they are auctioned off on ebay.  MPU-IPC and MPU-IPC-Ts are often auctioned off incomplete.  In those cases, the card is important and the external MIDI IN and OUT ports can be recreated easily.

The MPU-401, MPU-IPC, MPU-IMC, MPU-IPC-T and LAPC-I all provide two MIDI OUTs.  Thus you can control a Roland MT-32 and a Roland SC-55 with one of these devices and not have to use a MIDI THRU, which can add latency and eventually lead to loss of data integrity depending on how many modules are in the Thru chain.  In practice, the first module in a MIDI THRU loop will be fine.

In my experience, the interface cards are much more difficult to find than the external interface.  If you find one, some things to note :

On the card itself, the traces by the silkscreened I/O and Int boxes should be at A7 & A& and 2/9, respectively.  If the unlikely event they are not, then you will need to connect them with wire and obliterate any other traces made.  Otherwise the card will not be at the ideal settings and your games will not work with it unless they have an option to manually set the I/O and IRQ values.

The external interface unit has a cover secured by four Phillips screws.  You should remove them.  Inside, depending on the age of the board, you may or may not have an EPROM/ROM.  Versions 1.2A, 1.2B, 1.3, 1.4, 1.4A, 1.4B, 1.5 and 1.5A exist.  Version 1.5A is the version found in the MPU-IPC, MPU-IMC, MPU-IPC-T and LAPC-I, so that is the version you should look for.  If the CPU inside is a HD6801VOB55P, then the ROM is embedded in the chip.  Serial numbers above 588000 are safe.  Look on the underneath of the box to find it.  You can find the version number, if not identified by an EPROM sticker, with a program called mputhru.  In the end, I am uncertain if it makes any difference what the ROM version is, at least if you have a 1.3 or above.


Second, inside the box there is a silkscreened "ADRS" with four positions numbered 1-4.  This must not be modified in order for your unit to work with the MIF-IPC-A or at I/O 330-331.  If it is, you must set it back to #1 with a jumper wire.  This was there to allow a single MIF-IPC and other cards to control up to four external interfaces.  It will not work with the MIF-IPC-A, with the MIF-IPC-A only address #1 will be valid.  You need an original IF-MIDI/IBM or MIF-IPC (functionally identical) card to get this to work.  Here is how the address lines were configured on the IF-MIDI/IBM and MIF-IPC :

A0 - 0 or 1 (selects command/data or status port)
A1 - 0 or 1
A2 - 0 or 1
A3 - 0 or 1 (Unconnected at MPU-401)
A4 - 1
A5 - 1
A6 - 0
A7 - 0
A8 - 1
A9 - 1

The MPU-IPC-A connects the lines as follows :

A0 - 0 or 1 (selects command/data or status port)
A1 - 0 (Not connected to MPU-401)
A2 - 0 (Not connected to MPU-401)
A3 - 0
A4 - 1
A5 - 1
A6 - 0
A7 - 0
A8 - 1
A9 - 1

For all cards, the traces can be cut and a jumper block can be soldered on to select 0 or 1 for A4-A9, which gives 64 choices, not all of them would work.

As I understand the function of the LS138 in the MPU-401 box, it is responsive to ISA A1 and A2. Typically, they are both 0 and the third '138 input is always 0, only Y0 will be active (low). If A1 or A2 become 1, then the MPU-401 should be unresponsive. You could control up to four MPU-401 boxes in software just by setting the right address. A1 = 1, A2 = 0, I/O 332-333; A1 = 0, A2 = 1, I/O 334-335; A1 = 1, A2 = 1, I/O 336-337.

The ADRS block in the MPU-401 should allow you to rearrange the addressing of the 138 with only cutting a trace and installing a jumper block or wire. I have never done this and see no reason to do it, but it is definitely possible, but only with the older boards.  These boards have flaky compatibility in an IBM AT or systems with faster speeds, but the MIF-IPC-A is sold in any system with an ISA slot, including Tandy 1000s.

Fascinatingly, this unit, which was released around 1984, combined with the MIF-IPC-A card released in 1986, functioned perfectly as a MIDI interface for well over fifteen years after it was released.  I am positive that driver support exists for it in every version of Windows from 3.0 with multimedia extensions to Windows XP.  It has no hanging note bugs and any game or software requiring Normal, a.k.a. Intelligent MPU-401 features will work with it.

Unlike virtually every other contemporary sound card, the Roland MPU-401 + MT-32 or SC-55 never requires any kind of software driver to use with games or programs.  Drivers always accompany the software or can be found as patches (floppy versions of LOOM, Secret of Monkey Island & Day of the Tentacle).  Usually the same can be said for the Adlib, Game Blaster and Sound Blasters, but some games do require drivers supplied on the card's installation disks to work.  Once you get to the Sound Blaster Pros and 16s or your Pro Audio Spectrums and your Gravis Ultrasounds, you will need your installation disks.

Unknown to me for the longest time, but there was secretly trouble in this paradise.  One game that required MPU-401 was It Came from the Desert.  That game would simply not work with the MT-32 option in my 486 with the MPU-401 and MIF-IPC-A.  I put it down to marginal code which did not like my system and I did not think of it again for a long time.  However, eventually I found there were problems in trying to use the MIDI IN of the MPU-401.  I eventually isolated the issue to the 74LS04 Hex Inverter on my MIF-IPC-A.  The interrupt line goes though that IC and was not being raised by the system, thus breaking many MIDI recording programs and It Came from the Desert.  I replaced that IC and everything worked thereafter, including that Cinemaware game. Roland did not use all the inputs (6) on the hex inverter and left the unused inputs floating.  Apparently this is a bad thing for the life of the chip, and all the unused inputs (pins 1, 11 & 13) should be tied to ground (pin 7) .

15 comments:

  1. Is a regular 25PIN male to 25PIN male cable sufficient to connect a MIF-IPC-A to a MPU-401 box? Or do I need a proprietary cable (that would have to be built)? Thanks!

    ReplyDelete
  2. With a generic 25PIN to 25PIN male the MIF-IPC-A / MPU-401 does not appear to work. The card could be broken of course. :-)

    ReplyDelete
  3. Never mind. Civilization works now. I believe the issue was that not all 25 pins were in deep enough on both the MPU box and IPC card. ;-) Great blog BTW!

    ReplyDelete
  4. Technically, pins 13 and 25 are connected on the MPU-401 cable, but if it works for you, then why bother modifying the cable?

    ReplyDelete
  5. Exactly. Thanks again! Excellent blog. In case you take donations let me know.

    ReplyDelete
  6. This is still a very useful resource when considering buying an mpu-401. I've recently done just that, but decided the version was not too important and bought an older "Roland DG" MPU-401. I've opened it to see what the ROM is labeled, and it has a single "7" highlighted. I'm thinking that may mean version .7, but I haven't heard of that. The serial number is 555533 (June 1985, I've read). I was hoping you may be able to connect me with NewRisingSUn to obtain his mputhru.com utility, since I still haven't been able to log into queststudios due to the site having been compromised a couple weeks or so ago. I hope Tom can get that fixed soon, as I have some fun ideas I will want to post.


    Thanks for the great resource,

    jaffa225man

    ReplyDelete
  7. Lucas, you should have the last ROM version, 1.5A. NewRisingSun's MPUTHRU.COM utility will show the version number of the MPU-401.

    The hack on the Quest Studios site was a simple one that affected users going to the main site, not the forum, through Google. It would redirect to another site. It has since been fixed.

    Contact me on the VOGONS forum and I can help you out with that utility.

    ReplyDelete
  8. Can you post all the MPU-401 documentation in PDF? I managed to nab one recently and bought a replacement interface card. I'd like to try and make a PCI card, but I need the documentation first.

    ReplyDelete
  9. You can find the schematic for the interface card here :

    http://nerdlypleasures.blogspot.com/2010/03/tutorial-how-to-get-roland-mt-32.html

    If you need the MPU-401 Technical Reference manual, it can be found at many places, such as here : http://ps-2.kev009.com/ohlandl/sound/MPU-401_Tech_Manual.pdf

    ReplyDelete
  10. "the sheet for the MIF-IPC(-A) with the schematic on the back."

    I aquired a MPU-401 recently but alas no ISA card. Looking online it looks pretty simple and I could manage to make my own. Can you please scan the schematic? :)

    ReplyDelete
  11. The schematic is here :

    http://nerdlypleasures.blogspot.com/2010/03/tutorial-how-to-get-roland-mt-32.html

    If you want to save yourself the trouble of etching a board, you can purchase one here : https://www.lo-tech.co.uk/product/mif-ipc-b-pcb/

    ReplyDelete
  12. Hello guys. I am not sure if those using the MPU-IPC-T, MPU-IPC, MPU-401 or MIF-IPC-A can assist me but I have recently come into one [1] piece of each model [all brand new except for the MPU-IPC-T which appears to only been used very lightly]. I want to use at least one of the units for an extra couple of MIDI out ports in my setup. The trouble is that newer computers do not support the MIF-IPC-A [ISA slot]. My question is, is there a sound card or similar device that supports the 25-Pin connection of the MPU-401, MPU-IPC, or the MPU-IPC-T?

    ReplyDelete
  13. The breakout boxes for the MPU-IPC-T and MPU-IPC are not known to correspond to anything other than their respective ISA cards, but the box for the MPU-IPC-T can be used with an MPU-IPC and vice versa. An adapter could be made to get them to work with a standard DA-15 midi/gameport connector.

    The MPU-401 is a very different beast. Unlike the MPU-IPC-T and MPU-IPC, which contain the interface hardware on an ISA card, the MPU-401 contains its interface hardware in the box. Its ISA card is a very simple card. The signals MPU-401 expects are very different from the MPU-IPC-T and MPU-IPC, so you can't use it as a breakout box without an interface card.

    ReplyDelete
  14. I have one for sale on EBay complete with processing unit and interface - even has boxes and manuals

    http://www.ebay.com/itm/Roland-MPU-401-MIdi-processing-unit-and-Interface/222385366583

    ReplyDelete
  15. Hello, do someone no, how much is the price for a used mpu 401?

    ReplyDelete