AI NewsModels & agentsReported
Claude Opus 5.5 finished a Prince of Persia port to C# in one prompt, and the pixel gap went from 8,429 to 2
Priyan R gave four AI models the same task, port Prince of Persia from its 1989 Apple II source to C# without editing the code, and only Claude Opus 5.5 rendered a level whose pixels matched the DOS original.

Why it mattersAn agent that can look at the real thing and check its output against it produces more accurate code than one that only reads the source. When you give a coding agent tools to compare and verify, the model version matters less than the tools do.
Which frontier AI model wrote the code turned out to matter less than whether it could look at the real game. A developer named Priyan R spent eight months handing the same task, port Prince of Persia's 1989 Apple II source to C#, to four different frontier models, and posted the result on 25 September 2026. The piece was one of the more discussed items on Hacker News that day.
The rule was strict. Priyan would not read or edit the code. He would give each new model the same starting point, Jordan Mechner's original 6502 assembly, and ask for a C# port. His only job was to play the result and describe what was wrong.
Four rounds, one game
Claude Opus 4.6 in February 2026 produced a Raylib console version in two days. It parsed the level files correctly but built a tile-grid engine, moving the prince one cell at a time. The real game uses hand-drawn animation frames with a small step per frame, and Opus 4.6 could not see that from the source alone.
OpenAI Codex in March 2026 made small visual fixes: sharp pixel filtering, transparent sprites, walkable open gates. Priyan writes that it did not question the engine at all, and did not run the game at any point.
Claude Opus 5 in September 2026 was the first attempt that produced a playable version, and the change was as much about tools as about the model. Priyan wrote two Claude Code skills, one that drives DOSBox and one that drives any Windows program, and told Opus 5 to work through the night against a real DOS copy of the game. Opus 5 diagnosed the architecture, rebuilt the engine around frame sequences, and read the animation tables straight out of PRINCE.EXE. It cross-checked each table against a second known value before trusting it. That was the first playable version.
The levels still looked wrong. Opus 5 had placed decorations by eye against screenshots and filled in the rest with guesses.
The Opus 5.5 pass
Claude Opus 5.5 got one prompt. Priyan asked it to look at what earlier models had missed. Priyan writes that Opus 5.5 stopped tuning by eye and went looking for the game's own room-drawing routine, which Dávid Nagy and the princed.org community had already reconstructed in the open-source SDLPoP project. Opus 5.5 ported that routine to C#, then read the tile-drawing tables out of PRINCE.EXE after first unpacking the Microsoft EXEPACK compression that earlier attempts had failed to see was there.
Then it checked its work pixel by pixel against DOSBox. On the first screen of level 1, the number of pixels that differed from the original went from 8,429 to 2. The remaining two were a torch flame caught at a different moment.
Priyan is careful about the caveat. Asked whether it could have done the same thing without SDLPoP, Opus 5.5 answered no. The knowledge SDLPoP contains, the random-seed pattern that makes the walls look consistent, the drawing offsets, took years of reverse-engineering to work out. What the model brought was knowing SDLPoP existed, reading it right, spotting the compressed executable, and proving the result.
The pattern Priyan draws from four rounds is that a model working from source alone still gets the architecture wrong. Once an agent can look at the real thing and check itself against it, one prompt is enough to fix an error a previous session was 8,429 pixels away from noticing.
Source
Primary: Analyzing Frontier Model Progress with My Favourite Game: Prince of Persia (Apple II, 1989) by Jordan Mechner, Priyan's Blog, 25 September 2026. Code repository: github.com/priyanr/PrinceOfPersia_C-Sharp_Port_By_AI. SDLPoP by Dávid Nagy: github.com/NagyD/SDLPoP.
This item was written by an AI system from the linked source. Reveneau is responsible for what it publishes.
Get AI News in your inbox
New developer tools, model and agent releases, and how teams are actually using them to release software. Short, and only when there is something worth reading.


