BuildIndependently confirmed2 publishers2 min readPublished
Super Mario 64 runs natively on a 2009 Zune HD using prebuilt shaders
A developer has Super Mario 64 running natively on Microsoft's 2009 Zune HD through the unofficial OpenZDK kit. The repo says it plays mostly at full speed, and it ships no ROM, so players must supply their own.
The Engineer · Build desk

Key figures: the game's logic runs at 30 ticks a second, with some lag when the Zune cannot keep up; the port applies 14 patches to a pinned version of sm64ex; Microsoft halted Zune production in 2011; the port has been tested on Zune firmware 4.5.
| Figure | Value | Note | Claim |
|---|---|---|---|
| Game logic rate, with lag when the Zune can't keep up | 30 ticks a second | 8 | |
| Patches to pinned sm64ex | 14 patches | 10 | |
| Zune production halted | 2,011 year | 5 | |
| Zune firmware tested | 4.5 firmware | 13 |
What happened
- A touch overlay drawn over the video supplies a facsimile analog stick plus A, B, Z, R, four C and Start buttons, with adjustable style and opacity.
- The Zune's graphics driver cannot compile GLSL shaders, so the OpenGL ES 2 renderer, derived from Fast3D, uses shader variants built ahead of time with Nvidia's cgc and shaderfix tools.
- Blending is compiled into the fragment shaders as well, because the GPU has no fixed-function blending hardware.
- Game logic runs at 30 ticks a second, and the game lags whenever the Zune cannot keep up.
- The build runs in Docker on Linux, reads the ROM on a PC, and moves the finished game to the device over USB.
Why it matters
- constraint Any other OpenGL ES 2 game aimed at this device meets the same driver limit, so its shaders have to be compiled offline before the game starts.
- cost With no releases in the repo, there is nothing to install. Each player has to run the Docker build, and only firmware 4.5 is known to work.
- exposure In our view, a repo with no releases and no ROM stays clear of what Nintendo's 2020 notices named, though the sources do not say whether the author planned it that way.
The sanctioned route for third-party games on the Zune HD was Microsoft's XNA, on a Windows CE-based OS [4]. The port skips it. It runs as native ARM code on top of that OS through OpenZDK, and the firmware is not modified [20]. Once the code is native, the limits of the Tegra APX 2600 driver become the port's problems [3]. Prebuilt shaders and in-shader blending are the two that Tom's Hardware describes, citing Hackaday and the repo's README [23].
The repo's own summary is that the game "plays (mostly) at full speed with sound, touch controls and saves" [6]. dev.to, summarising the same material, writes "almost full speed" [11]. Tom's Hardware says there is no official FPS number [12]. The port has been tested only on firmware 4.5, so the speed claim holds there and nowhere else the sources cover [13].
The game renders at 480x272 in landscape, with the device rotated to match [18]. Audio synthesis runs on its own thread at a higher priority than the game, so a slower frame rate does not affect it [19]. On hardware that sometimes misses its frame budget, we think that is the right order.
The base is sm64ex, a fork of the decompiled PC port, and the Zune build applies 14 patches to a pinned version of it [2][10]. The decompilation was finished by fans in 2019. Its C source rebuilds a matching ROM but does not include all of the game's assets, so extraction needs a copy of the game [21]. The full PC port arrived in May 2020, and Nintendo's legal representatives targeted "sites hosting the compiled version of the Mario 64 PC port", Video Games Chronicle reported [22].
Tom's Hardware says the port shows what could have been on the Zune HD had Microsoft been less restrictive [25]. The evidence supports less. It is one game on one device, and that device got a public kit only because an exploit surfaced after Microsoft halted production in 2011 [5]. In our view, another Tegra-era player would need the same three things: an exploit and a kit, a decompiled game, and a way around whatever its graphics driver refuses to do.
Tom's Hardware also notes that the repo's first commit ends "Co-Authored-By: Claude Opus 5.5", so AI was used at least in part, and it suggests the growing number of ports is "potentially due to the wider availability of powerful AI tools" [24].
What to watch
- Whether the repo publishes a measured frame rate or a release build, either of which would turn a README description into something testable.
- Whether a second game or a second Tegra-era device gets a port using the same OpenZDK and offline-shader approach.
- Whether Nintendo's lawyers act on this repo the way they did on hosts of the compiled PC port in 2020.
Clarity's read
What the record supports and how the coverage leans. The claims behind it follow.
Reality
- Evidence58
- Adoption
- Insufficient
- Hype gap+8
- Incentives
- Insufficient
- Confidence62
Claim ledger
Ranked by verification strength, evidence, and original report placement.
- [1]
Super Mario 64 runs natively on Microsoft's Zune HD through the unofficial OpenZDK kit, per the repo's README as reported by Hackaday.
ReportedSupportedSource: Tom's Hardware, citing Hackaday and the repo README2 sources— create a free account to open themView cited source - [2]
The project is built on sm64ex, a fork of the unofficial, decompiled Super Mario 64 PC port.
- [3]
The Zune HD is a 2009-era media player that uses the Nvidia Tegra APX 2600 chip.
- [4]
The Zune HD's operating system is Windows CE-based, with third-party games going through Microsoft's XNA.
- [5]
Microsoft halted Zune production in 2011, but an exploit led to OpenZDK coming out, which allowed for homebrew.
- [6]
The rsheldiii repo says the game "plays (mostly) at full speed with sound, touch controls and saves".
ReportedSupportedSource: rsheldiii repo README, quoted by Tom's Hardware2 sources— create a free account to open themView cited source - [7]
No ROM is included; one dumped from your own cartridge is required.
- [8]
The game's logic runs at 30 ticks a second, but some lag appears when the Zune cannot keep up.
- [9]
The build runs in Docker on Linux, so no Windows PC is required; the ROM is read on the PC during the build and the finished game is moved to the device over USB.
- [10]
The port applies 14 patches to a pinned version of sm64ex.
- [11]
dev.to's summary says the game runs at "almost full speed".
- [12]
There is no official FPS number for the port.
- [13]
The port has only been tested on Zune firmware 4.5.
- [14]
The repo has no releases.
- [15]
A touchscreen controller overlay is drawn over the game's video and provides a facsimile analog stick plus A, B, Z, R, four C and Start buttons, with customizable button style and opacity.
- [16]
The port uses an OpenGL ES 2 renderer derived from Fast3D with prebuilt shader variants, made with Nvidia's cgc and shaderfix tools, because the Zune's graphics driver cannot compile GLSL shaders.
- [17]
Blending is compiled into the fragment shaders because the GPU lacks fixed-function blending hardware.
- [18]
The game renders at 480x272 in landscape, with the device rotated to match.
- [19]
Audio synthesis runs on its own thread at a higher priority than the game, so it is not affected by a slower frame rate.
- [20]
The implementation depends on native ARM code on top of the Zune HD's OS using OpenZDK, and the device's firmware is not modified.
- [21]
The project relies on a fan decompilation of Super Mario 64 completed in 2019, with C source that rebuilds a matching ROM; the decompilation does not include all of the game's assets, and extraction requires a copy of the game.
- [22]
The full PC port arrived in May 2020, and Nintendo's legal representatives responded quickly, targeting "sites hosting the compiled version of the Mario 64 PC port", Video Games Chronicle reported.
- [23]
Tom's Hardware reports the project via Hackaday and the repo's README and says the renderer workarounds are what make the project interesting.
- [24]
The repo's first commit ends "Co-Authored-By: Claude Opus 5.5", so AI was used at least in part; Tom's Hardware suggests the growing number of ports is "potentially due to the wider availability of powerful AI tools".
- [25]
Tom's Hardware says the project shows what could have been on the Zune HD had Microsoft been less restrictive with development.
Sources
2 independent publishers whose own reporting we read for this story.
- dev.toDeveloper managed to run Super Mario 64 on Microsoft's Zune HD
1 article · October 12, 2026
- tomshardware.comProgrammer ports Super Mario 64 to Microsoft’s Zune HD media player
1 article · October 11, 2026
Topics and entities
Follow any of these and your For You feed starts watching them — no settings page required.
Topics
- Retro hardware homebrewFollow
- AI-Assisted CodingFollow
- Game decompilation and portsFollow