Subject: Re: KSR

From: "Ian" <[email-masked]>
Date: Fri Jun 13 11:14:09 2003

Hi Dave,

Yes I am Interested in the 280KSR Could you give me some more info on same.

Regards
Ian carvalho
[email-masked]

---

From: Bob Shannon <[email-masked]>
Date: Sun Jun 15 17:36:53 2003

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?

---

From: emanuel stiebler <[email-masked]>
Date: Sun Jun 15 17:37:13 2003

> such as the HP 1000 line.

Can you tell us more about this thing ? I was always fascinated by 
vector sceens (One day, I have to try to build my own controller ;-)

I tried google, but HP decided to make a printer cartridge with that 
number, so no fun there ...

And, probably you have to wait for tony. He has one of this things too ;-)

cheers

---

From: Bob Shannon <[email-masked]>
Date: Sun Jun 15 17:37:22 2003

The HP 1350A has two 10-bit digital to analog converters that appear to 
drive an analog vector generator that is
very similar to those used in some of the older vector arcade games.

The memory capacity is 2048 instructions, and each instruction can be a 
(light or dark) vector, or a letter or symbol.
All addressing is absolute, and there is no short-vector relative 
addressing like an Imlac PDS-1 or VT-11 vector
generator.

The 2048 word memory can be divided up into 'files' that can be 
selectivly blanked, cleared or overwritten.

A simple TTL state-machine drives X and Y axis ALU/Accumulators that 
feed the discrete transistor-ladder DAC's
for each axis.  Some logic looks at the vector lenght and optimises the 
writing speed and Z axis intensity, but this is
by far the weakest feature of the device.  Some shorter to intermediate 
lenght vectors are drawn too brightly, enough to
be noticable.

There are some ROM subroutines that generate letters and symbols, and an 
additional socket allows custom symbols
to be displayed with a single-word instuction.  There does not appear to 
be any form of light-pen input as on the VT-11
and some (optional) Imlac's.

To get a HP 1350 working, you need some coaxial cables and an X/Y 
monitor.  I've used a HP 1335, as well as some
Tektronic's X/Y monitors (420 and 611).  I've found that with the Tek 
monitors I can get a perfect X/Y aspect ration by
using a 75 ohm and 50 ohm coaxial terminator for the X and Y axis (using 
BNC T fittings).  You also need some sort
of HPIB host to drive the thing, although a PIC-based RS-232 adaptor 
should be quite easy to design.

The basic 'GTML' language is ASCII-based.  You address the device (like 
any HPIB listener) and send it strings of commands
and data.  A set of LED's on the front pannel will show what context the 
data is being read in (commands versus data).

As the commands are read, the HP 1350 will alter its internal memory and 
start to draw vectors and symbols.

Lines are drawn with the PA (plot absolute) instruction:

PA(X coordinate),(Y coordinate);(X coordinate),(Y coordinate)

These can be strung together for form complex lines like:

PA0,0;0,100;100,100

And so on.

You control visible versus invisible vectors with the PE (pen enable) 
instruction:

PE1, - Pen enabled, draw bright vectors.
PE0, - Pen disabled, draw dark vectors.

Additionally you can enter text mode with the TX instruction:

TXHELLO WORLD!

Will draw 'HELLO WORLD!' on the screen in the current text size and 
orientation.  Text can be drawn at 4 sizes and in
 two 90-degree rotations.  Basic ASCII text formatting functions are 
supported like CR, LE, etc.

As with any analog vector generator, the 'quality' of the vector display 
directly reflects the finesse of the hardware designers
and the quality of physical construction.  Like other simlar HP 
equipment the HP 1350 uses top quality components and
the analog design practices used are excellent, so the vectors are sharp 
and crisp, with well defined end points.  The linearity
of the analog vector circuits is excellent so the lines are very 
straight and the end-points match very well.

Physically the HP 1350 is a small 3 1/2 tall rack-mountable box with a 
power switch and a few LED's on the front pannel.
Inside one large PCH holds the X and Y axis accumulators and DAC's.  Two 
smaller logic boards sit below with what
appears to be the control state machine and Z axis logic on one board, 
and the HPIB (or optionally serial) I/O board on
the other.  The box is about 18 inches deep, but its rather light for 
its volume.

I have 2 HP 1350A's and one HP 1351A, but only one of the 1350A's is 
operational.  Both of the other machines appear
to have power supply problems or are incomplete.

If your HP 1350 powers up and you get the red power interupt light, try 
to address it and send it "20,13,10" (decimal)
and it should clear the interupt led and remain in Listen, Command 
state.  Now its ready to for commands like 'EM' to erase the display 
memory and begin drawing vectors.

Being a totally external box, the vector display list does not take up 
host CPU memory like the VT-11 or Imlac PDS-1, but
the host also does not have the same instant access to the display list, 
a pretty clear distinction between the 1350 and the
other two vectors generators I'm familiar with.

If your looking for a vector display system and you have a HPIB 
interface, I'd reccomend the HP 1350 as being quite
easy to get working.  I'm not sure I undersand my HPIB protocol problem 
just yet, but I'm using very experimental software
so this is not unexpected.

emanuel stiebler wrote:

> Bob Shannon wrote:
>
>> 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.
>
>

---

From: emanuel stiebler <[email-masked]>
Date: Sun Jun 15 17:37:41 2003

Bob Shannon wrote:

[a long description ...]

Thanks a lot !

> should be quite easy to design.

Any good source for this monitors ?
I know, I could use my scope at the beginning, but a larger screen may 
be more fun ...

cheers & thanks again

P.S. I guess I got my winter project now ;-)

---

From: Don Maslin <[email-masked]>
Date: Sun Jun 15 17:37:51 2003

> Any good source for this monitors ?

Well, I have a Tek 4012 terminal in San Diego that was working
when it was put away a number of years ago.
						- don

---

From: [email-masked] (Tony Duell)
Date: Sun Jun 15 17:38:01 2003

> translators, or low-level HPIB protocol debugging?

I have a pair of HP1350s, and the complete operating/service manual. The 
latter is a rather thick binder containing schematics, parts lists, 
theory of operation, etc....

> graphics controller with a 1K by 1K addressable

It's actually 1024*1023 points. You can also display text on the screen 
(the little daugterboard on the main display board contains the character 
generator ROMs, etc). This is stred by a value of 1023 in one axis 
(normally illeagal), and the character code, flags, etc in the other axis.

Display memory is a row of 4K DRAM chips, of course.

One odd feature is that there's no CPU, and no logic wired up in a 
CPU-like fashion. It's all essentially random logic. To decode ASCII 
commands/data to vectors in random logic is a somewhat perverse hack.

There are 2 10 bit DACs on the mainboard, mostly discrete components. 
THere are 2 rows of 6 presets that set up the top 6 bits of each DAC. Due 
to their appearance and function, most hackers call this the 'graphic 
equaliser' :-)

> serial (RS-232) I/O option.  The HP 1350 can

I on;t have data on the HPIB version.

> What would happen if a HPIB listener could not drive NRFD?

THis does sound like an HPIB interface/timing problem...

There is a troubleshooting procedure in the manual for the I/O card. I'll 
give the first bit of it here. It assumes you have an HP9825 calculator 
as the controller, but I guess you can modify this for other machines. At 
least knowing where it goes wrong would be a start. It gives a lot more 
explantion in the manual, but I'll give that for the problem area only

1 Listen program check.
a) Cycle 1350 power
b) Type [Reset[ wrt 718 [Execute] on the 9825
c) Check program LED is on, data LED is off

2) Unlisten check
a) Type cmd 7,?" [execute] 
b) check program and data LEDs both off

3) Listen Data check
a) Type [reset] wtb 718,"PA" [Execute] (note, this does not send CR/LF)
b) Check program LED off, Data LED on

4) Return to listen progrma check
a) Type wrt 718,":" [Execute]
b) Check data LED off, program LED on

5) Clear power interrupt LED check
a) type wtb 718,20,13,10 [execute] (that's sending DC4, CR, LF)
b) Verify power interrupt LED off, program LED on

6) Pen enable check
a) Type wrt 718"PE0,"[execute]
b) check U35 pin 5 is low (U35 is in the column of chips at the edge of the
   PCB closest to the HPIB connector, and is in the 6th row from the HPIB 
   end)
c) Type wrt 718"PE1,"[execute]
d) Check U35 in 5 is high

And so on...

However, this may not be a fault with the 1350. It sounds as though, for 
some reason, the handshake is not being completed properly. Do you know 
what state DAV, NRFD, NDAC are in when the bus locks up. Do you have data 
on the interface in the HP1000 -- can you tell if that's in a sane state 
or not?

> HP 1350, and the behavior was exactly the same.

Interesting. So it doesn't sound like is module is playing up (unless 
both have the same fault)

> bus protocol issue appears to have been uneffected.

Right...

> a hardware fault here (which is not being objective).

Hmmm... One IC failure coupld cause a problem, and wouldn't necessarily 
affect vector generation.

> strings that makes it handshake properly?

From the manual : 

All commands are 2 letters (ASCII). They may be upper or lower case

All commands must be terminated by a colon, or carriage return, or line 
feed character

Following a Text (TX) command, the 1350 must receice an ASCII ETX (3 in 
base 10 = End of Text) character in order to exit text mode. A : (or CR, 
LF) is then required to temrinate the TX command

If numeric paramters follow a command : 
  The first value (1 to 4 digits) must be followed by a comma (This 
  applies to single-parameter commands too -- ARD)

  In the case of a plot absolute (PA) command, the X value must be 
  followed by a comma, and the Y value must be vollowd by a semicolon

  Several vectors may be drawn by one PA command before termination by a 
  colon

> used for instrument control, and it lacks the FIFO buffering of the 

I wonder if there's a timing problem here. The 1350 is a fairly early 
HPIB device and may confuse some controllers (I can't say that it does, 
just that I've had non-HP IEEE-488 devices that do this). Maybe it would 
work with the right interface.

> available, its greatly needed!

Sorry, I don't have any HP1000 docs :-(

-tony

---

From: [email-masked] (Tony Duell)
Date: Sun Jun 15 17:38:20 2003

> vector sceens (One day, I have to try to build my own controller ;-)

Indeed, I find them rather fun too.... (Let's see, I have the 1350, a DEC 
GT40, and a Vectres (yes, I know I don't like video games, but this thing 
has a vector display and a 68A09 processor, so it's worth getting ;-))).

> And, probably you have to wait for tony. He has one of this things too ;-)

One??? I have a pair of them :-)

-tony

---

From: Bob Shannon <[email-masked]>
Date: Sun Jun 15 17:38:40 2003

Simple answer,

eBay.

emanuel stiebler wrote:

>> using a 75 ohm and 50 ohm coaxial terminator for the X and Y axis 
>> (using BNC T fittings).  You also need some sort

---

From: Bob Shannon <[email-masked]>
Date: Sun Jun 15 17:40:39 2003

Hello,

I've been developing 'device drivers' for some HP1000 boards to allow 
those devices to be run under a freeware HP
operating system and programming language.  There are a few boards I 
don't have documentation for, but would like
to offer drivers for.

Here is a list of HP interface manuals I'm looking for:

59310B BUS I/O - the standard instrument control HPIB bus interface board.

91200B TV INTERFACE - apparently a NTSC bit-map video display board.

12554A 16-BIT DUPLEX REGISTER - I understand and use this board, but I 
have one or two that need repairs.

12968 ASYNC COM INTERFACE - apparently the BACI boards little brother?

12972 8-CHANNEL ASYNC MUX - 8 RS-232 serial ports on a single I/O card.

The top 3 are higher in priority than the last two.