Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

MIDI on IBM AT

99 views
Skip to first unread message

Wallagh Serge R

unread,
Mar 28, 1989, 1:17:38 PM3/28/89
to

I have a question that nobody seems to be able to answer (in Amsterdam):
I've a fast IBM-AT and a midi-keyboard. I would like to hook the two
together, but I don't want to buy a >150$ interface card.

As MIDI is just a serial interface, it should be possible to use the
serial interface from the AT as a MIDI port.
Question: Is that possible? How? And most important: Is there any software
that supports such a low-budget interface?

I would appreciate if you could answer me with electronic mail, as I
don't regularly read all the newsgroups I've send this message to.

Serge Wallagh
(if Reply and "wal...@cs.vu.nl" fails, try:
....!mcvax!uva!wallagh)

Robert E. Coutch

unread,
Mar 29, 1989, 9:51:36 AM3/29/89
to
In article <21...@botter.cs.vu.nl> wal...@cs.vu.nl () writes:

I have a question that nobody seems to be able to answer (in Amsterdam):
I've a fast IBM-AT and a midi-keyboard. I would like to hook the two
together, but I don't want to buy a >150$ interface card.

As MIDI is just a serial interface, it should be possible to use the
serial interface from the AT as a MIDI port.
Question: Is that possible? How? And most important: Is there any software
that supports such a low-budget interface?

= Using the serial port (RS232) won't do it!
MIDI operates at a baud rate higher than your serial port could go.
To use your serial port would require an interface between your PC and
MIDI devices. This interface would need a large buffer to hold data while
your PC reads data at its maximum 'snails' pace of 19.2k baud.
MIDI operates around 36k baud (If I recall) and the interface device
would not work nearly as well as an internal bus I/F card!

Get the interface card!! It'll be well worth it!!

Colin Dente

unread,
Mar 30, 1989, 6:44:08 AM3/30/89
to

In article <4...@advdev.Cambridge.NCR.COM> r...@advdev.UUCP (robert.e.coutch) writes:
>In article <21...@botter.cs.vu.nl> wal...@cs.vu.nl () writes:
>
> [question about using IBM PC AT's RS232 port for MIDI interface]

>
>= Using the serial port (RS232) won't do it!
> MIDI operates at a baud rate higher than your serial port could go.
> To use your serial port would require an interface between your PC and
> MIDI devices. This interface would need a large buffer to hold data while
> your PC reads data at its maximum 'snails' pace of 19.2k baud.
> MIDI operates around 36k baud (If I recall) and the interface device
> would not work nearly as well as an internal bus I/F card!
>
> Get the interface card!! It'll be well worth it!!
The only question I have is: Is that higher than the PC's serial port can go?
I know that the Amiga (f'rinstance) can be persuaded to wind it's RS232 port
to 32-and-a-bit Kbaud that MIDI uses. Might it be possible to persuade the
PC's port to do the same. Unfortunately, I don't know anything about PCs
(being the superior Unix/workstation VAX/VMS type myself!) - but surely
someone out there in comp.sys.ibm.pc land must know. Any comments?

Colin


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
| Colin Dente | JANET: EC...@UK.AC.MAN.EE.V1 |
| Dept. of Electrical Engineering | ARPA: ECAD%UK.AC.M...@UKACRL.BITNET|
| University of Manchester | UUCP: ...!mcvax!ukc!man.cs.ux!s2!dente |
| England | |
|-----------------------------------------------------------------------------|
| Anybody want to buy a Starfighter?..... Buy an acre of ground, and wait... |
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

Brian Wilson

unread,
Mar 30, 1989, 3:36:56 PM3/30/89
to
Midi data rate = 31.250 kbaud
Maximum AT data rate (using polling) is 38.4 kbaud

Unfortunately, the clock timer in the AT is set up to generate
standard baud rates due to the system clock used. It's not that the AT
cannot handle the data rate, it's just it cannot generate it.

Just bite the bullet and buy an MPU-401 compatible board.
Then you can run other people's software.

--
Brian Wilson || {uunet,sun,well}!island!bwilson (707) 523-4465 ||
|| Island Graphics Corporation Santa Rosa, Ca. ||

Irwin M. Fargo

unread,
Mar 30, 1989, 4:00:44 AM3/30/89
to
In article <4...@advdev.Cambridge.NCR.COM> r...@advdev.UUCP (robert.e.coutch) writes:
> your PC reads data at its maximum 'snails' pace of 19.2k baud.
> MIDI operates around 36k baud (If I recall) and the interface device
> would not work nearly as well as an internal bus I/F card!

Tiny little nitpick: The serial controller on a PC (8250 UART) can handle
rates up to 115.2 kbps., which is substantially faster than MIDI. Although
I must still agree, get a MIDI adapter. It's too much effort to try and do
all the encoding/decoding necessary to use an RS232 serial port.

Thank you and happy hunting! Internet: fa...@pawl.rpi.edu
____ [> SB <] fargo@{paraguay|uruguay}.acm.rpi.edu
/__ -=>??<=- Bitnet (??): user...@rpitsmts.bitnet
/ ARGO : 3000 years of regression from the year 4990

Bill Gieske

unread,
Mar 30, 1989, 10:03:52 AM3/30/89
to

If you're looking for a MIDI card, I'd recommend the Music Quest card. I
went through a frustrating experience getting MIDI up on my XT-compatible.
The Roland card uses IRQ2, which is also used by the EGA card. Since I
origionally wanted to run Personal Composer, I also needed the EGA. Other
than the Music Quest card, which can use IRQ2, 3, 4, 7, other cards all appear
to use IRQ2. In checking into IRQ use, I came away with the impression that
IRQ2 is the standard IRQ for EGA cards. Thus, the "standard" established
by Roland conflicts with the standard (?) established by IBM in designing the
XT. Most MIDI software also is hard-coded to IRQ2, so even with the Music
Quest card, you still have a conflict. I finally opted for Cakewalk (with
which I as quite satisfied) and Copyist II for score printing (with which I
am satisfied; but, the software is not at the professional level of Cakewalk).

Bill Gieske
alux2!wg

Robert A. Lerche

unread,
Mar 30, 1989, 1:08:51 PM3/30/89
to
Did you actually try this (EGA & Roland Card both in a system) and have it
fail? EGA uses IRQ2 for its "vertical interrupt feature" (gives an
interrupt at each vertical retrace) which is usually unused. According
to my IBM EGA manual, the BIOS initializes this to OFF. Multiple boards
should be able to share the same IRQ line. In fact, the EGA manual gives
instructions for how to process the vertical interrupt that include checking
to see if the interrupt was caused by the EGA and passing the interrupt along
to the next guy if not.

Jason Bold

unread,
Mar 30, 1989, 3:21:30 PM3/30/89
to
In article <4...@advdev.Cambridge.NCR.COM> r...@advdev.UUCP (robert.e.coutch) writes:
>In article <21...@botter.cs.vu.nl> wal...@cs.vu.nl () writes:
>
>As MIDI is just a serial interface, it should be possible to use the
>serial interface from the AT as a MIDI port.
>= Using the serial port (RS232) won't do it!
> MIDI operates at a baud rate higher than your serial port could go.
> MIDI operates around 36k baud (If I recall) and the interface device
> would not work nearly as well as an internal bus I/F card!

Two reasons you can't do it without external hardware:

1. MIDI is serial, but it is a current loop, NOT RS232.
2. MIDI baud rate is 31.5K, I believe.

You need RS232 - current loop conversion hardware and a buffer. That shouldn't
be too difficult to design. I think it would take less than 1/2 hr.
Also, I don't believe that any software supports the serial port because
of these facts. You will have to either design the hardware for MIDI or
buy the card. That's about all there is to it.
:wq
s


==============================================================================
= Jason Bold Rich, Inc. "Under the influence of a fantastic amount =
= bold@richp1 Franklin Park, IL of trendy chemical amusement aid" - FZ =
==============================================================================

Ron Burns

unread,
Mar 31, 1989, 1:30:10 PM3/31/89
to
In article <10...@rpi.edu> fa...@pawl.rpi.edu (Irwin M. Fargo) writes:
>In article <4...@advdev.Cambridge.NCR.COM> r...@advdev.UUCP (robert.e.coutch) writes:
>> your PC reads data at its maximum 'snails' pace of 19.2k baud.
>> MIDI operates around 36k baud (If I recall) and the interface device
>> would not work nearly as well as an internal bus I/F card!
>
>I must still agree, get a MIDI adapter. It's too much effort to try and do
>all the encoding/decoding necessary to use an RS232 serial port.
>

I can't just sit here and listen to all this and not comment.
I, too, have very recently become interested in MIDI, and just as an
inexpensive way to get something, ANYTHING, to work, here is what I did.

I went to the local discount department store and bought a Casio MT-240.
This has a sub sized keyboard, rythm generator, and 30 instrument selection.
one of the instruments is Percussion, and then each key hit is a different
percussin instrument (snare, hi hat, tympany, etc..)

It also has MIDI IN and MIDI OUT.

Not too bad for $89.00.

Now, I don't play keyboard, so the sub-sized keys don't bother me too much,
and MIDI doesn't care about whether there even are keys or not!

Now I needed a MIDI port for my PC (actually a Sperry PC - HT, an XT clone).

I found that I would need to spend almost twice as much for a MIDI card as
I spent for my Casio! This was not acceptable, so here is how to get around
the problem.

First, I program for a living, and the problem of getting available software
for my interface did not bother me. If you want to be able to run Cakewalk
buy an MPU-401 or whatever they are called compatable card. If you just
want to play around yourself, or limit yourself to the commercially available
Songwrite program, the following will work just fine.

MIDI runs at 31.25 Kbaud, 8 data, 1 stop, No parity.

Standard COM ports use either a 1.8432 MHz or 18.432 MHz crystal. Neither of
these works to be divided down to 31.25 Kbaud.
Whichever crystal is used, the clock running into the 8250 UART is 1.8432MHz.

I used COM2 for my purposes. I currently use only MIDI out from my PC to use
it as a sequencer.

What you need to do, then, is the following hardware modification:

Get the following components (this is all from memory, No Flames!)
1 female DIN connector for your MIDI output.
2 100 - 150 ohm resistors
1 dpdt switch (spst if MIDI out only)
1 2.000MHz crystal oscillator 2MHz divides down to 31.25K very nicely.
misc wire and electrical tape, solder, etc...

1) Find the UART chip for the COM port. (40 pin, 8250 or 16450, usually)

2) Find the circuit board trace running to pin 16. This is th clock line.

3) Wire up the 5volts and ground from somewhere on the board to the oscillator.

4) Cut the trace from #2 above.

5) Run a wire from pin 16 to the common pole of the switch.

6) Run a wire from the other side of the cut trace to one side of the switch.

7) Run a wire from the Osc output to the other side of the switch.

Now the switch will allow std baud rates in one position, and
MIDI baud rate in the other. I hate destroying existing functionality!

8) o
this one -- o o ---this one
o o
I can't remember the pin number scheme used on DIN connectors, but use the
two shown above for step 8 which is, Solder one side of one of the
resistors to one of pins, and solder one side of the other resistor
to the other pin.

9) Run a wire from one of the resistor ends to ground on the board.

10) Run the other to the UART data out. Actually mine goes to the
output of a 74125 buffer which is fed by the UART chip. A buffer
stage here is a good idea, if you can provide it.

11) It DOES matter which of the two MIDI lines in 8 & 9 above
are placed where, but I don't have it in front of me to check.
If it does not work, try swapping them.


The hardware is quite simple, and a lot of people already have a COM port
to use. The MIDI in would require another DIN, a 5milliampere opto isolator
a couple more resistors, and the other half of the DPDT switch ( to
switch RxData In to the UART from the RS-232 recievers).

Now all you need to sequence out from your PC is software.

--
Ron Burns
Unisys Corporation UUCP: ...!amdahl!ems!minnow!ron
Phone:(612)635-6927 CSNET: r...@minnow.SP.Unisys.Com

George D. Hadden

unread,
Mar 31, 1989, 7:57:58 AM3/31/89
to
there is a solution which uses the serial port. key electronic
enterprises in fort worth, tx sells a serial interface that uses the
serial port and seems to work rather well. it plays fast and loose
with the low levels of the serial port controller (no, i don't know
what this means other than i can't write to the serial port from lisp
and expect the right thing to happen). the other bad news is that
they are not yet compatible with other software (they supply their own
sequencer and monitor programs), although they plan to be.

i use their stuff because my laptop doesn't have a standard card slot.

here's their address, etc:

key electronic enterprises
9112 hwy 80 w., suite 212
fort worth, tx 76116

order number 1-800-kee-midi
info 817-560-1912

have fun,

-geo
---
George D. Hadden, Honeywell Systems and Research Center
PHONE: (612)782-7769
MAIL: 3660 Technology Drive MN65-2100, Minneapolis, MN 55418
ARPA: had...@src.honeywell.com
UUCP: {umn-cs, ems, bthpyd}!srcsip!hadden

Dave Tutelman

unread,
Mar 31, 1989, 6:56:37 AM3/31/89
to
In article <10...@rpi.edu> fa...@pawl.rpi.edu (Irwin M. Fargo) writes:
>In article <4...@advdev.Cambridge.NCR.COM> r...@advdev.UUCP (robert.e.coutch) writes:
>> your PC reads data at its maximum 'snails' pace of 19.2k baud.
>> MIDI operates around 36k baud (If I recall) and the interface device
>> would not work nearly as well as an internal bus I/F card!
>
>Tiny little nitpick: The serial controller on a PC (8250 UART) can handle
>rates up to 115.2 kbps., which is substantially faster than MIDI.
True, but it won't operate at MIDI rates without a hardware mod.
The data rate is obtained by counting down a crystal oscillator
to the right frequency, using counters on the serial adapter.
There's no integer by which you can divide the crystal to
give 31.25 KHz (the MIDI data rate). In fact, you can't even
get "close enough for jazz". The crystal was chosen to
give good integer countdowns for the CCITT/EIA rates.

>Although I must still agree, get a MIDI adapter.
>It's too much effort to try and do
>all the encoding/decoding necessary to use an RS232 serial port.

You COULD change the crystal on the serial adapter board to a 2MHz
crystal; which can be counted down to MIDI. But then, all
your MIDI would be a do-it-yourself project:
- No other MIDI interface looks like this, so you get
to write all the software you want to use.
- The BIOS doesn't work well at high speeds, so you
get to write it all at the hardware level.
- Your interface doesn't have a built-in timer, so you
get to do all the time-stamping in software (sure to
be a drag on your real-time).

+---------------------------------------------------------------+
| Dave Tutelman |
| Physical - AT&T Bell Labs - Lincroft, NJ |
| Logical - ...att!mtunb!dmt |
| Audible - (201) 576 2442 |
+---------------------------------------------------------------+

Barry Arons

unread,
Mar 31, 1989, 4:31:46 PM3/31/89
to
Another option is to use the Hinton Instruments MIDIC box that converts
RS-232 to MIDI. We wanted a MIDI hardware platform that we could use on
multiple computing platforms (Sun 3/60--no bus, Olivetti M380--AT bus), and
this seemed to be the best approach. I am not sure what kind of processing
the Roland MPU-401 can do, but you can tell the MIDIC to filter various
kinds of events (active sensing, sys ex, pitch bends, etc.), generate tempo
and active sensing, timing controls, etc. Very nice features to delegate
out when you are running on a time shared Unix system.

We are not (yet) using MIDI for musical applications, but for interactive
audio applications where the best/cheapest computer controlled audio
hardware is MIDI. We purchased 10 MIDIC's, though only four are currently
in use (awaiting other hardware and some yet-to-be-written software). It
only took a few hours to get my Sun talking to a Yamaha DMP11 mixer! I am
quite happy with the product and service Hinton has provided me.

MIDIC's are in use at other computer science research organizations (Xerox
EuroPARC, Xerox PARC, Stanford) since they have the same problems as us:
wanting to run MIDI devices from a range of Unix systems.

The only drawbacks are that it is somewhat expensive, and it comes from
overseas. The current price is #300 (that is 300 English pounds, around
$550). The version we have has 16K of RAM, though they do make a 32K
battery backed up version as well (primarily for dumping all your
instrument configurations into).

Hinton Instruments
Oldford
Nr. Frome
Sommerset
BA11 2NN
England

Tel: +44 373 51927
Fax: +44 373 830679

Barry.
Barry Arons phone: +1 415-496-6264
Olivetti Research Center fax: +1 415-496-6219
2882 Sand Hill Road, Suite 210 internet: ar...@orc.olivetti.com
Menlo Park, CA 94025 uucp: {sri-unix|oliveb}!orc!arons

Hank E. Vail Jr.

unread,
Mar 31, 1989, 1:58:31 PM3/31/89
to
In article <2...@alux2.ATT.COM>, w...@alux2.ATT.COM (Bill Gieske) writes:
>
> If you're looking for a MIDI card, I'd recommend the Music Quest card. I
> went through a frustrating experience getting MIDI up on my XT-compatible.
> The Roland card uses IRQ2, which is also used by the EGA card. Since I
> origionally wanted to run Personal Composer, I also needed the EGA. Other
> than the Music Quest card, which can use IRQ2, 3, 4, 7, other cards all appear
> to use IRQ2. In checking into IRQ use, I came away with the impression that

I am currently running Personal Composer on an XT-compatible with an EGA card
and Voyetra OP-4001 Intelligent Midi Interface with no problems. My EGA card
implements a mouse bus port on IRQ2 which I have disabled to prevent conflict
with the MIDI card. I use a serial mouse, instead. Which MIDI card you
should purchase depends on what you wish to do with it and the features of the
machine you're putting it in. The Roland MPU-401 unit is easily programmable
but tends to be extremely flaky on machines faster than 8MHz. I purchased the
Voyetra OP-4001 because it is 100% compatible to the MPU-401 (it uses the
Roland chip), because the interface and processor are all on the card, and
it is extremely versatile for programming purposes. My machine is running at
10MHz with no problems, and I know the Voyetra card functions flawlessly at
25MHz. Since you're dealing with an AT machine, this could be a significant
feature.

--

______|\____________________________________________________________________ ______|/______ Hank E Vail _____ he...@mcnc.org _____________________________ ____,/|__________ Microelectronics Center __________ (919) 248-1996 wk _____ ___/_/|^

E.GAUSS

unread,
Apr 2, 1989, 6:04:20 AM4/2/89
to

Optronics makes a $89 MIDI converter card that works on a COM port. DIP
switches let you select between COM1 through COM4. It works fine with
SongWright software on COM4. I have not been able to get it to work
with anybody else's software, even my own, because I have yet to discover
what hex port address goes with COM4. (703) 771-8118 gets you Optronics
and (703) 822-9068 gets you SongWright.

Ed

Steve Tynor

unread,
Apr 3, 1989, 3:25:44 PM4/3/89
to
In article <28...@ucbvax.BERKELEY.EDU> ba...@icsi.UUCP (Denis L. Baggi) writes:
>
>I have a MPU-IPC (read: 401) running on a 386-based machine with vga
>with mo problems under MS-DOS. I plan to write a UNIX driver for that
>card. According to the SCO Xenix manual - which explicitely mentions
>VGA - IRQ2 (or 9) is free and can be used.
>
>Denis Baggi

Peter Langston (p...@bellcore.com) has written a MPU401 driver for
various Suns (multibus, vmebus, ATbus (IRQ4)) and has a whole lot of
support software for it. You can probably get the driver by mailing him
a request. The support software is available via anonymous ftp at
ucsd.edu.

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Never put off until tomorrow what you can avoid altogether.

Steve Tynor
Georgia Tech Research Institute
ty...@gitpyr.gatech.edu

Denis L. Baggi

unread,
Apr 3, 1989, 1:34:13 PM4/3/89
to

Ray Trent

unread,
Apr 4, 1989, 1:58:52 PM4/4/89
to
In the referenced article, dente%s2%man....@ukacrl.BITNET (Colin Dente) write

>>In article <21...@botter.cs.vu.nl> wal...@cs.vu.nl () writes:
>>
>> [question about using IBM PC AT's RS232 port for MIDI interface]
>>
>>= Using the serial port (RS232) won't do it!
>The only question I have is: Is that higher than the PC's serial port can go?
>I know that the Amiga (f'rinstance) can be persuaded to wind it's RS232 port
>to 32-and-a-bit Kbaud that MIDI uses. Might it be possible to persuade the

That's a clever trick, as the RS232 standard is only valid for data rates
up to 19.2Kbaud. 1/2 :-) Serial != RS232.
--
"When you're down, it's a long way up
When you're up, it's a long way down
It's all the same thing
And it's no new tale to tell" ../ray\..

Colin Dente

unread,
Apr 6, 1989, 7:18:25 AM4/6/89
to
In article <29...@sri-unix.SRI.COM> tr...@unix.sri.com (Ray Trent) writes:
>In the referenced article, dente%s2%man....@ukacrl.BITNET (Colin Dente) write
[quoting my original posting......]

>>The only question I have is: Is that higher than the PC's serial port can go?
>>I know that the Amiga (f'rinstance) can be persuaded to wind it's RS232 port
>>to 32-and-a-bit Kbaud that MIDI uses. Might it be possible to persuade the
>
>That's a clever trick, as the RS232 standard is only valid for data rates
>up to 19.2Kbaud. 1/2 :-) Serial != RS232.

Perhaps I didn't make myself clear (God knows - even I don't understand me
sometimes!) - what I meant (and recent discussions seem to have proved me
correct) was that I might be possible to get the PC's serial port to talk
at 31.5(?)Kbaud (it turns out that it'd need a hardware mod - but it is
possible). I never proposed that it would be acting as an RS232 interface,
merely as a couple of wires capable of eating/spitting out bits at the
required rate - you would then require hardware to convert the current loop
signal of MIDI to something the PC would like (and doesn't MIDI specify that
everything should be opto-isolated?).

OK?

Daniel A. Glasser

unread,
Apr 6, 1989, 6:07:41 PM4/6/89
to
MIDI is not compatible with RS232 without some hardware in the
middle. The MIDI data rate is 31.25K baud, and the interface is
a current loop (I don't remember how many Ma off the top of my head,
maybe 15ma?)

Assuming the serial port chip on the AT clone could be clocked at
that speed and the AT could keep up with short bursts (up to about
256 characters) at that rate, the interface would be fairly simple.
Knowing what I don't about the PC/AT buss architecture and standard
comm ports, I suspect that it would be more cost effective to get
the Roland MPU-401 style interface or some other MIDI buss card.
--
_____________________________________________________________________________
Daniel A. Glasser One of those things that goes
uwvax!per2!dag "BUMP!!!(ouch)" in the night.
---Persoft, Inc.---------465 Science Drive-------Madison, WI 53711-----------

Petri Mikael Mikkil{

unread,
Apr 11, 1989, 9:40:36 AM4/11/89
to

This is how I made a cheap MIDI-interface for my AT :

1. I bought a cheap RS232-card with two RS-ports on it, one of which
was left without IC-circuits ( to be inserted later ).

2. I changed the 1.8432 MHz crystal to a 2.0000 MHz crystal.

3. There were places for circuits 75188 and 75189 ( gates that do the
conversion between TTL levels (0-5V) and RS232 levels (-9-+9V).
Instead of these circuits I put there two ordinary TTL-gate circuits,
number 7400. Result: the interface operates at TTL levels, which is
quite close to MIDI (actually, MIDI is a current loop but who cares).
Of course the 8250 circuit had to be added too.

4. I connected two 5-pin DIN connectors to the 9-pin D-connector according
to following table:
9-pin MIDI in MIDI out
---------------------------------------
2 (RxD) ----------- 4
3 (TxD) ----------------------- 4
5 (GND) ----------- 5
5 (GND) ----------------------- 5

This interface does not follow the MIDI specification but it is cheap
and it works (at least with Yamaha instruments).

This interface operates like a normal serial port, so commercial software
won't work without modifications to the program.


- Petri Mikkila -
- Helsinki University of Technology -

0 new messages