Re: История клавиатуры машины АТ: "технологии firmware" или
От: grizlyk1  
Дата: 20.10.23 12:19
Оценка:
История клавиатуры машины АТ: "технологии firmware" или открытые системы?
часть 2.

Продолжаем разговор, очень уж тема интересная.

1.
другой вариант усовершенствованной смены раскладки это поставить поле выбора раскладки:
— либо слева от обычной клавиатуры (на рисунке выделено серым);
— либо сверху над клавишами F1-F2 (на рисунке отделено коричневой чертой);



такое решение позволит создавать для многих стран мультиязычную клавиатуру просто варьируя нужное число кнопок в поле выбора раскладки (от 2 до 5 таблиц при кнопках Sx слева).

достоинства:
— сохраняется опциональность "блока клавиш цифровой клавиатуры" эмулирующей калькулятор;
— появляется опциональность "блока клавиш выбора раскладки (Sx)" для мультиязычной клавиатуры;
— формат английской раскладки сохраняется постоянным, значит не требуется убеждать разные "комитеты" менять английский стандарт раскладки, что облегчает работу для реальных производителей клавиатур;
— любая двуязычная клавиатура может иметь больше двух раскладок (до пяти раскладок при расположении поля выбора слева);

недостатки:
— мультиязычная клавиатура становится шире или выше;
— при этом если надо будет только две раскладки то это новое место теряется зря;

2.
для настройки начального состояния клавиатуры ХТ мы забыли установить еще дополнительные переключатели:
— состояние кнопки NumLock по умолчанию;
— состояние кнопки выбора раскладки Sx по умолчанию;
— выбор кодировки сканкодов по умолчанию: двухбайтовая (многозадачные ОС) или четырехбайтовая (совместимость с ДОС);

практика работы показывает что после сброса реально нужно внимание только к состоянию индикаторов NumLock и Sx, а остальные индикаторы можно всегда сбрасывать в 0

двухбайтовая кодировка сканкодов, за цену одноразовой настройки свитча на обратной стороне клавиатуры, уменьшает число прерываний от клавиатуры, что полезно для многозадачных ОС

2.1
еще полезное усовершенствование интерфейса клавиатуры ХТ, когда для передачи в компьютер состояния NumLock и Sx при сбросе можно использовать двухбайтовый код "инициализация завершена", передавая в битах второго байта состояние этих индикаторов после сброса (доступно семь бит состояния, а старший бит "сканкод отпускания кнопки" всегда установлен)

иначе клавиатура после сброса и кода "инициализация завершена" будет посылать сканкоды имитации нажатия/отпускания клавиши для каждого из включенных свитчами NumLock и Sx

BIOS даже для XT умеет обрабатывать многобайтовые коды от клавиатуры, а в области данных BIOS есть поле для накопления таких байт приходящих от клавиатуры, как только системная память будет готова к работе, клавиатура будет разрешена и можно использовать двухбайтовый код "инициализация завершена"

для AT дополнительно есть энергонезависимая память где можно сохранить второй байт состояния сброса даже когда нет доступа к системной памяти

3.
клавиатура XT реализует концепцию "управляющего терминала", т.е. вокруг такого терминала меняются bg/fg процессы, при этой смене состояние управляющего терминала не меняется

теоретически клавиатура ХТ могла бы быть усовершенствована для того, чтобы заместо роли "управляющего терминала" сделать из клавиатуры консоли "виртуальное устройство ввода, принадлежащее каждому процессу"

тогда при смене fg процесса, надо будет менять состояние клавиатуры нужное для нового приложения, т.е. понадобится отправка данных в клавиатуру из компьютера

для этого можно было бы переделать для клавиатуры ХТ сигнал на линии reset, но отправка данных в клавиатуру потребует превратить компьютер в ведущее устройство управляющее передачей при отправке данных в клавиатуру

а на имевшихся в 1982 году двухслойных платах с шагом дорожек 1.25 и микросхемах серии 155 такое превращение было бы неразумным мероприятием, именно поэтому интерфейс клавиатуры ХТ позволяет иметь на материнской плате ХТ минимальную обвязку для полноценного приема данных от клавиатуры

3.1
для роли управления передачей нужна либо специализированная микросхема для интерфейса консоли ПК (аналог 8250 для rs232), которая:
— работает на фиксированной скорости приема/передачи и не требует внешнего clc;
— надежность передачи достигается например применением на линии заместо ТТЛ логики буферов для сигналов rs232 (типа mc1488/89);

— при приеме сканкода от клавиатуры:
-- автоматически обеспечивает (например по бывшей линии clc) аппаратное квитирование приема каждого сканкода;
-- проверяет ошибки фрейма сканкода;
-- генерирует прерывание при приеме сканкода;

— при передаче символа из компьютера в клавиатуру:
-- использует регистр вывода и бит BUSY;
-- генерирует прерывание при завершении передачи;

— также просто аппаратно подключается к системе как и интерфейс клавиатуры ХТ на системной плате;
— работает на скорости I/O шины системной платы, не требует программных задержек между вводом/выводом;
— также просто управляется из программы как и интерфейс клавиатуры ХТ на системной плате;
— стоит также дешево как и интерфейс клавиатуры ХТ на системной плате собранный на рассыпухе;
— занимает на системной плате мало места (идеально один корпус, как 8250);

но такой микросхемы для подключения консоли в 1982 году не существовало (интел 8042 не годится на эту роль) и улучшенный интерфейс клавиатуры ХТ это было бы оптимальное решение

либо для роли управления передачей надо было бы для подключения клавиатуры делать на рассыпухе плату расширения для шины ISA с внешним дополнительным кабелем сигналов идущим от платы расширения на материнскую плату

3.2
специализированная микросхема для интерфейса консоли ПК нужна и для роли улучшения контроля ошибок фрейма входящих сканкодов

что будет если отсоединение клавиатуры ХТ произойдет во время передачи фрейма сканкода?

при сбое связи с клавиатурой ХТ во время передачи фрейма клавиши (при намеренном извлечении клавиатуры ХТ из разъема такой передачи фрейма не происходит и проблемы нет) компьютер может принять сбойный код одной или нескольких идущих подряд клавиш (на практике такой проблемы не было ни разу за много лет)

при этом клавиатура ХТ должна будет сканировать уровень на линии clc каждый раз перед передачей очередного бита (а не только один раз перед передачей нового сканкода), и если на линии clc входящий уровень высокий, то следующий бит передается тактируясь импульсом clc низкого уровня, иначе клавиатура отбрасывает весь многобайтовый сканкод и пытается синхронизироваться с системной платой по границе символов

и может быть придется нажать и отпустить на клавиатуре ХТ несколько "простых ASCII" клавиш, пока не синхронизируются многобайтовые последовательности между клавиатурой и BIOS ПК, и это плата за простоту интерфейса клавиатуры ХТ на системной плате

для улучшения синхронизации можно усложнить интерфейс клавиатуры ХТ на системной плате, когда незавершенный фрейм сканкода молча отбрасывается на системной плате, если после начала приема на системной плате стартового бита сканкода произошел таймаут

4.
И раз мы ранее увидели что требуется "исправить катастрофическое экономическое и политическое состояние", то еще про то как рыночным нацикам приходится "затыкать пасти" всем людям не жаждущим попугайски восхвалять "высокую производительность труда при режиме рыночных нациков" (рыночным нацикам приходится контролировать доступ к информации и оболванивать жителей).

Знаменитое правило "проверяй и отбрасывай". Слышали?

И это тоже не слышали? Хм, это кажется странным, ведь "в обществе больших возможностей" (коммуняки общество такого типа грубо и зло называют "диктатурой олигархов") это правило известно с 2014 года.

Так сразу и признайтесь, что вы просто ленились и "сами не хотели это правило узнать" (также как 15 миллионов нищих в РФ с 1991 года "сами не хотели на работу ходить", даже если за 4 тыс. руб/месяц олигархи им предложат просто сидеть под табличкой "нацаналист").

А в чем польза от этого правила "проверяй и отбрасывай"?

4.1
Вторгаясь в область общественных отношений каждый человек начинает особенно сильно взаимодействовать "с личностями перешедшими на темную сторону силы", т.е. с разными там политиканами, т.е. "с типами с мрачными делишками и с тяжелым прошлым", и риск совершить ошибки созданные именно вами сильно возрастает.

Ошибки созданные именно вами это как раз то что вам совсем не нужно, для этого хватает и самих политиканов.

А ошибки в области общественных отношений имеют особенно болезненные материальные последствия, это уже не виртуальное пространство компьютера.

4.2
и вот тут на помощь нам приходят "ценности десяти христианских заповедей", приходят тем что:
— проверяя _все_ свои мысли, идеи и желания;
— на предмет "ненарушения ограничений из десяти христианских заповедей";
— и каждый раз отбрасывая _все_ те мысли, идеи и желания что нарушают десять христианских заповедей;
вы тем отсекаете заведомо плохие решения, и каждый раз вы выбираете такие решения которые может быть и не самые оптимальные, но гарантированно лежат в множестве "удачных решений".

Круто да? Какой научный смысл неожиданно оказался в "ценностях десяти христианских заповедей".

Это вот и есть правило "проверяй и отбрасывай", и это еще одна "тайна" которую 10 лет рыночные нацики во главе с "русским Аненербе", копаясь в руинах "величия предков", скрывают от жителей республик СССР.

4.3
И как мы видим, "христианство" (а оно всегда на базе ценностей десяти христианских заповедей) оказалось весьма научной дисциплиной (как геометрия), научной дисциплиной весьма далекой от пляски дикарей у костра или от иконо-идоло-молений.

И такой взгляд на вещи опять противоречит постулатам атеизма (атеисты это те кто отрицает одну или более из ценностей десяти христианских заповедей):
— всегда приравнивающих атеизм к "науке" (теория плоской земли, теория рыночной нацанальной экономики и теория большого взрыва это "наука атеистов");
— а "христианство" (оно всегда на базе ценностей десяти христианских заповедей) всегда приравнивающих к "суевериям".

Хотя как раз именно "суеверия" и запрещены в десяти христианских заповедях в виде "запрет на идолопоклонения, образопоклонения, фетишепоклонения и т.п.".

4.4
И еще одна тайна в том, что "ценности десяти христианских заповедей" предназначены специально для того, чтобы бороться с дьявольским режимом рыночных нацаналистов, иным путем кроме как с помощью "ценностей десяти христианских заповедей" рыночных нацаналистов не победить.

А в соединении с плановой интернациональной экономикой СССР "ценности десяти христианских заповедей" могут быть весьма интересным решением. На практике жизнь в стране при этом будет точно не хуже чем было в "атеистическом СССР", а СССР 70 лет был одной из стран мировых лидеров (чего нельзя сказать про карликовые марионеточные государства с власовско-бандеровскими режимами).

===
Отредактировано 21.10.2023 0:39 grizlyk1 . Предыдущая версия .
клавиатура переключение раскладки
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.