Copyright © 1991 New Image Software

Modifications by RASCAL, X-TEC, BUCKO, PINACOLADA, METAL MAGE and many others.

Manual OCRed by JOE COMMODORE. Updated by PINACOLADA from documentation by DR. BOB, LITTLE JOHN, and others.

Handle: ___________________________   Network Node: __________

Introduction

In 2007, Dave “Metal Mage” Hartman and I found ourselves pondering why there wasn’t an updated version of the manual available to go along with all the fixes and updates which had come out since Image 1.2a was released.

To get all “the good stuff” (as we call it) required reading even more documentation, merging “mods” into core BBS files (sometimes needing to start over with stock files, trumping any mods the sysop had already made).

Metal Mage and I decided this simply wouldn’t do; it’s a horrible new sysop experience. We hacked together what we called “Image 1.2b” which had what we considered to be the best new changes already put in.

For example: There were a few things changed by Bob “Iron Axe” Sisco with his “Year 2000” fix which I changed back for aesthetic reasons (blue lightbar and chat window colors don’t fit in with the default grey scheme IMHO[1]), and updated the console clock to the year 2000.

Overall, we figure we’ve got it mostly licked.

This version of the manual includes expanded coverage, reorganized sections, documentation of new (at the time) features which were once available as separate add-on disks (some slated for Image 1.3):

  • a few games and BBS utilities

  • “AutoWeed,” which lets you remove callers who haven’t called in a specified amount of time

  • the “Extended Command Set,” configurable BBS commands

  • the “TurboREL” system, faster access to message sub-boards and “RELedit,” the sysop-side editor

  • Image BBS networking

Web links to the “new” (released long after the original manual was completed) Image BBS programmer’s reference guide, a list of every Image BBS “mod” and add-on I possess (including games), a wish list, and much, much more await you in these pages.

Please note that I’ve tried to introduce each new section in a sensible way, but if you don’t understand something because it hasn’t been explained yet, or it’s unclear—that’s a sign of bad documentation.

Let me know about it; I’ll have myself flogged (let me start the noodles cooking).

Having previous experience with the software, I’ve tried not to fall into the trap of “it’s obvious to me, not necessarily everyone else.

And while I do try to define possibly unfamiliar terms, you won’t find a glossary with “upload” and “download” in it, at least not here.

Already being familiar with BBS basics (perhaps having called an Image BBS as a user before?) is extremely helpful. However, don’t let my pseudo-gruffness stop you from contacting me if you run into something you don’t understand!

99% of the following work is either the New Image crew, Joe Commodore, or someone else. I just ran it all through a blender, baked until golden brown, voilà! It must be true: Anyone can cook.

Many thanks go to Larry “Joe Commodore” Anderson for OCR’ing the 1.0 manual plus the updates! Also thanks to Rascal, Iron Axe, Metal Mage, Fred Kreuger, and anyone else I forgot.

I just want this to be the bestest, most comprehensive manual available, given all the great fixes that have come out since the first version came out.

Who knows, maybe you’ve got the next hot modification or suggestion—or an answer to some burning Image BBS question which kept me up nights.

Surgeon General’s Warning

By no means must you read through this documentation in one sitting, or a day, or a week. Take it in bite-sized (byte-sized?) chunks; I sure remember the intimidation I felt when I saw the original manual…​ Just take a deep breath, have some milk and cookies, and come back to it later. Scribble stuff in the margins.

Tune in, turn on, boot up!

Text Styling Notes

Text output by the BBS looks like this.

User input or filenames look like this.

Additional sections and information, or changes from the original manual, are set apart in a sidebar like this.

Keys you need to press, like Return, are on a gray background.

There are cross-references to where sections are now. I’m just starting this, so be patient, and if you see a missing cross-reference, please let me know.

--Ryan “Pinacolada” Sherwood

Larry Anderson’s Introduction

Dear Reader:

Here it is, the much-needed documentation of Image 1.2a BBS. This is an OCR of the original documentation, which included the Image 1.0 manual and addendum sheets for Image 1.1 and 1.2. If you are setting up 1.2, make sure to read the 1.2 addendum as well as the 1.0 manual.

Notes:

I have indicated the original document’s page breaks to make finding sections with the table of contents or index easier.

If you are setting up Image, use the 1.0 diskette, and copy over the 1.2 files on to a copy of the 1.0 diskette (overwriting the outdated 1.0 files).

Even better: Save yourself the hassle—use Image 1.2b!

There are special notes if you are using a Supra 2400 baud modem as well as using a CMD or Lt. Kernal hard drive.

The modification diskettes for TurboRELs and BBS-to-BBS networking contain their own install/usage documentation on the disk image.

Using TurboREL message bases on a 1581 drive may be problematic.

This is probably because of the “secondary address #1” bug. I have included the BASIC program 81bug.bas to demonstrate it, if you’re interested.

In its' time, Image BBS was one of the top-of-the line Commodore 64 BBSes, even compared to PC counterparts of the day. Image held its own in features and adaptability.

The BBS numbers in the following documentation are all long gone, please do not try calling them.

Enjoy!
Larry Anderson
Sysop - Silicon Realms BBS

Package intro letter

New Image Software
P.O.  Box 525
Salem, UT 84653
801-423-1966

Dear Customer and Friend:

We thank you very much for ordering Image BBS v1.0!! We think that you will be very happy with your purchase, and intend to fully support our customers in any way that we can. If you need any help whatsoever in setting up your BBS or maintaining it, please feel free to contact us by mail, phone, or BBS, and we will do what we can.

This version was “supposed” to be released long ago, but due to problems in relocating our offices and other things, it is late. (Ever have 5,000 screaming sysops on YOUR phone line?!?) We apologize immensely for this, but feel that the quality of the program will make you forget about this very soon! Read the manual through and see the options that you have with this BBS program!

Please also notice that we have added a few things that are not documented in the manual. The List function in the subsystems now shows to the user if the sub-board/library is a “special” one, highlighting the library in color, and also showing an abbreviation at the beginning:

N-An means a non-anonymous sub-board.

Anon means anonymous sub-board.

Pass means password-protected sub-board, and

Free means a free UD/UX library.

See the manual for more information on these.

Also, please note that the support BBS and voice numbers for the northern (Michigan) region are no longer valid. The new BBS support line for the north (Lyon’s Den BBS) is 313-453-2576: 24 hrs—300-1200 baud.

The new main voice support line will be located in Utah, as listed in the manual, 801-423-1966.

The new southern (Florida) support lines are: voice: 904-756-1206—Ron Fitch, and the Tec-Net BBS is 904-756-2700.

Night Flight BBS listed in the manual is no longer associated with us; the rest of the numbers are all still valid.

Add these variables to the list on page 53: BF, CH$, PO$, KP%, MM.

Our plans for the future:

There is no programmer’s manual for the software available yet, but we DO plan to write one in the near future. You will be seeing many modules available for IMAGE soon, both translated from old popular winners, and brand new! You will also see utilities for running your BBS, both in module form, and runnable in BASIC to make things easier for you. We plan to write a terminal program that will interact with IMAGE to allow full sound, high-res graphics and sprites for the user, and will have the same module routines as the BBS does. This will allow you to write a module (plus file) for BOTH the term and the BBS that will interact. A 128 version of IMAGE is also planned. As is our policy, NO release announcements will be made until the new products are ready. As always, we welcome comments, suggestions, and criticism at any time, so please let us know what you think! Looking forward to a long, happy, and mutually satisfying relationship with you! Keep in touch!

Don Gladden
New Image Software

Addenda for Image 1.2a, page 1

Congratulations on your purchase of Image BBS V1.2a.

We believe that you have purchased the finest BBS program available today for the Commodore 64.  The program is continually being updated and refined and some of the latest updates have not yet made it into the manual.  For that reason we are including this short addendum.

Version 1.2a differs only slightly from 1.2. It includes the “CMD Mods,” or the changes necessary to allow the use of partitions from 1 to 255 on that particular drive. It can still be used on any other system, including the Lt. Kernal. Caution should be taken however, as it is now possible to address LU 10, the DOS LU. All of the “mods” are installed so there is no need to download any “CMD Mod” packages.

Some of the features from 1.2 that are not clear in the manual include the selection of the proper modem file. The manual states, incorrectly, that you should choose a modem file that matches your modem and rename it to +.modem. That has been changed. There is now a +.modem file on the disk that is universal. Be SURE to use that file, and use the modemconfig file to select your proper modem type.

If you are using ANY 2400 baud modem, you must run the 2400 setup file first _before booting the BBS.

The u.alpha file has been replaced by u.index that is maintained and manipulated by a file called +.alpha/ind. Should your index become corrupted, one common complaint is that users can sign on with their ID number but not their handle. If that should occur, run +.alpha/ind from the main prompt and choose the options LOAD, CLEAR, MAKE and SAVE in that order. It is very important that you follow those steps; saving is required, since the program will not save for you.

The “macros” are installed in 1.2a. There are “mods” out that call for lines to be added to setup and im but they are already in, all you need is +.ME (macro editor) that is available on the PlusFile disk #4.

After you have the macro editor, you can define your macros and then turn them on by putting the check mark on the right side of Exp on the second page of the lightbar (press f8).

The support numbers in the manual are wrong. The one voice support line is 801-423-2209. The BBS numbers are:

Port Commodore 801-423-2734

Lyon’s Den East 313-453-2576

GearJammer’s II 215-487-0463

We hope you enjoy your IMAGE and if you need help don’t hesitate to call.

—New Image Software

Addenda for Image 1.2a, page 2

Here are some changes that have been made since the manual was printed. Please note them carefully.

Pg 1  DISK DRIVES

Since the release of the CMD hard drive, IMAGE was updated to version 1.2A, which includes the “CMD Mods.” IMAGE now has the ability to address partitions 1 through 254.

Pg 4  DESIGNATING DRIVES

IMAGE 1.2 added some new files called scn.xx (where xx is t1 t2 t3 t4, c1 c2 c3 c4) files. This consists of eight “screen” files. These files must be placed on the plus file drive for proper operation. They are text and color, respectively, of the screen masks displayed at system idle, or other areas on the BBS.

Pg 5  COPYING FILES

In this section you are told to choose the modem file that matches your modem and rename it to +.modem. That is no longer necessary. There is now only one modem file for all 1200 and 2400 baud modems, and it is +.modem. After you have completed the configuration of your board, run the modemconfig file and select the modem type you are using. It will then write the parameters to the etcetera disk. Any time you change modems it is only necessary to run modemconfig or +.modemconfig to re-select your modem type.

If you are using any 2400 baud modem, it is necessary to run the 2400 setup file which sets the modem up to respond to IMAGE. With the Aprotek “MiniModem C24” it is necessary to run 2400 setup any time the computer is turned off for more than a few seconds.

Pg 16 THE LIGHTBAR

There are now two pages to the lightbar. The first page remains the same, the second page has only three functions that are used immediately.

The first is Asc which is:

(Left) ASCII on/off

(Right) linefeeds on/off

The second is Ans which is:

(Left) ANSI on/off

(Right) IBM Graphics on/off.

The third is Exp which is:

(Left) Expert Mode on/off

(Right) Macros on/off (note that they are already installed)

In addition, the Turbo-RELs use Fn5 for:

(Left) Credit when file is uploaded or when validated

(Right) Log off after file transfer is complete

The CMD mods (1.2a) also introduced the right side of Fn1 which turns MCI off when checked.

Pg 29  COMMANDS

There is no longer a BC (baud change) option.

Pg 55 THE IMAGE EDITOR

Some commands have been changed and some print modes have been added or changed. Check the menu in the editor for current commands/modes.

Setting Up Your Image BBS

Setting up should be very simple. We suggest you read this chapter carefully, following the instructions step by step. The configuration editor also has built-in documentation to help you out.

Hardware Considerations

Image BBS has been tested with many different types of peripherals, and usually has no problem running with any Commodore compatible equipment.

If you have any problems, please contact us at one of our support methods listed in this manual for help, and we will do all we can to help you to make Image BBS work with your system.

Some modems and drives deviate from the Commodore standard enough to cause some problems, but this is usually fixable with some patches into the program(s).

Some of the peripherals tested with Image BBS and found to work well are:

Disk Drives

  • All Commodore drives (1541, 1571, 1581, and IEEE drives)

  • Xetec Lt. Kernal hard drives

  • Creative Micro Designs hard drives

  • ICT Datachief and Minichief hard drives (see notes below)

Lt. Kernal Hard Drives

IMAGE was completely developed using a Lt. Kernal drive, using LUs 0 to 9, so is completely compatible with this drive in all respects.

CMD Hard Drives

They work.  CMD mods. FIXME

ICT Hard Drives

This drive has a problem in chain mode that will not allow more than one file to be open at a time. IMAGE does use more than one file at once in some areas, so we suggest not using the ICT drive for the E-mail or Etcetera disk, or for sub-boards.

Any other system function should work fine with the ICT drive.

Modems

Table 1. Supported Modems

Commodore 1660 with CD

Commodore 1670 (both models)

MPP 1604

Avatex 1200hc

Total-Tel

Aprotek Trans-Com TCM 1200H & 1200H jr.

Westridge

Supra 2400 baud

Mitey-Mo

Most Hayes-compatible modems

Refer to [modems-and-telnet-bridges] for more information on setting the BBS up for your particular modem or telnet bridge.

RAM Expansion Units

Image BBS has been tested successfully on systems using REUs in conjunction with other peripherals. Version 071487 of Commodore’s RAMDOS is provided. It is set to define your RAMdisk as device 7, which is how it is supported by Image BBS.

Table 2. RAMDOS files
File Purpose

f

File copier, copies any file with a two or more character long filename to a disk

r

BBS setup file, modified by Jay Levitt

s

RAMDOS binary

Printers

Most Commodore compatible printers should work with Image BBS. Standard Commodore routines are used by the program; using logical file #4, device #4, with a secondary address of 7 to allow for upper- and lower-case.

Other Interfaces

Some IEEE or printer interfaces could feasibly cause some problems due to memory conflicts, and would need some customization of the program to allow use. Two IEEE interfaces commonly used and tested with Image BBS are the IEEE Flash! by Skyles Electric Works, and the BusCard II by Batteries Included, both of which perform well.

RS232 (EIA232) Interfaces

There are two files: ml.rs232/user and ml.rs232/swift-—depending on the type of modem or telnet bridge you’ll be using, rename one to ml.rs232 in order to achieve the proper setup.

Fastload Cartridges

At the present time, we recommend that no fastloader cartridges be used with Image BBS, they may only cause problems.

Creative Micro Designs SuperCPU

There are patches to make the BBS run at 20 mHz. During file transfers or disk access, the BBS must be slowed down to 1 mHz with a poke to the SuperCPU speed register.

Getting Things Going

Now that you are ready to set up Image BBS, we recommend you first back up your original disk images (both sides if you are using a 1541 type disk), then store it in a safe place. Never work with the original, just in case something goes wrong.

None of the disk files are copy-protected, so there is no worry about anything not working correctly with a backup disk.

If you are copying with more than one drive, Copy-all, a great public-domain program by Jim Butterfield, is included on the disk to assis2t you in doing this. Copy-all will copy PRG, SEQ, and REL files with no problems whatsoever on any type of Commodore compatible drives using two drives.

If you need to copy REL files using a single 1541 drive, you can use a program by Jim McAndrew called “Rel-Copy” specifically designed for that purpose.

Designating Drives

Image BBS is designed to use up to eight drives, and possibly use even more with limited functions. It supports:

  • single or dual drives

  • Lt. Kernal logical units (LUs) 0 through 10 (the DOS LU, a side effect of applying the “CMD Mods” in Image BBS v1.2a—​which, among other things, let the BBS access partitions numbered 1-254)

You will want to plan your setup on what space you have available, so read the following information carefully to help you in this regard.

Although it is possible to run Image BBS using only one 1581 disk drive, we highly recommend you use at least two, since you will find that disk and directory space gets used quickly.

When referring to device, we mean the device number assigned to the particular drive (i.e., one drive online is usually set to device 8, two to 8 and 9, etc.).

When referring to drive, we mean the drive number (or partition if using a hard drive):

  • 0/1 on a dual drive such as the MSD-2 dual floppy drive

  • Logical Unit 0-10 on a Lt. Kernal hard drive

  • partition 1-254 on a Creative Micro Designs hard drive (0 refers to the current partition)

  • If you have two physical drives, there may either be a switch somewhere on the drives to change device numbers, or—​as with older 1541 drives—you must cut a solder pad (the drive manual should describe how).

You may also “software change” the device number with the BASIC program dv change included on your Image BBS disk, or online with the [cd-command]. If you only have single drives on your system, then the drive numbers will always be zero.

Directory space refers to the number of directory entries available on the drive, which is usually limited, depending on the type of disk drive. A 1541 drive allows 144 directory entries, while an SFD allows 244, etc. Check your drive manual to see what the limitation is.

Drive space refers to blocks used, while blocks free refers to blocks unused on the drive.

Now you will want to plan out which disks you want to use for which functions on the BBS. There are six designated Image “system disks” for BBS functions. These can be combined in any form on any drive or number of drives. They are described as follows:

1: The System disk

Contains mostly SEQuential (text) files that do not change often. Menu files, sub-board entry files, and other text/graphics files are all included on this disk. Also, BBS news files are located here. Will not use too much directory or drive space.

System filenames on this disk start with s..

News filenames start with n..

2: The E-Mail disk

Contains all user E-Mail and Forced E-Mail files. Will use much more directory space than disk space.

E-mail filenames start with m.. Forced e-mail filenames start with f..

Refer to [forced-mail-files] for more information.

If your BBS is part of a network, the NetMail files are stored here. These may take up a significant amount of drive space, but not too much directory space.

NetMail filenames start with nm.

3: The Etcetera disk

Contains miscellaneous files used to supply BBS information. Many online games and functions use one or more of these files to store their data. Some of these files are RELative files, and most of them change frequently. Storage depends on the number and type of online games and programs you are using. If no online programs use the etcetera disk, it will not use too much disk or directory space.

Etcetera filenames start with e..

4: The Directory disk

Contains all directories used on the BBS, whether for sub-boards, U/D libraries, text file libraries, or similar. These files change often, and this disk will use a fair amount of directory space, but not too much disk space.

Directory filenames start with d..

5: The Plus File disk

Contains all BASIC or ML modules needed to run the BBS. They load when needed to execute various functions. None of these files will change, unless modified offline.

Plus file filenames start with several different prefixes based on these categories:

Table 3. Plus File Prefixes
Prefix Purpose

+.

BASIC modules

++

ML modules

scn.

top and bottom sysop screen displays (idle screen, online user screens, Image Terminal screens)

In this revision of Image BBS, the Extended Command Set extension is enabled by default. This gives the sysop more flexibility in several areas. For more information on the ECS system, refer to [ecs-commands].

The initial ml.ecsdefs definition file which the ECS system needs should be copied here also.

6: The User disk

Contains all user data files, which are expanded as new users sign on. There are two files that keep all user information available to the BBS. Two directory entries, a little over one block per user total.

User data filenames are u.config (REL) and u.index (PRG).

Different devices and drives can also be assigned to each of the following:

  • Sub-board in the message base subsystem

  • Upload/Download or user exchange library in the file transfer subsystem

  • Plus file in the online programs subsystem

  • Movie file in the movie file subsystem

  • Text file in the text files subsystem

These need not be the same as any of the six pre-defined system drives, but the above types of files may also be stored on those drives if so desired.

Copying Files

Now, format a new or usable fresh disk (or partition if using a mass-storage device) for each system drive you will have online, and copy over the files from the disk that you backed up.

If using a floppy-based setup, we also suggest that you label each floppy disk with the device and drive number so that you will not get confused as to its purpose.

Unfortunately, Image is somewhat hobbled by a “flat file structure”—-i.e., there is no provision for using subdirectories (or even partitions with 1581 drives) on mass-storage devices which support them (the CMD devices are a good example). All files must reside in the root directory to be accessible.

This is a shortcoming, and it would be nice if it were addressed in later versions of Image BBS with the additions of CMD hardware detection. The ability to issue DOS commands where appropriate in the “General Files” section (which can have message bases, text files and modules, and subdirectories all in a single GF directory!).

Setting Up Your Image BBS

We’ll start by copying the files, which the BBS needs to function, to their proper system disks.

Boot Disk

When you boot your BBS, any device can be used, but you must use drive #0. If you wish to use a different drive number to boot, you must change setup to reflect the proper drive.

If you are using a floppy-based setup, you need to make a “boot disk,” from which you will load your Image BBS. This disk is used whenever you are re-loading (booting) your BBS. Just use a blank disk, and copy the following files onto it.

Whether you’re using a floppy disk or hard drive partition, copy the following files to the device you want to boot from:
Table 4. Boot Files
File Purpose

image 1.2b

Boot file (load"image 1.2b",device,1)

im

Core BBS routines, written in BASIC

ml 1.2

Core machine language routines

ml.editor.loader

Swaps BBS text editor into place from RAM underneath ROM when needed

ml.editor

BBS text editor routines

ml.extra

Fast garbage collect; most are two seconds in length

ml.pmodes

Print mode definitions (Refer to [mci-print-modes])

ml.rs232

RS232 communication ML, renamed as above

screen 1.2

Title screen graphic file

setup

Initialization routines, written in BASIC

  • Copy to the System disk all files beginning with s.

  • Copy to the Etcetera disk all files beginning with e.

The REL e.say file is optional. This file contains “sayings” displayed to the user both at logon and when SY is entered at the main prompt.

Due to the size of this file, some sysops with smaller systems may wish to copy over e.say-smaller as e.say, or not use this feature at all by omitting the file entirely.)

  • Copy to the Plus File disk all files beginning with +. (don’t forget +.modem), ++ , and scn.. Also, ml.ecsdefs should be copied here in order for the default Extended Command Set definitions to work properly upon bootup.

  • The user files are written during the first-time configuration process, directory and e-mail files after your BBS is up and running.

If you are using a user port modem, copy ml.rs232/user as ml.rs232. If you are using a high-speed modem or telnet bridge program, copy ml.rs232/swift as ml.rs232. config may be modified in the future to make this procedure automatic.

It is fine to put these boot files on your System disk, assuming you have sufficient drive space.

Table 5. Required Plus File Disk Files

+.er

Error-handling module

+.lo

Idle screen (waiting for call) plus-file

+.modem

Modem communication routines; rename as necessary

ml.ecsdefs

Extended Command Set definitions (Refer to [the-ecs-system] for more information.)

Now you are ready to configure Image BBS!

Modem Configuration

You can run a dial-up BBS (and in fact some people still do), but for convenience’s sake, and to get the most callers possible, you’ll probably want to have incoming connections via the Internet.

If you’re using a real Commodore 64, you’ll be using an interface which plugs in to either the user port (for example, an Omnitronix RS232 interface), or expansion port (a Turbo232 or Glink interface).

  • A serial cable connects to a PC which runs TCP/IP to RS232 “bridge” software, allowing the BBS to send and receive modem commands and BBS data even though there’s not a real modem connected

  • A wireless modem

  • You could host your BBS via VICE, in which case you’ll connect to the aforementioned “bridge” software (BBS Server, VSPE, or tcpser) to connect to the outside world

modemconfig 19.2

This program configures the modem to be used with the BBS through a series of questions, which are outlined in the following section.

First, a preview of what it looks like:

Image 1.2 Modem Configuration

 1 -- 1670  (Old Model)
 2 -- 1670a (New Model)
 3 -- Hayes 1200 (ATA)
 4 -- Hayes 1200 (DTR)
 5 -- Hayes 1200 (ATA/DTR)
 6 -- Hayes 1200 (ATA/Reverse DTR)
 7 -- Hayes 2400 (ATA/DTR)
 8 -- Hayes 2400 (ATA/Reverse DTR)
 9 -- Supra 2400
10 -- Aprotek 2400
11 -- Hayes 9600 (ATA/DTR)
12 -- Hayes 9600 (ATA/Reverse DTR)
13 -- Supra 9600 (ATA/DTR/X4)
14 -- Hayes 19.2k(ATA/DTR)
15 -- Hayes 19.2k(ATA/DTR/X4)
16 -- Customized

Modem Type? []

Type 16 — Customized is the one you’ll want for operation with a telnet bridge program.

Here is a summary of options presented when that choice is made:

  1. Baud rate 0 = 300 …​ 5 = 19200

    Pick the highest rate your modem or telnet bridge supports.
  1. 0 = Escape codes (+++) 1 = Data Terminal Ready (DTR) hangup

+++ escape codes are used mostly on older modems such as the Commodore 1670. Hayes-compatible modems usually support the DTR line with the Commodore user port or an RS232 interface in the expansion port.

  1. 0 = Auto answer (ATS0=1) 1 = Manual answer (ATA)

  1. 0 = ATH 1 = No ATH

This refers to whether your modem includes ATH in its command set.

  1. 0 = Local off-hook, 1 = Not off-hook

When you are logged on to the BBS from the local console, should the modem be taken off-hook so people trying to call in get a busy signal?

  1. 0 = ATH0 1 = ATH

This is just a matter of semantics: does your modem use ATH or ATH0 to hang up?

  1. 0 = Hang-up in modem reset, 1 = Not

Choose whether to hang up when resetting the modem.

  1. Value for ATX

This controls the level of error reporting (1-4) codes used by the modem (VOICE, ERROR, etc.) It is usually left at 4.

Level Purpose

X1

Usually adds connection speed to basic result codes (e.g. CONNECT 1200)

X2

Usually adds dial tone detection (preventing blind dial, and sometimes preventing ATO)

X3

Usually adds busy signal detection.

X4

Usually adds both busy signal and dial tone detection

Table 6. Typical Hayes modem result codes
Numeric Verbose Description

0

OK

The last command sent to the modem was processed correctly.

1

CONNECT

The modem achieved a connection at 300 bps.

2

RING

The modem detected an incoming call.

3

NO CARRIER

The modem could not make a connection or lost a connection due to the absence of the carrier signal.

4

ERROR

An error has occurred; usually a bad command.

5

CONNECT 1200

The modem has achieved a connection at 1200 BPS.

6

NO DIAL TONE

The modem did not detect a dial tone.

7

BUSY

The modem dialed but got a busy signal.

TODO: expand this table to include up to 19.2k responses


  1. DTR: 0 = Normal, 1 = Reversed

DTR (Data Terminal Ready) is a connection that tells the DCE (Data Communication Equipment, typically a modem) that the DTE (Data Terminal Equipment, typically a computer or terminal) is ready to transmit and receive data.

Some modems have the logic reversed; if bringing DTR high (toggling it on) signals a disconnect, then select “Reversed.”

The Configuration Editor

For many this is a new experience. You will not be reconfiguring an existing system nor be converting a system over, but rather are starting from scratch. For those that want or need to start fresh, the Configuration Editor will do the job. If you are converting an existing system from CNet 12.0/12.1, there are also convert routines in this program.

Configuring a New System

You begin by loading the configuration program from your back-up disk. Use the standard Commodore load command (assuming 8 is the device number you’re booting from):

load"config",8

After it is loaded, type run Return. The configuration editor is very complete and self-documenting. You should follow each step in sequence just as they are listed in the configuration menu.

Device/Drive Assignments

The first menu selection helps define the devices and drives you have to run your BBS on. Selecting the DEVICE/DRIVE menu option will bring up a sub-menu of options. The system of sub-menus will take you completely through your device and drive setup, defining each of the six required system drives, identifying which device and drive they are set to, as decided earlier.

The default values are for device 8, drive 0. To select an option, use the crsr up and crsr down keys. To change the value the highlight bar is on, hit Return. Use this procedure with any menu item in the configuration editor.

Message Base, Upload/Download / Exchange Setup

Since this configuration editor was written, New Image Software developed improved handling regarding message bases and file transfer libraries. Called the TurboRELs, they can be configured while on the BBS via the “RELedit” system. (If you’d like to join the BBS network, you must use the TurboRELs, since the messages are passed around in the upgraded format.)

Refer to The RELedit System for more information.

Access Groups

You must then assign which access groups may use each of your boards or libraries. Access is calculated using the following method, which is used throughout the BBS. To determine which groups can access a given sub-board or library, add the group’s access value:

Table 7. Access Groups and Values
Group # Value Group # Value

Group 0

1

Group 5

32

Group 1

2

Group 6

64

Group 2

4

Group 7

128

Group 3

8

Group 8

256

Group 4

16

Group 9

512

An Access Group Example

If you wished groups 3, 5, 7, and 9 to access a given board, you would add:

Group # Add

Group 3

8

Group 5

32

Group 7

128

Group 9

512

Total:

680

680 is what you would enter for the access code value.

You may type ? at most prompts that ask for access levels and the BBS will go through groups 0-9, asking you if that group gets access (type Y for yes, other keys mean no). It then calculates (but doesn’t immediately display) the value for you. You may do this in the configuration editor, or any part of the BBS that defines an access level.

You also enter a subop (sub-board operator; a user given an area of the BBS to maintain) for each sub-board/library. This is done by typing the ID number of the user desired. If you are configuring a new BBS, you have no users yet. Therefore, assign the subop duties to either yourself (user 1) or to no-one (user -1). Of course, you may change this later.

Each sub-board/library must be defined as to which device and drive to put the files on (posts, responses, U/D files). The device and drive menu options allow you to set these.

When you’re done with your selections, select the last option, Keep Parameters and you are returned to the prompt to assign another sub-board/library.

When you’re done, simply select the Main Menu option.

Editing Access Groups

You should now define your access groups. There are ten groups, zero through nine. Each one can have different capabilities as you wish.

All new users signing on to the BBS are automatically placed into group zero. The parameters for each group consist of:

  • Group name

  • Number of calls permitted per day (1-254 or infinite [0])

  • Time in minutes permitted per call (1-99 or infinite [0])

  • Amount of time permitted idling (no activity at a command prompt) (1-9 minutes)

  • Number of downloads per call (1-255 or infinite [0])

User Flags

Each group has a set of “flags” assigned to users placed in that group. These flags may be customized for individual users at a later time if desired. With this editor, you set the flags as you wish them assigned when first entering the particular group. The flags usually toggle between “Yes” or “No,” but a few require numeric input.

Table 8. User flags
Flag Type Purpose

Non-Weed Status

Yes/No

Yes: Group is not deleted from the user log after not having called within a specified number of months. (Refer to [autoweed].)

Credit Ratio

Numeric

The number of credits awarded per lines made in a post or file block uploaded. The ratio is usually 1:1.

Local Maintenance

Yes/No

Yes: Group has access to BBS maintenance commands. Only give very trusted users access to this.

Post/Respond Capability

Yes/No

Yes: Group can post messages in message bases.

UD/UX Access

Yes/No

Yes: Group can use upload/download or user exchange subsystems.

Maximum Editor Lines

Numeric

Lines of text (10-100, in multiples of 10: 0=10, 1=20…​) an access group has available to post messages, e-mail, or feedback.

Unlimited DL Credit

Yes/No

Yes: no credit is deducted when files are downloaded.

Remote Maintenance

Yes/No

Similar to Local Maintenance. Can write/remove forced e-mail, feedback, view system logs.

E-mail Access

Yes/No

Yes: group can send/receive e-mail.

User List Access

Yes/No

Yes: group can list BBS users.

B.A.R./Log Access

Yes/No

Yes: group can view the Board Activity Register, or daily activity logs.

Sub-board Maintenance

Yes/No

Yes: group can edit or re-configure SIGs or sub-boards, and edit or delete other users' posts.

Files Maintenance

Yes/No

Yes: group can edit, delete, (un-)validate, or award credits to a user for uploading a file, in the U/D section.

MCI Access

Yes/No

Yes: group has access to the Message Command Interpreter. (Refer to xref:12b-mci-commands.adoc#message-command-interpreter.)

UD/UX at Prime Time

Yes/No

Yes: group can upload or download from U/Ds or U/Xs during prime time. (Refer to Prime Time.)

We also suggest that, at least to start, you define group 9 as the most powerful group. When you first log on to your BBS as sysop, you are assigned group 9 access. You may change your access group after logging on for the first time.

When you have completed all assignments for a group, select the Keep Parameters option and move on to another group. When all groups are assigned satisfactorily, choose Return to Main Menu.

Any changes in access group information, either with the offline config editor or the online +.reconfig editor, require a reboot before the changes take effect.

BBS Information

Now you get to identify your BBS. Select the BBS Info option from the main menu. It has several specific questions about you and your BBS to help personalize it.

First, the sysop’s information:

You are asked for the handle you have chosen to use on your BBS. This information is assigned to user #1, the sysop account.

You are also asked to provide a password. Choose it carefully since this is usually the most powerful account on the BBS, and you will not want it compromised.

Then you are asked a few other questions that are added to the data in your account to start the user file.

FIXME: tell exactly which prompts are asked.

This information can be changed inside the BBS later, if you desire (using the ED or EP commands).

Table 9. BBS setup information
Option Meaning

Board Name

Name of the BBS

Board Identifier

A two-character abbreviation used to identify your BBS. For example, a board named “Lyon’s Den” might use an identifier of LD.

FIXME

FIXME

Prime Time

Prime Time is a period of time where everyone is limited to being online a certain number of minutes, and U/D access is limited to users with the “U/D at Prime Time” flag set. If you are just starting out, you may wish to wait to see how busy your BBS is before setting up Prime Time.

If you decide to set it up, you are asked for:

  • The time to start

  • The time to end

  • The number of minutes you will permit users to stay online

This information may be changed later if you wish.

When you are finished with the Prime Time option, choose Keep Parameters to return to the BBS Info menu.

Main Prompt

This is a message users see when they are not in any particular subsystem. It can be anything you want, but should be short. The default prompt is IMAGE:

After establishing your prompt, return to the BBS Info menu.

Credit Points

The final selection here is to set the number of credit points new users receive when first signing up to your BBS.

Credits are like currency that users accrue or lose depending on their actions on the BBS.

Users earn more credits by uploading files, posting bulletins in the message bases, playing games, using the Credit Exchange (where they can exchange the minutes on unused calls for more credits, and other options), and possibly by other methods. They can also be awarded by the sysop for no good reason!

Users can spend credits by downloading files, or some games may be configured to deduct credits as an entrance fee (such as the Credit Pool).

A new user can be given from 0 to 65,000 credits, but we assume most sysops will not want to assign that many to new users.

This completes the BBS Info section of your configuration!

Loading Configuration Files

You may load configuration files at any time to make changes to them as you desire. This can also be done online with the +.reconfig program, but the option is included here for any that may wish to reconfigure their BBS off-line.

You may load individual configuration files, or load all files at once.

FIXME: more info

Saving Configuration Files

The last option is to save the configuration files to disk. You are first prompted to insert all system disks into their proper drives, and then the files are saved to the disks.

If you have not loaded them first, do not re-write the u.config (user log) file, or e.data (system configuration information) files. This could fool the system into thinking you only have one user!

There is confirmation that you want to start the user file over.

A utility, edata edit, has been included to recover from this possibility occuring. Refer to “BASIC Utilities” for instructions on how to use it. FIXME

All Done

This completes the configuration of the BBS! You can now select Exit Configuration Editor and choose the appropriate option:

Return to BASIC
Cold start the machine
Boot Image BBS

(If you change your mind, you can still escape with .)

Return to BASIC ends the program, where you can re-run the program, or do something else, but the program will still be in memory.

Cold start the machine resets the C64 back to BASIC’s sign-on screen, losing any unsaved configuration changes and removing the config program from memory.

Boot Image BBS will boot your BBS, if the file image 1.2b is on your boot disk or current partition/LU.

You are notified if any file(s) have not been written to disk, or if re-writing a particular file will re-start the user log, before exiting the configuration editor.

For now, let’s select Return to BASIC and continue with setting up the modem, discussed in the next chapter.

Telnet Bridge Software

Jim Brain’s tcpser

tcpser is a telnet bridge program which can interface with either a real Commodore 64 via a serial cable, or an emulator. It can be downloaded from:

The latest version as of November 2020 is 1.1.4.

Using a Physical Serial Port

Even if you’re using Windows, its COMx: nomenclature is replaced by Linux’s /dev/ttyx. COM1: is equivalent to /dev/ttys0.

tcpser -d /dev/ttyS0 -p 6400 -s 19200 -i"e0v0h0x4&C1&D2&K3" -l7 -tSsIi

This suggested command line for tcpser means:

Table 10. tcpser command line switches
Parameter Purpose

-d /dev/ttys0

use serial port 0

-p 6400

use incoming port 6400

-s 19200

report the modem connect rate at 19200 kBPS

-i "…​"

initialize the modem with the following string

-l7

log events at level 7

-tSsIi

show incoming and outgoing RS232 and TCP/IP traffic

Using the VICE Emulator

VICE doesn’t emulate the CD (carrier detect) line if you’re using a user port modem. So while the BBS will answer, it won’t necessarily hang up properly if a user should disconnect midway through their call.

Here, the -d parameter is replaced by -v, which is the port VICE is listening on in its RS232 settings. Here is a command line to try:

tcpser -i "e0v0" -s 2400 -v 25232 -p 6400

If you’re using a high-speed RS232 interface, you can increase the -s value to something more appropriate.

Multiple Emulated Modems

Multiple modems can be emulated within one instance of tcpser. FIXME

tcpser4j

This is the same thing as tcpser, except written in Java. You configure it via an XML file (there is a well-documented sample file included), then have the included .bat (Windows batch) or .sh (Linux shell script) file reference that XML configuration file.

The advantages are:

  • you can emulate more than one virtual modem using the same instance of tcpser4j

  • you can play modem DTMF and connect sounds

  • there is a simple chat room function for when users are waiting to connect to an otherwise busy BBS.

Leif Bloomquist’s BBS Server

This is a Windows program designed to allow a real Commodore 64 to run Image BBS.

If you use this program and you have trouble getting the BBS to answer, here’s some information from Larry “X-TEC” Hedman:

Jeff, I experienced the same problems you described when I started using BBS Server with an Omnitronix RS232 interface plugged into the modem port.

I never could get it to work at any of the 2400 baud settings but 1200 baud works fine and connections stay connected at 1200 baud but in actuality, the speed is much faster.

On my Image 1.0 version, I am using the Avatex 1200 +.modem file. If using 1.2a I think I used the 1670 modem file but you can try any of the 1200 baud modem files until you find one that works.

In BBS Server, you must build and use the TelBBS Standard Cable as described in the docs.

On the Comms page, set for 1200,N,8,1. Set the serial cable type to option 1 and click on Set Defaults. You should have check marks for Enable hardware flow control and ATE1 (local Echo) set by default.

On the Connecting page set checkmarks on Raise DTR when caller connects and Send RING to BBS when Telnet caller connects.

On the Disconnecting page, check Disconnect if BBS drops DCD, Disconnect if BBS drops DSR, Send NO CARRIER to BBS on disconnect, and Lower DTR when caller disconnects.

On the Diagnostics page, check mark Detailed RS-232 Diagnostics Logging and Detailed Hayes Emulation Logging. This will give you much information about what is going on with your RS232 communication between the PC and the BBS in the Activity Log.

On the Emulation page, checkmark Allow Outgoing Calls, Send this string when Telnet session connects: CONNECT, Send Winsock error messages to Terminal Program and Enable Hayes Emulation.

Click on Save Changes which will take you back to BBS Server’s status page. Make sure the IP address is set for the IP of your PC running BBS Server and type in the Telnet Port you will be using.

The standard port is 23 but using port 23, you will experience hundreds of spurious connect attempts all from Asian IP addresses.

You’re better off to use a different port but for now just use 23 until you can make connections successfully.

If all that is set up and Image is booted to the call waiting screen, you should see red blocks for CTS and DCD and a green block for RTS. At that point you should be ready to receive calls. Try connecting to the BBS using whatever method you are using, and watch the RX and TX blocks.

If it doesn’t work use a different 1200 baud +.modem file until you find one that works. Hope this helps.

Telnet bridge hardware

Since telnet bridges don’t support BPS rate changes over telnet, you need to rename a custom version of +.modem called +.modem/telnet. This is locked at 14.4 kBPS instead of how the original +.modem file stepped through its BPS rates, issuing initialization commands at each speed.

These interfaces plug into the Commodore 64:

Link232

Expansion port; plans are available at http://www.go4retro.com/projects/link232/

Lantronix UDS-10

  • sends ATA immediately upon answer

GLink232 interface

X-TEC mentions:

Tell the seller it’s for hooking up to an Image BBS. This makes sure all the control lines are wired correctly.

FIXME contact info

Booting Up

You are now ready to boot up your new Image BBS and make your first “call!” Most likely you will want to explore and/or continue its configuration, using included tools to:

Activity Section

Log in locally

x

Configure modem/telnet bridge response codes

x

Configure/add message bases

x

Configure/add upload/download or “user exchange” libraries

x

Learn to use the IMAGE text editor

The Image Text Editor

Learn about system files

x

View Feedback messages

VF

If necessary, insert your boot disk into the proper device. (We assume device #8 here.)

[:filename:]

Hardware Command

Standard Commodore DOS

load"image 1.2b",8,1

JiffyDOS

%image 1.2b

Lt. Kernal

image 1.2b

Type Return after each command.

Autobooting Systems

Sysops with Lt. Kernal hard drives may rename image 1.2b to autostart and have an auto-booting BBS.

TODO: must also set config option to do this in LtK software.

First Boot

Now, sit back and let your BBS load up. After you see the title screen, the program does a bit of work, loading various files:

Table 11. Startup files
Task Filename

Revision and startup messages display

An RS232 handler loads

ml.rs232

“Print mode” definitions load

(Refer to Message Command Interpreter)

ml.pmodes

System configuration data is read

bd.data

Extended Command Set definitions load

(Refer to Extended Command Set Editor)

ml.ecsdefs

System information will be read

e.data

The number of users in the user log is displayed

u.config

Blocks free on each system disk are displayed

If your system files are on a different disk than your boot disk, you are prompted to

Insert all system disks and press RETURN

where you should do just that. If all goes well, you should reach the “idle screen.”

System won’t start? Need troubleshooting help? Refer to The Boot Process for information about the files needed.

The Idle Screen

This is shown when no user is connected to the BBS. If no keys are pressed for about ten seconds after the idle screen shows, the screen will blank, protecting your monitor from burn-in.

You may disable the screen blanking. Refer to The Lightbar for more information.

Press almost any key, or receive an incoming call, and the screen will turn back on.

Setting the Time

Unless your BBS clock is set automatically, you should see a flashing message to Set Time! The message continues to flash until you do so. (The BBS runs fine if the time is not set but timestamps for news items, message base posts, and such will be incorrect.)

If you have a Creative Micro Designs device, and you want to automatically set the BBS clock at startup, refer to [automatic-cmd-device-clock-set].

This shows you how to modify the setup program to poll CMD devices with real-time clocks and set the BBS clock at boot time.

For now, we will assume you are setting the BBS clock manually.

To set the time and date, type 1 while at this idle screen. Type the time and date at the following prompts:

For the day of the week, type one of the following numbers:

Number Day

1

Sunday

2

Monday

3

Tuesday

4

Wednesday

5

Thursday

6

Friday

7

Saturday

Type the month, date, and last two digits of the year at each separate prompt.

Enter the hour (don’t use military or 24-hour time), minute, and A or P for AM/PM for each following prompt.

The top status line changes to reflect the entered date and time. If the information is correct, respond to the OK? prompt by typing y (and press Return).

Type n (or any key besides y) if you have made a mistake and need to re-enter the data; note that answers to prompts now reflect what you just typed to minimize effort.

Now a large clock is displayed, and the BBS waits for a call. At the top of the idle screen are several items of interest.

The Status Line

This top information line is displayed whenever the screen is not blank, no matter what the BBS is currently doing. It shows, from left to right:

  • The day of the week, date and system time

Depending on conditions on the BBS and what you or the user online is doing, four different letters can appear next:

Letter Meaning

P

Text output is paused, usually with the Ctrl+S or Home key combinations on the local console or by the user currently connected to the BBS.

G

A garbage collection is currently in progress. This is usually less than two seconds in length, and can free up memory if it is low.

A

Text output or a file read has been aborted, typically by holding the spacebar or / key.

S

Parts of the BBS are being swapped out from underneath ROM into RAM. This is done to conserve memory. Parts of the disk I/O and text editor subsystems are handled this way.

The clock and status letters are followed by the minutes and seconds remaining for users while they are online. (Since no one is online at the idle screen, it shows 00:00.) When you or a user logs in, the number of minutes left is displayed.

100 minutes or more is considered “unlimited time,” and time remaining changes to --:xx (xx being seconds).

There can also be check marks in the left and right corners of this line: the left check mark indicates the user is in Commodore C/G mode, and the right check mark shows when a modem carrier signal is present.

Top Screen Mask

At idle, this area of information just underneath the status line shows the handle of the last caller, followed by their logoff time, and the time of the last log restart (LR). The window to the right shows the number of accounts currently used in the user file (UR).

When a user logs on, these displays will change to show additional information. Refer to FIXME.

You may toggle this “screen mask” on or off using f1, or a programming command (refer to [other-&-calls]).

Several functions are available at this screen from the console, which are outlined in a menu if you press any key aside from a “command” key.

Idle Screen Keys

The functions are as follows:

Table 12. Idle screen keys
Key Function Reference

1

Set the time and date

1 Set Time and Date

2

B.A.R. screen

2 Board Activity Register

3

System disk blocks free

3 Blocks free

4

Large clock

4 Large Clock

5

Update memory

5 Update Memory

6

Reset modem

6 Reset Modem

7

Reserve BBS

7 Reserve BBS

8

View today’s BBS log

8 Daily Log

Load IMAGE terminal

Image Terminal

+

Turn modem speaker on

Turn Modem Speaker On

-

Turn modem speaker off

Turn Modem Speaker Off

Shift+A

Start nightly AutoMaintenance

Start Nightly AutoMaintenance

Shift+N

Start nightly NetMail processing

Start Nightly NetMail processing

Shift+T

Invert carrier detect

Invert Carrier Detect

Space

Redisplay current screen

Redisplay Current Screen

£

Manual answer

Manual Answer

1 Set Time and Date

Allows you to set or reset the date and time as outlined above.

2 Board Activity Register

The Board Activity Register (or BAR) screen displays current data for the BBS in four columns, which cover the last call, total since the log was restarted, current total, and system grand total.

The rows on the screen report how many feedback messages, sysop mail, user mail, posts, responses to posts, uploads, downloads, new users, calls, time used and time idle in minutes for each category. (The first column will show the idle time between the two previous calls.)

3 Blocks free

The blocks free screen shows the blocks free on all six Image system disks.

4 Large Clock

The clock screen shows the current time in a large display.

5 Update Memory

A garbage collect is forced, which frees unused strings and displays the true amount of free memory in the M= display at the bottom left corner of the screen.

6 Reset Modem

Send a sequence of commands to the modem to reset it to Image BBS’s requirements.

7 Reserve BBS

The BBS can be reserved (the user signing on must know the reservation password as well as their own account password to access the BBS) for:

  • One call: Reserves the BBS for the next call only

  • All calls: All users are prompted for a password to sign on to the BBS

  • No calls: Clears the reservation

This is different than REServed accounts (refer to REServed Accounts), or reserving time for transferring NetMail (refer to NetMail Reservations.)

8 Daily Log

View the daily caller activity log. This lists:

  • The date and time the log was restarted

FIXME add information that is in log

Refer to LG section for more information.

Image Terminal

Image Terminal allows you to call other systems without taking your BBS down. (Refer to The Image Terminal.)

Turn Modem Speaker On

+ turns the modem speaker on (for compatible modems).

Turn Modem Speaker Off

- turns the modem speaker off (for compatible modems).

Start Nightly AutoMaintenance

Start Nightly NetMail processing

Invert Carrier Detect

Some modems use a “regular” Carrier Detect signal (when a call is connected, CD is high). Other modems reverse this logic: when a call is connected, CD is low. Depending on your modem, you may need to use this option to toggle between normal and inverted CD signals.

The carrier checkmark in the lower FIXME corner reflects the current carrier detect state: a checkmark indicates active CD, whether that’s considered high or low.

Redisplay Current Screen

Pressing the spacebar will redisplay the current screen display (if the screen blanked due to inactivity, for example).

Manual Answer

£ manually answers an incoming call by sending ATA to the modem.

The Lightbar

The fifth screen line is referred to as the “lightbar.” This line monitors and changes many features of the BBS. A lot of these options can be toggled by the sysop at the console. Others reflect options which have been chosen by the user.

A utility program (+.lb move, discussed in [miscellaneous-plus-files]) is handy for remotely moving the lightbar highlight position when you can’t be at the console.
Key Purpose

f1

toggle the screen mask on and off

f2 and f4

switch to the opposite lightbar page

f3

move the white highlighted portion to the left (switching to the opposite page if you move it “off the edge”)

f5

move the white highlighted portion to the right (switching to the opposite page if you move it “off the edge”)

f7

place a check mark to the left of the option highlighted in white

f8

place a check mark to the right of the option highlighted in white

(If the screen has blanked itself due to inactivity, it is restored when you receive a call or hit a key on the keyboard.)

The first of two pages shows as follows:

Sys   Acs   Loc   Tsr   Cht   New   Prt   U/D

These check marks tell the BBS to do various things. The following descriptions assume each check mark described is selected.

Table 13. Lightbar, page 1
Label Left Right

Sys

The sysop is available for chat, and will hear three sirens when C is typed at any major prompt by the user.

Turns on a tracing feature that shows, in the left half of the “Receive” window, the BASIC line number currently executing. (There is also a reverse video character representation of the token, or statement that BASIC is interpreting.)

Execution can be slowed down with the Shift or Shift-Lock keys to read line numbers more easily.

This is only a debugging tool, normally left off.

Acs

Change the access group of the user who is online.

f3 raises access one group (wraps around 0-9)

f5 lowers access one group (wraps around 9-0)

f7 gives the user the selected access level, exiting this function.

Restricts logons to 1200 baud and over. 300 baud callers are told the BBS is not accepting 300 baud calls at this time.

The access group is shown using a different screen mask when a user logs on, in an area titled Accs. Access data is read into memory as soon as the user gets to a prompt. However, any U/D libraries or sub-boards that their new group can access are not shown on the menu until they re-enter that subsystem.

Loc

Used to “log on” from the C64 keyboard, to make a “call” to the BBS while you’re sitting in front of it. This is referred to as “local mode.”

Shows that a remote user is in “pseudo-local” mode. This gives them access to certain maintenance commands which require “local mode” to be enabled, but the user isn’t (or can’t be) at the console.

Tsr

Add or subtract time remaining for the user online:

f1 zero time (cause an immediate logoff)

f2 unlimited time (displays -–:00 in top right)

f3 add one minute

f4 add ten minutes

f5 subtract one minute

f6 subtract ten minutes

f7 exit this function

Toggle Prime Time for every user:

If no Prime Time is designated for your BBS, this has no effect.

Cht

Enters chat mode when a user is on-line. It first displays the message

* Entering Chat Mode

then allows the sysop and user to type anything they wish back and forth to each other for the duration of the chat.

Pressing f7 again ends chat mode, displaying

\ Exiting Chat Mode \*

and returns the user either to the prompt they were at, or the BBS text editor, depending on where they were before entering chat mode.

Toggles local bells, so you hear all the bells the user on-line hears.

New

Makes the BBS private, and will not allow new users to sign up. They are told that the BBS is not accepting new users at this time.

Turns off the screen blanking mode. The screen remains on between calls.

Prt

Sends all text output to the printer and the screen.

Prints all log entries to the printer as well as the disk log.

U/D

Users cannot access the UD/UX area. They are told the area is closed temporarily.

300 baud users cannot access the UD/UX area. They are told that they do not have access to that area at this time.

The second page of lightbar options is as follows:

Asc  Ans  Exp  Fn5  Fn4  Fn3  Fn2  Fn1
Table 14. Lightbar, page 2
Label Left Right

Asc

Enables ASCII [2] translation for the user. Character layout differs between Commodore and ASCII standards, most notably by reversing the position of upper- and lowercase letters.

Turns on linefeeds for the user. In ASCII mode, terminals need a carriage return (CR) to move the cursor to the beginning of the current line. However, they may also need a linefeed character to move the cursor down a line. (Without one, the user may complain “everything displays on one line.” Once online, the EP command [option 3] resolves this problem.)

Ans

Instead of Commodore control codes, outputs ANSI[3] escape sequences. These are a standardized way to set character colors, plus “screen management” things like scrolling, windowing, clearing to end-of-line, and more.

Turns IBM graphics (line-building characters, many of which have similarities with the Commodore character set) and other special symbols for the user.

Exp

Turns expert mode on for the user, which skips many entry screens seen when entering subsystems or changing areas within that subsystem.

Users see a “macro”--a short saying presented before the main prompt. (Users can toggle them with the MA command, or add their own with the ME command.)

Fn5

User receives credit when an upload is validated. Otherwise, credit is received after the completion of the upload.

User is asked whether they wish to log off after a file transfer is complete.

Fn4

Undefined.

Undefined.

Fn3

Undefined.

Undefined.

Fn2

Undefined.

Undefined.

Fn1

Undefined.

Text prefaced with a £ (or \ if using an ASCII terminal) is not interpreted as an MCI command. Refer to [message-command-interpreter].

Bottom Screen Mask

Along the bottom two lines of the screen is yet more useful information.  The line just below the text display area contains BBS operating information in this order:

Table 15. Bottom two screen line display
FIXME Purpose

M=xxxxx

Memory free. This is constantly updated by machine language as memory is allocated by the BBS, allowing the sysop to see any areas which are causing a build-up of “garbage,” which is when BASIC strings are no longer needed.

When “garbage collection” (freeing up memory which unused variables occupy) happens, M= drops near or to zero bytes. G appears in the right half of the top status line, indicating garbage collection is in progress. The BBS pauses for about half a second, M= is updated as string memory is reclaimed, and G disappears.

There is a separate utility available to show (and optionally clear) garbage on the processor stack in the form of unclosed for-next loops and un-returned gosubs; it is available as an add-on called “System Functions.”

TC=xxxxx

Total number of Calls to the BBS since it was originally configured.

CN=xxx

Call Number since the BBS was last re-booted.

(dv:drv)=bbbbb

The last-checked device (dv) and drive, partition or LU (drv) blocks free (bbbbb) count.

These values change as users go from one area to another, so you can constantly monitor free space.

The last row on the screen has a Receive window (R:) which displays the last 10 characters received from the modem. When the “trace” function is enabled as described in FIXME, the BASIC line number currently executing appears in the left half of this window.

The center portion of the bottom line can display any sixteen characters you wish. Typical phrases include:

  • Image BBS 1.2b at system idle

  • The type of computer a caller is using when online

  • The reason for chat if a user online requests a chat session and you are unavailable. The window also flashes until either you answer the page, or the user logs off

  • It is also available to display custom information (refer to &,9 btmvar for more details) TODO

The final section of the bottom line is the Transmit (T:) window. This displays the last 10 characters sent to the modem.

Logging On

You’re now ready to log in and examine your new Image BBS in action! You can log on and edit your s. files, configure any sub-boards and U/D libraries, or just look around and get acquainted with its features. You may log on either normally or use the “instant” logon feature.

Normal Logon

  1. Use the f3 and f5 keys to highlight the Loc position on the lightbar.

  2. Press f7, which puts a check mark on the left side of Loc.

This starts logging in from the console, and is called a “local login.” We suggest that if you have a telephone connected to your modem, take it off the hook at this time.  That way, if an incoming call connects with your modem but not the BBS (since you’re on locally), the caller won’t assume something is wrong with the BBS.

When a user has logged on, either remotely or locally, the program’s copyright message and serial number are displayed.  With a remote login, the user is prompted:

HIT YOUR BACKSPACE/DELETE KEY:

This detects the caller’s graphics mode: whether they are in Commodore color/graphics (hereafter abbreviated as “Commodore C/G”) mode, or ASCII mode.

Depending on which mode they are in, the file s.login 0 (for ASCII), or s.login 1 (for Commodore C/G) is displayed.

For simplicity’s sake in the following references, the character x at the end of a filename will refer to either the digit 0 (this file is seen by ASCII callers) or 1 (this file is seen by Commodore C/G callers).

Then the user is asked to PRESS RETURN/ENTER.

A can be typed to abort the start screen; you could mention that in the s.login x files.

If Return is pressed, the program will read the disk file s.start x.

Next, the BBS instructs the user:

ENTER YOUR HANDLE OR <your BBS name> ID:

If the user has no account, or makes a mistake entering the information, they are instructed to type NEW.

If a mistake is made logging in, and if a file called s.errmail exists on the disk, the contents of this file are sent in an e-mail message to the user, informing them of the mistake.  If they should get this message in their mailbox, and they weren’t the ones to make the mistake, urge them to change their password.

A file called e.telecheck is either created or appended to, which contains the login time and date, the missed security question, and the correct answer. This file is viewable using the VF (View Feedback) sysop utility.

If the user has made four mistakes and has not entered NEW they are logged off for excessive login attempts.

If the user has a “reserved” account, they can enter RES at the prompt to enter the RES function of the new user program.

Instant Logon

This feature is reserved for the sysop, for it can only be used from the console.  It is meant for a fast, easy way for you to log on to your BBS to do maintenance functions, posting, or anything you would normally do on a call.

The main difference from a regular logon is that none of your stats will be updated or saved to disk, and your last call date will be set to your logon time.

To use the instant logon feature, type I at the Hit RETURN/ENTER prompt. You are prompted for your password, and if the correct accound password is given, you are immediately taken to the main prompt.

RES Users

A reserved (RES) user is one that you have set up an account for already using the RS command on the BBS. Perhaps you won’t be around to validate the user, for example. (Refer to FIXME for more information.)

They are asked to type their RES ID number and password—​which you should provide them with when you set up their account—​and then be taken through the normal new user application. When they are done, they are logged on with the pre-approved access and credit points that you assign to them.

NEW Users

If a user enters a handle that is not found in the user log, they are asked if they want to log on as a new user using that handle.

If they type Yes, the new user procedure is gone through, beginning with the reading of the file s.new user (but skips the handle prompt).

The new login procedure consists of four parts:

  1. General information: handle, real name, password

  2. Terminal parameters: computer type, column width, linefeeds, etc.

  3. Miscellaneous questions: address, occupation, baud rate, etc.

  4. Personal statement: a chance to type a paragraph or two about themselves. This is required; if aborted they are logged off without signing up as NEW.

Once the new user login procedure is completed, this user information is put in new user feedback for you to view later with the VF command, and they are taken into the BBS with access group zero status.

Existing Users

If a user enters a handle that already exists, plus a password, then they are asked a random security question:

  • Their first or last (real) name

  • Sections of their phone number: 3-digit area code, 3-digit dialing prefix, or 4-digit suffix

xxx-yyy-zzzz is a format used in the USA and Canada; other countries have differing formats. For now, foreign callers can just make up a phone number: 000-000-0000 works.

In Image BBS v2.0 and above, this second security question is made optional, and the phone number prompt is replaced with the user’s e-mail address.

This is used as an extra security measure. If this question is answered incorrectly, the same procedure regarding the s.errmail and e.telecheck files above is taken.

The Top Screen After Logon

Once a user has logged on and their password is verified, the top of the sysop screen changes quite a bit from what it shows at the idle screen.

The very top line is the same as discussed in the section “The Status Line.”

The next five lines contain specific information about the user logged on:

    • First is the user’s handle, login ID (including the two character BBS identifier), last call date, and number of calls today and total to the BBS.

    • Next is the user’s real name, their access group, phone number and five flags—​the first four are single digits—​which include:

      • Expert mode (0=off, 1=on)

      • Color/graphics mode (0=ASCII, 1=Commodore)

      • Linefeeds (0=off, 1=on)

      • Default file transfer protocol? (fixme)

      • Column width (between 22 and 80 characters wide)

Once a user has successfully logged on to the BBS, either remotely or locally, as either a new user or a user with a login ID and password already, the BBS reads the file entitled s.welcome x, and informs them of:

  • what their access group is

  • how many calls they can make on that particular day (if not an infinite number)

  • the amount of time they have for this call

Then it will check for:

Table 16. Table 1: Login activities
Feature Refer to

Read new News Files

NF

View Graffiti wall

Graffiti wall

Forced E-Mail

FM

Normal E-Mail

EM

Read new News Files

explanation

View Graffiti wall

explanation

Forced E-Mail

explanation

Normal E-Mail

explanation

Once all of this has been completed, the user is placed at the main command level.

Editing BBS Info Files

You now should be at the main command level, where you can do many things.

Since this is your first call, you may wish to edit the following files to suit your own tastes and coincide with your BBS plans.  Sample files have been included on the disk, but may be edited or replaced with whatever you wish.

While at the main command prompt, you can use the WF command (Refer to [write-file]) command for this. It gives you access to a line-oriented text editor you can use to edit files. If you have files other than ones included on the setup disks you would like to use, you can import them into the text editor using a “get file” dot command (type .G_ at the left margin).

Be sure to type .C 80 return to set the editor line length to 80 characters before .Getting a file. Otherwise, lines with color/graphics characters in them may exceed the 40-column line length, causing word-wrap and ruining the file.

If that happens, type .A return to abort your changes. Consider using an offline C/G screen editor such as Kaleidoscope, Digital Paint, Tyron Paint or similar.

Here is a summary of the files discussed in this section. Remember, the suffix x stands for the digits 0 or 1, for ASCII or Commodore Color/Graphics files, respectively.

Table 17. Miscellaneous editable files
Filename Purpose

s.login x

Seen when the BBS answers the call and the caller presses their backspace key for C/G detect.  These files will usually contain the name and hours of the BBS.

s.start x

Seen if they press Return at the Hit RETURN/ENTER prompt.

s.end x

Closing message, seen when logging off the BBS.

s.new user

Seen when a user enters NEW just prior to starting the new user signup process, or entering NU at the main prompt.  It may contain a disclaimer, and any other information that you wish new users to know.

s.errmail

E-mailed to a user when an error occurs logging in.

s.config

This file should contain information about your BBS, such as the equipment it is running on, and any other information you wish. It is seen when a user enters CF at any major prompt.

s.chat

The message shown to a user if they request chat, and the sysop is not available.

s.nu welcome

This is a “form letter” that may be sent, if desired, to new users when you read their new user feedback and grant access.

s.phonebook

Contains other BBS numbers that you may autodial when used with the IMAGE terminal program.

s.SB

The entry file shown whenever a user enters the message base subsystem.

s.UD

The entry file shown whenever a user enters the U/D subsystem.

s.UX

The entry file shown whenever a user enters the U/X subsystem.

To create or edit these files, use the WF command at the main command level (refer to [the-wf-editor]) . You can also use the .Put and .Get options (refer to [sysop-dot-commands]) in the editor. (Refer to [the-image-text-editor] for more information.)

The next two sections don’t need to be done if you have already configured your sub-boards, libraries, and access groups with the config program.

Sub-Boards and Libraries

After editing these files, you will want to set up your sub-boards and U/D libraries if they have not yet been configured. You can create up to 30 sub-boards, 30 U/D libraries, and 30 U/X libraries. To do this and to change them at any time after, you can run the +.reledit program from the main command level:

Type R at the main prompt, then enter:

+.reledit Return.

(Refer to The RELedit System for more information.)

Access Groups

You can define or change your access groups on-line if they have not been previously defined.

Type R at the main prompt, then enter:

+.access Return.

You can define up to 10 access groups and what they can access on the BBS. They are numbered from 0 (new user) to 9 (usually you, the sysop). New users logging on are put in group 0.

For each of the group numbers that you choose to use, you can select a title for it. You should choose one of the access groups to be the system operator group, for you with highest BBS privileges. For each group you are using, you can select a specific amount of:

  • calls per day that that group can make

  • how many minutes per call is allowed

  • how many minutes at idle is allowed (how many minutes may pass without pressing any keys before the BBS automatically hangs up)

  • how many downloads can be made per call

Done!

Now your Image BBS is ready to go online for calls! You may wish to post a few bulletins and news files to get the BBS started.

We hope you like Image BBS, and welcome your comments and suggestions.

General Commands

When you first log on to your BBS, after it checks for your mail, and goes through normal logon procedures, you will be at the “main command level.” You will see your main prompt that you defined in the configuration editor. You are now at the area where you have many options as to what you will do next.

This chapter will deal with the commands needed to get to certain functions of the BBS, and how to use them.

The following commands are considered “general” commands because they are not specific to a particular subsystem. They may be typed at the main prompt, or most subsystem prompts as well. A few commands (mostly maintenance in nature) are available only from the main prompt, or using local or pseudo-local mode. These commands are discussed in the “Maintenance” chapter.

The nice thing about general commands is the BBS remembers which subsystem you came from, so you can return to it when done with the current subsystem.

For example, you have just finished viewing a directory listing of files in the U/D subsystem, and wish to go to the Voting Booth. You type VB at the U/D subsystem prompt listing directory information, and when you type Q to quit the Voting Booth, you will be returned to the U/D subsystem.

Most general commands consist of two letters, sometimes followed by an argument (parameter) of one or more numbers.

Examples:

SB Enter the message bases. The BBS prompts the user which Special Interest Group or message area they would like to enter, depending on what places they have access to.

SB1 Enter the message bases, but immediately go to the first Special Interest Group they have access to. They are prompted for the message base to enter after that.

SB1,2 Enter the message bases, go to the first Special Interest Group, and the second message base in that SIG with no further prompting.

If you’re a Trekkie, this reminds me of Klingon programmers: Their programs do not have parameters, they have arguments, and they always win them…​

A few commands consist of only one letter. Here are the descriptions of the general commands and how to use them.

Chat Request/Chat Mode

C requests a chat with the sysop. A short (38 character) reason for chat is requested; the first 16 characters of that is displayed at the programmable window at the bottom of the screen. This reason is also recorded in the call log on disk and printer (if used).

If the left side of Sys is checked, the user is given a message informing them that the sysop is being paged, and the BBS monitor sounds three sirens.

If there is no checkmark, the user is told that you are not available. The s.chat x file is shown, and they are asked if they want to leave feedback instead.

The “reason for request” continues to flash until they log off or you answer the chat page. If the user requests chat more than once without you answering the first chat request, they are told that the page is already on, discouraging them from continuing to type C.

Feedback

Feedback is “mail” left on the BBS to the sysop(s), that any user with local or remote maintenance access may read. It is left to the sysop(s) by entering F at most prompts, or when logging off. The user is placed into the editor to write their message.

Any user, including a new user, is allowed to leave up to three feedback messages per call. If they try to leave more, they are informed they have left their limit of feedback for that call.

Feedback, along with new user information and error messages, are read by the sysop by typing VF at the main command prompt. (Refer to [the-vf-system].)

Help

? reads a menu of commands available at whichever command level the user happens to be. Depending on how much information is in the menu, a More? prompt for additional command information may appear (although this is put in the menu file itself, and is not always necessary, depending on the file’s length). At this prompt, Y (meaning Yes) continues; most other keys mean No and stop reading the file.

If the user is not at the main prompt, the main menu is then read.

BBS Information

CF shows the file s.config. This file should contain general information about your BBS, perhaps the hardware and software it runs on, its hours (if not 24 hours a day) and anything else interesting about it.

Change/View Last Call Date/Time

LD The last call date determines which messages on the BBS are new, and which are old. If a user is logged off before they have a chance to see all new messages, they can use this command to move their last call date back the next time they call.

LD prompts how many days to add or subtract (1-999 in either direction), displays the effective last date, then prompts if they’d like to change the time. Once everything is satisfactory, messages newer than that date are considered new, using RN (Read New) or RA (Read All).

Log Off

There are three separate ways to log off the system:

O or Q will ask if the user really wants to log off (type Yes to confirm). They are asked if they want to leave feedback first. (type Yes to confirm).

O% saves the last call date, in case they did not read all the new messages in the message bases.

O! logs off more quickly, without prompting for feedback.

O% and O! may be combined: O%! logs off more quickly and saves the last call date.

Quit

From most prompts (and in some subsystems, just pressing Return) gets the user to the main prompt.

If Q is entered at the main prompt, the user is asked whether they wish to log off, as above.

Time/Date

T displays the current time, the time the user logged on, and the amount of time remaining on the BBS this call.

Edit Terminal Parameters

EP enters a menu which allows a user to change their:

  • computer type

  • graphics translation mode

  • terminal line length

  • whether linefeeds are required

  • toggle their expert mode

  • change their account password

Prompt Mode

PM toggles Prompt Mode on or off.

When on, when a user reads new messages in the message base (using RN or RA commands), they do not receive the “end-of-bulletin” prompt between message threads, or the [P]ost [N]ext [Q]uit prompt between sub-boards. Useful for callers who want to speed-read or buffer messages.

It also eliminates the prompt after the A (About this file) command in the U/D subsystem.

Status

ST allows users to see their status on the BBS, including:

  • Their handle, plus real first and last name

  • Last call date and time

  • Their login ID

  • Their access level

  • Number of lines in the editor

  • Calls to the BBS, today and total

  • Downloads allowed (0=unlimited)

  • Number of uploads and downloads made

  • Number of blocks uploaded and downloaded

  • Credit points and credit ratio

  • Total posts and responses

  • User flags (refer to xref:12b-03-the-configuration-editor.adoc#user-flags)

Then the user is asked if they wish to view this information again. If not, they are returned to the BBS.

Saying

SY reads a random “saying” or “fortune,” such as the one read at logon, from the RELative file e.say.

Activity Log

LG Users who have the permission flag set may read the daily log, listing what activities callers have done on the BBS.

BAR Stats

BA Users who have the permission flag set may view the Board Activity Register stats as shown between calls. Refer to [board-activity-register] for more details.

C/G, ASCII, ANSI Mode Toggle

AT chooses between Commodore Color/Graphics, plain ASCII, and ANSI graphics. This option is saved to the user file when logging out.

Expert Mode

XP Toggles Expert Mode. When on, subsystem and sub-board entry screens are skipped. This option is saved to the user file when logging out.

New User Message

NU re-reads the s.new user file, read when a new user logs on to the BBS for the first time.

Local Mode

ZZ allows users with local mode access to enter pseudo-local mode so they can do maintenance functions remotely. These functions include copying files, reading directories, sending DOS commands, etc. This is very powerful, and should be given to only the most trusted users on your BBS.

Command Stacking

Command stacking is when a sequence of commands to be executed are entered all on one line, with individual commands separated with the up arrow key (^) between the commands. If the following command were entered at the main prompt:

SB9^RN^<^R3^UD^SA

Then the BBS would:

Command Purpose

SB9

Take you to sub-board 9

RN

Read the new messages there

<

Move backwards, to sub-board 8

R3

Read post #3

UD

Enter the U/D subsystem

SA

Scan for all new uploads

Certain places, such as choosing “quit” in the End of Bulletin prompt, usually clear stacked commands—​if a user realizes they need to do something in the middle of executing the stacked commands, their only recourse is to hold down the spacebar to stop the rest of the command stack from executing.

Refer to MACS on how to automate command stacking.

MACS

FIXME


1. In My Humble Opinion
2. American Standard for Computer Information Interchange
3. shorthand for the American National Standards Institute Standard X3.64