I was eleven in the winter of 1999. Ocarina of Time had just landed on my shelf. A friend at school said his PC ran Nintendo 64 games. His uncle worked at Nintendo, he said. That was the joke, and nobody believed a word of it. Then I went over, and my Zelda booted on his monitor. Twenty-six years later I watched a thousand lines of Terraform appear on my screen, written by a model while I sat there. This post is about those two moments, and about the place where they meet.
The UltraHLE moment
On January 27, 1999, two programmers going by Epsilon and RealityMan uploaded a 600 KB executable called UltraHLE. It ran Super Mario 64 on a Pentium II at playable framerates. The N64 was still a current-generation console — The Legend of Zelda: Ocarina of Time had only been on shelves for nine weeks — and now its biggest titles were running on a PC. Conventional wisdom said proper N64 emulation would take a decade. UltraHLE did it in a bedroom, and the binary was 600 KB.
The trick was a category change. Instead of decoding every MIPS R4300i instruction the N64 CPU runs, UltraHLE intercepted the high-level library calls the games made through libultra — Nintendo's own SDK. When a game asked the N64's RSP to draw a textured triangle, UltraHLE didn't simulate the RSP. It drew the triangle with OpenGL on the PC's GPU. Whole layers of CPU work evaporated. It was lossy, game-specific, and aggressively pragmatic — and that's exactly why it ran on a 1999 PC when cycle-accurate N64 emulation would take twenty more years to even begin to look credible.
The release itself was a flashpoint. Nintendo's lawyers were on the project within hours; the original distribution page was down within days. The binary survived anyway, the way binaries do — mirrored on a hundred FTPs, traded over IRC and Hotline, spread to bedrooms full of kids who watched their cartridges run on a friend's computer and quietly recalibrated their entire model of what software was allowed to do. Witchcraft was the only honest word for it, and for a while a site of mine carried that word as its name.
Ocarina of Time on that early UltraHLE was real but rough: title screens and the opening areas ran with graphical artifacts in v1.0.0, with later patches cleaning up the worst of it. Anyone who saw both Mario 64 and OoT on a PC in early 1999 wasn't imagining it — they were watching the front edge of the HLE wave land at home.
How it landed in one living room
I was eleven that winter. Ocarina of Time had just landed on my shelf as a physical cartridge, still in the afterglow of unboxing. A friend at school claimed his PC ran Nintendo 64 games. His uncle worked at Nintendo, he said. That is the oldest joke in any schoolyard, and it is why nobody believed a word he said about anything. Then I went over and saw Mario 64 on a monitor — impossible enough. Then he loaded Zelda, my Zelda, the cartridge sitting on my shelf at home, and it booted. The graphics glitched; I didn't care. The cartridge on my shelf was running on his PC. Because of the uncle nobody had believed him, and that made it hit all the harder when it was real.
UltraHLE lit the fuse. Project64 (1999), Mupen64 (2002), and a long tail of accuracy-first emulators came in its wake. The HLE instinct has aged interestingly: N64Recomp (2024) static-recompiles N64 ROMs into native x86 binaries that run faster than the original hardware. Same trick, twenty-five years on — intercept high, regenerate as native code, skip the cycles the silicon used to spend.
A chronology of the witchcraft
Three decades of public emulator releases, the consoles they cracked open, and the trick each one pulled. The timeline up top hits the headline beats; the table below fills in the ones that hovered just under the headline but moved the scene forward anyway.
| Year | Project | Platform | What it unlocked |
|---|---|---|---|
| 1996 | NESticle | Nintendo / NES | First widely-available DOS emulator that ran real-time NES games on a Pentium. Bloodlust Software's irreverent shareware turned NES preservation from theoretical to playable. |
| 1997 | ZSNES | Super Nintendo | Sub-frame-accurate enough to run Chrono Trigger and Final Fantasy VI. The PC suddenly had a better SNES than your SNES had. |
| 1997 | MAME 0.1 | arcade hardware (all of it) | Nicola Salmoria's framework chose preservation over playability. Game-by-game ROM dumps + cycle-faithful drivers = the only reason a 1985 arcade board still boots in 2026. |
| 1999 | UltraHLE | Nintendo 64 | High-Level Emulation of libultra calls. The N64 went from "a decade away" to "runs Mario 64 on a Pentium II" in one upload. Section above has the full story. |
| 2000 | ePSXe | Sony PlayStation | First PSX emulator to run a real swath of the library at full speed with plugin-clean audio/video. The CD-image era began here. |
| 2001 | VisualBoyAdvance | Game Boy / GBC / GBA | One emulator covering Nintendo's whole handheld lineage. Save states + breakpoints made it a debugging tool, not just a player. |
| 2003 | Dolphin | GameCube (later: Wii) | Started as a GameCube target; Wii support followed in 2008. Open-source from day one, which is why it's still actively developed twenty-three years on. |
| 2004 | bsnes | Super Nintendo | byuu's accuracy-first SNES emulator. Slower than ZSNES on purpose — the goal was to match the silicon, not to play fast. The lineage that became higan + bsnes-hd. |
| 2008 | PCSX2 0.9.6 | Sony PlayStation 2 | The release that took PS2 emulation from "runs the BIOS" to "runs Shadow of the Colossus." Compatibility leap of the decade. |
| 2009 | JSNES | Nintendo / NES (browser) | Ben Firshman's JavaScript NES emulator. The web platform's first credible "actually plays NES games" demo, and the proof point for every browser tool on this site. |
| 2010 | higan | multi-system (cycle-accurate) | byuu's umbrella for SNES + Game Boy + Game Boy Advance + Famicom + Mega Drive accuracy cores. Coined the term preservation-grade for emulators. |
| 2017 | EmulatorJS | multi-system (browser) | Web frontend around libretro cores compiled to WebAssembly. Internet Archive runs on top of this — "play this 1986 arcade ROM in your browser" became a one-line embed. |
| 2024 | N64Recomp | Nintendo 64 | Static-recompile a N64 ROM to a native x86 binary. Zelda 64: Recompiled ships a Windows EXE built from the original cartridge bytes and runs faster than the N64 ever did. |
| 2026 | AKI Anvil | Nintendo 64 (browser) | Drop one of the six AKI wrestling cartridges into a browser tab and read, change and rebuild it. No install, no binaries, no sign-in, nothing leaves the machine. |
The second moment
January 2025. I had used language models for a while by then, for first drafts and for the long boring middle of things. This was different. I asked Claude Sonnet 3.5 for infrastructure code, and a thousand lines of Terraform appeared on my screen while I watched. Not a snippet to fix up. A thousand lines, in front of my eyes.
It was the living room again. A thing everyone had told me was years away was running on the screen in front of me, and the feeling was exactly the one from 1999. I recognised it at once, and I knew what it meant for the eighty percent where hyperfocus usually leaves a project: the scaffolding, the first drafts, the middle. That part no longer has to be the part where things die.
Now it all comes together
The console from the first moment was the Nintendo 64. The way of working from the second is how the tools on this site get built. The place where both land is the AKI Anvil: it opens the six AKI wrestling cartridges — World Tour, VPW64, Revenge, WrestleMania 2000, VPW2 and No Mercy — in a browser tab, reads every file, plays every animation, and writes a changed cartridge back out for a flash cart. The rules UltraHLE's kids would have written for it:
- No install. A web page, a tab, your bytes in it.
- No binaries. One HTML file, plain JavaScript, no runtime to trust.
- No sign-in. The cartridge comes from your disk and stays in your browser; nothing leaves your device.
The cartridge on my shelf ran on a friend's PC in 1999. Twenty-seven years on, the same cartridge opens in a browser tab, and the tool that does it was built the way the second moment showed me: the model writes the long middle, and I measure the last five percent against the real thing. The pin counts, the roster ranking, the music and the move formats on this site are those measurements.
The feeling, twice
Once at eleven, watching a cartridge boot where it had no right to. Once, twenty-six years later, watching a thousand lines appear where I had expected to type them. The site is what happens when both are true at the same time.