This guide provides an example of how to perform an installation of a DOS door game with Mystic BBS for Windows.
Before we begin, there are a few things that need to be understood about doors and Windows:
The first thing to understand is that newer 64-bit versions of Windows cannot execute DOS doors (or any DOS software) and therefore, the Windows operating system must be 32-bit in order to run DOS doors. This is a Windows restriction, not a BBS restriction and holds true for all BBS software.
The second thing to understand is that a layer between the DOS door and the modern BBS is required in order to translate input and output from the game to your BBS. This is true for all BBS softwares, including others that may appear to be "transparent"; they are using one too.
In the case of Mystic, it does not currently package itself with a driver to translate DOS serial and fossil I/O but fear not there are many free drivers available to download.
There are several drivers available some are better than others, some are still supported, some are not, etc. In this case we are going to use one called NetFoss.
NetFoss is chosen because it is still supported, it is free, and it is the most efficient driver available. Its written entirely in Assembler which makes it lightning fast (according to it's documentation), and it uses a tiny 16KB footprint while running!
NetFoss can be downloaded from http://pcmicro.com/NetFoss
In this example, we have Mystic BBS installed to C:\MYSTIC and the doors will be installed in a subdirectory C:\MYSTIC\DOORS, so that all doors and related files are all tucked away neatly in their own subdirectory
NetFoss v1.12A (I/O driver)
Legend of the Red Dragon v4.07 (DOS door)
First lets set up NETFOSS. This is a relatively quick and painless setup and it only has to be done one time ever. Once this is done, we can run all doors without having to change anything.
*IF YOU HEAR A BEEP WHEN YOU TEST YOUR DOOR LATER OR YOU GET A "Can't find netfoss.dll" message when you run the door, its because this step was not done correctly!
@echo off c:\mystic\netfoss\netfoss.com %1 if errorlevel 1 goto end c:\mystic\netfoss\netcom.exe %1 %2 %3 %4 %5 %6 %7 %8 %9 c:\mystic\netfoss\netfoss.com /u :end
In other words, we are adding in the %1 as instructed in the documentation and we are changing the paths to reflect where we really have NETFOSS installed which is c:\mystic\netfoss (not c:\netfoss).
4. Once that is saved you are done. You'll never have to touch NetFoss again
for any other doors, and it can be left alone to do what it does!
Lets install the DOS door Legend of the Red Dragon. We start this by unzipping LORD407.ZIP into its own directory. The 4.07 version comes annoyingly "double zipped" meaning inside of LORD407.ZIP there is another LORD.ZIP.
Unzip the contents of LORD.ZIP into the C:\MYSTIC\DOORS\LORD directory
Now the setup of every door is going to be completely different, because it is dependant on the door itself. LORD could be considered one of the "difficult" doors to setup. Lets look at the steps to setup LORD as shown from the INSTALL text file that comes with the door:
REM cd \LORD REM ^ Set this to your LORD path
Now change those REM lines so they look like this:
cd c:\mystic\doors\lord
IE it should look something like:
cd c:\mystic\doors\lord @echo off <a bunch of other crap here>
2. Run LORDCFG. Now it says we need to setup each node that we want to use.
In our case we have a 3 node BBS setup using Mystic, so we'll setup 3 nodes
Now there are many settings here such as things like BBS Name. These things should be self-explained so lets only focus on what is required to get this thing setup:
Mystic creates door drop files in a temporary directory used by each node for example C:\MYSTIC\TEMP1 would be node 1. C:\MYSTIC\TEMP2 would contain the door drop files for node 2, and so on.
Since we are currently configuring LORD node 1, we want to tell it where to find the DOOR.SYS for node 1 which is C:\MYSTIC\TEMP1.
Thats it. But since we have 3 nodes, we need to do this same thing for all three nodes. Here's how:
LORD will copy over the settings you've already created for node 1, so there is really only one thing that needs to change. You guessed it (I hope) its the "Path to the drop file":
C. Set "(4) Path to the dropfile" to "C:\MYSTIC\TEMP2". Remember we said Mystic creates the DOOR.SYS file for each node in its temp directory, and since we are configuring Node 2 in LORD we must tell it what that directory is: C:\MYSTIC\TEMP2
Now repeat the same steps above to create the configuration for Node 3 and exit out of LORDCFG. We are done configuring LORD for all 3 nodes.
Now we put it all together by creating a menu command in Mystic! The first thing to do is load into Mystic's configuration and open the Menu Editor, then select whatever menu it is that you want to add the option to run the door.
To do this: run mystic -cfg from the commandline in C:\MYSTIC to start the configuration.
Once inside the menu editor, select the menu you want to add the option to and press / to bring up the list of commands. Select I to insert a new command whereever you want it. Then press ENTER on the new command to edit it:
c:\mystic\netfoss\nf.bat /N%3 /H%0 c:\mystic\doors\lord\start.bat %3
Now lets discuss what this means. %0 passes the telnet socket handle which is a requirement by NetFoss, and %3 translates to the node number which is required to pass to both NETFOSS and LORD's "start.bat". All doors in the future will be configured in the following format:G. Now that you've set the DATA field to run the correct command line you
can exit out and save the menu.
Now keep in mind you only ever have to configure NetFoss once and then you it never has to be done again. And also keep in mind that LORD is one of the more annoying doors to configure (IMO).
As mentioned above, the only thing that needs to be done for additional doors is to prefix their command line in the DATA portion of the menu command with the NETFOSS stuff:
c:\mystic\netfoss\nf.bat /N%3 /H%0 <DOOR COMMAND LINE>
Remember to configure all of your doors to use a FOSSIL if they have the option to use serial or fossil.