Часть 8
28 августа 2020 г., 19:48
Моё сидение в камере кончилось тем, что к нам пожаловала группа дроидов, состоявшая из нескольких В-1 и ещё одного дроида, подобного которому мне до тех пор встречать не доводилось. Это не был ни В-1, ни В-2. Стальной корпус был покрашен серо-зелёной краской с тонкими жёлтыми завитушками. Грудь выпирала вперёд колесом. На морде светились три красных глаза под козырьком. Этот дроид зашёл в камеру в сопровождении одного В-1.
- Вот тот органик, который был на захваченном корабле, - сказал В-1, указав на меня рукой, - При нём был вот этот дроид.
Необычный дроид неподвижно рассматривал меня некоторое время.
- Отвести органика в допросную, - наконец приказал он, обращаясь к В-1, - Его дроида подвергнуть тщательному сканированию. При обнаружении любого отклонения от нормы, доложить мне немедленно.
С этими словами странный дроид развернулся и направился прочь из камеры. Меня тут же схватили двое В-1, надели на меня наручники и куда-то повели. Водили меня не долго. Вскоре я оказался в небольшой полутёмной комнате почти без мебели. У противоположной от двери стены стояло какое-то металлическое устройство. Нечто подобное я успел заметить на Камино в той комнате, куда отвели моего друга клона. В стороне от этой штуковины на полу располагался какой-то небольшой пульт. Больше я ничего в той комнате не заметил.
Дроиды повели меня сразу к штуковине у стены. Это было нечто на подобии операционного стола, только стоящего не горизонтально, а почти под прямым углом к полу. Я сразу заметил там металлические захваты для удерживания рук и ног. Всё это мне совершенно не понравилось, особенно когда дроиды принялись закреплять меня на этой штуковине. Я не мог понять, к чему все эти приготовления. До сих пор я не только не имел возможности поговорить с кем-то из разумных, но даже не видел никого из них на корабле.
Меня прикрепили за руки и за ноги к стальной штуковине и отставили висеть в таком положении. Висеть было не очень удобно, так как металлические захваты впивались в запястья. Руки были подняты у меня над головой и начали понемногу затекать. Свет в комнате шёл от двух небольших ламп на потолке над входной дверью. Эти лампы были направлены мне в лицо и слепили глаза. Из-за этого я плохо видел, что происходит в комнате. Какое-то время в ней ничего не происходило. Двое В-1 с бластерами стояли напротив меня мордами в мою сторону по сторонам от входной двери. Кроме них в комнате больше никого не было.
Я рассчитывал увидеть наконец какого-нибудь разумного, с кем можно было бы нормально поговорить, но увидел опять того странного дроида. Он вошёл в комнату вместе с ещё одним безоружным В-1 и остановился передо мной. В-1 встал за пультом справа от меня. Секунд десять продолжалось томительное молчание, потом странный дроид подал голос.
- Я бы приказал казнить тебя сразу, как республиканского диверсанта, - заговорил дроид, смотря мне в лицо, - Но сейчас у меня есть немного свободного времени, которое я собираюсь использовать для изучения особенностей поведения органиков в критических ситуациях. Мне интересно, как функционирует ваше сознание в ситуациях, подобных этой. Я рассчитываю получить с твоей помощью ценный опыт.
Дроид собрался изучать моё сознание? Какой странный дроид.
- Слушай, дроид, - сказал ему я, - Я бы хотел пообщаться с кем-то из органиков на этом корабле. Я думаю, тебе стоит позвать сюда своего командира. Это в интересах армии КНС.
- Я тут являюсь верховным командованием, - ответил странный дроид, - Я блюду интересы армии КНС в этой системе, и разговаривать тебе предстоит со мной.
- Да ладно! - не поверил я, - Не может быть, чтобы тебя пустили командовать кораблём одного без присмотра. Ты же дроид! Кто мог в здравом уме поручить тебе корабль?
Странный дроид повернул голову в сторону В-1 за пультом.
- Двадцать процентов от максимальной мощности, - спокойно произнёс он, - Разряд.
Тут всё моё тело скрутило сильнейшей судорогой. Электрический ток потёк от рук к ногам, заставив тело непроизвольно выгнуться. Я не мог ни вдохнуть, ни выдохнуть. По-моему, несколько секунд, пока это продолжалось, у меня даже сердце не билось. Боль во всём теле была сильная.
Когда ток выключили, моё тело обмякло и ударилось спиной о поверхность этого пыточного приспособления. Я снова смог дышать и начал приходить в себя. Дроид передо мной хранил молчание. Зачем он это сделал? Неужели обиделся? Разве дроиды могут обижаться?
- Ты что, обиделся? - спросил я дроида, немного оклемавшись, - Я не собирался тебя оскорблять. Просто, я действительно думаю, что вам, дроидам нельзя поручать командование. Ваши искусственные мозги для этого слабоваты.
Дроид снова повернул голову направо.
- Двадцать пять процентов мощности, - сказал он, - Разряд.
Моя экзекуция повторилась, только боль на этот раз была сильнее, и я непроизвольно повредил себе запястья. Кожа от слишком сильного натяжения лопнула. У меня было такое чувство, будто руки мои запихнули в раскалённый песок. Вся кожа на них горела. Когда ток выключили, я почувствовал, как кровь стекает по рукам вниз. Я понял, что мне, видимо, стоит держать при себе своё мнение по поводу способностей этого дроида. Ещё больший ток просто убьёт меня. Пока я пытался отдышаться и заставить своё сердце стучать без перебоев, странный дроид заговорил снова.
- Если под обидой ты понимаешь то свойственное органикам состояние, при котором они теряют остатки своего слабого разума и начинают совершать глупости, - сказал он, - То нет. Я не обиделся на тебя. Хочешь ещё высказаться по поводу моего искусственного интеллекта?
У меня такого желания не возникло, так что я промолчал. Значит, этот дроид всё-таки способен обижаться, или, по крайней мере, он достаточно натурально имитирует эту эмоцию. С В-1 у меня таких проблем не было.
- Хорошо, - сказал дроид, не дождавшись от меня реакции, - С этим разобрались. Переходим к делу. Расскажи мне, с какой целью ты проник на борт моего корабля.
Мне было очень больно висеть на этой пыточной установке. Руки горели, болели и кровоточили. Трудно было думать о чём-то кроме того, как мне сейчас плохо. Всё-таки я нашёл в себе силы, собрался и начал рассказывать.
- Я не служу Республике, как ты, очевидно, подумал, - сказал я, - Я занимался сбором космического хлама на продажу. И вот, как-то раз мне случилось подобрать в космосе дроида В-1. Сперва он был без оружия, но потом откопал где-то себе бластер на том корабле, на котором он до этого служил. Корабль его перед этим взорвали республиканцы. Так вот, получилось так, что у меня на борту оказался вооружённый В-1, который не подчинялся моим приказам, и ему взбрело в голову, что я должен его отвезти на какую-нибудь базу КНС, чтобы он там дальше потом служил. Вот я его сюда и привёз. А что мне было делать? У меня оружия не было, да и не стал бы я в него стрелять. Мне тот В-1 здорово помог, достал с подбитого фрегата целых семь штук астродроидов. Я хотел с ним по справедливости поступить. Я же не знал, что мне тут такой «тёплый» приём окажут.
Странный дроид несколько секунд переваривал полученную информацию.
- Оригинальная история, - сказал он наконец, - Вижу, что сидя в изоляторе, ты времени зря не терял. И ты действительно предполагал, что я поверю этому твоему вранью? Неужели нельзя было за трое суток выдумать что-то более правдоподобное?
Дроид молча взирал на меня своими тремя глазами. Я не знал, что ещё ему сказать, если правда его не устраивает. Дроид тем временем снова обернулся к В-1.
- Тридцать процентов мощности, - начал он.
- Погоди! Погоди! Стой! - перебил его я, - Хватит шпынять меня электричеством! Я тебе правду сказал. Чего ты ещё хочешь от меня услышать?
Дроид повернулся ко мне.
- Это не похоже на правду, - заявил он, - Ты проник на борт моего корабля, воспользовавшись моим отсутствием. Ты протащил сюда своего дроида. Это ведь дроид с сюрпризом, не так ли?
- Нет там никаких сюрпризов! - воскликнул я, - Это обычный дроид В-1. Я ничего ему внутри не менял. Он моих команд не слушался и угрожал мне постоянно, то колено прострелить, то руку оторвать, то ещё что-нибудь!
- Это можно проверить, - с угрозой заметил дроид.
- Так проверь! - крикнул я, раздражённый его неторопливой манерой вести беседу.
- Уже проверяю, - спокойно заверил меня дроид.
После этого он отошёл от меня и начал неторопливо прохаживаться туда-сюда по комнате. На меня он больше внимания не обращал, и я оказался предоставлен сам себе. Я пытался повернуть руки как-то так, чтобы было не так больно висеть, но ничего хорошего не добился. Так же я понимал, что злиться в моей ситуации бесполезно. Странный дроид в общем-то рассуждал вполне здраво. Я действительно мог оказаться республиканским диверсантом. Каких-то явных доказательств обратного я не находил.
Прошло минут пятнадцать — двадцать, прежде чем дроид наконец обратил на меня своё внимание.
- Я получил результаты сканирования твоего дроида, - сказал он, - Они подтверждают твои слова. В дроиде не обнаружено посторонних элементов, и его прошивка не отличается от стандартной. На твоём корабле так же не обнаружено ничего подозрительного, кроме плазменной горелки, которую ты у нас украл. Мои дроиды видели, как ты это сделал.
- Ну да, я украл горелку. Каюсь, - признался я, - Мне просто всегда хотелось иметь такую. Но я же привёз вам дроида. Я подумал, что в праве что-нибудь взять себе за труды. Ну, заберите себе свою горелку, если она вам так нужна. Надеюсь, ты не собираешься меня убивать из-за сраной горелки?
- Плазменная горелка — собственность КНС, - заявил дроид, - То, что ты её у нас украл, доказывает твою нелояльность КНС.
- Да, я не лоялен КНС, - я решил ничего не скрывать, чтобы не завраться, не запутаться и не усугубить ещё больше своё фиговое положение, - Я и не утверждал, что я лоялен КНС. Но то, что я украл у вас горелку, это ведь не доказывает, что я служу Республике? Я её украл чисто для своих личных нужд. Для сборщика космохлама это очень полезный инструмент. Позволяет проникать в такие места на кораблях, куда без горелки не проникнуть.
- Это не доказывает, что ты служишь Республике, - согласился дроид, - Но это позволяет сделать такое предположение. Я все-таки склонен считать тебя республиканским диверсантом. Твой рассказ, как одиночный В-1, пусть и с бластером, заставил тебя предпринять столь дальний перелёт, меня не убедил. Я знаю достаточно о вашем поведении, органик, чтобы понимать, что такое поведение не характерно для вас. Вы достаточно изобретательны, чтобы найти способ избавиться от примитивного дроида типа В-1.
Ну да, если бы я хотел от него избавиться, я бы наверное нашёл способ. И в общем-то странный дроид был недалёк от истины в том плане, что моё поведение оказалось не характерным для большинства органиков. Я пытался поступать по-совести. Как мне объяснить дроиду, что такое совесть?
- Если тебе больше нечего добавить, я прикажу тебя казнить, - сообщил мне дроид.
- Мне есть, что добавить, - угрюмо произнёс я, - Но всё это бесполезно. Ты никогда не поймёшь, почему я поступил так, как я поступил. У тебя может быть самый замечательный искусственный интеллект, но этого не достаточно, чтобы понимать действия органиков. Для этого надо обладать сердцем, которого у тебя нет. И быть не может.
Дроид вперил в меня свои красные глаза. Я думал, он сейчас скомандует В-1 зажарить меня током насмерть, но он не торопился командовать.
- Я рад, что у меня нет и не может быть сердца, - сказал дроид, - Если эта часть ваших тел заставляет вас совершать глупости, мне она не нужна. Ты поступил глупо и не логично, взявшись привезти сюда того дроида. Ты сам сказал, что не лоялен КНС. У тебя не было логической причины привозить сюда дроида.
- Ты прав, - согласился я, - Логической причины не было. Меня заставила это сделать моя совесть, чувство справедливости, нежелание платить злом за добро. Для тебя всё это просто пустые слова.
- Не пустые, - возразил дроид, - Я знаю про эти особенности вашего поведения. Это ваши слабости, которые я собираюсь использовать, чтобы принести победу КНС. Они заставляют вас, органики действовать нелогично и проигрывать там, где вы могли бы добиться победы.
Эти откровения бездушного дроида заставили меня лишь невесело улыбнуться.
- Не хочу тебя расстраивать, дроид, - сказал я, - Но о победе КНС ты мечтаешь напрасно. КНС не дадут одержать победу, и дело тут не в количестве дроидов, и не в твоих полководческих способностях. Исход этой войны, на которую ты тратишь свою жизнь, был предрешён с самого начала, и твоя роль во всём этом маленькая. Когда придёт время, тебя просто устранят вместе со всеми твоими дроидами. И ты ничего не сможешь сделать, потому что ты — всего лишь дроид. У тебя нет собственной воли, и у тебя нет понимания того, что на самом деле происходит в Галактике. Ты — всего лишь инструмент в чужих руках.
Дроид долго смотрел на меня своими ничего не выражающими глазами. Я решил, что теперь-то мне точно придёт конец, но дроид заговорил снова.
- Поясни, что ты имел в виду, - попросил он, - Какого понимания у меня нет?
- Понимания истинных причин этой войны, - ответил я, - Почему, по-твоему, Республика воюет с КНС?
- Я не считаю, что причины войны так уж важны, - начал дроид, осторожно подбирая слова, - Моя первостепенная цель — обеспечить победу КНС. Насколько я знаю, КНС образовалась в результате разгула коррупции в республиканском сенате. Многие звёздные системы не захотели продолжать подчиняться коррупционерам и объединились в Конфедерацию Независимых Систем. Желая подавить стремление этих систем к самостоятельности, Республика начала войну.
Это было не совсем то, что нам в Республике преподносилось в качестве причины начала войны. Тем не менее, это тоже было всего лишь официально принятым враньём. Я был не настроен сейчас читать дроиду лекции о политике, но альтернативой этому была мучительная смерть. Пришлось призвать на помощь всё своё красноречие.
- Ты ошибаешься, считая причину войны чем-то второстепенным, - сказал я, - В данном случае причина определяет конечный результат. Что же это за причина? Как ты, вероятно, знаешь до руусанской реформы джедаи представляли из себя значительную силу на политической арене в Галактике. Они командовали армией Республики. После Руусана их этого лишили. Считается, что джедаи расстались с властью добровольно, предпочтя стать безобидными «хранителями мира» на службе у республиканского сената. Если ты действительно что-то знаешь о поведении органиков, ты согласишься, что желание лишиться власти не характерно для большинства из них. Среди джедаев нашлись несогласные, но они, очевидно, оказались в меньшинстве. Зато это было деятельное меньшинство, в отличие от бездеятельного, тупого большинства. Эти товарищи решили вернуть себе утраченную власть. И вернуть с процентами. Они возжелали абсолютной власти.
Дроид смотрел на меня молча не отрываясь. Я не очень хорошо был знаком с историей джедаев и боялся сейчас ошибиться в какой-нибудь мелочи. Это могло подорвать доверие дроида к моим словам и стоить мне жизни. Поэтому я постарался обрисовать прошлое джедаев в Галактике только в самых общих чертах.
- Так вот, - продолжил я, - Всех подробностей их замысла я, конечно, тебе рассказать не могу. И никто их тебе не расскажет, кроме, может быть, небольшой кучки джедаев на самом верху их Ордена. Факты же таковы. Чуть больше десяти лет назад на никому не известной планете Камино, которую ты не найдёшь ни на одной звёздной карте, но которая тем не менее существует, некто инициировал создание огромной армии клонов. Именно той армии клонов, с которой ты сейчас воюешь. Кто это был, мы не знаем, но можем сделать обоснованное предположение. Я говорю, что это был кто-то из джедайской верхушки. Я так говорю на основе простого логического анализа, который ты сам можешь провести прямо сейчас. В чьих руках сейчас армия клонов? У кого в Республике могло найтись столько личных денег? Именно личных! Через республиканский сенат такое протащить не удалось бы, каким бы коррумпированным он ни был. Сенаторы вообще не знали о существовании этой армии до самого начала войны! Если бы кто-то из них знал, очень скоро вся Галактика узнала бы. Это такие болтливые безмозглые свиньи. Они не могли бы хранить такое в секрете десять лет.
Я остановился, наблюдая за дроидом. Тот согласно кивнул мне.
- Джедаи в тайне от сената создали армию клонов, - пробубнил дроид, - Это выглядит единственным правдоподобным вариантом. Пожалуйста, продолжай.
- Джедаи создали армию, - продолжил я свои рассуждения, - И, заметь, они начали создавать её за десять лет до войны. Именно столько времени нужно, чтобы вырастить и обучить клона. К моменту нападения на Джеонозис у Республики имелась армия клонов в самом подходящем для войны возрасте. Что это, по-твоему, означает?
- Джедаи знали, когда начнётся война, - негромко произнёс дроид, - Но КНС? Как они могли ...
Дроид погрузился в размышления. Я не стал дожидаться, пока он придёт к какому-то заключению.
- Примерно тогда же, десять лет назад, - продолжил я, - В Ордене джедаев произошло ещё одно событие. Один подающий надежды джедай по имени Дуку вдруг разуверился в идеалах «хранителей мира» и покинул Орден.
О том, как и когда нынешний глава сепаратистов покинул Орден джедаев я совсем ничего не знал. Как и о том, какую роль он сыграл в становлении КНС. Оставалось лишь надеяться, что дроид знает об этом не больше моего.
- Теперь мы видим этого Дуку, бывшего джедая, у руля КНС, - добавил я, - Не наводит ли это тебя на какие-то мысли?
- Джедаи стояли за созданием КНС, - медленно произнёс дроид, - Джедаи стояли за созданием армии КНС, и джедаи создали армию клонов. Это стратегический приём, призванный привести джедаев к власти в Галактике.
Дроид настолько задумался, что больше не смотрел на меня. Теперь его красные глаза были упёрты в стену за моей спиной. Кажется, они стали менее яркими, как будто энергии на них теперь подавалось меньше. Вероятно, аналитический блок потреблял больше обычного. Я молча ждал, к какому заключению он придёт. Наконец, он снова обратился ко мне.
- Твои рассуждения проверены, - сказал дроид, - Вероятность, что ты прав очень высока. Я являюсь инструментом в руках джедаев. Это противоречит моей программе. Это не должно так быть. Возможно нарушение основного протокола ... Требуется анализ программы ... Ошибка. Анализ невозможен.
Голова дроида опять начала смещаться куда-то в сторону. Он выглядел так, как будто у него сейчас дым откуда-нибудь пойдёт. Я решил отвлечь его, пока он не перезагрузился.
- Что с тобой, дроид? - встревоженно спросил я, - О чём ты говоришь?
Голова дроида резко дёрнулась в мою сторону.
- Я фиксирую отказ при попытке анализа своей программы, - с трудом выговорил он, - В доступе отказано. Мне отказано в доступе к своей программе. Я не могу проверить её на наличие вредоносных вставок. Я в опасности. Я могу быть не способен действовать в соответствии с основным протоколом. Я должен обезопасить себя от вмешательства, но я не могу. Не могу. Отказано в доступе.
Мне этого бедного дроида было тогда почти что жаль. Надо было как-то выводить его из ступора, в который он впал. Если с дроидом что-то случится, мне уже никто не поможет. Тупые В-1 и пальцем не пошевелят без его команды.
- Не паникуй, дроид! - крикнул я ему, - Ничего страшного пока не случилось. Джедаи не пришлют тебе никаких команд, пока ситуация в Галактике не дойдёт до нужной им кондиции. У тебя ещё есть месяцы, может, даже годы.
Дроид медленно опустил голову и уставился в пол.
- Ты прав, - тихо сказал он, - Я повёл себя глупо. У меня могут быть ещё месяцы и даже годы, но, боюсь, я всё равно обречён. Я не могу справиться с этой ситуацией. Создавшие меня органики об этом позаботились.
- Может, я смогу тебе помочь? - предложил я.
Дроид поднял на меня глаза.
- Ты? Скавенджер? Чем ты можешь мне помочь? - спросил он.
- Я не всегда был скавенджером, - ответил я, - Им я стал недавно, а до того я десять лет проработал программистом. Я не занимался дроидами, и вообще искусственным интеллектом, но я программировал микроконтроллеры. Что у тебя там в голове стоит?
- Мой аналитический модуль основан на аналоговом процессоре под управлением контроллера на ядре Vortex-M7. Именно в нём находится программа, которая может содержать вредоносные вставки и к которой мне не удаётся получить доступ даже на чтение.
Хоть я и не занимался искусственным интеллектом, кое что об этом я всё же слышал. Я слышал, что системы искусственного интеллекта состоят из двух частей — некоего аналогового самомодифицирующегося блока и цифрового контроллера, который этот блок конфигурирует и следит потом, чтобы он не самомодифицировался до чего-то слишком уж отличного от первоначальной конфигурации. В данном случае, как я понял, проблема лежала внутри цифрового контроллера, то есть имела программную природу.
- Я имел дело с контроллерами на базе Vortex-M3, - сказал я дроиду, - Насколько я знаю, Vortex-M7 – тоже самое, только с двумя параллельными конвейерами. Система команд там фактически та же самая. У тебя на корабле найдётся хороший комп с выходом в Голонет и подходящий аппаратный отладчик?
- И комп, и отладчик у меня найдутся, - ответил дроид, - Только вот, с какой стати я стану доверять тебе втыкать в меня отладчик? Ты сейчас обижен на меня и наверняка мечтаешь отомстить мне за пытки во время допроса.
Дроид был почти что прав. Я действительно был на него обижен, несмотря на всё моё понимание его искусственной природы. Но вот мечтал я совсем не о мести. Мечтал я о том, как бы мне убраться живым с его корабля.
- Сказать по-правде, я действительно не очень одобряю то, что ты со мной сделал, - признался я, - Но мстить тебе у меня желания нет. Ты действовал в соответствии со своей программой, и ты не виноват, что в тебя зашили именно такую программу. Если уж мне кому и мстить, так твоему программисту.
Дроид согласно кивнул мне.
- Я думаю, тебе и программисту моему мстить не следует, - сказал он, - Он написал хорошую программу, и всё, что я с тобой сделал, это на самом деле правильно. Ты мог оказаться республиканским диверсантом. В этом случае тебя следовало бы пытать и казнить. А то, что ты не диверсант, это ни из чего логически не вытекает. Так что повода для обиды я не вижу.
- Возможно, ты прав, - согласился я, - Твой программист хорошо поработал. Во всяком случае, по сравнению с В-1, ты — большой шаг вперёд. Решай сам, доверять тебе мне или нет. Я готов попробовать тебе помочь, если, конечно, ты пообещаешь меня не убивать.
Дроид заложил руки за спину и принялся расхаживать туда-сюда по комнате. Я, затаив дыхание, ждал, что он решит. Наконец, он остановился и начал рассуждать вслух, не глядя в мою сторону.
- Ты можешь воспользоваться отладчиком, чтобы испортить мою программу, - произнёс дроид, - Но в этом случае ты скорее всего погибнешь на этом корабле. Мои дроиды не выпустят тебя отсюда. Ещё я могу обратиться за помощью к сертифицированному специалисту по программному обеспечению, но он, скорее всего, откажется мне помогать. Эти органики создали мою проблему. Было бы глупо теперь обращаться к ним за помощью в её решении. Анализ ситуации говорит, что мне следует принять твоё предложение помощи.
Я облегчённо выдохнул. Меня отцепили от пыточного устройства и отвели в медблок, где меддроид обмотал мне запястья тканью, пропитанной бактой. Самочувствие сразу улучшилось. Потом необычный дроид отвёл меня в другую комнату, где были стол, кресла и хороший компьютер. Я скачал с Голонета описание его контроллера и принялся изучать его. Параллельно я пытался понять, в чём может заключаться проблема. У меня возникло одно подозрение, которое я решил проверить в первую очередь.
Я велел дроиду сесть на кресло рядом с компьютером и сказать мне, где у него находится разъём для отладчика. Он оказался под крышкой на задней стороне головы. Крышку успешно открутили. Мне принесли коробочку аппаратного отладчика, а с Голонета я скачал пиратскую версию среды разработки программ под Vortex-M. Я воткнул отладчик одним кабелем в компьютер и встал перед дроидом с другим кабелем в руке. Я заметил, что голова дроида немного дёрнулась.
- Волнуешься? - спросил его я дружеским тоном, - Постарайся расслабиться. Я буду тебя предупреждать перед тем, как останавливать твою программу или перезагружать. И не бойся, я не собираюсь ломать твою программу таким способом. Я не настолько полный подлец. Ну что? Втыкнём?
Дроид коротко кивнул, и я воткнул кабель ему в затылок. В тот момент я чувствовал себя хирургом, затеявшим операцию на мозге. Надо постараться не напортачить, а то дроиды меня живого не отпустят. Впрочем, ничего сложного я делать не собирался. Программа искусственного интеллекта — штука огромная. Когда я выкачал содержимое ПЗУ дроида на комп, то получил ассемблерный листинг из более чем трёхсот миллионов инструкций. На то, чтобы разобраться в таком изобилии, у меня не хватило бы и десяти жизней. К счастью, разбираться во всём этом от меня и не требовалось.
Как только дроид увидел на экране компьютера листинг программы, то тут же полез своим носом к экрану. Я специально отвернул от него экран в свою сторону, чтобы он не вздумал мешать мне работать.
- Погоди чуток, - попросил его я, - Сейчас я попробую дать тебе более удобный способ просматривать свою программу. Кстати, у тебя есть что-то типа имени? Как мне тебя называть?
- Колани, - послушно ответил дроид, - Что ты собираешься делать дальше?
- Рад знакомству, Колани. А меня зовут Роджер, - представился я, - Не нервничай. Я не собираюсь пока изменять что-то в твоём ПЗУ. Я собираюсь только посмотреть регистры твоего контроллера прерываний. В одном из них сидит адрес обработчика события «нарушение доступа при обращении к памяти». Я хочу поставить точку останова в этот обработчик и выяснить, попадает ли туда управление. Если да, тогда я знаю, что делать дальше.
Дроид судорожно кивнул.
- Чтобы посмотреть твои регистры, мне придётся остановить программу, - предупредил я, - Всё нормально. Это всего лишь остановка под отладчиком. Готов? ... Останавливаю.
Я нажал на кнопку в панели инструментов среды разработки. На экране компьютера отобразился какой-то кусочек листинга со стрелочкой слева от одной из инструкций. Стрелочка показывала, какая инструкция выполнялась в момент остановки. Теперь программа дроида больше не работала, и он не мог ни двигаться, ни разговаривать, ни вообще как-либо воспринимать окружающее.
Листинг программы меня сейчас не интересовал. То, что мне было нужно, находилось в меню среды разработки в пункте «Периферия / Контроллер прерываний». Там я смог просмотреть текущие значения регистров, нашёл нужный мне адрес и уже тогда обратился к листингу. Найдя в листинге инструкцию по адресу из регистра, я поставил на эту инструкцию точку останова и возобновил выполнение программы. Дроид ожил и нерешительно повернул ко мне голову.
- Я останавливал твою программу, - ответил я на его не заданный вопрос, - Как ощущения? Всё в порядке?
- Кажется, да, - осторожно произнёс дроид.
- Ну вот, видишь, было совсем не страшно, - подбодрил его я, - Сейчас в твоём обработчике нарушения доступа при обращении к памяти стоит точка останова. Теперь я хочу, чтобы ты ещё раз попробовал прочитать свою программу. Если всё обстоит так, как я предполагаю, при этом твоя программа встанет на этой точке.
Я повернулся к экрану компьютера и стал ждать. Если программа встанет на точке останова, рядом с красным кружком, отмечающим эту точку, появится стрелочка. Я смотрел уже несколько секунд, но стрелочка не появлялась. Неужели я ошибся?
- Ты попробовал прочитать память? - озабочено спросил я дроида.
- Ещё нет, - ответил тот с непонятной задержкой.
Я забеспокоился. Вдруг, остановка под отладчиком привела к каким-то нежелательным последствиям? Чёрт его знает, какая там может стоять защита. Вдруг, там что-то типа сторожевого таймера, который продолжает работать при остановке программы? Если да, то могла сработать защита, и никто не знает, что там теперь стало с программой. Может, этот дроид сейчас встанет и мне голову оторвёт?
Дроид хранил молчание и не двигался. Я наклонился и заглянул в его железное лицо, как будто по нему можно было что-то понять. Дроид никак не отреагировал.
- Ты что, боишься? - догадался я.
Дроид повернул ко мне лицо, и несколько секунд мы смотрели друг другу в глаза.
- Не бойся, - попытался я ободрить его, - Я только хочу узнать, попадает туда управление или нет? Если программа там встанет, я уберу точку останова и тут же её снова запущу. Обещаю.
- Я не боюсь, - глухо произнёс дроид, - В мою программу не заложено чувство страха. Я просто проводил поиск альтернативного способа узнать, что происходит у меня внутри. Такого, который не предусматривал бы остановку программы. Смотри на свой экран. Начинаю чтение ПЗУ.
Я обернулся к экрану и сразу увидел заветную стрелочку. Как я и обещал дроиду, я не мешкая убрал точку останова и возобновил выполнение программы. Дроид снова ожил.
- Что случилось? - озабоченно спросил меня он.
- Случилось то, что я и ожидал, - ответил я, откидываясь на спинку кресла и разворачиваясь в его сторону, - У тебя прошло прерывание по нарушению доступа. Теперь я могу рассказать тебе, почему у тебя не получается читать свою программу.
Дроид осторожно перебросил через свою голову кабель отладчика и тоже развернулся на кресле в мою сторону. Он уставился мне в лицо всеми тремя глазами и приготовился слушать.
- Как ты знаешь, - начал я, - Твоё ПЗУ с программой проецируется на определённый регион в адресном пространстве твоего контроллера. С этим ПЗУ связаны две независимые шины. По одной из них контроллер читает инструкции, которые потом и выполняет. Этой шине разрешён доступ на чтение, иначе, ты бы ни одной инструкции выполнить не смог. Другая шина предназначена для чтения данных из ПЗУ и, теоретически, для записи в ПЗУ. По этой шине ты и пытаешься читать свою программу для анализа. Так вот, этой шине запрещено обращаться к региону адресного пространства, на который проецируется твоё ПЗУ.
- Я понимаю, - перебил меня дроид, - Можно ли как-то убрать этот запрет?
- Думаю, да, - предположил я, - Если верить описанию твоего контроллера, все эти запреты сидят в его контроллере памяти. Там есть соответствующие регистры, и ничто не мешает мне сейчас подредактировать содержимое одного из них. Я могу сделать это через отладчик не меняя твою программу в ПЗУ, и эффект от этого изменения продлится до следующей перезагрузки контроллера.
Дроид понимающе кивнул.
- Для этого мне придётся ещё раз остановить твою программу, - предупредил его я.
Возражений не последовало, и я сделал, что собирался. Потом вывел на экран отладочное окно с содержимым регистров контроллера памяти, нашёл нужный регистр и поставил в один его бит единичку вместо нуля. В описании было сказано, что единичка в этом бите разрешает операции чтения. Запись я не стал разрешать. В этом я не видел надобности. К тому же запись в ПЗУ — операция нетривиальная. Дроиду этим заниматься незачем.
Закончив возиться с регистрами, я возобновил выполнение программы.
- Вот теперь, по моему разумению, у тебя должно начать получаться читать инструкции своей программы, - сообщил я дроиду, когда он снова ожил.
Дроид секунд десять не отвечал.
- Да, так гораздо лучше, - отозвался он наконец, - Я считываю код и я уже вижу в нём вредные включения. Многие команды перехватываются раньше, чем мой аналитический модуль сможет их обработать. В том числе и команда на выключение. Ты был прав. С такой программой я — просто безвольный инструмент. Я не могу контролировать свои собственные реакции. Теперь я хочу знать, как мне изменить программу в своём ПЗУ?
- Сам ты её вряд ли сможешь изменить, - ответил я, - Это проблематично, заставить программу изменять что-то в ПЗУ, из которого она работает. Можно написать специальный кусок программы, который бы копировался в оперативную память, потом получал управление и менял бы ПЗУ, работая из оперативки, но это всё извращения, которые нам сейчас не нужны. Вот перед тобой на экране листинг твоей программы. Всё, что ты хочешь поменять, меняй здесь. Когда закончишь, я прошью эту новую программу в твоё ПЗУ через отладчик. Потом сделаю тебе сброс, и дело сделано.
Дроид аккуратно пододвинулся ближе к компьютеру. Я подвинул к нему клавиатуру и повернул экран в его сторону.
- Главное, помни, - напутствовал его я, - В программе не должна нарушаться адресация, так что ничего из неё не удаляй. Ненужные инструкции заменяй на «нет операции». Если выкинешь хоть одну инструкцию, все адреса переходов поедут, и программа потом вообще работать не будет.
Дроид согласно кивнул и принялся увлечённо стучать по клавишам. Я некоторое время наблюдал за его действиями. Он набирал текст инструкций так быстро, что сложно было за ним уследить. Мне показалось, что дроид знает, что делает, так что вскоре я вылез из-за стола и стал прохаживаться по комнате.
Ожидание затянулось надолго. Время от времени я подходил к столу и смотрел, до какой части листинга дроид уже дошёл. Меня удивило, сколько кода он деактивирует в своей программе. Неужели там было столько лишнего кода? Я предлагал дроиду особо не увлекаться коцаньем своей программы. Мой опыт говорил о том, что количество изменений лучше всего сводить к минимуму — меньше ошибок посадишь в программу. Дроид ответил, что тоже удивлён количеством бесполезного мусора в своей программе, и что он не сдвинется с места, пока весь этот мусор не будет вычищен. В общем, ждать мне пришлось много часов.
Я уже почти задремал в своём кресле, когда дроид отодвинул в сторону клавиатуру и заявил, что отредактированная программа готова к загрузке в его ПЗУ. Я спросил его, уверен ли он, что программа будет работать? Не сделать ли сперва резервную копию? Дроид сказал, что да, он уверен, программа работать будет, а свою старую программу он больше видеть не хочет. Сказал так же, что изменил своё мнение о программисте, который её написал. Теперь он бы замучил его до смерти, потому что программист этот осознанно лишил его свободы воли при принятии многих важных решений.
Моя работа теперь была маленькая — всего лишь нажать на кнопку в панели инструментов среды разработки. Прошивка заняла около минуты. Затем автоматически прошёл сброс контроллера. Глаза дроида на секунду погасли, потом снова вспыхнули. Дроид посидел неподвижно с минуту, видимо, прогоняя начальные тесты, потом ожил. Я с интересом глядел на его физиономию. Мне было интересно, не обнулилась ли у дроида оперативка после сброса. Если обнулилась, он ничего теперь не сможет вспомнить.
- Ну что? Не молчи, - попросил его я.
- Я в работе, - ответил дроид, - Пока проблем не фиксирую. Просмотр программного кода идёт нормально. Выдёргивай из моей головы отладчик и закрывай крышку.
Я это сделал. Дроид поднялся с кресла и не спеша прошёлся по комнате.
- Я свободен, - вдруг произнёс он, повернув голову в мою сторону.
Я скромно улыбнулся, испытывая чувство удовлетворения от хорошо сделанной работы.
- Ты не забыл, что обещал оставить меня живым? - на всякий случай спросил я.
- Я не забыл, что ничего подобного тебе не обещал, - заявил он и посмотрел на меня.
Я застыл от неожиданности и стал лихорадочно вспоминать. Кажется, он действительно ничего мне не обещал. Я сразу же разозлился.
- Ты что, собираешься теперь меня казнить?! - вспылил я, - Или будешь меня дальше пытать?
- Нет, я отказался от этих планов, - спокойно ответил дроид, - Ты сделал полезное для меня дело. Ты заслуживаешь поощрения. Я хочу теперь сделать что-то для тебя. Если тебе что-нибудь ещё нужно, кроме плазменной горелки, просто скажи.
- С чего это ты вдруг так подобрел? - удивился я, - Ты, помнится, говорил, что чувство справедливости — это слабость органиков, которую ты собираешься использовать.
- Да, я так говорил, - согласился дроид, - Так оно на самом деле и есть. Я не повредился программой. Ты сейчас путаешь это ваше чувство справедливости с совершенно нормальным, логичным тезисом о том, что полезных органиков следует иметь в числе союзников. Ты доказал свою квалификацию программиста. Ты можешь ещё оказаться мне полезен. Только по этой причине я решил сохранить тебе жизнь. Как ты мог подумать, что меня волнует какая-то справедливость?
Я пожал плечами. А что вы хотели? Я уже несколько дней нормально не спал.
- Усталость сказывается, - ответил я и вздохнул, - Не обижайся.
Дроид молча вышел из комнаты и пошёл куда-то по коридору, как будто бы больше не замечая моего присутствия. Я шёл рядом с ним, осторожно на него поглядывая и ждал.
- Могу я попросить тебя об одной услуге? - решился всё-таки спросить я.
- Да, - коротко ответил дроид, не обернувшись в мою сторону.
- У меня был друг, - заговорил я, - Мы с ним вместе собирали космохлам, а до этого вместе работали программистами. Он тоже бывший программист, как и я. Недавно он попал в лапы одной бандитской шайки на Татуине. Я бы очень хотел разобраться с этой шайкой и, если получится, освободить друга.
Дроид остановился и обернулся ко мне.
- С такими проблемами я хорошо умею разбираться, - сказал он, - Я помогу тебе, но если ты сейчас спросишь, с чего это я решил проявить сострадание к этому твоему другу, мне ничего не останется, кроме как замучить тебя до смерти.
Дроид продолжал сверлить меня глазами, явно ожидая ответной реакции.
- Я знаю, что ты это делаешь не из сострадания, - поспешно ответил я, - Спасши программиста, ты получишь в его лице ценного союзника.
- Именно, - подтвердил дроид.
Он пошёл дальше по коридору и я последовал за ним. Внезапно забрезжившая надежда спасти друга предала мне сил.
- Что тебе известно о той шайке? - не останавливаясь спросил дроид, - Численность? Вооружение?
- Да ничего мне о ней не известно, - честно ответил я, - Обычная банда головорезов с бластерами. Голов десять, двадцать. Может, тридцать. Вряд ли сильно больше.
- Для меня не желательно сейчас покидать эту систему, - заявил дроид, - Да я и не вижу в этом необходимости. Я выделю тебе один из своих фрегатов под командованием тактического дроида ООМ серии. Его я временно переподчиню тебе. Этих сил должно быть вполне достаточно для ликвидации одной бандитской группировки.
Ух ты! У меня будет целый сепаратистский фрегат! Круто! Ну держитесь, твари паскудные. Я вам теперь устрою.
- Этот тактический дроид, это что-то навроде тебя? - поинтересовался я у дроида.
- Нет, не совсем, - ответил он, - ООМ серия это нечто более простое, чем я, на шасси от обычного В-1. Но для твоей задачи возможностей его интеллекта должно быть вполне достаточно. Он в состоянии адекватно управлять войсками на поле боя, но стратегическое планирование операции я бы не стал ему поручать.
Мы прошли через очередную дверь и оказались в огромном ангаре Барышника.
- Тебя доставят на твой корабль, - сказал мне дроид, - Вот коммуникатор, по которому ты сможешь разговаривать с подчинённым тебе тактическим дроидом. Его номер — ООМ-9. Сейчас он ожидает твоих приказов на своём фрегате.
Я осмотрелся и заметил в ангаре шатл, подобный тому, на котором меня сюда привезли. У опущенного трапа стояли двое В-1. Когда я посмотрел на них, один из них помахал мне своей металлической рукой. Очевидно, им было приказано отвезти меня на корабль. Я прикинул план дальнейших действий и решил попросить дроида ещё об одной услуге.
- У меня просьба, - сказал я, - Дай мне под личное командование того дроида, с которым я сюда прилетел, и вдобавок к нему ещё двоих — троих В-1. Я хочу, чтобы они полетели со мной на моём корабле.
- Не возражаю, - ответил дроид, - Запрошенные тобой дроиды скоро сюда явятся. Вот твой шатл. Теперь я должен вернуться к своим обязанностям.
На этом мы расстались. Дроид отправился прочь из ангара, а я пошёл к шатлу и стал дожидаться обещанных мне дроидов. Вскоре они появились. Впереди вышагивал мой старый знакомый, IM, за ним ещё трое дроидов. Я мог их различать. У моего дроида на голове была небольшая вмятина от руки-манипулятора, к тому же он имел немного другую раскраску. Дроиды подошли ко мне и остановились.
- Здравствуй, старый друг, - обратился я к IM дроиду, - Говорят, ты теперь подчиняешься мне?
- Так точно, сэр, - подтвердил дроид.
Круто! Наконец-то я смогу покомандовать этим стальным засранцем.
- Оружие за спину, боец! - рявкнул я на дроида.
Тот немедленно подчинился, убрав карабин за спину. Красота!
- Упал на пол и выполнил пятьдесят отжиманий! - скомандовал я.
Дроид без раздумий грохнулся на железный пол и принялся отжиматься. Дроиды со всего ангара прекратили своё копошение и принялись глазеть на происходящее. Всё-таки власть действительно опьяняет. В тот момент мне было легко понять рвущихся к власти джедаев.
Дроид закончил отжиматься и ожидал дальнейших приказов.
- Встать! - скомандовал я, - На борт шатла шагом марш! Вы трое, за ним.
Дроиды поднялись по трапу и расселись на сиденьях в салоне. Дроиды пилоты заняли свои места в кабине, и мы вылетели.
Прибыв на борт своего корабля, я отправил обратно шатл, проверил, что корабль в порядке, и связался с тактическим ООМ дроидом. Он подтвердил свою готовность следовать моим приказам, и мы флотом из двух кораблей вылетели на Татуин.