AZI: Yet Another Z-Interpreter Welcome to the exciting world of text adventures for the Apple Newton. Now you can use a cutting edge piece of technology to play games more than a decade old! Please note that if you downloaded this from an FTP site or a BBS, it should be in a non registered form. Please read the "How to Register" later in this document for details on how it is crippled. What is YAZI? YAZI is a "text adventure engine" which takes "datafiles" as input and allows you to play them on the Newton. Strictly speaking, YAZI doesn't do anything on it's own; it requires a games datafile to run. The datafile contains all of the information about specific games. [For technoweenies: datafiles were implemented as programs for a virtual machine - the zmachine. By creating the zmachine for the Newton, all these games can be played.] Using YAZI YAZI is fairly straightforward to use. After starting the applet, click on the [i] button to get a list of installed games. Once you select a game, YAZI will immediately begin running. When the prompt appears on the bottom of the screen (often ">" or "What do you want to do"), you can write in your command on the input area at the bottom of the screen. Tap on the "Return" [<-] key to have the action run. If text scrolls off the top of the screen, use the silkscreen arrows to scroll back and forward. The bellybutton moves you to the last page of text. If you want to save the game, tap on the [i] and "Save Game". A window will pop up where you can enter the name you want to save the game under. You can also delete old games. In addition, the YAZI attempts to save the exact state of your game when you quit by saving each time you quit. This game is automagically restored when you restart YAZI. To restore a saved game, tap on the [i] and "Restore Game". To start a different game, tap on the [i] and pick another game. Note that this will also end the game you were playing. If you wish to temporarily pause the game (for instance, to jot down notes in the notepad), tap on the little lantern icon to minimize the game. You will see a wee little lantern in the top middle of your screen. Tap on the lantern to restore your game. It can also be dragged around the screen so it isn't in the way. Heap Concerns This game uses a LOT of heap when it is running. This means that you might want to consider putting it on it's own card, or Freezing, or archiving other programs while it's running. Running with more than 60k is advisable, which is tricky, but doable under 1.X Newton, fairly easy on a MP120 2.0 and trivial on a MP130. Preferences Currently the only preference for YAZI is what font to use. Changing the font of a game is straightforward - simply select the new font from the prefs and the game will take several seconds to reflow the text to this new screen size. Note that you will lose much of your scrollback - reflowing all of the text would be very time consuming. Text Entry Short Cuts YAZI was started back on a set of MP100 running NOS 1.3. This meant that a lot of time was spent creating text entry shortcuts to minimize the amount of writing the game requires. 1. Tapping on the compass rose will append of the directions to the text in the input area. 2. Tapping on U N D X will append Up, Down, eNter, eXit. 3. Tapping on the little pictures will append Look, Get, Drop, Inventory, Open, Close and Examine. 4. Tapping on the diamond on the left of the text input area will pop up a list of commonly used words. Tapping on "Edit List" will allow you to edit and customize this list. 5. In the output window, hold down the stylus until it squeaks and highlight the text you want. Drag that text to the input area. This is the standard cut-and-paste routine on the newt. 6. If you tap on any word in the output window, that word will be appended to the text in the input area. If you have a 2.0 unit, the text will inserted at the caret. Finally, in most cases doubletapping instead of single tapping will insert the word and automagically press the "enter" button. In cases where that doesn't make sense (get, drop, open, close), it will append a useful default word, such as "all" or "door". Also, try tapping and doubletapping on the compass icon for more useful things. What Games Can I Play In particular, games based on the Z-Machine (originally created by Infocom - now specified in public domain documents) that are version 3 (V3) or earlier can be played. This turns out to be dozens of games: Ballyhoo, Cutthroat, Deadline, Enchanter, 4 in 1 sampler I & II, Hitchhiker's Guide to the Galaxy (Solid Gold is V5), Hollywood Hijinx, Infidel, Leather Goddess of Phoebes (Solid Gold is V5), Lurking Horror, MiniZork I, Moonmist, Planetfall (Solid Gold is V5), Plundered Hearts, Seastalker, Sorcerer, Spellbreaker, Starcross, Stationfall, Suspect, Suspended, Wishbringer (Solid Gold is V5), Witness, Zork I (Solid Gold is V5, so is German version), Zork II, Zork III "Solid Gold is V5" refers to the later versions of these games which were repackaged and given fancy hints menus. You can usually find V3 versions of these as well. How do I get these games onto my Newton? In order to load games onto the newton, you need to do a few things: 0. Get the game. 1. Find the correct datafile. 2. Convert the datafile into a Newton Package. 3. Load the Newton Package onto the Newton. 0. The easiest way to get the games is to contact Activision (who bought out Infocom). Their URL is http://www.activision.com. They still sell adventure sets suitable for munging onto the newton. Please don't pirate this stuff. If you have a copy on your newton, you should have the original disks at home. George and I would rather not have phone calls from Activision threatening to sue us because of rampant Newton based piracy. 1. Datafiles are usually located in a directory called "DATA" on PC versions of games. On Macs, datafiles are intermingled with other files. The easiest way to determine which files are datafiles is to look at the size - most datafiles are fairly big: 90+ K. In general, it's easiest to get the files from the PC version. 2a. To convert the datafiles to Newton Packages, use a program in this archive called "ZStuff", which is designed to do exactly that. Using ZStuff is straightforward, simply run the program and give it the information it needs, mostly a name and a game. The name you select will appear on the popup window. 2b. If you use the Unix or DOS version of ZStuff, it looks mostly the same, but is less GUI and more CLI. 3. You should now have a Newton Package file suitable for download. Fire up your favourite Newton connection utility and download it. Limitations of the Unregistered Version YAZI is distributed in an unregistered [if you prefer, crippled] form. You will always be able to save games, but those that are saved after playing more than 50 moves will not be able to be restored. This means that while you will be able to start most games, and play them for a while, it will be very hard to finish them, or enjoy them. After registration, all of the saved games can be restored. If all that sounds a bit confusing, it is. Do yourself a favour and register YAZI. Registration To register this game, send a check for $25 to the following address, along with your email address. Also include the exact spelling of your name on your newton. If you don't have an email address, you can also register by using Kagi (see the other help information in the register applet for information). YAZI (c/o Sanjay Vakil) 86 Norfolk St., Apt 4 Cambridge, MA 02139 - 2652 As soon as the check arrives, we'll fire some email off to you detailing your registration string. If you don't (!!) have an email address, send a self-addressed stamped evelope and hope the mail system works (: Use the "Register" on the [i] button to enter your password. In case of problems or bugs, send email to yazi@mit.edu, and we'll do our best to answer within the constraints of school, work, and minimal social lives. Why Should I Register [or: Where does my money go?] The obvious reason to register is so that you can play with a clear conscience and without any sort of save-related worries. In addition, you'll be helping to support two fledglng Newtonphiles who have a whole slew of additional applets they want to write! This is really our first big project, and we think it turned out pretty well. Future ones may be even more exciting. In addition, newton programming requires a significant upfront investment we'd like to pay off. The Newton Toolkit was over $500, including upgrades. Once that is paid off, we need to upgrade computers. Much of the work for this was done on an LC III, which is so slow, housework can be done during compiles! It's time to move to the PowerPC. YAZI is a Dorky Name! This project has gone through a number of different names on the way to this (rather lame) one: zParse, ZOAN (Z*** on a Newton), zNewt and so on. We can code, but we can't seem to come up with a decent name. So here's the deal. The full version of YAZI costs a grand total of $25US. If you send us a name along with your registration, we'll register you for only $20 - a savings of 20%. Even better - if we USE the name you suggest, we'll rip up the check and you'll have won a free copy as well as world wide recognition! Known Bugs: - after a screen rotation, changing the fonts can do weird things - changing font can screws things up on a 1.X unit. open/close to fix - V3+ games will not work - heap and memory limitations. Get a 130 (: Other Bugs? In case of problems or bugs, send email to yazi@mit.edu, or visit http://web.mit.edu/sanj/www/zparse.html. Credits: This program was written by George Madrid and Sanjay Vakil between December 1994 and June 1996. That's a long time. Along the way, David Fedor gave us much help, from with architectural issues with the Newton, to user interface tweaks and code pieces as well as for creating the mac/win code. We're indebted to him for offering us his time and expertise. Early beta testers, (who kept losing games as we updated the code) included Ert Dredge, Julie Newharth, Sally Buta, Craig Fields, Adam Dershowitz, Craig Fields and Ben Gottlieb. This program made extensive use of the Specification of the ZMachine detailed by Graham Nelson, as well as basing the program structure on Mark Howell's ZIP. No animals were hurt during the coding, except for some pet rats who were gently shooed away from Newtons.