ru:https://highload.today/blogs/o-razrabotke-mobilnyh-prilozhenij-v-sssr/ ua:https://highload.today/uk/blogs/o-razrabotke-mobilnyh-prilozhenij-v-sssr/
logo
Истории      17/05/2021

Как разрабатывали мобильные приложения в СССР: эмулятор советского калькулятора с подборкой игр

Вадим Хохлов BLOG

мобильный разработчик в Postindustria

Меня зовут Вадим, и я работаю разработчиком мобильных приложений в компании Postindustria. А начинал я карьеру мобильного разработчика еще в прошлом тысячелетии, причем в государстве, которого больше не существует.

Характеристики мобильных устройств

«Электроника МК-61». Источник: Wikipedia

Девайс, с которого началось мое вхождение в профессию, — это программируемый микрокалькулятор (ПМК) «Электроника МК-61». Этот калькулятор использовал обратную польскую запись (привет, Forth!), поэтому почти все, кто его первый раз видел, спрашивали: «А где здесь “равно”?». Также у калькулятора было 15 регистров для хранения данных и 105 байт оперативной памяти.

Так что в моем детстве игрушки были даже не килобайтными.

После выключения питания ОЗУ очищалось, и при следующем включении программу приходилось вводить заново. Позже появилась «Электроника МК-52», у которой была не только энергонезависимая память, но и возможность подключать блоки расширения памяти (БРП) с дополнительными программами.

ПМК Store/Play

Источник: darudar.org

В СССР было выпущено несколько десятков книг о ПМК и программах для них. Например, первой моей книжкой-учебником была «Калькулятор — твой помощник и соперник в играх». Она у меня появилась даже раньше, чем сам калькулятор. Также было выпущено несколько БРП для МК-52.

Но, пожалуй, наибольший вклад в популяризацию ПМК и программирования внесли ряд советских журналов. Одним из первых стала писать о ПМК «Наука и жизнь». Также ряд статей опубликовал журнал «Квант». За редким исключением рассматривались, в основном, прикладные программы. Игр было довольно мало.

Кардинально ситуация изменилась с появлением в журнале «Техника — молодежи» (ТМ) рубрики «Клуб электронных игр». За годы существования рубрики в ней не только опубликовали множество разнообразнейших игровых программ, но и много внимания уделяли недокументированным возможностям ПМК.

Еще одним журналом, уделявшим внимание игровым программам, была украинская «Пионерия».

В 1988 году возник Клуб любителей игровых программ (КЛИП) — своеобразная социальная сеть (а точнее, BBS) по переписке. Клуб
объединил до 600 пользователей ПМК со всего СССР. С историей КЛИПа можно ознакомиться здесь и здесь.

Классификация игр

Несмотря на довольно ограниченные ресурсы ПМК для них разрабатывали большое количество игровых программ. Можно выделить несколько жанров игр.

Симуляторы

Существовало множество разнообразных симуляторов. Как правило, процесс игры выглядел следующим образом. Игрок вводил новые значения ряда параметров (расход топлива, новая скорость, угол наклона, период времени, в течение которого эти параметры действовали) и запускал вычисления. Через какое-то время ПМК показывал новое положение и параметры симулируемого объекта (высота или пройденное расстояние, новая скорость и т.д.).

Курс QA.
Найпростіший шлях розпочати кар'єру в ІТ та ще й з гарантованим працевлаштуванням.
Приєднатися

Так как во времена СССР очень популярной была тема космоса, то существовал ряд симуляторов космических летательных аппаратов. В ТМ напечатали фантастическую повесть «Путь к Земле», в которой герои на маленьком лунолете совершают перелет с Луны на Землю. Каждая глава описывала какой-то один из этапов путешествия.

Главы также сопровождались одной или несколькими программами, с помощью которых читатели могли удостовериться, что все описанное — истинная правда. Таким образом, авторы ТМ создавали художественное произведение по программам для компьютеров (или программы по книге) задолго до того, как это стало мейнстримом.

Стратегии

Первой экономической стратегией, в которую я играл, был «Веселый фермер» симулятор колхоза: нужно было садить разнообразные агрокультуры и собирать урожай. После того, как в СССР разрешили гражданам заниматься индивидуальной трудовой деятельностью (тогда это так называлось), появился симулятор кооперативного кафе.

Также были военные стратегии. Например, можно было повторить битву под Фермопилами или Невскую битву.

Настольные

Очевидно, что научить ПМК играть в шашки, а тем более в шахматы невозможно. Однако разыграть некоторые эндшпили вполне реально.

Игра «Волк и овцы». Источник: Wikipedia

Самой интересной для меня игрой была «Волк и овцы». Быстро выяснилось, что на обычной шахматной доске 8×8 играть не интересно: четыре овцы всегда выигрывают, а три — проигрывают. Поэтому был разработан вариант игры на поле 9×9. И хотя реализовать минимаксный алгоритм было нельзя, итоговая программа получилась довольно сильной. Эта игра меня на столько впечатлила, что позже я сделал вариант для MS-DOS, а какое-то время назад — и для Android.

Динамические видеоигры

Две особенности ПМК позволяли реализовать даже динамические видеоигры.

Во-первых, во время вычислений на индикаторе отображались какие-то текущие значения. Таким образом можно было демонстрировать динамическую «картинку».

Во-вторых, в первых моделях калькуляторов был забавный аппаратный баг. ПМК имели переключатель «Р-Г» для вычислений тригонометрических функций в градусах и радианах соответственно. Вскоре выяснилось, что если не устанавливать переключатель в крайние положения, а зафиксировать по центру, то он будет выполнять вычисления в градах (100 градов — это 90 градусов).

Вскоре этот баг превратили в фичу: у переключателя появилось третье состояние — «ГРД». Если вычислить значение cos 100, то можно определить положение переключателя: для градусов получим значение -0,17, то есть отрицательное значение, для градов — естественно, 0, для радиан 0,19 — положительное число.

Все игры этого жанра строились по одному принципу: ПМК какое-то время показывал на экране текущую ситуацию, давая игроку возможность принять решение. Затем определял положение переключателя «Р-ГРД-Г» и выполнял вычисления. Со стороны это выглядело довольно забавно: игрок всматривался в мигающий экран и судорожно теребил переключатель.

Еггогология

Как всякий уважающий себя компьютер, ПМК мог отображать шестнадцатеричные числа. Но из-за ограничений индикатора выглядели они немного странно. Например, « обозначалась как «, « — «. При возникновении ошибок калькулятор выводил слово Error, но выглядело оно как ЕГГОГ, что и дало название процессу изучения недокументированных возможностей ПМК.

Выполняя хитрые операции над очень большими числами (которые калькулятор теоретически не мог отображать) или обращаясь к большим адресам программной памяти, можно было получать разнообразные надписи.

Калькуляторы МК-61/52 поддерживали операции булевой алгебры. Но их обычно использовали лишь для формирования ряда сообщений: «8CE» — игра окончена, «8-L8EC» — человек проиграл. Также было несколько игр, использовавших эти операции для кодирования лабиринтов.

Более подробно история ПМК изложена здесь, а здесь — большой набор игр.

Симуляторы и эмуляторы ПМК

Существует несколько симуляторов ПМК, например «Калькуляторы-3000». Есть также реальный эмулятор emu145. Автор эмулятора Феликс Лазарев даже покупал профессиональный микроскоп для фотографирования микроконтроллеров серии 145/745. На этом форуме можно проследить историю разработки.

На основе emu145 Станислав Боруцкий создал эмулятор для Android.

Есть также js-версия эмулятора.

Мой путь

У меня калькулятор МК-61 появился в 1989 году. О существовании КЛИПа я не знал. Основную массу программ черпал из ТМ — либо переписывал в библиотеке (ксероксов тогда еще не было), либо брал у товарищей (как правило, потом уже обратно не отдавал).

У нас был журнал «Наука и жизнь» за несколько лет. Но в нем печатались в основном прикладные программы, что меня мало интересовало.

Курс Frontend.
Frontend розробник може легко створити сторінки вебсайту чи вебдодаток. Тому після курсу ви станете затребуваним фахівцем у сфері, що розвивається.
Інформація про курс

Больше, чем играть, мне нравилось писать программы. Я, кстати, никогда не понимал прелестей приставок типа Dendy — ведь их нельзя было программировать в домашних условиях.

Первой моей игрушкой был космический симулятор, написанный под влиянием «Лунолетов». Это было в шестом классе, на уроках физики мы к этому времени изучили только равномерное прямолинейное движение. Поэтому играть в него было не очень интересно. На программирование я потратил времени больше, чем на саму игру.

Потом был еще ряд программ. Наиболее серьезной моей программой была реализация калаха (манкалы). Несмотря на ограниченные ресурсы ПМК, он выигрывал у меня довольно часто. Я даже не знаю, когда я больше радовался: когда выигрывал сам или когда проигрывал своей программе.

Не так давно круг замкнулся, и я снова пишу программы для мобильных девайсов.

Попробовать

Конечно, настоящий задрот мужчина или женщина с удовольствием потратит полчаса на вбивание кода программы с тем, чтобы потом пять минут поиграть. Для тех же, кто слаб духом, я приготовил специальную версию эмулятора с поддержкой экспорта/импорта программ (я разместил это эмулятор от своего имени с разрешения Станислава).

Также я подготовил несколько программ для этого эмулятора. Достаточно скопировать zip-файл, распаковать его и импортировать *pmk-файл в эмулятор. Также можно импортировать описание программы в формате html.

Приятного изучения!

If you have found a spelling error, please, notify us by selecting that text and pressing Ctrl+Enter.

Курс Англійської.
Тут навчають за методикою Кембриджу, завдяки якій англійську вивчили понад 1 мільярд людей. Саме вона використовується в найкращих навчальних закладах світу, і саме за нею створені курси.
Реєстрація на курс

Этот материал – не редакционный, это – личное мнение его автора. Редакция может не разделять это мнение.

Топ-5 самых популярных блогеров февраля

Всего просмотровВсего просмотров
229
#1
Всего просмотровВсего просмотров
229
Всего просмотровВсего просмотров
209
#2
Всего просмотровВсего просмотров
209
QA в CodeGeeks Solutions
Всего просмотровВсего просмотров
156
#3
Всего просмотровВсего просмотров
156
Senior Project Manager at Nemesis
Всего просмотровВсего просмотров
99
#4
Всего просмотровВсего просмотров
99
Software Architect at Devlify
Всего просмотровВсего просмотров
95
#5
Всего просмотровВсего просмотров
95
Рейтинг блогеров

Ваша жалоба отправлена модератору

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: