[Coco] Re: Supercomm woes continue...
John E. Malmberg
wb8tyw at qsl.net
Sun Aug 15 22:40:33 EDT 2004
> Because I wrote up my little app to drive DSR high (there's only one
> outgoing handshaking line on Mac serial ports, and it's labelled as
> CTS, and it should be high, according to the reports from the system
> calls on the Mac end),
DSR is an input on the MAC (if exists) and on the COCO, it is a listen
only. DSR is only an output on a modem or modem equivalent device.
CTS is also an input signal, so you should not be able to assert it.
It is DTR that you need to assert when the program is active. If your
serial interface does not assert a DTR signal, then the computer at the
other end needs to either ignore the DSR signal, or you should jumper
the DTR signal on the COCO end to connect to the DSR signal on the COCO
side.
The RTS line is the output line that should be connected to the COCO CTS
line, and the reverse for hardware flow control, if you decided to use
hardware flow control.
> and I still only got the first by from the
> CoCo end...
From your description, it sounds like you are trying to write to input
only control signals, which would be ignored by the your serial
interface hardware. It also means that you may be reading the write
only bits of the UART for the companion functions.
The ROM BASIC routines for the COCO have a bug where they send a
character out the serial port, and then check to see if the device was
ready.
Maybe that bug got copied to other places if you are using other software.
I have had to fix similar bugs on other platforms, especially when the
programmer did not understand the difference between an edge triggered
interrupt and a level triggered interrupt, and mistakenly thought that
they needed to send an initial character out before they could get an
interrupt.
In addition to the information at the link that Neil provided, there is
CCIT required behavior in how the signals are activated and monitored.
A chart of this is at figure1:
http://h71000.www7.hp.com/doc/732FINAL/aa-pv6sf-tk/00/00/41-con.html
Note that I have encountered PC based communication programs and other
RS-232 applications that do not follow the rules and require a
non-standard cable in order to operate.
One of the most common errors is using the CTS line for the DSR or CD
function. Which leads to the most common b*******d null modem cable
wiring. The other common error is dropping the DTR signal at the wrong
times.
For the COCO bit banger port, the BASIC ROM software normally treats the
line documented as a CD/DCD/DSR line as a CTS line. The bit banger port
does not have any way to generate a signal for providing a fake DTR or
RTS signal unless you replace the connector.
-John
wb8tyw(at)qsl.net
Personal Opinion Only
More information about the Coco
mailing list