Re: Plus/4 Parallel Port I/O question

From: Richard Atkinson (
Date: 2000-07-24 14:18:58

On Mon, 24 Jul 2000, William Levak wrote:

> > but I cannot find an entry for the cooresponding Data Direction Register
> > which assigns the bits as input or output....  :/  
> There isn't one.  This is a 6529 single port interface (data sheet on
> funet).  When you read that address, all 8 data lines are read.  When you
> write, all 8 data lines are written.

In a sense, the data register also acts as a data direction register. When
you write a zero to a bit, it becomes an output holding that line low. Any
reads from that bit will yield a zero. When you write a one to that bit,
it becomes an input and will be pulled high unless something else attached
to it is holding it low. Thus when you read from it, it is either a one or
a zero depending on the voltage on it. This is all due to open-drain
logic. It's implemented as a buffer (to read from) and a transistor /
pullup resistor pair (to write to). Reading it returns the state of the 8
buffers and writing to it latches 8 bits into a register connected to the


Richard Atkinson
Software Engineer
Tenison Technology EDA Ltd
(01223) 334688

This message was sent through the cbm-hackers mailing list.
To unsubscribe: echo unsubscribe | mail

Archive generated by hypermail 2.1.1.