Changes

Jump to: navigation, search

Programming:Keyboard scanning

89 bytes added, 22:12, 1 February 2014
/* One line scanning routine */
'''Destroyed:''' BC
<pre>LD A,kbdline ; from 0 &40 to 9 &49 with bdir/bc1=01LD D,0
LD BC,#F782 ; PPI port A out /C out
OUT (C),C
LD BC,#F40E ; Select Ay reg 14 on ppi port A
OUT (C),C
LD BC,#F6CO F6C0 ; This value is an AY index (R14)
OUT (C),C
OUT (C),0 D ; Validate!!out (c),0
LD BC,#F792 ; PPI port A in/C out
OUT (C),C
OUT (C),C
DEC B ; Reset PPI Write
OUT (C),D ; out (c),0 
Register A now holds the value of requested keyboard row
Now check for the value from the table e.g. with''''bit x,A''''and a condition e.g.''''jp z,xxxx''''or''''call z,xxxx''''
</pre>
2,912
edits