Ultima Tech Info and Patches
Ultima 3
- u3tech_cga.txt
A description of the Ultima 3 file formats (incomplete).
Ultima 4
- Utilities and Patches
- Generic utility for German keyboards (PC)
If you play Ultima 3 or 4 with a German keyboard, the y and z keys
won't work until you remove the German keyboard driver. But that
doesn't really fix the problem, because now the y and z keys are
swapped.
With this utility, both keys will work as they should. The program is
compatible with DOS, DOS emulators and Windows 9x, but unfortunately
not with Windows NT or XP.
- Rune font for Ultima 4 (PC version)
This patch replaces the Latin characters in Ultima 4 with runes. There are two
font files, one for EGA and another for VGA mode. CGA isn't supported yet ;-)
- Replacement for avpatch.exe
You can't install the Ultima IV Upgrade under DOS, because avpatch.exe is a Windows
console application. The new avpatch.exe can be run in DOS, Windows and DOS emulators.
- u4decode source
Command-line utility for decompressing LZW-compressed files from Ultima 4.
- u4encode source
Command-line utility for compressing files.
- Technical Information
- u4atarist.txt
A description of the Ultima 4 file formats (Atari ST version).
- u4_ega_driver.txt
Some information about EGA.DRV.
- u4_bugs.txt
A list of bugs and undocumented features in Ultima 4 (PC version).
Ultima 5
- Utilities and Patches
- Technical Information
- u5tech.txt
A description of the Ultima 5 file formats (PC version).
- u5_c64.txt
A description of the Ultima 5 file formats (C64 version).
- u5_sharp_x86000.txt
A description of the Ultima 5 file formats (Sharp X86000 version).
- u5_saved_gam.txt
The Ultima 5 savegame format (PC version).
- u5ega_drv.txt
A very incomplete description of the Ultima 5 EGA driver.
Ultima 6
- Technical Information
- u6tech.txt
This text describes some of the Ultima 6 file formats.
- Utilities and Patches
- u6decode source
Source code for a command-line utility that lets you extract LZW-compressed files,
which are used by Ultima 6 and Ultima 5.
- u6encode source
Source code for a command-line utility that encodes binary files. Files encoded with
this utility can be decoded by Ultima 6.
This utility does not implement the LZW compression algorithm.
In fact, a file encoded with this tool is always larger than the original file.
- MT-32 Drivers
- The old MT-32 driver
U6 comes with a number of sound drivers. One of them can play music on an MT-32.
Unfortunately, this driver has three serious flaws:
- On computers faster than a 486, the driver outputs its MIDI events too quickly -
this results in hanging and missing notes. In technical terms: When the driver wants
to send a MIDI message to the MIDI card, it waits a certain number of processor cycles
(rather than a certain number of milliseconds) before it decides that the MIDI card
isn't accepting any data.
- The music in Ultima 6 was composed for the Adlib sound card, and apparently,
the MT-32 driver was only added as an afterthought. In technical terms: The music
files contain Adlib-specific data and commands. The MT-32 driver actually tries to
emulate an Adlib card, without implementing every command required by the U6 sound
file format - vibrato and portamento, for example.
- The driver requires a 100% MPU-401-compatible MIDI card - it does not support
the MIDI connector found on many old Soundblaster cards.
- The new MT-32 drivers
There are two new MT-32 drivers. Both drivers fix Flaw 1, and the
Soundblaster driver also fixes Flaw 3. I don't know how to fix Flaw 2,
because some Adlib-specific commands are impossible to emulate.
If you want to compile either of these drivers yourself, you
need to download the u6decode and u6encode sources.
- MPU-401 driver
You must have a 100% MPU-401-compatible MIDI card to use this driver.
- Soundblaster MIDI driver
If you want to use this driver, you must have a Soundblaster card that works under DOS
and has a MIDI connector.
- Other synthesizers
If you don't have an MT-32, you can use another external synthesizer instead. However,
since your synthesizer probably doesn't use MT-32 compatible instrument mappings, you
have to change these mappings somehow. Luckily, there's an easy way to do that.
- Go to your U6 directory, and look for the file MIDI.DAT.
- It's a regular text file that determines the instrument mappings used by
Ultima 6. You can view and modify it with a text editor.
- If you have a General MIDI synth, you can try a
GM configuration file for Ultima 6.
Just rename it to "midi.dat" and copy it over the old file of the same name.
Miscellaneous
- Where can I buy the Ultima games?
Try to find the
Ultima Collection
on eBay or another auction website.
Or look for the "Ultima 9 Dragon Edition", which contains the Ultima Collection.
- Where can I buy an MT-32?
You can probably find one on eBay.
Links
- More Than Just One Ultima
- Ultimatrix
Ultimatrix aims to be a map viewer for U1 to U6.
- Ultima 4
- Ultima 5
- Nazghul
Nazghul is an open-source, multi-platform engine similar to Ultima 5.
- Ultima 6
- Nuvie
Nuvie is an open-source, multi-platform engine for running Ultima 6.
- IT-HE Roleplaying Game Engine
IRE is an open-source, multi-platform engine similar to Ultima 6.
- pu6e
An open-source world editor for Ultima 6, written in Python.
- U6Edit
An open-source world editor for Ultima 6, written in Delphi.
- Adplug
An open-source plugin for Winamp and XMMS that can play Ultima 6 music files, and a variety of other Adlib music
formats. It comes with a digital OPL2 emulator, so you don't need a sound card with a real OPL2.
- U6 File Format Information
Might be worth looking at, if you're interested in that sort of thing.
- Ultima 7
- Exult
Exult is an open-source, multi-platform game engine that lets you play Ultima 7 on modern operating
systems.
- Miscellaneous
Last updated on 2006-May-19
e-mail: remove space and vowels from "marc winterrowd" and append "at yahoo dot com"