Case study

DX-Ball: an REA-guided function-level reconstruction with Codex

The author has Codex use REA’s Ghidra tools to inspect the English DX-Ball 1.07 executable and recover it as typed C/C++, then compiles each function with the original-era Visual C++ 4.0 and compares it byte for byte with the original after mapping relocations. The same source also builds a MinGW Windows game and a portable core library. Exact reconstruction is still in progress; REA’s separate sound-pan showcase covers just one function.

Requirements and limitations

  • README marks exact reconstruction as in progress, to be followed by a playable Visual C++ 4.0 build and later platform ports. Generated PROGRESS.md counts 553 provisional function candidates, 475 with source, 395 byte-exact (85,106 exact code bytes) and 249 with scoped semantic acceptance, and says both Windows builds completed recorded original-board campaigns under Wine. A separate 50-board restored-CRT attempt on October 17 ended at its time limit without a full pass.
  • Supply the English v1.07 Windows archive identified in config/target.toml; the importer verifies the archive and DXBALL.EXE hashes and puts the executable and assets in the git-ignored original/ directory. README points to a third-party download site for that archive; the repository does not establish its distribution rights, and this catalog does not link it.
  • The documented host is Linux x86-64 with Git, Python 3.11+, Node.js 22.19.0, 32-bit Wine, Xvfb, CMake, Ninja and GCC or Clang, plus i686 MinGW for Windows cross-builds. Bootstrap scripts fetch a hash-pinned JDK, Ghidra and a Visual C++ 4.0 compiler from a third-party archive repository. The REA lock file pins rea-agents 6.5.0 with Ghidra 12.1.4, while docs/REA.md still names 6.4.0; the Codex goal workflow needs Codex 0.128.0 or newer.
  • An exact unit has zero differences across the whole function after COFF relocations are mapped to original functions, imports and data, with literal data also checked; match-units.toml records the inputs needed to replay each unit. Differential tests run original x86 routines under Unicorn emulation against the compiled maintained C, and public CI builds the portable source, validates recorded evidence and compiles the Windows adapter without game resources. All results are project-reported; this collection ran nothing.
  • MIT covers repository code; the original game, credited to Michael P. Welch with 3D graphics by Seumas McNally, is supplied separately and keeps its own rights, as do the downloaded compiler and tools. REA use is documented through saved responses and a worked projectile-list example, but agent effectiveness is not independently measured, and no runtime reproduction is claimed.

About this entry

Type
Case study
Category
Community REA investigations
Relationship
Author-reported mixed workflow
Targets
Binary · Game

Sources reviewed

The description was reviewed against primary sources. This does not establish runtime testing, security auditing or verified compatibility.

Primary sources

  1. README.md GitHub · N0zoM1z0/dx-ball · Revision d1251ea
  2. docs/REA.md GitHub · N0zoM1z0/dx-ball · Revision d1251ea
  3. docs/MATCHING.md GitHub · N0zoM1z0/dx-ball · Revision d1251ea
  4. docs/BUILD.md GitHub · N0zoM1z0/dx-ball · Revision d1251ea
  5. docs/PROGRESS.md GitHub · N0zoM1z0/dx-ball · Revision d1251ea
  6. docs/research/ORIGINAL_CAMPAIGN.md GitHub · N0zoM1z0/dx-ball · Revision d1251ea
  7. config/target.toml GitHub · N0zoM1z0/dx-ball · Revision d1251ea
  8. config/tools.lock.toml GitHub · N0zoM1z0/dx-ball · Revision d1251ea
  9. config/rea.lock.json GitHub · N0zoM1z0/dx-ball · Revision d1251ea
  10. tests/test_boards_differential.py GitHub · N0zoM1z0/dx-ball · Revision d1251ea
  11. .github/workflows/ci.yml GitHub · N0zoM1z0/dx-ball · Revision d1251ea
  12. LICENSE GitHub · N0zoM1z0/dx-ball · Revision d1251ea