Classic Computer Magazine Archive ANTIC VOL. 5, NO. 7 / NOVEMBER 1986



BBS Express!

Puts the fun back into being a sysop

BBS Express! ($39.95) is a winner as the first commercial software from SIG*Atari sysop Keith Ledbetter, author of the widely used Express! series of public domain telecommunications programs for the 1030, MPP and modems using the 850 interface. (See Antic, September 1986, page 20.)

Written in speedy ACTION! language, BBS Express! was originally intended to provide a good BBS program for the 300 baud 1030 and 835 modems that plug directly into Atari computers. With the addition of a ring detector, those inexpensive, convenient modems are quite capable of supporting a bulletin board. The 1030 version also runs on the new Atari XM30l modem, which can answer the phone by itself and doesn't require a ring detector.

A second version of BBS Express! supports faster 1200/2400 baud modems that require the Atari 850 interface or the ICD P:R: Connection (reviewed in Antic, September 1986). Both BBS Express! versions function identically and can be switched without reconfiguring the bulletin board.

Remote sysop
powers can be
accessed from
anywhere in the

BBS Express! runs sucessfully with virtually all hardware available for the Atari, from the 800 to a 130XE with 576K upgrade, from the old 810 disk drive to the 10-megabyte SupraDrive hard disk operating under SpartaDOS 3.2. The 850 version has been run with Hayes and Smarteam modems, and it runs extremely well with the inexpensive new Avatex 1200 modem.

Sysops (system operators) can easily customize their bulletin boards with some powerful BBS Express! features. For example, all board prompts are stored in a text file that can be modified with any word processor. This file is then run through a prompt compiler utility, which creates a binary load file containing all of the selected board prompts. The binary prompt file is read by BBS Express! at boot-up tune and stored in computer memory.

There are also 36 Variable Tags available to the sysop for use in menus and text files. For example, Variable Tag 01 is the name of the user logged onto the board, Tag 02 is the user's city and Tag 03 is the state. Upon log on, a welcome file is displayed. This can be any welcome message the sysop has composed with a word processor, looking something like this when created:

Welcome &01 to Midnight Express
How are things in &02,&03?

But it will look like this when displayed:

Welcome John Doe to Midnight Express
How are things in Richmond, Virginia?

The Main Menu has 21 functions, and another eight selections can be defined through the prompt data file. Configuring the board requires some planning, because all the message bases and the user log are pre-allocated using the Make Message Base and Make User Log binary-loaded utilities.

The user log utility asks you "How many users?" The utility then starts creating each user entry in the file, up to the number you specified (maximum 999). BBS Express! also assigns passwords to new users when they respond "Yes" to the prompt asking if they want a permanent password assigned to them.

After you have set up the user file, it's time to create the message bases. You are asked for the base number, the base name, the base security level, the number of messages in the base and the maximum number of bytes in each message.


This process continues for each message base you want on the board, including one for electronic mail. There can be 25 separate message bases defined, each containing 75 messages at 1750 bytes apiece. With this pre-allocation technique you can cut down the free sectors on your data disks as close to zero as you want.

The message bases never grow in size because BBS Express! employs a scrolling technique. When a base fills up with messages, the newest one automatically deletes the oldest. The remaining messages are scrolled up and the new one is added-all in less than a second.

BBS Express! fully supports the use of sub-directories for all system files. This is especially beneficial if you use the SupraDrive 10Mb hard disk (reviewed in Antic, October 1986). RAMdisk support is also excellent; any file except the sysdata file can be put on the RAMdisk. If you place all the menu, help and library files in a RAMdisk, response time to the user is instantaneous.

The program can run using all currently available memory upgrades including the 256K I.C.D. RAMBO for the 800XL and both the 320K and 576K upgrades for the 130XE. In fact, the program has also run successfully entirely from a RAMdisk, including the user log and message bases. However, this could be a problem if you lose your electrical power and don't have a battery backup on your CPU.

The full remote sysop capabilities of BBS Express! can be accessed from anywhere in the world. Any user with a sysop security level can copy files, rename uploads to a lower security level, view a directory or text file and delete messages as required.

Such users must enter both their regular password and a secondary password, defined and changeable by the sysop. If the user does not enter the secondary password correctly the first time, he or she is logged off the system immediately

BBS Express! supports both XMODEM and ASCII downloading. Eight different path names can be used to define where to store your upload and download files. For instance, you could define your path names as follows:


In the above example, BBS Express! would send all uploads to D2:UPLOADS>, provided there was room on the disk. If not enough storage is available there, it would look at D2:DOWNLOAD> for the space, and so on.

When a user performs a Browse Files function, Express! looks through each path in the order that it was defined, seeking files to display. By using SpartaDOS, provided the disk space is available, you could have 1,024 files online for downloading, because SpartaDOS supports 128 files per sub-directory (as opposed to Atari DOS which can handle 64 files).


As part of the system configuration file, the sysop can also specify an upload/download ratio between 1:1 and 255:1. For example, if the ratio is 8:1, the user can download eight files before being required to upload a file. After eight downloads, the BBS would not process any more requests for downloading until the user uploaded a file.

BBS Express! also has a library function accessed from the main menu. Each library menu can support 45 sub-library entries, each supporting another 45 entries, and on and on.

To achieve this, each library menu file has four components. The first line in the file contains the word "MENU," which tells Express! that the file is a selection menu file. The next line contains the number of possible selections (1 to 45). Next is the fully qualified text file names. The listed order corresponds to the order in which they're presented in the fourth part of the file, which is the actual selection menu displayed to the user.

Express! interprets these files by reading the first line of the file, and if it contains the word "MENU" it's processed as a selection file. Otherwise the entire file is displayed to the user. If it is a menu file, the next line is read to determine the number of selection entries to be expected. This number of lines is then read and stored into a memory table. The rest of the file contains the actual text that is displayed to the user. By incorporating "Return to Previous Menu" options, a user could venture several menus deep in the library and always return back up the chain to view a different selection.

While the library function was originally intended for viewing text-based files, an imaginative sysop could easily turn this structure into an online graphics and text adventure.

A printer can be used with BBS Express! to log callers and feedback to the sysop, but is not required. Express! gives you the option to define where feedback should be routed, either as email to the sysop or logged to the printer. Also, the caller log can be routed to the printer or to any disk device, including the RAMdisk.


Once everything has been configured and all the help and text files have been created, BBS Express! is ready to go online by binary loading from the DOS you have chosen to run the board. Any DOS with a LOMEM no higher than Atari DOS 2.0 will work with Express!. If an Atari DOS or compatible is used, you must back up the data disks containing the message bases and user log either by using the Dupdisk function or by sector-copying the data disk. This is required because the user log and message bases are heavily indexed.

When the program finishes loading, you can remove the program disk from the drive, and you are prompted to insert your data disks with the message bases and the user log and press [RETURN]. Express! then scans the index of each message base to retrieve and store the high message counter, which is used later to determine which messages posted are new to users since the last time they logged on.

Once the board is running, it virtually can run indefinitely. Files can be loaded to the disk and then copied off while the board is running by using the copy command from Sysop Mode. This makes it quite easy to do text file maintenance and make changes to the menus without needing to take the system offline.

The only thing requiring a system reboot is a change and recompilation of the prompt dataset. Express! loads this file only at boot-up time. I have run my board for as long as one month before taking it down, and then only to do disk backups-which I have never needed to use for restoring a trashed file.

If you want a BBS that is easy to configure, easy to get online, runs forever and puts the fun back into being a sysop, then BBS Express! is definitely worth a close look.

To see BBS Express! in action, call my bulletin board, Midnight Express. (804) 379-4156. It operates at either 300 or 1200 baud in ATASCII mode. I now have the BBS configured with 22 message bases, including email, and the user log is set to handle 950 users. First-time callers are validated online, with instant access to the message bases, library and files for downloading.

Orion Micro Systems
2919 Ennismore Court
Richmond, VA 23224
(804) 276-528l-voice
(804) 276-6072-BBS
2 versions: 850 or 835/1030/XM301
$39.95, 48K disk