PC FlexNet with F6FBB BBS
by Charles Brabham N5PVL
The F6FBB BBS program is very popular, and many SYSOPs would like to upgrade and modernize their FBBS systems to run with Flexnet. Personally, I ran FBB along with G8BPQ's PC-based NetRom emulator for close to a decade, and never found a significantly better driver for FBB until I discovered Flexnet.
Setting up FlexNet is much easier than 'BPQ, for example, (only two parameters to set for each radio port) but still there are a few pitfalls that this article will help you to avoid.
The Y2K compliant version of FBB is v700g. These setup tips apply to both the DOS and Windows versions of FBBv700g. As for FlexNet, either the DOS or Windows95 versions will do, depending upon your preference. I run the DOS versions of both FBB and FlexNet in a Win95 DOS window, but that is strictly a matter of preference. I have run the Windows version of FBB before, along with the Win95 version of FlexNet, and obtained equally good results.
Here is an example startup batch file for Flexnet, to run FBB:
LH FLEXNET 20
if errorlevel 1 goto end
LH KISS 1
if errorlevel 1 goto error
FSET mode 0 19200cd
FSET txd 0 0
In this case, the FlexNet KISS driver (for use on serial or ethernet links, not KISS TNC's!) is used to set up a 19.2kb fullduplex serial link to a FlexDigi node running in another computer. Since no radio is involved, the TXDelay is for that port set at zero. In your installation, you can substitute the FlexNet driver for your modem, HDLC card or TNC instead of the KISS driver I used for my serial link.
The FlexNet KISS driver cannot be used to drive a TNC, since the KISS mode many of us are familiar with cannot supply FlexNet with the timing data and control it needs to function properly. In the old days of Packet Radio, KISS was quite good - but times have changed and KISS as a TNC driver is no longer viable with modern Packet Radio systems. Along with Net/ROM, ROSE and TexNet, KISS has served well but is now due for a well-earned retirement.
For FBB SYSOPs, the most important FlexNet "driver" called in the above example is the TFEMU WA8DED hostmode emulator, loaded just after FLEX.EXE. This emulator allows FlexNet to emulate either a WA8DED TNC, or a DRSI card. The default for TFEMU is DED mode, and that's what I use. Either setup will work with FBB.
Note: I ran the FlexNet kernal with only 20kb of environment space... If you run more than one port, you should bump that number up accordingly. See the FlexNet docs for specifics on this, if you are running multiple radio ports.
Here is my PORT.SYS, set up for WA8DED mode:
# PORT.SYS for FBB 5.15 #
# for LA6CU by LA6CU #
# File for programming of channels and TNCs.
# Ports : How many ports (COM1, COM2, Etc...)
# TNCs : How many TNCs and modems in use. With multiplexer
# there can be up to 4 TNCs per port.
# Com : COM-number (1,2,...
# Interface: 1 = External ESS/COMBIOS driver
# 2 = BPQ-node V 4.05 or up.
# 3 = Telephone-modem with FBBIOS
# 4 = DRSI card with driver (WA8DED host-mode)
# 5 = TFPCR/TFPCX interface (WA8DED host-mode)
# Adress : Adress of port in hexadesimal. Ignored by COMBIOS/BPQ/MODEM.
# Baud : Ports baud rate. Ignored by BPQ.
# Use same number of lines as number of ports.
#Com Interface Adress (Hex) Baud
1 5 3f8 19200
#2 1 2F8 9600
# TNC : Number on TNC in use.
# NbCh : Number of channels I want to use in the TNC.
# Maximum available channels depend on firmware.
# Com : Number of the COM-port. Com1, Com2 etc.
# MultCh : Number of channel if port-multiplexer is used, otherwise 1.
# In DRSI use values from 0 to 7, by KAM use 1/VHF and 2/HF.
# Paclen : PACLEN on this TNC.
# Maxframe: The maximum nb of frames the TNC will send at a time.
# NbFwd : Number of channels for OUTGOING forward at same time.
# MxBloc : Size of forward-block in kb.
# M/P-Fwd : Minute of the hour for start of forward, and period
# (how many minutes between each forward-start).
# Mode : One of these:
# B : BBS-mode.
# G : "Guest"-mode.
# U : Normal-mode.
# Type host-mode, one of these:
# D : WA8DED
# K : KAM hostmode.
# P : PK-232
# Q : BPQ v 4.x
# Addition: One of these letters can be used too:
# L : Send unproto beacon after each arriving mail.
# M : Telephone-modem.
# Y : Yapp allowed on this QRG.
# W : Gateway allowed TO this QRG.
# Freq. : Text to describe this port (max 9 characters, no space)
# Same number of lines as number of TNCs.
#TNC NbCh Com MultCh Pacln Maxfr NbFwd MxBloc M/P-Fwd Mode Freq
0 0 0 0 0 0 0 0 00/01 ---- File-fwd.
1 3 1 1 230 4 1 5 30/60 DUWY WIRE
#2 1 2 1 80 2 1 5 17/30 GDW 15/20m
# Special callsigns and modes for some channels.
#TNC Nbs Callsign-SSID Mode
#1 2 LA1B-1 B
# End of file.
As you can see, both interface 4(DRSI) or 5(TFPCX) use DED mode and will work with TFEMU, but since FlexNet's TFEMU emulates TFPC by default, without any additional parameters, I decided to use interface 5 in order to keep things simple. See the docs for TFEMU if you want to try the DRSI emulator, and interface 4. It will show you how to set up the FlexNet batch file for that.
The Tricky Part - INIT.SRV
In FBB's file INIT.SRV, line 213 specifies the DRSI and TFPC interrupts. The default TFPC interrupt provided in INIT.SRV will not work, and needs to be changed from FE to FD, as shown below. This is the single most irritating problem involved in this setup, but only if you don't know about it. - But now you know!
500 5 APV
# DRSI and TFPC interrupt (Hexadecimal, default FF and FE)
I found out about it after my BBS mysteriously crashed every time I started it up, and only by carefully reading TFEMU's docs and then happening to notice this section in INIT.SRV did I accidently resolve this problem. Once you know what to look out for and how to fix it, it's not really a problem!
I found that trying to run both the FlexNet FlexDigi (node) option and FBB in one computer was more than my particular machine could handle. Others have had better luck. - But since old 386's and 486's are so inexpensive, I saw no problem with running my FlexNet node in a seperate machine, and letting it handle all of the radios. I set up the CMOS in the node computer so that it would run without a keyboard or monitor.
If you do not need or want to run a node, this is of course academic. Simply take my FlexNet batch file above, and substitute the FlexNet driver for your modems or TNC's for the KISS driver I used for my serial link. As a driver for FBB, FlexNet is small, fast, utterly reliable and offers significantly better performance than anything else available.
After running 'BPQ for close to a decade and finally getting to where I could set it up fairly well, you can be sure that FlexNet had to be a LOT better for me to consider changing over. I've had no regrets in upgrading my FBBS to FlexNet, and neither will you!
73 DE Charles, N5PVL