Энтузиаст совершил виртуальную посадку на Луну с помощью 40-летнего компьютера ZX Spectrum
Почему ZX Spectrum справился с лунной посадкой, а ваш смартфон — вряд ли
Энтузиаст космоса Скотт Мэнли взял домашний компьютер 1982 года — ZX Spectrum — и посадил виртуальный лунный модуль в симуляторе Kerbal Space Program. Звучит как шутка? Нет. Это честный эксперимент, который показывает, насколько близки были возможности древней восьмибитки и реального бортового компьютера «Аполлона-11». И да, у него всё получилось. Хотя задержка команд доходила до двух секунд.
Я давно слежу за подобными проектами. И каждый раз удивляюсь: почему мы считаем, что для сложной задачи нужен мощный «железо»? Вот вам пример обратного.
Что за зверь ZX Spectrum и при чём тут Луна
ZX Spectrum — это легенда. Процессор Z80A на 3,5 МГц, память 16–48–128 Кбайт, операционная система Sinclair BASIC. По современным меркам — даже зарядка от телефона мощнее. Но именно этот компьютер вышел через 13 лет после того, как «Аполлон-11» сел на Луну. Сравните характеристики:
| Параметр | ZX Spectrum | Бортовой компьютер Аполлона (AGC) |
|---|---|---|
| Тактовая частота | 3,5 МГц | 2,048 МГц |
| Разрядность | 8 бит | 15 бит (+ 1 бит чётности) |
| ОЗУ | 16–128 Кбайт | ~4 Кбайт (2048 16-битных слов) |
| ОС | Sinclair BASIC | Жёстко зашитый код (ассемблер) |
Спектрум мощнее по частоте, но у AGC была аппаратная надёжность и машинные циклы, заточенные под навигацию. Главное — оба работали в условиях жесточайшей экономии ресурсов. Программистам приходилось писать код, который помещался в несколько килобайт. А это — искусство, почти утраченное сегодня.
«ZX Spectrum был мощнее Аполлона, но не намного. Зато программисты знали цену каждому байту — и это важнее гигагерц».
Как он это сделал? Техническая магия
Подключить ZX Spectrum к современному симулятору напрямую нельзя — у него нет USB. Только последовательный порт RS232 через фирменный интерфейс Sinclair Interface 1. Kerbal Space Program такой древности не поддерживает. Пришлось использовать мод Kerbal RPC — он позволяет отправлять команды удалённо через Python-скрипт.
Мэнли написал программу на BASIC, которая через RS232 отправляет управляющие сигналы. Мод на стороне KSP принимает их и двигает виртуальные джойстики. Всё просто? Не совсем. Спектрум считал каждую команду с черепашьей скоростью. Задержка от нажатия клавиши до изменения тяги двигателя — до двух секунд. Точно такая же задержка была у реального «Аполлона-11», когда сигнал шёл с Земли.
Недавно я заметил одну особенность: многие современные геймеры жалуются на latency в 20 миллисекунд. А тут — две секунды. И человек справился. Просто потому, что знал: система медленная, и её надо предугадывать. Планировать каждое движение заранее. Именно так работали астронавты — они не дёргали стики, а просчитывали траекторию.
Что понадобилось для эксперимента
- Оригинальный ZX Spectrum 48K (или эмулятор — но Мэнли использовал реальное железо).
- Интерфейсный блок Interface 1 с портом RS232.
- Переходник RS232-USB для современного ПК.
- Мод Kerbal RPC для KSP.
- Написанная вручную программа на BASIC для отправки команд.
В итоге — успешная посадка. Без крашей, без сбоев. Просто потому, что код был написан с учётом ограничений, а не вопреки им.
Урок для нас: мощность — не главное
Мы привыкли, что для любой задачи нужен многоядерный процессор и терабайты памяти. Но этот эксперимент доказывает обратное. Когда ресурсов мало, начинается творчество. Программист вынужден оптимизировать, придумывать хитрые алгоритмы, отказываться от лишнего. Именно такой подход породил первые космические программы.
Сейчас любой микроконтроллер за 50 центов мощнее AGC. Но сможет ли ваш смартфон управлять посадкой с задержкой 2 секунды, если у него нет готовой ОС и драйверов? Скорее всего, нет. Потому что современные разработчики не умеют писать код для таких условий.
Моё мнение: эмуляция ретро-железа на современных мощностях — это не просто хобби, а тренажёр ума. Он учит думать как инженер 1960-х. Беречь каждый байт, каждую микросекунду. Попробуйте сами — напишите простую игру на эмуляторе Спектрума. Увидите, как изменится ваше отношение к производительности.
Скотт Мэнли показал: даже древний ZX Spectrum может посадить модуль на Луну. Не потому, что он быстрый. А потому, что человек знал, как его использовать.















