home *** CD-ROM | disk | FTP | other *** search
/ Crawly Crypt Collection 2 / crawlyvol2.bin / program / c / itf_src / readme.st < prev    next >
Text File  |  1993-09-13  |  5KB  |  104 lines

  1. infocom.ttp - Infocom game file interpreter.
  2.  
  3. InfoTaskForce's Infocom Interpreter version 4.01 patch-level 2
  4. (or perhaps 3, since I have corrected some minor bugs, see below).
  5. Compiled for Atari ST by
  6. Lars J|dal
  7. joedal@dfi.aau.dk
  8. using Sozobon C version 2.0 with dLibs library version 1.2
  9.  
  10. Atari-specific files:
  11. INFOCOM.TTP - ready-to-run program for Atari ST (read the 
  12.               original README file first)
  13. INFOCOM.RC  - file containing a few parameters for the Infocom
  14.               interpreter, such as the screen width and height.
  15.               If this file is not present a screen width of 80
  16.               and a height of 25 will be used.
  17. ATARI_IO.H  - new header definitions (mostly relevant for I/O 
  18.               routines); #include'd in MACHINE.H
  19. ATARI_IO.C  - new routines for I/O on Atari using the VT52 
  20.               protocol; #include'd in IO.C
  21. MAKEFILE.ST - Makefile for compiling the whole program
  22. ATARI.LD    - specifies the files to be linked together to form
  23.               the program; referenced by MAKEFILE.ST
  24. README.ST   - this file
  25.  
  26. Note: The rest of this document describes what I have changed in
  27.       the source code to get it to compile and work on Atari ST.
  28.       If you only want to use the program, not hack on it, you
  29.       can skip the rest of this document. You still need to read
  30.       the original README file, though.
  31.  
  32. Apart from adding the above files, I have changed a few things 
  33. in existing files. Sozobon C version 2.0 doesn't recognize the 
  34. '#elif' statement so this had to be replace by
  35.     #else
  36.     #if
  37. and an extra '#endif' everywhere.
  38. Besides, the compiler was not as liberal as some other compilers
  39. when it came to constants. E.g. a construct as '((byte)0)+1' had
  40. to be replace by '((byte)(0+1))'. This affected many macro 
  41. definitions in INFOCOM.H and MACHINE.H. To solve these problems
  42. I have put in some new macros with more explicit definitions.
  43. An example: In the INFOCOM.H file is the definition
  44.     #define     MAX_PARAMS                  ((byte)0x08)
  45. This macro is used some places as MAX_PARAMS+1 in declaration of
  46. arrays etc. Sozobon C version 2.0 does not allow this (it does
  47. not consider the result a constant), so I have defined a new
  48. macro:
  49.     /* +++ new definition +++ */
  50.     #define     MAX_1PAR                    ((byte)(0x08+1))
  51.     /* +++ end new definition +++ */
  52. and used MAX_1PAR instead of MAX_PARAMS+1 everywhere. All such
  53. changes in the .H files are marked as above, but there may be
  54. unmarked replacements in other files. The full list of files
  55. that have been changed from the originals is
  56.     INFOCOM.H
  57.     MACHINE.H
  58.     GLOBALS.C
  59.     INPUT.C
  60.     IO.C
  61.     OPTIONS.C
  62. The new code is in all these cases functionally identical to 
  63. the old code.
  64.  
  65. Finally, I have found and corrected two bugs, both in IO.C:
  66. At lines 303-305 (at line 299 in the original file) is now a 
  67. check
  68.             /* Added check for q == 0  -lj */
  69.             if (q == 0)
  70.                 continue; /* empty line */
  71. This check is needed if the paramter file INFOCOM.RC contains a
  72. blank line.
  73. At line 444 (line 436 in the original file) 'getchar ()' is
  74. changed to 'GET_CH ()', which is the standard way of reading a
  75. character in this program (see COMPILE.TXT for details).
  76.  
  77. KNOW SHORTCOMMINGS:
  78.  
  79. The interpreter does not use underlining. Some games will use upper
  80. case for text that should be underlined.
  81. The interpreter does not utilize colors. I should still run without
  82. problems on color systems, though.
  83. No 'signal handling' is included (I'm not even sure what this is -
  84. is a 'signal' sent when control-C is pressed and similar events?).
  85. I haven't tried to run the interpreter with input from a file, so
  86. that may not work as it should.
  87. And if output is redirected to a file VT52 screen codes will be
  88. redirected, too (if you want to log the game, use the "script"
  89. command - (almost) no screen codes is output'ed to the script file).
  90.  
  91. Summary: This could probably be done somewhat better (do it - you
  92.          have the source), but for "normal" use the program seems
  93.          to work fine. I have tested it on version 4 and 5 games.
  94.  
  95.  
  96. Note to 2nd release: Anybody who tried to play level 3 games with
  97.          my first Atari ST release of the ITF interpreter will most
  98.          definitely agree that it could have been done better. On input
  99.          the characters were not echoed and the line had to be ended
  100.          with <ctrl> <return> instead of <return>.
  101.          I have fixed a bug in my own I/O routines, so this release
  102.          should work with all games.
  103.  
  104.