Synchronet v3.19b-Win32 (install) has been released (Jan-2022).

You can donate to the Synchronet project using PayPal.

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
howto:door:frotz [2024/06/17 12:28] – [Door Specific Instructions] Grendilhowto:door:frotz [2024/06/24 19:15] (current) – [Linux Script to Save User Positions] nelgin
Line 2: Line 2:
 Frotz is a 16-bit MS-DOS interpreter for interactive fiction games. The code is maintained by David Griffith. The current version is 2.54 and can be found at the [[https://www.ifarchive.org/indexes/if-archive/infocom/interpreters/frotz/|If-Archive]]. Frotz is a 16-bit MS-DOS interpreter for interactive fiction games. The code is maintained by David Griffith. The current version is 2.54 and can be found at the [[https://www.ifarchive.org/indexes/if-archive/infocom/interpreters/frotz/|If-Archive]].
  
-To get Frotz to work on a BBS, you'll need Doorway. The current version is 2.32. Doorway will redirect the output from Frotz to the terminal, allowing games to be played easily. Doorway is still sold by PC Micro.+To get Frotz to work on a BBS, you'll need Doorway, except for Linux systems where Fronz will run just fine. The current version is 2.32. Doorway will redirect the output from Frotz to the terminal, allowing games to be played easily. Doorway is still sold by PC Micro.
  
 **NOTE**:\\ **NOTE**:\\
Line 10: Line 10:
   Internal Code              Frotz   Internal Code              Frotz
   Start-up Directory         ../xtrn/frotz   Start-up Directory         ../xtrn/frotz
-  Command Line               DOORWAY COM1F /S:%f /V:D /P:frotz.exe -b0 -h23 game.z8 +  Command Line               game.bat c:\sbbs\node%
   Clean-up Command Line   Clean-up Command Line
   Execution Cost             None   Execution Cost             None
Line 22: Line 22:
   Execute on Event           No   Execute on Event           No
   Pause After Execution      No   Pause After Execution      No
-  BBS Drop File Type         GAP    DOOR.SYS+  BBS Drop File Type         PCBoard    PCBOARD.SYS
   Place Drop File In         Node Directory   Place Drop File In         Node Directory
   Time Options               Set as needed for your BBS   Time Options               Set as needed for your BBS
 +
 +====== Batch File ======
 +  C:\sbbs\xtrn\frotz
 +  DOORWAY COM1F /S:%1 /G:ON /H /V:D /D /B:MSZ /FC /P:frotz.exe -b0 -u0 game.z8
 +
 +**NOTE**:\\
 +In this example, the batch file needs to be named game.bat.
 +
  
 ====== Door Specific Instructions ====== ====== Door Specific Instructions ======
-Doorway must be in the Frotz folder. Frotz will only run .z5 and .z8 interactive fiction games on the BBS. On the command line, you're setting up Doorway to redirect to COM1F and then pass three values. /S tells Doorway where to look for .SYS file. /V passes the Video Mode. This mode must be Direct. /P is the program it'going to run. When you run Frotz you are passing -b0 so the background is black, the text will be white. -h23 sets the game to 23 column. This prevents draw errors on the 24 column screen. The last value is the game you're going to run.+Doorway must be in the Frotz folder. Frotz will only run .z5 and .z8 interactive fiction games on the BBS. 
 + 
 +In the batch file, you're setting up Doorway to redirect to COM1F. /Stells Doorway where to look for .SYS file. %1 is the Node that you are passing from the command line to the batch file. /G:ON Turns on graphics. /H Halts Shells To DOS. /V:D passes the Video Mode. This mode must be Direct. /D Disables disk writes. There is no saving. /B:MSZ Handles the last line of text at the bottom or the screen properly. /FC Force carrier for Null Modems. /P is the program that you are going to run.  
 + 
 +When you run Frotz you are passing -b0 so the background is black, the text will be white. -u0 will turn off undo, giving you more memory. You do not have to do this will all games. The last value is the game you're going to run.
  
 **NOTE**:\\ **NOTE**:\\
Line 37: Line 49:
 ====== Register DOORWAY ====== ====== Register DOORWAY ======
 DOORWAY can still be registered at pcmicro.com. You can use it for 30 days to try it out, but the program will only run for 10 minutes.  DOORWAY can still be registered at pcmicro.com. You can use it for 30 days to try it out, but the program will only run for 10 minutes. 
 +
 +====== Linux Script to Save User Positions ======
 +
 +Save the following script as rungame in your /sbbs/xtrn somewhere, such as /sbbs/xtrn/infocom. Change GAMEPATH as appropriate. I have all my Infocom games in the same /sbbs/xtrn/infocom directory for ease of use.
 +
 +<code>
 +#!/bin/bash
 +
 +stty kill undef
 +stty erase ^?
 +
 +if [ -z $1 ] ; then
 +  echo "Must provide a user number"
 +  exit 1
 +fi
 +
 +if [ -z $2 ] ; then
 +  echo "Must provide a filename"
 +  exit 1
 +fi
 +
 +BASENAME=$(echo $2|cut -f1 -d.)
 +GAMEPATH=/sbbs/xtrn/infocom
 +SAVEPATH=/sbbs/data/user/${1}/${BASENAME}
 +if [ ! -d ${SAVEPATH} ] ; then
 +  mkdir -p ${SAVEPATH}
 +fi
 +
 +/usr/local/bin/frotz -R ${SAVEPATH} ${GAMEPATH}/${2}
 +</code>
 +
 +Then an scfg example would be:
 +
 +<code>
 +[Hitchhiker's Guide to the Galaxy]
 + 1: Name                       Hitchhiker's Guide to the Galaxy
 + 2: Internal Code              ICHHGG
 + 3: Start-up Directory         ../xtrn/infocom
 + 4: Command Line               rungame %4 hitchhiker.z3
 + 5: Clean-up Command Line
 + 6: Execution Cost             None
 + 7: Access Requirements
 + 8: Execution Requirements
 + 9: Multiple Concurrent Users  Yes
 +10: I/O Method                 Standard
 +11: Native Executable/Script   No
 +12: Use Shell or New Context   No
 +13: Modify User Data           No
 +14: Execute on Event           No
 +15: Pause After Execution      No
 +16: Disable Local Display      No
 +17: BBS Drop File Type         None
 +18: Place Drop File In         Node Directory
 +19: Time Options...
 +</code>
 +
 +The %4 means the users user number, zero-filled to 4 digits.
 +
 +Any saved games will be in /sbbs/data/user/xxxx/gamename
  
 ===== See Also ===== ===== See Also =====