A newer version of the Gradio SDK is available: 6.20.0
Some people get DOOM to play on a fridge. I got it to play on a neural net.
Not "an AI that imagines DOOM frames." Not a video model hallucinating something DOOM-ish. The actual 1993 DOOM β id Software's real, unmodified code, compiled to real x86 machine instructions β executed by a computer whose arithmetic and logic are neural networks, producing output bit-identical to a normal CPU. Every pixel. Every byte of memory. Exact.
The problem with neural networks (and why this should be possible)
Neural networks are approximators. They're brilliant at "close enough" β recognizing a cat, finishing your sentence. But a CPU lives or dies on perfection. If one addition out of a million comes back wrong by one bit, the program doesn't get slightly worse β it crashes, or corrupts a save, or draws garbage. 99.99% accurate arithmetic is 0% playable DOOM. So "run a real program on neural networks" sounds like a category error.
The trick that makes it possible is stolen from how chips are actually built:
- Break the machine into tiny pieces β the way silicon engineers do. An 8-bit adder. A 1-bit shifter. An instruction decoder. Each piece is so small that you can list every single input it could ever see (an 8-bit adder with carry has exactly 131,072 possible inputs β a big number to a human, a tiny one to a computer).
- Train a small neural network on the complete list. Not a sample β all of it.
- Test it on the complete list. It passes only if it gets every single case right. 131,071 out of 131,072 is a fail. I retrain until N-of-N.
- Wire the verified pieces together exactly like the chip wires its circuits: a 32-bit addition is four 8-bit neural adders passing a carry down the line; multiplication is shifted adds; division is repeated subtraction. Exact pieces, wired exactly, make an exact whole β forever, not just usually.
And when a piece is too big to enumerate? You never train it bigger β you decompose it further. Multiplication wouldn't train as one network, so it became a trivial "multiply a byte by one bit" network (512 cases) feeding an adder tree, which is literally how hardware multiplies. Every time I hit a wall in this project, the answer was more decomposition, never a bigger model.
How I got here
It started with a Game Boy. First one neural 8-bit adder, verified exact. Then a whole Game Boy CPU (512 instructions), a pixel pipeline, a memory system β every functional unit a verified network. The proof bar kept rising: the core passed the same test suites real emulator developers use (SingleStepTests: 512,000 randomized cases; Blargg's hardware-validated cpu_instrs: 11/11), and then a real cartridge game ran on it, with one full frame replayed entirely through the neural units β bit-identical to a conventional emulator, framebuffer and complete machine state.
- 13 neural units for the x86: 8-bit add/subtract slices carrying all five x86 arithmetic flags, the logic ops, 1-bit shift slices, the multiplier slice, and the instruction-decode tables. Each verified over its complete domain.
- An i386 core wiring them together, validated by differential fuzzing against QEMU β 194 instruction templates, 2,560 randomized full-machine states, total agreement.
- A tiny Linux (an ELF loader and ~30 system calls) so the machine could run real programs, with every clock deterministic so any run can be replayed bit-for-bit.
- DOOM itself, cross-compiled to i386, booting through its full init chain to the title screen in 20 million instructions.
The headline proof: I froze the machine at the title frame and ran the next frame β 5,952,699 instructions β twice. Once with conventional math. Once with every decode, add, shift, multiply, and divide computed by the neural networks. 102 minutes of neural inference later: the framebuffer was bit-identical, and so were all 128 MB of memory, every register, every flag. Not similar. Identical.
Then I made it playable. Neural inference is slow, so the same wiring diagram was ported to C β just the wiring; the neural units remain the machine's ground truth β running at 77 million instructions/second. That's the DOOM you can play above. And while you play, the original neural machine doesn't go away: sampled instructions are continuously re-executed by the neural units and compared against the live CPU. In a two-minute session, 57,110 out of 57,110 audits came back exact.
What this is actually for
- It's a proof about composition. "Neural networks are unreliable" is a statement about monoliths. Exhaustively verified small networks, composed the way hardware composes circuits, are components β and you can build arbitrarily large exact systems out of them. A Game Boy. An x86. DOOM.
- It's a proof about verification. Every claim on this page is checkable, and most of them you can re-run yourself, right here: the GPU button above re-verifies all 525,000+ unit cases from the shipped weights in seconds; the segment button re-executes real DOOM code neurally and hashes the result against the golden reference; the microscope shows you individual neural nets computing individual instructions.
- And the bug report says it all: across the entire project β two CPU architectures, thousands of composed units β the test suites found exactly one bug, and it was in hand-written glue code (two entries swapped in a lookup table a human typed). No verified neural unit was ever wrong. The discipline of "enumerate, train, verify everything, compose" did exactly what it promised.
Honest limits
The fully neural machine runs at ~1,000 instructions/second β the playable DOOM above uses the C wiring with the neural units as its continuously-audited specification, and the complete-frame neural proof is the offline 102-minute run. The audits sample the instruction stream rather than checking all 60 million per minute. There's no sound, and the machine implements the subset of a PC that DOOM needs (no floating point β DOOM never uses it). None of these caveats touch the central claim: every comparison ever made between this machine's neural units and ground truth β exhaustive, fuzzed, replayed, or sampled live β has come back exact.
Built brick by brick: one adder β a Game Boy β a real cartridge game β an x86 β DOOM. The weights, the DOOM binary, the snapshot, and every proof log ship with this Space.