An S-100 Board to convert IBM PC keyboard data to parallel ASCII
Many S-100 users have/had some kind of ASCII style parallel port keyboard attached to their system. The interface was just a simple 8 bit parallel input port with a second port single strobe bit. Most of these keyboards came from old mini computer systems or simple CRT terminals. Today they are now quite difficult to find. If there are any parallel port keyboards on eBAY etc. from Atari systems and the like, they are usually not in ASCII format but instead deliver key press data in X,Y coordinates etc. Today almost all PC systems interface the user via an IBM PC (AT) type keyboard. This is in fact may be the single most lasting effect the IBM PC has had on the PC business in the past 30 years.
However the IBM keyboard does not return data to the computer via a parallel port. Instead it does so in a more sophisticated manner via a bidirectional serial communication mode. Each key returns its own (single or multiple 8 bit code) which is different on the key down and up strokes. It also depends on the status of the Ctrl, Num, Alt and other keys.
I wanted a way to get simple ASCII code from the keyboard.
Over the years many have tackled this challenge in various ways to hammer an ASCII code out of these keyboards. Some use elegant single chip CPU/IO chips, others various TTL logic chips. I decide to tackle the problem head on by using the age old Z80 CPU, RAM/ROM and a few Zilog PIO's. (They cost next to nothing these days). This not only allows one to completely control the data sent from each and every key combination simply (lookup tables), but the keys can be dynamic, function keys can return varying strings depending on the application etc. I chose the Z80 because almost everybody in the S-100 bus world knows the opcodes and can easily program a simple common 2716 EPROM or the like, for their own specific applications/desires. They can test and modify my code under CPM and in general play around with the system.
I put together an S-100 prototype board that is described here:-
It has been working daily now for 6 months.
With Andrew Lynch (see http://n8vem-sbc.pbworks.com/) we have designed and are about to fabricate a few commercial style S-100 boards. Fun stuff, but not for everybody!
BTW, we are also doing another run of the IDE S-100 board.