ЕГГОГ
A long time ago, in a galaxy far, far away...
События и явления, описанные в этой статье, были давно, и помнит о них разве что пара-другая олдфагов. Но Анонимус не забывает!
ЕГГОГ (англ. error) — на советских программируемых микрокалькуляторах (ПМК) типа «Электроника Б3-34» и «МК-54/-56/-61/-52» — ошибка. Встречается и по сей день на домофонах Cyfral CCD-2094.
Еггогология
Еггогология является побочным продуктом более тяжёлой формы задротства, а именно программирования калькуляторов серии Б3-34. Ограниченная база управляющих инструкций, помноженная на крайне ограниченные ресурсы памяти при необходимости решать реальные задачи практически из всех областей — точных наук, инженерии, экономики, статистики, прогнозирования и т. д. — делали этот процесс весьма нетривиальным. С точки зрения современного быдлокодера, код на языке ПМК выглядит не менее мозговыносящим, чем Brainfuck и Malbolge. Пример — вычисление функции Аккермана:
П1 <-> П0 ПП 06 С/П ИП0 x=0 13 ИП1 1 + В/О ИП1 x=0 24 ИП0 1 П1 - П0 ПП 06 В/О ИП0 П2 ИП1 1 - П1 ПП 06 П1 ИП2 1 - П0 ПП 06 В/О
Но, в отличие от упомянутой эзотерики, это было вполне штатное вычислительное средство, активно использовавшееся даже школьниками. Этот факт при упоминании особенно сильно подогревает анусы впечатлительных кодеров-прогеров.
Новый интерес к теме возник в 2012 году, когда был считан код ПЗУ процессоров этих калькуляторов и написан эмулятор. Любители еггогологии воодушевились, рассчитывая в ближайшее время вскрыть все тайны еггогологии. Однако машинный язык этих процессоров даже по сравнению с кодом для ПМК оказался таким леденящим душу пиздецом, что до сих пор никто толком не может предположить даже, каким образом выводится то самое сообщение ЕГГОГ, не говоря уже о том, чтобы понять глубинные корни еггогологии (хотя на тему потрохов ПМК в своё время была написана целая книга).
Итак, еггогология — изучение и использование недокументированных возможностей ПМК. Началось всё с возведения ЕГГОГа в квадрат (и получения ЗГГОГа), отсюда название. Кто сказал «деление на ноль»? Благодатными были сообщения об ошибках, вызванные возведением космических чисел типа 1×1050 в квадрат. Zero division давало совершенно неюзабельный ЕГГОГ*.
Сообщения об ошибках обладали огромным количеством недокументированных свойств. Свойства эти яростно отрицались предприятием-изготовителем, а произношение «еггог» презрительно высмеивалось. Но недокументированные возможности широко использовались советскими хакерами 1980-х ради:
- лулзов («зависание» калькулятора: дисплей не светится, машина на нажатия кнопок не реагирует, но переключатель находится в состоянии «ВКЛ»);
- расширения вычислительных возможностей калькуляторов (например, работы с числами больше 10100 и меньше 10−100);
- хранение чисел в скрытых (недокументированных) областях памяти;
- сокращение кода на несколько байт за счёт недокументированных команд. Если вспомнить, что под запись кода программы отводилось порядка 100 байт, 2-3 лишних байта — это уже не хрен собачий!
- визуализации (вывод на дисплей НЕХ вместо цифр);
- игр.
Возможно, еггогология является первым задокументированным случаем задрачивания чего-либо как минимум в нерушимом Союзе.
Вестник ЕГГОГологии
Благодаря православному советскому журналу «Техника — молодежи», а также еще более православному «Наука и жизнь», можно было узнавать о новых находках в области программирования калькуляторов ежемесячно. В каждом номере журнала публиковалась фантастическая повесть-с-продолжением о нелегкой и полной событиями жизни космических людей. После очередной главы читателю предлагалось повторить некоторые моменты истории на своем калькуляторе. Например, попробовать перегнать маленький космический корабль с лунной орбиты в точку либрации (написал сие чудо Михаил Пухов, называется «Путь к Земле»). Также на калькуляторе можно было поиграть в экономические стратегии («Кооперативное кафе»), убежать от Минотавра в лабиринте, поучаствовать в Куликовской битве и т. п. Некоторые же выпуски были посвящены православным ЕГГОГам, ЗГГОГам и прочим таинственным тварям, исследовались их повадки и особенности анатомии. Например, доподлинно известно, что ЗГГОГ невозбранно наследует положение десятичной точки числа, бывшего сверху в стеке памяти, если его поменять местами со ЗГГОГом.
Moar задрачивания
Как известно, чем сложнее электронное устройство, тем слабее в нём реализована защита от дурака. Именно благодаря слабой защите ПМК и возникла возможность изучать их недокументированные возможности. Но некоторые фокусы можно было проделывать и на обычных калькуляторах типа МК-42. К примеру, одновременное нажатие двух цифровых клавиш (скажем, 8 и 5) при вводе числа давало сумму соответствующих чисел в шестнадцатиричной форме. В нашем примере это число hex(13), то есть D, занимавшее одно знакоместо и отображавшееся на дисплее как минус. Но если этот минус, к примеру, умножить на 2, just as planned получаем 26.
Копипаста
Основная статья: ЕГГОГ/Копипаста
Программирование МК-61 имеет глубокий философский подтекст.
Ограниченность ресурсов и доступного инструментария, добровольно принимаемая программистом, отражает собой многовековой опыт аскетических духовных практик. Сложнейшая многоуровневая иерархия программ управления калькулятором – от кода, вводимого человеком, до микрокоманд и микроприказов, отражает собой необычайную сложность божественного мироздания, все глубины и уровни материи – от крупномасштабных структур вселенной до элементарных частиц, от сознания до неживой материи, от социума до первозданного хаоса и небытия.
Сам микрокод, прошитый в ПЗУ калькулятора, предстаёт объектом благоговейного созерцания, ибо никто не может в полной мере постичь принципы его работы, структуру или как-либо повлиять на его работу, склоняя нас к агностицизму и мыслям об иллюзорности свободы воли. Тройственность структуры микрокода – команды, синхропрограммы и микрокоманды, и три процессора калькулятора отсылают нас к вытекающей из христианского представления о Боге как о Троице троичности бытия, к естественной (троичной) аристотелевой логике и к концепции триединой русской нации.
Программа, подаваемая человеком калькулятору, с одной стороны представляет собой низкоуровневый автокод, составленный из элементарных команд, с другой же – высокоуровневые инструкции, исполняемые прошивкой ПЗУ, демонстрирует нам диалектический закон единства и борьбы противоположностей. Исполнение же программы, когда, пройдя 105 шагов программной памяти, калькулятор возвращается в начало и продолжает исполнение кода, есть образ колеса сансары, а получение решения задачи становится подобием нирваны, достигнутой в результате правильно написанной и выполненной программы.
См. также
Ссылки
- Эмулятор еггогологии на примере МК-61 и его сородичей.