ScottCom v2.05 by Stu George Based on ScottCom by Bjorn Gustavsson
v2.05 : some date in the past
- Uploading to github whatever crusty changes accumulated over the last N years.
v2.04 : 20070929
- Fixed some error reporting that was bigger than an ancient buffer...
- Switched build system from Makefile to rant
- Removed parser.[ch] frmo repo and properly autogen with yacc
v2.03 : 20060603 - Unreleased branch + InProgress
- Wrote a new grammar in GOLD thats a lot less error prone than the current gramar.
- Cleaned up some compiler warnings and issues.
v2.02 : 20051115
- Added flag output in verbose mode.
- Fixed verb numbers when verbs are moved in dictionary
- Stopped compiler from killing message 0
- Added multi-depth try blocks 12 levels (Tested up to 12 on the TI99/4A)
- Dictionary optimisation (using up the holes in the dictionary)
- Verbose now outputs size of each code block action
- Using verb synonym for verb in action block declaration now uses primary verb.
- Using noun synonym for verb in action block declaration now uses primary noun.
- First pass at a jEdit syntax highlight file.
- HTMLised and updated the manual
v2.01 : 20050823
-
Fixed syntax printing
-
Now checks for duplicate messages (saves on message space.. since we can only have 181 messages.
-
room 0 is now defined with a name as rm_ZERO, where items go as storage, and saves you creating a room just for storage.. oops.. void does same thing..
-
Verbose (-v) now has more output
-
Changed max timers from 5 to 16
-
Fixed timer allocation timreg a1, a2; # creates 0 + 1 timreg a3; # creates a3 as 0!!!
You now must define each timer on a separate line
timreg a1; timreg a2; timreg a3;
-
Fixed room register allocation (same bug as timer allocation)
-
Internally we use ~ for cr/lf and | for embedded space. (not used in scott adams driver.. saves wasting messages for .nl )
-
Input can now take any extension, if no extension, looks for .apl
-
Output is now with the extension .fiad (works with ti99 emulators)
-
Fixed output name in story file to remove file extension and directories (eg: scottcom games/escape.apl makes the title "GAMES/ESCA" when you want ESCAPE)
-
Added 'end' command, so now you can end a routine without going to the end of the routine...
-
Increased the length of the verbs/nouns from 3-9 to 3-31.
Below here is Bjorns original readme
===============================================================================
(RCS ID:
ScottCom is a generator of adventure game files in the Scott Adams format. This release only supports the TI-99 version of that format, not the more common TRS-80 format.
ScottCom is NOT a new general-purpose interactive-fiction writing tool. If you simply intend to write an adventure, you should go for one of the modern compilers, such as Inform.
ScottCom is provided under the GNU General Public License. For further information, see the file COPYING.
Bug reports and suggestions can be sent to the address found below.
-
How to use a C compiler and make. If you can't compile it, you probably shouldn't use it.
-
Something about the Scott Adams format. If you are able to use ScottDec (by P.D. Doherty) and understand how a disassembled TRS-80 game works, you probably know enough.
-
escape.apl is a miniature file giving som example of the syntax. To compile: scottcom escape.
-
MANUAL contains all conditions and actions with some explanations.
-
The XREF file maps from the names found in ScottDec (by P. D. Doherty) to the names used in the compiler.
Game files generated by the compiler can be run:
-
On a TI-99 or emulator, provided you have the adventure module.
-
Converted by new versions of Scott2Zip to Inform source code. Version 2.00 of Scott2Zip might get uploaded to the if-archive within a near future. (Note that version 1.x of Scott2Zip found in the if-archive doesn't quiet work, for various subtle reasons.)
-
Run by an game interpreter which understands the TI-99 format. As far as I know, there is currently no such thing available in the if-archive. One might get uploaded within the near future.
I wrote the first version more than 10 years ago. That version tried to hide all the magic numbers inherent in the Scott Adams format (e.g. that item 9 always is the light source, that GO, GET, and DROP verbs must have certain numbers), but verbs had to be presented all at once, then nouns, items, rooms, actions etc in a fixed order, making the compiler simple but game writing difficult.
At the end of 1995 and the beginning of 1996, I did a considerable cleanup of both the C source code and the input game syntax itself. As as a result, declarations can be mixed in any order, so that you can keep everything needed for a puzzle in the same place in the source file.
Paul David Doherty, for advice and for some terms borrowed from ScottDec.
Bjorn Gustavsson [email protected]