Case study
Underworld Exhumed: reconstructing Ultima Underworld I and II
Pairs reconstructed DOS sources with native ports of Ultima Underworld I and II. The upstream documents Exhume-based byte-matching builds, routine-level comparisons and recorded-session replay against DOS.
- Targets
- Binary · Game
- Category
- Independent reconstruction cases
- Relationship
- Independent reconstruction project
- Sources reviewed
Requirements & limits
- Native ports target macOS, Windows and Linux. Playing and checking against the originals requires your own matching game files (the README targets GOG releases); byte-matching builds additionally require the documented Turbo C++ 1.01 and TASM 2.0 inputs. Native-port compilation itself does not require game data.
- The MIT license covers the project’s own tools, documentation and added annotations/structure. NOTICE explicitly excludes rights in the original games and derived game code; optional MT-32 playback requires separately obtained ROMs.
- Recorded sessions and routine tests provide bounded upstream evidence. Full tests require licensed inputs absent from the public repository.
About this entry
The description was reviewed against primary sources.
Primary sources
- README.md GitHub · abedegno/underworld-exhumed · Revision e5deadd
- docs/PORT.md GitHub · abedegno/underworld-exhumed · Revision e5deadd
- docs/BUILDING.md GitHub · abedegno/underworld-exhumed · Revision e5deadd
- LICENSE GitHub · abedegno/underworld-exhumed · Revision e5deadd
- NOTICE GitHub · abedegno/underworld-exhumed · Revision e5deadd
- Makefile GitHub · abedegno/underworld-exhumed · Revision e5deadd
More in Games
- wii-ipl: a decompilation of the Wii Menu (System Menu 4.3) · Case study
- c1: a C port of PlayStation Crash Bandicoot · Case study
- Firefighter: a decompiled DOS game ported to Rust · Case study
- Halo: Combat Evolved: an incremental re-implementation patched into the original Xbox executable · Case study
- keen-clone: a Commander Keen 1 C/SDL2 port · Case study
- Metroid Dread: a hand decompilation in progress · Case study