Ольга Липатова чуть склонила голову, аккуратно опуская иглу звукоснимателя на виниловую пластинку. В комнате пахло свежезаваренным индийским чаем. Проигрыватель «Аккорд» Морозов купил почти сразу же после новоселья, чтобы заполнить звенящую пустоту новой бетонной однушки, но слушать его самому было совершенно некогда. Зато для жены Липатова, преподавательницы музыки, эта стопка пыльных пластинок стала главным поводом приходить в гости. Из динамика с легким шуршанием потекли меланхоличные ноты Шопена.
Морозов сидел в глубоком кресле, вытянув ноги, и молча смотрел на свою гостиную.
Торшер отбрасывал на ковер неровное желтое пятно. На столе, отодвинув в сторону хрустальную вазу с песочным печеньем, возвышалась аккуратная стопка свежих номеров «Науки и жизни». Никакого запаха канифоли. Никакой едкой кислоты, машинного масла или удушливого аромата военного герметика, преследовавшего Алексея всю последнюю неделю. Только дом. Настоящий, обжитой дом, право на который ему когда-то выбил Седых, и который Анна методично, шаг за шагом, превратила из холостяцкой берлоги в место, куда хотелось возвращаться.
— И вот стоим мы в кладовой, — голос Липатова прорвался сквозь меланхоличного Шопена. Конструктор сидел на диване, расстегнув верхнюю пуговицу своей вечно идеальной рубашки, и держал в руке стакан с чаем. — Ждем, пока нам выдадут эту банку. Обстановка там такая, что глаза слезятся. А напротив нас — тетя Маша.
Евгений Громов, сидевший прямо на подлокотнике дивана, фыркнул, чуть не подавившись печеньем. Люба Ветрова прижала ладонь ко рту, сдерживая смех.
— Я, честное слово, мысленно уже сухари сушил, — Липатов покачал головой, и на его лице расплылась широкая хулиганская улыбка. — Думаю, все. Расхищение социалистической собственности группой лиц по предварительному сговору. А Алексей Николаевич ей кивает так спокойно, будто мы не секретный компаунд со склада ПВО берем, а кефир в буфете покупаем. И ставит спирт на стол со словами: «Нам нужна ваша профессиональная консультация».
Комната взорвалась хохотом. Громов хлопал себя по колену. Липатов, человек, который до знакомства с Морозовым упал бы в обморок от одной мысли о нарушении ГОСТа, сейчас искренне, до слез смеялся над собственным криминальным дебютом.
Морозов тоже улыбнулся. Он перевел взгляд в дальний угол комнаты.
Там, на отдельном письменном столе, тихо гудела «Сфера-80М». К счастью, без шильдика.
Прямо под столом, скрестив ноги по-турецки, сидела Анна.
Она расстелила на ворсистом ковре два листа ватмана. Рядом валялись открытые фломастеры, карандаши и линейка. Девушка закусила губу, тщательно выводя контуры квадратного робота-пса на полях будущего учебника по программированию. Ее волосы, собранные в небрежный пучок, чуть растрепались, одна прядь постоянно падала на глаза, и Анна привычно сдувала ее, не отрываясь от работы.
Алексей смотрел на нее. На Липатова, спорящего с Громовым о тактовых частотах. На Любу, разливающую остатки заварки.
В своем двадцать первом веке он привык к стерильным коворкингам, где команды распадались сразу после закрытия раунда инвестиций. Там были нетворкинги, тимбилдинги и KPI. Здесь, в пыльном владимирском октябре восьмидесятого года, у него появилась семья. Настоящая, связанная не контрактами, а общим, почти религиозным безумием и украденным авиационным клеем.
В прошлой жизни команды формировались по матричным структурам. Люди объединялись ради опционов, красивых строчек в резюме и бесплатных смузи по пятницам. Они говорили на мертвом языке дедлайнов и спринтов, оставаясь абсолютно чужими друг другу. Если проект закрывался, они просто собирали свои эргономичные рюкзаки и уходили к конкурентам, даже не оборачиваясь.
В этой тесной хрущевке, среди полированной советской мебели и старых книг, сидели люди, готовые рисковать ради идеи, которая казалась остальному миру ересью. Их связывала не зарплата, а общее сопротивление системе.
Он смотрел на Липатова, педанта до мозга костей, который сегодня с гордостью рассказывал, как прятал под курткой банку ворованного герметика. На Громова, который мог бы писать диссертации в теплом столичном НИИ, но вместо этого сутками ковырял машинные коды на самодельном железе. Их связывал крепкий чай и общее безумие.
Игла дошла до конца пластинки, и динамик издал ритмичный глухой щелчок. Музыка стихла.
— Пора, Сережа, — Ольга мягко выключила проигрыватель и посмотрела на мужа. — Завтра на работу. Да и хозяевам надо отдохнуть.
Лаборатория начала собираться. Зашуршали куртки в прихожей, звякнули ключи. Морозов вышел проводить гостей. Долгие рукопожатия, дежурные шутки Громова про то, что завтра он наконец-то заставит прерывания работать по-человечески.
Хлопнула тяжелая дерматиновая дверь. В квартире мгновенно стало тихо.
Алексей обернулся. Анна никуда не ушла. Она стояла у стола в гостиной, аккуратно собирая грязные чашки в стопку.
— Оставь, — негромко сказал Морозов, подходя ближе. — Завтра помою.
— Завтра ты проснешься за двадцать минут до автобуса, выпьешь пустой кипяток и убежишь в КБ, — Анна легко улыбнулась, подхватывая посуду. — Я знаю твои алгоритмы, Алексей Николаевич. Захвати вон те блюдца. Пошли на кухню.
Желтый свет кухонного плафона отражался в белом кафеле над раковиной. За окном шумел холодный осенний ветер, срывая последние сухие листья с тополей.
Вода с шипением ударила в фаянс. Анна методично смывала чайный налет, передавая чистые чашки Алексею. Он стоял рядом, вытирая их жестким вафельным полотенцем. Их плечи почти соприкасались. В этом простом, совершенно бытовом ритме было столько спокойствия, что Морозов на секунду прикрыл глаза, просто впитывая момент. Мокрая тарелка скользнула в его руки. Пальцы Анны случайно коснулись его ладони — холодные от воды, тонкие. Алексей не убрал руку сразу.
— Ты сегодня весь вечер молчал, — вдруг произнесла она, не глядя на него. Закрутила вентиль крана. Шум воды оборвался. — Смотрел на нас так, будто прощаешься. Или будто мы уравнение, которое не сходится.
Морозов поставил сухую чашку на полку сушилки. Повесил полотенце на крючок.
— Вы сходитесь. Вы идеальная команда, Аня. Уравнение не сходится в другом месте.
Он прислонился спиной к холодильнику, скрестив руки на груди.
— Финал нашей Олимпиады через две недели. Приедет комиссия из министерства. Кураторы из обкома. Товарищ Волков лично будет проверять, как блестит эмаль на наших призовых машинах.
— Шильдики сидят намертво. Липатов гарантировал, — она вытерла руки и повернулась к нему.
— Железо готово. А вот от всей этой партийной показухи тошнит, — Морозов потер переносицу. — Я закрываю глаза и вижу эти эмалированные гербы, тонны отчетов, планы по чугуну… Меня от этой номенклатуры уже трясет. Хочется просто взять и вышвырнуть весь этот абсурд на экран. Написать какую-нибудь абсолютно идиотскую, казенную программу. Симулятор идеального советского бюрократа. Чисто для себя. Из злости.
Анна внимательно посмотрела на него. В ее глазах блеснула та самая озорная искра, с которой она выискивала сюжеты для своих сатирических фельетонов в многотиражке.
— Так напиши, — просто предложила она, едва сдерживая улыбку. — Устроим им план по надоям. Выпустим пар.
— Пойдем, — Алексей усмехнулся, чувствуя, как отступает напряжение последних дней. — Посмотрим, какая из меня выйдет номенклатура.
Домашний прототип ждал своего часа. Это был не просто безликий кусок пластика, а сложнейший организм, каждый узел которого Морозов знал наизусть. Первый прототип «Сферы-80» с новым ПЗУ от Морозова, превратившим её в «Сферу-80М». С микробейсиком вместо неудобного формульного процессора.
Алексей провел ладонью по корпусу. Клавиатура на герконах отвечала на легчайшее прикосновение. Нажатие происходило совершенно бесшумно для электроники — никакого дребезга, только чистый, идеальный логический ноль, уходящий прямо в регистры ЦУБа.
Он щелкнул тумблером питания. Серовато-белое свечение кинескопа начало медленно разгораться, выхватывая из полумрака комнаты пылинки, танцующие в воздухе. Экран мигнул, синхронизируя развертку, и в левом верхнем углу уверенно запульсировал знакомый светлый квадрат курсора. Морозов положил руки на клавиши, чувствуя, как привычно перестраивается его мозг, спускаясь на уровень машинных тактов и адресов памяти. Окружающий мир окончательно растворился.
Сухой, ритмичный стук разнесся по ночной гостиной.
Синтаксис языка был спартанским, оперативная память жестко ограничена, но для текста многого не требовалось.
Злость на абсурд последних недель искала выхода. Долгие торги за спирт, подковерная борьба с Петровым, маразматические требования лепить гербы на тонкий пластик — весь этот монументальный бюрократический бред сейчас преобразовывался в строки кода.
`10 PRINT «ВЫ НАЗНАЧЕНЫ ПРЕДСЕДАТЕЛЕМ КОЛХОЗА „СВЕТЛЫЙ ПУТЬ“.»`
`20 LET P = 50: REM ПЛАН (%)`
`30 LET T = 5: REM ТЕХНИКА (ЕД)`
`40 LET S = 10: REM СПИРТ (ЛИТРЫ)`
`50 LET N = 60: REM НЕРВЫ ПАРТОРГА`
`60 LET F = 3: REM ФОНДЫ (БУМ)`
`70 LET B = 2: REM ЗНАМЕНА (ШТ)`
Анна пододвинула стул и села рядом, почти вплотную. Она положила подбородок на сложенные руки, опираясь на край стола, и смотрела, как на черном экране один за другим появляются символы.
— Что это? — тихо спросила она, читая переменные.
— Симулятор советского хозяйственника, — усмехнулся Алексей, не отрывая взгляда от клавиатуры. — Они хотят идеологию? Они ее получат. Цель игры — выполнить план и не сесть в тюрьму.
Он быстро набил базовый цикл. Годы, сезоны, случайные события.
`100 PRINT «НАСТУПИЛА ВЕСНА. ПОРА СЕЯТЬ.»`
`110 PRINT «У ВАС» T " ТРАКТОРОВ. СКОЛЬКО ОТПРАВИТЬ В ПОЛЕ?"`
`120 INPUT X`
Алексей нажал Ввод. Запустил прогон. Машина послушно вывела текст на экран, ожидая цифру.
Анна разочарованно вздохнула.
— Леша. Это же скука смертная. Как отчет в статуправление. Никакой нормальный чиновник в это играть не будет, у него таких бумажек на столе каждый день стопки лежат.
Алексей остановил программу. Откинулся на спинку стула.
— А что не скучно?
— Не скучно то, как это работает на самом деле, — глаза Анны загорелись. Она придвинулась ближе к клавиатуре. — Ты инженер. Ты мыслишь цифрами. А жизнь состоит из людей и деталей. Дай мне.
Она потянулась к клавиатуре. Алексей чуть отодвинулся, уступая ей место, но остался сидеть рядом. Тепло ее плеча согревало. Запах ее шампуня — что-то неуловимо яблочное — смешивался с едва заметным ароматом нагретого пластика телевизора.
— Смотри, — Анна медленно, ища нужные буквы, набрала команду редактирования строки. — Весна — это не просто пора сеять.
`100 PRINT «НАСТУПИЛА ВЕСНА. ДОРОГИ РАЗМЫЛО. СНАБЖЕНЕЦ ЗАПИЛ.»`
`105 PRINT «ИЗ РАЙКОМА ЗВОНИЛИ, ТРЕБУЮТ УДАРНЫХ ТЕМПОВ.»`
Она повернулась к Алексею, торжествующе улыбаясь.
— Чувствуешь разницу? Сразу появляется напряжение. А теперь давай добавим твои переменные. Трактора.
Морозов рассмеялся. Это было гениально в своей простоте. Он перехватил инициативу, его руки снова легли на клавиши. Он быстро написал блок случайных событий, используя генератор псевдослучайных чисел. `IF RND(1) 0.8 THEN… `
— Хорошо. У нас ломается трактор, — сказал он, выстраивая ветвление алгоритма. — Что происходит дальше?
— Дальше ты не можешь просто купить деталь, потому что ее нет в фондах, — тут же подхватила Анна, включаясь в игру. — Тебе нужно ехать на соседний завод.
Алексей застучал по клавишам. Курсор бешено метался по экрану.
`200 PRINT «СЕМЕННОЙ ФОНД СЪЕДЕН МЫШАМИ. РАЙКОМ ТРЕБУЕТ СЕЯТЬ.»`
`210 PRINT «ВАШИ ДЕЙСТВИЯ:»`
`220 PRINT «1. НАПИСАТЬ ДОКЛАДНУЮ (ПЛАН СОРВАН, ВЫГОВОР)»`
`230 PRINT «2. ВЫДАТЬ МЕХАНИЗАТОРУ СПИРТ И ВЫМЕНЯТЬ ЗЕРНО У СОСЕДЕЙ»`
`240 PRINT «3. ОФОРМИТЬ МЫШЕЙ КАК НОВУЮ ОТРАСЛЬ ЖИВОТНОВОДСТВА»`
Они переглянулись и одновременно расхохотались. Выбор третьего, абсолютно шизофренического бюрократического варианта напрашивался сам собой. Грохот их смеха показался оглушительным в тишине спящей квартиры.
— Только писать каждую ситуацию прямо в коде через PRINT — это непрофессионально. Так мы не только забьем всю память за десять минут, но и получим скучную, линейную историю, где все идет по порядку, — Алексей стер несколько строк и начал перестраивать алгоритм. — Нам нужен банк данных. Я сейчас вынесу всю твою сатиру — тексты событий, варианты ответов и то, как они влияют на ресурсы колхоза — в отдельные блоки в самом конце программы, через встроенный оператор DATA. А в основном цикле напишу универсальный обработчик. Машина будет кидать виртуальный кубик и случайным образом вытягивать из этих блоков нужную ситуацию, подставляя текст на экран.
Математика условных переходов и чтение массивов данных сливались с узнаваемой советской реальностью. Морозов задавал жесткие системные рамки — нехватку ресурсов, лимиты времени, логику случайной выборки. А Анна, с ее острым пером журналиста заводской многотиражки, облачала этот скелет в блестящую сатиру.
Морозов выстраивал математический каркас. Его переменные отвечали за жесткий баланс ресурсов: если где-то прибывало, значит, где-то должно было убыть. Это была холодная, детерминированная вселенная, где нет места эмоциям или случайным ошибкам. Машина не умела сочувствовать сорванной посевной, она лишь методично вычитала значения из памяти.
Но Анна вдыхала в эту мертвую кремниевую логику живую, пульсирующую жизнь. Она прекрасно знала изнанку советского производства. Сотни интервью с передовиками, выезды в подшефные колхозы, душные собрания парткома — весь этот багаж сейчас превращался в строки текста. Она точно знала, как именно разговаривает пьяный механик, какими фразами пишет отчеты инспектор райкомсельхоза и почему дефицитный рубероид всегда обменивают именно на доски, а не на безналичные рубли.
Машина моделировала абсурд бюрократической системы, заставляя принимать решения в условиях вечного дефицита и тотального контроля.
Морозов усложнял экономическую модель. Он завязал логику выживания на неочевидные параметры: «Нервы парторга», «Количество красных знамен» и «Запасы спирта».
— Так, приехала комиссия, — бормотал Алексей, прописывая обработку нового массива. — Проверяют расход горюче-смазочных материалов. У нас недостача.
— Выводи текст, — скомандовала Анна, опираясь локтем на его колено и глядя на экран. — «В колхоз едет ревизор из Отдела по борьбе с хищениями. Ищет неучтенные излишки зерна и прочие безобразия». Дай варианты ответа!
`300 PRINT «1. ПРЕДОСТАВИТЬ ВСЕ КНИГИ УЧЕТА КРИСТАЛЬНО ЧЕСТНО.»`
`310 PRINT «2. ЗАТОПИТЬ БАНЮ, НАКРЫТЬ СТОЛ С ОСЕТРИНОЙ, ОРГАНИЗОВАТЬ РЕВИЗОРУ „УСТАЛОСТЬ“.»`
— Выбираем второе, — Анна со смехом нажала клавишу с двойкой.
Алексей быстро набросал результат обработки выбора:
`350 IF ОТВЕТ = 2 THEN PRINT «РЕВИЗОР УЕХАЛ НА ЧЕТВЕРТЫЙ ДЕНЬ, ЗАБЫВ ПОРТФЕЛЬ С АКТАМИ. В ОТЧЕТЕ ВЫ — КРИСТАЛЬНО ЧЕСТНЫЙ ХОЗЯЙСТВЕННИК.»`
Они переглянулись и расхохотались. Смех снял остатки заводского напряжения, превратив унылую номенклатурную реальность в повод для едких шуток.
Морозов и Анна писали код просто из хулиганства. В этом текстовом алгоритме отражалась вся та система, с которой Алексей бился каждый день. Бартер, блат, приписки, необходимость нарушать правила, чтобы сделать дело.
Анна подалась ближе, опираясь плечом о его плечо. Ее глаза весело блестели в серебристом свете черно-белого монитора.
— Пиши концовку… — скомандовала она сквозь смех, ухватив суть проигрыша. — «Вы слишком часто игнорировали интересы партийного руководства. Парторг написал докладную на имя Первого секретаря. КРУ уже в дороге. Результат предсказуем. Приятного чтения».
Алексей замер, повернув к ней голову. Лицо Анны было совсем близко. В этом тусклом, холодном свете кинескопа она казалась невероятно живой и красивой.
— Ты гений, Аня, — тихо сказал Алексей, искренне восхищаясь ее умением выворачивать бюрократический язык наизнанку.
Она чуть приподняла подбородок и тепло улыбнулась.
— Нет, Леша. Это ты. Я только слова подбираю. А ты заставляешь их работать.
Перед ними на экране застыли строки кода. Для любого стороннего наблюдателя это была лишь непонятная тарабарщина на смеси ломаного английского и русского. Но они вдвоем видели за этими строками целую сатирическую вселенную. Там, внутри оперативной памяти, уже жили своей жизнью виртуальные трактористы, строгие инспекторы и хитрые снабженцы.
В комнате пахло остывшим кофе и нагретым пластиком. Трансформатор блока питания «Сферы» гудел на одной унылой ноте, раскалившись до предела.
Алексей откинулся на спинку кресла и потер воспаленные, режущие от усталости глаза. Физически он был истощен. Каждая мышца спины ныла от многочасового сидения в одной позе. Пальцы слегка дрожали от перенапряжения связок. Но внутри, под ребрами, клокотало чувство озорного, звенящего триумфа. Он сублимировал в этот алгоритм весь стресс от общения с кураторами и унизительность выпрашивания деталей.
Анна сидела рядом. Она подтянула колени к груди, обхватив их руками, и молча смотрела на экран. Там, поверх приглашения интерпретатора, гордо горела надпись:
`П Р Е Д С Е Д А Т Е Л Ь`
`ТЕКСТОВЫЙ СИМУЛЯТОР УПРАВЛЕНИЯ КОЛХОЗОМ`
`НАЖМИТЕ ЛЮБУЮ КЛАВИШУ ДЛЯ НАЧАЛА`
— Знаешь, — Анна слегка улыбнулась, любуясь стартовым экраном. — А ведь это больше, чем просто шутка. Представь, если те самые проверяющие из комиссии сядут за нее.
Алексей замер, массируя затекшую шею. До него вдруг дошло. Они делали это ради смеха, выплескивая злость, а в итоге…
— Они не просто сядут, Аня, — он медленно повернулся к ней, и в его глазах зажегся прагматичный азарт. — Они в ней растворятся. Эта игра бьет прямо в их центр удовольствия — возможность управлять, наказывать и получать отчеты, не вставая со стула. Мы поставим эту машину на стенд, запустим «Председателя», и товарищ Волков забудет, зачем вообще приехал. Он будет выбивать виртуальные трактора у виртуального Госплана, пока мы будем спокойно демонстрировать железо.
Он нажал комбинацию клавиш, сохраняя финальный листинг на кассету. Щелкнули кнопки «Электроники», пленка зашуршала по магнитной головке, записывая писк и скрежет цифровых данных.
Готово. Первая в истории Советского Союза текстовая экономическая стратегия. Несколько килобайт чистой сатиры и беспощадного ресурсного менеджмента. Код, который нельзя было распечатать и повесить на доску почета, но в который можно было играть, забыв про обед и перекур.
— Спасибо, — вдруг сказала Анна.
— За что? — удивился Морозов.
— За то, что показал, как можно побеждать систему, просто смеясь над ней. Это… очень освобождает, Леша.
Она протянула руку и коснулась его плеча. Осторожное, теплое прикосновение.
Алексей накрыл её ладонь своей, чувствуя тонкие пальцы. Давящая масса нерешенных задач и партийных директив на мгновение отступила. Впервые с того момента, как он открыл глаза в теле советского инженера, Морозов не чувствовал себя одиноким. У него была команда, способная украсть ради него военный компаунд. И у него была она — человек, который смог перевести сухой язык его машинной логики в историю, над которой они смеялись весь вечер.
Он поднес ее ладонь к своим губам и легко поцеловал запястье.
— Это тебе спасибо, Аня. Без твоего снабженца и районной бани эта программа не стоила бы и байта.
Она улыбнулась, не отнимая руки, и тихо ответила:
— Нажимай «Старт», председатель. Посмотрим, выживет ли наш колхоз.
Примечание автора: Алексей поделился со мной исходниками «Председателя», так что вы, уважаемый читатель, тоже можете в него поиграть: https://sfera80.silicone-brain.ru/chairman/(кликабельная ссылка опубликована на странице произведения на АТ)