Friday, March 1, 2024

Working Linux on Unmodified NES {Hardware}

Linux has many benefits, however it’s particularly well-suited to working on older {hardware}. There are very light-weight kernels on the market that don’t want a lot energy to run — particularly if you happen to’re 1337 sufficient to work solely within the shell and don’t want a GUI. Have a 30-year-old PC gathering mud? It would run Linux, no downside. However what when you have even much less horsepower than that to work with? To dunk on each different working system on the market, DeCrAzYo proved that it’s attainable to run Linux on unmodified NES {hardware}.

That’s really a lie — however we’re solely passing on DeCrAzYo’s lie. This isn’t actually working Linux. As an alternative, it’s working what DeCrAzYo describes as a “Unix-like working system.” Sadly, even Linux wants extra sources than an NES has to supply. However that is shut sufficient that we hope you’ll forgive the misdirection.

Particularly, DeCrAzYo selected to run LUnix (Little Unix), which was developed for Commodore 64 computer systems and acquired its most up-to-date replace (Model 0.21) approach again in 2004. LUnix is right as a result of it’s ridiculously light-weight and constructed to run on the Commodore 64’s 6502-compatible MOS 6510 processor. The NES’s Ricoh 2A03 processor can be principally 6502-compatible, so DeCrAzYo concluded it might in all probability work.

However the NES solely has 2KB of RAM (plus one other 2KB of VRAM), whereas the Commodore 64 has a beneficiant 64KB. The Commodore 64 additionally has the power to learn from disks.

Each of these points had been solvable through the use of a Japanese Famicom as an alternative of a North American NES. The Famicom had upgrades out there so as to add a further 32KB of RAM and a rudimentary disk system. There may be additionally a keyboard for the Famicom, which makes navigating a Unix shell a lot simpler.

By using the Famicom’s upgraded reminiscence and disk system, DeCrAzYo was capable of modify LUnix to load packages from disk as mandatory. DeCrAzYo additionally needed to change the best way the Famicom’s disk system works, as a result of it could possibly usually solely learn knowledge sequentially. With these adjustments, LUnix boots and the consumer is ready to work inside the shell.

In emulation, this labored effectively. However that was solely as a result of DeCrAzYo was capable of crank up the run velocity by 100 occasions. In actual life and on precise {hardware}, it is extremely gradual. DeCrAzYo was capable of check that on an NES utilizing an Everdrive flash cart. With no Famicom keyboard out there to sort instructions, nonetheless, he simply received a blinking cursor within the shell. However he did show that Linux Unix can run on an NES!

Related Articles


Please enter your comment!
Please enter your name here

Latest Articles