Найти тему
OVERCLOCKERS.RU

Энтузиаст смог запустить ОС Unix на консоли NES

На сегодня было множество решений для запуска игр NES на оборудовании, для этого не предназначенном, но не запуска стороннего программного обеспечения на самой NES. Но теперь появилась возможность запускать Unix на NES, как показано в демо-версии, созданной программистом и техническим энтузиастом DeCrAzYo. Его решение опиралось только на оригинальное оборудование Nintendo и даже включало программное обеспечение, которое ему пришлось написать самостоятельно.

Вдохновением для этого проекта, похоже, послужило утверждение, что запустить на NES код, отличный от NES можно только через такие устройства, как Raspberry Pi, который, по мнению DeCrAzYo, по сути просто использует NES в качестве вывода графики. Его целью было запустить Linux на процессоре NES и в ее памяти, используя полностью оригинальное оборудование, что, безусловно, является гораздо более сложной задачей.

Ключевая проблема заключается в том, что аппаратное обеспечение, используемое для NES, явно недостаточно мощное для работы под Linux, например, из-за того, что для работы доступно всего 2 КБ ОЗУ. Из-за этого ограничения DeCrAzYo решил использовать Unix-подобную операционную систему, а не настоящий дистрибутив Linux.

Конечно, для NES не было создано ни одной операционной системы, а это означало, что программисту приходилось писать собственный код. Однако он начал с LUnix или Little Unix, операционной системы, последний раз обновлявшейся в 2004 году и предназначенной для работы на Commodore 64. Однако NES и Commodore 64 довольно разные системы. Последняя имеет колоссальные 64 КБ оперативной памяти, встроенную клавиатуру и считыватель кассет и дисков.

Все это работает, потому что обе консоли имеют очень похожие процессоры, что делает LUnix практически совместимым с NES. Кроме того, чтобы получить всю функциональность клавиатуры и диска, достаточно использовать Famicon (японскую версию NES) с ее дисковой системой и аксессуарами для клавиатуры. Дисковая система даже оснащена дополнительными 32 КБ оперативной памяти. Единственным препятствием была модификация LUnix и написание драйверов для аксессуаров, чтобы все это работало, что было сложно, но не невозможно для разработчика.

Модифицированная версия LUnix могла работать в довольно полнофункциональном состоянии Famicom, включая возможность запуска нескольких оболочек и получения истории команд. Что касается NES, то здесь нет официальных аксессуаров, но DeCrAzYo продемонстрировал возможность, по крайней мере, запускать ядро LUnix, поместив ОС на картридж EverDrive-N8.