Димка попытался широким жестом обвести свои владения, но задел какую-то железяку на стеллаже, и она с шумом брякнулась на бетон. Наталья засмеялась. Это разозлило хозяина и творца.
– А ты на себя посмотри! Зам. директора НИИ обратился к тебе за помощью, ты выкатила свои условия, и он на них согласился! И всё почему?
– Да, почему? – продолжая смеяться, спросила Наталья.
– Потому что ты крутая, а он чайник! Чайником был, им и остался. Ты чего-то хотела, или пришла подискутировать?
– Хотела. Я закончила свою программу, и хотела, чтобы ты посмотрел свежим взглядом.
– Прогнать на эмуляторе? Хорошо бы запустить на реальном железе.
– Где же ты реальное железо возьмёшь? У Абрамыча, наверное, готовые контроллеры все наперечёт.
– Ладно, посмотрю, – всё ещё сердито пообещал Димка. – Завтра заходи.
Глава 9. Посылка из Китая
На следующее утро Наталья в нетерпении обошла все окрестные магазины, убивая время, лишь бы Димка не заметил её волнения и не поднял на смех. К одиннадцати часам она решила, что не будет выглядеть слишком навязчивой, и спустилась в заветный подвал. Димка сосредоточенно распаковывал какой-то жёлтый пакет.
– Это чего у тебя такое? – поинтересовалась Наталья.
– Посылка из Китая, – ответил Паяльник. – С утра на почту ходил, только что пришёл.
Он кивнул на суковатую палку, стоявшую в углу у двери, и на недоумённый взгляд
Натальи пояснил:
– Вот хожу теперь с палкой – типа старый стал.
– Да ладно тебе прибедняться! – попыталась утешить его Наталья. – Ты мои коды прогонял?
– Да, вчера глянул. А сегодня на реальном контроллере попробую, – он наконец-то извлёк из жёлтого пакета небольшую плату в антистатической упаковке.
– Что это?
– "Программируемый Управление модуль регулятор промышленная логика доска", – слегка запинаясь, прочитал он надпись на упаковке.
– Ещё раз и по-русски.
– Ну хорошо! – Димка широко улыбнулся. – Только ты сядь сначала. Когда ты первый раз заявилась и вспомнила про этот контроллер, я поискал в интернете. А поскольку я в своё время к этому тоже руку приложил, то знал, что искать. И нашёл. Так вот – наш любимый отдел 20 лет назад добросовестно слизал этот контроллер с американского, только на наших микросхемах. Которые, впрочем, тоже были слизаны с американских.
– Тоже мне секрет! – фыркнула Наталья. – Я об этом ещё тогда слышала.
– Тогда слушай дальше. Китайцы тоже без дела не сидели, и тоже содрали у амеров их контроллер. Теперь продают их по всему свету.
– Ты хочешь сказать, что это аналог контроллера, с которым так носится Абрамыч?! – Наталья ткнула пальцем в блестящую плёнку. – И во сколько тебе эта радость обошлась?
– Чуть меньше ста долларов. И подозреваю, что Абрамыч их покупает в том же интернет-магазине и за столько же!
– Погоди, погоди! 20 лет назад на эту тему выделяли чуть ли не миллионы! Как же…
– Так сейчас проще у китайцев купить готовый аналог. Он и сделан покомпактнее, на заказной микросхеме, а не на рассыпухе, как у нас.
– То есть то, что я программировала, уже давным-давно сделано? – поразилась Наталья.
– А вот тут ты не права! – успокоил её Димка. – Твоя программа написана под конкретное техническое задание, и она уникальна. Ну ты сама подумай – стал бы Абрамыч с тобой связываться, если бы можно было купить у китайцев?!
Наталья облегчённо вздохнула.
– А как мою программу в эту китайскую штуку засунуть?
– Сейчас зашью твой шедевр в ПЗУху, и вставлю в нужное место, – усмехнулся Димка. – Погоди полчасика, посмотришь – что получится.
Наконец программа была записана в микросхему, микросхема вставлена в контроллер, и Димка торжественным голосом провозгласил:
– Включаю!
На китайской платке бодро замигали зелёные светодиодики, вдруг их мигание прекратилось, и сбоку загорелся красный огонёк.
– Ошибка! – прокомментировал Димка.
– А можно узнать, где именно? – взволнованно спросила Наталья. Неужели у неё в программе ошибки?
– Сейчас попробуем, – Димка невозмутимо взял тестовую плату, воткнул её в контроллер и снова запустил программу. Опять загорелась ошибка. – Продиктуй мне цифры с тестовой платы, сейчас я по тексту программы посмотрю.
Наталья послушно продиктовала Hex-коды. Димка ткнул пальцем в экран своего компа.
– Выдаёт ошибку на эту строку.
– Но эмулятор это пропустил, – возразила Наталья. – Что это значит?
Димка задумался.
– Что значит, что значит… Я думаю, это значит то, что наш эмулятор и китайский контроллер – не одно и то же.
– И что теперь делать?
– Я бы на твоём месте изменил программу так, чтобы работало и на китайском контроллере, и на эмуляторе нашего. Потому что у меня сильные подозрения, что Абрамыч будет использовать китайский, но всем скажет, что поставил наш. Потому что за разработку нашего он уже деньги получил.
– Слушай, ну это же мошенничество получается! – возмутилась Наталья.
– Или работа на благо Родины? – в ответ поинтересовался Димка. – Нет, можно, конечно, раздуть скандал, но тогда вторую половину денег Абрамыч тебе точно не отдаст. Кроме того, куда он там этот контроллер собирался приспособить? В лунный автомат? Наверняка запуск отложат, а это уже удар по престижу страны.
Наталья молчала.
– Ну же, твоё решение, госпожа философ! – поторопил её Димка. – А то вчера тут меня упрекала, что я только блоки питания менять умею. Тогда принимай решение сама.
– Но это же… – Наталья была в замешательстве. – От этого очень много зависит…
– И заметь – зависит исключительно от нас! – подмигнул ей Димка.
– А ты как думаешь?
– Я уже сказал – сделай свою программу так, чтобы работала в любом случае. А уж какой контроллер Абрамыч поставит – наш или китайский – пусть это на его совести будет.
Глава 10. Заправлены ракеты
Именно так Наталья и поступила – возилась несколько дней, но добилась, чтобы её программа работала и на китайской плате, и на программном имитаторе отечественного контроллера. Выяснилось, что совершенно нормальную команду китайский контроллер воспринимал как деление на ноль и уходил в ошибку, то есть совместимость железа была не полной. Но Наталья смогла это обойти. До даты, назначенной Борисом Абрамовичем, оставалось ещё пять дней, но шеф уже проявлял нетерпение.
– Наташенька, как наши дела? – ласково пел он в трубку.
В другой ситуации Наталья послала бы его куда подальше, но двадцать пять тысяч долларов, хоть и в рублях по курсу, сделают покладистыми кого угодно. А ведь это был только аванс!
– Борис Абрамович, всё готово!
– Замечательно! – зашёлся от восторга шеф. – Пришли мне код по электронке.
– Конечно, всё как положено – исходный текст с комментариями, скомпилированный код для записи в память контроллера, и программный эмулятор контроллера, чтобы вы смогли проверить код.
– Наташенька, а ты сама всё хорошо проверила? – засомневался шеф.
– Ну конечно, Борис Абрамович! – успокоила его Наталья. Но про отладку программы на китайской плате решила не говорить. Только иносказательно спросила про оставшиеся деньги. – А когда ждать письма от вас?
Она уже не сомневалась, по какой причине обычно крайне скупой шеф так расщедрился. Наверняка он со своими прихлебателями, оставшимися в отделе после её увольнения, присвоили все деньги, выделенные на разработку, а сами при этом ничего не сделали. Аппаратную часть они теперь купили в китайском интернет-магазине, а вот с программным обеспечением деваться им было некуда. Таким образом, своей работой Наталья прикрывала аферу бывшего шефа. За что, собственно, и заломила такие деньжищи. Но совесть её совершенно не мучила. Во-первых, за свою работу она отвечала. А во-вторых, это были её деньги – именно ей они должны были достаться 20 лет назад.
– Наташенька, как только – так сразу! – ещё более сладким голосом ответил шеф. – А пока смотри телевизор. Ты же умница – сразу догадалась, куда пойдёт наше изделие.
"Наше, ага!" – про себя чертыхнулась Наталья, а вслух сказала:
– Ну, скрестим пальцы, чтобы не сглазить.
– Заправлены ракеты, конечно, не водою… – замурлыкал шеф и положил трубку.
На следующий день Наталья поделилась своими сомнениями с компаньоном. Димка отреагировал на это совершенно спокойно.
– Наташка, чего ты паришься? Теперь его проблемы – и как изделие отработает, и как тебе оставшиеся деньги отдать.
– А как думаешь – отдаст?
– Думаю – что нет. Что я, бывшего шефа не знаю?! – и, глянув на Наталью, попытался её успокоить. – Да не переживай ты так! Мало ли, что я думаю! Он же аванс заплатил.
– Да я не по этому поводу переживаю. Димка, мой код в составе изделия полетит в космос! У тебя когда-нибудь такое было?
– Было.
– Ты тоже переживал?
– Ещё как!
– А расскажи! – Наталья уселась напротив и впёрла в него требовательный взгляд. Димка отложил паяльник.
– Делал я как-то одно изделие, тоже для космоса. Поэтому требования жёсткие были – никакой полупроводниковой памяти, только ферритовая матрица. И по помехозащищённости тоже требования, поэтому было избыточное кодирование с коррекцией ошибок. В одну ферритовую матрицу это не лезло, пришлось ставить две. А две матрицы стандартный взрывпатрон не разбивал.
– А зачем разбивать? – не поняла Наталья.
– Система самоликвидации, чтобы не попало в руки врага, – объяснил Димка. – Четыре цикла перезаписи ферритовой памяти, а потом всё разносит взрывпатроном. И мне пришлось возиться с компоновкой, чтобы обойтись одним патроном, потому что ещё по весу ограничения были. В конце концов разместил патрон между матрицами – тогда при самоликвидации всё полностью разбивалось.
– А для чего изделие было предназначено?
– Много вопросов задаёшь! – Димка строго поглядел на неё, и, заметив смущение, засмеялся. – Для чего нужно предназначено!
Глава 11. Кидалово
Прошло пять дней. Потом ещё неделя. Обещанных новостей по телевизору не показывали. Не было известий и от Бориса Абрамовича.
– Неужели обманул? – в который раз переживала Наталья.
– А ты ожидала чего-то другого? – в ответ ухмыльнулся Димка.
– Чего ржёшь-то?! Это, между прочим, и твои деньги тоже!
– Всех денег не заработаешь.
– Да, это утешает! Вот поэтому-то ты и сидишь в своём подвале!
– Наталья, тебе говорили, что у тебя талант злить людей? – сердито спросил Димка. – Чем тут мне мозг выносить, лучше бы Абрамычу позвонила!
– Он мне свой номер не сказал, – огрызнулась Наталья. – Всегда сам звонил на городской телефон.
– А на рабочий ты ему не хочешь позвонить? Или тебя в интернете забанили, номер узнать не можешь?
– Точно! – Наталья полезла в карман за мобильником. – Димка, посмотри сам, пожалуйста!
Борис Абрамович отозвался только на шестом гудке.
– Это я! – представилась Наталья.
– И что я в связи с этим должен… – не узнал её шеф.
– Борис Абрамович, это Наталья, – исправилась она.
– Наташенька, как дела? – после небольшой паузы сориентировался Борис Абрамович.
– Хорошо. Но если бы получила от вас обещанное – были бы ещё лучше.
– Наташенька, нельзя быть такой нетерпеливой! – укорил её шеф. – Ракета заправляется, отсчёт ещё не начат…
– Борис Абрамович, но это уже не мои проблемы, – попыталась настаивать Наталья. – Мы с вами как договаривались?
– Я всё помню, – охотно согласился шеф. – Но войди в моё положение. Сейчас такая суета… Потерпи, как только изделие выйдет на орбиту – то сразу же. Договорились?
И, не дождавшись ответа, он положил трубку.
– Ну что? – поинтересовался Димка.
– Ничего, – расстроилась Наталья.
– Он заплатит, только если его жареный петух клюнет.
– Теперь уже не клюнет. Это к нам прилетела птица обломинго.
– Наталья, выше нос! – Димка ткнул пальцем в монитор. – Смотри – старт лунного беспилотника через три дня!
– И что? – в голосе Натальи сквозила безнадёжность.
– А то! – похоже, у Димки появился план. – Дождёмся старта, а потом позвонишь ему ещё раз. Только перед этим надо будет кое-что уточнить.
– Чего ещё уточнить?
– Какой именно контроллер он поставил на борт – разработки нашего отдела или китайский.
– Димка, ты прекрасно знаешь, что наш отдел ничего не разработал.
– Конечно, знаю. Но Абрамыч-то всем сказал, что разработал. В принципе, небольшая вероятность, что всё-таки его доделали, существует.
– Какое это имеет значение?
– Огромное! – Димка вскочил, и, прихрамывая, стал расхаживать по комнате. – Ты Абрамычу что обещала?
– Софтовину согласно ТЗ, – в недоумении ответила Наталья.
– Которая должна работать на программном эмуляторе его контроллера?
– Так. А чего ты спрашиваешь?
– А того! – Димка довольно потёр руки. – О том, что твой код будет работать на китайской плате, речи не шло.
– Ты же сам сказал, чтобы я сделала так, чтобы работало, – всё ещё не понимала Наталья.
– Но Абрамыч-то этого не знает! Если он выяснит, что наше и китайское железо не до конца совместимо, то поймёт, что твой код может глюкануть. А виноват будет он – потому что поставил туда китайчатину.
– А нам от этого какая польза?
– А такая! – Димка перестал ковылять по комнате и встал в позу Наполеона. – За небольшую денежку ты сделаешь так, что твой код будет работать и на китайской плате.
– Так он уже и так работает!
– Ну вот и замечательно! Значит, Абрамычу осталось только заплатить тебе оставшиеся деньги.
– Димка, ну ты шантажист! – засмеялась Наталья.
– Да, я такой! – Паяльник гордо задрал нос. – Но нужно убедиться, что он воткнул туда китайский контроллер, иначе он нас просто пошлёт.
Глава 12. Третья спецоперация
– А как это сделать? – спросила Наталья.
– Вот это и есть самое сложное, – Димка стал серьёзным. – Сейчас к аппарату никого не подпустят. Поэтому узнать можно будет только по телеметрии, когда выйдет на орбиту и дальше.
– А когда назад вернётся?
– Он должен вернуться на Землю?
– Димка, ты у меня спрашиваешь? Я же не знаю программу полёта.
– Ну хорошо, а что твоя программа делает – знаешь?
Наталья задумалась. Такие подробности её не интересовали, у неё был техническое задание с алгоритмом: "если входные данные такие – делаем то, если сякие – делаем это". Что при этом физически происходит – она понятия не имела.
– Ты знаешь анекдот про программиста и воздушный шар? – печально спросил Димка. – Это где ответ программиста абсолютно точный и абсолютно бесполезный. Так вот – это про тебя!
Наталья разозлилась.
– И что бы тебе это дало? Или ты хочешь послать на спутник запрос и посмотреть, что будет. Ответит по-русски – стоит наш контроллер, по-китайски – китайская плата. Так, что ли?
– Именно! – кивнул Димка. – Или у тебя есть варианты получше?
Вариантов у Натальи не было. Но и Димкин план выглядел невероятно, о чём она и заявила.
– Значит, так! – распорядился Димка. – Я разбираюсь, как дистанционно опознать тип контроллера, а на тебе – обеспечить связь со станцией.
– Это как? – опешила Наталья.
– Очень просто, – у Димки на все случаи был готов план. – Садишься в электричку, едешь в Дубну, там находишь центр космической связи, ну и дальше по обстоятельствам.
– А ты не слишком много от меня хочешь?
– Нет, ровно столько, сколько ты можешь. Наташка, я в тебя верю!
На следующий день, уже сидя в электричке, Наталья поражалась нелепости происходящего. Она пыталась продумать хоть какой-то сценарий событий, но в голове было пусто, как в космическом пространстве. До Дубны она пилила почти три часа. Центр космической связи находится практически за городом. Территория за проволочным забором ощетинилась множеством спутниковых антенн разного калибра. У ворот, как и положено, стоит здание с проходной и охраной.