Skip to content

retro-kit 0.1.0

Choose a tag to compare

@nautilusbits nautilusbits released this 13 Oct 22:33
· 6 commits to main since this release

First public release of retro-kit, a headless-Ghidra toolkit for reverse engineering 32-bit DOS (LE/LX, Watcom C/C++) and Win32 games of about 1993-2010.

pipx install git+https://github.com/nemo22/retrokit@v0.1.0
retrokit doctor && retrokit install-loader
retrokit analyze GAME.EXE

Highlights:

  • Own LE/LX loader for Ghidra 12 (DOS/4GW, DOS/32A, PMODE/W, CauseWay, DOS/4G bind, OS/2 LX, VxD) and Watcom compiler specs for both calling conventions, detected automatically.
  • Pipeline tuned on a synthetic test corpus: functions from fixups and pointer tables, switch tables kept together, parameter counts from call-site cleanup, prototypes callees-first, string literals.
  • Library signatures: Open Watcom C/C++ run-time, math and C++ libraries, zlib 1.0.4-1.2.3, libjpeg 6b - exact and fuzzy matching (other compiler versions and switches), typed from C headers. Build your own from libraries you own (retrokit sigs build) or learn them from an analysed game (retrokit sigs learn).
  • Library catalog (retrokit libs): Miles/AIL, HMI SOS, DIGPAK, Smacker, Bink, FMOD, BASS, DirectX, zlib, libjpeg, libpng, PKWARE DCL, Lua and more, with notes on formats and porting.
  • Data formats (retrokit convert): XMIDI, HMI, HMP -> MIDI; VOC -> WAV; Smacker / Bink / FLIC -> MP4 via FFmpeg.
  • MCP server for AI agents (retrokit mcp): functions, decompiled code, xrefs, pointer tables, disassembly, name proposals, notes and re-export - see docs/MCP.md and AGENTS.md.
  • Tested on Windows and Linux.

Full list and known limitations: CHANGELOG.md.

retro-kit contains no game files and no decompiled game code; use it on software you own.