how an ASCII keyboard works

4 posts / 0 new
Last post
Offline
Last seen: 3 years 4 months ago
Joined: May 24 2005 - 15:52
how an ASCII keyboard works

I have been looking for info about ASCII keyboards and I tried to understand how they works.

At the keyboard connector you can find lines PA0 to PA6 (7 bits to encode ASCII code). When you push a key, an encoder circuit put ASCII code in paralel way through these lines, working at high level. I imagine PA6 is the bit at the left side of ascii byte.

That's what I understood... Is it right? I have a ZX Spectrum +2 matrix black keyboard, and it seems very nice and "retro" to use with replica, and I imagine it would be easy to program a PLD to encode characters from the matrix.

Luis

Offline
Last seen: 3 years 4 months ago
Joined: May 24 2005 - 15:52
but.. why -12 V?

I suppose ASCII signal is 5V, so why keyboard connector has another -12 volts input?

Offline
Last seen: 5 years 6 months ago
Joined: Dec 20 2003 - 10:38
-12V was there because some o

-12V was there because some of the encoders used were -12V. It was common to see -12V in larger IC's back then. If I remember, the 8080 CPU had a -12V input. You don't need -12V for an ASCII keyboard. The way ASCII keyboards work is the 7 or 8 bits is sent to the data lines and then followed with a pulse on the strobe line for about 30ms but this value can varry as well as the polarity of the pulse. On the apple 1 or the replica 1 the 6520/6821 watches for a pulse on the strobe line, when it detects a 5V pulse, it reads the 7 bits of data and it has it's keyboard data. Hope this helps.

Offline
Last seen: 3 years 4 months ago
Joined: May 24 2005 - 15:52
nice!

thank you! now I understand how it works.

I though about programming a PLD with an output signal that always acts when a key is pressed, to that 'strobe' line, and delay it maybe with not-gates in line. hummm what if I keep strobe line 'on' for more time that 30 ms? hope it is not important.

thanks again that's perfect! not let's buy a replica Smile

Log in or register to post comments