Первый заводской ящик привезли в КБ‑3 в тёплый, липкий майский день. Облезлый «рафик» подогнали прямо к крыльцу, водитель с облегчением сдёрнул брезент:
— КБ‑три? Ваше счастье, забирайте.
На фанере чёрным карандашом: «ЦУБ+ОЗУ. БВП‑1. Орёл. 20 шт.»
Саша Птицын, заглянув под брезент, чуть не присел от восторга.
— Красота, — выдохнул он. — Серийка.
Внутри — ровные пачки плат, каждая в бумажном пакетике, на углу штамп ОТК и размашистая подпись: «Смирнова». На платах — знакомая геометрия дорожек, контактные площадки «КТ‑1…КТ‑16», стеклотекстолит, всё по их чертежам. Почти.
Ящики перетащили в лабораторию, разложили на длинном столе. Пахло флюсом, дорожной пылью и чем‑то чуть‑чуть чужим. Алексей провёл пальцами по краю первой платы, почувствовал мелкий заусенец на меди.
— Ну, — Михалыч подошёл сзади, скрестил руки, — родились. Теперь посмотрим, сколько выживет.
Стенд для испытаний ЦУБа Саша собирал ещё зимой и любил как собственный велосипед. Лампа‑ограничитель, розетка, аккуратно смонтированный корпус «Сферы» без крышки. Внутри — родная плата ВКУ, клавиатура от «Консула», блок питания с тем самым тяжёлым ТПП‑100 и банки К50‑6. Вся проводка подписана, каждый кембрик — по инструкции.
— Порядок такой, — объяснял Саша Евгению, хотя тот давно знал. — Ставим плату, подключаем шину, клавишный жгут, ВКУ. Включаем через лампу. Ждём, пока самотест скажет «готов». Если не сказал — ищем, где соврал.
— Ты бы это в стихах прочёл, — заметил Евгений. — Для наших из Орла.
— Для наших из Орла у нас табличка будет, — буркнул Саша. — Сегодня пока сами.
Первую плату установили, проверили глазами все разъёмы, щёлкнули рубильником.
Лампа вспыхнула, сразу ушла в полнакала. На телевизоре «Рекорд» вспрыгнул привычный прямоугольник рамки, пробежала «гимнастика» самотеста ОЗУ — нули, единицы, шахматка, «гуляющая единица». Индикатор «Контроль ОЗУ» погас, «Готов» загорелся.
— Один ноль, — сказал Алексей. — Живой.
Для порядка ввели «2+2», получили честное «4», запустили таблицу умножения. Всё — как дома.
Вторая плата — то же самое. Третья… Лампа моргнула, экран успел показать рамку, самотест начал «гулять» — и застыл на середине. Индикатор «Контроль ОЗУ» так и не погас.
— Ага, — тихо сказала Люба. — Пошло.
— Смотри, — Алексей кивнул Саше. — Ты у нас главный по «лампам правды».
Саша выключил, дал конденсаторам разрядиться, вынул плату. Разложил на столе, подвёл настольную лампу, достал лупу.
— К155ИЕ7, — пробормотал через минуту. — Третья ножка. С одного бока припой есть, с другого — воздух. Держалось на краске.
Он ткнул паяльником, припой тут же потёк вокруг ножки.
— Орёл, — вздохнул Евгений. — Птица гордая, а толку мало.
После пайки плату поставили обратно. Самотест прошёл до конца, «Готов» загорелся, таблица умножения пошла без сюрпризов.
— Один брак на три — не страшно, — попытался успокоить себя Михалыч. — На ламповых БЭСМ и не такие цифры были.
Четвёртая плата не стартовала вообще. Лампа зажглась на полный накал, и Алексей успел выключить питание, почувствовав носом знакомый запах начинающегося перегрева.
— Что там? — он смотрел уже настороженно.
Саша, выкручивая винты, разобрал блок питания, полез к клеммам трансформатора.
— Смотри, — сказал он тихо. — Сетевую обмотку перепутали с вторичной. Зеркало. Они туда двести двадцать отправили, куда мы двадцать отправлять хотели.
— Сколько успел держать включённой? — вмешался Михалыч.
— Секунду, — вскинул голову Алексей. — Лампа спасла.
— Значит, Бог есть, — резюмировал Михалыч. — Или лампа.
Пятый экземпляр прошёл. Шестой — завис на самотесте клавиатуры. На экране вместо аккуратной строки кодов — чепуха.
— Жгут, — не сомневаясь, сказал Алексей.
Жгут оказался из МГТФ, витой, как положено. Но у самого корпуса один кембрик натянут с силой, под ним — надломленная жила.
— Натянули как струну, — огрызнулся Саша. — На натянутой гитаре тоже играть можно. Но недолго.
К вечеру из двадцати плат десять прошли самотест с первого раза, шесть — после пайки и подзажима, четыре явно требовали переделки.
Алексей вывел мелом на доске у стенда цифры: «10/20 — ОК с самотеста. 6/20 — доработано. 4/20 — в ремонт».
— Половина брака, — спокойно констатировал Евгений. — Если в отчёт напишем, нас по одному перещёлкают.
— Нас — нет, — сказал Михалыч. — Проект.
С утра в кабинете Седых пахло не кофе и даже не «Примой», а тревогой. На столе — их вчерашний лист с цифрами, сверху — телефонная трубка, рядом — серая папка с пометкой «Орёл. Переписка».
— Ситуация простая, — сказал Виктор Петрович, щёлкнув ногтем по цифре «50%». — Вот это, — он ткнул в бумагу, — ушло в отдел контроля министерства, потому что мы честные. А вот это, — приложил ладонь к виску, — ушло туда же, потому что орловцы тоже не дураки, у них бухгалтерия. И теперь у начальства есть две бумажки: «пятьдесят процентов брака» и «слишком строгий самоконтроль». Отсюда вывод: «тема технически не готова». Очень удобно.
Он посмотрел на Алексея поверх очков.
— Мне сегодня в обед звонили, — продолжил Седых. — Если через квартал картина не изменится, нам рекомендуют тему «заморозить до устранения недостатков», то есть затолкать в дальний ящик. Я этого не подпишу, это ясно. Но если наверху захотят, меня отодвинут, поставят другого, который подпишет. Вывод?
Алексей молчал. За него ответил Михалыч:
— Вывод — надо не ныть, а снижать брак. И сделать так, чтобы наши самотесты понимали не только Морозов с Громовым, но и тётя Маша с паяльником.
— Вот, — Седых постучал карандашом по слову «самотест». — Орёл пишет: «По результатам проверки самотест выдает неясные комбинации. В эксплуатационной документации отсутствует таблица соответствия кодов некорректной работы. Просим уточнить, что означает „зависание в режиме контроля ОЗУ“ и „отсутствие переключения индикации“.» То есть, переводя с орловского на русский: «ваш самотест ругается, а мы не понимаем на что».
Он передал лист Алексею.
— Вот и объясните им, — добавил Виктор Петрович. — По‑русски. Так, чтобы монтажник мог понять, не окончив заочно мехмат.
Вернувшись в лабораторию, Алексей сел к столу с листом и тетрадью. На полях рядом со словом «Самотест» уже красовались старые карандашные пометки: «гуляющая единица», «шахматка», «флаг годен». Всё — для своих. Для орловской Смирновой это было примерно то же, что для советской домохозяйки — мануал к японскому магнитофону.
Евгений устроился напротив, закурил и, кивнув на бумагу, сказал:
— Ну что, Морозов, будем писать операционную систему для слесаря?
— Будем писать словарь, — поправил Алексей. — И чуть‑чуть подсократим разрыв между нашими мозгами и их паяльниками.
Он нарисовал в тетради два столбца.
Слева — «Код». Справа — «Что болит».
— Смотри, — начал он вслух, чтобы и самому уложилось. — Нормальный проход самотеста — индикатор «Контроль ОЗУ» горел-горел, потом погас, «Готов» загорелся. Без цифр. Значит, ноль. Никаких ошибок.
— Понятно, — кивнул Евгений. — Это мы их сразу обидим. Они привыкли, что если «ничего не пишет», значит, сломалось.
— Мы им не терапевты, — буркнул Алексей. — Но ладно. После нормального старта — код «00», на секунду. Кто успел увидеть — молодец. Кто нет — всё равно не волнуется.
— Дальше, — Евгений кивнул. — Типовые болячки. Память. Если самотест не доходит до конца по ОЗУ, мы и так знаем, где он остановился, а орловцы — нет. Можно сделать так: если на восьмом проходе шахматки ошибка, выводим «01». Если «гуляющая единица» отвалилась — «02».
Алексей записывал:
«01 — ошибка в блоке ОЗУ. Проверить пайку К565 и дорожки адресной шины.»
«02 — ошибка в цепях чтения ОЗУ. Проверить ИЕ‑счётчики, ИД‑дешифраторы.»
— Это они читать будут? — с сомнением спросил он.
— Не они, — возразил Евгений. — Копылов. Лебедев. Начальник участка. Им всё равно нужна бумага, чтобы потом строить своих. Значит, бумагу им дадим.
— Хорошо, — согласился Алексей. — Дальше питание. Если наш детектор провала видит, что стабилизатор не выходит на режим за отведённое время, — пусть выводит «11».
Записал:
«11 — нестабильное питание. Проверить трансформатор, стабилизатор, конденсаторы К50‑6.»
— Клавиатура, — подал голос Саша, присевший сбоку с тетрадкой. — Когда жгут переломан или не припаян, самотест клавиатуры сейчас просто не заканчивается. Можно взять мою тестовую прогу, она и так считает, сколько символ уходит. Если где‑то не уходит — пусть пишет «21».
— «21 — ошибка клавишного устройства ввода», — диктовал Алексей, записывая сразу в два экземпляра: в свою тетрадь и на отдельный лист для Натальи. — «Проверить жгут и плату антидребезга». Дальше что?
— ВКУ, — напомнила Люба, не отрываясь от кульмана. — Когда они путают фазу или не дотягивают контакт, самотест сейчас ведёт себя так, как будто у нас куда‑то пропала синхронизация. Давайте пусть пишет «31».
— «31 — ошибка цепей вывода информации. Проверить блок сопряжения, разъём ВКУ, телевизор». — Алексей закончил строчку, поднял глаза. — И отдельной строкой: «При коде 31 сначала попробовать включить телевизор».
Евгений хмыкнул.
— А то ведь начнут ковырять плату, а вилка из розетки, — согласился он.
— И последнее, — сказал Алексей. — Полный ступор. Если машина зависла до того, как успела что‑то вывести, — это уже не для слесаря, это для нас. Там и код не покажешь.
— Ну, тогда пусть хоть промигивает всеми индикаторами, как фонарик бедствия, — предложил Саша. — Чтобы добить нервную систему проверяющего.
— Не надо, — остановил его Михалыч. — Мы тут железо тестируем, а не инфаркты.
Список кодов ошибки занял полстраницы. Алексей переписал его аккуратно, без клякс, и понёс к Наталье.
Та выслушала, затем вздохнула и перевела инженерный русский на официальный.
«В устройство встроен режим контроля узлов, при котором комбинации на цифровых индикаторах отображают место возможной неисправности. Таблица значений — см. Приложение 3.»
— Приложение 3, — повторил Алексей. — Как это благородно звучит. По сути — шпаргалка «куда смотреть и кого ругать».
— Главное, чтобы внятно, — отрезала Наталья. — У нас теперь в документации будет три уровня читателя: школьник, учитель и монтажник. Я даже боюсь спросить, какой из них самый опасный.
— Монтажник, — не задумываясь, сказал Михалыч.
— Учитель, — одновременно произнёс Евгений.
Наталья усмехнулась.
— Вот и отлично, — заключила она. — Значит, мы на правильном пути. Теперь осталось сделать так, чтобы ваши чудеса с кодами не растянули включение до получаса. И чтобы новый самотест не убил старую память.
— Не убьёт, — уверенно сказал Алексей. — Мы же не «новый», мы надстройку делаем. Базовый тест остаётся. Мы только в конце выводим цифру.
Вечером в машинном зале они с Евгением проверяли новую логическую схему самотеста «на большой машине», чтобы не перешивать всё на глаз. Евгений набрал на перфокартах кусок микропрограммы, включил в план работ через Тихонову, и машина показала, что их «таблица исправностей» укладывается по времени в те же секунды, что и старый самотест.
— Видишь, — сказал Евгений, глядя на алфавитно‑цифровое печатающее устройство, выбрасывающее аккуратные строчки «ERROR=01», «ERROR=21», — теперь мы можем не только знать, что плохо, но и объяснять это в двух цифрах.
— По сути — журнал испытаний на уровне платы, — кивнул Алексей. — Только без бумаги.
Он подумал, но не вслух: в его прежней жизни это называлось бы «автоматические тесты». Здесь — просто чуть более умный самотест.
Через неделю в КБ‑3 стоял второй ящик из Орла. Теперь к нему сверху был приколочен лист бумаги с крупной надписью: «Просим приложить таблицу кодов».
— Просим, — тихо повторил за листком Михалыч. — Ну что ж, просили — получайте.
Сашу Птицына вместе с третьим стендом и пачкой свежих инструкций погрузили в «рафик» и отправили в Орёл. Официально — «для оказания консультационной помощи».
— И для обучения, — наставительно сказал Михалыч.
— Кого? — не понял Саша.
— Всех, — сухо сказал тот. — Их — пайке и контролю продукции, а тебя — терпению в общении с ними.
Монтажный цех в Орле встретил его привычными запахами: канифоль, «Флюс‑3», мокрые халаты. Над одним из столов висела стенгазета с заметкой о передовой монтажнице, которая «овладела методом пайки без перерасхода припоя».
— Это важно, — шепнул Игорь, сопровождавший Сашу как «гость». — Припой — дефицит. Его нужно экономить. Вместе с ножками микросхем.
Их провели к отдельному столу, на котором уже стоял знакомый корпус «Сферы», телевизор, магнитофон и подключенная к стенду плата ЦУБа с наклейкой «Брак».
Вокруг собралась маленькая толпа: монтажницы в голубых халатах, технолог Лебедев, начальник участка Копылов.
— Ну, показывайте свою магию, — сказал Лебедев. — Нам тут написали, что у вас плата сама показывает, кто виноват.
Саша проглотил слюну, включил стенд через лампу. Экран мигнул, самотест побежал — и встал. На экране замерли цифры «02».
— Вот, — сказал Саша. — «Ноль‑два». Смотрим в таблицу.
Он развернул перед Лебедевым листок с аккуратной сеткой.
«02 — ошибка цепей чтения ОЗУ. Проверить К155ИЕ7 (счётчики), К155ИД1 (дешифраторы), пайку дорожек.»
— Это вы так себе написали, — скептически заметил Копылов. — Или нам тоже можно?
— Вам обязательно, — вмешался Игорь. — Это для вас и писалось.
— А дальше, — продолжал Саша, уже обретая голос, — берём лупу и идём по списку. Для начала — К155ИД1. Часто не пропаивают крайние ножки.
Он ткнул паяльником в подозрительное место, где по опыту «дышал» припой. Припой, конечно, оказался только с одной стороны ножки.
После пайки включили ещё раз. Самотест побежал, вывел «00», погас и уступил место надписи «СФЕРА‑80». Таблица умножения вышла без сюрпризов.
— Видите, — Саша улыбнулся. — «Ноль‑два» превратилось в «ноль‑ноль».
Монтажницы переглянулись.
— То есть если у меня, — одна из них, худенькая с серьгой в ухе, ткнула пальцем в таблицу, — высветится «двадцать один», это значит, что мой жгут…?
— Значит, ваш жгут, — подтвердил Саша. — И никто не скажет, что виновата «Москва» или «Орёл». Сразу будет видно, что виновата Галя из третьей бригады.
Все засмеялись. Даже Копылов.
— Ничего, Галя, — сказал он. — Будешь теперь паять так, чтобы «двадцать один» у тебя не горел.
Галя покраснела, но тоже улыбнулась.
— А если «одиннадцать»? — спросил кто‑то сзади.
— Тогда виноват тот, кто крепил трансформатор, — ответил Игорь. — Но этого мы с вами знаем заранее.
Смех смыл напряжение.
— Ладно, — Лебедев взял таблицу, расправил, прикинул, куда повесить. — Повесим вот здесь, рядом со стенгазетой. Пусть народ знает, куда смотреть, когда самотест ругается.
Он повернулся к Саше.
— И ещё, — сказал. — Вы, когда свою новую плату рисуете, учитывайте, что у нас не только глаза есть, но и пальцы. Лишний миллиметр зазора — иногда дешевле, чем неделя поиска такого вот «ноль‑два».
— Будем учитывать, — серьёзно сказал Саша.
К концу месяца картина изменилась. В новом листе у испытательного стенда в КБ‑3 была уже другая запись:
«22/30 — ОК с первого пуска. 7/30 — доработано по самотесту. 1/30 — в ремонт.»
Брак с пятидесяти процентов сполз к десяти. Почти все «ноль‑первые» и «двадцать первые» на заводе ловили сами.
— Видишь, — сказал Михалыч, глядя на циферки. — Самотест теперь работает не только на машину, но и на людей.
— Экзамен, — уточнил Евгений. — Каждой плате — по экзамену. Не сдал — возвращайся в класс.
— В этом и смысл, — спокойно ответил Алексей. — Мы же не музей делаем. Школьную машину. Она должна пережить на себе и галин паяльник, и мишины пальцы.
Он постоял у стенда, послушал тихое гудение трансформатора, следя за тем, как на «Рекорде» мерно мигает курсор.
В тетради он потом добавил ещё одну строчку к той самой: «Возможности расширения» — «…и контроля». Потому что любая возможность стоит чего‑то только тогда, когда её не боишься проверять.
И когда проверку проходит не только железо.