Roland MPU-IMC

@6C0F.ADF Roland Midi Processing Unit MPU-IMC

MPU-IMC User's Manual (Wimpy)
MPU-IMC Technical Reference Manual
MPU-IPC-T User's Manual
MPU-Ixx Circuit Diagram
MPU-IMC Service Notes, 1st Ed. (originally from HERE)

MPU-401.zip Win 3.1x and W95 drivers.
mpudd103.zip Generic MIDI MPU-401 drivers, v1.04 ISA bus
   Tested on 1.21, 1.3, 2.0, and 2.1 (beta)
mlab2v303.zip - The final distributed version, v3.03, of MidiLab/2 for OS/2
mlabuart.zip - MidiLab/2 exposed! All source and build files
MIDIfile Midifile DLL (OS/2?)
MIDIsrc PS/2 Roland MIDI driver source code (freeware)
bb.zip Band in a Box (thx to Bradley Parker)

MPU-IMC Photos & the P70 used to house it (retrosynth.com)
MidiLab/2 by James Bell

Roland MPU-IMC
MIDI Processing Unit
MPU-IMC Connector Board
MPU-IMC Kit
MPU-IMC Setup Example
PS/2 + MPU-IMC Hardware Bug
MPU401, Smart, Dumb, UART?
ADF Sections


Roland MPU-IMC FCC ID DKDMPU-IMC [P] [P] | [P] [P]

This is the MCA version of the MPU-401 MIDI Processing Unit.

IC1 LC3517AL-15K 2Kx8 SRAM
IC2 HG62E08R10FS gate array
IC3 Hitachi 6801V0B55P
IC16 Mitsubishi M5218A Dual Op-Amp
IRQ IRQ selection jumpers or pads only
P1 Female DE9 connector

IC3 Hitachi 6801V0B55P R15179222 ISA/MIDI Timing/Interfacing/Intelligent mode MCU


MIDI Processing Unit

MPU-IMC Connector Board

BZ Buzzer
CN-1 Header to DE9
IC-1 Sharp PC900
IC-2 Hitachi HD74LS05P
JK1 MIDI IN
JK2 MIDI OUT
JK3 MIDI OUT
JK4 Empty solder pads
JK5 Tape IN
JK6 Tape OUT
JK7 Metronome

MIDI Processing Unit CN-1 Pinout (thx to Cary Roberts of Retrosynth)

The external connector box has a 74LS05 to drive the MIDI out and MIDI thru, and a Sharp PC900 optoisolator for the MIDI in. I've listed the pinout of the DE9 connector below.

PinDescription
1Ground
2TTL MIDI In
3Metronome Out
4Tape In
5+5 V
6Ground
7TTL MIDI Out
8Tape Out
9+5 V

MPU-Ixx Schematic

A scan of the schematic is HERE.

Sourced from the MPU-IPC-T Technical Reference. Some of the chip IDs differ between the Micro Channel and and ISA versions.


MPU-IMC Kit


MPU-IMC Setup Example


PS/2 + MPU-IMC Hardware Bug

Mike W. Burger wrote:
   I got my new copy of Band-in-a-Box. It did not run on my PS/2 with a "standard" Roland interface, the MPU IMC. I have had weird hardware and software problems that nobody could explain since I bought this card. Finally, someone (BiaB) explained in their manual the unbelievable truth. A board that can only be used in a single computer on a single buss structure (Micro Channel IBM) comes from the factory set up to conflict with the system's boot device!! This is not documented in the nearly invisible Roland manual. There is no mention of the ability to change the IRQ. No other software product seems aware of this difficulty which strikes a fairly large percentage of people attempting to use the MPU-IMC in a PS/2.

I reset the IRQ on the MPU IMC using the only instructions available, the markings on the PC board itself. I reset SoundWrite V, Sound Quest editor and BiaB to use IRQ7 and the stock address of $330 and all appears to be working much better. Since this appears to be unique information, a section of the BiaB manual is reproduced here for other Roland victims.

Since the phone company has no listing for PD Music which supposedly is the USA branch of the company making Band-in-a-Box, and if they exit they have taken pains not be contacted, the following is quoted from the BiaB manual:

IBM PS/2 with MPU IMC

There are frequently IRQ interrupt conflicts on the PS/2. The original MPU IMC cards were reportedly hardwired to IRQ2 which had a conflict with the hard disk interrupt. Newer MPU-IMC are IRQ adjustable by a jumper switch on the card. The factory setting is IRQ9 which also conflicts with those using IDE drives. The best setting seems to be IRQ7. If you start Band-in-a-Box and are greeted by "Stack overflow". It means that you have a hardware conflict and must set the IRQ on the MPU-IMC.

Program locks up when trying to load in songs.

This means that you have a IRQ conflict with the disk drive controller, which is not noticed until the program tries to access the hard drive. You must change the IRQ setting on the MPU 401.

Other locking up.

This is almost always due to IRQ hardware conflict. Try to change the IRQ on your card from IRQ2 to another setting like IRQ7 or IRQ 5. IF your MPU401 doesn't allow you to change IRQ, then try setting Band-in-a-Box to a different IRQ anyway.

The last trick listed above is an attempt to disable interrupt handling and count on the program's polling to get the job done. A number of pieces of software will work with the IRQ screwed up, at least to a point. Also, you will get strange boot problems after the MPU IMC is installed, since it will often generate spurious interrupts when powering up along with the disk drive.

On the newer MPU IMC cards, there is a line of double pins and a small square blue shorting block that can be moved. The area is labeled "IRQ". There are about six numbered pairs including 9 and 7.


MPU401, Smart, Dumb, UART?

Patrick Aalto:
> What are the different between MPU401 smart, dumb, and UART mode compatibility? Will MIDI tools, windows, dos, and games use the same mode?

MPU-401 "smart mode" is available on real Roland MPU-401 compatible cards (like MPU-IPC, MPU-IMC, LAPC-I, SCC-1). That mode uses the processor on the MIDI card to handle the data output to MIDI devices. I don't know very well how the processor reads the data from the main memory of the PC, but in any case it generates IRQ every now and then, requesting a new data block to be sent. All timing (tempo) is handled by the MIDI card processor. I seem to remember that it only supports 8 or 16 tracks, and the available tempo and timebase values are a bit coarse, which is why this mode is not used on newer sequencer programs.

MPU-401 "dumb mode" is a mode that the real MPU card can be programmed into, after which it behaves like a dumb UART device. All data that a program wants to send to a MIDI device must be sent by outputting the MIDI data bytes to the MPU data port (at the correct time), and input data must be read by polling the 'data available' bit and then reading the data port. This is the mode that all newer sequencer programs use. This mode does not require the MPU card IRQ to be available. (I once removed the IRQ selection jumper totally from my Roland SCC-1, and only Prism sequencer program stopped to work. Cakewalk for Windows etc. worked without problems).

MPU-401 "UART mode" is, I believe, used by clone MIDI cards. That is like the "dumb mode", but the card does not have to be programmed into it, since that is the only mode these clone cards support. This might cause problems with some programs that support MPU-401 dumb mode, if these programs want to program the card into this mode first, and don't get the correct reply for this command.

These comments were just my understanding of the matter, not necessarily correct.


ADF Sections Roland MIDI PROCESSING UNIT MPU-IMC (AdapterId 6C0F)

Port Address Select
   I/O port address can be primary (0330-0331h) or alternate (1330-1331h). To use the alternate address, you need a software that fit it.
        <"Primary" (0330h-0331h int 2)>, Alternate (1330h-1331h int 2)

Content created and/or collected by:
Louis F. Ohland, Peter H. Wendt, David L. Beem, William R. Walsh, Tatsuo Sunagawa, Tomáš Slavotínek, Jim Shorney, Tim N. Clarke, Kevin Bowling, and many others.

Ardent Tool of Capitalism is maintained by Tomáš Slavotínek.
Last update: 24 Mar 2024 - Changelog | About | Legal & Contact