Ultima 1 Revenge

Produced by: Dino the Dark Dragon
Website: u1revenge @ BitBucket

Ultima 1 Revenge

Dino the Dark Dragon’s XNA-based reverse engineering of the Ultima 1 engine.


The Ultima 1 Save File Format

The save file format for Ultima 1.


Locations Reference

Hexadecimal coordinates for the cities and castles of Ultima 1.


Dungeons Locations Reference

Hexadecimal coordinates for the dungeons of Ultima 1.

Dino the Dark Dragon began reverse-engineering the Ultima 1 engine as a spare-time project in 2007. Initially, he managed to produce a basic engine for the game, as well as some documentation about the files and sites.

A spare-time project, Ultima 1 Revenge saw a few different iterations. The first version of the engine was written in C and used the SDL libraries. A second, XNA-based version allowed Dino to make significant progress on the project; two demos were released, and he was also able to develop numerous tools. However, the use of XNA limited him to the Windows platform (XNA could not be cross-complied to other systems), and support for the language was later dropped by Microsoft.

The current — third — version of Ultima 1 Revenge is being built with C++ and SDL2. Dino’s aim for the project, now, is to build tools that will work with the original Ultima 1 game files, and (ultimately) to create a cross-platform engine for Ultima 1 in the spirit of Exult.

8 Responses

  1. Avatar Dungy says:

    Crashes for me on running. Hopefully it’s a little more stable on next release.

  2. Avatar John Watson says:

    Do you have the AppleSoft Basic source code? I have been looking for it. Getting closer but not there yet.

  1. May 24, 2012

    […] a new build of his Ultima 1 reverse-engineering project, Ultima 1 Revenge; you can grab it from the project entry […]

  2. February 3, 2014

    […] executable files and the structure of its data files. Clearly, all the knowledge Dino gained whilst poking around with the Ultima 1 engine has been put to excellent […]

  3. February 4, 2014

    […] Dino the Dark Dragon shot me an email to let me know that the savegame file format information hosted on his newly-launched Complete Guide to Ultima 1 is actually a newer and updated version of the one that graces the Ultima 1 Revenge project entry. […]

  4. January 21, 2016

    […] Once you understand the data files (which also includes map and graphics files), you can then proceed to write all sorts of tools and stuff. I had called this project U1Revenge (Ultima 1 Reverse Engineering Effort) and wrote a map viewer and was working on an engine for it. Although I stopped working on it, I did release a couple of demos, the latest of which you can grab from the project page. […]

  5. January 29, 2017

    […] You can download Ultima 1 Revenge, in its current state, from Dino’s page on BitBucket, or from the newly-refreshed Ultima 1 Revenge project entry here. […]

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.