Испански разработчик на системен софтуер пренесе Linux на конзолата Atari Jaguar. За да се справи с тази задача, cakehonolulu е трябвало да преодолее сериозни ограничения на паметта, липсата на модул за управление на паметта (MMU) и да се изправи срещу редица необичайни хардуерни особености. В публикация в блога си разработчикът разказва за работата по портването на Linux към тази злощастна конзола, пусната на пазара през 1993 г., която се превърна в провал, и с радост завършва с доказателството, че работещо ядро на Linux и командният интерпретатор BusyBox могат да бъдат стартирани на стария Jaguar. Сега Linux работи както на реален хардуер чрез касета, така и в емулатор на Jaguar.
Конзолата Jaguar на Atari беше пусната на пазара с голяма гордост от легендарната компания за видеоигри през 1993 г. Въпреки че беше обявена – което предизвика спорове – за първата 64-битова конзола в света, тя така и не успя да измести доминиращите конзоли от предишното поколение на Sega (Genesis/Mega Drive) или Nintendo (Super NES).
Масовият пазар прояви достатъчно търпение, за да пренебрегне до голяма степен първата вълна от „ранни конзоли от пето поколение“ като Atari Jaguar, 3DO и Amiga CD32. Вместо това геймърите бяха зарадвани с появата на истинската вълна от игри с ускорена 3D графика от следващото поколение, водена от Sega Saturn (която също използваше процесор M68000 заедно с втори процесор), първата PlayStation на Sony и Nintendo 64.
Историята обаче може да е малко несправедлива към Atari, тъй като тя разполага с някои за времето си зашеметяващи оригинални игри и портнати версии. Такава е играта Alien vs. Predator (1994 г.), аркадната Tempest 2000 и силните портове на FPS игрите Doom и Wolfenstein 3D от PC.

Всеки, който желае да пренесе Linux на Atari Jaguar, би се сблъскал с множество ограничения, дължащи се на хардуера. Едно от първите препятствия, което cakehonolulu успешно преодоля, беше използваният процесор. Системните дизайнери на Atari проектираха Jag с процесор Motorola 68000, който по онова време вече беше доста стар, но беше избрана сравнително бързата версия с честота 13.3 MHz. Въпреки че игровите възможности на конзолата бяха подобрени от специално разработени копроцесори, наречени „Том и Джери“, някои игри не се възползваха в голяма степен от това графично и DSP ускорение, тъй като достъпът до него беше известен с това, че е изключително труден.
За този порт за Linux общите възможности на процесора M68000 също щяха да бъдат насочени към работата на операционната система. Имайки това предвид и знаейки, че процесорът няма MMU, cakehonolulu имаше късмета да открие, че класическите процесори Motorola 68k все още се поддържат от Linux, както и от проекта uClinux, който позволява на Linux да работи на системи без MMU като Jaguar.
На разработчика да се наложи да се бори с други ограничения на Atari Jaguar. Конзолата разполага само с 2 MB RAM и до 6 MB ROM, което е невероятно оскъдно дори в сравнение с най-евтините микроконтролери и SBC днес. След много оптимизации на RAM паметта и хранилището cakehonolulu се натъкна на няколко проблема при стартирането на Linux на Jaguar и в крайна сметка реализира драйвер за конзолата за процесора „Том“, за да може операционната система да работи на реален хардуер.
Снимка: Unsplash/cakehonolulu
Виж още: Китай спечели Световното първенство по футбол за хуманоидни роботи за втора поредна година (ВИДЕО)