[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