(т. н. 'релейная логика' которая 'программировалась' соединениями проводов в электрической схеме, а команды включались на исполнение последовательно, при помощи программного токораспределителя ПТР)
С появлением на борту изделия БЦВМ появилась возможность проводить прямо на борту сложные математические расчёты, которые до того были возможны только на земле, и организовывать логические ветвления в программе, то есть, задавать гибкую реакцию изделия на внешние возмущающие факторы в намного более широких пределах, чем это позволяла реализовать, к примеру, гироплатформа. При этом изменения программно-математического обеспечения могли привносить последствия куда значительнее изменений электрической схемы или конструкции. Теперь в существующем долгие годы строгом порядке появился нематериальный, непонятный для большинства служб хуже, чем китайская грамота, и нигде не учтённый компонент — программное обеспечение борта — носителя и космического корабля, и наземного комплекса управления. Его нужно было совершенствовать, дорабатывать, дополнять и улучшать по замечаниям после каждого полета, намного чаще, чем 'железо'.
В эти первые годы появления бортовых цифровых вычислительных машин авторы алгоритмов и программ вынужденно работали автономно. Они сами были и архивариусами, и исполнителями изменений, которые вводили в память машины. Это было связано с тем, что из-за мизерного объёма памяти и быстродействия первых ЭВМ программировать их приходилось непосредственно в машинных кодах, вручную распихивая последовательности байтов — адреса, команды и данные — по регистрам. Программа начала 60-х представляла собой таблицу из нескольких граф, заполненную числами в 16-ричной или двоичной системе счисления. Комментарии помогали, но не слишком, так как алгоритм работы по этой мешанине чисел не читался. К программе прилагалась блок-схема, иллюстрирующая логику её работы, но соотнести графические изображения блоков к фрагментами кода программы человеку, не знакомому с ней с самого начала, было очень сложно.
Первые языки высокого уровня — АЛГОЛ и ФОРТРАН, появились примерно за 3 года до полёта Гагарина, и использовались для научных расчётов в 'больших' ЭВМ, занимавших целые залы по 100 квадратных метров. Для 'всякой мелочи', вроде БЦВМ и управляющих ЭВМ ещё долго приходилось использовать прямое программирование в машинных кодах.
(В реальной истории ситуация дополнительно усложнялась полной несовместимостью разных ЭВМ между собой даже по разрядности, при том, что из-за малого объёма памяти о какой-либо эмуляции и речи не шло)
Поставленное Первым секретарём ЦК в октябре 1953 г жёсткое требование совместимости различных ЭВМ по форматам данных (АИ, см. гл. 01-12) соблюдалось для 'больших машин', а в БЦВМ соблюсти его было невозможно, из-за их изначальной 'заточенности' на выполнение конкретной управляющей задачи.
Хотя, казалось бы, машинные коды должны пониматься всеми ЭВМ одинаково, напрямую выполнить программу, написанную для БЦВМ, на стационарной машине не получалось, из-за несовпадения разрядности (4-8 разрядов на БЦВМ и 32-64 разряда на стационаре), разного количества регистров, и прочих подобных конструктивных несоответствий. Из-за этого было много споров, конфликтов, а то и серьёзных ЧП. Ситуация усугублялась своеобразным подходом к проблеме у самих программистов.
Операторов ЦУП и космонавтов готовили, руководствуясь теми самыми учтёнными чертежами, схемами и описаниями. По всем системам корабля и носителя такая документация была. Но, как только переходили к изучению управления движением, специалисты-'управленцы' отвечали, что теперь надо изучать алгоритмы и программы. А они находились, в лучшем случае, в записных книжках, а то и вовсе в памяти разработчиков. Все изменения, вносимые в программы, каждый разработчик помнил, но хорошо, если записывал. Во многих случаях конкретный программист был в командировке или в отпуске, а без него никто другой не мог рассказать, как работает та или другая программная вставка.
(Абсолютно реальная ситуация, 'в натуре' относящаяся к концу 70-х — началу 80-х, когда на советской космической технике начали появляться БЦВМ, см. Б.Е. Черток 'Ракеты и люди')
До появления систем управления версиями, вроде git, были ещё десятилетия и мегабайты памяти, которых пока не было.
Именно с такой ситуацией и столкнулись специалисты ОКБ-1 после третьей аварии 'Днепра'. Инженер, разрабатывавший интересующую всех часть программы, был даже не в отпуске — в выходные ездил на рыбалку, сильно простудился, и теперь лежал в больнице, с температурой 39,5 (АИ). В его отсутствие разобраться в последних внесённых в программу изменениях, никто не мог. Полагаться на память больного человека, лежащего с высокой температурой, было невозможно. Он честно пытался помочь коллегам советами по телефону, но у него в голове всё путалось.
Королёв, узнав об этом, вышел из себя, орал, ругался, но всё было бесполезно — в отсутствие автора программы управленцы, пытаясь разобраться в последних изменениях кода, окончательно запутались. Пришлось ждать несколько дней, пока программисту станет лучше.
Результатом стал грозный приказ о наведении порядка в документации по программному обеспечению. Приказ пытались выполнить срочно, из-за чего в программы были внесены дополнительные ошибки — где-то пропущены строки, кто-то не понял почерк коллеги, в общем, случился феерический бардак.
В итоге, в программе всё же разобрались, ошибку нашли, исправили, заодно перепроверили результаты аврала, обязали разработчиков писать программы только в учтённых тетрадях с пронумерованными и прошитыми ниткой листами (концы нитки заклеивали бумагой и ставили печать у 'секретчиков'. Продырявить тетрадь в 96 листов не так просто, в институте мы 'секретили' тетради, просверливая их на сверлильном станке)
Неудачи и задержки с пуском 'Днепра' заставили Сергея Павловича обратиться к запасному варианту. А тут ещё американцы 27 октября провели первый пробный запуск ракеты-носителя 'Сатурн-1'. В этом полёте работали двигатели только первой ступени. Вторую ступень для балласта наполнили водой. Ракета летела по суборбитальной траектории, испытание проводилось для отработки системы управления и исследования аэродинамики носителя.
На этом фоне требовался хоть какой-то успех. На начало ноября со стыковкой ясности тоже ещё не было, поэтому решили собрать из имеющихся производственных заделов пять первых ступеней для носителя 'Союз-2' и объединить их, чтобы испытать ранее не летавший вариант носителя 'Союз-2.5'. Для его запуска пришлось установить на стартовом комплексе 51-й площадки два дополнительных стартовых стола, это было предусмотрено проектом как штатная операция.
В качестве полезной нагрузки на ракету установили водяной балласт. Шансы, что он долетит до орбиты, оценивались чуть выше 50 процентов. Тогда предложили разместить в цистерне с водой заряд взрывчатки, чтобы распылить её взрывом на большой высоте, и исследовать опытным путём механизм формирования облаков. Для большего эффекта водой заправили ещё и третью ступень ракеты, разместив в ней второй заряд. Двигатель на неё не устанавливали.
(Подобное испытание американцы проводили дважды — 25 апреля и 16 ноября 1962 г, при испытательных пусках РН 'Сатурн-1' https://ru.wikipedia.org/wiki/Проект_Хайуотер)
На ракету поставили новый спасаемый блок управления, тоже имевший в своём составе БЦВМ. Блок установили на 2-й ступени, так как третья была инертная.
Зажигание произошло в штатном режиме, ракета нормально ушла со старта.
— Уже обнадёживает, — заметил Мрыкин. — Хотя бы старт цел остался.
— Не кажи 'гоп', — пробормотал Королёв. — 'Днепр' прошлый раз тоже стартовал вроде нормально.
Главный как в воду глядел. При отработке манёвра по крену в конце участка работы первой ступени, носитель неожиданно закрутило вокруг продольной оси. До отделения первой ступени оставалось менее 10 секунд, и Сергей Павлович дал команду на принудительное разделение. В этот момент один из боковых блоков оторвало, он закувыркался в воздухе.
— Разделение, срочно! — рявкнул Королёв.
Чекунов нажал кнопку, первая ступень отделилась целиком и падала, разваливаясь на части. Двигатель второй ступени включился перед разделением автоматически. Ракета отклонилась от расчётной траектории, но продолжала лететь. Через несколько секунд БЦВМ выровняла её, и вторая ступень вместе с грузом продолжала набирать высоту.
На этом этапе работал только один двигатель, а такой режим уже был хорошо отработан. Расчёт показывал, что был недобор по скорости, но выход на орбиту в этом пуске не планировался. Вторая ступень отработала штатно. В заданный момент произошло разделение, приборный отсек с БЦВМ начал спускаться на парашютах, а высоко в стратосфере уже расползалось рукотворное облако. Оба заряда в водяных цистернах сработали, создав массивное облако капель, быстро превратившихся в ледяные кристаллы. Были отмечены некоторые помехи в радиосвязи.
Двигатели 'Союза-2.5' не спасались при падении. Это затрудняло разбор полёта, но разгадка аварийной ситуации крылась не в них. Это выяснили, проверяя управляющую программу. Как оказалось, в программе в одном месте были перепутаны знаки. При этом, пока носитель шёл ровно, всё было хорошо, а как только начался маневр — силы, действующие на ракету, начали работать 'в разнотяг'. Конструкция, удерживавшая ступени в связке, не была рассчитана на подобное несимметричное приложение нагрузки. В итоге один из блоков оторвался, а возникшая асимметрия тяги неминуемо довершила бы разрушение, если бы не приказ Королёва на досрочное отделение первой ступени. Собственно, она и развалилась, но уже после отделения.
Последовали новые проверки и доработки программы, затем — удачная беспилотная стыковка пригасила недовольство в верхних эшелонах власти, дав конструкторам время на необходимую доводку обоих носителей.
Вместе с орбитальным отсеком и именем 'Союз' корабль получил и новый цифровой индекс 7К. Инициаторами стали руководители проектного 9-го отдела — Тихонравов и Феоктистов. Поскольку их никто не ставил в известность о далеко идущих планах Первого секретаря ЦК, сразу после выступления Кеннеди в Конгрессе, где он предложил свою лунную программу, Тихонравов с Феоктистовым просчитали свои варианты полёта к Луне. (реальная история, см. Б.Е. Черток 'Ракеты и люди').
Проектанты предложили разработать целый комплекс, первоначально тоже названный ими 'Союз'. Он состоял из лунного корабля 7К, разгонного блока 9К и блоков-танкеров 11К для дозаправки. Они должны были использоваться в случае, если не удастся довести до лётной кондиции УРМ 'Днепр'. Тогда облёт Луны можно было осуществить только при помощи уже отработанных носителей Р-7 и 'Союз-2.3', хотя схема получалась головоломная.
Первым предлагалось запустить разгонный блок 9К. При запуске на УРМ 'Днепр' он выводился на орбиту заправленным и нёс 25 тонн топлива (АИ). При запуске на Р-7 или 'Союз-2.3' его предлагалось заправить частично, а затем, ещё тремя пусками танкеров 11К дозаправить до требуемых для облёта 25 тонн (Реальная история). Последним взлетал пилотируемый корабль 7К, с двумя космонавтами, стыковался с разгонным блоком и летел к Луне. После разгона 9К отбрасывался, облёт и возвращение совершал только основной корабль 7К.
Королёв эту громоздкую и дорогостоящую схему сначала сразу забраковал, но было ясно, что без разгонного блока к Луне всё равно не долететь, пока не будет разработан 'ядерный буксир', а сами по себе танкеры 11К, относительно простые и дешёвые, могли пригодиться для снабжения орбитальной станции до момента готовности АКС Челомея и грузового корабля 'Прогресс'.
(АИ, в реальной истории 'Психологическое воздействие полетов Гагарина и Титова было столь велико, что без серьезной технической экспертизы предложение об облете Луны было узаконено постановлением Совета Министров СССР от 16 апреля 1962 года. В этом постановлении впервые появилось название программы 'Союз'. Все три космических аппарата были разработаны, однако изготовление кораблей на производстве шло далеко не блестяще... Королёв решил расширить фронт работ, и 3 декабря 1963 года вышло еще одно постановление, по которому изготовление беспилотных аппаратов 9К и 11К возлагалось на куйбышевский завод 'Прогресс'. см. Б.Е. Черток 'Ракеты и люди')
В итоге, вместо тесно увязанного комплекса из 3-х кораблей разрабатывался комплект орбитальных аппаратов, каждый из которых мог использоваться как совместно с остальными, так и по отдельности. Вместо блока 9К позднее использовали блок 'Д' и другие варианты разгонных блоков. Танкер 11К некоторое время использовали для снабжения топливом орбитальных станций (АИ).
Таким образом, индекс 7К и название 'Союз' естественным образом перешло на вариант 3К 'Север' с орбитальным отсеком. На саммите в Вене Королёв и Макс Фаже прямо на совместном совещании сформулировали более перспективную схему полёта к Луне, опиравшуюся на две орбитальные станции на околоземной и окололунной орбитах, и 'лунный челнок', курсирующий между ними (АИ, см. гл. 06-11). Эта схема внешне выглядела более сложной, но позволяла вести планомерное изучение и освоение Луны. В этом случае беспилотные корабли 9К и 11К тоже могли быть использованы для доставки на орбиту топлива для 'лунного челнока', а корабль 'Союз' 7К — для доставки космонавтов на орбиту.
С первым пилотируемым полётом 'Союза' для Сергея Павловича Королёва всё обстояло очень непросто. Изучая в ИАЦ все связанные с ним события и обстоятельства, он то и дело хватался за голову — столько несуразностей и ошибок было наворочено, начиная с отвлечения на полёты 'Восходов', последовавшие затем программы облёта Луны на корабле 7К-Л1 — двухместном аналоге 'Севера' и РН 'Протон', сколько времени было потрачено на очень большую и сложную ракету Н-1 с невероятным количеством двигателей на первой ступени. Сейчас магистральный путь представлялся намного более ясным — орбитальные станции на орбите Земли, на орбите Луны, 'лунный челнок', курсирующий между орбитальными станциями, строительство ТМК, возможно — станция на орбите Марса, лунная передвижная база, которую начал проектировать Бармин.
Вторым, более близким вопросом, был выбор космонавта для первого пилотируемого полёта на 'Союзе'. Это был чисто психологический момент. Узнав обстоятельства гибели Комарова в 'той' истории, Королёв принял все меры, чтобы исключить катастрофу. Парашютная система была отлажена многократными запусками фоторазведчиков 'Зенит', полётами животных, её работоспособность подтвердили успешные пилотируемые полёты весной 1961 года, ещё раз всё было проверено на беспилотных запусках, да и сам корабль уже не был таким 'сырым', каким был в 'той' истории 'Союз' в момент полёта Комарова.
И всё равно Сергей Павлович волновался. Умом понимая, что сделано всё возможное и невозможное, он всё равно опасался за жизнь космонавта. Решение подсказал Феоктистов. Видя, что Главный находится в затруднении, и почему-то никак не может решиться, Константин Петрович внёс простое и логичное предложение: