This is a page that describes the MIDI Mapper and Interface Unit that I designed
and built for Lyle Mays
(renowned keyboardist of the Pat Metheny Band) between 1988 and 1991 (the unit
was built in 1988 and Lyle took it out on tour; I threw in a few subsequent
ideas and mods during the following years). It was used on several recordings,
including the Pat Metheny Band's live "The Road to You" release. Although its
initial purpose was to control Lyle's vintage Oberheim 4-Voice synthesizer (see
it here in my basement waiting for surgery),
I threw in many other ideas that Lyle and I were batting around about real-time
MIDI mapping in performance during that time (the resident 6809 processor had
plenty of cycles leftover for MIDI embellishments). Granted, such things are
all software applications now, but as the ideas were interesting and since this
was a fun box (not to mention probably the most extreme 4-Voice interface around),
I decided to post the instruction
manual that I wrote for it. It was a much more hardware-based approach than
I'd try now: take a look at all the CMOS that
I put inside the 4-Voice, and all
the circuitry under the lid of the Interface unit itself. In the end though,
it worked great (the 4-voice itself remained notoriously futzy though, but that's
entirely expected for that device on the road), and never failed. Here's a photo
of the back panel, to round out the collection.
OK, although this is a one-of-a-kind device, I posted the mountain of code
that I wrote for it. It represents a ton of work - perhaps it could be instructional
in nature for those of you who are interested in the obscure history of MIDI
coding using the 6809. All embedded processor code was written in 6809 assembly
language. The program "Test4V.asm"
was used to test all functions of the hardware (essential in debugging such
a complex custom board) and the program "Run4V.asm"
is what is running now in the device to implement everything described in
the users' manual posted above. I also wrote a SysEx librarian for it in MIDI-Basic
- here is the Basic code for the Librarian
itself, and an initialization
program must be run upon installation to generate a file that the Librarian
needs. Needless to say, I no longer support this code or this device - I'm
posting it for posterity...