Super Mario 64 ported to Microsoft Zune HD
The Nintendo 64 classic Super Mario 64 has arrived on the "Microsoft" Zune HD. The port runs natively on the device's hardware through the unofficial OpenZDK kit, leveraging the power of the onboard "Nvidia" Tegra chip.
The project, hosted in the rsheldiii GitHub repository, is built upon sm64ex, a fork of the community-driven decompilation-based PC port of Super Mario 64. While the game runs on the Zune HD's Tegra APX 2600 hardware, it does not include the game files themselves; users must provide their own ROM dumped from a physical cartridge.
Technical Workarounds and Performance
To overcome specific hardware limitations, the developer implemented several clever workarounds. Since the Zune HD's graphics driver cannot compile OpenGL Shading Language (GLSL) shaders, the port utilizes an OpenGL ES 2 renderer derived from Fast3D. This setup uses prebuilt shader variants prepared with Nvidia's cgc and shaderfix tools. Additionally, because the device's GPU lacks fixed-function blending hardware, blending operations are compiled directly into the fragment shaders.
In terms of gameplay, the title runs mostly at full speed. The game logic operates at 30 ticks per second, while audio synthesis is handled on a separate, high-priority thread to ensure sound remains unaffected even if the frame rate dips. The game renders at a resolution of 480x272 in landscape mode. Controls are managed via a touchscreen overlay that simulates an analog stick and the standard button layout (A, B, Z, R, C-buttons, and Start), with adjustable opacity and styling.
Hardware Context and Implementation
Originally released in 2009 as an iPod rival, the Zune HD featured a 3.3-inch OLED touchscreen and was powered by Nvidia hardware. Although Microsoft halted production in 2011, the discovery of an exploit allowed for the creation of OpenZDK, enabling homebrew applications to run on the Windows CE-based OS. This port implements native ARM code on top of the existing firmware without modifying the system itself.
The developer includes a standard disclaimer that the port should be used at the user's own risk. Interestingly, the repository's metadata indicates that AI (Claude Opus 5.5) was used as a co-author during the development process.