[net.micro.6809] HJL keyboard update

danm@mspiggy (Dan McCabe) (09/28/83)

I spoke with HJL yesterday, and they informed me that they had been shipping
the keyboards with more documentation on the function keys, including
a copy of an article by Bob Rosen which appeared in the June '83 issue
of Rainbow.  This article assign various functions to the function keys
(makes sense, huh?).  Specifically, you get a screen dump with F1, auto-repeat
with F2, control key generation with F4, and I don't remember what you get
with F3.

The basic scheme that HJL (and Micronix for that matter) uses is to place
keys at the empty spots in the keyboard matrix.  If you examine the keyboard
schemetic in your CoCo service manual (What? You don't have a service
manual?), you will see that there are 4 unoccupied locations in the
same row as return, beak, clear, and shift (I think these are the keys).

The reason why you get @ for F1, g and 4 for F3 and shift F3, etc, is that
Basic never expects to get activations of those locations in the matrix
and hence pulls out trash from a translation table when those matrix
locations are activated.

I am currently in the process of writing a driver for said function keys
that will allow the keyboard to generate <esc>, <del>, |, ~, {, and }.
This is done by copying part of the ROM into RAM and modifying certain
locations.  Unfortunately, Basic is not too pleased when it recieves
{, }, |, or ~ from the keyboard.  Another problem is that INKEY$ is
hard-wired to branch to $a1c1 (location of keyboard driver), so INKEY$
can't be fixed easily (at least, not as far as I can tell; I'll check
with some of the Basic folks here).  However, this is remedied by providing
code in RAM which performs an INKEY$ and then doing a DEF USR, etc.

This driver (mine, that is) is completely stop-gap, and will be need to be
replaced when the Shack comes out with OS-9 (hopefully soon, but one can
never tell).  If there is an interest in said driver, drop me a line
and I will send it when it gets done (hopefully soon, but one can never tell).
If there is enough interest, I may post it.

					Happy hacking,
					Dan McCabe
					decvax!microsof!danm