Is anyone here familiar with the HP 1350 (or HP 1351) graphics
translators, or low-level HPIB protocol debugging?
For curious minds not familiar with this device, the HP 1350 is a vector
graphics controller with a 1K by 1K addressable
display space. Usually they come with a HPIB interface but there was a
serial (RS-232) I/O option. The HP 1350 can
draw vectors or letters and symbols with a simple ASCII command language
(called GTML) and its own internal display
list memory, and were often used with older HP calculators and computers
such as the HP 1000 line.
I have been tinkering with a HP 1350 using a HP 1000 minicomputer and
the 12821A bus interface, as well as a HP bus analyzer to see whats
going on at the bus level. I've run into a bit of a problem, perhaps
someone here can help?
As long at I have the HP bus analyzer connected, and set for SLOW or
HALT bus speeds, I can correctly transfer commands and data to the HP
1350 (a listen only device). When the bus analyzer is removed, or
connected and set to FAST the bus transfers
will lock up at the inter-command "::" seperator characters. Its almost
as if the HP 1350 cannot signal the bus that it needs to
wait and think about the last command.
What would happen if a HPIB listener could not drive NRFD?
I think that there are three possibilities here..
1. A hardware problem in the HP 1350.
I have swapped the HPIB interface module with one from a 'parts machine'
HP 1350, and the behavior was exactly the same.
I also swapped a logic control and timing board, but the one from the
parts machine does not draw vectors very well, and the
bus protocol issue appears to have been uneffected.
Also the HP 1350 draws beautiful vectors, with perfect end-point
matching, and the letters are very well formed. The 'hard'
parts of the machine are really working so well, I'm skeptical there is
a hardware fault here (which is not being objective).
2. A GTML protocol problem.
I have very limited documentation for the HP 1350, a partial photocopy
of a manual that uses an ancient HP calculator to drive
the display controller. Maybe there is some trick to formatting command
strings that makes it handshake properly?
3. A HPIB bus controller driver problem.
I'm using the HP 12821A interface to drive the HPIB bus. Normally this
is a 'high-speed' bus interface used for ICD or CS/80
disks on HP 1000 systems. A very different bus interface, the 59310B is
used for instrument control, and it lacks the FIFO buffering of the
12821A.
But the software I'm using to drive the 12821A interface is written from
scratch (a handful of keywords added to a custom threaded interpreter)
so it must be suspect to some degree. Perhaps I'm not driving the bus
properly, but there is some evidence that this is NOT the case.
For example, I can use the same bus control keywords to send data to a
HP 3325 function generator perfectly at high speeds.
Then again, the HP 3325 has an internal buffer and processor. The HP
1350 is a very simple discrete logic state machine with
no buffers or microprocessor. And the bus control code does handshake
with the bus analyzer set for SLOW or HALT.
So it ~looks~ like my bus driver code is working, at least for talking
to listeners and addressing devices.
I do know the 12821A bus controller is 'good', as I'm able to boot from
a CS/80 disk drive with this board and cable. So I'm quite sure there
is no hardware problem with the bus master / controller hardware.
I'd like to be able to send data to the HP 1350 as fast as it can
possibly accept it without the bus analyzer installed. One option would
be to try adding some software delays and slow down the bus, but HPIB is
NOT supposed to work like this!
I do have the HPIB bus analyzer and a good scope, but I'm just
unfamiliar enough with HPIB to not be sure where to start looking.
All I can imagine, is that for some reason, the HP1350 is using some
vartion of HPIB handshaking, or its not asserting NRFD when its
processing a command.
Maybe with a slow host this was not a factor, and this is a known bug of
the device. Hardware fault or 'bug'? Or perhaps some obscure feature
of the 12821A interface that would not happen if I were using the
(proper) 59310B board?
I would love to re-write my instrument control keywords for the 59310B
bus I/O board, but I do not have a copy of the interface manual for it.
If anyone can make a photocopy or a scan of the 59310 BUS I/O manual
available, its greatly needed!
Any suggestions?