[comp.sys.atari.st] RS232 Flow Control

tomwest@gpu.utcs.toronto.edu (Tom West) (02/27/87)

  I am trying to write a terminal emulator for the 1040ST in Pascal.  
Unfortunately, the flow control (x-on/x-off) that comes with the
Atari is no good.  (Unless the user isn't allowed to use ctl-s/q
in which case it would do.)  To get around this, I have tried to
implement flow control myself.  The problem comes in that the
record that contains the information about the receive buffer
(found by doing an XBIOS(14)) seems to be defective.  The record
looks like
		tx_Bufptr : bufferPtr;
		tx_Bufsize : integer;
		tx_tail : integer;     (The BIOS calls documentation reverses
		tx_head : integer;      this, but it's irrelevant.)
		tx_lowWater : integer;
		tx_highWater : integer;
		rx_Bufptr : bufferPtr;
		rx_Bufsize : integer;
		rx_tail : integer;
		rx_head : integer;
		rx_lowWater : integer;
		rx_highWater : integer;

	Anyway, the problem is while the transmit (That's the ATARI transmitting
to avoid confusion) seems to work (tx_tail and tx_head cycle around the buffer),
the receive buffer seems to be dead.  rx_tail and rx_head are ALWAYS 0, and the
buffer seems to be all zeroes.

    Is there anyone else who has encountered similar problems and might know
a way around them?  Either email or if you think it's of general interest, post.

			Many thanks in advance.

				Tom West

UUCP:		{utzoo, utcsri, mnetor, cbosgd, ihnp4}!gpu.utcs!tomwest
-- 
				Tom West

UUCP:		{utzoo, utcsri, mnetor, cbosgd, ihnp4}!utcs!tomwest

tomwest@gpu.utcs.toronto.edu (Tom West) (03/03/87)

  I posted an article a few days ago asking for help about ATARI RS232 
buffering.  Since then I have found that the mistakes were all on my side.
My thanks to all who mailed a reply.  Finding out that the interface worked
for others enabled me to find the bug.
-- 
				Tom West

UUCP:		{utzoo, utcsri, mnetor, cbosgd, ihnp4}!utcs!tomwest