Zeliard Source Code and Reverse Engineering

This project reconstructs the 1990 DOS release of Zeliard at the source level and provides a complete, start-to-finish playable browser port.

A complete preservation project

Bit-perfect MASMAll 60 reconstructed assembly files and all three SAR resource archives reproduce the original release bytes.
Complete web portThe portable C engine and TypeScript host run the entire game in WebAssembly, from the opening through the ending.
Behavior oraclesNative tests, browser tests, deterministic captures, and MASM function probes guard gameplay, graphics, input, saves, and audio.

Bit-perfect Zeliard source reconstruction

The canonical source tree targets MASM 5.1 and rebuilds the DOS loader, game engine, graphics and input drivers, town and cavern systems, enemy AI, bosses, cinematics, and resource archives. Release output is compared byte-for-byte with the original game. Instrumented debug builds provide a behavior oracle without changing the canonical release artifacts.

C and WebAssembly reimplementation

The browser edition is a native reimplementation, not an emulator-hosted release. A portable C engine implements the game while the TypeScript shell supplies browser display, audio, keyboard and gamepad input, compatible .USR saves, and deployment. The original MASM behavior and reconstructed bytes remain the authority for compatibility decisions.

Reverse-engineering tools and research

The repository includes SAR extraction and decompression tools, GRP image decoding, save-file utilities, symbol and data audits, function-level behavior probes, deterministic replay fixtures, and visual parity artifacts. The project is useful both as playable game preservation and as a detailed example of reverse engineering a segmented 16-bit DOS game into a modern portable runtime.

Open the Zeliard source-code repository on GitHub.