@6C0F.ADF Roland Midi Processing Unit MPU-IMC
MPU-IMC User's Manual
MPU-Ixx Circuit Diagram
Notes, 1st Ed. (originally from HERE)
used to house it
of the MIDI box that attaches to it.
and Updates (General Apps)
Band in a Box Thanks to Bradley
MPU-401.zip - Win 3.1x and W95
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
Midifile dll (OS/2?)
PS/2 Roland MIDI driver source code (freeware)
LC3517AL-15K Sanyo 150 ns,
2048-word x 8-bit CMOS SRAM
5218A Dual Low-Noise OPAMP (Dual
Power Supply Type)
HG62E08R10FS master slice CMOS gate array
/ R15179222 ISA/MIDI Timing/Interfacing/Intelligent mode
This is the MCA version of the MPU-401 MIDI card
MIDI Processing Unit
MPU-IMC Connector Board
JK1 MIDI IN
JK2 MIDI OUT
JK5 Tape IN
JK6 Tape OUT
MIDI Processing Unit CN-1
Thanks to Cary Roberts of rëtrós¥ñtH)
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 DB9 connector below.
2 TTL MIDI In
3 Metronome Out
4 Tape In
7 TTL MIDI Out
8 Tape Out
MPU-Ixx Circuit Diagram
This puppy is in the MPU-IPC-T Technical
Reference. Some of the chip IDs are off between the MC
and PC versions, but you'll get the point.
The B&W diagram is HERE
[2.4MB in size!]
MPC-IMU 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 wierd 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 commputer on a single buss structure
(microchannel 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
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 without permission:
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 interupts 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 ?
> 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
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
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.
6C0F Roland MIDI PROCESSING
Port Address Select
I/O port address can be primary
(0330-0331h) or alternate (1330-1331h). To use the
alternate address, you need a softwear that fit it.
<"Primary" (0330h-0331h int 2)>,
Alternate (1330h-1331h int 2)