Энтузиаст в Kerbal Space Program совершил посадку на Луну с помощью ZX Spectrum

3 мин
Энтузиаст в Kerbal Space Program совершил посадку на Луну с помощью ZX Spectrum

Всего через некоторое количество недель после успешного использования ZX Spectrum для управления симулированным космическим аппаратом энтузиаст космоса и ютубер Скотт Мэнли успешно «сел» на Луну, используя домашний компьютер 1980-х годов. 

Он использовал симулятор космических полётов 2015 года Kerbal Space Program, управляя аппаратом с помощью ZX Spectrum. Это домашний компьютер, созданный британской компанией Sinclair Research и выпущенный в 1982 году. 8-битное устройство имело процессор Z80A, работающий на частоте 3,5 МГц, с 16, 48 или 128 КБ памяти. Оно работало на операционной системе Sinclair BASIC и было известно тем, что в 80-х годах знакомило детей с играми и программированием благодаря своей по сравнению с низкой цене. 

Мэнли утверждает, что некоторые зарядные устройства для телефонов намного превосходят по мощности его старый ПК. Тем не менее следует подчеркнуть, что ZX Spectrum был выпущен через 13 лет после того, как миссия «Аполлон-11» высадилась на Луну. Бортовой компьютер «Аполлона» (AGC), отвечавший за наведение, навигацию и управление космическим аппаратом, был гораздо менее мощным: процессор с частотой 2,048 МГц, 15-битная разрядность и 1-битная чётность, способность хранить 2048 слов.

Из-за этого программистам приходилось проявлять особую изобретательность при написании кода, стараясь применять как можно меньше данных для достижения желаемого результата. Хотя ZX Spectrum обладал гораздо большим объёмом памяти, чем оригинальный AGC, это всё равно стало для Мэнли сложной задачей: программирование виртуального ПК с необходимыми переменными для управления виртуальным космическим кораблем и вычисления ориентации и ускорения, необходимых для маневрирования и посадки на Луну. Однако на этом сложность не заканчивается, поскольку ему также нужно было виртуально подключить ZX Spectrum к симулятору. Поскольку девайс очень старое, у него нет современных портов ввода-вывода, таких как USB. К счастью, компания Sinclair Research равным образом выпустила Interface 1, собственную систему хранения данных для ZX Spectrum, которая включала последовательный порт RS232, позволяющий ПК взаимодействовать с компьютером под управлением Windows. Поскольку Kerbal Space Program не поддерживает последовательный ввод, энтузиасту пришлось инсталлировать мод Kerbal RPC, который даёт возможность пользователям удалённо управлять аппаратом с помощью Python или любого другого языка программирования.

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

Ранее Мэнли связал ZX Spectrum с Kerbal Space Program. Используя маленький исходник на BASIC для чтения данных с последовательного порта, он смог видеть данные в реальном времени и управлять своим аппаратом. Эмулятор Fuse ZX Spectrum работает с кодом на BASIC, а цифровой интерфейс ZX Interface 1 используется для отправки и приёма последовательных данных скриптом на Python, который использует kRPC — это позволяет осуществлять внешнее управление Kerbal Space Program с помощью скриптов программирования — для взаимодействия с симуляцией.

Между тем британский разработчик решил вернуться к заброшенному C++ проекту эмулятора ZX Spectrum и завершил его за один вечер с помощью Gemini 3 Pro и Google Antigravity IDE. Инициатива был заморожен два года назад из-за рутины: чип Z80 в ZX Spectrum имеет приблизительно 158 базовых инструкций, которые с учетом вариаций, префиксов и режимов адресации превращаются в более чем 800 опкодов. Реализовывать их вручную один за другим оказалось слишком изматывающе, но Gemini 3 Pro справился с этой рутиной. К концу вечера эмулятор уже запускал игры.

Читают сейчас

Разработчик Amazon выявил регрессию в тестовом ядре Linux 7.0, в два раза снижающую эффективность PostgreSQL

16 минут назад

Разработчик Amazon выявил регрессию в тестовом ядре Linux 7.0, в два раза снижающую эффективность PostgreSQL

Разработчик из Amazon Сальваторе Дипьетро обнаружил регрессию при тестировании СУБД PostgreSQL и компонентов готовившегося к релизу ядра Linux 7.0. Выпуск новой версии ядра Linux, которая будет исполь

Экипаж лунной миссии «Артемида» II на космическом корабле «Орион» преодолел больше половины пути до Луны

1 час назад

Экипаж лунной миссии «Артемида» II на космическом корабле «Орион» преодолел больше половины пути до Луны

В НАСА сообщили, что экипаж лунной миссии «Артемида» II на космическом корабле «Орион» преодолел больше половины пути до Луны. В настоящий момент корабль находится приблизительно в 141 тыс. км от Луны

Представлен публике дистрибутив Netrunner 26 на Debian 13 «Trixie» и Linux 6.16

1 час назад

Представлен публике дистрибутив Netrunner 26 на Debian 13 «Trixie» и Linux 6.16

В начале апреля 2026 года разработчик проекта Nitrux Ури Эррера объявил о выпуске и общедоступности сборки Netrunner 26 (кодовое название Twilight), спустя более года после выхода Netrunner 25. Инициа

Версия библиотеки meshoptimizer 1.1

2 часа назад

Версия библиотеки meshoptimizer 1.1

2 апреля 2026 года разработчик Arseny Kapoulkine (zeux) представил обновление открытой библиотеки meshoptimizer 1.1. Исходный исходник проекта написан на C++ и JavaScript и опубликован на GitHub под л

Claude Code нашел 23-летний дефект в Linux

8 часов назад

Claude Code нашел 23-летний дефект в Linux

Николас Карлини, исследователь из Anthropic, рассказал на конференции [un]prompted 2026, что с помощью Claude Code обнаружил несколько удаленно эксплуатируемых уязвимостей в ядре Linux. Одна из них —