U2 Upgrade Release Log

Release 1.1 – 2001-09-29

This is a maintenance release of the U2 EGA Upgrade, which has a few new features. Updates since the previous release are:

  • I finished the converting all TLK files to lower-case text where necessary. I tried to base most of the changes on the “Enhanced” U2 that was released for the Apple II. I’m not sure if I got all of it right, but I’m sure it’s close enough.
  • Upgraded RENGAL.BAT so that running it twice does not generate a stream of errors.
  • I created a new program, U2RESET.EXE, which resets your saved game in the event you want to start from scratch. Previously, it was required to recopy all the MAP and MON files from the CD, but that is no longer necessary. The program removes all monsters, vehicles, and moongates from the map, clears the monster files, and resets the player file. It also restocks Legends with Minax’s monster hoard and Pluto with a few modes of transport.
  • Fixed a problem where the game would exit with an error after creating a character.

Previous Releases

Release 1.0 – 2001-07-02

This is the first full release of the U2 EGA Upgrade, which has a lot of new features. Updates since the previous release are:

  • You can now save your game on the galactic overworld maps! This update also incidentally fixes a problem with the original version where a rocket mysteriously appears on pre-aftermath earth maps. As it turns out, the location of your last used rocket is stored in your PLAYER save game file, so that when you enter and leave a town on one of the non-earth planets (which does not save the state of the map), the rocket will still reapper. Since that bit of code is no longer used, that bug should not reappear. Please note that use of this advanced feature creates a compatibility issue if you try to use this saved game on the CGA version. See Known Issues for details.
  • You can now save your game on a vehicle, such as a horse, plane, frigate, or ship (but not if launched). This also fixed another bug in the original version: If you entered a moongate on a horse for example, the game would auto-save as usual. But since the PLAYER save game file did not store what vehicle you were riding, when you quit and reload the game, you would appear outside the moongate without your steed. Since U2 now stores that information in the PLAYER save game file, the bug does not appear. Please note that use of this advanced feature creates a compatibility issue if your try to use this saved game on the CGA version. See Known Issues for details.
  • In the original version, if you attempt to gain an attribute over its max value of 99, it rolls back to 00, which is BAD. I added a safeguard which essentially does the following: if you successfully pass the check for raising your stats (which you have a 75% shot at) the game will first check if that attribute is at 99. If it is, the game will search for another attribute to raise, and do so no more than 99. If they are all maxed, then no stats will raise.
  • Much of the text screens have been recolored to look less blah and more interesting.
  • I’ve created a configuration program, U2CFG.EXE where you can enable or disable both the frame limiter and the autosave.
  • The game must now be launched from the ULTIMA2.COM executable, which loads the U2.CFG file before it loads the game. Launching the game directly from the U2EGA.EXE binary will return an error message.
  • I changed the way the game clears the screen. Some systems had issues with DOS interrupt 10 function 06, which scrolls the screen. Now I simply write black pixels to the entire video buffer.
  • The previous endgame stability problems in NT have been resolved.
  • Removed some of the pointless wait period before and after the hyperwarp sequence. With most of the pointless wait gone, I also removed the ability to skip it.
  • Finally, the U2 Upgrade features Lower-Case Text! Such advanced use of ASCII makes my head spin! Note that not ALL text is in lower case, since I have not changed the TLK files (which is where the plot info is stored). I may do so in a future release, but doing so presents a challenge. Not a technical challenge, mind you, but I must seriously consider how much of this game I want to give away without anyone accusing me of being a software pirate!
  • You can now use Lower-Case Text in your character name and when you (Y)ell!

Known Issues:

I’ve received one complaint that the title screen takes too long to draw (like 5-8 seconds to draw each row). I have been unable to reproduce the problem on several systems and I am thus not conviced that it is a bug in the game. If anyone else has this problem as well, please let me know.

There will be some compatibility problems with the save games if you save on a non-Earth planet or save while on a vehicle. If you saved your game on the inner planets (Mercury-Jupiter) and you attempt to start the CGA program, your game will load on one of the Earth time periods. You will get a “Wrong Disk” message if you attempt the same with the outer planets. Saving with a vehicle in the EGA upgrade will result in that vehicle being lost in the CGA version. This is by design. It is therefore recommended that if you started your game on the EGA version, you finish it on the EGA version. There is no problem in the other direction, that is using a saved game from the CGA version on the EGA upgrade.

Release 0.3 – 2001-05-13

This is the third prerelease of the U2 EGA Upgrade. I’m pleased to announce that you can now play the game from start to finish! Updates since the previous release are:

  • The game is fully playable; nothing unstable (except for in NT, see the Known Issues below)
  • Slowed down the frame limiter by half the speed
  • Changed the tile scrolling algorithm (for water and force fields)
  • A circle is transposed over an enemy when you attack (or over you when it attacks).
  • You can now “View” the overworld with magic helms, in color too
  • Identified and fixed what was crashing the game in outer-space. It is now fully functional.
  • Dungeons are now properly drawn
  • Monsters in dungeon are drawn and colored
  • Slowed down the space / hyperwarp sequences (press any key to bypass the hyperwarp if it is too slow)
  • Slowed down the dungeon sequences
  • Had to reverse the changes that the Galactic Map Patch makes when restoring the game from space (otherwise it restores the game to Mercury)
  • Discovered that the Divide Overflow fix is Micro Dragon’s Speed Fix (see note below)
  • Fixed a graphical glitch on the PICTWN-E image

The following has yet to be added:

  • Autosave switch
  • Configuration program
  • A few other miscellaneous fixes and updates

Some Additional Notes:

I recently learned that Micro Dragon released two forms of his speed fix: 1) a “u2.com” calling program and 2) instructions on how to repair the ULTIMAII.EXE binary with a hex editor. I’ve been informed that the Divide Overflow fix that was encorporated in the U2 of the Ultima Collection is actually the second form of Micro Dragon’s Speed Fix, although Origin never gave him credit in the release. Let’s all thank Micro Dragon for his speed fix, then! And thanks to Paulon Dragon for pointing this out.

Oh, I also checked to see if there were any other updates applied to the Ultima Collection U2, but there were none.

Known Issues:

For some strange reason, the end game sequence crashes the game in NT. This does not appear to happen on other operating systems. I have already spent quite a bit of time trying to identify the problem. Hopefully, it will be fixed for version 1.0.

Hyperwarp is a little too slow now. If you don’t like waiting for the sequence to complete, just press a key.

For those users with release 0.1-alpha, PLEASE remove the “u2ega.com” program, which the first form of Micro Dragon’s speed fix. Also PLEASE remove the “uiiega.exe” program, which is the 0.1-alpha binary. These programs will conflict with this and future releases.

Release 0.2 alpha – 2001-04-21

This is the second alpha prerelease of the U2 EGA Upgrade. Updates since the previous release are:

  • Upgraded file i/o to no longer use FCB (see note below)
  • Slowed down intro and demo screens to move at a constant, system-consistent rate.
  • Fixed divide overflow error (see note below)
  • Screen blinks white when a spell is cast, as in original
  • Game no longer crashes in view helm or dungeon/tower
  • Changed routine that prompts for a direction with certain commands (eg (A)ttack-North). NT would loop through this WAY too fast.
  • Recolored Introduction and Demonstration screens
  • Encorporated Moonstone Dragon’s U2 Galaxy Map Patch

The following has yet to be added:

  • View helms
  • Dungeons and Towers
  • Outer-space (currently very unstable)
  • Autosave switch
  • Configuration program
  • Various other small in-game fixes

Some Additional Notes:

DOS 1.0 supported a method of file access using something called File Control Blocks (FCB’s). When DOS 2.0 came out, the FCB method of file access was obsoleted, but still available for backward compatibility. However, FAT32 file systems have a problem with older programs that use FCB’s when in pure DOS mode, but not in Win 9x. And Win ME does not like FCB’s one bit. Therefore I’ve changed the file access method to the “newer” version (the one released with DOS 2), as I had done with U3, and the O/S’s are happy once again.

I learned only a few days ago that there are multiple versions of U2 for the PC! It appears that the version released with the Ultima Collection CD (ULTIMAII.EXE dated 01/08/98) is not plagued by the “Divide Overflow” problem that haunted previous versions. The version I have been working with thus far was dated 01/03/92, released with the Ultima I-VI Collection. I was able to pinpoint what was causing the problem (a rogue div instruction) and copied the section of the code from the newer U2 into this binary. Note that this obsoletes the reliance on Micro Dragon’s U2 Speed Fix. I will also make an effort to find what other changes (if any) have been made to the new binary so those fixes can be encorporated into this project.

I have also taken the liberty of updating Moonstone Dragon’s Galaxy Map Patch Program (formerly u2patch.com, now cgapatch.exe) to update the CGA binary to fix the divide overflow error and read the PICCAS image, which was in the Apple version but left out of the PC version. The other patch program (dngpatch.exe) repairs the map files for the Pangea Greenland dungeon.

Known Issues:

Viewing helms, entering dungeons and towers, and the outer-space portion of the game are not yet implemented. Any attempt to access these parts of the game will not display on the screen. With the exception of outer-space, this problem will not crash your computer, as in the previous release. In fact you can still enter commands. Only the game screen will not be visible. The game will unfortunately still crash hard in outer-space, though.

For those users with release 0.1-alpha, PLEASE remove the “u2ega.com” program, which was modified version of Micro Dragon’s speed fix. Also PLEASE remove the “uiiega.exe” program, which is the 0.1-alpha binary. These programs will conflict with this and future releases.

Release 0.1 alpha – 2001-01-30

This is the first alpha release of the U2 EGA Upgrade. This release ships with a modified version of Micro Dragon’s U2 Speed Fix. The following is a brief list of what has been added:

  • Tiles have been converted to EGA and colored
  • Implemented an EGA video algorithm for Earth overworld map and all towns, castles, etc
  • Rudimentary frame limiter introduced
  • ALT-X, ALT-R, and ALT-M hotkeys added (same usage as in U3)
  • Frame limiter and hotkeys applied to end-game
  • Rebuilt intro / demo screens in EGA

The following has yet to be added:

  • View helms, dungeons/towers, and outer-space do not work (please read an important note on this issue below)
  • Redo intro screen
  • Re-color demo screen to match in-game tileset
  • Upgrade frame limiter to use timer chip
  • General speedfix issues in game startup

URGENT NOTE – Viewing helms, entering dungeons and towers, and the outer-space portion of the game do not work and may crash your system!! The game will either crash your DOS box, crash Windows, or reboot your machine for you. There was an address table in the game that was used to index the CGA video buffer. As the upgrade will not use CGA, I wrote over this table with new code to support the EGA video, hotkeys, and frame limiter. However, the algorithms for viewing helms, dungeons/towers, and outer-space have not yet been rewritten. As a result, when one of these functions is entered, the game will attempt to write a white pixel to an unknown memory address, which will most likely be in use by another program. All other portions of the game should be okay, but I will not be held responsible for any losses! You have been warned.

Pre-Release History

Project Halts – 2000-11-26

By the end of the week, I had built a new EGA tileset, rewrote the video algorithms to display them on the screen, integrated a frame-limiter and added new function keys. Debugging could not continue much longer however as finals neared ever closer; and on its heels a three-week business trip to Denver made itself manifest.

Project Begins – 2000-11-21

After having created new tiles for the game, this was the point at which I found a way to successfully edit an EXE binary. (which was different in structure from COM binaries as I had just learned) The project had begun.