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.

Requirements and limitations

  • 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, not an independent whole-game equivalence result. Full tests require licensed inputs absent from the public repository. This review did not build, run or compare the games; no REA integration is established.

About this entry

Type
Case study
Category
Independent reconstruction cases
Relationship
Independent reconstruction project
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 · abedegno/underworld-exhumed · Revision e5deadd
  2. docs/PORT.md GitHub · abedegno/underworld-exhumed · Revision e5deadd
  3. docs/BUILDING.md GitHub · abedegno/underworld-exhumed · Revision e5deadd
  4. LICENSE GitHub · abedegno/underworld-exhumed · Revision e5deadd
  5. NOTICE GitHub · abedegno/underworld-exhumed · Revision e5deadd
  6. Makefile GitHub · abedegno/underworld-exhumed · Revision e5deadd