Разбег Пандоры - Дмитриев Павел В.. Страница 58
— Там чуть не десяток команд давно не используется, — начал оправдываться Иван "второй". — Хватит надолго!
— Угу… — в моей памяти "как живые" высветились знаменитые "640 килобайт памяти", и я не думая шлепнул рукой по полированной поверхности стола: — Не пойдет!
— Почему?! — дуплетом взвыли Иваны. — Идеальная схема получилась!
— Во-первых, не хватит даже десятка команд, к хорошему люди привыкнут быстро, а резерва у вас нет. — Я еще раз представил разработку мэнээсов вместо встроенной в ноутбук клавиатуры, и продолжил критику: — Во-вторых, нажатие вы фиксируете, а как ЭВМ догадается, что пользователь отпустил кнопку? Понятна проблема? — я машинально взглянул на специалистов, и…
Глаза Иванов выдавали активную работу мысли, но при этом было очевидно – ребята попросту не осознают, про что я говорю. Не приходилось им гонять курсор по экрану, и тем более перебирать аккорды кнопок. Да что там, они никогда всерьез не "стучали" по клавишам электрической пишущей машинки! Как привыкшему к перу и карандашу человеку представить, что значит точная и удобная клавиатура компьютера 2010 года?! Разумеется, я попытался с максимально возможной точностью все объяснить словами и даже показать в жестах. Но не преуспел.
— Зачем это? — завели старую шарманку мэнээсы. — На "Консулах" ничего подобного нет, в IBM-2260 тоже!
— Все! — я развел руками перед физиономиями специалистов, благо, мой рост в 190 сантиметров позволял это сделать очень даже элегантно даже сидя в кресле. — Пока не переделаете, на глаза не показывайтесь!
Только мы с Катей успели съездить домой пообедать, как мэнээсы нарисовались у дверей кабинета вновь. Явно голодные, но очень целеустремленные.
— Что, уже все придумали? — я не смог удержаться от иронии. — Проходите, нечего двери заслонять!
— Не совсем… — замялся Иван "первый" еще на подходе к стулу, изрядно "насиженному" за последнюю пару месяцев. — Но мы нашли хороший вариант.
— Показывайте. — Большая порция только что съеденной окрошки с "Докторской" колбасой не только успокоила нервы, но и придала моему настроению солидную порцию благожелательности.
— Когда кончатся табличные команды, можно будет использовать специальную команду для команды! — торопливо доложил Иван "второй".
— Ух! — только и смог сказать я, мучительно пытаясь ухватить мысль собеседника.
Впрочем, мэнээсы быстро перешли к более точным выражениям. Если привести их сбивчивый рассказ к одному знаменателю, то суть сводилась к введению еще одной специальной кнопки, после нажатия которой следующая буква или цифра порождала не один байт кода, а два. Первый служебный, совпадающий с наиболее "забытым" символом ГОСТовской кодировки, второй, реальный – мог быть использован ЭВМ любым удобным способом. После некоторого размышления это казалось мне хоть и не слишком удобной, но вполне разумной альтернативой. Более того, возникло желание назначить этой "новой клавишей" все тот же несчастный Ctrl, перенеся все его "старые" и редко используемые возможности на дополнительные два регистра функциональных клавиш F1-F5.
Надо было видеть довольные физиономии Иванов, когда я признал ограниченную годность предложенной методики. Вот только радовались они главным образом не моему согласию, а возможности реализовать данную функцию "Many years later, in a galaxy far, far away" [359]. Иначе говоря, научный отдел удачно разыграл комбинацию очень советского саботажа странных директорских хотелок.
Способ контроля за отпущенными клавишами был выдержан примерно в этом же стиле. Ведь совсем не сложно доработать устройство так, что бы перед кодом "отжатой" клавиши… Да-да, легко догадаться, вставлялся очередной служебный байт! [360]И пусть ЭВМ подавится, разбирая этот поток информации!
Но тут обещаниями будущих доработок мэнээсы не отделались. Инициатива наказуема, и в проект было внесено непреложное требование оснастить подобной функцией хотя бы "стрелочки" и "пробел". А чтобы Иваны спали спокойно – мне пришлось согласился на установку перемычки, с помощью которой данную инновацию можно было отключить совсем.
Последний "клавиатурный" вопрос был совсем простым, тем более, его разрабатывал Федор. Сгенерированные контроллером биты "по ГОСТу" без особых раздумий выталкивались через небольшой буфер на выход через УИ-8 (Универсальный Интерфейс на восемь линий), заодно для ЭВМ выдавалось соответствующее прерывание. Электропитание также поступало по кабелю УИ-8.
С дисплеем процесс сначала двигался куда быстрее. Под моим чутким руководством в качестве оптимального решения мэнээсы быстро приняли специализированный телевизор без блоков промежуточной и высокой частоты, он же монитор с зелеными "буковками и циферками". Причем специалисты проявили немалую инициативу, в два счета доказав, что только люминофор длительного свечения не будет портить зрение операторов. Против такой аргументации экономика бессильна, ведь девушки без очков куда симпатичнее очкастых стерв! Заодно я ловко замаскировал свое незнание вопроса под заботу об экономике.
Управлять экраном с диагональю чуть более 30-ти сантиметров предполагалось всего лишь по трем проводам: кадровой/строчной синхронизации, земли, видео. Я пробовал говорить о цвете, но быстро понял – ждать взаимности от техники в этом вопросе придется минимум несколько лет. Мэнээсы дополнительно настояли на выводе звука, спорить с такой мелочью не стал, хотя и был уверен в будущей бесполезности. С дизайном корпуса тоже сложностей не возникло – по сути, получился металлический куб. Так что наш научный отдел быстро подготовил документацию и сдал ее в МЭП.
Зато дальше Иванам пришлось изрядно поломать голову без моей помощи. Ведь в устройстве телевизоров я разбирался примерно как в балете и фотонных звездолетах. Хотя на уровне схемы все выглядело просто. Всего-то вместо "эфирного" сигнала нужно было подать "компьютерный". Причем аналоговый и непрерывный, никаких пикселей в нем не предусмотрено, а значит, не обойтись без быстродействующего ключа для управления яркостью точки на экране. Если думать о градациях серого, то это выливается в полноценный ЦАП, что, впрочем, тоже не выглядит сверхтехнологией.
Однако дьявол, как обычно, скрывался мелочах. Если прикинуть частоты, то выходит весьма неприятная картина. В телевизоре что-то около пяти сотен строчек [361], в каждой нужно "показать" 640 пикселей, а вот достижимые при массовом производстве частоты микросхем логики находятся в районе 10 МГц [362]. Быстрого прорыва тут нельзя ждать даже с подарками из будущего. Если 10 000 000 разделить на произведение 640*500, учесть всякие мелочи вроде обратного хода луча, то получится 25–30 кадров в секунду. А я-то по наивности надеялся сразу сделать монитор на сотню герц вертикальной развертки…
Более того, стандартные системы развертки "заточены" строго на частоту 50 Гц, какой-то балбес посчитал, что делать иначе нельзя из-за наводок от сети электропитания [363]. Значит вытягивать "interlaced" [364]30 или 40 Гц бессмысленно, вариантов всего два – или 25р обычных, progressive, или 50i. Жуткая гадость! Я хорошо помнил, как реагировали мои детские глаза на новый "стогерцовый" монитор после старого, который "тянул" всего лишь 85р. Поэтому резко стало жалко девушек-операторов. Тут на самом деле впору задуматься о использовании только части экрана, не зря этим путем пошли разработчики IBM 2260.
359
Надпись "A long time ago, in a galaxy far, far away…" (Давным-давно, в далёкой-далёкой галактике…) появляется в начале каждого эпизода Звёздных войн. В данном случае "Many years later, in a galaxy far, far away…" – можно перевести как "Много лет спустя, в далёкой-далёкой галактике…"
360
В реальной истории на ПК от клавиатуры передаются специальные 2-байтные скан-коды. Кроме того, клавиатурой управляет встроенный в компьютер контроллер, например в PC АТ – i8042. Интерпретация скан-кода полностью программная.
361
По ГОСТ 17793-77 для телевизоров черно-белого вещания, предназначенных для видеопросмотровых устройств, допустима разрешающая способность не менее 600 линий. В стандарте СЕКАМ используется 625 строк, из которых видимых на экране – 576.
362
К примеру, RAMDAC (Random Access Memory Digital-to-Analog Converter) для весьма старого стандарта SVGA – около 200 МГц.
363
Действительно, кадровая частота была выбрана равной 50 Гц и совпадающей с частотой сети электропитания из-за возможности помех. Но позже опасения не подтвердились. По другой версии, 50 Гц приняли чтобы не делать отдельного задающего генератора, и синхронизироваться от сети. Но в результате точности частоты в сети не хватило, и отдельный генератор в телевизоре появился.
364
Interlaced – буквально режим чересстрочной развертки, обозначается в современном "иностранном стиле" 50i. Progressive – обычная развертка, или 25p.