Разбег в неизвестность | Страница: 73

  • Georgia
  • Verdana
  • Tahoma
  • Symbol
  • Arial
16
px

Дальше началось самое интересное. Мое первоначальное и не слишком грамотное пожелание использовать «где только можно» гостовскую кодировку привело к неожиданным результатам. Разработанный мэнээсами принцип работы явно имел весьма мало общего с клавиатурами моего будущего [363] , вот только понять, что лучше, и спрогнозировать все последствия, я был не в состоянии.

Контроллер клавиатуры, если его можно было назвать таким серьезным словом, опрашивал контакты сделанной «на вырост» сетки алфавитно-цифровых и функциональных клавиш не реже чем сто раз в секунду. В отличие от них модификаторы Alt, Shift, Ctrl включались «в электронику» напрямую и учитывались при формировании итогового восьмибитного гостовского кода в небольшом ПЗУ.

К примеру, если на клавиатуре была выбрана просто буква «л» – формировался код DB от прописной «Л», при «Shift-л» – BB (он же заглавная «Л»), «Alt-л» давал FB, или символ псевдографики «±». После переключения на английский командой Ctrl-Alt можно было набрать «k» с кодом 6B и «К» с 4B. Команды функциональных клавиш типа стрелочек, табуляции или Enter шли под своими оригинальными кодами, для которых в таблице ASCII выделялось аж тридцать два варианта. Кроме того, команды можно было набирать через Ctrl. Так, комбинация Ctrl-Л или Ctrl-K (английская) означала vertical tab и дополнительно была «приписана» к клавише Page Down.

Чем глубже я залезал в алгоритм работы, тем больше возникало вопросов. Причем с буквами и цифрами особых сложностей не имелось. Зато роль и функционал модификаторов притягивали критику, как эпицентр – атомную бомбу.

– Вы считаете, что в таблице ГОСТ достаточно команд на все случаи жизни? – Я наконец прервал возбужденное сопение специалистов.

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

– И что с того? – Меня глодали нешуточные сомнения. – Все равно ведь надо совместимость обеспечивать. Бардак получится, если наша клавиатура к штатовскому компьютеру не подойдет. Да и сами хороши – только успели ГОСТ на кодировку утвердить и тут же в него плюнули и ногой растерли. – Для убедительности я демонстративно пошаркал ботинком под столом.

– Там чуть не десяток команд давно не используется, – начал оправдываться Иван II. – Хватит надолго!

– Угу… – В моей памяти, как живые, высветились знаменитые «шестьсот сорок килобайт памяти», и я, не думая, шлепнул рукой по полированной поверхности стола: – Не пойдет!

– Почему?! – дуплетом взвыли Иваны. – Идеальная схема получилась!

– Во-первых, не хватит даже десятка команд, к хорошему люди привыкнут быстро, а резерва у вас нет. – Я еще раз представил разработку мэнээсов вместо встроенной в ноутбук клавиатуры и продолжил критику: – Во-вторых, нажатие вы фиксируете, а как ЭВМ догадается, что пользователь отпустил кнопку? Понятна проблема? – машинально взглянул на специалистов, и…

Глаза Иванов выдавали активную работу мысли, но при этом было очевидно – ребята попросту не осознают, о чем я говорю. Не приходилось им гонять курсор по экрану и тем более перебирать аккорды кнопок. Да что там, они никогда всерьез не стучали по клавишам электрической пишущей машинки! Как привыкшему к перу и карандашу человеку представить, что значит точная и удобная клавиатура компьютера две тысячи десятого года?! Разумеется, я попытался с максимально возможной точностью все объяснить словами и даже показать на жестах. Но не преуспел.

– Зачем это? – завели старую шарманку мэнээсы. – На «Консулах» ничего подобного нет, в IBM 2260 тоже!

– Все! – Я развел руками перед физиономиями специалистов, благо мой рост в сто девяносто сантиметров позволял это сделать очень элегантно, даже сидя в кресле. – Пока не переделаете, на глаза не показывайтесь!

Только мы с Катей успели съездить домой пообедать, как мэнээсы вновь нарисовались у дверей кабинета. Явно голодные, но очень целеустремленные.

– Что, уже все придумали? – Я не смог удержаться от иронии. – Проходите, нечего двери заслонять!

– Не совсем… – замялся Иван I еще на подходе к стулу, изрядно «насиженному» за последнюю пару месяцев. – Но мы нашли хороший вариант.

– Показывайте. – Большая порция только что съеденной окрошки с «докторской» колбасой не только успокоила нервы, но и придала солидную порцию благожелательности.

– Когда кончатся табличные команды, можно будет использовать специальную команду для команды! – торопливо доложил Иван II.

– Ух! – только и смог сказать я, мучительно пытаясь ухватить мысль собеседника.

Впрочем, мэнээсы быстро перешли к более точным выражениям. Если привести их сбивчивый рассказ к одному знаменателю, то суть сводилась к введению еще одной специальной кнопки, после нажатия которой следующая буква или цифра порождала не один байт кода, а два. Первый, служебный, совпадал с наиболее «забытым» символом гостовской кодировки, второй, реальный, мог быть использован ЭВМ любым удобным способом.

После некоторого размышления это казалось мне хоть и не слишком удобной, но вполне разумной альтернативой. Более того, возникло непреодолимое желание назначить этой «новой клавишей» все тот же несчастный Ctrl, перенеся все его «старые» и редко используемые возможности на два дополнительных регистра функциональных клавиш F1-F5. Надо было видеть довольные физиономии Иванов, когда я признал ограниченную годность предложенной методики. Вот только радовались они главным образом не моему согласию, а возможности реализовать данную функцию «Many years later, in a galaxy far, far away» [364] . Иначе говоря, научный отдел удачно разыграл комбинацию очень советского саботажа странных директорских хотелок, перенеся их в отдаленное будущее.

Способ контроля за отпущенными клавишами был выдержан примерно в этом же стиле. Ведь совсем не сложно доработать устройство так, чтобы перед кодом «отжатой» клавиши… да-да, легко догадаться, вставлялся очередной служебный байт! [365] И пусть ЭВМ подавится, разбирая этот поток информации!

Но тут обещаниями будущих доработок мэнээсы не отделались. Инициатива наказуема, и в проект было внесено непреложное требование оснастить подобной функцией хотя бы «стрелочки» и «пробел». А чтобы Иваны спали спокойно – мне пришлось согласиться на установку перемычки, с помощью которой данную инновацию можно было отключить совсем.