[comp.sys.amiga] Keyboard parallelogram fix?

blgardne@esunix.UUCP (Blaine Gardner) (09/18/87)

Several months back George Robbins mentioned that he had a fix for the
A1000 keyboard's parallelogram bug, but was holding off on releasing it
for some reason. The bug has bitten me a bit lately, so I'd like to get
hold of the fix.

George, could you post the information you've got on fixing this quirk?
Assuming that it's something simple like installing a few diodes in the
keyswitch matrix, I'd like to turn the modification into next weekend's
project. Heck, no matter what's involved, I'd like to get my keyboard
healed. (I've just noticed my E key is sticking some, so I'm likely to be
opening up the keyboard soon anyhow.)
-- 
Blaine Gardner @ Evans & Sutherland    540 Arapeen Drive, SLC, Utah 84108
UUCP Address:   {ihnp4,ucbvax,decvax,allegra}!decwrl!esunix!blgardne
Alternates:     {ihnp4,seismo}!utah-cs!utah-gr!uplherc!esunix!blgardne
		seismo!usna!esunix!blgardne

bryce@hoser.berkeley.edu (Bryce Nesbitt) (09/21/87)

In article <482@esunix.UUCP> blgardne@esunix.UUCP (Blaine Gardner) writes:
>
>(I've just noticed my E key is sticking some, so I'm likely to be
>opening up the keyboard soon anyhow.)

There is a very specifc reason why keys can stick on the Amiga 1000.
My "G" and "P" started doing this.  If it's not dirt, or goop, check
the key shaft.  Seems they can split dead center, thus bulging out.

I verified this with a certain repair person, who (coincidentally)
is in the market for un-split keyshafts.  Seems that they are a
pain to glue.  Mine where but cracked, a moment with a knife 
whittled them down to normality.

 
|\ /|  . Ack! (NAK, ENQ, SYN)
{o O} . 
 (") 	bryce@hoser.berkeley.EDU -or- ucbvax!hoser!bryce
  U	How can you go back if you have not yet gone forth?

peter@sugar.UUCP (Peter da Silva) (09/24/87)

In article <482@esunix.UUCP>, blgardne@esunix.UUCP (Blaine Gardner) writes:
> Several months back George Robbins mentioned that he had a fix for the
> A1000 keyboard's parallelogram bug, ..

Uh, what is this bug?
-- 
-- Peter da Silva `-_-' ...!hoptoad!academ!uhnix1!sugar!peter
--                 'U`  Have you hugged your wolf today?
-- Disclaimer: These aren't mere opinions... these are *values*.

jdow@gryphon.CTS.COM (Joanne Dow) (09/25/87)

In article <804@sugar.UUCP> peter@sugar.UUCP (Peter da Silva) writes:
>In article <482@esunix.UUCP>, blgardne@esunix.UUCP (Blaine Gardner) writes:
>> Several months back George Robbins mentioned that he had a fix for the
>> A1000 keyboard's parallelogram bug, ..
>
>Uh, what is this bug?
have you ever typed "from" and had it come out "frlom?" That is the
parallelogram bug. Press any three keys that form three corners of a
parallelogram on the keyboard and they ghost to produce the fourth
corner character. The parallelogram has two keys on the same row and 
the third on another. The decoding logic then proves the keyboard is
not setup for "n key rollover".


-- 
<@_@>
	BIX:jdow
	INTERNET:jdow@gryphon.CTS.COM
	UUCP:{akgua, hplabs!hp-sdd, sdcsvax, ihnp4, nosc}!crash!gryphon!jdow

Remember - A bird in the hand often leaves a sticky deposit. Perhaps it was
better you left it in the bush with the other one.

blgardne@esunix.UUCP (Blaine Gardner) (09/27/87)

in article <804@sugar.UUCP>, peter@sugar.UUCP (Peter da Silva) says:
> 
> In article <482@esunix.UUCP>, blgardne@esunix.UUCP (Blaine Gardner) writes:
>> Several months back George Robbins mentioned that he had a fix for the
>> A1000 keyboard's parallelogram bug, ..
> 
> Uh, what is this bug?

This bug causes spurious characters to be generated. Hold down any three
keys that are on three corners of a parallelogram. The key at the fourth
corner will also be generated.

For example, hold down QZU and you will get  QZMU  I did NOT hold
down the M key, it was generated by the bug. 

Most of the time this will never show up, but every once in a while it
zaps me.
-- 
Blaine Gardner @ Evans & Sutherland    540 Arapeen Drive, SLC, Utah 84108
UUCP Address:   {ihnp4,ucbvax,decvax,allegra}!decwrl!esunix!blgardne
Alternates:     {ihnp4,seismo}!utah-cs!utah-gr!uplherc!esunix!blgardne
		seismo!usna!esunix!blgardne

grr@cbmvax.UUCP (George Robbins) (09/29/87)

In article <482@esunix.UUCP> blgardne@esunix.UUCP (Blaine Gardner) writes:
> Several months back George Robbins mentioned that he had a fix for the
> A1000 keyboard's parallelogram bug, but was holding off on releasing it
> for some reason. The bug has bitten me a bit lately, so I'd like to get
> hold of the fix.

This parallelogram problem, aka the "frlom" problem or 2-key rollover occurs
when three keys are depressed that share the same rows and columns in the
keyboard matrix.  The poor keyboard processor can't tell which of the two
keys at the corners of the matrix were actually pressed.  The keyboard can
be upgraded with some A500 parts,  but they have all been going into new
production.  I'll post some more information when they are readily available.

-- 
George Robbins - now working for,	uucp: {ihnp4|rutgers|allegra}!cbmvax!grr
but no way officially representing	arpa: out to lunch...
Commodore, Engineering Department	fone: 215-431-9255 (only by moonlite)

bryce@hoser.berkeley.edu (Bryce Nesbitt) (09/30/87)

In article <2419@cbmvax.UUCP> grr@cbmvax.UUCP (George Robbins) writes:
>In article <482@esunix.UUCP> blgardne@esunix.UUCP (Blaine Gardner) writes:
>> Several months back George Robbins mentioned that he had a fix for the
>> A1000 keyboard's parallelogram bug...
>
>This parallelogram problem, aka the "frlom" problem or 2-key rollover occurs
>when three keys are depressed that share the same rows and columns in the
>keyboard matrix.... ....The keyboard can
>be upgraded with some A500 parts....
>I'll post some more information when they are readily available.

On the A1000 I'm typing upon, holding "f" and "r" then pressing either
"l" or "o" produces both "l" and "o".  Sure looked like both to the
keyboard!
On the A500 next door, holding "f" and "r" then pressing either "l" or
"o" produces nothing.

Typing "fro", holding each key down produces:

A1000	-	frlo
A500	-	fr

This does not represent real typing.  Typing "fro", holding each key,
then releasing the "f" produces:

A1000	-	frlo
A500	-	fro	;!!


Now for some blatant, unfounded, speculation:

It seems A500's keyboard processor has enough brains
to say "hey", "I can't figure out which key is down".  It then waits until 
the matrix un-blocks and collects the data.  Neat!  Good solution.
On the Amiga 1000, at least some of the keyboards use a Rockwell 6500/1.  
The 500 has a "MOS 6570-036".  Same thing with an "036" ROM in it?
Seems the 500 has a watchdog timer also.  Would to reset the keyboard if it
ever stopped scaning keys.  Hope it only does the keyboard and not the
computer too!

4 key rollover it is not.  "from", holding each key produces "frmo".

>George Robbins - now working for,	uucp: {ihnp4|rutgers|allegra}!cbmvax!grr

 
|\ /|  . Ack! (NAK, ENQ, SYN)
{o O} . 
 (") 	bryce@hoser.berkeley.EDU -or- ucbvax!hoser!bryce
  U	How can you go back if you have not yet gone forth?

ford@crash.CTS.COM (Michael Ditto) (10/04/87)

In article <4047@zen.berkeley.edu> bryce@hoser.berkeley.edu.UUCP (Bryce Nesbitt) writes:
>In article <2419@cbmvax.UUCP> grr@cbmvax.UUCP (George Robbins) writes:
 [ discussion about parallelogram problem ]
>On the A1000 I'm typing upon, holding "f" and "r" then pressing either
>"l" or "o" produces both "l" and "o".  Sure looked like both to the
>keyboard!
>On the A500 next door, holding "f" and "r" then pressing either "l" or
>"o" produces nothing.

This is interesting.  The A1000 exhibits the normal, expected, behavior of
a simple short-the-row-to-the-column matrix keyboard.  The A500 seems to
be hardwarily the same, with firmware to ignore ambiguous combinations.  This
is disappointing, but better than the A1000.

>Typing "fro", holding each key down produces:
>
>A1000	-	frlo
>A500	-	fr
>

I have an A2000 (German version), on which I will make the same test... the
result:

A2000   -       fro

That's right, the A2000 (this one, anyway) does exactly and undeniably The
Right Thing!  It has true N-key rollover; I can type a whole sentence
without lifting any key I press until I need to re-use it (or run out of
ingers).

Now MY big question is:  Does the B2000 work this way as well??  If not, I
may have to beg Commodore to let me keep this A2000.  I get very annoyed
when I type on the A1000; it reminds me of the TRS-80 :-).


BTW, the cause of the problem is obvious if you take a moment to figure out
how a normal matrix keyboard works; the fixes are not so obvious, but one is
to put a diode in series with each keyswitch.  Another is to use certain
types of "active" keyboard switches that have "enable" and "output" pins
and do not pass any signal from the output to the "enable" input.  Neither
is practical as a retrofit modification.
-- 

Michael "Ford" Ditto				-=] Ford [=-
P.O. Box 1721					ford@crash.CTS.COM
Bonita, CA 92002				ford%oz@prep.mit.ai.edu

grr@cbmvax.UUCP (George Robbins) (10/14/87)

In article <4047@zen.berkeley.edu> bryce@hoser.berkeley.edu.UUCP (Bryce Nesbitt) writes:
> 
> Now for some blatant, unfounded, speculation:
> 
> It seems A500's keyboard processor has enough brains
> to say "hey", "I can't figure out which key is down".  It then waits until 
> the matrix un-blocks and collects the data.  Neat!  Good solution.
> On the Amiga 1000, at least some of the keyboards use a Rockwell 6500/1.  
> The 500 has a "MOS 6570-036".  Same thing with an "036" ROM in it?
> Seems the 500 has a watchdog timer also.  Would to reset the keyboard if it
> ever stopped scaning keys.  Hope it only does the keyboard and not the
> computer too!

The MOS 6570 is pretty much the same thing as the Rockwell 6500/1.  The
version used for the A1000 US keyboard uses the -32 ROM code, while the
A500 uses the -36 ROM code.  Other codes are probably MOS Technology OEM
chips.  The watchdog timer was added in response to a problem with early
A1000 keyboards locking up.  This was attributed to static discharge,
since they seemed to work ok until you touched them.  Unfortunatly we had
the same problem on the A500, and everybody knows that there's no static
electricity in Pennsylvania!  Actually, it seems that it was a thermal
problem with the onboard oscillator getting flakey when the chip warmed up.
A couple capacitors stabilized things and on examination, somebody had
slipped the same fix into the A1000 keyboard, even though it didn't show
up on the "official" schematics.  Hard to imagine, but the processor must
really work hard operating all those keys 8-).

> 4 key rollover it is not.  "from", holding each key produces "frmo".

Oh well, it's only supposed to be 2 or 3 key rollover with intelligent
handling of matrix amibguities.
-- 
George Robbins - now working for,	uucp: {ihnp4|rutgers|allegra}!cbmvax!grr
but no way officially representing	arpa: out to lunch...
Commodore, Engineering Department	fone: 215-431-9255 (only by moonlite)