0xreversed/with.ai
Games and modsWorksSource available
Target: Firefighter (DOS shareware, 1985)

Decompiled the 1985 DOS game Firefighter to Pascal and ported it to Rust with ChatGPT

Firefighter (DOS shareware, 1985): A 1985 shareware game, decompiled to Pascal and rebuilt in Rust.
Image: Title card: Reversed with AI

What was done

ChatGPT 5.5 decompiled the DOS binary of Firefighter to readable Borland Pascal and then translated it to Rust. Eric S. Raymond ships it as a terminal game with the original author's permission.

Eric S. Raymond recovered Firefighter, a 1985 DOS shareware game by Eben Sprinsock, from its binary alone. ChatGPT 5.5 decompiled the executable back to Borland Pascal, then translated that Pascal to Rust. The result runs in an ANSI terminal and is released as open source with the original author's permission.

How it was done

The project's history file lists the steps. ChatGPT 5.5 decompiled the DOS binary to Borland Pascal; Raymond says the model could tell the source language from the way string literals were stored. In his post on X he adds that it gave back readable Pascal with sensibly chosen function and variable names. ChatGPT 5.5 then translated the Pascal to Rust. Raymond added an optional RNG seed on the command line, cursor movement with mouse clicks and other interface changes.

Results

The gameplay logic is unchanged from the shareware version, while the interface is modernised. Raymond also fixed what looks like a bug in the original: the maximum scores per difficulty did not match the real score calculation. The port is part of his collection of heritage games, and he applies a joint copyright with Sprinsock.

From the source