====== Frotz ======
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, 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**:\\
Synchronet's [[util:CIOXTRN]] is a free/open source alternative to Doorway.
====== SCFG Settings ======
  Name                       Frotz
  Internal Code              Frotz
  Start-up Directory         ../xtrn/frotz
  Command Line               game.bat c:\sbbs\node%# 
  Clean-up Command Line
  Execution Cost             None
  Access Requirements
  Execution Requirements
  Multiple Concurrent Users  No
  I/O Method                 FOSSIL
  Native (32-bit) Executable No
  Use Shell to Execute       No
  Modify User Data           No
  Execute on Event           No
  Pause After Execution      No
  BBS Drop File Type         PCBoard    PCBOARD.SYS
  Place Drop File In         Node Directory
  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 ======
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. /S: tells 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**:\\
You can also add -x on the command line for old Infocom games so the abbreviations work for x/g/z. Examine/Again/Wait 




====== 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. 

====== 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 =====
  * [[:howto:door:|howto:door index]]

{{tag>}}
