The Mystery of Ultima V for the Atari 8-Bit
I’ve been far too tardy in reporting on this fascinating discussion, which was brought to my attention by Alatari the Steadfast Dragon. It’s a post by “RobS”, who evidently worked on an Atari 8-bit port of Ultima 5 some years ago. He stopped by the Atari Age forums to tell the story of the ill-fated port, which was essentially a very hacked version of the Commodore 64 port of the game. (Whether it was the official port announced by Origin seems to be a matter of some dispute.)
Here’s the first part of Rob’s story:
Origins, as it were
So it’s 1988, I’m all of 22 years old, and I have started my own first neo-company, Creative Software Systems. I didn’t really know what I was doing, or what I wanted to do, except that I wanted to have my own software company and I wanted to write programs for the Atari. I was working on a couple of utility programs for the Atari that I thought the world could use. My work system consisted of a 130XE that I bought when they came out in 1985, a 1050 drive and a recently acquired Indus GT.
The main program I had been working on was a disk utility program called Sleuth, which was a heavily modded and expanded version of one of the type in programs from an issue of Analog. I added full menu-driven support for it, and a bunch of other features for managing disks. The sector editor portion took a great deal of time to get it to do what I wanted, and is one of the more full-featured ones I think was ever done for the Atari. It supported full text/hex/asc searches, as well as allowing you to edit the data in a variety of ways, like being able to type text directly into the sector. It was pretty slick, and I tried very hard to make it a user-friendly and advanced program or the 8-bit world. This would come in very handy when trying to put together Ultima 5 on the Atari.
One of the other utilites was a program I called Ultimapper, which was a program that allowed you to load and print maps from the Ultima 4 disks. Nowadays, you can just look all this stuff up on the net, but back then there was very little way for someone to get access to maps like this. Maybe you could buy a book, but that was about it.
These two utilities, and what I learned from programming them and how the Ultima games were laid out, would lead me to try my hand at doing a port of Ultima 5.
Inspiration
I had played Ultima 4 back in 1985 on a friend’s Apple II. I couldn’t wait to play and finish it on my Atari, but it took a while for it to come out on that platform and before I was able to get it. When I was finally able to get it for my Atari, I spent weeks playing it, and loved it. What a great game! I was excited about the prospects for an Ultima 5. Ironically, I actually called the main story line for Ultima 5 about a year before they even announced it. After finishing U4, I thought what could they do for an encore? You can’t got back to the “attain perfection” well again, so I came up with, “well, you need a big story and a big quest. What if someone kidnapped Lord British and you had to spend the game trying to find him?” Seemed to be a good idea, and it really was just a variation on the old RPG trope of rescuing the princess, but with larger implications.
So it’s about 1988 now and I’m looking for Ultima 5. I played it a bit on my friend’s Apple II’s, but I really wanted it for the Atari. I read somewhere that an Atari version was in doubt, and no one had any info about it, so I had an inspiration: I would see if I could work on port of it for the Atari, then contact Origin, show them the work so far, and they would naturally go “oh, well, if you’ve already gotten that much done, by all means finish it!” Right? Either way, it would be a proof-of-concept and it would let me see if I could hack it (hah!) as a programmer. A part of me also just wanted to see how it would look on the Atari.
Given that I had no official access or support from Origin, the natural question is: how the hell did you get the graphics and all that for the Atari? Now that is quite a fun hackish-type story. I had a friend, John Hendrickson, who had one of those nifty Commodore 64’s that was the portable (the SX-64) with the 5″ built-in color screen (an actual 5″ CRT no less!). Ultima 5 was out for the C64 and he also had a cartridge that could basically dump the memory of the machine and make a copy. Then you could reboot and scan/copy the data from the memory on the cart. This was going to be my secret weapon.
Hacking Ultima
Starting on the Apple II that I used from friends and school, I had already spent some time learning how to sector edit various attributes of my characters and even a little map hacking here and there on all the Ultima games.
I had already done a lot of hacking on U4 on the Atari (and the whole Ultimapper utility) and had, of course, hacked the characters stats. I also had researched and figured out how the tiling system of the graphics worked, and how the main map was stored. This was WAY before the internet, and there was almost no information on this stuff. All we knew then was the map was 256×256 in size and each element on that map was 1 tile. The rest we had to figure out on our own. For instance, we had to calculate and measure the actual tile size. We figured it had to be 16×16 pixels, and the onscreen area of the map you see was 11 x 11 tiles. This would leave 8 pixels above and below the map area (for the border) on an Atari, which had a screen height of 192 pixels.
I went in and sector edited some of the sectors using Seluth to put a string of tiles in the map sequentially from 0 to 255 (there were 255 graphics tiles as well. Some were blank, but they used most of them) and this showed what tile was tied to what number. As an aside, doing this created a permanent chest in the map (as you have probably seen in other screenshots of U4 in various places) that you could mine infinitely. Hacking is fun!
The remainder of the story unfolds over the course of three pages of discussion, and Rob supplies both reference screenshots from the C64 port of Ultima 5 and his Atari port. And he speculates as to how the Atari port of the game was actually released, since it had never been his intention to let it see the light of day. If gaming archaeology is your thing, Dragons and Dragonettes, don’t miss this one!
Ok I loved this. Perhaps because I’m also working on U5, perhaps because I love the gritty details but it was really interesting to read and I think an insight on the hacker days of the 80’s
I believe the Atari has the same microprocessor as the Apple. Since “OS” was meaningless with most Apple programs, I wonder how difficult a port would be.
There are some interesting comments from MEtalGuy66 over on AtariAge about why Origin never ported it. I think his time/expense versus profit arguments are correct. Technically it wouldn’t have been difficult but the Atari had a greater variety of machines with different memory and disk drives. Of course had I been making the decisions at Origin I would have simply put out a version that required the necessary hardware (64K/1050 drive or equivalent).
For Ultima IV they just stripped out the music so it would run on 48K machines…