Windows CE Ported to Nintendo 64
Windows running on a Nintendo 64? One hacker pulled it off, but you'd have a lot more fun playing GoldenEye.
Sometimes, hacking is about creating something that meets a need no off-the-shelf product quite meets. Other times, people hack just to see how far they can push hardware beyond its intended capabilities. When makers hack Doom onto toothbrushes, toasters, and thermostats, their projects definitely fall into this latter category. Throaty Mumbo’s latest project similarly pushes the Nintendo 64 to do something it was never intended to do: run Windows CE.
Why would you want to run an old version of Windows CE on a Nintendo 64, you ask? Well — you wouldn’t, really. You’d have a lot more fun playing GoldenEye 007. However, the challenge of getting it to work was too much for Throaty Mumbo to resist, so he did it anyway.
This was made possible by the fact that Microsoft’s Windows CE 2.11 was designed to run on low-power embedded hardware, including systems built around MIPS R4000 processors. Coincidentally, the Nintendo 64’s NEC VR4300 CPU is also based on the MIPS R4000 architecture. That shared lineage meant the console was theoretically capable of booting the operating system if someone could build the proper hardware abstraction layer and supporting drivers.
Making that happen turned into a month-long reverse-engineering marathon involving ancient Microsoft toolchains, custom hardware mods, and plenty of debugging. The original Windows CE development tools were built to run on Windows NT 4.0-era systems, so Throaty Mumbo used Wine configured for NT compatibility under Linux to compile the software. Emulator testing with QEMU and Ares helped validate early builds before they were pushed onto real hardware.
To speed up development, the Nintendo 64 was connected to a modern automated testing setup. An EverDrive flash cartridge allowed custom ROMs to load directly from an SD card, while a USB connection let a PC automatically upload new builds. Throaty Mumbo soldered wires directly onto the console’s reset button so scripts could remotely reboot the N64 after each compile cycle.
That setup came in handy when problems started to pop up. The EverDrive cartridge caused mysterious crashes during ROM-to-RAM transfers, prompting an upgrade to the newer EverDrive-64 X7 with open-source firmware and deeper debugging access. At one point, the stock Windows CE kernel became such a black box that Throaty Mumbo temporarily wrote a custom kernel clone purely to trace hardware initialization and identify where the system was hanging. Eventually, the real culprit was discovered, allowing the project to return to Microsoft’s completely unmodified Windows CE 2.11 kernel.
After sorting out the issues, the N64 controller acted as a mouse, the EverDrive’s SD card mounted as storage, audio played through the console’s native hardware, and standard Windows CE applications launched directly from the desktop. The port can run programs like Paint, Notepad, and a rotating 3D cube demo accelerated through the N64’s Reality Display Processor.
Watching the video to see this setup working is probably all most people will ever care to do. However, if you do want to run Windows CE on your Nintendo 64, build details are available on GitHub.
R&D, creativity, and building the next big thing you never knew you wanted are my specialties.