Linux на легендарной Sega MegaDrive: энтузиасты портировали систему на 16-битную консоль
Состоялся релиз проекта LinuxMD, который представляет собой полноценный порт ядра Linux для культовой игровой приставки Sega MegaDrive, дебютировавшей ещё в 1988 году. Оригинальное «железо» консоли обладает крайне скромными ресурсами: всего 72 Кб оперативной памяти и два процессора — основной 16-разрядный Motorola 68000 с частотой 7.6 МГц и вспомогательный 8-разрядный Zilog Z80 (3.58 МГц), предназначенный для обратной совместимости с Sega Master System.
Для реализации столь амбициозной задачи авторы использовали современные картриджи Mega EverDrive «Core» и «Pro». Эти устройства оснащены портом USB и разъемом для SD-карт, что позволило организовать загрузку и хранение данных.
Технические аспекты реализации
Запуск Linux на системе с объемом ОЗУ менее 100 Кб стал возможен благодаря использованию аппаратных мощностей самого картриджа. Внутри Mega EverDrive скрывается полноценный компьютер на базе FPGA с собственной памятью. При выполнении кода на CPU приставки разработчики задействовали 4 МБ оперативной памяти картриджа, применив технику переключения банков (SSF2-маппер), которая была известна еще по картриджу игры Super Street Fighter II.
Основные механизмы работы системы:
- Файловая система: доступ к данным на SD-карте осуществляется через протокол взаимодействия с картриджем Mega EverDrive.
- Тайминг: функции таймера высокого разрешения в ядре возложены на FPGA-чип картриджа.
- Управление памятью: поскольку процессор Motorola 68000 лишен аппаратного модуля MMU, ядро Linux было скомпилировано в режиме «NOMMU», предназначенном для микроконтроллеров и встраиваемых систем.
Тестирование и эмуляция
Текущий порт включает в себя ядро Linux версии 7.2-rc1, загрузчик u-boot 2026.01 и базовый образ корневой файловой системы с необходимым набором инструментов. Для отладки проекта потребовалось создать собственный форк эмулятора QEMU. Стандартные эмуляторы Sega MegaDrive хорошо справляются с воспроизведением функционала самой консоли, но не способны корректно имитировать работу сторонних картриджей EverDrive.
Стоит отметить, что в текущей версии QEMU отсутствуют ограничения производительности, поэтому процесс эмуляции CPU протекает значительно быстрее, чем на реальном процессоре Motorola 68000.







