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...

Back to Joe's Home Page