GARTHWILSON wrote:
(Note that bit directions don't have to all be the same for a port. You can have some pins be inputs while other ones are outputs, at the same time.)
Since you (cdcarter, not Garth) are intending to use some Z50 bus peripherals, it's worth keeping in mind that while I/O is set on a per-bit basis in
6820-style PIAs (including the 6820, 6821, 6520, 6522 and 6526) used in the Motorola-style world (which includes the MOS 65xx series), the Intel-style world is often not like this.
Their equivalent of the classic PIA is the
Intel 8255, for which
all lines of 8-bit port A are the same direction, input or output, and the same is true of port B. The third port, port C, is split into upper and lower halves, but each half must have all lines in the same direction, at least in normal mode. (There are a couple of other modes for automatic handshaking, similar to the way you can configure the CA1/CA2/CB1/CB2 lines on a PIA, but I don't recall the details of how the 8255 does that.)