Энтузиаст в 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 справился с этой рутиной. К концу вечера эмулятор уже запускал игры.

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

Я разработал браузерную игру, где каждое нажатие кнопки убивает людей

44 минуты назад

Я разработал браузерную игру, где каждое нажатие кнопки убивает людей

Большинство военных игр воспевают победу. BORDER демонстрирует, чего она стоила. — Микроистории об отдельных погибших — Уведомления о потерях при 100 000, 500 000, 1 000 убитых — Мемориал, где вы може

Регулятор Калифорнии: Tesla «не предоставляет услуги беспилотных автомобилей»

48 минут назад

Регулятор Калифорнии: Tesla «не предоставляет услуги беспилотных автомобилей»

Главный регулятор транспортной отрасли Калифорнии заявил, что Tesla не предоставляет услуги беспилотных автомобилей в штате, а обладает разрешением, аналогичным тому, что зарабатывают компании проката

Intel представила видеокарты Arc Pro B70 и B65 для ИИ-вычислений

49 минут назад

Intel представила видеокарты Arc Pro B70 и B65 для ИИ-вычислений

Компания Intel анонсировала новые профессиональные видеокарты Arc Pro B70 и B65, ориентированные на инференс нейросетей и ресурсоемкие вычисления. Обе модели построены на архитектуре Battlemage и расс

Mozilla и Mila будут продвигать ИИ c открытым исходным кодом

1 час назад

Mozilla и Mila будут продвигать ИИ c открытым исходным кодом

Mozilla объявила о стратегическом партнёрстве с Mila — Квебекским институтом искусственного интеллекта — для развития возможностей открытого и суверенного ИИ. Первый инициатива фокусируется на пересеч

Mistral выпустила открытую схема синтеза речи Voxtral

1 час назад

Mistral выпустила открытую схема синтеза речи Voxtral

Организация Mistral AI представила модель Voxtral TTS, предназначенную для генерации речи с высокой степенью реализма. Модель поддерживает 9 языков и умеет клонировать голос по короткому аудиосэмплу д