|
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
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)
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. :)
-
AM26LS32 quadruple differential line receiver
-
AM26LS31 quadruple differential line driver
-
RS422 specs some useful RS422 specs from an EDN article.
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.
|
|