Date : Wed, 31 Aug 1994 11:35:01 WET DST
From : Bonfield James <jkb@...>
Subject: Keyboard & T1 interaction
Hello,
I've sussed out why fixing the T1 code can also fix the keyboard code. It's
even documented in the NAUG. Basically, the interrupts generated by keypresses
don't actually update much of the system; just &EC and &ED and a few other
small bits.
Then the next T1 interrupt processes the information and stores the values in
the current input buffer (etc). All hideously messy isn't it?
Now I've got another question about the keyboard. Do only keypresses generate
interrupts? It seems that the T1 interrupt checks the keyboard map again. I
haven't scanned this carefully yet, but it seems probable that it's searching
for key releases and updating &EC/&ED accordingly. My current implementation
generates interrupts upon both press and release. However it's not working
either. Although I think this problem is more due to the interaction between
T1 and the KEYV. Somehow T1 isn't using the fact that KEYV has spotted a key
press.
I simply can't believe how long it's taking me to get this keyboard IO
working. I'm sure there's one tiny thing I've bodged that's causing all my
problems :-( It's not even as if it's an easy thing to compare with the real
BBC as interrupts are pretty random in their timings and actions.
James