The Black Gate, Decompiled

U7 Decompiled

Every so often something lands on my timeline that makes the rest of the week’s news feel like side quests. That was certainly the case when I took note of this X post by Anthony Salter (@ViridianGames):

He is not wrong about the size of the milestone…with one careful caveat that matters if you have been around this hobby for a while.

What Kitrinx has published is an AI-assisted decompilation of Ultima 7: The Black Gate: reconstructed DOS/Borland sources that, the README says, were tested to produce byte-exact results under Borland C++ 2.0, the compiler Origin used to ship the game. Original variable and data structure names were used where they could be found; most names were inferred. This is reverse engineering from the binary back toward readable C and asm — not Origin’s own source code magically walking out of a vault.

That last distinction is why I want to mention the Codex’s long-standing USCOAP effort for a moment. Years ago the Ultima Codex set up an offline archive for whatever snippets of original Ultima source code that could be preserved from former-developer copies and the like — archival custody of material that already existed as source, not a public reverse-engineered rebuild. Kitrinx’s project is working in the the other direction of travel: start from the shipped game, recover logic until the compiler agrees again.

Separately in the same repo: Kitrinx has also published a very work-in-progress portable build of the reconstructed code (with releases for Windows, Mac OS, and Linux…all of which require you to supply the game’s data files), and tools for decompiling and rebuilding usecode. And yes, Serpent Isle is Kitrinx’s next target.

You can check out the decompiled code at Kitrinx’s GitHub page.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.