Код:
scan_kbd
	ld 	a,-2
	ld 	c,a
	ld 	hl,kb_buf
	dup 	7
	ld 	b,a
	ini
	rlca
	edup
	ld 	b,a
	ini
	xor	a
	in	a,(-2)
	cpl
	and	#1f
	ld	(cur_keys),a
	ret	z
	scf
	ret
scan_ctrl
	ld 	bc,k_table
	ld 	de,kb_buf
	exx
	ld	b,8
scan_ctrl0
	exx
	ld	a,(bc)
	inc	bc
	ld	l,a
	ld	h,0
	add	hl,de
	ld	a,(bc)
	inc	bc
	and	(hl)
	cp	1
	exx
	rr	e
	djnz	scan_ctrl0
	ld	a,e
	ld	(cur_keys),a
kemp_act	ret
	ld	bc,#001f
	in	a,(c)
	and	#0f
	or	e
	ld	(cur_keys),a
	ret
scan_tbl
	ld	hl,kb_buf
	ld	b,8
scan_tbl0
	ld	c,#10		
scan_tbl1
	ld	a,(hl)
	and	c
	cp	1
	jr	c,scan_tbl2
	rrc	c
	jr	nc,scan_tbl1
	inc	hl
	djnz	scan_tbl0
	ld	c,b
	ret
scan_tbl2
	ld	a,8
	sub	b
	ld	b,a
	ret
t_table
	db	2,4
	db	1,16
	db	1,1
	db	2,8
k_table	
; p o a q Sp En H	
	db	5, 1	;p
	db	5, 2	;o
	db	1, 1	;a
	db	2, 1	;q

	db	2, 1	;

	db	2, 16	;T
	db	2, 8	;R
	db	5, 16	;Y
	
cur_keys	db	0
old_keys	db	0
prs_keys	db	0
key_prsed	db	0	
kb_buf	ds	8	
	
;	  1 2 4 8 16	
;#fe 0	 cs z x c v
;#fd 1 	  a s d f g
;#fb 2	  q w e r t
;#f7 3	  1 2 3 4 5
;#ef 4	  0 9 8 7 6
;#df 5	  p o i u y
;#bf 6 	 en l k j h
;#7f 7	sp ss m n b
keys_table
	db	#01,"ZXCV"
	db	"ASDFG"
	db	"QWERT"
	db	"12345"
	db	"09876"	
	db	"POIUY"
	db	#0d,"LKJH"
	db	#20,#02,"MNB",#00
key_char
	ld	de,keys_table
	ld	hl,kb_buf
	ld	c,8
key_char0	
	ld	a,(hl)
	inc	hl
	ld	b,5
key_char1
	rra
	jr	nc,key_char2
	inc	de
	djnz	key_char1				
	dec	c
	jr	nz,key_char0
key_char2	
	ld	a,(de)
	ld	(key_prsed),a
	ret