Many (perhaps
most) older equipment with an integrated keyboard (ie: not
on a cable) used parallel keyboards - also any with an external keyboard on
a ribbon cable are likely parallel.
Hmm, most of the ones (internal keyboards) I've seen are dumb - the large
number of lines exiting the keyboard are just connected direct to the matrix
and the decoding is done by something on the main CPU board (often the CPU
itself), so not easily transferrable to another system :(
Agreed on the "all in one" boards, I was thinking specifically about older non-
comsumer equipment which often has a separate parallel keyboard inside.
Many of the "all in one" boards also have a keyboard decoder and basically
contain a complete parallel keyboard (but it would be tough to get at) - a lot
of the cheaper stuff does keyboard scanning via the CPU.
Agreed on the external keyboards with a ribbon cable -
but I'm struggling to
think of that many systems which used them to be honest. Most micros had
integrated keyboards, whilst workstation-class stuff was often pretty
proprietary and usually serial. Machines laying somewhere inbetween often seem
to just use a serial port and rely on a separate terminal for their input.
I've got some old Volker Craig terminals with parallel keyboards on ribbon cables.
I'm know I've seen many others over the years ...
It would be
dead simple to make an adapter to convert a standard PC serial keyboard
into an ASCII/strobe parallel interface - you get the added benefits of having lots of
extra keys, and the ability to assign whatever codes you like to them.
I was pondering that. More than likely someone on this list has already done
exactly that. Speak now. ;-)
Somewhere around here I've got 8051 source
code to a little project I did to convert
a PC keyboard to an RS-232 serial interface - It would be very little work to turn that
into a parallel interface.
Quite by chance I found such a thing this morning at:
http://www.beyondlogic.org/keyboard/keybrd.htm#1
... the HC705 IC (not a chip I'm familiar with) used may not have enough ports
though if port A needs to be used exclusively by the keyboard (due to high
impedance requirements) and port B is only 8 bits and tied up with the ASCII
interface (plus the strobe line to the machine needs to go somewhere)
I'm sure it'd be dead easy for someone who knows about programming PICs and
the like - as I say, I'm sure someone on here's done it even :-)
HC705 is a single-chip microcontroller. This project is very similar to the
one I did, except that I used an 8051, and mine worked on raw scancodes
(both ways, so that you could control the keyboard over the serial port as
well using the standard keyboard control codes).
For a parallel keyboard interface, you would translate the scancode to
ASCII. Most likely you would also implement Caps-Lock and Num-Lock
locally on the controller, setting flags to modify subsequent output and
sending the code to control the keyboard LEDs.
IIRC the existing code is only about 200 bytes, there would be lots of room
left in a 4k 8051 to implement a scan-code -> ASCII translate table and added
functions. To modify the code for a parallel interface, all you would need to do is:
- On the key-down code, check for special keys (CapsLock, NumLock) and
set appropriate flags/Leds, otherwise use the table to convert to ASCII, write it
to the parallel port and assert strobe.
- On key up, deassert strobe.
If you want to implement auto-repeat, just start inital timer on keydown, and
if it expires before key-up, pulse strobe and reset timer to repeat rate.
If you are able to wait a couple of weeks, I could do it for you, I just have
another project I need to get finished first.
Regards,
Dave
--
dave06a (at) Dave Dunfield
dunfield (dot) Firmware development services & tools:
www.dunfield.com
com Collector of vintage computing equipment:
http://www.classiccmp.org/dunfield/index.html