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

Энтузиаст космической отрасли и блогер Скотт Мэнли (Scott Manley) произвёл успешную «посадку» на Луну, используя для этого домашний компьютер образца восьмидесятых годов прошлого века. Настоящего лунного модуля у него, конечно, не было, поэтому он воспользовался симулятором космических полётов Kerbal Space Program, выпущенным в 2015 году, а виртуальным космическим аппаратом управлял при помощи компьютера ZX Spectrum.

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

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

Читать далее:
ИИ сожрал $80 млрд за квартал и на этом не остановится — на Уолл-стрит нарастает беспокойство

Ещё одной проблемой стал вопрос подключения ZX Spectrum к симулятору — порта USB у него нет, но Sinclair Research выпустила для него систему хранения данных Interface 1 с последовательным портом RS232. Симулятор Kerbal Space Program такого интерфейса, конечно, не поддерживает, поэтому пришлось воспользоваться модом Kerbal RPC для удалённого управления кораблём, с помощью кода на Python или любом другом языке. В итоге Скотту Мэнли всё-таки удалось запустить программу и принять управление виртуальным лунным посадочным модулем. Когда аппарат приближался к поверхности Луны, задержка составляла до двух секунд — настолько медленно работала система. Но такой же была задержка и при работе бортового компьютера «Аполлон-11», рассказал энтузиаст, вот и для него виртуальная миссия завершилась успешно.

Понравилась статья? Поделиться с друзьями: