По просьбам схема ХТ контроллера и
другие приложения с большим разрешением.
Вид для печати
По просьбам схема ХТ контроллера и
другие приложения с большим разрешением.
У меня контроллера и прошивки не было,
только комплект схем, поэтому не знаю
та или нет.
Итак, нужна помощь Профиводов с такой реликвией, как контроллер ХТ-клавиатуры (мой уже не работает :(), для проверки кодов клавиш Print Screen и Scroll Lock в программе из вложения. Нужно наконец выяснить, как они формируются со стороны спектрума. Заранее спасибо!
Что касается Print Screen, то судя по прошивке она никак не задействована.
Нажатие на клавишу Pause/Break приводит к перезапуску программы микроконтроллера - выполняется команда JMP 0.
Scroll Lock привязан к какому то скан-коду, но что-то не хочется ковырятся в прошивке, лучше бы проверить на живом контроллере.
Покопался в коде контроллера XT-клавиатуры и обнаружил, что в нем предусмотрено управление подачей кодами через адрес сканирования.
Переключение неким режимом, (пока не понял каким) производится кодом адреса 0xAA - установка режима, кодом 0x55 - отключение режима.
Тоесть это программное управление.
Клавишей Scroll Lock производится аппаратное управление этим же режимом, переключая его при каждом нажатии.
Кто-нибудь знает, что это за режим?
PS. В переписке с Алексеем Тарасовым еще в 2004 году я нашел его запись:
Scroll Lock - тормоз процессора
но в прошивке выполняется что-то другое, связанное с кодами сканирования клавиш.
Есть еще две записи:
Print Screen - переключатель ЯВЕРТЫ-ЙЦУКЕН как в СПМ так и ТЫРДОС (не везде)
Pause - сброс клавы
Похоже он ошибся и Scroll lock и есть переключатель ЯВЕРТЫ-ЙЦУКЕН
Pause - сброс клавы (это точно)
Print Screen - похоже ничего не делает.
Нет не правильно.
Переключение режимом ЯВЕРТЫ-ЙЦУКЕН (похоже это он) производится двумя способами:
1) Передачей со стороны Спектрума двух команд по шине адреса сканирования клавиатуры 0xAA и 0x55;
2) Нажатием Scroll Lock на клавиатуре.
Код:set_1: ld bc,0xAAFE
in a,(c)
set_2: ld bc,0x55FE
in a,(c)