We examine Roland's MPU 401 Intelligent Interface that took over two years to develop, to discover whether this disc-based sequencing system was worth waiting for.
Roland's new MPU401 intelligent interface took 2½ years to develop. Lizzy asks, 'Was it worth the wait?'
Roland Digital Group hides in a corner of the Roland (UK) building in Brentford. There you will usually find Rick Cannell, Peripherals Manager, looking for all the world like a Gillan roadie, with a collection of the best band anecdotes I've heard in years from his times on the road as technical trouble shooter for Roland. I visited him recently to have a look at the long-awaited Roland intelligent MIDI Processor, the MPU401. Rick is particularly proud of the new unit and stressed the 2½ years of development before giving an impressive demonstration. By the time I left, some three hours later, I was convinced that the 2½ years were well spent.
The standard UART MIDI interface is merely a dumb extension to the I/O facilities of the attached computer. The 401 has its own microprocessor, ROM, limited internal RAM and special high speed VLSI gate arrays that are specially designed to handle all the protocol between the 401 and the host computer. In addition, a special program in ROM constantly updates tables, held in 401 RAM, that keep account of all real time events on eight polyphonic tracks, according to programmable timings set by the internal processor. This means that the 401 works almost independently of the host computer using interrupts to the host processor to send and receive data. Therefore, most standard computer functions (if they use Direct Memory Access — DMA controllers), such as disk I/O and screen updating, can be carried out while the 401 records or plays MIDI data. The only tasks the host computer must undertake are the sending and receiving of commands on interrupt and memory management of MIDI data in its own RAM. All this makes the 401 an extremely powerful tool for programmers writing real-time MIDI recorders as the host computer software is much simpler to construct. Also, because of the relative independence of the unit, MIDI event data can be streamed to and from disk into RAM, acting as a buffer for the 401, so that recorded data can be as lengthy and complex as disk space will allow. To further stretch imagination it is possible to use up to four of these units at once, on a 'polled' interrupt basis with the host computer, and quadruple the available tracks and channels!
Roland DG take the stance that the MPU401 is an aid and encouragement to specialist software engineers and have no plans to originate their own packages, apart from a demo real-time recorder called MRC. Instead they have made the necessary technical details readily available in an impressively complete Technical Reference Manual that Roland will supply to anybody for a nominal charge and give free with the unit itself. Roland envisage the 401 as almost standard studio equipment, much as the MC4 has been. At a projected £180 inc VAT for the August '84 launch, plus approximately £75 inc VAT for a suitable interface for your micro, there'll be a good few takers in the home too. Interfaces are currently available for the IBM PC and Apple II with Spectrum, BBC B and CBM 64 planned for the end of the year.
The 401 comes in a typically robust, grey plastic Roland box, 188x38x115mm and weighs 650g. At the back left edge of the box is a standard 25 Pin 'D' type connector to the computer interface: Left to right at the front are MIDI In, two MIDI Outs, standard Roland 5-pin DIN SYNC 24 Out, FSK tape sync in and out on jack sockets and audible metronome out on a jack socket for reference when real-time recording. The necessary 5V, 150mA power supply is derived from the host computer.
Inside the box is a very simple PCB layout consisting of a Hitachi 6801A74 microprocessor, an 8K 2764 ROM, a 2K 6116 RAM chip and the large, square, specially designed VLSI gate arrays plus various buffers and a few ancillary components.
The 24-way data I/O socket provides eight data bus lines, Read, Write, Reset, Chip Select, Data Set Ready, three address lines and the power supplies. Only one address line is used with one 401, the other two are used with multiple 401s.
The Technical Reference Manual defines all necessary signals, commands and functions for use with I/O mapping for 8086/8088 host processors (as in the IBM PC) and memory mapping for 6502 x 65xx processors (as in the Apple II, BBC B and CBM 64). All MPU commands and functions are fully described with many examples. In addition, there is a reference glossary, command table and circuit diagram.
On power-up, all relevant modes, function status and function values are set to default positions and a brief look at some that are often used allows use to understand a little of how the 401 operates. All of these conditions can be changed at any time from the host computer.
MIDI real time messages — default STOP — covers all channel messages, voice (note on/off, performance control, preset voice changes, etc), and mode (OMNI, MONO, POLY, etc), plus whole system messages governing song and song segment info plus real time clock controls.
Play function — default STOP-START transmits from MIDI Out all relevant MIDI data received in a defined data format from the host, on active tracks only (see below).
Record function — default STOP-START clears the record counter and sends all relevant data received from MIDI into the host computer, together with timing information from the 401 record counter, for storage.
Sync — default internal — alternatives are sync to FSK tape in clock and sync to MIDI clock from MIDI In.
Metronome — default off — when 'on' the beats occur after a preset number of clock pulses (see MIDI/METRO). Can be set with three different pitches:- One on the downbeat of each bar and either one of the others on the remaining beats or both alternating.
MIDI Thru — default on — MIDI Outs are optional MIDI Through.
Conductor — default off — when 'on' enables the host computer to control 401 timing by sending a timing byte with data, allowing relative tempo and rate of tempo change to be altered in real time.
Real Time Message affectation — default on — when 'on' 401 responds to real time messages from MIDI In.
FSK resolution — default internal — internal relates FSK clock to Time base (see below). Otherwise set to MIDI clock rate (24 clocks per beat).
Exclusive to HOST — default off — when 'on' system exclusive data from MIDI In, such as voice patch settings and presets, can be sent to the host for permanent storage on disk.
Time base — default 120 divisions per beat — can be set to 48, 72, 96, 120, 144, 168 & 192.
Tempo — default 100 Beats Per Minute — can be varied from eight to 250 BPM.
Relative tempo ratio — default 1/1 — can be varied to produce temporary tempo changes.
MIDI/METRO — default 12 — sets number of MIDI clocks between metronome pulses.
METRO/MEAS — default eight — sets number of beats per measure/bar.
Active track numbers — default none — a following byte (bits 0-7=tracks 1-8) sets tracks to 'play' where a '1' = track on, '0' = track off.
These examples of 401 operations are merely a glimpse of its capabilities. Some of the more important aspects not made clear by them are:
(1) There is a facility to 'punch in' real time MIDI info on pre-recorded tracks built into the firmware but, curiously, there appears to be no 'punch out'.
(2) The internal RAM is also used to keep track of notes on and off during playback. This is, again, very useful to the harassed programmer.
(3) The MPU-401 can be configured as a standard UART type MIDI interface for direct access to the MIDI bus by the host computer.
Minor moans are that it would be fairly simple to provide an internal software loop from MIDI Out to MIDI In for track merging and realtime overdubbing (although this could be done by physically connecting MIDI Out to MIDI In and recording playback tracks on one record track!). Also, there is no assistance provided for step-time composing/editing. This is a shame as the powerful realtime aids in conjunction with enhanced editing features would give awesome potential but I suppose there has to be something tricky for the software engineers to do.
MRC was written by Roland (US) to test and demonstrate MPU 401 facilities and will be available for the IBM PC and Apple II for £50 inc VAT from launch. As there are no manuals or instructions for it in this country, as yet, Rick's had a bit of a struggle working the whole thing out but as it's organised, very sensibly, on a single screen, as above opposite, most of the facilities are obvious: MCR is written in FORTH. True to the facilities of the 401, it records on eight polyphonic tracks where any track can be set to any channel at any time. A function is selected by moving the cursor over the function name or number using the I, J, K & M keys and pressing 'SPACE' or 'RETURN'.
Following easily understood prompts, called by the selection, allows you to record in realtime, playback, increase or decrease tempo, change time signature etc. Below the IJKM reminder are the minimum necessary system status reports. At the bottom of the screen is a 0-100% scale against internal memory. As events are recorded, a reverse field bar indicates memory used/memory free. A particularly useful feature is the auto correct. This can be set as 'free' or to correct to 32nds, 16ths, triplets, 8ths, 8th triplets, 4ths or 4th triplets.
To further encourage programmers, Roland are planning to supply a greeting menu with a selection of suitable program types listed. Calling one of the options will boot the appropriate program from disk. The relevant menu boot information will be made available to programmers so that the standard page can be used for all packages. Other Roland ideas include a single key, on line HELP facility, standardised on all MPU-401 related software, and a blank studio type track sheet that can be filled in from within a program and appended to compositions saved — both are excellent suggestions.
This is without doubt the most useful and versatile MIDI control hardware that has appeared to date. Despite the ever-accelerating development rate in digital equipment it seems unlikely that anybody can do more than match the MPU-401 within the next year. As always, we're hanging around for software but, sure in the knowledge that impressive packages are part written, we can forgive Roland the somewhat premature launch.
Review by Lizzy
mu:zines is the result of thousands of hours of effort, and will require many thousands more going forward to reach our goals of getting all this content online.
If you value this resource, you can support this project - it really helps!