Наутро Виктор Петрович Седых появился в дверях лаборатории лично, «без звонка».
— Морозов, ко мне, — сказал он. — И Михалыча прихвати. И Наталью Сергеевну. Праздник у нас.
Тон у него был не праздничный. Скорее тот самый, которым сообщают: «нам выделили план на два года вперёд».
В кабинете у Седых на стене появился новый ватман. Толстым красным карандашом было выведено:
«Учебно‑демонстрационный комплекс БВП‑1 — 50 комплектов. Срок — 1 сентября».
Чуть ниже — мелко, обычным карандашом: «три пилотных школы, гороно».
— Поздравляю, — сказал Виктор Петрович, постукивая по ватману указкой. — Наши игры в кружок закончились. Начинается производство.
Он посмотрел на Алексея поверх очков.
— Министр лично на совещании сказал: «Учебные машины нужны к новому учебному году. Где ваша прославленная вычислительная техника?» Дальше пошло по ведомствам. Нам спустили письмо. Вот оно.
Он протянул папку. Бумага была толстая, с синей печатью и правильными формулировками. Алексей пробежал глазами по строкам «оснащение трёх пилотных школ», «комплекс учебно‑демонстрационный», «по согласованной номенклатуре».
Срок бросался в глаза жирнее всех слов. До сентября оставалось… Он в уме прикинул месяцы, недели. Не так много.
— Это значит… — начал было Михалыч
— Это значит, — сухо оборвал его Седых, — что вы втроём: Морозов, Ильин, Рябинина — к концу месяца даёте мне комплект чистых чертежей под цех. Без ваших этих… как вы выражаетесь… «временных решений». Всё, что хотите впихнуть — впихивайте сейчас. Потом любое изменение — через министерство, научно‑технический совет и, возможно, с поездкой в Москву. Я стар, я туда больше не хочу.
Наталья Сергеевна аккуратно поправила очки.
— Виктор Петрович, то есть текущая «Редакция один» — это только головной образец, — уточнила она. — Для серии оформляем «Редакцию два»?
— Хоть двадцать два, — отмахнулся Седых. — Лишь бы последняя была одна и лежала у меня в сейфе.
Алексей поймал себя на странном дежавю. В другой жизни это называлось бы «заморозить изменения» и повесить на стену табличку: «после понедельника в код не лезть». Только вместо репозитория — сейф у Седых, вместо письма начальству — ватман и красный карандаш.
— Что можем сделать за месяц? — спросил он вслух, повернувшись к Михалычу. — Если ничего нового не придумывать, а только привести в порядок то, что уже работает.
Михалыч почесал висок.
— Платы ядра и ОЗУ уже «редакция один», по ней семь штук уже идёт как по шаблону, — проговорил он, глядя в потолок, будто там лежала ведомость. — ПЗУ теперь не «бутерброд», а твой камешек К573. Это надо в КД переписать. Кассетный разъём — твоя новая конструкция с нормальной стяжкой, а не сопля на кембрике, — тоже вводим. Клавиатуру с антидребезгом уже утвердили. Стеклотекстолит вместо гетинакса — уже действительность. ВКУ — «Рекорд» или «Юность», в зависимости от снабжения, но блок сопряжения у нас один. В принципе… — он вздохнул. — В принципе, всё, чем вы уже нас замучили, можно оформить.
— И программа, — тихо вставила Наталья. — В документацию надо вставить описание монитора, режимов и самотеста. То, что мы пока держим в тетрадях и на перфокартах.
Седых посмотрел на неё с лёгким уважением.
— Правильно, — сказал он. — Без программ ваш ящик — это красивый ночник. А ночников у нас и так… — он махнул рукой в сторону города. — Значит так. Морозов, Ильин — сегодня садитесь с Рябининой и составляете список того, что уже отработано, но ещё не попало в чертежи и в пояснительную. Только не увлекайтесь. Всё, что вы хотите «ещё чуть‑чуть улучшить», — после сентября. Если доживём. Вопросы?
— Один, — сказал Алексей. — По снабжению. К573РФ1 нам хватит?
— Пойдём, — сказал Седых и поднялся. — Вместе спросим.
У Николая Петровича настроение было такое, будто ему только что выдали ещё один план по дефициту.
— Пятьдесят штук? — переспросил он, даже не глядя в сторону Седых, смотрел прямо на Алексея. — Это значит, что ваши игры окончательно переехали ко мне в ведомость. Я вам мало раз объяснял, что чудес не бывает?
— Бывают неликвиды, — спокойно ответил Алексей. — Мы же уже один ящик нашли.
Николай фыркнул.
— Вы, Морозов, опасный человек, — сказал он. — Про тот ящик мне до сих пор иногда снится. Как ОБХСС приходит, спрашивает: «Где брак, который вы должны были списать?» А я им: «В школе, товарищи, дети таблицу умножения учат». Они плачут и уходят.
Седых кашлянул.
— По существу, Николай Петрович, — напомнил он. — Нам нужно знать: на пятьдесят машин К573 хватит? И текстолит… чего там у вас, СФ‑2? Он под платы есть?
— К573 хватит, — нехотя сказал снабженец. — Если вы не будете ещё одну машину делать «для себя». Я дал вам ящик. Половину вы уже пропаяли, половину держите как запас. На пятьдесят штук хватает, если без роскоши. СФ‑2… — он порылся в бумагах. — СФ‑2 на остатке на пятнадцать плат. Остальное — в макетном цехе у Валеры, он там свой «золотой запас» прячет.
Николай тяжко вздохнул.
— Ладно. Сделаю запрос на перераспределение. Скажу, что ваши платы — «особо ответственные». Любят они такие слова. Только вы потом не удивляйтесь, если кто‑то придёт и спросит: почему «особо ответственные» у вас в школе, а не в цехе оборонной автоматики.
— У нас дети — оборона будущего, — серьёзно сказал Седых, и все трое одновременно захотели сделать вид, что не слышали этого лозунга от него.
Николай хмыкнул.
— Ладно, — повторил он. — Материал на платы я вам выбью. Про К573 — забудьте, больше таких подарков не будет. Всё, что угробите, — будете чинить сами. Взамен хочу одно: никаких «подпольных» чертежей. Всё, что вы будете заказывать в цех, должно совпадать с тем, что лежит у меня в папках. Иначе я вас сам сдам в ваш Первый отдел.
— У нас нет подпольных чертежей, — спокойно ответила Наталья, которая стояла чуть в стороне. — У нас есть черновики, пока не прошедшие утверждение. Но они любят превращаться в подпольные, если их долго не оформлять.
Николай посмотрел на неё чуть мягче.
— Формулировки у вас как всегда, — сказал он. — Напишите мне список номенклатуры по «Редакции два». Я по нему буду жить. Всё, что вы поменяете после, — пусть будет «Редакция три», но это уже на следующий год. Договорились?
Алексей кивнул. В голове уже крутился список: К573 вместо К556, новый разъём, стандартный лист контроля, текстолит, отверстия под вентиляцию, команду «ЗЛ» в описании монитора. Ничего фантастического. Всё уже работало, просто жило либо на стенде, либо в тетради.
Теперь это надо было загнать в бумагу. И в железо.
После обеда они заняли длинный стол у кульмана. На одном конце — огромный лист с принципиальной схемой ЦУБа и памяти. На другом — чертёж корпуса с видами слева, справа и сверху. Посередине — тетради, листинги, сокращения, чай в стаканах.
Наталья Сергеевна положила перед собой чистый лист.
— Итак, — сказала она. — «Редакция два». Хочу список пунктов: что меняем по сравнению с первой редакцией. Каждому пункту — номер, обоснование и фраза для документации. Начнём с железа или с логики?
— С железа, — решил Алексей. — С ним сложнее.
Он ткнул карандашом в схему ПЗУ.
— Пункт первый: заменяем сборку на восьми К556РТ на один корпус К573РФ1. Обоснование: сокращение номенклатуры, повышение надёжности, облегчение монтажа, снижение тепловой нагрузки. Фраза для документации…
— «В целях повышения надёжности и унификации…» — машинально продиктовала Наталья Сергеевна. — Больше, наверное, ничего не нужно. Далее.
— Пункт второй, — продолжил Алексей. — Разъём для магнитофона. Старый вариант — кабель входит прямо в корпус, висит на пайке. Новый — разъём на винтах, кабель зафиксирован, пайка разгружена. Обоснование: предотвращение отрыва проводов, повышение надёжности интерфейса «устройство фиксации массивов — комплекс».
— «В целях обеспечения устойчивости соединений при многократных включениях и отключениях», — уже писала Наталья. — Хорошо. Только слово «магнитофон» по‑прежнему не пишем.
— Пункт третий, — подключился Михалыч. — Платы — только стеклотекстолит СФ‑2. Гетинакс оставить для всякой галиматьи, которую дети не трогают. Обоснование: устойчивость к температуре и механическим нагрузкам. Фраза…
— «Для обеспечения стабильности параметров при транспортировке и эксплуатации в учебных помещениях», — подхватила Наталья. — Так сойдёт. Дальше.
— Клавиатура, — сказала Люба, заглядывая в список. — Надо закрепить матрицу и плату антидребезга как часть комплекта. А то в цеху кто‑нибудь решит сэкономить и поставит кнопки от звонка.
— «Клавишное устройство ввода», — поправил её Алексей. — В документации оно так называется. Пишем: матричная схема, плата антидребезга, кодирование семибитное. Обоснование: комфорт оператора, снижение ошибок ввода.
— Комфорт мы писать не будем, — усмехнулась Наталья. — Напишем: «обеспечение точности ввода буквенно‑цифровых обозначений».
— Пункт пятый, — вмешался Евгений, который до этого молча листал свой блокнот с микрокодом. — Команда. Специальный режим загрузки. Вы в бумагах до сих пор пишете, что загрузчик с ленты вводится вручную. Это позор. Нам нужен код, при котором оператор вводит только команду «ЗЛ», а остальное машина делает сама.
— То есть ты хочешь, чтобы мы официально признали, что машина сама себе записывает программу? — прищурился Михалыч.
— Учебный комплекс, — напомнил Евгений. — Мы должны показывать, что такое программирование. «ЗЛ» — это учебный пример: оператор задаёт режим, машина выполняет последовательность. В документации пишем: «режим загрузки контрольного массива с магнитной ленты». Никаких заклинаний. Оператор нажал, лента пошла, всё.
Алексей кивнул. Его самого уже начинало раздражать это заученное наизусть «24 байта руками», которое он месяц назад считал временным злом, а теперь видел, как оно обрастает традицией.
— Пункт пятый, — повторил он. — Ввести в описание монитора команду «ЗЛ». Обоснование: уменьшение ошибок оператора, ускорение работы, повышение надёжности загрузки. Фраза…
— «Предусмотреть режим автоматизированной записи загрузочной последовательности в ОЗУ при минимальном участии оператора», — без запинки набросала Наталья. — Слов «самостоятельно» и «думает» нет. Спать будем спокойно.
Они ещё час разбирали по пунктам мелочи: вынести самотест памяти в отдельный раздел паспорта, зафиксировать индикаторы «Питание», «Готов», «Контроль ОЗУ», добавить в монтажную схему обязательную лампу‑ограничитель при первом включении платы.
Чем длиннее становился список, тем яснее Алексей чувствовал: ни одной фантазии. Всё — уже пережито, прожжено, пропахло канифлью. Просто нужно аккуратно записать.
В другой жизни он нажал бы пару кнопок в системе контроля версий, написал «Release 1.0» и ушёл пить кофе. Здесь «Release 1.0» превращался в тридцать пунктов на бумаге и три подписи снизу. Зато потом он уже не сможет ночью самовольно поменять провод и сказать: «я же только чуть‑чуть».
Эта мысль неожиданно показалась не страшной, а даже успокаивающей.
Через неделю в лаборатории пахло не только канифолью, но и свежей бумагой.
На стене, рядом с привычным кульманом, висели два комплекта листов: слева — схема ЦУБа, справа — общий вид комплекса. Внизу каждой страницы красовалась строка «Редакция 2». Под ней — мелкие подписи: «Разработал — Морозов», «Проверил — Ильин», «Утвердил — Седых».
Саша стоял перед ними, как перед новым экспонатом ВДНХ.
— И всё? — спросил он. — Теперь нельзя ничего менять?
— Можно, — поправил Алексей. — Через НТС, министерство и год жизни. Если тебе очень захочется, можешь попробовать.
Саша поморщился.
— Тогда лучше не менять, — решил он. — А что теперь?
— Теперь ты, — вмешался Михалыч, — идёшь в цех. Там тебя ждут мастера и начальник участка. Будешь им показывать, как твои платы на свет появляются. Они тебе покажут, как у них от шаблонов до обеда два шага, а от брака до премии — один.
— Меня? В цех? — Саша забеспокоился. — А кто же тут пая…
— Паяльник от тебя не уйдёт, — успокоил его Валера. — Но сейчас им надо хотя бы раз увидеть живого автора. Иначе потом будут говорить: «эти в КБ опять нарисовали ерунду, а мы её делай». Ищем общий язык. Не переживай, смелых они любят.
Саша вздохнул, но начал собирать инструменты в сумку.
Алексей смотрел на него и думал, что это, по сути, первый «выход в свет». До этого всё рождалось внутри четырёх стен, между кульманом и стендом. Теперь их логика и все маленькие хитрости уходили в цех, где люди привыкли к тому, что деталь — это железо, а не заметка в тетради.
Это было похоже на тот момент, когда ты показываешь свой сырой код другому человеку и говоришь: «Смотри, это теперь и твоя проблема».
Только вместо кода — схема. И вместо другого программиста — мужик с молотком и нормой выработки.
Вечером Алексей вышел на лестничную площадку между этажами. На доске объявлений, чуть ниже стенгазеты с карикатурой про «ленивый станок», висела новая бумага от отдела кадров: «О наборе мастеров в пилотные школы для работы на учебно‑демонстрационных комплексах».
Буквы были выведены враскорячку, но смысл был однозначный: их машина не останется в одиночестве. К ним добавятся люди. Школьные учителя, лаборанты, инженеры по эксплуатации — как там их придумают назвать.
С лестничного пролёта был виден кабинет Седых. Через матовое стекло угадывалась тёмная фигура, наклонённая над бумагами. На стене, наверное, висел всё тот же ватман с «50 комплектов к 1 сентября», только теперь возле него добавилась маленькая зелёная галочка у строки «Редакция 2 — в КД».
Алексей опёрся о холодные перила.
В другой жизни он бы написал в дневнике проекта: «Milestone reached. Freeze». Здесь у него была только тетрадь, вытёртая обложка и пара страниц, исписанных мелким почерком: список изменений, даты, фамилии.
Он представил себе три пилотные школы. Не абстрактно, а так: класс на двадцать человек, лаборант, который сначала боится включать коробку, потом привыкает; Миша или его аналог, который первым догадается нажать «ЗЛ» без подсказки; пыль на стеклотекстолите, траурная надпись мелом «Не трогать», если что‑то сломается.
Пятьдесят таких ящиков, разъехавшихся по стране. Для министерства — строчка в отчёте. Для него — пятьдесят шансов, что где‑то человек увидит мигающий курсор и не пройдёт мимо.
— На старт, значит, — тихо сказал он себе. — Внимание.
Про «марш» он вслух говорить не стал. Марш у них впереди, до сентября. А сейчас — подготовка к старту: чертежи, оснастка, разговоры с мастерами, письма в снабжение.
Он развернулся и пошёл обратно в лабораторию, где на столе его уже ждала Наталья Сергеевна с новой пачкой чистых бланков.
Сверху крупно значилось: «Инструкция по эксплуатации учебно‑демонстрационного комплекса БВП‑1. Черновик».
— Ну что, — сказала она, — будем учить взрослых, как не бояться вашей машины.
— А детей — как с ней играть, — мысленно добавил он, но вслух сказал другое:
— Будем. Только давайте начнём с пункта первого. «Перед включением комплекса убедитесь, что…»
И стал диктовать, аккуратно превращая их вчерашние «самотесты», «ЗЛ» и «таблицу умножения» в сухие, но нужные слова.