|Re: HP71B 82164A Help|
Message #5 Posted by Howard Owen on 28 Jan 2007, 11:45 p.m.,
in response to message #4 by Garth Wilson
Yes, there are two ways to get and set the status registers. In addition to the REMOTE mode you demonstrate, there's the Device Dependent (Listener|Talker) method that takes place in LOCAL mode. I'm trying to get to know this interface better, so I was trying out the DDT method of dumping the registers. I think I'm probably missing pieces of the protocol, or else mixing the SEND and ENTER approaches is running afoul of how ENTER treats HP-IL.
I did finally have a look at Friedman's "Control the World with HP-IL". He has several interesting examples of practical 71B code addressing the 82164A. In particular, this sequence from page 263 shows an initialization of the interface with the DDL method:
30 SEND UNT UNL LISTEN A MTA DDL 0 DATA 0,0,0,0,0,0,0,14 UNT UNL
40 PRINTER IS :RS232
This is setting the registers, not reading their contents. But it's close to what I came up with. (I modified my code to do both UNT and UN after reading this - no help.) So I'm pretty sure the problem has to do with reading the bytes off HP-IL with ENTER. It's probably doing some loop maintenance itself, which could throw things for a .. er.. loop.