Проект «Сфера-82»: Цвет и слой - Станислав Миков
Птицын возвращался в лабораторию КБ «Сфера» с таким чувством, будто нес в руках не исписанную оборотную сторону распечатки, а хрупкий стеклянный шар.
В комнате было зябко. Олег возился с толстыми жгутами макетных проводов, Наташа вычерчивала графики на миллиметровке, а Люба тихо щелкала костяшками конторских счет — ей так было привычнее и быстрее сводить предварительные балансы по токам.
Саша сел за клавиатуру «Сферы-82», отодвинул в сторону старые ведомости и положил перед собой чистый лист. Он нарисовал круг. Поставил две точки: «запись» и «чтение». Логика, которая полчаса назад казалась непроходимым лесом, вдруг выстроилась в ясную шеренгу команд. Если аппаратное прерывание от сети дергает процессор, нельзя тратить драгоценные миллисекунды на медленный вывод символа на экран. Нужно просто бросить полученный байт в следующую свободную ячейку по кругу, сдвинуть указатель и мгновенно вернуть процессор к прослушиванию линии. А уже потом, в свободное время, основная программа не спеша прочитает этот байт по второму указателю и нарисует его на мониторе.
— Развязал, — вдруг сказал он вслух, отрываясь от экрана.
Щелканье счет прекратилось. Олег поднял голову от проводов.
— Что развязал, Саш?
— Обмен и печать, — Птицын обернулся к ним, глаза его горели. — Я всё пытался впихнуть в одно действие. А сеть быстрая, экран медленный. Они друг друга тормозили. Надо было просто поставить между ними кольцевой буфер. Прерывание только кидает цифру в память и убегает обратно. А на экран она ползет отдельной очередью, когда процессор свободен.
Олег медленно опустил кусачки на стол и переглянулся с Наташей. Та чуть заметно улыбнулась, отложив карандаш.
— Помнишь, как ты пытался выводить загрузку с кассеты прямо на экран бегущей строкой? — негромко спросила она Олега.
— Помню, — хмыкнул Тимофеев. — У меня тогда лента постоянно теряла синхронизацию, потому что процессор отвлекался на рисование букв. Я тогда чуть магнитофон об стену не разбил, пока мы с Женей буфер не сделали.
Он посмотрел на Птицына уже не как на толкового монтажника, а как на инженера.
— Добро пожаловать в реальное время, Саша. Поздравляю.
— Коды ошибок в отдельную таблицу вынес? — строго, но с явной теплотой в голосе поинтересовалась Люба. — Чтобы Женя потом не ругался, выковыривая твои буквы из рабочего кода?
— Вынес, — с гордостью кивнул Птицын. — Всё по полочкам.
Олег удовлетворенно кивнул и вернулся к своим жгутам, а Саша снова повернулся к мерцающему экрану макета, методично вбивая команды ассемблера.
Позже, когда Птицын в пустом институтском буфете дожевывал холодный пирожок с повидлом, за соседний столик опустились двое из курилки вычислительного центра.
— Ну что, студент? — спросил бородатый системщик, размешивая сахар в граненом стакане. — Победил буфер?
Птицын вытер пальцы жесткой бумажной салфеткой.
— Первая таблица уже не путает обмен и печать, — спокойно ответил он, без лишней гордости, но с твердой уверенностью человека, чей код только что заработал. — Логику развязал. Но надо еще проверять на живом стенде с реальными прерываниями.
Бородатый одобрительно кивнул.
* * *
В лаборатории КБ «Сфера» батареи едва справлялись с январскими морозами, и воздух отдавал металлической стылостью.
Олег Тимофеев положил на стол общую тетрадь. Пружинки переплета сухо звякнули о стекло.
— Вариантов в эфире хватает, — бодро сообщил он, усаживаясь и потирая покрасневшие от бессонницы глаза. — Я посидел ночь на восьмидесятке, поспрашивал народ. Если кинуть клич по личным контактам, уже к выходным у нас тут будет три-четыре цветных шасси. В Рязани мужики отдают битый «Рубин» с живым блоком цветности. В Суздале на даче стоит «Славутич» с пробитым умножителем. Можно не ждать, а собирать макет прямо сейчас!
Андрей Горелов сидел ровно, не касаясь спинки стула. Перед ним лежала папка с черновиками спецификаций закрытой «Сферы-82В». Он перевел взгляд с бумаг на исписанный лист.
— Россыпь разных аппаратов, — спокойно констатировал Горелов.
— Разнобой, — отмахнулся Олег. — Но электрически сигналы можно выровнять на любом железе. Картинку я стабилизирую, зато мы не теряем целую неделю на согласование актов.
Горелов задумчиво коснулся края папки. Он говорил не как проверяющий, а как инженер, привыкший закладывать эксплуатационную надежность с первого дня.
— Вы можете заставить работать любую плату на лабораторном столе, — негромко произнес он. — Но случайная смесь разных аппаратов нам не подойдет. Даже для опытного образца. Как мы и договаривались, за закрытой машиной будет сидеть оператор, а за его спиной — дежурный техник. Если сегодня в нашей опытной партии стоит блок от «Рубина», а завтра — от «Славутича», у нас поедут параметры.
Олег подался вперед, опираясь локтями о стол, готовясь защищать свою идею, но Горелов не дал ему перехватить инициативу.
— У них разное время прогрева кинескопа, дрейф напряжений, свои помехи по питанию, — продолжил Андрей Витальевич, сохраняя ровный тон. — На одном экране аварийный режим получится резким и контрастным, на другом — смазанным. Признак отказа должен быть одинаковым. Порядок ремонта — единым. Если ваш уникальный макет сгорит на объекте, где техник возьмет к нему запасной модуль без разгадывания чужих схем? К радиолюбителю в Рязань поедет?
Тимофеев взглянул на свой список позывных и моделей. Спор приобретал правильные, сухие инженерные очертания. Крыть логику эксплуатации было нечем.
Наташа Рогова подошла к столу бесшумно. На ней был толстый шерстяной свитер грубой вязки, поверх которого небрежно накинут синий рабочий халат. В руках она держала вчерашний бланк дефектовочной ведомости.
Она выслушала концовку спора, подошла вплотную к Олегу, легонько пихнула его бедром, заставляя чуть подвинуться, и положила свою ведомость прямо поверх его исписанной ночной тетради.
— Твой энтузиазм заразителен, Олег, — с мягкой иронией сказала Наташа. — Но мы вчера всё решили. Музей телевизионного зодчества СССР мы не строим. Если договорились искать УПИМЦТ — значит, тащим в КБ только УПИМЦТ. Строго одной модификации.
Олег тяжело выдохнул. Хотелось собрать макет уже сегодня, из того, что удалось найти в эфире. Но он посмотрел на жесткую структуру дефектовки: проверка блока питания, прогрев, снятие напряжений, гальваническая развязка. Без этой строгости первый же опыт превратился бы в угадывание: где виновата «Сфера», где телевизор, а где их собственная спешка.
Он пододвинул к себе общую тетрадь, взял графитовый карандаш и начал решительно вычёркивать неподходящие варианты. У рязанского «Рубина» и суздальского «Славутича» он сразу поставил жирные кресты.
— Сдаюсь. Ищем строго однотипную