With this discussion of interfacing PC keybaords to vintage machines,
I've been thinking about a project I've had in mind for some time now..
Firstly soem backgroud. The HP9915 is essentially an HP85 in a
half-rack-width metal case. It could be run on a bench, or there was an
HP mounting kit top put it in an instruemtn rack.
Electornically, it's similar to the HP85. There is a buit-in tape drive.
Ther is no printer. There is no built-in monitor, but there's BNC socket
o nthe back that outputs TV-rate composite video (so getting a display is
no problem). The keyboard controled IC is present, but obviously there's
no built-in keyboard. There are some user-definable buttons on the front
which are wired as the programamble function keys on an HP85.
The keybaord row and commn lines are also buffered to TTL levels and
broufht out on a DB25 socket on the rear of the machine. There was an HP
keyboard that conencted here, this is basically just a matrix of switches
wired to a DB25 plug. It's the same matrix as the HP85 keyboard, and that
one is docuemtned in the service manual (although with at least one
typo!). However, the keyboards are much harder to find than the machines.
It's a 10*8 matrix with separate lines for the shift, control and
capslock keys (these lines are simply grounded by the the appropraite key)
My first question in designing this is :
Is there ever a time when you press 2 keys simultaneously on an HP85
(other than shift or control along with another key). In onter words, is
there ever a time when 2 locations of the keyboard matrix are closed at
the same time?
The reason I ask is that I can't think of one, and if such a case doesn't
have to be considered there's a very simnple interface (a mutlipezer to
sleect a scan line drivign the enable input of a demultiplexer to select
an input line) that could be used. It'd be 2 or 3 cheap TTL ICs.
I'd not want to connect a microcontroller directly to an external
connector in any case (risk of damaging it, I notice that HP had much the
same idea about the keyboard controller IC in the 9915, all the signals
brought out on the connector are buffered). Thing is, it's a lot easier
to replace a non-programmed TTL IC than having to program a repalcement
microcontroller. So I'd either want to add buffers even if I was goign to
try to use the microcontroller direcrly (which for reasons we've already
discussed I think it 'pushign it'). The mux/demux ICs wouldn't need any
more buffering IMHO, they could be simply wired to the connector.
Of course if I do need to be able to have multiple 'keys pressed' at the
same time, then I would haev to use the crosspoint switch or dual port
RAM solutions we've already discussed.
-tony