Миниатюрная реплика компьютера PDP-11 от компании DEC работает под управлением 2.11 BSD UNIX на ESP32 SoC

Относительно популярные 16-разрядные миникомпьютеры Digital Equipment Corporation (DEC) PDP-11 начали продаваться в 70-х годах и были доступны еще в начале 90-х. Находясь в Европе из-за ограничений COVID-19, Йерун Домбург (он же Sprite_tm) решил спроектировать крошечную копию терминала DEC VT102 PDP-11 на базе ESP32 SoC и запустить 2.11 BSD UNIX через эмулятор SimH PDP11.

Однако Йеруну пришлось проделать значительную работу, чтобы заставить SimH работать на ESP32, особенно с необходимостью оптимизации использования памяти:

Очевидно, что «просто перенести SIMH на ESP32» – это немного преуменьшить необходимые усилия. Несмотря на то, что SIMH – довольно хорошая программа, когда дело доходит до использования каких-либо уникальных API-интерфейсов, это все же система, разработанная для полнофункциональной рабочей станции, и предполагается, что ОЗУ довольна дешевая. Чтобы заставить программу работать на ESP 32 и все еще иметь немного памяти, которую мы можем использовать в качестве оперативной памяти для эмулируемой машины, мне нужно было сначала разобрать его..

Необходимо удалить сетевой стек и анализатор конфигурации, чтобы эмулятор поместился в память ESP32 и флеш-хранилище, а также удалить ненужные периферийные устройства, включая ленточные накопители, векторные мониторы, устройства чтения перфокарт и т. д. Это позволило ESP32 эмулировать клон PDP11-23 (ELEKTRONIKA 60M российского производства) и запустить игру тетрис на ESP-WROVER32-Kit с дисплеем.

Тетрис использовал только несколько десятых килобайт оперативной памяти, в то время как ESP32 был также оснащен 4 МБ PSRAM, добавленный к внутренней оперативной памяти, поэтому Джерун решил портировать на чип 2.11 BSD UNIX с полным сетевым стеком TCP/IP. Последнее требовало использования ESP-NETIF от ESP-IDF, связывающего воедино сетевые интерфейсы и код более высокого уровня, такой как стеки TCP/IP.

Более подробную информацию о полном процессе разработки вы найдете в блоге spritesmods, а также обо всех ресурсах для создания собственных на Github.

Выражаем свою благодарность источнику из которого взята и переведена статья, сайту cnx-software.com.

Оригинал статьи вы можете прочитать здесь.

5 1 vote
Article Rating
Подписаться
Уведомление о
guest

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

0 Комментарий
Inline Feedbacks
View all comments