По управлению с клавиатурой, пока приходит в голову один вариант:
Однократное нажатие на клавишу - включение Турбо-7 МГц;
Двойное быстрое нажатие клавиши - включение Турбо-14 МГц;
Однократное нажатие клавиши при любом включенном турбо - выключение турбо.
Но для этого на верхнюю плату надо ставить ещё один микроконтроллер - ATTiny-13. К сожалению, пока что я их никогда не программировал, но найти учебный материал с примерами не проблема.
По Турбо имеем такой вариант:
На материнской плате расположен 3-х пиновый разъём для подключения двух тумблеров, один включает Турбо-7 МГц, второй - Турбо-14 МГц. Это так и останется на всегда.
Оба сигнала на включение Турбо-режимов я вывел на верхнюю плату, оттуда ими тоже можно управлять, в данном случае контроллером PS/2 клавиатуры.
И да, вот уже пару часов в Турбо-14 МГц гоняю демку "INSULT" скрытую часть, работает. Но iS-DOS после многократного запуска всё-таки упала и запорола диск "C", придётся очередной раз восстанавливать. Почему, не могу пока сказать. Поэтому выносить в BIOS выбор Турбо-режима 7 или 14 МГц точно не нужно.
С Турбо-7 МГц, как всегда проблем вообще никаких нет.
С контроллером PS/2 клавиатуры обнаружил пару багов, но это нужно исправлять в прошивке либо искать более свежую, если есть:
1) Если включен режим "Нормал 3.5 МГц", то на циклическом опросе кэмпстон джойстика, зачем-то включается пауза - на контроллере зажигается светодиод и всё замирает. Вывести контроллер из этой самопроизвольной паузы почти невозможно, кроме как нажать на PrintScreen и сбросить компьютер. Что интересно, в турбо-7 МГц этот эффект не проявляется.
2) Если во время циклического опроса "Any key" включить паузу, то потом выйти из неё крайне сложно.
3) Несколько раз при определённых комбинациях опроса клавиатуры и нажатий на клавиши, ATMega-48 зависала. Только что удалось добиться залипания 8-ми клавиш: 2, 9, W, O, S, L, Z и SymbolShift. В таких случаях вывести её из зависания можно только подав на её 1-ю ногу сброс либо выключением / включением питания компьютера.
4) Если использовать сброс на клавиатуре, то довольно сложно сделать удержание клавиши "8" при сбросе, чтобы выйти в меню BIOS. Чаще срабатывает что-то одно, нужно угадывать, в какой момент нажимать клавишу "8" для получения нужного результата. Но можно пользоваться кнопкой сброса на системном блоке, тогда выйти в меню BIOS всегда получается легко.




Ответить с цитированием