Date : Mon, 14 Nov 1994 11:53:40 +0000
From : jfid@... (James Fidell)
Subject: Re: Keyboard emulation question
David Alan Gilbert wrote:
> Well I just got full beeb emulation (at hardware level) going on my
> emulator - there is however one rather difficult problem.
> The problem is the mapping of unshifted/shifted keystrokes -
> for example when the user presses the shift key I tell the beeb
> the shift is down by setting the bit in the keyboard matrix
> so it finds it next time it scans. However on my PC ':' is
> shift with ';' - so the beeb is given the keycode for the ':' and '*'
> key and also a shift - so it types a '*'.
>
> OK - so I could stamp on shifts or add them at times - but wouldn't
> this upset some games which used the shift in combination with
> other keys ?
>
> What have other people done?
At the moment, I fake the SHIFT-key presses in the appropriate places.
However, what I intend to do long-term is to install a special BBC
keymap in the xbeeb window.
> My only other problem at the moment is that the BRK flag is never cleared
> - so after an error I never service anymore interrupts - does anyone know
> when its supposed to be cleared?
This is correct. The BRK flag is cleared *ONLY* in the image of the SR
when it is pushed onto the stack after a hardware IRQ. It is never
cleared in the SR and not cleared in the SR image pushed onto the stack
for a BRK-generated IRQ.
> P.S. As far as I can tell the keyboard matrix in the AUG is wrong - rows
> 1-6 are inverted and the 9 and the I are swapped.
Yes, there are a number of such errors in the AUG.
James.
--
"Yield to temptation -- | jfid@...
it may not pass your way again" | http://www.mfltd.co.uk/~jfid/
|
- Lazarus Long | James Fidell