prefect
Home Engineering Audio Biking Publications Photo Gallery Personal Info
Engineering Projects: Hacking the MOTU MTPII onto a PC
 
  [Hacking the Midi Time Piece II]

NOTE: the following document describes techniques which MAY destroy your PC or your MIDI Time Piece II. It's not likely, but it's possible. The author may NOT held responsible for such damage, you do these modifications at your OWN RISK.

Introduction

MOTU did make a series of ISA cards to connect the MTP and MTP II to a PC. However, these cards are hard to come by these days. Most MTPII's were sold to Mac users, who don't need an add-on card to use the box, as the MTPII connects directly to the Mac's RS422 serial port.

Why, then, didn't MOTU hook the MTPII up to a PC via a PC serial port? Probably a number of reasons.. In 1990/1991/1992, PCs were quite a bit, shall we say, cheesy. Low-end, low quality UARTs were pretty normal to find (e.g. 8250 or 16450 - neither have FIFOs larger than one byte). Also, the average PC in those days was probably 286/386, MAYBE 486 if you were super cool. That isn't to say the Mac was much better, but S&S/MOTU seem to be much more focused on Macintosh development, and probably figured out how to get around some of the problems (though from many of the grumblings I've heard on web pages/Dejanews/etc., I guess it did have its share of problems.

First, I guess, a little history is in order. This may not be 100% accurate, but it reflects my understanding of the situation. The original Macs could not do the MIDI baud rate of 31250 baud due to the clocking of the UART. This was also true of the PC serial ports. 38400 was the closest one could get on a standard PC or Mac. However, Apple addressed this problem by allowing an external baud clock to be supplied to the UART via the DIN-8 jack all Mac-heads have come to love. Pin 2 of the jack could be used to supply this clock, and when the UART was given the magic incantation, it would use the external clock. This is the so-called "1 MHz" clock that is referenced in the MTP firmware as well as in lots of Mac MIDI software. This was fine and dandy for running a single MIDI port (i.e. one out and one in). The Mac sequencer market was thus born.

According to this page, in pre-1990, some device called the Southworth Jam-Box was created. I don't know much about it, but supposedly it was the predecessor to the original MIDI Time Piece, which was released in 1990. I only bring it up because the "S" in Southworth is probably one of the "S"'s in "S&S Research", the nice folks in Needham, MA that designed the MTP/MTPII (and probably the later versions like the MTP A/V, etc.). However, This page mentions JamBox support (Southworth apparently went out of business in 1989). Anyway, back to the story at hand. With the birth of the multi-port interface, it became desirable to be able to run more than one port at once. Obviously, with a single so-called 1MHz port (standard MIDI baud rate), you could really only pump a single channel's worth of data out to an interface. Initially researching this, I had assumed that someone would have REALLY cranked the speed of the serial port up to 1 megabaud in order to get a very high rate of data flow between the MTP and the host computer. It didn't seem quite right, that the likely FIFO-less UARTs, on relatively slow computers, could handle this type of data rate. A little more digging yielded the actual truth - the so-called "FAST MODE" on a Mac was, in reality, 115200 baud, or roughly 3.6 times the MIDI data rate. Minus protocol overhead, this really meant that you could only have about 3 MIDI ports running full bore at a given time. Fortunately most MIDI installations don't need this kind of data rate, but still, I was surprised to see that this limitation was present - they certainly don't go out of their way to point this out.

Back to PC-land. 115200 *is* a standard PC baud rate, at least on modern 16450/16550-based serial systems. However, it would have been very difficult to run a PC serial port this fast and not suffer major data loss in 1990. This is due to CPU speed, UART design, etc. So, MOTU designed a card to address this. Unfortunately, from what I can tell, it ONLY ran in standard MIDI baud mode. Not only that, but it was proprietary and didn't follow the MPU401 standard, so a lot of software wouldn't work with it. I'm not sure if this was true for every MOTU MTP ISA card ever produced - apparently there were no less than FOUR different variations, one of which even mentions MPU401. This table from the driver README tells all:

There have been four different types of ISA expansion cards from Mark of the Unicorn for use with its MIDI Time Piece II MIDI interface. To determine which card you have, compare your card to the information in the following table.

Card Type			  Coloring            Distinguishing Markings

Original 8-bit MIDI Time Piece 	  white-on-green      "FOR USE WITH MIDI TIME PIECE" card

Original 8-bit MIDI Time Piece II yellow-on-green or  "MARK OF THE UNICORN
and MIDI Express PC               orange-on-black     EXPRESS PC & MTP CARD"
combination card                                      without "MPU401" near DIP switch
		
16-bit MIDI Time Piece II and     orange-on-black     "MARK OF THE UNICORN
MIDI Express PC combination                           EXPRESS PC & MTP CARD"
card                                                  with "MPU401" near DIP switch

PC Link card                      yellow-on-black     "PC Link ISA Card"
If you can provide me with any technical information about ANY one of these cards, please mail me at prefect@gweep.net. I need chip numbers and other relevent markings. If you have any inferences to the architecture, please let me know.

From what I can tell, MOTU's software for the PC was basically junk. They seem like a Mac company, and didn't really do well in the PC world. Several years passed, and they eventually discontinued the MTP/MTPII in favor of their new MTP A/V and MIDI Express XT products, which connect to a Mac the same way that the old MTP devices did, but connect to a PC via the parallel port. Several MTP II's used in Mac environments are presently available on the auction/used markets. Since I bought one in an online auction, I figured it would be nice to get it hooked up to my PC. Unfortunately, MOTU wants to charge $100 for a PC card and make you wait an undetermined period of time for them to ship you what is likely a used PC ISA card from a trade-in from another customer. All of that for something that will not even perform much better than a standard MIDI port on a sound card. Not only that, but since they stopped supporting the device, the drivers available are old, 16-bit, and kind of clunky. (Not that I've had the opportunity to check them out, mind you!). The price and the lack of performance were big turn-offs. So why not connect the MTP to a PC's serial port and run it in FAST mode, write some drivers and a console program to control it, and release it as a retrofit kit? Yeah, why not.

How-To

Physical: Connecting the MTP to a PC

To connect the MTP to your PC, you need to assemble a custom cable. Since the MTPII uses differential receivers that can withstand +/- 25V on its RS422 ports, you can use a widely known technique to convert RS232<->RS422 without the need of active transceivers. This is accomplished by connecting the inverted RS422 signals to their opposite RS232 counterparts. In other words, connect RS422 TX- to RS232 RX and RS422 RX- to RS232 TX. The only additional items are connecting the MTP's GND to the PC's RS232 GND, and the MTP's RS422 RX+ to GND (this grounds one side of the diff input, otherwise it floats and it won't work properly!!!). The following table shows how to wire a simple cable from the MTP to a PC (both 9 pin and 25 pin versions are shown):
DB-9 FEMALE                MINI DIN-8 MALE
-------------------------------------------------------
pin 2 (RXD)                pin 3 (TXD-)
pin 3 (TXD)                pin 5 (RXD-)
pin 5 (GND)                pin 4 (GND) and pin 8 (RXD+)

DB-25 FEMALE               MINI DIN-8 MALE
-------------------------------------------------------
pin 2 (TXD)                pin 5 (RXD-)
pin 3 (RXD)                pin 3 (TXD-)
pin 7 (GND)                pin 4 (GND) and pin 8 (RXD+) 
The Mac/MTP serial port pinout may be found at this link. Note that both the Mac _and_ the MTP use the same pinout. The cables that MOTU ships are actually null modem type cables (RX/TX are crossed). This is because you can connect a computer, 3rd party MIDI interface, second MTP, or second computer to the ports. With a null modem cable, the same cable could be used for all of those. To make my prototype cable, I sacrificed one of the serial cables that shipped with the unit. Note that the color/pinout will differ depending on which end of the cable you get! There is no way to tell a priori. You'll need to buzz it out with a multimeter. I'll provide my colors in case it's of use:
pin 1 Hsko    RED
pin 2 Hski    BROWN
pin 3 TXD-    BLACK
pin 4 GND     YELLOW
pin 5 RXD-    ORANGE
pin 6 TXD+    BLACK w/white stripe
pin 7 N/C     GREEN
pin 8 RXD+    ORANGE w/black stripe 
My cables were thick, heavy duty ~12 foot black cables. You should easily be able to pick out the TX/RX pairs when you open the cable - they should be twisted together in pairs. Again, I can't stress it enough - buzz it out if you want it to work correctly.

Inside the MTPII

[picture of the MTPII guts]

Processor & Support

  • Main CPU: W65C02, 6MHz clock (left in block (3) above)
  • SRAM: two HY62256ALP 100ns chips (32Kbytes each - bank switched?), battery backup via CR2025 type lithium cell. (middle two in block (3) above)
  • (E)PROM: 27C256 120ns for firmware (32Kbyte) (I have V1.0G (C) 1992 S&S Research) (right in block (3) above)
  • ASIC: "MIDI PROCESSOR (C)1991 S&S RESEARCH IMI7220-32A 9416 C6194" (4) in above photo, also shown below.
  • ADC0804 8-bit ADC for pedal inputs I assume (to right of 40-pin in block (4) above)
  • Standard HD44780 type LCD (2x16) (above block (3))
  • misc: two PEEL18CV8 PLDs in design (one near micro, one near ASIC)
[MTP ASIC photo]

I want to know why, on the cardboard box for my MTP II, it claims that this unit has a "20MHz custom MIDI processor" .. I could find no sign of a 20MHz crystal or oscillator on-board. I also can't think of any easy way to synthesize 20MHz from the 6MHz crystal present near the microprocessor. Is this a hoax? Does the ASIC have some kind of on-chip clock? Inquiring geeks want to know.

MTP II's RS422 Drivers & Receivers

The MTP2 uses these chips to handle the "Mac", "Print", and "Net" ports on the rear of the unit. The positive aspect of the receivers is that they can handle a +/- 25V swing on their inputs - more than enough to handle the specified +/- 15V specified swing from a typical RS232 output. Photo below, in case you don't believe that there's one in there. :) [2632 IC]

MIDI interface implementation

  • 6N138 opto isolators on all MIDI inputs (decent rise time, minimal delay)

SMPTE LTC

  • Seems to be a discrete implementation (e.g. no Exar FSK parts) (shown in section (2) in overall photo above)
  • LM324 quad op-amp, 4046 (analog switch/mux?), 74xx series, etc.

Power supply

  • Linear supply using LM2935T regulator, small PCB mount xfmr, 115/220V capable. (shown in section (1) above)

Drivers

John Galbraith has some great Tech info and FreeBSD drivers for the MOTU MIDI Express XT, which is a baby cousin of the older MTP II. It's theorized that these boxes share SYSEX information. This is the local mirror of John's data.

Quick Links
John Galbraith has a FreeBSD MOTU MIDI Express XT driver
 
Page last modified:
Copyright © 1993-2003 prefect - All Rights Reserved.