Главная | IT | Linux портирован для игровых приставок Sega MegaDrive

Linux портирован для игровых приставок Sega MegaDrive

Опубликован первый выпуск проекта LinuxMD, развивающего порт Linux для игровых приставок Sega MegaDrive, выпущенных в 1988 году. Приставки были оснащены 72 Кб ОЗУ и поставлялись с двумя процессорами: 32-разрядным Motorola 68000 (7.6 МГц) для основных вычислений и 8-разрядным Zilog Z80 (3.58 МГц) для совместимости с Sega Master System. Загрузка Linux на приставке реализована при использовании картриджей Mega EverDrive «Core» и «Pro», позволяющих запускать игры с SD-карты и оснащённые USB-портом.

Запуск ядра Linux на устройстве с всего несколькими килобайтами ОЗУ удалось реализовать через задействование аппаратных возможностей картриджей Mega EverDrive, представляющих собой отдельный компьютер на базе FPGA с собственным ОЗУ. При фактическом выполнении Linux на CPU
приставки Sega MegaDrive в качестве ОЗУ было задействовано 4 МБ памяти картриджа, благодаря применению техники переключения банков памяти (SSF2-маппер), ранее применявшейся в игре Super Street Fighter II для расширения размера ОЗУ.

Работа с файловой системой была организована с задействованием протокола обмена данными с картриджем Mega EverDrive, позволяющем из окружения Sega MegaDrive обращаться к данным на SD-карте, вставленной в картридж. В качестве таймера высокого разрешения в ядре Linux был задействован таймер, предоставляемый FPGA-чипом картриджа EverDrive. Так как процессор Motorola 68000 не имеет аппаратного модуля управления памятью (MMU), ядро Linux было собрано в режиме «NOMMU», применяемом при сборке для микроконтроллеров.

Порт включает в себя ядро Linux 7.2-rc1, u-boot 2026.01 и образ rootfs с минимальным набором утилит. Для тестирования запуска Linux в эмуляторе без реального оборудования потребовалось создание собственного форка QEMU, так как существующие эмуляторы могут эмулировать саму приставку Sega MegaDrive, но не умеют эмулировать аппаратные особенности сторонних картриджей EverDrive. При этом в предложенном эмуляторе пока отсутствует ограничение производительности и работа CPU эмулируется значительно быстрее, чем производительность оригинального CPU Motorola 68000.

Источник