Цитата Сообщение от ewgeny7 Посмотреть сообщение
Как скажете. Куда скажете- туда и приколочу.
Я уже что-то плохо стал соображать каких портов мы наплодили. Может стоит огласить полный список, в том числе и побитовое распределение?

Цитата Сообщение от ewgeny7 Посмотреть сообщение
А каков глубинный смысл этих сканкодов вообще? Особенно учитывая, что читаются правильно фактически только однобайтные коды, для двух-трехбайтных видим только последний.
Честно говоря, я думал что порт будет двухбайтовый. Наличие скан-кодов упрощает программу как клавиатуры, так и статуса клавиатуры на порядок! Кроме того, наличие прерывания позволяет принципиально по другому строить алгоритм всей программ. Как один из злободневных примеров: практически исчезнут ситуации, когда программа где-то висит в цикле, и кроме как Ресетом это безобразие не остановить.

Цитата Сообщение от ewgeny7 Посмотреть сообщение
Приделаем и прерывание, приоритет вероятно лучше разместить между USART и INT50 (у USART по понятным причинам самый высокий).
Думаю, Int50 должен иметь (в данной ситуации) самый высокий приоритет - это метка времени, так сказать - Timer0. Если брать аналогию с МК (ну, хотя бы AVR. МК51), то USART не имеет высокий приоритет. Поэтому следующим должен быть Timer1. Далее USART и KBRD.

Цитата Сообщение от ewgeny7 Посмотреть сообщение
Отключается битом Д6 порта FB. Это стандарт.
По умолчанию (сбросу) отключено.
Спасибо, понял. Некоторые моменты уже по забылись за столько лет.

И последнее. Если проблема VGA решена (инфо я пропустил!?), то меня волнуют, пожалуй, только два вопроса (на данный момент!). Хотелось бы, чтобы Главный конструктор и народ поддержали.
1. Как и в Орион-ПРО отключать порты, положенные на память, а иметь только IN/OUТ. Объяснять не буду что это дает - всем понятно!
2. Сделать двух-байтовый таймер (Timer1) и прерывание к нему. Функциональную сложность определяйте сами. Предел мечты, чтобы был внешний вход. Тогда можно очень просто считать импульсы за единицу времени (частотомер!). В этом случае единицей времени может быть Int50. Понятно, что вход таймера переключается между внешним выводом и внутренней частотой. Кроме того, должен быть двухбайтовый порт для считывания текущего значения таймера.

---------- Post added at 16:43 ---------- Previous post was at 16:38 ----------

Цитата Сообщение от ewgeny7 Посмотреть сообщение
Вторую машину буду делать...
Ну, что ж мудрое решение! А эта версия пусть будет на моей совести...