Showing posts with label Ultima. Show all posts
Showing posts with label Ultima. Show all posts

Sunday, March 22, 2015

The Forgotten Switch : The Atari 2600's B&W/Color Switch

The original Atari 2600 VCS had six switches to control the various game functions, Power On/Off, B&W/Color, Left Difficulty, Right Difficulty, Game Select and Game Reset.   In the early models of the console, there were six aluminum switches, symmetrically spaced on either side of the cartridge slot, three on the left, three on the right.  Later, Atari redesigned the console to reduce costs and put the left and right difficulty switches on the back of the console and used standard plastic switches instead of aluminum.  Even with this change, there were still two switches to the left of the cartridge slot and two to the right.  This continued into the Atari 2600jr, except that all the chrome switches had been replaced with plastic.  Nonetheless, the symmetry of the Atari 2600 is an aesthetic that has been seldom been so rigorously pursued in a console's design throughout its lifespan.

Atari 2600 Light Six Switch
The standard Atari joystick only had one button and the cartridges were too small at first for title screens, menus and logos.  Changing settings were done by these switches and the program reading the appropriate port.  Only the Power On/Off switch had a fixed function, it was connected directly to the electrical path that powered the console.  The other five switches were each connected to a bit on an I/O port.  The game could do whatever it wanted with them, but by convention the Game Select and Game Reset switches usually did just as they indicated.  While Left and Right difficulty were originally intended to set a handicap for one or both players, human or computer, they could just as easily be used to adjust game characteristics.

Atari 2600 Woodgrain Four Switch
The Black and White switch is the focus on this blog entry.  It is just as important as the other switches, yet too frequently overlooked and left off modern products.  The original intent of this switch was to alter the game to switch its colors when the switch was set to the B&W position.  The player should set it if playing on a B&W TV to improve contrast between the player/missile/ball graphics and the playfield/background.  The Atari 2600 had sixteen choices of colors or hues and eight levels of brightness or luminances.  Typically, when the B&W side of the switch was activated, the program would switch to using the eight monochrome shades offered by the 2600.  Sometimes, it would use more muted colors.  On a Color TV, the B&W choices would come very close to simulating what the image would like on a true B&W TV.  Here are two examples to show when this would be useful :

Combat - Color Switch
Combat - Color Switch on Simulated B&W TV
Combat - B&W Switch
Air-Sea Battle - Color Switch
Air-Sea Battle - Color Switch on Simulated B&W TV
Air-Sea Battle - B&W Switch
However, it is very important to remember that a B&W TV was often the second TV in American households in the late 1970s and early 1980s.  If the parents did not want the kids to hog the main TV with video games, they would hook the system up to a second TV.  Few U.S. TVs had two color TVs during this time frame.  Many kids grew up playing video games on B&W TVs, it is a very important part of retro gaming that too often overlooked.

From 1977 until 1982, most Atari and then Activision (made up of ex-Atari programmers) games used the B&W/Color Switch as originally intended.  In fact, until Atari's silver label cartridges and Activision's special label cartridges, it is easier to compile a list of games that did not use the B&W/Color switch as originally intended.  They are as follows :

Atari/Activision Games that Do Not Support B&W

Atari
3-D Tic-Tac-Toe
Asteroids
Superman
Backgammon
Demons to Diamonds
Super Breakout
Yar's Revenge

Activision
Activision Decathlon
Crackpots
Dolphin
Enduro
Frostbite
Keystone Capers
Oink
Plaque Attack
Pressure Cooker
Robot Tank
Spider Fighter

When it comes to Atari Silver, Children's or Red labels or Activision's Special labels, unless the game was previously released as a text or picture label, it will almost certainly not use the B&W/Color switch as intended.  In addition, relatively few third party games released during the 2600's official lifespan use it.  There are some exceptions, and this is not intended to be a complete list but for illustrative purposes :

Other Companies that Support B&W as Originally Intended

Alien
Star Wars ESB
Bank Heist
Dragonstomper
Frogger
Music Machine
Star Voyager
Seamonster
Space Tunnel
Realsports Volleyball
M.A.S.H.
Malagai
Mega Force
Worm War I
Crash Dive
Revenge of the Beeksteak Tomatoes
Joust

Finally, there are several games that use the B&W switch for a special function unrelated to its original intent. Often it could be used to pause the game, but other games assigned a unique function to it.  Here is a list of games that I have verified :

B&W Switch used for Something Else

Space Shuttle (engine controls)
Cosmic Ark (turn on/off star field on some cartridges)
Fantastic Voyage (pause)
Solaris (inverts planet horizons)
Mouse Trap (removes playfield)
Starmaster (brings up Galactic Chart)
Beany Bopper (pause)
Flash Gordon (pause)
Spacemaster X-7 (pause)
Secret Quest (brings up Status Screen and password)

There are undoubtedly more games than on this list, but it serves as an illustrative example of why the B&W/Color switch should not be utterly ignored.  Devices like the Atari Flashbacks which do not include the B&W/Color switch will not function as originally intended with these games.  

Activision Logo

On a totally unrelated Atari 2600 subject, it is interesting to note how consistent Activision was with its in-game logo.  Activision always displayed its logo "Activision" on the game screen for every game.  In its early games like Fishing Derby, the logo would simply be present somewhere on the bottom of the screen.  For the later games, like Pitfall, the text Copyright 198x would appear, then the Copyright text would scroll up and Activision would appear. On games released near the crash, there would be a rainbow leading into the A in Activision.  The A itself was redesigned, otherwise the logo pixel pattern seems identical :

Scrolling Logo 1982-1983
Scrolling Rainbow Logo 1983-1984
Beamrider is the only game where the Activision logo is not always seen during gameplay from the pre-crash era.   Beamrider was the first game to use the (c) character instead of the word Copyright.  It is also the last time the rainbow version of the Activision logo would be used.  Ghostbusters is unique in that it does not have the word Activision is not using the standard appearance.   After Ghostbusters, the (c) and year would be instantly replaced with the non-rainbow Activision logo, no scrolling.  Also, if the game was licensed from another company, that company's name would appear after Activision's.  

Friday, January 2, 2015

Ultima II - The Long PC Journey




In 1982, Richard Garriott, Lord British, made Ultima II: Revenge of the Enchantress for the Apple II computer.  His previous games, Akalabeth and Ultima, had been released in ziplock bags, but not only did LB demand a box for his sequel, but also a cloth map.  No publisher would agree to this,except for up-and-coming Sierra On-line.  There began a short-lived relationship between two soon-to-be giants of the computer gaming industry.

As part of its SierraVenture line, Sierra would also release a port of Ultima for the Atari 8-bit computers, and would eventually release the obscure Ultima : Escape from Mt. Drash for the Commodore VIC-20.  However, Sierra and LB's main collaboration would be Ultima II, which would be released for the Apple II, Atari 8-bit, Commodore 64, Macintosh and Atari ST computers as well as the IBM PC.  Sierra would commission ports and sold the game at least until 1986.  LB decided to start his own publishing company with Ultima III: Exodus.  It is the PC version of Ultima II which this entry will primarily focus upon.

There are four major physical versions of Ultima II for the PC.  The first is the original release for the IBM PC by Sierra.  Next came the IBM PCjr release, also by Sierra.  Later, Origin Systems reacquired the rights to Ultima II and included it in the Ultima Trilogy.  Finally, Origin released it on CD collections with other Ultima games, culminating in the Ultima Collection.

1.  Ultima II for the IBM PC















This was ported by Jay Sullivan and released in 1983, not too long after the Apple II version in 1982.  It can be found in the large, borderless box, but later came in the black bordered box and later gray bordered boxes as well.  The borderless and black boxes are guaranteed to have the 22"x17" cloth map.  The borderless box cloth map typically has a "Sierra On-line" logo in the bottom right corner, while the black-bordered box cloth map will typically have a "Sierra" logo in the bottom right corner.  The later gray bordered boxes have a smaller, 16"x12" cloth map with no logo on it.  You can see lots of scans of the original IBM PC borderless-boxed version here : http://www.mocagh.org/loadpage.php?getgame=u2

The system requirements were very modest indeed, only 64KB of RAM, a CGA card, one floppy drive and DOS 1.1 were required.  Use of DOS 2.0 required 128KB of RAM.  While an RGB monitor could be used to play the game, it was intended for color composite monitors and TVs.  This is a game where an older CGA card may be more appropriate to use because the Viper in the dungeon demonstration screen is green with old CGA and blue with new CGA.  However, the old CGA card requires quite the brightness and contrast boost on most TVs to make the blue color stand out.

Ultima II came on three 160KB single sided floppy disks.  Disk 1 is the Program Master Disk, Disk 2 is the Player Disk and Disk 3 is the Galactic Disk.  This version's Program Master Disk is copy protected with a protection called "Copylock", which was used on several other Sierra Online releases during the 1983-1984 period.

All disks are readable by real MS-DOS or PC-DOS.  Windows may not be able to read these disks because they use the DOS 1.x format, which is slightly different from the standard 2.0 format.  Sierra did not to use flippy disks because double sided drives were beginning to be introduced.  In fact, you can install DOS 1.1 on the disk to make it bootable.  DOS 2.0 takes up too much room, so it cannot be installed, at least for the releases of the game that came on a 160KB disk.

A later 1985 release had a Program Master Disk that came on a 320KB disk, presumably to accommodate DOS 2.0-3.2.  The type of copy protection has changed to Softguard 2.0.3 with the original loader.  Here is an article mentioning the company behind it, Softguard Systems, Inc. : https://books.google.de/books?id=nC8EAAAAMBAJ&pg=PA28&lpg=PA28#v=onepage&q&f=false
Sierra used the Softguard protection on the DOS releases of its AGI engine games but with its own, easier to crack loader.  The Player Master and Galactic Disks are still singled sided 160KB disks and unchanged from the 1983 disks.

The Player Master disk was meant to be copied through a normal DOS DISKCOPY command.  The original Player Master disk should never be used to play a game because it cannot be reset.  If you see a copy of any version of Ultima II with the write tab perforated on or cut into the Player Master disk, be very wary of buying it if you intend to use the software.

2.  Ultima II for the IBM PCjr.

Apparently, IBM and Sierra's close working relationship encouraged Sierra to enhance several of its PC titles for the PCjr.  Among these were Wizard and the Princess, Crossfire (floppy, not the cartridge) and Ultima II.  For Ultima II, the chief improvement was that the graphics were adjusted to show appropriate composite colors.  Thus for both the PC and PCjr, you can see purple mountains, blue water and green trees, but the brick streets in the town are red for the IBM PC with a CGA card and greenish yellow for the IBM PCjr.'s graphics adapter.  You can find screenshots showing the differences in the attachment to the first post here : http://www.vogons.org/viewtopic.php?f=7&t=41889

Sierra apparently could not get its Formaster Copylock copy protection working on the PCjr. (due to the lack of DMA most likely) so the Program Master Disk is actually not copy protected.  Disk 1 is increased in size to 180KB to accommodate copying DOS 2.1 with the SYS command to make it bootable on the PCjr.

Considering that this version was generally unknown until recently, it almost certainly did not sell many copies.  The only known complete physical copy comes in the black bordered box and the full-size 22"x17" cloth map.



When this is run on a PCjr., the system will need 128KB.  You should boot this disk from the built-in DOS, if any, or make it bootable with PC-DOS 2.1 SYS command.  Otherwise, if your system has a sidecar RAM expansion, do not load a memory manager when playing this game.  The game will run too fast.

The PC version can be run on the PCjr if cracked, but the colors will be less than ideal.  However, if run with 128KB, it will run slower than it should.  If run with 256KB or more and a memory manager installed, it should run at an appropriate speed.

3.  Ultima Trilogy
















By 1989, Origin Systems had reacquired the rights to publish Ultima II, and they were preparing to release the first Ultima trilogy with Ultima I, II and III.  This box came with four disks, with Ultima I (Enhanced Re-release) taking up one disk, Ultima III taking up a second disk, and Ultima II requiring two disks.  All three games are copy protected, with Ultima I and II using Origin Systems, Inc.-1 (OSI-1)  in-house copy protection.

For all PC floppy versions of Ultima II, you cannot run them from a hard drive, despite being DOS disks. This is because the Player Master and Galactic Disks use several of the same file names, but the files themselves are different.  This reflected the way the disks were distributed on the Apple II original, which used 143KB disks.  When the game was ported to the IBM PC, they used single sided disks with 8 sectors for 160KB, allowing the game to be used with single-sided drives and DOS 1.1.

For the Ultima Trilogy, Origin Systems used 360KB disks and put the Program Master and Galactic Disks onto a single disk.  In 1989 everybody was using 360KB disks (requiring DOS 2.0 or better) and double sided drives, so this was unobjectionable.  The were no files with the same names on the separate Program Master and Galactic Disks.  The Player Master Disk was left on a separate disk.  The game will not save when you are not on Earth and never writes to the Program Master* or Galactic Disks.

* - The player may write to the Program Master disk to make it bootable, but for the Ultima Trilogy version, it comes as a bootable DOS 2.1 disk.

4.  Ultima I-VI Series and the Ultima Collection

These represent the last time Ultima II was released on physical media, in this case CD-ROMs.  These versions of Ultima II are not copy protected and are intended to be run from a hard drive.  Moreover, they did not do anything sensible like update the program to support subdirectories.  Had they done so, they could have put the Player Master and Galactic Disk files in separate subdirectories.  Instead they copied the Galactic Disk files then overwrote them with the more important Player Master files.  Thus several planets maps are replaced by Earth maps.  Here is the file overlap between the two disks :

Player Disk
File
Location

Galactic Disk
File
Location

MAPX00 Legends

MAPX03 Shadow Guard

MAPX10 Pangea 9,000,000 B.C. MAPX10 Mercury
MAPX11 Baradins Town

MAPX15 Greenland Dungeon MAPX15 Mercury Dungeon
MAPX20 1423 B.C. MAPX20 Venus
MAPX21 Le Jester

MAPX22 Towne Linda

MAPX23 Castle of Lord British

MAPX24 South America Tower

MAPX25 Greenland Dungeon

MAPX30 1990 A.D. MAPX30 Mars
MAPX31 Port Bonifice

MAPX32 New San Antonio MAPX32 Towne Mary
MAPX33 Castle of Lord British

MAPX34 Egypt Tower

MAPX35 Greenland Dungeon

MAPX40 Aftermath 2112 A.D. MAPX40 Jupiter
MAPX41 Pirates Harbour MAPX41 Jupiter Village


MAPX44 Jupiter Tower
MAPX45 Greenland Dungeon MAPX45 Jupiter Dungeon


MAPX50 Saturn


MAPX60 Uranus


MAPX61 New Jester


MAPX70 Neptune


MAPX71 Computer Camp


MAPX80 Pluto


MAPX81 Tommersville


MAPX82 Towne Makler


MAPX85 Pluto Dungeon


MAPX90 Planet X


MAPX92 Towne Basko


MAPX93 Castle Barataria
MONX00


MONX03


MONX10
MONX10
MONX11


MONX15
MONX15
MONX20
MONX20
MONX21


MONX22


MONX23


MONX24


MONX25


MONX30
MONX30
MONX31


MONX32
MONX32
MONX33


MONX34


MONX35


MONX40
MONX40
MONX41
MONX41


MONX44
MONX45
MONX45


MONX50


MONX60


MONX61


MONX70


MONX71


MONX80


MONX81


MONX82


MONX85


MONX90


MONX92


MONX93
TLKX03


TLKX11


TLKX21


TLKX22


TLKX23


TLKX31


TLKX32
TLKX32
TLKX33


TLKX41
TLKX41


TLKX61


TLKX71


TLKX81


TLKX82


TLKX92


TLKX93
MONSTERS


PLAYER



MAPX## gives the tile definitions for each of the 64x64 tiles on each map and the definitions for each dungeon and tower level and the MONX## are the monster/NPC placement files.  The TLKX## files are for the text for the NPCs in the towns, villages and castles only.  PLAYER gives the stores the statistics for the player character.   MONSTERS holds the graphics for the dungeon monsters.

Fortunately, Moonstone Dragon's Patch fixed this in time for the Ultima Collection.  The PC and Apple II versions of the game use the same Player Master and Galactic Disk files.  None of the official Origin releases contain the patch.  As you can see, there was nothing critical omitted from the game by the effective removal of Mercury, Venus, Mars and Jupiter.

5.  Differences

The Sierra IBM PC and PCjr. versions say "SIERRA ON-LINE PROUDLY PRESENTS" where the Ultima Trilogy says "ORIGIN PROUDLY PRESENTS"  The copyright is "(C)-1983 BY LORD BRITISH AND SIERRA ON-LINE", whereas the Ultima Trilogy and later gives a copyright of "(C)-1983, 1989 BY LORD BRITISH AND ORIGIN".  That is it for text differences.  The IBM PC and PCjr. versions use PWM sound effects during the intro where the Ultima Trilogy and later versions are silent.  There are also PWM sound effects in the game, like the attack sound effect, that were replaced with simpler sweep type effects for the Trilogy and later.  This could have been done because the originals sound rather harsh.  More likely it was done because the PWM effect is mostly lost at the higher CPU speeds available in the late 1980s.  (See Section 7 below)

In the original Apple II version, there is a screen in the demonstration that says "PLEAD WITH MEDIEVAL KINGS FOR ASSISTANCE."  Unfortunately, due to the inefficient way in which the demonstration screens were stored (16KB CGA full-screen bitmap instead of using a 200 byte tilemap) and the use of PC-DOS instead of a custom bootloader, there was no room on the Program Master Disk for this screen.  This can be restored with Voyager Dragon's Ultima II Upgrade Patch. Additionally, the Apple II and Atari 8-bit versions have an animated title screen with the dragon breathing fire to reveal the ][ and the  "REVENGE OF THE ENCHANTRESS" caption.  In the PC versions, this is a static screen and the sound effects are not present.

One improvement of the PC version vs. the Apple II and Atari 8-bit versions is that the Strength bug is apparently absent on all copies.  In the early Apple II and Atari 8-bit versions of the game, the Clerk in New San Antonio will not raise your Strength attribute, but will raise other attributes.  This is the only way to raise your Strength in the game, absent hacking or implementing a bug fix by writing to the affected sector on the disk.

One other point of interest is the Pangea Greenland Dungeon.  According to the README supplied with Moonstone Dragon's Patch, Origin apparently removed the entrance to the Pangea Greenland Dungeon because the map file for the dungeon itself was corrupted when they ported the game to the Ultima I-VI Series CD.  However, the entrance is not on the IBM PC, IBM PCjr. or Ultima Trilogy versions.  It seems that if the error was "fixed", it was fixed by Sierra back in 1983.  Of course, no one apparently realized that the Greenland Dungeon is present in all four Earth timezones and is identical in each.  All they had to do was to make a copy from one of the other files and rename it.  (This is not the only time a port of Ultima II was missing a feature, the Atari 8-bit version is missing Pangea dungeon and the demonstration screens, probably because the disks at 90KB were too small to include the pictures).  The Apple II versions, both the older :ON-LINE SYSTEMS PRESENTS" version and the re-released "Origin Systems Presents" version have a Pangea dungeon entrance and an uncorrupted dungeon.

The Sierra On-line versions of Ultima II had no speed limiting of any kind.  At the time, 1983-1984, there were only two system speeds in wide use, the PC and the PCjr.  These games will not necessarily crash when played at faster speeds, but may be unplayable at AT speeds.  When Origin released the Ultima Trilogy in 1989, it included speed adjustment code in this release for people with AT class systems.  The program will count CPU cycles and try to adjust itself, but eventually will give a Divide By Zero error once the CPU speed increases past a certain threshold.  This was carried over to the Ultima I-VI Series CD. The version in the Ultima Collection replaces the speed test with a hard coded delay value, but the value was way too small for the systems of 1998. However, the Collection included a version of MoSlo for all the Ultima games.

6.  Fixing the Player Disk

Ultima II is very annoying because it can overwrite the files on the Player disk.  If some cheap idiot used his original Player disk to save a game, then the game will not be able to restore it to its pristine state.  Fortunately, they can be fixed.  The only files the game saves to are MAPX10, MAPX20, MAPX30, MAPX40, PLAYER, MONX10, MONX20, MONX30 & MONX40.  Replace those files with untouched versions and you enjoy a new game of Ultima II.  The pristine PLAYER and MONX files only have 00s in them.  Note that MAPX10, which is the Pangea map, will not have the dungeon entrance unless the file has been patched.

7.  Sound Effects of the Sierra Online PC and PCjr. Versions

Since I own an IBM PC and an IBM PCjr. and have access to all PC versions of Ultima II and some of the sounds rely on effects not properly emulated at present and speed-sensitive, I decided to record the playback from the respective speakers of these systems.  In each case I placed my smartphone close to the speaker's location outside of the case.  You will therefore hear keyboard keys, fans and other background noise.  I chose to do it this way in order to give the listener a true impression of how these games will sound to the actual computer user.  Note that the PCjr. was recorded without a memory device driver loaded for the proper speed.









I did not feel anything was to be gained by recording the Origin System's version, DOSBox can do justice to its simple sound effects.

Wednesday, July 24, 2013

Ultima IV - Best on the PC

If you actually wanted to play Richard Garriott's masterpiece, Ultima IV - Quest of the Avatar, on real contemporaneous hardware, and had a choice of the platform to select, which platform you choose?  Would you choose the original Apple II, the Atari 8-bit version, the Commodore 64 version, the IBM PC version, the Atari ST version, the Amiga version, the NES or the Sega Master System (Europe Only) version?  Outside of Japan, these were your choices.

Putting the console versions aside, which are not quite 100% faithful to Garriott's vision (the SMS is very close and quite enjoyable and easily puts the NES version to shame), the version to play is the IBM PC version.  That version may not have the nicest looking introduction and has no music, but what it does have is the advantage of speed.  It is the only version that can officially be installed to a hard disk.  All the other versions had to be run off floppy drives.  The 8-bit home computer versions typically required disk swapping with four disk sides.

Ultima IV accesses the floppy drives a lot.  Every time you enter or leave a town or castle, the game needs to load the next area from the disk.  Every time you initiate a conversation, the game needs to access the disk to load the NPC's responses.  Every combat requires a load.  There is a load for each 16x16 tile boundary crossed.  On the 8-bit systems, entering or exiting a dungeon requires flipping the disk over.  8-bit systems have slow floppy drives.  The Apple II is the fastest but does not really have a hardware disk controller.  The Commodore 64 and Atari 8-bit machines have hardware disk controllers in their drives but their systems speeds are crippled by the slow serial buses these systems use to connect their floppy drives.  Try any of these versions in an emulator with the authentic disk drive speed on and see how much fun you will have. IBM had a true disk drive controller and an adapter solely for the disk drive, so its disks transfer with comparative speed.  Hard drives were not standard on the Atari ST and Amiga in the first few years of their lives, so these ports were not designed to be hard drive installable.

Ultima IV on the IBM PC suffers from an absolute lack of music.  When the port was released in 1987, supporting the EGA card was considered a big deal.  Sound cards were at best an emerging technology, and the only PC compatible systems that had a music chip were the discontinued IBM PCjr. and Tandy 1000 series.  Although there is a patch for the PC version that adds music, and later combined with a patch that adds VGA graphics, it requires a 386 to run at all.  Moreover, the PC Speaker sound effects and spell effects are lost due to the increased speed.  It is not suitable at all for machines which Origin targeted.

The music is not really a big deal.  Relatively few Apple II owners owned a Mockingboard and the game itself, and without that, there was no music on the Apple II.  Atari 8-bit users did not get the music due to Origin not feeling the need to support 64KB Atari machines.  The Commodore 64's music is not that great, neither is the Atari ST or Amiga's.  Besides, there are only eight music pieces in the game (Towne, Castle, Wanderer, Combat, Dungeon, Shoppe, Rule Britannia and Shrine), and they get old very quickly.

Ultima IV scales reasonably well on low end machines.  It runs extremely well on my Tandy 1000SX in the 16-color Tandy Graphics mode at 7.16MHz, and it also runs well in 4-color CGA mode at 4.77MHz, making it suitable for IBM PC and XTs.  The IBM PC version requires 256KB RAM.  The Apple II and Commodore 64 versions require 64KB and do not utilize extra RAM.  The PC can load conversations and combat scenes in memory. The increased loading speed of a hard drive means that loads from a hard drive can occur much more quickly than even the 16-bit machines.  With real floppies, the game will check the floppy to ensure that the genuine article is being used, but there are cracks and the CD compilations do not suffer from the checks.

Ultima IV is not atypical of the Ultima series or PC ports in general.  While many PC ports were graphically or aurally inferior to their Apple, Commodore and Atari counterparts, they can run far better than any of those on real hardware.  The 8-bit machines required accelerators (except for the IIgs, which could accelerate 8-bit Apple II software), which are hard to come by and can screw up timing.  Non-PC 16-bit machines also tended to be tricky to get working faster.  PC ports by the mid to-late 80s were programmed to be at least somewhat flexible in regard to system speed.  In this case, once you get beyond character creation, the 16-color EGA and Tandy graphics are almost on par with the Atari ST and Commodore Amiga graphics.

The only issue I have with the PC port is with the keyboard movement buffer.  The keyboard movement buffer will buffer up to eight keystrokes if you hold down a directional key.  At the 4.77MHz speed, however, the keyboard movement buffer will always store up to four to five presses of a directional key if you hold the key down.  On AT-class machines you can terminate the buffered movement keys by pressing the space bar, but that does not work at the 4.77MHz speed.

Monday, June 17, 2013

Ultima VII on Real Hardware

Ultima VII - The Black Gate is, in my opinion and in many others, the greatest Computer Role Playing Game of the first half of the 1990s.  But like many Origin games (Wing Commander I & II) of this time period, it is extremely sensitive to hardware speed.  It runs faster than the ideal on my 486DX2/66 (the characters move like they are on speed).

While on my 486DX/2 66 Wing Commander I & II can be tamed by disabling the internal cache, it doesn't work with Ultima VII.  The game re-enables the internal cache in my machine if I disable it beforehand either with a software utility like ICD.EXE or through the BIOS option.  Slowing the RAM speed in the BIOS does nothing substantial to slow down the game.  The turbo button will show real slowdown, but the slowdown is a little too great and the game runs at a suboptimal speed.  Its close to a 386DX40.  Its like Goldilocks and the Three Bears, too hot and too cold are easy, but getting the speed "just right" is not easy.  Pentium computers will begin to run Ultima VII insanely fast.  The game's sequel, Serpent Isle, runs on an updated version of the Ultima VII engine.  Serpent Isle has a frame limiter to prevent the action from becoming sickeningly fast, however a powerful machine can still make it play faster than it should.

The ideal system to play Ultima VII on is a 486DX33 with 4MB of RAM, so I have been told.  Scorpia made the claim in Computer Gaming World.  Apparently this is indicated somewhere on or in the game's packaging, but I have reviewed all the items included in the box and I see no such assertion.  It may be on the system requirements label on the underside of the box cover.  Like most games, the more things that are happening on the screen, the slower the resulting gameplay.

The best advice I have for people with a 486DX2/66 is to use the jumpers to lower the FSB speed from 33 to 20MHz.  This will turn your CPU into a 486DX2/40, a CPU that never existed in the wild.  However, it will produce a correct balance of speed, very close to the ideal.

The next issue is the Voodoo Memory Manager.  Ultima VII and Serpent Isle use a custom memory manager that is wholly incompatible with all expanded memory managers, including EMM386, QEMM, CEMM, you name it.  All these drivers put the CPU into Virtual 8086 mode, whereas Ultima VII requires true Real Mode for its voodoo memory manager (which the game puts into the so-called "Unreal Mode") to work.  Origin specifically informs the user that it used this memory manager to avoid the problems with EMS, but it does not indicate what those problems were.  My guess is that the performance hit from using EMS was too much for the game to handle.  Ultima VII is also incompatible with Windows for the same reason; it must be run in DOS unless you use the unofficial U7WIN9X patch (for Windows 95-ME).

The problem with these games' EMM386 compatibility is that EMM386 provides Upper Memory Blocks.  Device drivers, such as those for the mouse, CD-ROM and disk cache, can load in UMB to save precious conventional memory.  Ultima VII and especially Serpent Isle require lots of conventional memory free, up to approximately 585K free for Serpent Isle with all sound options.  No EMM386, no guarantee of UMB.  While CTMOUSE is small enough (3K) that it can be loaded without a substantial impact on the conventional RAM, SMARTDRV and MSCDEX require about 25K a piece.  Without UMBs its virtually impossible to load a normal DOS configuration.  The official solution was to create a barebones boot disk.

It may be possible to create UMBs in systems without loading EMM386.  In Pentium and later systems, UMBPCI works with proper PCI implementations.  In 386 and 486 systems, you can try HIRAM, URAM (1988), RDOSUMB or LastByte Memory Manager may also work, depending on whether the software supports the chipset and its use of shadowing memory.  You will probably not get as many UMBs as you would with EMM386 (forget B000-B7FF), but if it works for you, it will avoid having to specially boot your system for these games.

The final issue is that this game will thrash a hard drive like Simon Legree.  To avoid those annoying short (or not so short) pauses as the game scrolls the screen, the standard 16-bit IDE controller is not going to cut it.  Fortunately there are many options to speed up disk access.  On the extreme end of the scale, if you have 32MB of RAM, consider creating a RAM drive with the DOS utility RAMDRIVE.  A full install of Ultima VII + Forge of Virtue is 19.5MB without savegames.  Serpent Isle and The Silver Seed runs to 22.5MB.  Thus your RAMDISK needs to be about 1.5MB larger than the install size.  Just remember to copy the game back to your system.

Other improvements include SCSI, whether IDE, VLB or PCI; VLB or PCI IDE, and the use of fast hard drives and compact flash cards (with IDE or rare SCSI adapter).  SMARTDRV, a disk caching program, will also assist with slower hard drives (i.e. hard drives you would actually have used at the time).

Ultima VII does not really care too much about the VGA card used, but I would recommend a Tseng ET4000AX if you are forced to use an ISA card, otherwise use a PCI or VLB card.  It only supports Adlib & Sound Blaster & Roland MT-32 (and compatibles) for music and sound effects.  Roland is obviously the best choice, the game uses stereo panning for sound effects and loads custom patches.  Adlib and Sound Blaster rely entirely on FM synthesis for music and sound effects.  Voice samples (for the Guardian in the intro and occasionally in-game) require a Sound Blaster or Sound Blaster Pro or compatibles.