🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sys.dec
Article #485

Re: PDP-11 MOVB instruction: correction

#485
From: Bruce Wright
Date: Sat, 15 Jul 1989 03:33
50 lines
3160 bytes
In article <396@decus.com.au>, caffin@decus.com.au (Roger) writes:
> Re: PDP-11 MOVB instruction
> 
> Standard PDP-11 interface design is such that the decoding of the bus signals 
> will generate either a BYTE write OR a WORD write signal. There is a specific 
> signal for this: BWTBT. "It is asserted during BDOUT (in a DATOB bus cycle) 
> for byte addressing." (DEC specifications.) The best place to see this is in
> the DRV-11 circuit diagrams, or in the DCK chip specifications. If you do it
> any other way, that's your decision, and NOT in accord with the PDP-11
> architecture. 

A long time ago in a country far, far away there was a computer manufactured
with a bus known as a UNIBUS.  Because computer technology there was then
in such a primitive state, numerous corners were cut (even by the manu-
facturer of said computer).

Seriously, the problem that causes this botch is only likely to be found
on a UNIBUS machine.  Such a bus does not look like the more modern Q-BUS.
As I had mentioned in my previous posting, it is UNLIKELY that you will
encounter the problem in hardware produced post-1980, but there is still
a surprising amount of 1970's PDP-11 hardware floating around.  Yes, even
DEC hardware produced then often did not meet the "official" specs.  It's
pretty amazingly primitive by modern standards.  (DCK chip?  You mean
that the communication with the bus can be done in ONE chip instead of
the double handfull we're using now?? Must have several dozen gates
at least! :-) :-) :-)

(BTW, a DRV11 is a Q-BUS device ONLY.  The analogous UNIBUS device is
a DR11 -- many varieties existed.  I don't know offhand if any of them
had this problem).

For what it's worth, this was known around 1976-1977 at least in the
PDP-11 systems community.  I have *seen* this problem more than once
and know at least one person who was asked about this subject when he
interviewed with DEC during that time frame (he gave the correct answer 
that some devices would not handle the byte reference properly and that
the result turned out to be a sign extend on the processors then in use -
his interviewer made the comment that not everyone seemed to be aware of
this).

I can certainly understand that this whole topic is something of a
historical curio -- it isn't a problem with modern hardware and hasn't
been for quite a while.  But as I mentioned in the previous article,
if you produce commercial software you can't necessarily know what
kind of ancient hardware will be subjected to your program, and in
that case it's better to be safe than sorry.  I'd recommend writing
words rather than bytes to any type of device which had some version
that existed during the 1970's (especially the early 1970's).

						Bruce C. Wright
Technical Details
Message-ID: <3078@rti.UUCP>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!mcnc!rti!bcw
References: <396@decus.com.au>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!mcnc!rti!bcw
From: bcw@rti.UUCP (Bruce Wright)
Newsgroups: comp.sys.dec
Subject: Re: PDP-11 MOVB instruction: correction
Summary: Q-BUS != UNIBUS !!!!!
Message-ID: <3078@rti.UUCP>
Date: 15 Jul 89 03:33:34 GMT
References: <396@decus.com.au>
Organization: Research Triangle Institute, RTP, NC
Lines: 50