The Portable Infocom Copyright (c) 1992 by T.A. Phelps All Rights Reserved InfocomPro is freeware, not shareware or public domain. InfocomPro--consisting of the files "README", "InfoSnarf", and "InfoLoad"--may be freely distributed, but only as an unmodified group of three, and only as long as no more than $5 is charged to obtain a copy, inclusive of media, postage, and handling. In particular, the Public Domain Exchange (aka PDE) may not charge its outrageous $9 for any disk containing InfocomPro. Seeing as how InfocomPro is free, the author makes no promises at trying to help you with your problems. If you have a suggestion or find a bug, you are welcome to report it to him. Who know, he may fix it. Then, again, maybe he won't. Requirements Apple // with 65C02 or better to capture games Any Apple // will play games, but 80 columns recommended An Infocom game with Version B interpreter (see below) 3.5" disk drive or hard disk strongly recommended Perhaps you've seen The Portable Kafka or The Portable Beat Reader--now you can have portable interactive fiction for your Apple //. All of the early Infocom text games were written in a high-level adventure description language and compiled into a low-level machine-independent code. To run any game on a particular machine, all Infocom had to do was write an interpreter on that machine for the code produced by their compiler; that's why their games ran on so many platforms: they wrote the interpreter once per machine, and it worked for all their games. Now with the two programs included with InfocomPro, you can convert most of your Apple // Infocom text games to run under ProDOS. [Alternatively, you can play your Apple // games on another (e.g., UNIX) machine if you have an Infocom interpreter for that computer.] Games in progress are saved as a normal ProDOS file, so you can keep them (conveniently date and time stamped) on the same disk as the program itself and move them about conveniently--no more dedicating an entire 5.25" disk to Infocom saved games! Further, you can put several (usually about six) games on a 3.5" disk or your entire collection on hard disk. Most importantly, you can play (most of) the games recently re-released as the Lost Treasures of Infocom, a set of 20 early adventures for $60. Unfortunately, it is now available only for IBM and Macintosh computers; fortunately--assuming you can transfer the data files over to Apple // (and don't ask me how to do this!)--you can play these games on your Apple //, as the game files themselves are machine-independent. Here's how. First you need to get an interpreter. An interpreter from most games will run the game code of most other disks. Unfortunately, the many versions of the interpreter make it difficult to write one set of code that works with all. Therefore, I require you to use Interpreter version B, which works on all Apples and gives you the ability to view all compatible games in 80 column upper and lower case--even ones which originally played only in 40 column all uppercase! To determine which Infocom game of yours has this interpreter, boot the disk and type "$verify" as a command. If the interpreter is version B, it will say "INTERPRETER : B". Once you've located a game disk with Interpreter B, boot it, and when the game asks "80 COLUMNS (Y/N)?", press reset. Move 800.8FF temporarily with *4000<800.8FFM (the asterisk indicates that this command should be typed from the monitor), boot a DOS 3.3 disk without a hello program, restore 800.8FF with *800<4000.40FFM, and save the interpreter to disk with "BSAVE INTERPRETER,A$800,L$1BE6". Then use Copy ][ Plus to copy it over to a ProDOS disk. Now to copy the code for each game into a ProDOS file follow these steps. 1. Unprotect the game, if it's not already so. If your game is copy protected, refer to the addendum for hints on deprotecting it. 2. Now to capture the game code into a ProDOS file, run InfoSnarf and follow its instructions (for a little entertainment during the transfer, press lowercase "g"). Note that the game name it requests is the ProDOS pathname under which the data is saved, so the filename portion is limited to a maximum of 15 letters. InfoSnarf checks to make sure the game code was compiled with the compiler supported by Interpreter B. Thus very early games (like my copies of Zork I and II) and later games (like graphic adventures) will not be converted. 3. To run a captured game from within ProDOS, use your program selector to run InfoLoad with the game name (as given in step 2) as the startup file. If no startup file is provided, InfoLoad will ask for one. InfoLoad will load the interpreter, patch it to work with ProDOS, and run the game code. A complete, bootable ProDOS game disk includes the following files: ProDOS, INTERPRETER, InfoLoad, and one or more game files. With these three files, some (most?) games are now to big to fit on a 5.25" disk! In this case you need to boot ProDOS from another disk, then type in the pathname of the game file on the other disk to run it. ProDOS, INTERPRETER and InfoLoad need be included only once for all games on the disks. Note: I plan to buy the Macintosh version of Lost Treasures and wrote InfocomPro so that I could run the games on my Apple IIgs. This had several implecations in development, specifically: I don't care that my Zork I and II aren't compatible as I'll use the LT versions; InfoSnarf needs a 65C02 or higher (though InfoLoad works on all IIs); and a version B interpreter is required. Thanks to: Andy McFadden, Joe Kohn. 19 January 1991 _____________________________________ Infocom Treasures on any Apple II by Doug Cuff note: originally published in II Alive When the MS-DOS and Macintosh versions of Lost Treasures became available (several years before the IIgs version), programmer T.A.Phelps was chafing at the bit for an AppleII version. He knew the game files were interchangeable, so he set about getting an interpreter. He succeeded, and also discovered a way to convert the largely inaccessible DOS3.3 data files to ProDOS. Unfortunately, this is a little more difficult than it sounds. T.A.Phelps' freeware package, InfocomPro, consists of the files "InfoSnarf", "InfoLoad", and a Readme file. It requires you to have Infocom games of a certain vintage... those with version B of the standard 48K interpreter, which was in use around 1984. Considering that the AppleII 48K interpreter went all the way up to version M in 1987, only older Infocom fans are likely to have version B. (Note that InfocomPro cannot handle games that require 128K. There are no 128K games in the Lost Treasures package, either.) Having an older Infocom title is no guarantee that you have an old interpreter, since Infocom frequently reissued their games with updated interpreters. For example, Starcross was published in 1982, and my program disk uses interpreter "Apple II Version F". I booted disk after disk trying to find interpreter version B, and was only successful because I had bought a used copy of Suspect a year ago at a users' group auction. (My brother later told me that his 1984-release copy of Hitchhiker's Guide to the Galaxy also uses version B.) If you have initial releases of any of the five games Infocom released in 1984 -- Cutthroats, The Hitchhiker's Guide to the Galaxy, Seastalker, Sorceror, Suspect -- you probably have version B. If you don't have a 1984 initial release, you'll probably have to boot all of your disks. The InfocomPro documentation suggests that you search for interpreter B by booting an Infocom disk, then typing "$VERIFY" to display the interpreter version. The problem with this is that it's time consuming, since you'd be smart to wait until the verification stops before removing the disk from the drive and booting another. You can narrow down the version of your interpreter by watching what happens at boot time. The game should begin by asking whether or not you want 80-columns. If it doesn't, boot the next disk. If the question "80 COLUMNS? (Y/N):" appears in the upper left corner of the screen, then you may have found a version B interpreter. Only if you see this display should you answer the question. Once you get a ">" prompt, type "$VERIFY" to check on the version. If any other question appears, don't bother to answer the question, just remove the disk from the drive, and boot another. If the question "DO YOU WANT 80 COLUMNS? (Y/N):" is in the upper left, then you probably have version A. If the question appears in the centre of the screen rather than the upper left corner, then you have a version later than B. As I've noted, I eventually found a copy of interpreter B on my Suspect disk. Then I followed the instructions necessary to save the interpreter on a standard DOS3.3 disk, but it crashed when I tried to run it as instructed. Using a disk editor, I examined the interpreter I'd saved and saw that the first three bytes read "000000". I don't know much about machine language, but that didn't look like any way to begin a program. I loaded the interpreter into memory again, and found that the version in memory and the version I'd saved on disk were identical except that the version in memory had the first two bytes as "D8A9", not "0000". Once I used my disk editor to make the change, everything ran smoothly. Once you have a file called INTERPRETER on a DOS3.3 disk, you will need to copy that file to a ProDOS volume. The author, T.A. Phelps, recommends that you use CopyII Plus for this, but I suspect CONVERT or the Apple Systems Utilities would also do the job, as would any GS-OS program that supports Apple's DOS3.3 FST. Once the interpreter has been captured and converted to ProDOS, you still have to acquire the game data files. Phelps has written a program called INFOSNARF that reads the data files and verifies them before writing them to a ProDOS BIN file. Once this is done, INFOLOAD and INTERPRETER can load and use the data file, and you can play the game. Note that INFOSNARF requires an AppleII with a 65C02 or 65816 chip, such as an enhanced IIe, a IIc, or a IIGS. Once the games are converted, however, INFOLOAD will run on any AppleII with the 64K of memory required by ProDOS. INFOSNARF also insists that the game disks it reads be unprotected. I was able to use the instructions supplied to de-protect most of my original disks and copy the data new files to a subdirectory on my hard drive. I successfully converted 14 data files. These files, plus INFOLOAD and INTERPRETER, take up 3038 blocks of my hard drive. They would also fit on two 3.5" disks, with room for PRODOS as well. Also, 9 of the 14 games would fit individually on a 5.25" disk. Neither arrangement would leave much room for saved games, though. That's significant since InfocomPro, like Lost Treasures, does away with the old limit of 8 saved games. You can have as many as you have disk space for. (A saved game takes up 28 blocks.) What's most exciting about InfocomPro is that the data files are compatible with Lost Treasures... and vice versa. This means that 8-bit AppleII users who are lucky enough to have Interpreter B can buy Lost Treasures and have access to all the games except Hitchhiker's and Beyond Zork. The Lost Treasures data files have a filetype of $F5, and an auxtype of $8003. Change the filetype to BIN ($06) and the auxtype to $0000, and InfocomPro will accept them. (Some later games may hang, though. For instance, it's possible to finish The Lurking Horror using InfocomPro and the date file from Lost Treasures, just don't ASK HACKER ABOUT LOVECRAFT. Other non-essential commands are similarly off-limits.) This works the other way around, too. If you own Lost Treasures, you can change your INFOSNARFed files from BIN/$0000 to $F5/$8003, and the Big Red interpreter will run them without problems. I lost no time in transferring Hollywood Hijinx and Leather Goddesses of Phobos to my hard drive, and have had no problems. If you don't have an old Infocom game with Interpreter B on it, there's still something you might try. There may be no chance whatsoever it'll work, so proceed at your own risk: The 8-bit interpreter that comes with the Zork Trilogy for the IIe and IIc might just serve as a substitute for Interpreter B. Or then again, possibly not. _____________________________________ Addendum T.A. Phelps This addendum is not officially part of InfocomPro. It is included as a last-hope set of hints for deprotecting your Infocom text games. Issue numbers refer to COMPUTIST magazine. For a subscription, send $24 to COMPUTIST / 33821 E. Orville Rd. / Eatonville, WA 98328. Zork (issue #1) / Witness (issue #4): [yes, that's issue #1, from 1981] RUN COPYA Ctrl-C 70 (delete line 70) call -151 b925:18 60 b988:18 60 be48:18 b8fb:29 00 3d0g RUN Then, on track 0 sector 2: Change 5D from BC to AD (fix prolog byte) Change FB from C9 to 29 Change FC from BC to 00 Starcross (issue #5): The data prolog bytes were changed from D5 AA AD to D5 AA BC. On track 0 sector 2: Change FC from BC to AD (allow program to read copied disk) Change 5D from BC to AD (allow program to save game to unprotected disks) Issue #24 - updated infocom disks: RUN COPYA 70 (delete line) 365 POKE 49384,0 (make the drive stop turning) call-151 b925:18 60 b988:18 60 be48:18 60 <-- this line changed b8fb:29 00 3d0g RUN And again, 5d->ad, fb->29, fc->00 Issue #51 did the same for sorceror and zork III. Issue #63 did it again for deadline, enchanter, sorceror, starcross, zork II. One issue reported that "Nord & Bert Couldn't Make Heads or Tails of it" was stored in 18-sector format. Bummer.