🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: alt.msdos.programmer
Article #323

Re: Input from parallel port

#323
From: Christian Franke
Date: Wed, 26 Aug 1992 15:36
78 lines
2704 bytes
dspascha@eos.ncsu.edu (DAVID SCOTT PASCHAL) writes:

>Hi.  I don't know the details (like how to actually do it), but it seems to me I
>read somewhere that you can do it using some of the handshaking lines (but not
>the 8 data lines) but you can only send/receive 4-5 bits at a time! [...]

Laplink pro seems to do the following:

In the 4-Bit mode, an interlocked 4-bit transmission
is done.

	Computer A	direction	Computer B
	DATA0		=>		-ERROR
	DATA1		=>		SLCT
	DATA2		=>		PE
	DATA3		=>		-ACK
	DATA4		=>		BUSY
	-ERROR		<=		DATA0
	SLCT		<=		DATA1
	PE		<=		DATA2
	-ACK		<=		DATA3
	BUSY		<=		DATA4

Because for an interlocked transmission, one input and one output
protocol line are necessary, the transmission cannot occur in full
duplex mode.

In the 8-Bit mode, the same interlocked protocol is used,
but the following 4 (open collector!) I/O lines are used
for the remaining 4 bits:

	STROBE		<=>		STROBE
	AUTOFD		<=>		AUTOFD
	INIT		<=>		INIT
	SLIN		<=>		SLIN

Because laplink has an option to turn 8-Bit mode off,
there may be situations where this mode is not appropriate.


Because there is no hardware support for the interlocked protocol,
the speed is limited by the AT-Bus bandwidth.

To send a nibble/byte the transmitter needs 5 I/O instructions,
the receiver needs 4 I/O instructions:

Transmitter				Receiver

IN	wait for receiver ready
OUT	output data
OUT	say: data ready !
					IN	wait for data ready
						get data (no IN because same port)
					OUT	say: got data !
IN	wait for receiver
OUT	say: data not ready !
					IN	wait for data not ready
					OUT	say: receiver ready

Even on a 50/MHz 486, only about 650.000 I/O instructions can be
performed per second. So the theoretical bandwith limit is

	650.000 / 5 = 130.000 transfers / second.

In practice, because the waiting loops with repeated IN's will be executed
we found a bandwith of about 60.000 transfers / second.


Regards,

	Christian Franke

	Aachen University of Technology
	Lehrstuhl fuer Informatik I
	Ahornstrasse 55
	W-5100 Aachen
	Germany
Technical Details
Message-ID: <franke.714843361@andrej>
Path: arc1-ca.pugleaf.net!sparky!uunet!mcsun!Germany.EU.net!news.netmbx.de!zrz.tu-berlin.de!math.fu-berlin.de!Sirius.dfn.de!Urmel.Informatik.RWTH-Aachen.DE!andrej!franke
References: <l9ke8hINN1r7@utkcs2.cs.utk.edu> <1992Aug25.150817.20259@ncsu.edu>

Show Full Headers
Complete Article Headers
Newsgroups: alt.msdos.programmer
Path: arc1-ca.pugleaf.net!sparky!uunet!mcsun!Germany.EU.net!news.netmbx.de!zrz.tu-berlin.de!math.fu-berlin.de!Sirius.dfn.de!Urmel.Informatik.RWTH-Aachen.DE!andrej!franke
From: franke@andrej.informatik.rwth-aachen.de (Christian Franke)
Subject: Re: Input from parallel port
Message-ID: <franke.714843361@andrej>
Sender: news@Urmel.Informatik.RWTH-Aachen.DE (Newsfiles Owner)
Nntp-Posting-Host: andrej
Organization: Rechnerbetrieb Informatik  /  RWTH Aachen
References: <l9ke8hINN1r7@utkcs2.cs.utk.edu> <1992Aug25.150817.20259@ncsu.edu>
Date: 26 Aug 92 15:36:01 GMT
Lines: 79