Search the Community
Showing results for tags 'Ultima 5'.
Found 1 result
The Mystery of Ultima V for the Atari Hello everyone, I am the (infamous) Rob that worked on the Atari 8-bit port of Ultima 5...sort of. For the sake of history, allow me to tell you a story to help clarify what the disk images you all have for Ultima 5 represent. It's quite a long story, so bear with me. First of all, I have no idea how these ever got out. They were my own personal copies that I made images from. Must have included them on some disk images I converted for some people somewhere along the way. Just for the record, they were never intended to be released or seen in this form. I should also clarify that I am NOT the "official" programmer hired for the project. I don't even know that there ever was an official version in the works (more on this later) but I have seen some posts to that effect. If so, thats not me, thats some other guy, and I hope someday maybe he would release whatever he had gotten done as well. So lets case out minds back to 1988, and see if we can reconstruct how these disks came to be. 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 256x256 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 16x16 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! Anyway, having messed around with this to create Ultimapper, I knew the basic methodology for extracting the map and tile sets for Ultima 5. John helped me on his 64 to sector hack the map with the sequential numbers, then I walked to that part of the map and hit the "capture" button on the cartridge. This had to be done a few times to get all the tiles, since they obviously wouldn't all fit onscreen at once. This process was used to get all the rest of the graphic screens, like the title screen. The flames were fun to try to capture, as its an animation and I had to keep doing captures to try to get the each of the 4 frames of animation for it. The font was similarily copied from the captures, but I used a mixed method to display them on the Atari. The Atari's supported the ability to user-deifine the character sets. Since the U4/U5 character sets used the same size (8x8) for their graphic characters as the regular set, it was just a matter of redefining them with the new bitmaps and pointing the Atari to use the copy. Displaying the text to the screen was one of the assembly language routines, which we'll get into in the next post. I can't recall if the memory was just in memory on the cart, or already in files on the cart. Whichever way that worked, eventually we got them into files on C64 disks and I was ready to transfer them! How the hell do I get this onto an Atari? We didn't have any drives that could read or write the other's format. But we did both have modems. 300 baud modems. As in, 300 BITS per SECOND modems. Slow? Yeah. It took forever to organize and transfer the data, sometimes several hours per disk, if the transfer didn't fail and you had to start over. It took a long time, but it DID work! So now I was set. I had the basic graphic tiles, font, most of the main title screens, and some other info from the C64 version. All I needed was to program it to life.