Клавиатура:
Как и в моделях других компьютеров для EmuStudio, клавиатура эмулируется так, чтобы полностью совпадать с привычной раскладкой клавиатуры на PC.
Например, если на PC, чтобы получить символ '@' нужно нажать Shift + '2', то не смотря на то, что на Специалисте есть совершенно отдельная клавиша '@', для которой Shift нажимать ненужно, вы нажмете Shift + '2', и будет нажата имено '@'.
Однако, в силу особенностей опроса клавиатуры Специалиста, выяснилось 2 особенности:
1. Если передать Специалисту матрицу клавиатуры, где нажат одновременно Shift и что-то еще, то в некоторых случаях Shift будет пропущен.
2. Если отпустить какую-либо клавишу, а потом нажать другую ранее, чем через определенный промежуток времени, то другая клавиша не нажмется.
Отсюда возникло две особенности эмуляции для гарантированного срабатывания в вышеописанных случаях.
1. Если вы нажали любую клавишу, либо комбинацию клавиш, где для Специалиста передается Shift, то это нажатие задержится на 1 кадр, т.к. сперва передается Shift, а уже в следующем кадре сама клавиша.
2. Если вы нажали комбинацию клавиш с Shift'ом, для которой у Специалиста есть клавиша без Shift'а (например все тот же Shift + '2' -> '@'), то сперва Специалисту будет передано отпускание Shift'а (хотя вы его и держите), затем только через 6 кадров, когда Специалист поймет, что Shift отпущен, будет передан символ '@'. Поэтому задержка для нажатия таких комбинаций - 6 кадров. И это следующие символы '@', '^', '_', ':'.
Весь этот огород сделан исключительно для того, чтобы пользователь не знакомый с раскладкой Специалиста, или же просто привыкший к единой раскладке клавиатуры PC, мог легко печатать все, что ему заблагорассудится и сразу же.
Клавиатуру можно проверить в Basic'е, который есть в архиве с эмулятором.
Да, клавиши 'F', 'HELP', 'NEW', 'SAVE', 'LOAD', 'RUN', 'STOP', 'CONT', 'EDIT', 'СФ', 'ТФ', 'НФ' находятся на F1-F12.
Параллельный порт ВВ55:
По скольку ВВ55 является универсальным портом, отдельные выводы которого можно программно настраивать самым разнообразным двунаправленным образом, то при подключении к порту клавиатурной матрицы, реальное цифровое состояние входных защелок уже очень сложно вычислить, если не рассматривать клавиатурную матрицу, подтягивающие резисторы и внешние ключи порта, как аналоговую схему.
Что я и попробовал сделать в данном эмуляторе. В первом приближении, разумеется, пока что без тестов сравнения с реалом.
[свернуть]