Прошлый пост был посвящён современному аватару советского ПМК Электроника МК 61, который я опробовал, пролетев на небольшом лунолёте с героями рассказа «Истиная правда», напечатанного в июньском номере журнала Техника - Молодёжи за 1985 год. В
следующем номере ТМ даётся задание на основе игровой программы Лунолёт 1: один игрок (естественно, в тайне от второго) задаёт ускорение свободного падения в регистр 4, а второй стартует и пытается угадать тяготение, добившись зависания с нулевой вертикальной скоростью. Чем точнее зануляется скорость, тем ближе ускорение свободного падения к величине реактивного ускорения, которое можно посмотреть командой ИП3.
Так как ни кота, ни жену не удалось заставить играть в «угадай тяготение», пришлось выкручиваться самому, задействовав для этого генератор случайных чисел, штатно установленный на борту МК-61.
К счастью, программы редакции КЭИ были рассчитаны на старшего брата
моего аватара - ПМК Электроника Б3-34, у которого было чуть поменьше памяти: 98 ячеек против 105 у МК-61. Вот этим резервом я и решил воспользоваться.
Родная система
Как видно из таблички, любезно предоставленной редакцией КЭИ, в нашей родной Солнечной системе ускорения для планет (за исключением газовых гигантов) и их спутников лежат в пределах от практически нулевых (0,007 у Фобоса) до 9.81 (у Земли). Поэтому алгоритм будет простой: генерируем псевдослучайное число, принимающее значение от 0 до 1, умножаем на 10, засылаем в П4 и стираем следы деятельности перед стартом.
Переводим на язык ПМК, загружаем программу Лунолёт 1, заботливо сохранённую после прошлого раза, и вводим в свободные ячейки памяти с шага 98:
98.Ксч 99.1 А0.0 А1.х А2.П4 А3.БП А4.00
В итоге получилась программа:
Вот теперь порядок, вся память занята! :)) Не хватило только одной ячейки для команды Сх, но это не страшно: команды БП 00 передают управление на начало программы, и значение ускорения силы тяжести безвозвратно теряется в стеке после всех проверок на остаток топлива и высоту.
Проверяю, как работает «конструктор тяготения». Отдаю команду БП 98 С/П, дожидаюсь окончания работы и проверяю содержимое регистра 4. Повторяю несколько раз. Всё чётко - в регистре, как и ожидалось, сидит случайное число от долей единицы (старт с Фобоса и ему подобных космических булыжников) до 9 с хвостиком (старт с планеты). Можно приступать к тренировочным полётам.