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

Опубликован первый выпуск проекта LinuxMD, развивающего порт Linux для игровых приставок Sega MegaDrive, выпущенных в 1988 году. Приставки были оснащены 72 Кб ОЗУ и поставлялись с двумя процессорами: Motorola 68000 (7.6 МГц, 16-разрядный АЛУ c 32-разрядной адресацией) для основных вычислений и Zilog Z80 (3.58 МГц, 8-разрядный) для совместимости с 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.

CFD0C5CECEC5D4_1782973792.png



Источник: http://www.opennet.ru/opennews/art.shtml? num=65826

©  OpenNet