Павел Дмитриев - Разбег в неизвестность
\*Знак валюты (кружок с расходящимися черточками-ножками), в реальной истории призванный заменить ненавистный символ $, был впервые использован в 1972 году в стандарте ISO/IEC 646. В данной АИ он попросту никогда не появится.\
\**Знак рубля использовался в XVII–XIX веках. В настоящее время официальный знак рубля еще не принят, однако часто используется на практике.\
Предложенный мной десяток функциональных кнопок сократили до пяти штук F1-F5. Зато идея дополнить Shift еще парой модификаторов Alt и Ctrl прошла "на ура". Отдельную цифровую клавиатуру экономически подкованные сотрудники вырезали в целях "снижения стоимости", но блок "стрелочек" и "Copy, Paste, Page Up, Page Down, End, Home" мне все же удалось отстоять. Пусть результат оказался не идеален с точки зрения опыта будущего, но он дался в таких горячих спорах научного отдела, что было бы самым последним делом "срезать на взлете" инициативу ребят. Тем более в столь незначительном вопросе.
Но дальше началось самое интересное. Мое первоначальное и не слишком грамотное пожелание использовать "где только можно" ГОСТовскую кодировку привело к неожиданным результатам. Разработанный мэнээсами проект явно имел весьма мало общего с клавиатурами моего будущего*, вот только точно понять причину различий, и, главное, их последствия, я был не в состоянии.
\*Клавиатуры, имеющие на выходе ASCII-код, были известны в СССР и до середины 90-х годов серийно выпускались для использования в комплекте с удаленным терминалом. Однако описанный ниже алгоритм работы имеет с ними мало общего.\
Контроллер клавиатуры, если его можно было назвать таким серьезным словом, опрашивал контакты сделанной "на вырост" сетки алфавитно-цифровых и функциональных клавиш не реже чем сто раз в секунду. В отличии от них модификаторы Alt, Shift, Ctrl включались "в электронику" напрямую и учитывались при формировании итогового восьмибитного "ГОСТовского" кода в небольшом ПЗУ.
К примеру, если на клавиатуре была выбрана просто буква "л" — формировался код DB от прописной "л", при "Shift-л" — BB (он же заглавная "Л"), "Alt-л" давал FB, или символ псевдографики"?". После переключения на английский командой Ctrl-Alt, можно было набрать "k" с кодом 6B и "К" с 4B. Команды функциональных клавиш типа стрелочек, табуляции или Enter шли под своими оригинальными кодами, для которых в таблице ASCII выделялось аж 32 варианта. Кроме того, команды можно было набирать через Ctrl. Так, комбинация Ctrl-Л или Ctrl-K (английская) означала vertical tab, и дополнительно была "приписана" к клавише Page Down.
Чем глубже я залезал в алгоритм работы, тем больше становилось вопросов. Причем с буквами и цифрами особых сложностей не возникало. Зато роль и функционал модификаторов притягивали критику как эпицентр — атомную бомбу.
— Вы считает, что в таблице ГОСТ достаточно команд на все случаи жизни? — я наконец прервал возбужденное сопение специалистов.
— Так американцы в своей кодировке нарезервировали изрядно, — степенно заявил Иван "первый", поглаживая начавшую пробиваться бороденку.
— И что с того? — меня глодали нешуточные сомнения. — Надо ведь все равно совместимость обеспечивать. Бардак ведь будет, если наша клавиатура к штатовскому компьютеру не подойдет. Да и сами хороши будем — только успели ГОСТ на кодировку утвердить, и тут же сами в него плюнули, и ногой растерли. — Для убедительности я демонстративно пошаркал ботинком под столом.
— Там чуть не десяток команд давно не используется, — начал оправдываться Иван "второй". — Хватит надолго!
— Угу… — в моей памяти "как живые" высветились знаменитые "640 килобайт памяти", и я не думая шлепнул рукой по полированной поверхности стола: — Не пойдет!
— Почему?! — дуплетом взвыли Иваны. — Идеальная схема получилась!
— Во-первых, не хватит даже десятка команд, к хорошему люди привыкнут быстро, а резерва у вас нет. — Я еще раз представил разработку мэнээсов вместо встроенной в ноутбук клавиатуры, и продолжил критику: — Во-вторых, нажатие вы фиксируете, а как ЭВМ догадается, что пользователь отпустил кнопку? Понятна проблема? — я машинально взглянул на специалистов, и…
Глаза Иванов выдавали активную работу мысли, но при этом было очевидно — ребята попросту не осознают, про что я говорю. Не приходилось им гонять курсор по экрану, и тем более перебирать аккорды кнопок. Да что там, они никогда всерьез не "стучали" по клавишам электрической пишущей машинки! Как привыкшему к перу и карандашу человеку представить, что значит точная и удобная клавиатура компьютера 2010 года?! Разумеется, я попытался с максимально возможной точностью все объяснить словами и даже показать в жестах. Но не преуспел.
— Зачем это? — завели старую шарманку мэнээсы. — На "Консулах" ничего подобного нет, в IBM-2260 тоже!
— Все! — я развел руками перед физиономиями специалистов, благо, мой рост в 190 сантиметров позволял это сделать очень даже элегантно даже сидя в кресле. — Пока не переделаете, на глаза не показывайтесь!
Только мы с Катей успели съездить домой пообедать, как мэнээсы нарисовались у дверей кабинета вновь. Явно голодные, но очень целеустремленные.
— Что, уже все придумали? — я не смог удержаться от иронии. — Проходите, нечего двери заслонять!
— Не совсем… — замялся Иван "первый" еще на подходе к стулу, изрядно "насиженному" за последнюю пару месяцев. — Но мы нашли хороший вариант.
— Показывайте. — Большая порция только что съеденной окрошки с "Докторской" колбасой не только успокоила нервы, но и придала моему настроению солидную порцию благожелательности.
— Когда кончатся табличные команды, можно будет использовать специальную команду для команды! — торопливо доложил Иван "второй".
— Ух! — только и смог сказать я, мучительно пытаясь ухватить мысль собеседника.
Впрочем, мэнээсы быстро перешли к более точным выражениям. Если привести их сбивчивый рассказ к одному знаменателю, то суть сводилась к введению еще одной специальной кнопки, после нажатия которой следующая буква или цифра порождала не один байт кода, а два. Первый служебный, совпадающий с наиболее "забытым" символом ГОСТовской кодировки, второй, реальный — мог быть использован ЭВМ любым удобным способом. После некоторого размышления это казалось мне хоть и не слишком удобной, но вполне разумной альтернативой. Более того, возникло желание назначить этой "новой клавишей" все тот же несчастный Ctrl, перенеся все его "старые" и редко используемые возможности на дополнительные два регистра функциональных клавиш F1-F5.
Надо было видеть довольные физиономии Иванов, когда я признал ограниченную годность предложенной методики. Вот только радовались они главным образом не моему согласию, а возможности реализовать данную функцию "Many years later, in a galaxy far, far away"*. Иначе говоря, научный отдел удачно разыграл комбинацию очень советского саботажа странных директорских хотелок.
\*Надпись "A long time ago, in a galaxy far, far away…" (Давным-давно, в далёкой-далёкой галактике…) появляется в начале каждого эпизода Звёздных войн. В данном случае "Many years later, in a galaxy far, far away…" — можно перевести как "Много лет спустя, в далёкой-далёкой галактике…"\
Способ контролем за отпущенными клавишами был выдержан примерно в этом же стиле. Ведь совсем не сложно доработать устройство так, что бы перед кодом "отжатой" клавиши… Да-да, легко догадаться, вставлялся очередной служебный байт!* И пусть ЭВМ подавится, разбирая этот поток информации!
\*В реальной истории на ПК от клавиатуры передаются специальные 2-х байтные скан-коды. Кроме того, клавиатурой управляет встроенный к компьютер контроллер, например в PC АТ — i8042. Интерпретация скан-кода полностью программная.\
Но тут обещаниями будущих доработок мэнээсы не отделались. Инициатива наказуема, и в проект было внесено непреложное требование оснастить подобной функцией хотя бы "стрелочки" и "пробел". А чтобы Иваны спали спокойно — мне пришлось согласился на установку перемычки, с помощью которой данную инновацию можно было отключить совсем.
Последний "клавиатурный" вопрос был совсем простым, тем более, его разрабатывал Федор. Сгенерированные контроллером биты "по ГОСТу" без особых раздумий выталкивались через небольшой буфер на выход через УИ-8 (Универсальный Интерфейс на восемь линий), заодно для ЭВМ выдавалось соответствующее прерывание. Электропитание так же поступало по кабелю УИ-8.
* * *
С дисплеем процесс сначала двигался куда быстрее. Под моим чутким руководством в качестве оптимального решения мэнээсы быстро приняли специализированный телевизор без блоков промежуточной и высокой частоты, он же монитор с зелеными "буковками и циферками". Причем специалисты проявили немалую инициативу, в два счета доказав, что только люминофор длительного свечения не будет портить зрение операторов. Против такой аргументации экономика бессильна, ведь девушки без очков куда симпатичнее очкастых стерв! Заодно я ловко замаскировал свое незнание вопроса под заботу об экономике.