[HECnet] DU11 vs. DUV11

John Wilson wilson at dbit.com
Sat Jan 5 19:40:20 PST 2013


From: Johnny Billquist <bqt at softjar.se>

Some devices have 
warnings about not doing byte operations on them, while others are fine, 
as far as I can remember from reading various manuals.

That's because of how the Unibus (and Q-bus) encodes cycle types.
Instead of having separate "enable" lines for low-byte and high-byte
reads and writes, it encodes the four cycle types on two lines (C0 and
C1), so the choices are DATI, DATIP, DATO, and DATOB.   (DATIP is like
DATI but the master promises to follow with a DATOx, so core memories
should wait until then to rewrite, plus the whole thing might possibly
be interlocked on a PDP-11/45 etc.)

So to support byte writes (reads are always words) you have to decode
those bits (plus A0), so it adds several extra chips, which they often
don't bother with.   So instead they just decode C1 alone, so DATIP is
treated like DATI (which is fine for a peripheral), and DATOB is treated
like DATO (so you're writing both bytes even though the CPU thinks it's
only writing one half).   So you'll write garbage to the other byte.

Q-bus is about the same but I think they say DATIO instead of DATIP.

John Wilson
D Bit



More information about the Hecnet-list mailing list