<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>
Date   : Mon, 05 Jan 2015 22:11:23 +0000
From   : public@... (Daniel Beardsmore)
Subject: Serial console active at power-on

On 2015-01-05 21:23, Dave Curran wrote:
> The additional circuitry on the BBC keyboard is just a way of
> reducing the standard matrix scanned keyboard to only needing one
> port 8 bit port on the system VIA. Four pins send a column address,
> via a latch controlled by another pin to the keyboard matrix. The row
> is selected via another three pins, and the value is read back on one
> final pin indicating if that key is pressed or not. The three chips
> that do this are simple logic chips, the keyboard scanning is all
> controlled in the MOS.

One advantage of having a serial protocol is that you have significantly 
fewer wires: XT, AT, ADB, PS/2 and USB cables are only four conductor, making
for a much more flexible cable after people figured that it made more sense
to have an external keyboard. Acorn adored their ribbon cables :-)

The article posted by John explains the BBC micro keyboard in more detail 
-- it's decidedly odd. The keyboard itself scans for keypresses in a fully 
automated fashion, but it has no understanding of scancodes so it signals 
the computer and lets the computer figure out what key is being pressed.
You need only simple off-the-shelf circuitry yet you keep programmed I/O
to a minimum: MOS only scans the keyboard matrix when a key has actually
been pressed.

What surprises me the most is that the BBC Micro keyboard never suffered 
from ghosting or blocking, despite not having N-key rollover. My 486 keyboard 
didn't implement blocking or NKRO so it would ghost sometimes, and I had 
no idea what was going on. The BBC Micro on the other hand never ghosted
in my experience: two people could share the keyboard for a game and you'd
never hit any combination of keys that would trigger extraneous ("ghost")
keystrokes to appear.
<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>