Feature: Keyboard Input
MikeDX opened this issue · 0 comments
MikeDX commented
Keyboard input currently does not work.
To get this to work, we need to create a new input() function (currently in zxem.c) to handle IN calls.
The keyboard matrix feeds data from 5 different IN addresses:
Port | Bit | ||||
---|---|---|---|---|---|
4 | 3 | 2 | 1 | 0 | |
&FEFE | Shift | Z | X | C | V |
&FDFE | A | S | D | F | G |
&FBFE | Q | W | E | R | T |
&F7FE | 1 | 2 | 3 | 4 | 5 |
&EFFE | 6 | 7 | 8 | 9 | 0 |
&DFFE | P | O | I | U | Y |
&BFFE | Enter | L | K | J | H |
&7FFE | Space | Sym | M | N | B |
These are polled on interrupt (1) every frame. The interrupts are already being called, but no data is being suppled, so the emulator is currently stuck at
(c) 1982 Sinclair Research Ltd.