[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Proterm and modem cable for IIc




PC Solutions writes ...
> 
> I need a modem cable that will interface an external 14.4 modem to a IIc and
> I also need Proterm 3.0 or higher.
>
 ....

     You may be able to find ProTERM A2 3.0 or later for sale by an
owner on comp.sys.apple2.marketplace. ProTERM A2 3.1 is sold and
supported by InTrec Software (888-PROTERM; http://www.intrec.com ).

     Here is some info on //c modem cables from the Csa2 FAQS ...

>>

From: David Empson

017- What kind of cable should I use to connect a modem
     to my IIc?

Here is the pinout of the IIc serial port looking at the back of the
computer:

  DIN-5F (female)
   socket with
Apple's numbering

   5       1
    4     2
       3

The functions are:

1  Handshake Out (nominally DTR)
2  Data Out (TxD)
3  Ground
4  Data In (RxD)
5  Handshake In (nominally DSR)


To connect a IIc to a typical modem use the following pinout
for a non-hardware handshaking cable:

IIc                Modem
DIN-5M             Dsub-25M      DIN-5            Dsub-25M
                                 plug          male connector 
1 Handshake Out    20 DTR
2 Data Out          2 TxD      1       5   ,--------/ /---------.
3 Ground            7 Gnd       2     4    \  1   2 ... 12  13  /
4 Data In           3 RxD          3        \  14   ...   25   /
5 Handshake In      6 DSR*                   `------/ /-------'

*You might want to use pin 8, DCD in some cases.


To connect a IIc to a modem with a 9-pin connector you can use
the pinout below for a non-hardware handshaking cable:

IIc                 Modem
DIN-5M              Dsub-9M      DIN-5            Dsub-9M
                                 plug          male connector 
1 Handshake Out     4 DTR 
2 Data Out          3 TxD      1       5   ,--------/ /---------.
3 Ground            5 Gnd       2     4    \  1   2 ...  4   5  /
4 Data In           2 RxD          3        \   6   ...    9   /
5 Handshake In      6 DSR*                   `------/ /-------'

*You might want to use pin 1, DCD in some cases.


The IIc cannot do hardware handshaking** very well, but this is as close
as you can get:

IIc                 Modem
DIN-5M              Dsub-25M      DIN-5            Dsub-25M
                                  plug          male connector
1 Handshake Out     4 RTS
2 Data Out          2 TxD       1       5   ,--------/ /---------.
3 Ground            7 Gnd        2     4    \  1   2 ... 12  13  /
4 Data In           3 RxD           3        \  14   ...   25   /
5 Handshake In      5 CTS                     `------/ /-------'

** Note that you need comm software which supports hardware handshaking
on the IIc to do this properly. I expect ProTerm does, but Z-Link and
Talk Is Cheap almost certainly don't.


The IIc's handshaking lines have annoying side effects, which cause
problems with hardware handshaking:

1. The "Handshake Out" signal is implemented to mean "I want to send
data" (the official and original meaning of RTS).  If you turn off the
output handshake line, the IIc will stop sending data.  For a hardware
handshaking modem, RTS is supposed to mean "You are allowed to send me
data" (from the computer's point of view).

   If the computer tells the modem to stop transmitting, the computer
will also be unable to transmit.  This will reduce the rate at which
data can be transferred bidirectionally, but doesn't cause any other
problems.

2. The "Handshake In" signal is implemented to mean "There is receive
data present" (the official meaning of DCD).  If the incoming handshake
line is disabled, the IIc will stop receiving data (ignore any data on
RxD). For a hardware handshaking modem, CTS is supposed to mean "You are
allowed to send me data" (from the modem's point of view).

   If the modem tells the computer to stop transmitting, the computer
will also be unable to receive, and will discard any data sent by the
modem   while CTS is not active.  This can cause screen corruption and
loss of data blocks or acknowledgements during a file transfer, which
will require retransmission. It is only likely to be a problem while a
lot of data is being sent, so is more likely to cause problems during a
file upload than a download. If the comms software is quick enough, it
can drop RTS immediately when CTS is lowered, which will prevent the
modem from sending any more data.

The original IIc motherboard has another problem: it uses a cheap method
of generating the clock frequency for the serial ports.  Most
implementations based on the 6551 chip use a 1.8432 MHz crystal, which
gives exact baud rates, but the IIc takes the master system clock
(14.31818 MHz in an American IIc) and divides it by eight to produce
1.7898 MHz.  The 3% decrease in clock frequency produces a 3% drop in
the baud rate, which is enough to prevent operation with some serial
devices, particularly intelligent modems running at 1200 bps or faster.

This is not always a problem, and I have successfully used one of these
IIc's with a ZyXEL U-1496E modem and a direct connection to a IIgs at
9600 bps.  I have had problems in other cases.

You cannot identify whether you have this motherboard except by opening
up the computer and looking for a tell-tale component.  (I don't have
the details handy.)

You can make a reasonable guess at whether you have the original
motherboard by checking which firmware version is installed in the IIc. 
Get into BASIC, and type PRINT PEEK(64447).

If the value displayed is 255, then you have the original ROM, and
almost certainly have the original motherboard, though it might have
been modified to use a crystal.

If the value displayed is 0, then you might have the original
motherboard or the revised one.  (This ROM version supports the UniDisk
3.5 drive.)

If the value displayed is 3 or 4, then you have the "memory expansion"
version of the firmware, and almost certainly have the latest
motherboard, which includes a memory expansion slot under the keyboard.

In theory, the IIc's maximum baud rate is 19200.  Whether it can
actually keep up with that rate is another question.  9600 should be
fine.

<<



Rubywand