Installation ------------ The DOS version should come with executable ready. For the unix version, type "make". You will need a system with curses and an ANSI C compiler. The curses version has been tested only on a machine running SunOS 5.5. Operation --------- This driver runs on adventure datafiles in "ScottFree" format, explained by Alan Cox (writer of ScottFree) in the file 'gamespec.txt'. Many games in ScottFree format (particularly many by Scott Adams and Brian Howarth) can be found at the Interactive Fiction Archive at . Some of these games will still be under copyright; the IF Archive has details. Command Options --------------- Usage: scott [-a] [-l] [-d] [-p] [-t] [save-file] Specifying save-file causes a restore of the save to take place. -a (ALL) toggles use of GET ALL/DROP ALL (default on) -l (LOOK) toggles automatic look when the description changes (default on) -d (DIM) toggles whether the driver should print light-running-out messages each turn or every 5 turns (default each turn) -s (SPACE) toggles the use of space or newline after game messages (default newline) -p (PREHISTORIC LAMP) toggles whether the driver destroys the light source when the light runs out (default off, the game should take care of it) -t (TRACE) toggles trace messages when actions are performed (default off) Statement Of Copyright/License ------------------------------ Another ScottFree Driver, revision 1.20 Derived from Alan Cox's "ScottFree" revision 1.14, that work (C) 1993, 1994, 1995 Swansea University Computer Society. This driver (C) 1998 Robert Schneck. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program (see the file 'license.txt'); if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. The following statement is copied verbatim from the README file of ScottFree; the only new source of information used in this program are my observations while playing the first five Scott Adams games on the VIC-20. No disassembly of that driver was performed, either. >All material in this program was developed by Swansea University >Computer Society without disassembly of any other game drivers, only of >game databases as permitted by EEC law (for purposes of >compatibility). It is your responsibility not to transfer this software >to any country where such reverse engineering is not permitted. This >software license does not include any rights with regards to the Scott >Adams games themselves. These games are copyright and you should obtain >them from a legal source. > >The following information sources were used to produce the game driver: > >PC-SIG disk of Adventureland: > This gives the Adventureland database as well as about 80% of the >full interpreter system. The core of the gamedriver was written using this >as a reference to the game code. > >Byte Dec 1980: > This contains a good article about Scott and his games, as well as >a TRS80 driver and datafile writer for the 'Pirate Adventure' game. This >filled in some more answers as well as bits of the TRS80 data format > >P.D.Doherty: > Many thanks go to him for figuring out a load more actions, testing, >hunting for games which used unknown actions and for writing a Scott Adams >database to readable text convertor. This helped resolve several other >actions. Motivation ---------- I discovered ScottFree in January 1998, while looking for Scott Adams games. ScottFree was almost exactly what I wanted; however its style (apparently derived from the TRS-80) was very different from my memory of how the Scott Adams games looked on the VIC-20. I did find a VIC-20 emulator, but only the first five Scott Adams games ever appeared for the VIC-20; so I started hacking up the ScottFree code so that it would look "right", and I could get around to playing the other games. Then I discovered a couple of bugs. Eventually I ended up almost completely rewriting the program. This is the result. Originally it might have been simply a bugfix or new revision of ScottFree; finally I decided it was different enough to make it clear that it wasn't the same program, particularly because I've taken away the windowing feature; so until one or the other program is revised, there are reasons for both to exist. I have tried to organize the code to make it as easy as possible to either (1) port to other platforms or (2) change the style of the driver to suit another taste. I have almost no experience in these matters, however, so this may not be the case. I have separated the code into (I think) completely portable (asfdmain.h and .c) and environment specific (asfdcurs.h and .c, or asfddos.h and .c) portions. I have put the driver messages as #define's at the top of asfdmain.h, and the colors and styles at the top of asfdcurs.h/asfddos.h; those should then be simple to change. In particular, the driver messages should be easy to change to make second-person games look right. All the functions to print are separate, so it should be easy to reintroduce the separate windows. I hope it turns out that I have added more than I have taken away. Thanks to Alan Cox and P.D.Doherty for making this possible. I welcome comments, though be warned that I have no intention to ever put out another version! Robert R. Schneck / Changes from ScottFree revision 1.14 ------------------------------------ Reworked GET ALL/DROP ALL. The main bug was that after checking the list of actions, it still performed an auto-get (or drop); an example from Adventureland has you trying to take some honey, getting stung by bees and set to limbo, and then having the honey put into your inventory! Aside from fixing that, I've also made it so you only try to get (drop) things that started off in the room (in your inventory), and that the process stops once your room changes, or the darkness status changes. I've also made allowing it at all an option, -a. If action 52 (Get, with a check on carrying capacity) fails--i.e. you don't get it because you've got too much--now abort the rest of the action line. This is the behavior of the VIC-20 driver, and it makes sense in every case I can see within games I have in ScottFree format (with the possible exception of MAKE FUEL in Buckaroo Banzai). If you break you neck by moving an invalid direction in the dark, action 61 (kill player) is executed, instead of just ending the game. You may have a chance to live again once killed, as in Adventureland. Fixed a bug that would only stop you from getting items if you were exactly at your carring capacity. Situations can arise when you are over capacity (such as chigger bites in Adventureland). The driver now checks to see if the noun entered is valid, as well as the verb. (I check all item auto-get strings as well as all noun strings; I don't know if that is necessary.) The driver now doesn't count down your lamp or perform automatic actions if you enter an command with an unknown noun or verb. GET and DROP now give more descriptive responses ("Don't see it here!", "Already have it.", "Not carrying it!" as well as "Beyond my power to do that."). Added the abbreviation "l" for "look". In action 78, added a space after the display of the counter value. Made it so that deleting a character writes it over with a blank. The interface has changed. Instead of a separate window for the room description, the display is continuous with the room description, game and driver messages, and command prompt in different styles. Furthermore the driver messages now mimic the style I see on the VIC-20. Added the option -t to display the number and comment of actions that are performed. (The display is "DID: # comment", before the action, where DID is what the VIC-20 driver displays if you put it in trace mode with a command "t"--found this out by accident). Added an option -s to allow spaces (rather than newlines) after game messages. This makes some of the later games look much better. Hopefully newlines will still appear when needed! Removed the Scott light option -s and replaced it with a dimming light option -d, reversing the defaults. Removed the debugging option -d and the TRS80 option -t. Removed the options -i and -y for "I am" vs. "You are" messages. Instead I've put all the driver messages as #define's at the top of asfdmain.h; it should be easy to change them for second person, or for a different style (they are taken from the behavior of the VIC-20 driver). The code has been extensively reorganized. Almost everything in asfdmain.h and asfdmain.c should port without change. Environment specific code has been put in asfdcurs.h and .c, or asfddos.h and .c, as the case may be. I have tried to make it as easy as possible to change the style. It is simply a matter of changing some #define's to get new driver messages or colors. It should be relatively easy to add back in the separate window for the room description. I strongly encourage someone to do this, especially if they'll make it a command line option. Known Bugs ---------- Certain games will show too many room descriptions, I assume because they expect it to be in a separate window.