                               Running PCBoard
                    in a FidoNet - Technology environment

                                     by

                               Michael Nelson


        This file is intended to show you how to set up PCBoard to operate in 
the FidoNet / RBBSNet environment.  The main programs being used are:

        InterMail, version 2.01 (Commercial program... but you can
                also use FrontDoor, as it operates in a smilar
                manner)

        PCBoard 14.5a /E3 (Commercial program)

        BNU 1.70 FOSSIL Driver (BNU170.ZIP)

        Squish 1.00 Tosser / Scanner / Packer

        MRen 2.50  Message renumbering utility (MREN250.ZIP)

        InterPCB 1.31  PCBoard <-> *.msg converter (IP131.ZIP)

        Once you have all those programs, you need batch files to tie it all 
together.  With the method I use, InterMail is EXITING, rather than SHELLING 
to run PCBoard.  This method uses minimum memory, since one batch file exits 
to the next, each time passing the necessary information along to the next 
batch file.  Examples are shown below.  Note that these batch files have been 
simplified considerably, but DO contain all the steps required to run a 
minimal setup.  Feel free to add "bells and whistles" you need to perform the 
functions you need to get done.  Mine are much more elaborate than these, but 
contain so many details that it would take me forever to explain it all.

        First is the main batch file that runs the mailer (InterMail).  I 
call it RUNIM.BAT.  When a human caller connects, IM will exit with the 
errorlevel you set up in IM's SETUP program.  Using a US Robotics Courier HST 
modem, that setup screen looks like this:

 Errorlevels 
                      
 300             0    
 1200            0    
 1275            0    
 2400            102  
 4800            0    
 9600            101  
 19200           0    
 38400           0    
 Received mail   70   
 Create BAT.file Yes  
                      
;

        I don't take inbound calls from 300 or 1200 bps modems, so I have the 
errorlevel set at 0 for those.  If you want to take calls at those speeds, 
set the errorlevels to 103 for 1200 and 104 for 300, and add the appropriate 
lines to the RUNIM.BAT file below.

======================================================================

@ECHO OFF
REM RUNIM.BAT (MAIN BATCH FILE TO RUN INTERMAIL)

:LOOP
CLS
C:
CD \IM
BNU /C
IM /NOEMS
   IF ERRORLEVEL 102 GOTO BOARD
   IF ERRORLEVEL 101 GOTO BOARD
   IF ERRORLEVEL 90  MAINT
   IF ERRORLEVEL 70 GOTO INMAIL
GOTO END

:BOARD
CLS
DOBBS

:INMAIL
CALL INMAIL
GOTO LOOP

:END
   ECHO THE BBS IS NOW DOWN
   EXIT

======================================================================

        So, if it is a human caller at 2400 bps connect speed, it will drop 
to the :BOARD label in the batch file.  From there, it will clear the screen 
and run the DoBBS.BAT file, which is created on exit by IM.  If the inbound 
caller is at 2400, the DOBBS.BAT file will look like this:

======================================================================

EXEBBS 2400 2 273

======================================================================

        In this example, DOBBS.BAT will run the EXEBBS.BAT file, and it will 
pass three parameters to it.  The first is the connect speed, the second is 
the port number, and the third is the number of minutes to the next event.  
In the case of an HST or MNP connect, there will be a fourth parameter, 
"/ARQ", and if it is there, it will also be passed to EXEBBS.BAT.  EXEBBS.BAT 
looks like this:

======================================================================

@ECHO OFF

IF %4!==/NONE GOTO STD
GOTO HST

:STD
IF %1==2400 GOTO PCB24
IF %1==1200 GOTO PCB12
GOTO CONTINUE

:PCB24
BOARD /C:3

:PCB12
BOARD /C:2

:HST
IF %1==14400    GOTO ARQ96
IF %1==12000    GOTO ARQ96
IF %1==9600     GOTO ARQ96
IF %1==2400     GOTO ARQ24
IF %1==1200     GOTO ARQ12
GOTO CONTINUE

:ARQ96
BOARD /C:5 /ERR

:ARQ24
BOARD /C:3 /ERR

:ARQ12
BOARD /C:2 /ERR

:CONTINUE
CLS
RUNIM

======================================================================

        Assuming the incoming human caller is at 2400, and it is not an MNP 
connect, the line that says "If %4!==! Goto STD" will cause it to go to the 
:STD label in the batch file.  There, the "If %1==2400 Goto PCB24" line will 
cause it to go to the :PCB24 label.  This causes it to run PCBoard's 
BOARD.BAT file, and it will pass "/C:3" to BOARD.BAT as %1.  If this were 
instead a 2400 /ARQ connect ( a 2400 MNP modem ), it would instead jump to 
the :HST label, where the "If %1==2400 Goto ARQ24" line would force it to the 
:ARQ24 label.  In this case, it would pass the parameters "/C:3 /ERR" to 
BOARD.BAT as %1 and %2.

   BOARD.BAT looks like this:

======================================================================

@ECHO OFF
C:
CD\PCB
IF EXIST REMOTE.BAT RENAME REMOTE.BAT REMOTE.SYS
IF EXIST EVENT.BAT RENAME EVENT.BAT EVENT.SYS
IF EXIST DOOR.BAT DEL DOOR.BAT >NUL
IF EXIST ENDPCB DEL ENDPCB >NUL

PCB145 %1 %2

IF EXIST REMOTE.BAT REMOTE
IF EXIST DOOR.BAT DOOR
IF EXIST EVENT.BAT EVENT
IF EXIST ENDPCB. GOTO END

:END
CLS
IF EXIST ENDPCB DEL ENDPCB >NUL
RUNIM

======================================================================

        So, after the caller is done with PCBoard (PCB145.EXE for PCBoard 
14.5 beta) it will drop all the way down to the line that says "runim", and 
the whole cycle starts over, ready for the next caller, with InterMail back 
up.

======================================================================

        Now we've gotta talk about processing EchoMail.  I use Squish, by 
Scott Dudley.  When a mail bundle comes in from my hub, InterMail exits with 
errorlevel 70, which forces it to the :INMAIL label in the RUNIM.BAT file.  
This runs my INMAIL.BAT file, which looks like this:

======================================================================

@ECHO OFF
REM INMAIL.BAT
CDD C:\IM\SQ
IF EXIST SQUISH.LOG DEL SQUISH.LOG > NUL
SQUISH IN OUT SQUASH
CDD C:\IM
AREAFIX EC
IF EXIST C:\IM\FILES\*.TIC TICK
CALL IPMAIL
CDD C:\IM\SQ
IF EXIST C:\IM\IPXP.BBS SQUISH OUT -FC:\IM\IPXP.BBS
CDD C:\IM\SQ
SQUISH LINK

======================================================================

        So, Squish tosses the inbound packets to the *.msg format, and then 
calls the IPMAIL.BAT file that runs InterPCB to convert the *.msgs to 
PCBoard's message base format.  When it is done, it returns to the INMAIL.BAT 
file and does the linking of the .msg files that are left after InterPCB 
processing.  IPMAIL.BAT looks like this:

======================================================================

@ECHO OFF
REM IPMAIL.BAT
C:
CD\IM
If exist IP.LOG DEL IP.LOG
IP /I /E /S /W /N:BATPOWER      /F:E:\PCB\BATPOWER /P:E:\PCB\BATPOWER\BATPOWER
IP /I /E /S /W /N:BAYFORSALE    /F:E:\PCB\BAY4SALE /P:E:\PCB\BAY4SALE\BAY4SALE
IP /I /E /S /W /N:BOATING       /F:E:\PCB\BOATING  /P:E:\PCB\BOATING\BOATING
IP /I /E /S /W /N:BNU           /F:E:\PCB\BNU      /P:E:\PCB\BNU\BNU
IP /I /E /S /W /N:CFORSALE      /F:E:\PCB\CFORSALE /P:E:\PCB\CFORSALE\CFORSALE
IP /I /E /S /W /N:COMM          /F:E:\PCB\COMM     /P:E:\PCB\COMM\COMM
IP /I /E /S /W /N:COOKING       /F:E:\PCB\COOKING  /P:E:\PCB\COOKING\COOKING
IP /I /E /S /W /N:C_ECHO        /F:E:\PCB\C_ECHO   /P:E:\PCB\C_ECHO\C_ECHO
IP /I /E /S /W /N:C_PLUSPLUS    /F:E:\PCB\CPP      /P:E:\PCB\CPP\CPP
IP /I /E /S /W /N:DESQVIEW      /F:E:\PCB\DESQVIEW /P:E:\PCB\DESQVIEW\DESQVIEW
IP /I /E /S /W /N:DR_DEBUG      /F:E:\PCB\DR_DEBUG /P:E:\PCB\DR_DEBUG\DR_DEBUG
IP /I /E /S /W /N:4DOS          /F:E:\PCB\F4DOS    /P:E:\PCB\F4DOS\F4DOS
IP /I /E /S /W /N:FISHING       /F:E:\PCB\FISHING  /P:E:\PCB\FISHING\FISHING
IP /I /E /S /W /N:HDCONF        /F:E:\PCB\HDCONF   /P:E:\PCB\HDCONF\HDCONF
IP /I /E /S /W /N:HDSALE        /F:E:\PCB\HDSALE   /P:E:\PCB\HDSALE\HDSALE
IP /I /E /S /W /N:HST_MODE      /F:E:\PCB\HST_MODE /P:E:\PCB\HST_MODE\HST_MODE
IP /I /E /S /W /N:HUMOR         /F:E:\PCB\HUMOR    /P:E:\PCB\HUMOR\HUMOR
IP /I /E /S /W /N:JOBS          /F:E:\PCB\JOBS     /P:E:\PCB\JOBS\JOBS
IP /I /E /S /W /N:JOBS-NOW      /F:E:\PCB\JOBS-NOW /P:E:\PCB\JOBS-NOW\JOBS-NOW
IP /I /E /S /W /N:KINKNET       /F:E:\PCB\KINKNET  /P:E:\PCB\KINKNET\KINKNET
IP /I /E /S /W /N:LAN           /F:E:\PCB\LAN      /P:E:\PCB\LAN\LAN
IP /I /E /S /W /N:LAW           /F:E:\PCB\LAW      /P:E:\PCB\LAW\LAW
IP /I /E /S /W /N:LASERPUB      /F:E:\PCB\LASERPUB /P:E:\PCB\LASERPUB\LASERPUB
IP /I /E /S /W /N:LONI          /F:E:\PCB\LONI     /P:E:\PCB\LONI\LONI
IP /I /E /S /W /N:MUSIC         /F:E:\PCB\MUSIC    /P:E:\PCB\MUSIC\MUSIC
IP /I /E /S /W /N:PERFECT       /F:E:\PCB\PERFECT  /P:E:\PCB\PERFECT\PERFECT
IP /I /E /S /W /N:PIERCING      /F:E:\PCB\PIERCING /P:E:\PCB\PIERCING\PIERCING
IP /I /E /S /W /N:RIDES         /F:E:\PCB\RIDES    /P:E:\PCB\RIDES\RIDES
IP /I /E /S /W /N:SCIENCE       /F:E:\PCB\SCIENCE  /P:E:\PCB\SCIENCE\SCIENCE
IP /I /E /S /W /N:SCUBA         /F:E:\PCB\SCUBA    /P:E:\PCB\SCUBA\SCUBA
IP /I /E /S /W /N:SPORTS        /F:E:\PCB\SPORTS   /P:E:\PCB\SPORTS\SPORTS
IP /I /E /S /W /N:STTNG         /F:E:\PCB\STTNG    /P:E:\PCB\STTNG\STTNG
IP /I /E /S /W /N:TECH          /F:E:\PCB\TECH     /P:E:\PCB\TECH\TECH
IP /I /E /S /W /N:TIELINES      /F:E:\PCB\TIELINES /P:E:\PCB\TIELINES\TIELINES
IP /I /E /S /W /N:VAX           /F:E:\PCB\VAX      /P:E:\PCB\VAX\VAX
IP /I /E /S /W /N:VENTURA       /F:E:\PCB\VENTURA  /P:E:\PCB\VENTURA\VENTURA
IP /I /E /S /W /N:VIETNAMV      /F:E:\PCB\VIETNAMV /P:E:\PCB\VIETNAMV\VIETNAMV
IP /I /E /S /W /N:ZMODEM        /F:E:\PCB\ZMODEM   /P:E:\PCB\ZMODEM\ZMODEM

=============================================================================

        When IPMAIL.BAT has finished importing the messages into PCBoard, it 
returns to the RUNIM.BAT file, which brings InterMail up, ready for the next 
incoming call.

======================================================================

        I realize that there are many ways to accomplish what the files in 
this archive do.  I put this file together to give people a SIMPLE, RELIABLE 
method.  Please don't send me zipfiles containing various convoluted batch 
files expecting me to troubleshoot them for you.  The two node setup I run at 
SeaHunt has been extremely reliable using a slightly more complicated version 
of this setup, and frankly, I am not interested in other methods when this 
one has stood me in such good stead.

        I hope this file has been helpful to you in getting you up and 
running with PCBoard in the FidoNet environment.  If it has, or if you have 
suggestions on how to improve it, please send me NetMail at 1:125/20.  Flames 
and complaints > NUL.

                            S e a H u n t   B B S
                          San Francisco, California

                            Sysop: Michael Nelson

                              FidoNet 1:125/20
                        RBBSNet 8:914/500 & 8:914/501
                     DVNet DESQview File Support System

                 (415) 621-0473, to 14.4kbps HST/DS v.32bis
                       (415) 621-0227, to 14.4kbps HST












