Game NewsNews

Unix launched on the original NES console

Gaming consoles are not usually associated with the ability to install full-fledged operating systems on them. However, programmer and tech enthusiast DeCrAzYo managed to breathe new life into the iconic 8-bit Nintendo Entertainment System by demonstrating the operation of a Unix-like OS on the original NES hardware.


This unusual project was inspired by hacks that allow you to run third-party software on the NES by connecting supporting devices such as the Raspberry Pi. According to DeCrAzYo, this reduces the NES to a regular video output – essentially the processor and memory of the console itself are not used. Therefore, the developer set himself the goal of running a Unix system directly on NES hardware, without additional hardware modification.

An obvious obstacle is the extremely weak performance of the NES by modern standards – the amount of RAM is only 2 KB. Because of this problem, DeCrAzYo decided not to use a full-fledged Linux distribution, but opted for a more lightweight Unix-like system. In essence, this is not real Linux, but it is the maximum possible on the NES hardware platform.

Of course, no existing OS has been adapted to run on the NES. Therefore, the developer had to not only look for a suitable base, but also code a number of elements independently. As a result, the choice fell on LUnix (Little Unix) – a Unix-like OS, the last release of which was released back in 2004 for the 8-bit Commodore 64 home computer.

The adaptation was made possible thanks to the use of similar 8-bit processors of the 6502 family on the Commodore 64 and NES, as well as the rich peripherals of the “Japanese” version of the NES – the Famicom console. In particular, a keyboard, printer and floppy drives, as well as a RAM expander cartridge, were officially released for this version of the console. Together, this provided the resources for a complete Unix environment.


As a result, a modified version of DeCrAzYo made it possible to run LUnix on the Famicom and even get a “pretty full-featured” OS with support for multiple terminals, command history, etc. But on the regular version of the NES, the developer demonstrated the successful loading of the LUnix kernel using a special EverDrive-N8 cartridge.

According to DeCrAzYo, the capabilities of the NES can indeed be expanded by creating a custom cartridge with additional memory, connecting a USB keyboard and SD drives. However, in his experiment, the developer used a ready-made Famicom model to simplify the task. The code for the modified NES version of LUnix is ​​available in its GitHub repository – so literate enthusiasts can repeat this project on a regular NES console.


Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button