<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>
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
<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>