|
08-21-2001 - Release 1.0 |
||
|
This is the first full release of the U5 MIDI Upgrade. This is all the stuff that I added:
Known Issues: Beware, this gets technical. If you let the game sit at the demonstration sequence on the main menu screen (where the introduction is pretty much acted out in tile graphics), and the "Ultima Theme" music ends, it will not loop back to the beginning. The reason for this is that I refresh the music during each int 16h call (which essentially checks for another key press). In the demonstration, the int 16h call is made in the EGA driver, which is the only part of the game that checks for keypresses in the driver. Thus, it is the only part of the game affected. The reason why this is a problem is because the ega driver is in a different code segment from the rest of the game, so it cannot make function calls back the functions that I wrote in ULTIMA.EXE. There are, as usual, other ways around this, but I am looking for the least messy. ;) |
||
Pre-release History |
||
|
7-29-2000 - The Holy Grail |
||
|
Earlier in the week, I had found a few key bytes which were the holy grail of the code-search. One byte controls the map number, another the level, another the tile number of the avatar (eg. frigate), and yet another if there are enemies on the screen during combat, etc. On this day, I had written a rudimentary MIDI driver that monitored these bytes and produced the appropriate song for that particular map and level... and managed to get it working. The largest hurdle was overcome. Unfortunately, the next day I began a new job which consumed a fair amount of my time for the next two weeks. Progress moved steadily, but slowly. |
||
|
7-6-2000 - Request for Music |
||
|
At this time, I had not had too much success deciphering the code, so I published a request on RGCUD asking if anyone knew what songs played at what points in the game. I also downloaded some newer emulators (w/ music support of course) and fired up the U5 ROM for research. |
||
|
7-1-2001 - Project Begins |
||
|
I began sorting through the code. My first exposure to a compiler-generated binary! Yippie! |
||