Цитата Сообщение от Eltaron Посмотреть сообщение
прерыванием на PS/2 плохо то, что тогда вся логика конвертации кодов и подготовки 256-байтной таблицы будет прямо в прерывании. Понятно, что шина медленная, пакеты редкие и т.д. Но однажды мы всё же проигнорим очередной опрос, и игра словит ложное отпускание кнопки. Лучше уж wait.
Прерываение нормально, если делать его только на перепад синхросигнала, т.е. "упал" клок в "0" - записали бит данных и дальше "слушаем" ULA.RD.
Таблицу клавиш строим заранее, т.е. строим таблицу где коду клавиши ПС/2 соответствует маска на ШД (в данном случае для Спека). Для хранения маски нажатых клавиш используется всего 8 ячеек,т.е. не так уж и много. При активном ULA.RD считываем ША и выводим нужную ячейку на ШД. Ничего не пропускаем и ни каких ложных срабатываний. Это теория, надо пробывать...
Заканчивает, тема не про Спек! ))))