in

A programmer got an NES to emulate a PC, and it’s as ridiculous as it sounds


Ancient tech showcase: How far can you go in emulating old PC technology on an even older console? One programmer set out to answer this challenging question, relying on an array of software tricks to achieve his goal. Fortunately, no actual hardware was harmed in the process.

NES86 is a newly unveiled project designed to bring early PC system emulation to the Nintendo Entertainment System. The emulator can seemingly recreate an Intel 8086 processor, along with essential PC hardware, with enough accuracy to boot and run a stripped-down version of the Linux kernel.

A programmer known as “decrazyo” developed NES86 and released a video explaining how he accomplished this impressive feat. The original IBM PC featured an x86 CPU running at 4.77 MHz, significantly faster than the NES’s 1.79 MHz processor. To overcome this gap, decrazyo relied on emulation techniques to painstakingly replicate early PC technology on Nintendo’s gaming console.

The NES also has considerably less RAM and addressable memory space than the IBM 5150, requiring decrazyo to implement memory mapping techniques to switch between the two systems efficiently. Choosing a Linux version to run on NES86 was a more straightforward task, as the programmer was essentially limited to using the Embeddable Linux Kernel Subset.

The ELKS project provides a Linux-like operating system for 16-bit Intel processors, including the 8086 used in the IBM 5150 PC, as well as later generations such as the 8088, 80188, 80186, and 80286, before the first 32-bit x86 chip (80386) was introduced. Despite being an extremely compact Linux terminal, ELKS is unlikely to ever run on real NES hardware due to its minimum RAM requirement of 256KB, which far exceeds the capabilities of the NES.

According to its official GitHub project page, NES86 is also difficult to run even on modern NES emulators for PC and other platforms. The few compatible emulators include FCEUX, Mesen2, Rustico, and the FPGA-based EverDrive N8 Pro cartridge. Notably, Mesen2 was recently updated for full compatibility with NES86.

However, the “best” NES86 experience can be achieved in a rather unexpected way – by playing the original Animal Crossing on GameCube emulation. Nintendo’s 2001 social simulation game included a built-in NES emulator, allowing players to collect and play various NES games through in-game mechanics.

By hacking the NES emulator inside Animal Crossing – while running on a GameCube emulator – decrazyo managed to run the PC version of Tetris at a mind-numbing 30 seconds per frame. Yes, you read that correctly. Now, if you’ll excuse me, I need to go dig out my ancient Italian-made IBM PC clone (Olivetti Prodest PC1) from my parents’ garage and spend the night playing Lode Runner.



Source link

Nathan Aké calls on Manchester City to be ‘more resilient’ as Liverpool loom | Manchester City

Breakthrough study challenges long-held beliefs about the shape of atomic nuclei