Date : Wed, 01 Nov 2006 22:52:35 +0000
From : splodge@... (Richard Gellman)
Subject: nutso keyboard decoding
Jules Richardson wrote:
> Whilst talking about sick beebs...
>
> Has anyone ever come across a beeb fault where keyboard decoding was
> completely messed up? Witchy over at Binary Dinosaurs has one (a model B)
> where the key which appears on screen hardly ever matches the key actually
> pressed, which is something of an odd fault!
>
Now I was going to suggest a keyboard connector plugged in off by one
but......
> We had another healthy beeb nearby (but no manuals or other tools) so tried
> the obvious 'quick fixes' - swapped keyboards, swapped ROMs (OS and BASIC),
> swapped 6522 chips, swapped CPUs, checked for obvious 'hot RAM', reseated
> anything that was socketed, checked under the PCB for invading metallic debris
> etc. but with no luck.
>
... it seems you've already been down that stretch of the M1.
The only suggestion left is a rather silly one.... no-one's been
swapping keytops have they? I seem to remember that being a popular
trick of the "darling" schoolchildren...
> This was a couple of months ago, but I'm pretty sure I forgot to post about it
> to the list :-) Unfortunately it also means my memory isn't perfectly sharp -
> but recollection is that:
>
> Usually a few displayed letters would match what was actually pressed, but
> most keys produced incorrect results.
>
> The keyboard generally seemed a little 'sluggish' in response.
>
> Results varied between power cycles and weren't always consistent.
>
> Is that a fault that anyone's come across before? Other than a Master that I
> have which transposes X, C and V I've not seen or heard of anything like it
> before. The fact that it otherwise boots up OK at least seems to indicate that
> memory and address decoding is reasonably happy. It's almost as though
> something was screwing up the data bus, but if that was the case I'm surprised
> the machine would ever get to a prompt..
This is a bit low-level, but... Are you able to examine the slow
peripheral data & control busses? These are connected to the B & A ports
of the System VIA respectively (though the control bus is connected
somewhat oddly via the famous addressable latch). The data bus lines
(port B) are used as a column/row scanning system. If a line was
broken/misrouted here it would explain the keyboard issues. A side
effect of this would be some rather interesting sound effects, as the
sound chip is controlled via the same data bus.
Note that the slow peripheral data bus is seperated from the main data
bus by the VIA, so if this bus was screwed it wouldn't affect the rest
of the system (save for the sound chip as above).
-- Richard