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

You can donate to the Synchronet project using PayPal.

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

#!/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}

Then an scfg example would be:

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

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