Path: utzoo!utgpu!water!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!cs.utexas.edu!sdcrdcf!trwrb!wiley!david
From: david@wiley.UUCP (David Hull)
Newsgroups: comp.sys.mac
Subject: Re: Advice re. Terminal Emulator
Summary: I goofed!  How to do hardware flow control on the Mac.
Message-ID: <2275@wiley.UUCP>
Date: 8 Jul 88 08:07:24 GMT
References: <447@esquire.UUCP> <46100174@uxe.cso.uiuc.edu>
Reply-To: david@wiley.UUCP (David Hull)
Organization: TRW Inc., Redondo Beach, CA
Lines: 81

I wrote:
>The Macintosh serial ports can't do hardware flow control.  You're stuck
>with ^S/^Q.

In article <46100174@uxe.cso.uiuc.edu> leonardr@uxe.cso.uiuc.edu writes:
>This is NOT TRUE!  MicroPhone II has an option for Hardware Handshaking
>which works just fine provided that you have properly wired cable.  We
>have found, however, the most 'standard' cables are not in this
>catagory, but we do include instructions in the manual for making your
>own, or where to purchase the proper cabling for doing hardware
>handshaking with your particular modem.

When I heard that I was wrong in saying that the Macintosh was unable
to do hardware flow control, I did what I should have done in the first
place--I looked in Inside Macintosh.  Volume III, pages 22-25, describes
the serial ports on the early Macintoshes and Volume IV, pages 248-149,
the later ones.  This is what I found.

The design of the serial ports was changed slightly between the Mac
512K and the Mac Plus.  The Mac 512K used a DB9 connector, which had a
pinout like:

	1  Ground
	2  +5 Volts
	3  Ground
	4  Transmit data +
	5  Transmit data -
	6  +12 Volts
	7  Input handshake/external clock
	8  Receive data +
	9  Receive data -

Pin 7 can be used for hardware flow control, but only in one
direction--the external device can tell the Mac to stop sending data
by pulling it low.  Unfortunately this isn't useful when a terminal
emulator needs to tell a modem to stop sending data because it can't
keep up.

The Mac Plus had a Mini8 connector, with this pinout:

	1  Output handshake
	2  Input handshake/external clock
	3  Transmit data -
	4  Ground
	5  Receive data -
	6  Transmit data +
	7  (not connected)
	8  Receive data +

Pins 1 and 2 can be used for flow control, though pin 1 is labeled DTR,
which you wouldn't normally expect to use for flow control.  The Mac
pulls pin 1 low when it wants the external device to stop sending it data
and the Mac stops sending data when the external device pulls pin 2 low.

Therefore, you need to build the cable described below if you want to
be able to do hardware flow control.  You also need a terminal emulator
program that supports it.  In going over the documentation for
Versaterm, I found that it has in fact supported hardware flow control
since version 3.0 (it's called "Comm Port DTR Handshake" and is on the
Extras menu).  We also know that Microphone II supports hardware flow
control.

	Modem (DB25)	Mac (Mini8)
	 2 (TD)		 3 (TxD-)
	 3 (RD)		 5 (RxD-)
	 4 (RTS)	 1 (Out HS)
	 5 (CTS)	 2 (In HS)
	 7 (Gnd)	 4 (Gnd), 8 (RxD+)

I regret any confusion I may have caused with the misinformation I
posted, and I hope that I have it right this time.  I haven't actually
had a chance to test the modem cable I suggest building, but I've gone
over it very carefully and am pretty sure that it's right.  If I've still
got it wrong, I hope that someone lets us know.

-David
-- 
					---------------------------------------
					David Hull  TRW Inc.  Redondo Beach, CA
					  ...!{uunet,cit-vax,trwrb}!wiley!david
					     david%wiley.uucp@csvax.caltech.edu