
Недавно я наткнулся на Хабре на интересную статью о советском ПМК Электроника МК-61, для тех, кто не знаком с темой советских ПМК (Программируемых Микро Калькуляторов), рекомендую начать именно с неё. Статья заканчивается удивительным пассажем:
Программирование МК-61 имеет глубокий философский подтекст.
Ограниченность ресурсов и доступного инструментария, добровольно принимаемая программистом, отражает собой многовековой опыт аскетических духовных практик. Сложнейшая многоуровневая иерархия программ управления калькулятором – от кода, вводимого человеком, до микрокоманд и микроприказов — есть отражение необычайной сложности божественного мироздания, всех глубин и уровней материи – от крупномасштабных структур вселенной до элементарных частиц, от сознания до неживой материи, от социума до первозданного хаоса и небытия.
Сам микрокод, прошитый в ПЗУ калькулятора, предстаёт объектом благоговейного созерцания, ибо никто не может в полной мере постичь принципы его работы, структуру или как-либо повлиять на его исполнение, склоняя нас к агностицизму и мыслям об иллюзорности свободы воли. Тройственность структуры микрокода – команды, синхропрограммы и микрокоманды – и три процессора калькулятора отсылают нас к вытекающей из христианского представления о Боге как о Троице троичности бытия, к естественной (троичной) аристотелевой логике, к трём уровням человеческой психики и к концепции триединой русской нации.
Программа, подаваемая человеком калькулятору, представляя собой с одной стороны низкоуровневый автокод, составленный из элементарных команд, с другой же – высокоуровневые инструкции, исполняемые прошивкой ПЗУ, демонстрирует нам диалектический закон единства и борьбы противоположностей. Исполнение же программы, когда, пройдя 105 шагов программной памяти, калькулятор возвращается в начало и продолжает исполнение кода, есть образ колеса сансары, а получение решения задачи становится подобием нирваны, достигнутой в результате правильно написанной и выполненной программы.
Автор попал в точку, описав "философский подтекст'" программирования на МК-61. Но, в моём случае, таким подтекстом послужило учение Дона Хуана, изложенное в многочисленных книгах Карлоса Кастанеды. Эта статья подтолкнула меня к тому, чтобы сесть и описать, восстановив по памяти, как концепции Кастанеды шаг за шагом ложились на документированные и недокументированные особенности устройства и работы советских ПМК.
Начну я с самого начала моего знакомства с этой увлекательнейшей темой...

Что для тебя действительно необходимо – это постараться заполучить «союзника»
Карлос Кастанеда. Учение_дона_Хуана.
Моё первое знакомство с ПМК было заочным и состоялось в школьной библиотеке. Листая журнал Техника-Молодёжи в поисках фантастики, я обнаружил рассказ "Истинная правда"

А в нём - строчки странного шифра из смеси букв, цифр и математических символов:

Так выглядела программа для советского ПМК Электроника Б3-34, которая моделировала взлёт и посадку на космическом корабле. Просмотрев прошлые номера, я отыскал и другие статьи, посвящённые ПМК и понемногу освоился с тем, как они должны работать. Через пару недель я даже писал собственные программы, но проверить их в деле без ПМК было невозможно.
Примерно в то же время мне в руки попала первая из серии книг Карлоса Кастанеды. Это был широко известный в узких кругах советский “самиздат” восьмидесятых годов - аккуратно переплетённые пухлые папки отпечатанных на машинке листов.

На меня, советского пионера, эта книга, да и все последующие, произвели ошеломляющее впечатление. В первой книге Дон Хуан много рассказывал Кастанеде о Союзнике — таинственной силе, без которой доступ в мир магии ученику закрыт.
«Союзник, сказал он, это сила, которую человек может ввести в свою жизнь как советника, как источник помощи и сил, необходимых для совершения разных поступков – больших или малых, правильных или неправильных».
Карлос Кастанеда. Учение_дона_Хуана.
Дон Хуан был прав — для доступа в мир вычислительной магии необходим был Союзник, без которого все мои знания оставались всего лишь «сказками о силе». К тому времени, благодаря шефам, у нас в школе появился первый в городе компьютерный класс. Там стояли машины БК0010-Ш, и мы учились программировать на Бейсике. Но школьный БК, увы, на Союзника не тянул. В программах, состоящих из английских слов вроде GOTO, PRINT или STOP, не было ничего загадочного. Да и доступ «к телу» был ограничен часом-двумя в неделю.
Своего союзника я обрёл на следующий год, осенью, и это был МК 61 — флагман тогдашних советских ПМК.

Первой программой, запущенной на нём, конечно же был Лунолёт-1 - та самая программа, с которой началось наше заочное знакомство. Магическая сила перенесла меня на борт небольшого космического аппарата, с помощью которого я смог «оторваться от уз гравитации», как и обещала редакция журнала.
В отличие от школьных БК-шек, у ПМК не было дисплея, экран выводил только цифры. Забивая в память программу, вместо обычных английских слов Бейсика ты видел только адреса и коды команд. Именованных переменных вроде «Высота» или «Скорость» тоже не было, и во время «полётов» на ПМК нужно было знать номера регистров и лезть в них, чтобы посмотреть нужные значения — скорость, высота, остаток топлива, реактивное ускорение и т. п. Да ещё и работал ПМК гораздо медленнее БК, но, как ни странно, работать на ПМК мне нравилось больше.
“Удивительное рядом, но оно запрещено!”
Владимир Высоцкий
Первое время, помимо решения школьных задач, я использовал машинку в основном для “космических программ”, летая над Луной. Но вскоре, благодаря статьям в Технике-Молодёжи, мне открылась ещё одна необычная область использования ПМК: исследование «недокументированных» - не описанных в Руководстве по эксплуатации, операций - “Еггогологию”, как её позднее стали называть в статьях журнала. Термин происходил от слова “ЕГГОГ”, служившего сигналом об ошибке (ERROR). При появлении его на экране, Руководство указывало жать сброс и стараться избегать повторения подобных операций. Однако, как выяснилось, ЕГГОГ оказался чем-то вроде кроличьей норы, ведущей в страну чудес. И путь туда шёл как раз через совершение операций, не одобряемых Руководством. Потому советские пользователи, конечно же, произносили слово по-русски, и вовсю использовали его для расширения возможностей ПМК.
«Затем он сказал, что будет давать мне знание о «союзнике» в точности так же, как его самого учил бенефактор. Слова «в точности так же» он особенно подчеркнул, повторив их несколько раз».
«Учение Дона Хуана»
Несмотря на заявления Руководства о том, что клавиатура ПМК позволяет вводить только цифры, в программах космической серии из журнала Техника-Молодёжи использовались буквы. Для их получения на экране ПМК, редакцией предлагались хитрые алгоритмы, начинавшиеся с «запрещённых операций». Следуя им в точности, я действительно, получал на экране буквы - вместо обычных цифр. (замечу в скобках, что на МК-61 получать буквы можно было и штатными средствами - с помощью логических операций, которых лишена была старшая версия ПМК - Б3-34. Но все "ритуалы" с ЕГГОГами работали на нём в точности так же)
Например, при штатном останове на экран выводилась высота, а в аварийных ситуациях (потеря пилотом сознания от перегрузки или перерасход топлива) высвечивалась буква (!) «Г». Для получения её использовался такой набор команд:
Сх ÷ (ЕГГОГ) ВП ВП ↑ (Г)
Вот что при этом получалось на экране:
Сначала, путём деления на ноль, вызывался ЕГГОГ:

По заявлению Руководства, на экране ERROR — сообщение об ошибке. Но для человека знания, это ЕГГОГ — союзник, приносящий дары в виде буквенных сообщений. И в результате применения к нему операции ввода порядка (ВП):

и ввода в стек (↑), на экране действительно высвечивалась буква "Г":

О шестнадцатеричной системе счисления и о том, что она используется в ПМК, я тогда ещё не знал, но путём прибавления единицы выяснил, что за буквой Г скрывается число 13. Причём машинка относилась к нему, как к обычному числу, которое можно было сохранять в памяти и как-то использовать в вычислениях.
Похожим образом можно было добыть из ЕГГОГа и букву "Е", (соответствующую шестнадцатеричной 14):
1 К÷ (ЕГГОГ) ВП ↑ (Е)

В отличие от прозаического Бейсика, союзник — МК 61, вполне оправдал мои ожидания. Методы получения букв из ЕГГОГа напомнили мне рецепты использования растений силы, описаниями которых изобиловала первая книга - “Учение Дона Хуана”.
С этого всё и началось. По мере дальнейшего чтения Кастанеды я с удивлением обнаруживал всё больше параллелей между его загадочными концепциями: тональ, нагваль, первое и второе внимание, использование сновидений, неорганические существа - и недокументированными возможностями ПМК. Концепция точки сборки и её сдвига из поздних книг удивительно точно упорядочила эти параллели.
Об этом я и хочу написать далее. Для тех, кто захочет собственными руками пощупать, как это всё выглядит на практике, вполне подойдёт и современный эмулятор МК 61, который можно запустить в браузере. Сам я использую эмулятор под Андроид, также реализующий все недокументированные возможности оригинала. В этой и последующих статьях изображения экрана сделаны именно с него.
В следующих статьях я расскажу, как концепции Первого и Второго Кольца Силы ложатся на структуру памяти МК-61, кто такие 'неорганические существа' и где они обитают, что такое 'точка сборки' и как сдвигать её недокументированными командами, а также как обрести способность видения посредством практики искусства сновидения...
Ссылки на все статьи серии ПМК и Кастанеда: |
