Раньше, для того что бы избежать «дребезга клавиш», использовался такой алгоритм:
- Code: Select all
LOOP EI
HALT
LD BC,#BFFE
IN A,(C)
BIT 0,A
JR NZ,LOOP ; основной цикл опрос ENTER
; далее если ENTER нажали
LOOP2 EI
HALT
LD BC,#BFFE
IN A,(C)
BIT 0,A
JR Z,LOOP2 ; дополнительный цикл опрос ENTER
то есть сначала ожидаем что клавишу нажали, затем ожидаем что клавишу отпустили
Однако, в PentEvo такой алгоритм не прокатывает, клавиша всё время сразу отпущена, bit 0 сразу сбрасывается и не важно, удерживаю я клавишу или действительно отпустил
Посему напрашивается вопрос, это особенность ps/2 клавиатуры, или вопрос при эмуляции клавиатуры ZX ?