Ultima V: Warriors of Destiny Decompilation
Source code reconstructed from the original game's compiled binary, so the game can be understood, rebuilt and ported.
Original game imageAbout
An ongoing decompilation of Ultima V: Warriors of Destiny, aiming to create a functionally equivalent version that runs on modern platforms while matching the original v1.16 MS-DOS code as closely as possible. ULTIMA.EXE is roughly 95% matched, excluding assembly functions, and the .OVL files are also about 95% matched. The game can be played through to the ending with the original data files, though bugs may remain.
How it differs from the original
Perfect binary matching is currently impossible because the original linker, an unknown version of PLINK86, has not been found, so the project matches at the assembly-semantic level instead.
Getting started
It plays using the original data files. Build options are a Windows target through a Visual Studio solution, an MS-DOS target with DJGPP via make, or an MS-DOS target with the original Microsoft C 5.1 toolchain. The last of these cannot link an executable and is used only for disassembly matching.
History
The author started the project as a personal challenge to better understand the original game and its codebase, inspired by the u4-decompiled project.
Known issues & limitations
- Major and minor bugs may still occur throughout the game.
What you need to run it
Additional notes
- References
- Disassemblies from other platforms such as FM-TOWNS are used as references when necessary.
FAQ
- What is Ultima V: Warriors of Destiny Decompilation?
- Ultima V: Warriors of Destiny Decompilation is an open-source decompilation of Ultima V: Warriors of Destiny. Source code reconstructed from the original game's compiled binary, so the game can be understood, rebuilt and ported.
- Can the game be played through to the ending?
- Yes, using the original data files.



