Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!linus!wivax!decvax!harpo!seismo!hao!hplabs!sri-unix!kevinw%isl@BRL.ARPA
From: kevinw%isl@BRL.ARPA
Newsgroups: net.micro
Subject: Re: brain damaged (?) keyboards (Commodore 64/VIC 20)
Message-ID: <2543@sri-arpa.UUCP>
Date: Fri, 24-Jun-83 20:42:00 EDT
Article-I.D.: sri-arpa.2543
Posted: Fri Jun 24 20:42:00 1983
Date-Received: Mon, 27-Jun-83 03:49:22 EDT
Lines: 16

Since the keyboard is scanned by software driven by the IRQ line (for
the 20, I'm sure the 64 also) one can insert a wedge (sombody's bright
idea of a name for a kludge between the outside world and the inner
machine) at the IRQ address and scan the keyboard directly.  I think that
there also may be a place to actually insert a new keyboard scanner -- there
is one for the display driver.  The keyboard is scanned by the A and B
ports on a 6522/6526 and the algorithm (at least on the 20) is super
simple and has variable (+ and -) key rollover (sometimes you get char's
for free, and sometimes it isn't the char you typed...).  As long as they
are using a diode crosspoint keyswitch matrix it is possible to encode true
N key rollover...  Thus the keyboard can be made to look like a full ASCII
keyboard if you don't mind the wrong (or modified) keytops.

Happy munging!

  -- Kevin