Museum of Computer Adventure Game History
Advanced Search  
Home > Collections > Computer Games > Infocom
infocom
Probably the best-known computer game company of the eighties, the majority of their games were text adventures all with excellent parsers, character interaction and storylines.  They produced definitive interactive fiction.  Perhaps even more astounding was their packaging (see below) which always contained plenty of props and other goodies which made the game more fun and made it seem more real.  It's too bad other companies haven't learned from Infocom and spruced up their game materials for and extra buck or two which I'm sure most people would be glad to pay for.  Anyways there are many pages dedicated to this series which do a far better job of praising it than me so visit them for more info. Note the newly added, prized piece of the museum, a copy of the Personal Software release of Zork. Sometimes referred to as "Barbarian Zork" for obvious reasons, this was published before Infocom published their own software and is extremely rare. This copy is in particularly good shape too, still with the original ziploc baggie (as evidenced by the "copy-limited" sticker on the baggie). This is literally one of the first adventure games ever published for the "home" user.

Barry Boone, who singlehandedly adapted the Z-code interpreter for the TI-99/4A to run the newer games that Infocom did not release on this platform, recalls the steps he took:

As far as the technical details of porting the games to the TI, basically I had two problems I had to solve. The first problem was getting files for other computers into a form that the TI could understand. On non-TI platforms, the data file or files were stored as binary flat files. On the TI, the files were stored as two files consisting of 255 byte records. The first file was copied directly into the TI's memory expansion, while the second file was accessed, virtual memory style, as memory pages were needed. By comparing TI files of games with non-TI files, I was able to determine that the 255 byte records on the TI consisted on the first 255 bytes of each block of 256 bytes of the corresponding record on the non-TI files. Each 256th byte of each record was put into an array of up to 255 bytes, and stored in the last record of one of the two files (I don't recall which). The 256th byte array was stored in memory on the TI during the load process, and the 256th bytes were automatically supplied from that cache when records on the virtual memory file got accessed.
So having worked out the file format, I wrote a program to crunch the non-TI files and build the TI files. The resulting files appeared to work, but I quickly discovered the second problem. If I converted an older game that already existed in TI format, everything worked perfectly. But with the newer games, there was a big problem.
The problem was that the interpreter software written for the TI had a number of bugs, many of which did not show up with the original set of games, but became all too apparent with the newer ones and made them unplayable. So I began a process of reverse engineering the Z-Code interpreter for the TI. What I quickly realized when looking at the disassembled code, was that the TI interpreter appeared to have been cross assembled or perhaps some sort of similar tool was used, to convert assembler from a VAX over to TMS9900 assembler. This made sense due to some major similarities between VAX assembler and TI assembler (both were based on minicomputer architectures), and made a code port pretty elegant. However the differences between the TI and VAX made automatically generated code somewhat inefficient. So once I reached a point of having recreated the source code, I began working on making the code more efficient, and fixing numerous bugs in the implementation. The largest bug I encountered was a vocabulary table bug. Basically the original TI interpreter would hit an overflow bug if the vocabulary table was too large, and the binary search algorithm would start searching the wrong area of memory to look up words. This had the effect of making the last portion of the vocabulary inaccessible, and made the game impossible to play. I also added a number of enhancements that allowed the game to load about 20 times faster, and modifications to play the games on TI systems equipped with 80 column displays.
Finally, I had to make a second variation of the interpreter so that persons who had an extra 8K of RAM (known as a Super Cart, or Super Space module) could play some of the games that required a larger memory footprint than 24K of memory buffer. These games included Leather Goddesses and a couple others.
In total (if I recall them all) I was able to port 11 additional Infocom games to the TI. The ports originally were all done so that I could play the games, since I could not afford another computer back then, and I was a huge fan of the games. Plus I enjoyed the challenge of getting them working. I never expected or intended to do anything else with them, but the Asgard opportunity was a cool way to make them available to other TI Infocom fans, and so I was very happy to see them get sold legally.


This gallery has several sections to it. Please select the one you would like to visit or view them all at once:

Pre-Infocom Packaging Folio Packaging DEC Dysan Grey Box Post-Grey Box Infocomics Solid Gold Commodore Packaging Mastertronic Packaging TI-99/4A Asgard Releases
Loading...
Gallery Map
Gallery Map
Gallery Map
Gallery Map
Gallery Map