- Preface
- Product Information
- Setting Up Your Image BBS
- Getting Things Going
- Configuring Image BBS
- Loading Configuration Files
- Saving Configuration Files
- All Done
- Modem Configuration
- modemconfig 19.2
- Telnet bridge software
- Telnet bridge hardware
- Booting Up
- Autobooting Systems
- First Boot
- The Idle Screen
- Logging On
- Bulletin Boards and Libraries
- Access Groups
- Done!
- General Commands
- Entering/Changing Subsystems
- Sub-Boards (Message Bases)
- The RELedit System
- Upload/Download System
- Full Disk Exchange
- Electronic Mail Subsystem
- News Files Subsystem
- The File Libraries (Movie, Plus, RLE, Text)
- Voting Booth
- User List
- The IMAGE Text Editor
- Entering Text
- The Image Terminal Program
- Maintenance Functions
- Extended Command Set Editor
- User Edit
- Remote Maintenance Commands
- Miscellaneous Plus Files
- Miscellaneous Online Utilities
- Credit Pool Setup [credit-pool]
- The RELedit System
- Netsub Editor
- Nightly AutoMaint
- Networking
- General Setup
- Creating a New Network
- Joining an Existing Network
- Compatibility Notes
- Programming and Troubleshooting
- Common Modifications
- Questions And Answers
- Index
- Appendix A: Footnotes
Copyright © 1991 New Image Software
Last updated {revdate}
Image BBS 1.0 manual was OCRed by JOE COMMODORE. Documentation was updated to Image BBS 1.2b by PINACOLADA from documentation by DR. BOB, LITTLE JOHN, and others.
Image BBS modifications by RASCAL, METAL MAGE, PINACOLADA, X-TEC, IRON AXE, and many others.
Handle: Network Identifier: _
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), or setting up an altar to Fred Dart.
(Believe me, I thought about it. For those of you not in the know, he was one of the best Image programmers around; sadly, he’s gone on to that great BBS in the sky, where there surely must be an active user base of a few billion people. At least he can party on with Ron Fick, a Lt. Kernal guru, and Jim Butterfield… Imagine: Q-Link, with no plus charges… oh, wait. Another Jim B.'s been there, done that. :)
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, in my humble opinion).
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
The “new” (released long after the original manual was completed) Image BBS programmer’s reference guide is also included in an appendix. A lot of good information awaits 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, et voila! It must be true: Anyone can cook.
Many thanks go to Larry “Joe Commodore” Anderson for OCRing the 1.0 manual plus the updates! Also thanks to Rascal, X-Tec, Iron Axe, Metal Mage, Fred Kreuger, and anyone else I forgot.
I just want this to be the best, most comprehensive manual available, given all the great fixes that have come out since Image 1.0 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.
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!
Also, I would like to collect any information about Image BBS you or your friends and colleagues have. Back in the 1990s there were hundreds of Image sysops-—they can’t all have died yet. :) Any plus-files, programming information, “Reflections” or NISSA (New Image Sysop Support Association) e-zines you’ve got—in short, anything Image-related-please forward it to me.
My goal is to revive Image BBS and its network, to re-kindle the feelings of anticipation when there was a new plus file or mod to download.
As of 2014, Larry “X-Tec” Hedman is the NISSA and network administration guy. We have 13 nodes as of July 2018.
Anyway, drop me a line—I want to hear from you! plzkthx.
PinaDox (tm & pat. pend.—I’ve never patted a pend. before but I’m willing to try anything): The only user-friendly documentation with a built-in sense of humor. footnote[Well, okay, I amuse myself, and that’s what’s mportant.]
This version of the manual has some enhanced typographical features. Firstly, by and large a proportional font is used. I have nothing against monospaced text—after all, it’s what a BBS is made of—but in the long run it really makes my eyes bug out looking at pages upon pages of it (as with the first printing of the Image BBS manual).
Text output by the BBS, and filenames, are monospaced.
Keyboard keys (like Return) have boxes around them in the HTML version, and are rendered in red monospaced text in the PDF version.
Additional sections, information, or changes from the original manual are put in a sidebar, like this one.
There are the beginnings of cross-references to where sections are now. If you see a missing cross-reference, please let me know.
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:
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).
Tip
|
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. (Note: Using TurboREL message bases on a 1581 drive may be problematic; e-mail me if you need more info on it.)
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. I need to get in touch with Larry to see whether this is in
fact the cause.
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.
Note
|
The BBS numbers in the following documentation are all long gone, please do not try calling them. |
Enjoy!
Larry Anderson
Sysop - Silicon Realms BBS
New Image Software
P.O. Box 525
Salem, UT 84653
801-423-1966
Note
|
Dead address, of course. |
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 (sysop is 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
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.
Note
|
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.2. There are “mods” out that call for
lines to be added to setup
and im
but they are already in, all you
need is the +.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
FIXME: Fold this information into the main manual; it will reduce content the new sysop has to read through.
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 Creative Micro Designs 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
are t1 t2
t3 t4 c1 c2 c3 c4
). These eight “screen” files are the text of and
color for 4 screen masks displayed either at system idle, or other areas
on the BBS.
These files must be placed on the plus file drive for proper operation.
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 the modemconfig
or
+.modemconfig
to re-select your modem type.
Note
|
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.
Note
|
The heck there isn’t! I put it back for historical preservation, even though it’s unlikely to do anything useful! Yay me. |
We feel that the program you have just received, IMAGE BBS version 1.2b, is the most versatile and elaborate BBS program for the Commodore 64 computer available today! It is the result of over five years of work and many hours of programming time, has taken ideas from modem users and BBS sysops all over the world for its design, and offers many hours of pleasure for both BBS callers and sysops. If you are a programmer, or even a novice programmer, IMAGE BBS is designed to be easy to modify to suit your own tastes, and even to add modules to do any type of function on the BBS that you may wish to have! With some practice, and knowledge of IMAGE programming techniques, virtually anything is possible to add to your BBS. We have included some basic information on technique to get you started, and plan on releasing a more comprehensive programmer’s manual in the near future.
Thanks go out to all who have supported us in the past with our programs, and for all the suggestions and ideas that have been shared with us. If you need to contact us for anything at all, please feel free to at any of the voice or BBS numbers supplied on page v of this preface.
Special Thanks To:
- Peggy
-
For being an understanding wife while this program was being developed, taking over the business end of things at a time when it was needed, and helping to make decisions, some of which were really tough. I don’t believe this program would be possible without her.
- Jamie, Christy, Billy, and Kim
-
For their support, patience and understanding in giving Dad (and sometimes Mom) up for all the extended programming and business sessions.
- Ray Kelm (PROFESSOR)
-
For being the sharpest ML whiz-kid in the world, and all the quality work.
- Fred Dart (THE CHIEF)
-
For the extensive beta-testing and bug reports. (Not sure why I’m thanking him for bugs, but…) Also, for his enormous phone bills in getting this thing done as soon as possible. And for many other things too numerous to detail.
- Jay Levitt
-
For representing us on QuantumLink for so long, and the work he has helped with on the program, especially the e-mail routines.
- Bob DiLorenzo (BLINKY)
-
For beta-testing, the vacation and tour of Opryland in Tennessee when I needed that break so bad, and for being such a good friend.
- Jim Flinn (MUZAK MAN)
-
For designing the awesome title screen and beta testing.
- Mark Verellen (KING TRENT)
-
For bringing over the Cokes when I was broke, and being official IEEE beta tester.
- Mike Coley (THE HAPPY HACKER)
-
For the voting booth, and so many great ideas! (Where are you, Mike, haven’t heard from you!)
- Julie Rhodes (BLUE ADEPT)
-
For the new BBS List program, and all her support.
- John Moore (LITTLE JOHN)
-
For joining up with us, and starting work on the 128 version of IMAGE. Also for the graffiti routines in the logon.
- Rich Matteo (SHADOW WARRIOR)
-
For the use of his modifications for the multi U/D and full disk exchange routines, to make it so much easier for us to add.
- Tony DeLiberato (ULTRA LORD)
-
For his help on the production of this manual and advertising layouts.
- John and Paul at QuantumLink
-
For their help and support on Q.
Fiscal, Xetec, Trans-Comm, InConTrol, and the many other companies who were so cooperative in helping us develop the program to allow their products to be used.
And finally, to you, for trying IMAGE BBS out! We’re sure you won’t be sorry you did!
-Don Gladden
New Image Software
This section contains all warranty, program usage, and support information.
You have the non-exclusive right to use the enclosed program. Copying the program with the intention of distributing it to others, whether or not for personal gain is illegal and not in accordance with this agreement. Modifications of this program may be made for personal use, and to share with other REGISTERED owners; however, the modifications should be shared as modules. Do not distribute the program in its entirety.
Backups may be made of this program; however, you must include the copyright notice and serial number on any back-up copies. Transfer of registration may be done by sending signed written notice from the original purchaser, releasing his registration rights. Contact New Image Software for further instructions regarding transfer.
This program and documentation manual are copyrighted under the laws of the United States and Canadian governments. You may not copy the program for distribution purposes at any time, whether for personal gain or not. You may NOT remove the copyright notice or serial number at any time.
New Image Software warrants the DISK on which the program is furnished to be free from defects in materials and workmanship under normal use for a period of 90 days from the date of purchase on your receipt. To obtain service or replacement, you must deliver the disk prepaid to New Image Software. The responsibility of New Image software is limited to repair or replacement of the original disk and/or documentation manual. The program and the manual (“software”) are provided without warranty of any kind, either express or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. New Image Software does not warrant, guarantee, or make any representations regarding the use of, or the results of use of, the program in terms of quality, correctness, accuracy, reliability, currentness, or otherwise, and you rely on the program and results solely at your own risk. New Image Software also does not warrant that the program or manual will meet your requirements, or that the program will be uninterrupted or error-free.
EXCEPT TO THE EXTENT PROHIBITED BY APPLICABLE LAW, ANY IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE ON THE DISK IS LIMITED TO THE DURATION OF THIS LIMITED WARRANTY.
In no event will New Image Software be liable to you for any damage in excess of your license fee paid, including, without limitations, any lost profits, business goodwill or other special incidental or consequential damages arising out of the use or inability to use the program, or for any claim made by any other party, even if New Image Software or the dealer had been advised of the possibility of such claims or damages.
This warranty gives you specific legal rights and you may also have other rights which vary from state to state.
In order to be able to obtain any customer support or updates of the program, you must complete and return the enclosed registration card to New Image Software. If this registration card has not been received by New Image Software, or New Image Software is aware of breach of any part of this agreement by you, New Image Software is under no obligation to make available to you any customer support or updates of the program even though you have made payment of the applicable update fee.
You acknowledge that you have read this agreement, understand it, and agree to be bound by its terms and provisions by filling out and returning the enclosed registration card. You also agree that this agreement is the complete and exclusive statement or agreement between the parties and supersedes all proposals or prior agreements, verbal or written, and any other communications between the parties relating to the subject matter of this agreement.
Should you have any questions concerning this agreement, please contact in writing:
New Image Software
Customer Sales and Support
P.O. Box 525, Salem, UT 84653
Note
|
Dead address, of course. |
THANK YOU VERY MUCH FOR PURCHASING IMAGE BBS! This manual is a very detailed description of the features and capabilities of the program. However, if you have any questions left unanswered, or if you discover any problem with any part of the program, please feel free to contact us at any of the following BBS or voice support lines.
LYON’S DEN BBS (Central Region: Michigan)\ BBS: 313-453-2576 24 hrs. 300-2400 baud.\ System Operator: Ray Kelm (Professor)
PORT COMMODORE BBS (Western Region: Utah)\ BBS: 801-423-2734 24 hrs. 300-2400 baud.\ 9:00AM to 5:00PM MST\ Voice Tech line: 801-423-1966\ System Operator: Fred Dart (The Chief)
For support, call any of the support boards listed or any of the tech lines listed during the hours listed. These locations are set up for your convenience, you may call any of them but you might want to call the one nearest to you; they are located in the states shown.
The bulletin boards listed all have many users that are IMAGE BBS owners; they love to share modifications and ideas! You can benefit greatly by being a member of any of these BBSes.
Additional support can be found on QuantumLink. Each of the above listed support personnel are available on QLink as: IMAGE Don, IMAGE Fred, and IMAGE Jay and will make every attempt to assist you in any way.
Note
|
Until further notice, this manual covers all current versions of Image BBS: 1.0, 1.1 and 1.2. |
Update 7/2014: There is a [Facebook group](https://www.facebook.com/groups/141819789446) and the beginnings of a support web site, [Pinacolada’s Projects](https://sites.google.com/site/pinacoladasprojects/)
Also, stop by Jeff Ledger’s [Commodore TelBBS forum](http://jledger.proboards19.com/), where there is some archived information about Qlink and telnet BBSes.
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.
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 centers 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:
-
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)
IMAGE was completely developed using a Lt. Kernal drive, using LUs 0 to 9, so is completely compatible with this drive in all respects.
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.
Commodore 1650 |
Hesmodem II |
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 |
See Modem Configuration for more information on setting the BBS up for your particular modem or telnet bridge.
Note
|
The modem routines in IMAGE BBS are contained in individual modules, so if a modem is not supported, it is very likely that a module will be written for it that will allow its use soon.) |
IMAGE BBS has been tested successfully on systems using REUs in conjunction with other peripherals. Version 4.2 (dated 07/14/87) 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.
This is a short file explaining how to use auto RAMDOS for IMAGE or any
other application. There are four one-letter files for auto RAMDOS. Each
has to be on your REU setup disk along with any files you want to copy to the
REU when you boot. In the case of IMAGE, you might want to copy all system +.
files and sometimes the s.
files, depending on how your BBS is configured.
load"r",_device_ run
The program asks if you want to initialize the REU. If you have turned the computer off since the last time RAMDOS was in, answer Yes to this question. The program will then set up RAMDOS, and load the file copier.
The file copier copies files with names longer than 1 character to the REU. It can copy RELative files, and also asks whether you want to overwrite files which already exist in the REU.
To boot Image BBS, type
load"image 1.2b",7,1
and away you go! Enjoy!
Note
|
JiffyDOS does not recognize device #7, so you can’t use Ctrl+D to
switch to the REU, nor can you boot with £image 1.2b .
|
Filename | Purpose |
---|---|
r |
Image BBS RAMDOS installer, modified by Jay Levitt for use with REUs |
f |
file copier, copies any file with a >1 character long filename to REU |
g |
(fixme) |
s |
RAMDOS binary |
TODO: expand this section with actual usage/setup info. The RAMDOS interface page is 207, I believe.
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.
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.
There are two files: ml.rs232/user
(for the user port)
and ml.rs232/swift
(for a SwiftLink or Turbo232 high-speed interface).
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.
At the present time, we recommend that no fastloader cartridges be used with IMAGE BBS, they may only cause problems.
Please give any information about other fastload solutions you have success with using.
If you want physical 1541/1571/1581 disks sent through postal mail, please send an e-mail to sym.rsherwood@gmail.com, specifying the format(s). We’ll make arrangements regarding shipping cost—not that it’ll be much. My goal is not to make money off this—unless you want to donate some—but see a revival of one of the top Commodore 64 BBSes into common usage again.
Now that you are ready to set up IMAGE BBS, we recommend you first back up your original disk (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 assist 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.
IMAGE BBS is designed to use up to eight drives, and possibly use even more with limited functions. It will support:
-
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-255)
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 1541 disk drive, we highly recommend you use at least two, since you will find that disk and directory space gets used quickly.
Trust the docs when they say this. I suffered with one 1541 for years, then broke down and got a second one. It still wasn’t very useful without having 30 sets of floppy disks, because I ran a huge BBS.
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 are talking about the drive number (or partition if using a hard drive):
-
0/1 on a dual drive such as the MSD-2 floppy drive
-
partition 0-10 on a Lt. Kernal hard drive
-
partition 1-255 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” or “blocks free” mentioned here will refer to actual blocks used/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 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.
.
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:
+.
BASIC modules
++
ML modules
scn.
top and bottom sysop screen displays (idle screen, online user
screens, Image Terminal screens)
Tip
|
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, see Extended Command Set Editor.
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.
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. 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 I plan on addressing
in Image BBS 2.0 with the additions of CMD hardware detection (plus any
other hardware I can emulate or get ahold of). The ability to
issue DOS commands where appropriate is in the "General
Files"
section (which can contain message bases, text and plus-file
items in a single directory!).
A similar modification is possible for Image 1.2b, I just haven’t gotten much further than the planning stage; which is to say, just a bit further than the BBS editor quoting… sigh.
We’ll start by copying the files which the BBS needs to function to their proper system disks.
If you are using a floppy-based setup, you need to make a “boot disk,” from which you will load your IMAGE BBS. Just use a blank disk, and copy the following files onto it. This disk is used whenever you are re-loading (booting) your BBS.
Note
|
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.)
|
Whether you’re using a floppy disk or hard drive partition, copy the following files to the device you want to boot from:
Filename | Purpose/notes |
---|---|
|
Boot file (load"image 1.2b",device,1) |
|
Core BBS routines, written in BASIC |
|
Core machine language routines |
|
Swaps BBS text editor into place from RAM underneath ROM when needed |
|
BBS text editor routines |
|
Fast garbage collect; most are two seconds in length |
|
Print mode definitions (see Message Command Interpreter) |
|
RS232 communication ML, renamed as above |
|
Title screen graphic file |
|
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.
.
Note
|
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 the following files beginning with
.` (don't forget `.modem
),++
, andscn.
. Also,ml.ecsdefs
should be copied here in order for the default Extended Command Set definitions to work properly upon bootup.
Filename | Purpose/notes |
---|---|
+.modem |
Modem communication routines; rename as necessary |
+.lo |
Idle screen (waiting for call) plus-file |
ml.ecsdefs |
Extended Command Set definitions (see Extended Command Set Editor) |
scn.* |
Text and color information for screen masks |
If you are using a user port modem, rename ml.rs232/user
to
ml.rs232
. If you are using a high-speed modem or telnet bridge
program, rename ml.rs232/swift
to ml.rs232
.
config
may be modified in the future to make this procedure automatic.
The user files are created during the first-time configuration process; directory and e-mail files after your BBS is up and running.
It is fine to put these boot files on your System disk, assuming you have sufficient drive space.
Now you are ready to configure IMAGE BBS!
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.
You begin by loading the configuration program from your back-up disk (side 2 of a 1541 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
. 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.
To select an option, use the crsr 🡡 and crsr 🡣 keys. To change the value the highlight bar is on, hit Return.
You can usually back out of a menu option by pressing ←.
Use this procedure with any menu item in the configuration editor.
The first menu selection helps define the devices and drives you have to
run your BBS on. Selecting the Devices/Drives
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.
After this configuration editor was written, New Image Software developed improved handling regarding the message bases and file transfer areas. Called the TurboRELs, they can be configured while on the BBS via the “RELedit” system.
Note
|
If you’d like to join the BBS network, you must use the TurboRELs, instead of the older SEQuential style message bases created by this configuration editor. |
You can start off with this older message base system and upgrade later, there are conversion programs included on the TurboREL disk. TODO: add notes about converting
See The RELedit System for more information.
You also enter a subop (sub-board _op_erator; 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.
You should now define your access groups. There are 10 groups, numbered 0-9. Each access group can have different capabilities as you wish.
All new users signing on to the BBS are automatically placed into group 0.
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.
The parameters for each group consist of:
-
Group name
-
Time in minutes permitted per call (1-99 or 0=infinite)
-
Number of calls permitted per day (1-254 or 0=infinite)
-
Amount of time permitted idling (no activity at a command prompt) (1-9 minutes)
-
Number of downloads per call (1-255 or 0=infinite)
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
.
Note
|
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.
|
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.
The 15 flags assigned to each access group:
Flag | Type | Purpose |
---|---|---|
Non-Weed Status |
Yes/No |
Yes: Group is not deleted from the user log after not calling for a specified number of months. (See AutoWeed system.) |
Credit Ratio |
Numeric |
The number of credits awarded (1-9) per line written in a post, response or file block uploaded. Default ratio is 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, 2=30…) group has available to write messages, e-mail, or feedback. |
Unlimited DL Credit |
Yes/No |
Yes: no credit is deducted when files are downloaded. |
Remote Maintenance |
Yes/No |
Yes: can write or remove forced e-mail, view feedback, and 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 BAR Stats or daily system 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, validate, award credit to users in the U/D section. |
MCI Access |
Yes/No |
Yes: group has access to the 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. |
You must then assign access to each of your boards/libraries. Access is calculated using the following method, which is used throughout the BBS. To determine which groups can access a given sub-board/library, add the group’s access value:
Group | Value |
---|---|
Group 0 |
1 |
Group 1 |
2 |
Group 2 |
4 |
Group 3 |
8 |
Group 4 |
16 |
Group 5 |
32 |
Group 6 |
64 |
Group 7 |
128 |
Group 8 |
256 |
Group 9 |
512 |
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 group value.
Note
|
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.
|
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.
Credits are points that users accrue or lose depending on their actions on the BBS. They earn more by uploading files, posting bulletins in the message bases, playing games, the credit exchange and possibly by other methods. They can also be awarded by the sysop for no good reason! The final selection here is to set the number of credit points new users receive when first signing up to your BBS. This can be from 0 to 65,000, but we assume most sysops will not want to assign that many to new users.
This information is assigned to user #1, the sysop account.
A period 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.
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.
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. 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.
This completes the configuration of the BBS! You can now select "Exit Configuration Editor" and choose the appropriate option:
Exit To BASIC
Boot IMAGE BBS
Cold Start BASIC
Main Menu
(If you change your mind, you can still escape with ← or Main Menu
.)
For now, let’s select Exit To BASIC
and continue with setting up the modem.
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.
If you’re hosting your BBS via an emulator fixme…
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:
-
Baud rate 0 = 300 … 5 = 19200
Pick the highest rate your modem or telnet bridge supports.
-
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 RS-232 interface in the expansion port.
-
0 = Auto answer (
ATS0=1
) 1 = Manual answer (ATA
)
-
0 = ATH 1 = No ATH
This refers to whether your modem includes ATH
in its command set.
-
0 = Local off-hook 1 = Not
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?
-
0 = ATH0 1 = ATH
This is just a matter of semantics: does your modem use ATH
or ATH0
to hang up?
-
0 = Hang-up in modem reset 1 = Not
Choose whether to hang up when resetting the modem.
-
Value for
ATX
This controls the number of error reporting (1-4) codes used by the
modem (VOICE
, ERROR
, etc.) It is usually left at 4.
Table : Typical modem result codes
-
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 [1]. Some modems have the logic reversed; if bringing DTR high (toggling it on) signals a disconnect, and then select “Reversed.”
tcpser
is a telnet bridge program which can interface with either a real
Commodore 64 via a serial cable, or an emulator. It was originally written by Jim Brain,
and a slightly updated version can be downloaded from FozzTexx’s GitHub repository:
Note
|
Even if you’re using Windows, its COM x : nomenclature is replaced by
Linux’s /dev/tty x. COM1 is equivalent to /dev/ttys0 .
|
tcpser <1> -d /dev/ttyS0 <2> -p 6400 <3> -s 19200 <4> -i"e0v0h0x4&C1&D2&K3" <5> -l7 <6> -tSsiI
This suggested command line for tcpser
means:
-
use serial port 0
-
use incoming telnet port 6400
-
report the modem connect rate at 19200 kBPS
-
initialize the modem with the following string
-
log events at level 7
-
and show incoming and outgoing RS232 and TCP/IP traffic.
Note
|
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 expansion port interface, you can increase
the -s
value to something more appropriate.
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.
FIXME: add mention of DTMF/dial sounds, creating 2 virtual modems to bridge real C64 and VICE
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 say 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.
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:
Expansion port; plans are available at http://www.go4retro.com/projects/link232/
-
User port; available soon from http://www.commodoreserver.com/
-
A SwiftLink clone available from http://gglabs.us/.
Tell the seller it’s for hooking up to an Image BBS. This makes sure all the control lines are wired correctly.
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:
*fixme*
First, insert your boot disk into the proper device. (We assume device #8 here.) Type:
load"image 1.2b",8,1
Sysops with Lt. Kernal hard drives may rename image 1.2b
to
autostart
and have an auto-booting BBS.
Sysops with Commodore 128s and CMD hard drives may rename image 1.2b
to copyright cmd 89
, if the partition selected at power-on contains
this file. You also need a program which sends the 128 into 64 mode.
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 : Startup files FIXME
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.”
Tip
|
System won’t start? Need troubleshooting help? There’s a good discussion about files needed in The Boot Process. |
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: see The Lightbar for more information.)
Press almost any key, or receive an incoming call, and the screen will turn back on.
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.)
Tip
|
If you have a Creative Micro Designs hard drive and you want to
automatically set the BBS clock at startup, see Automatic CMD Device Clock Set. This
shows you how to modify the setup program to poll CMD devices with
real-time clocks (and perhaps LtK drives).
|
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:
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:
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:
|
Text output is paused |
|
The BBS is swapping parts of itself from undeneath ROM into RAM |
|
String garbage collection is taking place |
|
The user has hit / or Space to abort text output |
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 on the call 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.
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, described on page fixme.
You may toggle this “screen mask” on or off using F1, or a programming
command (see 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. The functions are as follows:
Key | Purpose |
---|---|
← |
Image Term |
1 |
Set time/date |
2 |
|
3 |
System disk blocks free |
4 |
Large clock |
5 |
Update free memory |
6 |
Reset modem |
7 |
Reserve BBS |
8 |
View today’s activity log |
+ |
Turn modem speaker on |
- |
Turn modem speaker off |
Shift+A |
Force nightly AutoMaint |
Shift+N |
Force nightly NetMail processing |
Space |
Redisplay current screen |
£ |
Manually answer modem |
TODO: explain these options
The fifth screen line is referred to as the lightbar.
This line monitors and changes many features of the BBS.
It displays eight abbreviations per page (there are two pages) for functions or options on the BBS.
Check marks on one, both or neither side of the option indicate the state of a particular feature or setting is enabled.
It is light gray and has a “lit” white portion indicating the current function or option you can change the behavior of.
Most options can be toggled locally by the sysop at the console, or remotely through utility programs (+.lb move
, discussed in Miscellaneous Plus Files).
This is handy for remote maintenance when you can’t be at the console).
(If the screen has blanked itself due to inactivity, it is restored when you receive a call or hit a key on the keyboard.)
Key | Purpose |
---|---|
f1 |
Toggle screen mask on/off |
f2 or f4 |
Toggle lightbar page |
f3 |
Move white highlight left, switch pages if necessary |
f5 |
Move white highlight right, switch pages if necessary |
f7 |
Toggle left check mark of highlighted selection |
f8 |
Toggle right check mark of highlighted selection |
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.
Option | Left | Right |
---|---|---|
|
Enable sysop chat availability. If the user enters C at any major prompt, three sirens will sound. Reason for chat is logged. |
Enable BASIC line execution trace. Slow down with Shift or Shift-Lock. Normally only used for debugging. |
|
Change access level of user. f3 increases level, wraps from 9 to 0. f5 decreases level, wraps from 0 to 9. f7 exits. |
Disable 300 baud users from logging in. |
|
Log in to the BBS from the C64. |
Enable “pseudo-local” mode. Gives access to certain maintenance commands. |
|
Add or subtract time remaining
for user. f1 zeroes time (log
off when able). f2 gives
unlimited time ( |
Toggle Prime Time status. |
|
Enable chat mode. |
Enable local bells, i.e., bells sent to the user are heard on the console also. |
|
Disable |
Disable screen blanking mode. The screen is visible between calls. |
|
Prints text output to a printer. |
Prints log entries to a printer. |
|
Prevents users from entering the U/D section. |
Prevents 300 baud users from entering the U/D section. |
The second page of lightbar options is as follows:
Asc Ans Exp Fn5 Fn4 Fn3 Fn2 Fn1
Option | Left | Right |
---|---|---|
|
Enable ASCII translation. |
Enable linefeeds. |
|
Enable ANSI[2] translation. |
Enable IBM graphics. |
|
Enable Expert Mode (skips most entry screens). |
Enable main prompt macros [3]. |
|
Enabled: user receives credit when upload is validated. Disabled: credit awarded after file uploaded. |
Enabled: user asked whether to |
|
Undefined. |
Undefined. |
|
Undefined. |
Undefined. |
|
Undefined. |
Undefined. |
|
Undefined. |
Enabled: MCI is not interpreted. |
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:
Name of Column 1 | Name of Column 2 |
---|---|
Cell in column 1, row 1 |
Cell in column 2, row 1 |
Cell in column 1, row 2 |
Cell in column 2, row 2 |
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, the BASIC line number currently executing appears in the left half of this window.
Note
|
mention BASIC token after line number |
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 (see Other
&
Calls for more details)
The final section of the bottom line is the Transmit (T:) window. This displays the last 10 characters sent to the modem.
You’re now ready to go on line 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.
-
Use the f3 key (moves the white highlight left) and/or f5 key (moves the white highlight right) to highlight the
Loc
position on the lightbar. -
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 or unplug it from the modem 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 to hit their backspace (delete) key to detect 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
. Actually, 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 board 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.
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 immediately taken to the
main prompt.
A RES, or REServed, user is one that you have set up an account for already
using the RS
or ED
commands on the BBS. (Perhaps you won’t be around to
validate the user, for example. See the fixme section 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.
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 Y, 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:
-
General information: handle, real name, password
-
Terminal parameters: computer type, column width, linefeeds, etc.
-
Miscellaneous questions: address, occupation, baud rate, etc.
-
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.
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, this may change:
perhaps be made optional, or at the very least more configurable. It
knows whether the sysop is in PAL- or NTSC-land, plus does timezone
offsets, so maybe that will figure into the equation.
This is used as an extra security measure. If this question is missed, the same procedure regarding the s.errmail and e.telecheck files above is taken.
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 : Login activities
Once all of this has been completed, the user is placed at the main command level.
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 (see Write File command for this. It will give 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).
Tip
|
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 to edit your file instead, 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.
Filename | Purpose |
---|---|
Cell in column 1, row 1 |
Cell in column 2, row 1 |
Cell in column 1, row 2 |
Cell in column 2, row 2 |
To create or edit these files, use the WF
option (see Write File)
at the main command level. You can also use the .Put and .Get options
in the editor. (See The IMAGE Text Editor for more information.)
Note
|
The next two sections need not be done if you have already configured your sub-boards, libraries, and access groups with the config program. |
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 UD libraries, and 30 UX 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. -
At the
Run: +.
prompt, type reledit. -
Hit Return to run the specified module.
You can define or change your access groups on-line if they have not been previously defined.
At the main command level prompt enter R and run the file access at the “+.” prompt. 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 as well as 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), and how many downloads can be made per call.
Now your IMAGE BBS v1.2b is ready to go on-line for calls! You may wish to post a few bulletins and news files to get the BBS started.
We hope you like your BBS, and welcome your comments and suggestions.
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 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.
C requests a chat with the sysop. A short (38 character) reason for chat is requested; the first sixteen characters of that is displayed at the bottom of the sysop’s 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 the left side of Sys
is not checked, 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.
To answer the chat request, or enter chat mode at almost any place on the BBS,
check the left side of Cht
. To exit chat mode, uncheck the left side of Cht
.
The BBS displays
``* Entering Chat Mode *``
and let you and the user type whatever they wish. It’s useful to hit Return twice at the end of your message to each other; it lets the other party know it’s their turn to type now.
If the user is in the BBS text editor after chat mode is exited, an additional message is displayed:
``* Returning to the Editor *``
and any text in the buffer is waiting for them.
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. (VF is described more on page [63](#anchor-292).)
? 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 present, depending on the file’s length). At this prompt, Y (meaning yes) continues, most others mean no and stop reading the file.
If the user is not at the main prompt, the main menu is then read.
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.
The last call date is used to determine which messages on the BBS will be displayed as new when a “read new messages” command is given. If a user needs to log off before they can see all new messages, the next time they call, they can use LD to move their last call date back to the date of their last call.
O will ask if the user really wants to log off (type Y to do so), asking if they want to leave feedback first.
O% saves the last call date, in case they did not read all the new messages in the message bases.
O! logs off instantly, without prompting for feedback.
O% and O! may be combined: O%! logs off instantly and saves the last call date.
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, like O.
T displays the current time, the time the user logged on, and the amount of time remaining on the BBS this call.
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, and change their account password.
PM toggles prompt mode on or off. When on, and 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.
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
Then the user is asked if they wish to view this information again. If not, they are returned to the BBS.
SY reads a random “saying” or “fortune,” such as the one read at logon,
from the RELative file e.say
.
LG lets designated users read the daily log, listing what activities callers have done on the BBS.
BA lets designated users view the Board Activity Register stats as shown between calls.
TODO: insert graphic/table of BAR screen here |
AT chooses between Commodore Color/Graphics, plain ASCII, and ANSI graphics modes. This option is saved to the user file when logging out.
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.
NU reads the s.new user
file, displayed when a new user logs on to the BBS for
the first time.
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.
Any of the main commands entered at any prompt can be “stacked” by using 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:
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 them.
See the “MACS” command on how to automate command stacking.
Additional commands available at all major levels of the BBS include those which go to any other subsystem. In other words, a user need not exit to the main command level from the sub-boards before going to U/D’s or PlusFiles, but can enter that area directly by typing the command.
Commands which behave this way include:
BB Bulletin Board listings
EM E-mail subsystem
MF Movie Files subsystem
NF News Files subsystem
PF PlusFiles subsystem
SB Message base subsystem
TF Text Files subsystem
UD Upload/Download subsystem
UL User Listings
UX User Exchange subsystem
VB Voting Booth
Each of these commands take the user to a separate subsystem of the BBS, which will be discussed in an upcoming chapter.
Since several subsystems share similar commands and usage, this section outlines them.
When a user enters the subsystem or a SIG, only the sub-boards/SIGs that their access group can go to are loaded into memory.
So, if you have five sub-boards, but a user logs on with an access group which can only access boards one and five, they’ll see only two boards, re-numbered as 1 and 2. In this way, they aren’t aware that other areas exist which they can’t access.
A user can list which sub-boards they have access to when they first enter
the SIG by typing L
(optionally followed by the board number to start the listing
from).
If they are subop of a particular sub-board, the board name is preceded
with a >
.
If you have set up Special Interest Groups, only SIGs the user has access to are displayed. In this way, they are not aware of areas they cannot access. When they get the "What SIG?" prompt, they may type either:
-
The SIG number by itself
-
The SIG number, a comma, and the board number within that SIG (this works for SB, UD, and UX subsystems)
For example, if a user responded to the "What SIG?" prompt with "4,10", they are taken into SIG \#4, Sub \#10 (or U/D \#10, etc.), assuming they have access to it.
When a user enters a SIG number that is too high, the available SIGs are re-listed, instead of exiting to the main prompt.
When a user enters a sub-board/library number that is too high, available boards are re-listed.
Pressing Return at the Which Sub (or U/D or U/X)?
prompts
return the user to the list of available SIGs. (If SIGs are not active,
they exit to the main prompt.)
A user can change the current sub-board by:
Entering the new sub-board number at the "Sub \#x: " prompt
<
or ;
takes then to the previous sub-board
>
or =
takes them to the next sub-board
If a number is typed after the previous two commands, (ie, >>4
or
<<5
) the user is taken to the previous/next SIG, plus the
specified board number.
If a user moves to a board they are subop of, they are informed of this.
If a move cannot be made, the user is told the board number they requested does not exist.
This is IMAGE BBS’s public message base, where users can write messages about anything they want, replying to other users in “threads” which keep responses organized. Users access message bases by typing SB at most prompts.
If the user knows which SIG they want, they can combine the SB command and the SIG number:
SB3
This takes the user to SIG 3, assuming they have access.
If the user knows which SIG and sub-board they want, they can combine the SB command, the SIG number, a comma, and the sub-board number:
SB3,2
This takes the user to SIG 3, sub-board 2, assuming they have
access.
Upon entering the message bases, the file s.SB
is read, regardless of
their expert mode setting.
If SIGs are set up, the SIG list is shown. They get a Which SIG?:
prompt. As above, if the user knows which SIG and sub-board number they
want, they can enter them here, as above (example: 3
or 3,2
).
Upon entering the board, they are told:
-
How many bulletins there are
-
How many have new responses since their last call date
-
Total number of responses
The Quit function (in the [P]ost [N]ext [Q]uit
prompt)
now clears any stacked commands. This is for the people who have stacked
commands and then in the middle of reading the posts remembered they had
to do something (i.e., kill a post, weed the Subs, etc.) but were locked
into a command stack. Now they are not.
-
Response titles are now available in the Subs. Setting the variable RT to 1 in line 901 of
+.MM.sb-post
will turn the ability to title responses on (it comes with RT set to 1). The response system is 100% compatible with older posts and no conversion is necessary.
A new version of the +.NM.netsub
files will soon be available
that allows the response titles to be transferred to other NetSub boards
as well as to allow "overflow" NetSubs to be defined.
Setting RT to 0 will not prevent any existing response titles from being
displayed, nor will it block NetSub response titles from being shown
once the new +.NM.netsub
files are released.
The RT variable only controls the user’s ability to title responses on your board.
Scanning bulletins lists information about each bulletin in the following format:
[Num] [Rsp] [Stat] "Post Title" (1) (2) get '/hi' do (2) (3) "Hello World!" end
-
Number
-
URL mapping
-
Response block
-
The number of the bulletin
-
How many responses have been made, if any
-
The bulletin’s status:
-
|
New bulletin since last call date |
|
New response to bulletin |
|
Bulletin is frozen, no response possible |
` --- ` |
Regular bulletin |
-
The bulletin’s title (in quotes)
Typing S begins scanning at either the first bulletin, or after the bulletin most recently read on the sub-board.
S x starts scanning at bulletin #x.
/ or Space abort a scan at any time.
This displays the
-
Subject
-
Author (and node number if in a NetSub)
-
Date and time of creation
-
Number of responses to a bulletin
-
Date and time of the latest response
Typing A tells a user about the bulletin following the one most recently read or manipulated.
A followed by a number finds out about that specific bulletin.
This displays the same information as the “About” function, but reads the text body of the message, followed by each response until the end of the thread (group of bulletins under that title).
Typing R (or just pressing Return) reads the next bulletin in the sub.
R x reads bulletin #x.
While reading a bulletin, a user can:
-
Press Space to skip to the next response in the thread
-
Press / to skip directly to the end of the bulletin.
Once at the end of a bulletin, a user has several options in, appropriately enough, the “end-of-bulletin” prompt (only displayed if the user’s Prompt Mode is enabled):
-
Press Return to continue to the next message in the sub-board
-
P sends a private e-mail message to the user that posted the original message
-
R responds to the post
-
O reads the post over from the beginning
-
Q or / stops the
RN
orRA
function -
K lets a SubOp or Sysop kill the post. The original poster may also kill the post, if there are no responses.
-
F toggles the bulletin’s “frozen” status (if the user is the original poster, or the user is a SubOp or Sysop)
-
? brings up a menu of these options.
The following commands work on the current sub-board, with messages considered new since the user’s last call:
Command | Purpose |
---|---|
|
Scan for new messages |
|
About message #x |
|
Read new messages |
To stop an RN
in progress, press / while reading a message.
To read or scan new messages on the current sub-board, plus all
higher-numbered sub-boards, type RA
or SA
, respectively.
To stop an RA
or SA
at the current sub-board, press /.
During an RA
, if the user reaches the last sub-board and has any stacked
commands remaining (for example, RA^UD
), the [P]ost [N]ext [Q]uit:
prompt is displayed to allow the user to post to the last sub-board before
executing the next stacked command.
If a user types P and there is room in the directory (a limit of 60 posts per sub-board exists), the user is asked for the post’s title. If this title is unique to the directory, the user is asked:
If they wish to post anonymously, if the board is not set up to be non-anonymous. If they elect to post anonymously, the author will appear as:
-
Anonymous
to normal users. -
*
followed by the user’s handle (e.g.*PINACOLADA
, to users with subop, sysop, or sub-board maintenance access.
The user is then placed into the BBS text editor subsystem to write their message. .S on a blank line exits, as usual.
This removes the original post concerned, along with all its responses, from the sub-board and its message directory.
K begins listing all bulletins starting with the first one
K x starts with bulletin #x
The user is asked whether they want to kill the bulletin:
Y)es N)o A)bort or S)tart
K followed by a number begins the listing with that number, offering the same choices. Once the end of the list is reached (or S is typed), the directory is re-written to disk.
A regular user can kill their bulletin only if there are no responses to it. Once responses are added, only a subop can kill it.
There are two more commands available to persons with SubOp access (SubOps, Sub-board Maintenance and SIGOp access users).
KO
Lists any messages in the SB section older than the maintainer’s last
call date, giving them the option to kill them.
KA
The same as KO
, but is automatic—it will not ask if you want to
keep the post(s) killed, so be very careful with this command!
Remember, these commands are keyed to your last call date, so use LD to set the cutoff date for deleting old messages first.
To edit a previously written bulletin, type E x (x is the bulletin number to edit). The bulletin is opened, and the BBS searches through the thread for messages that the user can edit (if they are the author, or sub-board operator).
If such a message is encountered, the user is prompted with:
K)eep, D)elete, R)ead, E)dit, or A)bort:
Command | Purpose |
---|---|
Keep |
Keeps the message with the thread |
Delete |
Removes the message from the thread |
Read |
Re-reads the current message |
Edit |
Take the user to the editor subsystem to edit the message |
Abort |
Return the user to the sub-board prompt. |
In the Edit function, SubOp access users have an added command: (K)ill
Old Resp.
This function first asks if you want to auto delete old
responses:
-
No asks for confirmation before deleting each response. (A aborts the operation, but any deleted responses stay deleted!)
-
Yes deletes any responses made before your last call date.
Both functions stop when they reach responses posted on or after your
last call date. Remember, this function is tied to your last call date,
so use LD
to set the cutoff date first.
Also remember, the Auto Delete function cannot be aborted once started and is only available to SubOp access users!
To freeze a bulletin means to not allow further responses to be made to it. A bulletin can be frozen either when:
-
The user first posts the bulletin
-
The original poster, SubOp or Sysop can freeze the bulletin later (using the End-of-Bulletin Prompt)
To prevent bulletin responses when the post is first
written, begin the title with an up arrow (^) (e.g. type ^Frozen Post
).
The BBS reports this bulletin as frozen during a scan or About, and will not allow responses to be made to it.
Bulletins can be un-frozen by the original poster or a SubOp or sysop reading the message with Prompt Mode enabled, so you get the end-of-bulletin prompt. There, type F, which toggles the bulletin’s Frozen status. The current status is then reported, and the user is returned to the end-of-bulletin prompt.
V views the current sub-board’s operator
M sends a private e-mail message to them
Only sub-board or users with general sub-board maintenance can access this function. Type Z. The sub-board maintenance menu has two options:
-
Edit the entry file.
-
You have a choice between ASCII and C/G. A sub-board’s entry file is displayed upon entering the sub-board. If there is an entry file already, it is loaded into the BBS text editor. Use the usual editor commands, and type .S to save.
-
-
Edit board detail.
The user can change
-
Sub-board title
-
Sub-board type
-
Open/closed status
-
Access level required to enter the sub-board
If the user is in local or pseudo-local mode, they also have the option to change the current sub-board operator and device/drive assignment.
While defining sub-boards using the +.reledit
program, you may specify
any of your sub-boards to be:
Type | Meaning | Purpose |
---|---|---|
|
Anonymous |
Posts/responses are anonymous to other users |
|
Non-Anonymous |
Users cannot make anonymous posts |
|
Password, Anonymous |
Password required to access, anonymous posts are allowed |
|
Password, Non-Anonymous |
Password required to access, anonymous posts are not allowed |
|
Password-Protected |
A password is required to access the sub-board |
|
Standard |
Users are asked if they wish to post anonymously |
|
Networked sub-board |
Able to transfer messages to/from other BBSes |
Table : U/D and U/X types
EITHER:
>
You’re the subop
User has ability to edit/delete posts and generally maintain the sub-board.
-
A "password" board::
This requires a password to enter. The BBS asks any user that has access to that board for the password upon entering it. If they get the password wrong, they are asked if they want to try again.
If they guess wrong three times in the same call, they are not allowed to guess again. This can be used either for fun, by putting hints to a password up other places in the BBS, or to add a measure of security for certain boards that you do not want all users to access.
- An “anonymous” board
-
All bulletins and responses will show as anonymous, even to the sub-board operator and sysops. Great for those “war boards.”
- A “non-anonymous” board
-
No anonymous messages are permitted, and users are not asked if they would like the post/response to be anonymous.
This is from the documentation on the TurboREL disk, with slight modifications.
Image V1.2 REL SIG’s Upload/Download, Exchange Subsystems
Thank you for selecting the new U/D and exchange systems for use on your BBS. Many long hours were put into this software to make it the best system we could possibly offer. This documentation provides you with everything you need to know about the system, plus just a bit more. It consists of four general parts:
-
System Overview
-
Setup
-
Available commands
-
Sysop commands
The program makes available to you several new features which enhance your BBS to its maximum potential, including:
-
Enhanced board types
-
Separate password for each board
In the case of U/D’s or U/X’s:
-
Last download date
-
Local mode multi-uploads and downloads
-
Expanded “about” function
-
Online program reader
The User Exchange bases have all the same features above, plus:
-
The
E
command when downloading multiple files to select all files matching a selected pattern, with one easy keystroke.
A few variables can be set in line 1 of +.UD
: yy%
and it
. (They
are currently defaulted to zero.)
-
Setting
yy%
to 1 deducts credits for files read online. Settingyy%
to 2 deducts double credits, and so on. -
Setting
it
to 1 freezes the user’s remaining time on the BBS while they are in the U/D’s, giving it back at exit.
Some more things to consider:
-
If you have no SIGs defined, you are limited to 30 board names.
-
With SIGs defined, you are allowed 999 board names (30 libraries per SIG).
Toggling Fn5
's right check on, you activate the “no credit until
validated” feature of the BBS. This check mark can be toggled on or off
any time a user is online and uploading, until the point the End Of
Transfer
message appears.
-
If the check is off, the number of times downloaded is set to 0, and credits are awarded to the user according to their credit ratio.
-
If the check is on, the times downloaded is set to -1, but no credits are awarded until the file is validated by the subop or SIGop.
Toggling Fn5
's left check on activates the Log off after file transfer
complete?
prompt.
A, Ax When this option is selected, the user sees information about the file, including:
-
the date and time it was first uploaded
-
the date and time it was last downloaded
-
the type of computer it’s for
(If a C128 user views a file meant for the C64, they are told it is for the C128 in 64 mode.)
-
approximate download time
-
if any user-submitted comments exist for the file (and if so, the first one is displayed; a quick mod by Pinacolada).
After that information is displayed, the user is prompted with the following options:
C Comments read/add. This feature was written by DER DEUTSCHER. If the user would like to add a comment, they may.
D Download the file. If the user has selected a multi-file transfer protocol, this adds the file to the download queue. (fixme: correct?)
N Move to the next file in the directory; if they are on the last file, they wrap around to the first file.
L Move to the previous file in the directory; if they are on the first file, they wrap around to the last file.
M E-mail the file uploader.
R Read any file, whether SEQuential or PRoGram.
-
A program with a hexadecimal load addresses of:
-
$0401 (CBM PET)
-
$0801 (The Commodore 64’s BASIC 2.0)
-
$C101
-
$4001 (The Commodore 128’s BASIC 7.0 (fixme))
display the program just as if LISTed with that computer’s respective version of BASIC.
-
You can also opt to display “control characters” such as clear/home, delete, or color codes in quotes in an expanded, easy-to-read format.
-
A program with any other load address (or a BASIC “head” and machine language “tail”) produces a “hex dump” like a machine language monitor would:
MMMM HH HH HH HH HH HH HH HH PPPPPPPP
MMMM
: Memory address
HH
: Hex value of each byte
PPPPPPPP
: PETSCII code of each byte
Tip
|
Discovered recently: This also works in 80 columns! |
-
As previously mentioned in the setup of the U/D system, credits can be charged for reading programs online by setting the variable
yy%
to the number of credits you want subtracted per block read.
For users with maintenance access:
U Unvalidate a file, taking back credit for the upload.
V Validate new uploads.
For the user who uploaded the file:
E Edit the file (computer it’s for, and filename)
All commands selected here, including Download, return you to the same file in the listing you were on before selecting the command.
Hitting Return (or any key not listed/not applicable to the user) aborts the About function.
S Scan files normally
This has been enhanced to use both 40- and 80-column screens. A normal file scan will list files in this format:
\### Bk’s Dl’d Name
----------------------------
001 [200] [001] "file.txt,s"
----------------------------
From left to right, the columns represent:
001 |
The number of the listing in the directory |
---|---|
|
The number of Commodore 254-byte disk blocks (or Kilobytes if using another computer type) |
|
The number of times the file has been downloaded |
|
The filename and file type. Unvalidated files have a * in front of the name, if the user is the uploader or subop. |
After all files have been selected, the total estimated download time is displayed to the screen with a new prompt allowing you to:
Scan selected files
Download selected files
Clear list and restart
Kill a file from the list
(All other user features are the same except having been moved into mini-plus files to make the system easily expandable.)
SS Sorted scan
The scanned files can be sorted by:
-
Size
-
Number of times downloaded
-
Alphabetically
DM Download Multiple Files
As with the D command above, this command now shows a complete description of each file:
UM With the Copier protocol loaded, the BBS gives you a directory of the designated drive of the current U/D board. You are prompted to select either:
[Y]es, [N]o or [A]bort
(This is similar to downloading multiple files in the U/X base.)
After all files have been selected, you are prompted:
Manual or Auto descriptions?
-
Auto descriptions asks you for one description for all files uploaded.
-
Manual asks for a separate description for each file uploaded.
-
Sysop commands are now active whenever the Copier is loaded as a
protocol, not when local or psuedo-local modes are on. In addition, if
you are logged onto the BBS from console mode, you are forced to use the
copier. Anyone accessing the BBS as a sysop must turn on pseudo-local
mode to use the copier with the PR
command.
Vx, VN The Validate
or Validate New
commands allow you to validate all
uploads to the current U/D library.
If the “no credit awarded until file validated” option (left Fn5
is
enabled) is active, you may type % to award a percentage of credits
to the user for uploading the file.
(fixme: until validated?)
Otherwise, the full amount of credits is added to the uploader’s account.
UM
If the copier protocol is loaded, to Upload Multiple files you are
prompted for a pattern. (Return defaults to *
). You are prompted with
each filename matching the pattern, and have the ability to reply:
[Y]es [N]o [S]tart or [A]bort
When all files have been selected, you are given a list of files
selected, then an Are You Sure?
prompt.
\* Yes continues with the multi-upload.
\* No aborts.
DM
Just like the Upload Multiple command, you can also Download Multiple
files from the current library to the destination drive of your choice.
AS
Users can apply for access as the subop of the current board if there
is not currently one assigned.
AC
Any user with subop or remote maintenance access may add up to 500
credits to any user’s account.
IDx
Displays user information just like the UL user list. Posts,
responses, uploads and downloads are shown to subops and SIGops.
A few notes:
-
The current protocol is saved to the user’s stats by using the variable
UL
(which was previously used for upper/lowercase flag—not needed but still supported in the user file).
\* Any C-64 or C-128 user who currently has this flag set to 1 will have a default protocol of Xmodem. Be sure to inform your users of this when you put the system up. Once they change their protocol to Punter, it will remain Punter unless they change it.
This is the IMAGE BBS "file transfer base." All users read the file
s.UD
when entering the U/D section, regardless of whether they are in
"Expert Mode" or not. (fixme: correct?)
The user is shown the:
-
Total number of files in the directory
-
Number of new files uploaded since his last call
-
Total number of credit points they have
-
Current protocol in memory
-
Blocks free if in local/pseudo-local mode (fixme?)
If they are the library’s subop, they are informed of this.
If a move cannot be made, they are told the requested library number does not exist.
N displays the name of the current library.
Libraries which a user can access are listed by typing L.
PR New Punter, Slow Punter (for noisy telephone lines) and Xmodem-CRC/1K protocols are available for use with IMAGE BBS. Commodore 64/128 and Amiga users default to Punter; all others use Xmodem.
\[I have no idea what Starlink is, but I’m including this info anyway:\]
"Slow Punter" has relaxed timing that works very well with Starlink. If your BBS is reachable by Starlink, people will be able to use the "Slow Punter" for file transfer, or you can use it to call boards using Starlink.
Note
|
These protocols have been updated for IMAGE v1.2a, and are very efficient. We think you’ll be very happy with them. |
Each library allows a maximum of 60 files. The user is asked for information describing the file, which is saved along with their handle, ID number, and the current date and time. They receive credit points at the ratio of whatever his access group or flag allows per block uploaded.
There is also an option to add a file comment, used to describe what the file is for. Other users can view this comment, and add their own.
(The user must be using the Multi-Punter protocol.) The BBS prompts:
Go to multi-send mode!
The BBS records filenames as they are received, entering them into the directory, along with the:
-
Uploader’s handle
-
BBS ID number
-
Current date and time
-
A description which says "Multi-Upload" (fixme: wasn’t this changed?)
Users may edit the entry to provide descriptions. Credit is given just as with a single file upload.
Note
|
Occasionally, noise on the phone line will cause multi-uploaded file titles to be corrupted. While impossible to prevent, it is a rare occurrence, and should not cause much trouble. You could just use the E option afterward to edit the filename. |
D, Dx Single File Download
Type D followed by the file number, from the main U/D prompt
Type D at the "About" prompt.
Note that a user can download a file if:
The files downloaded that call are less than the number of files allowed per call, as dictated by their access group settings, unless the user’s status includes unlimited downloads per call.
The time remaining is sufficient (to begin with; errors causing delays during transfers are ignored, since they can’t be known in advance).
They must have at least as many credit points as the number of blocks that the file contains, unless their status includes unlimited downloads (in this case, no credits are subtracted for a download).
The user is asked for a starting file number, then shown each file in the directory from that file number, and prompted
[Y]es [N]o [S]tart [A]bort
Each Yes selection: the approximate download time is shown for their baud rate. All the requirements to add the file to the download queue are the same as for downloading a single file. If everything is okay, they can continue adding files until they reach the maximum number of files, or choose as many files as they want to.
kbd:[\]tart: The BBS shows the list of files chosen, asking them to confirm the list. If they do so, they are given 20 seconds to go to receive mode, and the files will be transferred.
Note
|
Users can abort any file transfer in any mode and any protocol by sending [kbd:Ctrl+X] three times: that is, holding down the Control key and then typing the letter X three times. |
Scanning the file directory shows:
The directory file number
Number of blocks (or kilobytes, blocks divided by four) depending on the user’s computer type)
Number of times downloaded
Filename and file type (PRG or SEQ)
Several scanning variations exist:
S, Sx ……… Scan titles from first entry, or starting from entry \#x
SA ………… Scan titles uploaded after last call date (all libraries in current SIG)
SN ………… Scan titles uploaded after last call date (current library only)
SS ………… Scan titles sorted by:
-
Number of blocks
-
Number of times downloaded
-
Alphabetically
SU ………… Scan for unvalidated files
Space or / aborts.
A, Ax ……… About first file, or file \#x. This shows, in addition to information displayed by the "scan" command above:
-
The uploader’s user ID and handle
-
The date and time it was uploaded
-
The date and time it was last downloaded
-
The computer type it’s meant for
-
Comments about the file
A sysop, subop, or the user that uploaded the file may enter K followed by the file number to delete it from the file directory. They are also asked if the file should be scratched from the disk.
If they answer No to this prompt, an entry to the daily activity log titled Kill: plus the filename is made. If a printer is online, the same notation is printed there also. This shows a file on disk is not in the file directory.
When a file is killed, credit points are deducted equal to the number of points they were given when they uploaded the file.
A sysop, subop, or the user who uploaded the file may type E followed by the file number to change information about it.
(fixme)
A user may enter R followed by the number of the file to display a SEQ or PRG file. They may also select R when doing an "About" on a file.
(fixme: dupe)
Sysops, subops, and the user who uploaded the file can "see" all unvalidated (ie, not downloaded and/or tested) files. When downloaded and verified to be working files, they are validated, available for other users to download and add comments to. In the process of downloading a file to validate, subops:
-
Will not have credit deducted
-
The download does not count against the number of downloads per day (if not unlimited)
-
The time remaining is not checked when subops download in their own libraries.
Subops or sysops validate files by typing:
-
V, Vx to validate either the first unvalidated file (or file \#x)
-
VN to validate new files since their last call
-
VA to validate all files in the library
Unvalidated files will have a leading asterisk in the filename, and show zero for times downloaded:
### Bk’s Dl’d Name
001 [200] [000] *"file,s"
When a file is validated, the number of downloads changes to 1.
A user who uploaded a file that is not yet validated has full access to read or download it, but will not have the power to validate it (unless they happen to be the library’s subop).
If a user is in true local mode (from the console), when they enter the U/D subsystem, the "copier" protocol is loaded. To copy a file, type Dx (where x is the file number). The BBS tells them the approximate copy time, allowing a filename change, or to be copied to a different device/drive.
If no destination device is specified, it defaults to one number higher than the source device.
Note
|
Any device may be the target device, but this function will only copy files to drive #0.) |
If a user is in local or pseudo-local mode, type M and the file number. They are prompted for the new directory to move the file to.
\* L lists all available boards.
\* If the directory is to a different device/drive, the file is copied to that device/drive, otherwise only the directory entry is moved.
\* If the file is moved, an option is given to scratch the file from its source device/drive after the move is completed.
Full disk exchange operates very similarly to the U/D section, except files are not placed in directories, but directly read from the device itself (a floppy drive, for example).
UX is sub-divided into libraries just as UD is. Each can have its own subop, entry file, access and configuration. Multi upload and download functions the same as in the UD section.
Users may enter UX at most prompts to enter the full disk exchange area.
The file s.UX
will be read regardless of Expert Mode status. (fixme:
correct?)
A listing of files may be obtained by entering $ or S. The user is prompted for a pattern (if none is given, the default is \* for all files).
While defining libraries using the .reledit` program, you may specify
any of your libraries in the U/D or U/X to be FREE libraries; that is,
no credit is deducted from the user when he downloads from these areas.
To specify a FREE board, use the `.reledit
program or the Z command for
local maintenance.
In a FREE download board, the number of files per call and credit points are not checked prior to starting a download.
>>>
This is IMAGE BBS’s private mail section. If a user has access to this section, on logon they will be informed if they have mail waiting, and given the option to enter the e-mail subsystem at this time. Upon entering the mail system, they are told how many messages they have waiting.
A user may also enter the e-mail subsystem by entering EM at any major
prompt. The prompt for this section is E-Mail:
.
To obtain a list of the e-mail a user has waiting in the order they were
received, type L (or L x to begin listing at message #x)
at the E-Mail:
prompt. This reports:
-
Handle of the sender
-
Date and time the message was sent
-
Message subject
Return reads the first e-mail message (or the next message if the user has multiple messages in their inbox).
Once the last message is read, they are told No more mail.
R x reads message #x.
A reads all messages. All messages are displayed in succession.
Typing N reads any new messages since their last call.
This replies privately to the user who sent the message being read. After reading a message, the user is presented with several options:
Reply to <sender's handle>:
-
Yes: This replies to the sender.
(fixme)
R x responds to message #x from the list of messages received.
The BBS prompts for the handle or user ID number who will receive this message. If the ID number is entered, the user log is searched, and the handle (if found) is shown. The sender confirms this is the user they intended to send the message to, and are placed in the BBS text editor.
D prompts to delete messages. (fixme)
(The user is also prompted to delete messages if there are any left in the mailbox before either Quitting the e-mail subsystem or typing a command to change subsystems, like UD or SB. This encourages users to keep their mailboxes tidy and not use un-necessary disk space.)
When a user deletes their e-mail, they get the following prompt:
Delete [A]ll, [S]ome or [N]one of your mail?
-
All deletes every message held in their mailbox, after confirming an
Are you sure?
prompt with Yes. -
None keeps every message held in their mailbox.
-
Some goes through all messages in the user’s mailbox, prompting them:
[D]elete, [K]eep, [R]ead, [F]ile away:
-
Delete deletes the selected e-mail message.
-
Keep holds the message in the user’s mailbox.
-
Read views the message to help decide whether they wish to keep or delete it.
-
File away Removes the message from the user’s mailbox, but places it in a separate file on the e-mail disk. These stored messages can be later accessed with the
FR
(File Retrieval) command at the e-mail prompt, discussed now.
FR (File Retrieval) lets users:
-
Read previously “filed away” e-mail messages
-
Get a directory of their personal e-mail files with $
-
(fixme) is there a delete option?
Type V (and the user’s handle when prompted) to see how many e-mail messages they have, and how many are from you.
Type VE (then the user’s handle when prompted) to edit any e-mail you have already sent to that user.
A user with remote maintenance access may send “forced e-mail;” that is, e-mail which is displayed to a user when they log on to the BBS. It is unabortable, and cannot be deleted by the user.
The user creating this e-mail is asked whether they want to create or remove a “forced e-mail” file, and prompted for the user’s handle the forced e-mail is for.
When reading a forced e-mail file, if either of the last two lines contain the single word
ERASE
, the forced e-mail file is erased.
OFF
, the user is logged off immediately after reading the forced e-mail.
Note that ERASE
and/or OFF
must both be entered with all capital
letters.
The News Files are structurally different from the other file areas of the BBS—such as Movie Files or Program Files—and for that reason they are covered separately here.
NF at most prompts takes you to the News File library. Here, users can re-read BBS news files they see at login, and you can write new ones.
If you have "File Maint Access" the prompt reads News-Maint:
Otherwise, the prompt users see is News:
.
A adds a News File to the directory.
-
Enter the title.
This is shown to the user when they list News Files; it also names the file on disk where the news text is stored.
Note
|
If the filename begins with a |
-
Enter the access level of the News File.
-
Write the text of the News File in the text editor. When done, use .S to save the text.
All News Files are non-abortable the first time they are shown to a user.
E x edits entry #x. You may then change the information you entered using Add:
-
(fixme: news file name, whether it’s a repeating news item, and access level?)
and the News File text is loaded into the text editor for editing. When the file is re-saved, you can update the date of the News File so it again appears as a new News File.
Type L or L x (to list from x) at the prompt to list all news files available to that access level. Each is given a number, and if you have News-Maint access, you can also see access level information for that file.
There are four sections of IMAGE BBS that provide very different functions, but the sections themselves are functionally identical. They use the same routines and all of the same commands.
There are four separate types of files handled by the same program:
- Movie Files
-
SEQuential (text) files containing cursor movement, color, and uppercase/graphics characters, displayed if the user is in Commodore C/G mode). A delay between each character output can be set.
- Plus Files
-
Games or BBS utilities.
- RLE Files
-
Black-and-white, high-resolution graphics which require certain telecommunications or viewer programs. Graphics data is represented by ASCII text. Control sequences begin and end the file, telling the terminal or viewer to switch into or out of high-resolution graphics mode.
Note
|
RLE is short for “Run-Length Encoded,” and is a type of file compression. |
- Text files
-
Plain Commodore PetSCII text files.
Since the subsystem libraries may have sub-directories—and possibly sub-directories under those sub-directories—the number following the prompt refers to the directory level you are at. When you first enter a subsystem, you are placed in directory level 1 (the Main Directory).
(We’ll use <Subsystem>-Maint
as an example in this section, but the same principles apply
to the other library types.)
If you have “File Maint Access,” you start in <Subsystem>-Maint 1
. Otherwise the prompt is <Subsystem> 1
.
To enter a sub-directory, type the number of the item tagged (Directory)
.
If you’ve entered a sub-directory and wish to return to the “parent” directory (the directory “above” the one you are in), type B or < at the subsystem prompt.
M returns you to <Subsystem>-Maint 1
(the Main Directory) from any
sub-directory level.
Action | Type |
---|---|
You are in |
M |
You are in |
< or B |
MF at most prompts enters the Movie File library.
CS is the Change Speed command, which allows you to set the delay between characters output while viewing the Movie File.
Type the number (see List) of a file to:
-
read it (Movie Files, Text Files)
-
run it (Plus Files)
-
enter it (sub-directories)
To add a sub-directory, you must have “File Maint access.” Type A
at the <Subsystem>-Maint
prompt.
-
Enter the title.
This is the title the user sees when listing the directory. It has no relation to the actual filename about to be created.
-
Enter the filename.
Note
|
To create a directory, type d. followed by the sub-directory filename you want to have on the Directory disk. Image BBS will add a letter after the
If you are in the Movie File subsystem and enter d.movies,
the BBS adds |
-
Enter the access level(s) which see that sub-directory when listing the files available. Access is determined in the usual way; either from the chart shown in , or by typing ? and answering Y or N for each group.
-
Enter how many credits to charge users to access this sub-directory, if any. You can charge credits for:
-
entering the sub-directory, but make accessing the files free
-
viewing the files within, but not entering the directory itself
-
both entering the sub-directory and viewing the files within
-
Or you need charge nothing if you wish. It’s up to you! The credits charged here are put into the BBS-wide credit pool. Refer to [credit-pool] to learn how to set that up.
To add a file to a directory or sub-directory, enter the directory or sub- directory where you wish to add the file, type A at the prompt.
Here is a discussion of the following prompts:
-
Title: As above. Again, this is just what the user sees, and has no relation to the actual filename viewed when the item is selected.
-
Filename: Type the filename as it appears on disk. (In the PlusFile area, there is no need to type the leading
+.
, the program adds that automatically.) -
Device: Type the device number where the item can be found.
-
Drive: Type the drive number where the file can be found.
If you do not have a dual drive (or the file is not on a dual drive), just press Return.
-
Access: Type the access level you will allow to view this file. (Remember, you can type ? at the access prompt to let the BBS help calculate it.)
-
Credits: Type the number of credits (if any) you will charge users for viewing this file.
Killing a File/Sub-Directory
A maintenance only operation, K followed by the number of the file or sub-directory you wish to kill. You will also have the option of scratching the file referenced by the directory entry off the disk. Killing a sub-directory is not possible if there are files present in that directory.
QL lists the items in the directory like List does, but
QLeaving
To leave the file areas, Q takes users to the main command level, or type a command taking you to any other area of the BBS.
BBBBS Database Subsystem
This takes users to a bulletin board listing program that allows users to add, list, or delete the numbers for other bulletin board systems.
When first entering the system they are presented with a menu of options and arrive at the BBS database prompt dBASE:
Commands
The active commands for this module are:
L)ist BBS Numbers
Q)uit To Main Menu
D)isplay Notes
A)dd A Number
R)emove An Entry
E)dit An Entry
The last three options only appear if the user has post and respond capabilities.
L brings up another menu of options which allow users to narrow down the scope of the listing they would like:
Table : Bulletin board listing options
Space or / aborts any of the listings.
Typing this at the dBASE
prompt allows users with post/respond
capabilities to add a BBS number to the listing. They are prompted for
the complete information on the board they wish to add, including
-
The BBS name
-
Phone number
-
Baud rate
-
Hours of operation
Several characteristics of the BBS are asked about (and listed when a user lists that BBS):
-
- If it charges a fee
-
Has U/D areas
-
Has online dating, games or role-playing games
-
Is PC Pursuitable, networked, etc.
The database is checked for a duplicate under this phone number. If
there is one, the user is notified, and returned to the dBase
prompt.
After all prompts have been answered, the results are shown, and they can
-
change any answers they’ve given
-
continue and write the entry to the database
-
or abort back to the dBASE prompt
Adding an entry first uses any previously deleted entries, otherwise adds to the end of the list.
Only the sysop, a user with maintenance access, or the user that posted a number may remove it. Anyone else attempting to remove a number is told the entry can only be removed by the original poster.
A BBS name is prompted for. The list will be searched and if the entry was posted by the same user, it will be deleted.
A sysop or the user who posted a BBS number may edit the information. The program asks for the entry number to edit, checking to make sure the user has access. If so, they may change any information in the entry, and re-file it.
D brings up a listing of abbreviations used in the BBS listings. These include CBM for Commodore, etc.
The Voting Booth is fixme […]
VB takes you to the Voting Booth. If you have Remote Maint Access,
you see the prompt Vote-Maint->
, otherwise you will see
"Vote->".
If there are no topics available and you do not have Vote-Maint access, you are returned to the main command level.
A ADD A TOPIC
Only available in Vote-Maint. This allows you to add a new vote topic.
An explanation of the prompts:
\* Subject: Enter a short but descriptive title of the vote topic.
\* Access: Enter the access level this topic may be seen by. This is set as with other areas of the BBS.
Now you are placed in the IMAGE text editor. Type the question text.
(Do not include the answers, these are entered separately after you save the question text.) When done, enter .Save on the first column to save the text and continue to the next section.
Now enter the choices a user has for this topic, and a short amount of text which better describes this option.
There is a limit of 9 choices, after which the voting booth automatically saves the topic. If you have fewer choices, hit Return at the last one, and you save the choices then.
This function is only available to users with Vote-Maint access. Type K and the topic number (see LIST below) to be killed. You are asked to verify killing the topic. If you answer Y, the topic is killed from the Voting Booth topic directory, and erased from the disk.
Available to all users, typing the topic number allows you to vote on it (if you have not yet voted on that topic) and/or view the results.
The voting booth uses ID numbers and handles to keep track of who voted, so a user cannot vote twice on the same topic.
Available to all users, L lists all topics available to that user’s access level and the date each topic was created.
If you have Vote-Maint access, the access level for each topic is also listed.
Available to those who have their User List flag set, UL lists either all users, or a subset of users according to specific attributes.
A “quick list” shows you only the handle and user ID number. You can sort the user list one of two ways:
-
Numerically
-
Alphabetically
You can start listing at a particular user ID number or alphabetic character(s) depending on the type of sort you select.
To search for a particular user or attribute (or if you want more information than just the handle and ID), use this option.
Type the number of attribute(s) to search for, then fill in the information to narrow down the search.
When you are done, or if you wish to list all users, hit Return.
Next, type the number to start the listing from. The program continues from that point to the end of the user file.
Space or / aborts the list at any time.
If a user has remote maintenance access, the list shows all information about a user:
-
handle
-
ID number
-
last call date
-
computer type
-
area code and phone number
-
access group
-
real name
Otherwise, the list only shows:
-
handle
-
ID number
-
last call date
-
computer type
-
area code
The text editor is where any messages on the BBS will be entered. It works by letting users type anything they want to type.
This is a line-based editor; you cannot use cursor keys to move up and down a line like you can in most modern text editors/word processors.
Simply type it into the editor. There is no need to press Return at the end of each line as with a typewriter. Word wrap is implemented; this is a feature that automatically transfers a word for which there is insufficient space from the end of one line of text to the beginning of the next.
Several Control Keys are available while typing to help edit text.
As the sysop, you can define how many lines of text (in multiples of ten) a user can type into the editor. (See User Flags for more information.)
If a user enters the editor in local or pseudo-local mode, they are allowed 253 lines, and also shown how many bytes are free in the text buffer.
The amount of free memory is kept track of. If this amount becomes too small (less than 256 bytes), the message
`End of Memory`
appears, and you must type .S to save, or .A to abort.
When the text buffer is full, or if . is typed as the first character on a line, you enter Command Mode.
These are called “dot commands” because they begin with a . (dot)
as the first character on a line. They display
Command:
and wait for you to press another key. This is Command Mode.
-
If you press Delete or Return keys, the
Command:
prompt is removed, and you are returned to the editor. -
If you press an unrecognized command key, the editor exits to BASIC to check if you have added that command before assuming it is an illegal command. (The
+.WF
program uses this technique extensively. The “put”, “get”, and “view directory” commands inim
also use it. If you wish to program your own commands, we suggest you examine these files to see how it is done. No documentation is available for this as yet.)
If you press a key corresponding to a command, the editor displays the command, waiting for you to either:
-
enter a line range (or another character, for some commands).
Tip
|
A command accepts a line range when there is an extra space after it. |
-
or press Return to accept the command.
Most commands allow a line range to be entered after the command, just
like BASIC’s list
command. A line range can be specified in one of
the following ways:
Specifier | Meaning |
---|---|
x |
Just line #x |
x- |
From line #x to the end of the message |
x-y |
From lines #x to #y |
-y |
From lines #1 to line #y |
Any delimiter (comma, etc.) may be used in place of the -
, depending on
your preference.
The commands available in the editor are grouped into related commands, and discussed here.
There are two ways to get out of the editor:
-
The first way is to abort the message you were typing, with the .Abort command.
Warning
|
There is no confirmation, unfortunately. Yet. I almost have that fixed. |
-
The second way is to save the message with the .Save Text command.
-
Neither command requires or allows line ranges.
There are several options to view the text you have already typed:
-
First, the .Read command. This displays each line just as it was typed. Each color change character and MCI command is shown without being acted upon. This might be useful to “proofread” your message.
-
Next, the .MCI Read command. This interprets MCI commands, and displays color change codes.
-
Finally, you can also .List the text, which displays line numbers (used in line ranges for other commands), plus behaving like .Read.
If no line range is given for the .Read, .MCI Read or .List commands, all text in the buffer is read or listed.
You can pause text with Ctrl+S or Home keys at any time. Messages may be aborted while paused with Space or / keys.
.Delete removes lines of text from your message permanently; there is no “undo” capability.
-
Any line range you type after .Delete is removed from the buffer.
-
If no line range is specified, the last line of text is deleted.
.Edit changes lines of text. When a line is edited this way, the line number is displayed, then the text itself, just like the .List command does. You may then type the new line below it. (See Control Keys for useful editing keystrokes.)
-
Pressing Delete or Return as the first character on the line causes the editor responds with
(No Change.)
and returns to allowing text entry. -
Typing . as the first character causes
Command:Exit
to appear and abort the Edit command, once again allowing text entry. -
If no line range is specified, .Edit defaults to the last line of text entered.
The .Insert command enters Insert Mode. Any line number you specify after .I is where you start inserting lines. If no line number is specified, line #1 is assumed.
When you are in Insert mode, it is shown by displaying Ix:
, where x is
the line number you are inserting at.
As you type each line of text, text on subsequent lines is moved down in the buffer, then your line is put in its place.
You can exit Insert Mode by typing a . as the first character on the
line. This responds with Command:Exit
and goes back to the normal
editor.
The .Justify command allows you to format your text in one of 7 different ways. After typing the J command, you are prompted:
Justify (C,E,I,P,L,R,U):
These are the seven Justify commands. Press the key corresponding to which justification mode you want, or to escape, type (fixme: period?) Delete or Return.
If a valid command is selected, the editor displays the command name, and then allows you to enter a line range.
If you do not specify a line range, the Justify commands default to all text in the buffer.
The Justify commands are:
Command | Purpose |
---|---|
Center |
Center text within the current .Column width |
Expand |
Justify text within the current .Column width |
Indent |
Indent text a space to the right |
Packed |
Remove spaces added throughout the line by `E`xpand |
Left |
Align text to the left margin |
Right |
Align text to the right margin |
Un-Indent |
Remove spaces added by `I`ndent |
The .Border command puts a border around your text made up of a
character you specify after the Border Character:
prompt. If you do not
specify a line range, it will default to all text entered. If there is
not enough room on a particular line to add both border characters, that
line is ignored.
Tip
|
Set the .Columns width to 2-4 characters less than your current line width before typing the text to be surrounded by a .Border. |
Tip
|
If you want to undo a .Border command, there is an .Unborder
command in +.WF .
|
The .Columns command followed by a two-digit number between 22 (for VIC-20s) and 80 (for 80-column Commodore 128s, or ASCII/ANSI terminals) changes the number of characters the editor allows you to type on a line before wrapping text around to the next line.
If you do not specify a column width after the command, the current column width is displayed.
A related command is .. This displays a 40-column scale for manually centering text, among other purposes. There is no prompt for a line range; the scale gets displayed as soon as you hit .
The .New (Clear Text) command re-starts the editor, erasing all text you have typed.
Warning
|
There is no confirmation, unfortunately; something I plan on remedying in Image BBS 2.0! |
The .Find command allows you to search for any occurrence of a character, word or phrase. If no line range is entered, all text will be searched. Find will prompt you for the text to search for, and will list all occurrences of it.
The .K (Replace) command will prompt you for an optional line range,
then a Search Phrase:
as .Find does, but also ask what phrase
you want to replace it with. Then it will go through the text. If the
replacement phrase is too large to fit within the current line length,
the editor will display Too Big, Can’t Fit.
and skip that line.
(These commands are available from local/pseudo-local mode only.) The .Get and .Put commands allow you to load a file from, edit using all the normal editing facilities, then save that file to any device and drive, rename it, etc., and resave them to the same device/drive, or a different device/drive if desired.
Tip
|
See Local Mode Dot Commands for additional editing dot commands only available from local or pseudo-local mode. |
Certain key combinations are used to edit your text while you are typing it, whether in the BBS editor or at a BBS prompt. For example, any character that you delete with the Delete key can be “re-typed” with Ctrl+U. Other control keys:
Command | Purpose |
---|---|
Delete |
Move back one character |
Ctrl+B |
Delete to beginning of line |
Ctrl+D |
Delete character under cursor |
Ctrl+I |
Insert character under cursor |
Ctrl+N |
Move forward to end of line |
Ctrl+O |
Duplicate all text on current line |
Ctrl+U |
Re-type one character from buffer |
Ctrl+V |
Verify text in buffer (re-print input) |
Ctrl+W |
Delete previous word |
Ctrl+X |
Abort input [prints a British pound sign (£) on Commodore terminals, or a backslash (\) on ASCII terminals] |
Ctrl+Y |
Re-type word from buffer (move forward one word) |
The Message Command Interpreter (MCI) allows you to do a variety of things within messages you type. Each MCI command consists of:
-
the British pound sign (£) for Commodore users, or backslash (\) for other computers
-
a command letter (can be either upper- or lowercase)
-
a number or letter parameter
-
any additional parameters.
Since the parameter after a command is usually limited to one character, letters are substituted for numbers larger than 9, as follows:
Decimal | MCI number | Decimal | MCI number |
---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This next section was pretty extensively reworked; I think the examples in the original manual don’t always explain themselves very well.
Tip
|
If you ever need to output a British pound sign, type two of them. This is called “escaping” MCI. The first prepares to interpret the following character as an MCI command, but the second British pound sign cancels MCI interpretation and outputs a British pound sign. |
In general, MCI is what “spices up” an IMAGE BBS. It allows you to add color, cursor movement, and a “personal touch.” The MCI commands available in IMAGE BBS are:
£AxTEXT£ |
About |
Compare MCI variable £V_x_ to TEXT. Notice the ending pound sign which delimits the comparison. (For a list of MCI variables, see the £V command.) The comparison result can be used with £D or £T.
£A2SYSOP£ Compares the user’s handle (£V2
) to SYSOP
.
£Bx |
Bells |
Send x bell characters [CHR$(7)] to the user; if the user’s terminal supports bells, they are heard.
Tip
|
Speed up or slow down by using the £Sx command! |
£Cx |
Color |
Set the current display color to x from the following table:
Value | Color | Value | Color |
---|---|---|---|
|
White |
|
Brown |
|
Dark red |
|
Light red |
|
Cyan |
|
Dark gray |
|
Purple |
|
Medium gray |
|
Dark green |
|
Light green |
|
Dark blue |
|
Light blue |
|
Yellow |
|
Light gray |
|
Orange |
-
0, black, is omitted since that is usually the color choice for terminal backgrounds.
-
Commodore users can use Ctrl or Commodore 1 - 8 instead of
£Cx
. -
In ANSI graphics or Commodore 128 80-column mode, £C8: dark purple, £CK: dark cyan
£Dx |
Jump if not equal |
Skips x lines when the result of the last compare command (£A or £T) was not equal.
Display an appropriate message based on whether the user’s handle is
or is not SYSOP
:
£A2SYSOP££D1 |
Compare user’s handle to SYSOP , skip next line if not |
---|---|
|
Output |
|
Output message, continue |
|
Abort the file or message |
£Ex |
Jump if equal |
Skip x lines if the result of the last compare command (£A or £T) was equal.
Display a message based on whether the user’s handle is USER
:
£A2USER££E1 |
Compare user’s handle to USER , skip next line if so |
---|---|
|
Output message, skip next line |
|
Output message, continue |
|
Abort the file or message |
£F1 |
Clear screen |
This command sends a “clear screen” character to the user. [CHR$(147) on Commodore computers, or CHR$(12)--a form feed—in ASCII mode].
£Gx |
Get character |
Wait until the user presses a key. The keypress is stored in an$
(MCI
variable £v7).
If x=1, input is converted to uppercase. If x=0, both uppercase and lowercase are allowed.
|
Prompts the user and waits for one keypress (input is converted to uppercase). |
£Hx |
Backspaces |
Display x backspaces/deletes (depending on the user’s terminal).
|
This displays |
£Ix |
Line input |
Pauses output, allowing the user to input a line of text. The input is
stored in an$
(MCI variable £v7
).
-
If x=0, the input can be in both upper- and lowercase.
-
If x=1, the input is in uppercase only.
|
Prompts the user, then accepts input in all uppercase characters. |
|
Echo the user’s input. |
£Jx |
Jump |
Do not display the next x lines of the message or file.
|
This skips the next line |
|
This isn’t displayed |
|
This is displayed |
£Gx |
Get character |
£Kx Kolorific mode
Changes the color of each character output.
-
If x=0 (zero), Kolorific mode is turned off.
-
If x is any other color code (see £Cx), Kolorific mode is enabled, starting with £Cx.
|
Turn Kolorific mode on, starting with the color
red. Displays |
£Lx |
Printer control |
Control the printer attached to the BBS, if online.
-
If x=0, printed output is stopped.
-
If x=1, printed output is started (or resumed).
Note
|
Printed output stops at the end of each line; you must include £L1 on each line to be printed. |
|
Print |
£Nx New line
Display x carriage returns.
£Ox |
“Over” |
This command repeats character x 19 times. It is useful for making menus, etc.
|
Displays |
£Px |
Print mode |
Sometimes referred to as “cursor dancing,” print modes allow each character output to be displayed in a variety of ways, usually to move the cursor, or perform “special effects.” Replace x with the print mode number. The print mode is set back to 0 at the end of each line.
There are thirteen very powerful print modes in IMAGE BBS. We suggest trying to come up with interesting ways to use them—it is possible to create an entire “movie” file entirely within the IMAGE BBS text editor using these commands!
ASCII | Commodore C/G |
---|---|
0: normal printing |
6: character, 2 cursor lefts (displays !drawkcab) |
1: character, backspace, character |
7: character, cursor left, cursor up (displays up) |
2: character, 8 spaces, 8 backspaces |
8: character, cursor left, cursor down (displays down) |
3: character, backspace |
9: diagonally |
4: space, character, 2 backspaces, character |
j: diagonally |
5: character, bell |
k: diagonally |
l: diagonally |
(fixme: add the rest, 4 diagonals)
£Qx Reset MCI defaults
Turns off the following features:
-
Printer mode (see £Lx)
-
Reverse mode (see £Rx)
-
Uppercase mode (see £Ux)
The current print mode (see £Px) is set to 0 to print normally, and print speed (see £Sx) is set to 0 to output at the fastest speed.
Parameters:
If x=0, then the current color is set to the default color. Otherwise, the default color and current color is set to x.
(fixme: fix what?)
£Rx Reverse mode
Controls displaying text in normal or reverse modes.
Parameters:
If x=0, reverse mode is turned off. If x=1, reverse mode is turned on.
Note
|
Reverse mode turns off at the end of every line. |
Note
|
Commodore users can also use the keyboard shortcuts Ctrl+9 and Ctrl+0. |
£Sx Print speed
Delay character output by a multiple of tenths of a second. x ranges from 1-J (.1 to 1 second)
£TxTEXT£ Test variables
Used in conjunction with £D and £E. Compares a variable to TEXT
(similar to £A).
If x=1, tests user input (an$
, in a module).
If x=2, tests access group (ac%
, in a module).
£T29££D1 |
Compare the user’s access level to 9 (£T29£ ), skip one line (£D1 ) if not equal |
---|---|
|
display an appropriate message, and abort ( |
|
Display user’s handle ( |
£Vx |
MCI variables |
Display the desired MCI variable. x ranges from 0-M.
Variable | BASIC variable | Displays |
---|---|---|
£V0 |
|
Current date/time, e.g.: |
£V1 |
|
Last call date (in 11-digit format) |
£V2 |
|
User’s handle |
£V3 |
|
User’s real name |
£V4 |
|
User’s phone number |
£V5 |
|
Name of BBS |
£V6 |
|
System variable |
£V7 |
|
Last user input |
£V8 |
|
Sub-board name at entry |
£V9 |
|
Last user on system |
£VJ |
|
Separator line the user’s screen width + carriage return |
£VK |
|
True last call date (11-digit format) |
£VL |
|
Current machine language protocol name |
£VM |
|
User’s access group name |
£VN |
|
Future expansion (fixme) |
£VO |
|
Future expansion (fixme) |
£Wx |
Wait |
Delay x seconds before proceeding, similar to £Sx.
Parameters: x ranges from 1-J (1 to 15 seconds)
£X1 |
Abort file |
Skips the rest of the lines in a disk file/message, not displaying anything contained in those lines.
Note
|
The number of lines skipped within a disk file is actually limited to 255; I discovered this while re-writing the BBS editor help menu file. |
£#x |
Leading characters/zeroes |
When you use £%v
(below), this specifies either:
-
The number of digits to display
-
To use leading zeroes or spaces
Parameters:
-
When x is a number [between 1 and 5?], x sets the number of digits to display a numeric value with.
-
When x equals zero, as many digits are in the number are displayed.
-
When x is a space character, leading spaces are used, but the number of digits to display is not affected.
See the examples for £%x
, below.
£%x |
Display integer variable |
Display the value of any one-letter integer variable with or without leading characters.
Note
|
The periods in the examples are not shown in actual use of this command; they only illustrate how many leading spaces are used. |
|
If a%=1, this displays |
|
If a%=1, this displays |
If a%=23, this displays |
|
If a%=789, this displays |
|
If a%=1, this displays |
If a%=42, this displays |
£$x |
Display string variable |
Display any one-letter string variable (a$
, for example).
£$a |
Display the contents of the string variable |
£←xx |
Tab |
Tabs the cursor from the left column to column xx.
Note
|
Type the ← key to the left of the 1 key. |
Note
|
To tab over less than ten columns, use a leading zero (e.g., £←05 , £←08 ).
|
Note
|
If the tab-to column specified is less than the current cursor column, any text after the tab command is displayed where the cursor is. |
IMAGE BBS has a built in Commodore 1670/Hayes-compatible terminal program for dialing out to other BBSes without having to take your BBS off-line. It is equipped with several features, including:
-
a phone book
-
auto dialer
-
X-modem and Punter file transfer
-
full Commodore C/G capabilities
For the most part it is self-documenting, with several on-line menus to help you.
To load and use the term program, press ← at BBS idle mode, and the term will load and display the opening menu, along with several parameters displayed on the top right window of the screen. To change any of these parameters, select the “Term Parameters” option from the main menu.
From here, you are able to change
-
ASCII/C-G mode
-
baud rate
-
U/D protocol
-
dial mode (tone or pulse)
Other options on the main menu include terminal mode, file operations, phone book, disconnect, return to the BBS environment, and send line break (for the MERIT system).
Here is where you may dial numbers entered into your s.phonebook file, or any other number that you wish. When you choose the phone book option from the main menu, you see the first five numbers (if you have the file), along with "dial number not
To write this file, you should include three items of data for each BBS you want in the phone book:
ItemExample
the name of the BBSLYON’S DEN
the phone number1-313-437-9486
the baud rate1200
\[…mising text…\]
PORT COMMODORE 1-801-423-2734 2400 NIGHT FLIGHT 1-615-824-5488 1200
(NOTE: Make sure that the first line of the file contains the first BBS name and not a carriage return, and that there are no extra carriage returns before, between, or after the information, or the BBS will not read the information in correctly.)
fixme "next page", or "previous page". Simply hitting return at the prompt will take you back to the main menu. Selecting next or previous page will go on through the list in your phonebook. Selecting any of the numbers, or "Dial number not shown", and entering the number when prompted, will then prompt you for the autodial (repeat) option.
If the autodial option is selected, it will keep track of how many tries for that number (Press / to abort the autodialer).
Once a connection is made, you are put into term mode for the connection.
To go back to the main menu, press Ctrl+Commodore key.
There are several maintenance commands available, with differing availability:
-
only at the main prompt
-
at all prompts
-
from local or pseudo-local mode
-
to users with remote maintenance access
Each type of command is described in this chapter. Here is a brief synopsis of each command, followed by a more complete description. Commands marked with \* are available only from local/pseudo local mode.
Command | Purpose |
---|---|
?? |
Maintenance help menu |
CA |
Add credits to user |
BFdv,dr |
Report blocks free |
CD |
Change device number |
CP |
File copier |
DRdv,dr |
Get a disk directory |
ECS |
Extended Command Set editor |
ED |
Edit a user’s account |
MM |
Report free RAM |
NL |
New activity log |
PC |
Sub-board password change |
VF |
View feedback |
The Extended Command Set or ECS allows you to add or delete commands from your BBS without the need to modify your im module or re-boot the BBS. It also gives you flexibility in these areas:
-
enabling or disabling commands
-
password-protecting access
-
restricting availability of sysop-only commands to local or pseudo-local mode
-
restricting certain commands to specific security levels
-
configuring whether a command calls a plus-file module on disk or a specific line in the memory-resident
im
module (and whether that call requires a GOTO or GOSUB)
However, it will not allow you to make changes to the
BASIC program. The ECS will allow you to add both main level and all
level commands either by loading a module or calling a
line in your im
module. Each command has several
flags attached to it:
Table : Extended Command Set flags
Using the ECS command editor is really very simple—there are just a few things that you should know.
-
If you Add or Edit any commands while you are in the editor, you should first (S)ave the new configuration then (M)ake it active.
-
A pre-configured
ml.ecsdefs
has been included with this package that contains all the standard IMAGE v1.2 commands plus the commands MA (macro toggle) and ECS which loads the ECS editor (+.ecs).
Re-boot your BBS and add or edit any commands that you wish using +.ecs
by entering ECS at the main prompt.
ED allows you to edit your users' information whenever needed. Type the handle or ID number of the user to edit.
Tip
|
If entering the ID number, do not enter the BBS identifier (e.g., if your
identifier is SS , and you want to edit user number 50, you would
enter 50, not SS50.)
|
The BBS then loads the user’s stats into memory. Anyone with pseudo-local maintenance access may change anything they wish.
-
One exception to this is the password, which can only be seen or changed by the sysop (ID #1).
The first page of user information is shown. If you wish to change anything, type its number at the prompt, or N to view the next page of information.
Then enter the new information. Don’t worry if you make a mistake: you
can change it again if you wish, nothing is permanently changed until
you answer Y to the Save changes?
prompt when you are done.
If the information you wish to change concerns the user’s "flags"—that is, certain functions the user can access—then you get a list like in the BBS Configuration Editor.
No matter how much I read and re-read this next paragraph, it never made much sense to me. So I’m re-writing it, hopefully keeping the spirit and intent of the original wording… hurty head bad…
These flags inherit the default settings of whichever access group you gave the user. Afterwards, they may be customized on a per-user basis. Changing one flag will not affect any other flags for that user.
You may also delete an account or reserve an account with this function by changing the user’s handle.
-
To delete the account, change their handle to an
^
(up arrow). The BBS prompts withDelete this user?
before any action is taken. If "yes" is selected, the account is considered deleted, and it is now available for a NEW or REServed user (although it is not overwritten, making it possible to "resurrect" a deleted user by changing the handle back, before another new user takes that account). -
REServed users get prompted for a password, number of credits, and access level. (More on this in Reserve Account.)
CP
allows you to access the online file copier, patterned
after the popular "Copy-All" program by Jim Butterfield. Our thanks go
to him for supplying us with the source code to help us write this
version. The online copier will copy PRG, SEQ, and USR files from one
device or drive to another with little effort.
Note
|
CP will not copy files to the same device and drive. Use the
DC command for this, with standard Commodore DOS commands (e.g.,
c0:newfile=oldfile ).
|
Note
|
CP will also not copy REL files.
Use +.CP-rel online, or rel copy (for one 1541 drive only) offline to do this.
|
With WF
, you may access the IMAGE text editor as a mini word-processor, to write or
edit any sequential (SEQ) file.
When you type WF
at the main prompt, the text editor will load, and you are able to
use it to `.P`ut (save) and `.G`et (load) files from any device and drive you have
online. This makes it easy to write, edit, or—in the case of “putting” to a file which
already exists, append to—a file.
There are also additional editor commands built into the WF
function
not normally available from the editor subsystem:
.! |
DOS command |
.$ |
Disk directory |
.& |
Read SEQ file |
.G |
Get file from disk |
.P |
Put file to disk |
.Q |
Query used lines, show available RAM |
.S |
Save buffer |
.U |
Unborder |
.! issues a DOS command. If a “new” (n0:diskname,id
) or “scratch” (s0:filename
) command is issued, you
are prompted to confirm your actions.
.$ (View Directory) command views a disk directory of any device and drive, specifying a pattern if desired.
.& reads a SEQuential file on disk. A filename, device and drive are prompted for. You can pause with Home or abort with Space or /.
.Get File allows you to load a text file into the buffer. You are prompted for a filename, and the device and drive the file is on. The file is appended to any text already in the buffer. You can then use all the normal editing facilities.
Tip
|
If you are working with SEQ files with C/G codes in them, use .Columns 80 first, so lines don’t word-wrap. |
.Put allows you to save the buffer to a specified device and drive. If the specified filename already exists, you can either replace the file or append the text in the buffer to the existing file.
.Save saves the buffer (prompting for a filename if one hasn’t been established with the .Get command). It checks for the presence of an existing file under the given name, and if one is found, it prompts:
[A]ppend [R]eplace [Q]uit:
Here, you can:
-
Append the text in the editor to the existing file
-
Replace the file on disk with the text in the editor
-
Quit to the editor (keeping existing text intact) without saving changes
.Put allows you to save the contents of the buffer. You are prompted for a filename in the same way as above (if you used .Get, the filename you got is displayed serving as a reminder of the default filename). You are prompted for the device and drive to save to (the default is 8,0). After the buffer is saved, you return to the editor to continue working.
.Query re-displays the editor’s opening message, showing how many lines used so far, remaining, and bytes of free memory.
.Unborder removes a `.B`order or partial `.B`order that you have done. It removes the first and last lines, and first and last characters from each line if they are the same character.
Only those with remote maintenance access may use the VF function. When first entered, it counts the number of messages which fall into the following categories:
-
Feedback
-
Error log
-
New user log
-
Telecheck
-
Canned messages
I’ll let Fred Dart explain the operation of some features, with slight formatting changes to the file:
The following article appeared in the January issue of "`The Reflection`."
It is reproduced here for the benefit of any that may have missed it. It may be used as a text file on other boards, if used in its' entirety.
+.VF
By: Fred Dart (THE CHIEF)
This month we are going to look at one of the truly outstanding features
of IMAGE 1.2b, the enhanced +.VF
program.
The basic .VF` from the version 1.0 has been expanded and enhanced by
Dr. Bob of the "Enchanted Forest BBS" in Philadelphia. Bob has worked
very closely with Little John and has really done a tremendous job with
the `.VF
.
Some of the new features include "canned" messages and selective deletion of feedback, new user feedback, etc. We’ll look at all of the different commands.
The feature that seems to cause the most questions is the "canned message" feature. A "canned message" is simply a pre-written message or "form letter" that you may wish to send to a user, much like the "new user welcome".
From the initial VF: prompt, selecting C
will bring up an option menu
consisting of A/dd, E/dit, K/ill, L/ist, or S/end. Selecting the Add
option will ask you for a title for the message, and then put you in the
editor to write your message. Your message can be as brief or as long
as you’d like and can contain any MCI or color just as any message
entered in the editor.
The Edit option will ask which message to edit. A numeric input is
required. If you don’t remember which one you want to edit, simply
entering a ?
will bring up a list of titles and numbers. Enter the
number of the message you wish to edit and it will be loaded into the
editor for whatever editing you desire.
The Kill option works the same way, the number of the message you want killed. Better be sure here as there is no safety check: if you say kill, it is gone.
List does just that, it will provide a list of available “canned messages”. You can have up to 60 of them if you desire.
The final option is Send, which simply asks which one to send. Again, if you don’t know a question mark will bring up the list. Very neat.
When reading any of the feedback, new user feedback, telecheck log or error log you have several other options available as well, they are:
Accs/Can/CRed/Del/View/Fwd/Rspd/Next/Over/Quit/New #
The ones that are new or changed include the Can/CRed/Del and View. The others are unchanged, or have minor changes.
Selecting C
an will give you the option of sending the user any of the
“canned messages.” You might even have one that you want to send to
people that continually have trouble with the telecheck or you might
have one that you send to anyone that runs into an error on your system
(though he should have gotten error e-mail). When you select C
you
will be asked "which one" and ?
will bring up the list of those you
have available.
CR
ed is very handy for giving credit. I’m sure you have all had
occasion to need to restore some credit to a user for a bad download or
as a reward for something, now you can do it from here, no need to go
into ED
just to give him credit.
Del is one of my own favorites. The user that signs on with an obviously fake account or the irate user that says “just delete me from your system if I can’t…” whatever. The D works wonders… and really feels good afterwards. May not get a lot of use but when it does it is worth having.
Finally the View. Particularly good on systems where more than one person may give access. You can View the person’s account to see what his status is. If he has been given access or if he wants some credit or whatever, the View is particularly useful.
In addition to these great features there has also been added the "Selective delete" option so you can delete all or any part of your feedback or other messages. When Delete is selected from the VF: prompt, you select which to delete then have an option of selective or auto delete.
Selective delete picks which messages you want to retain through a menu of options:
[D]elete [K]eep [A]bort
The options should be self-explanatory, I hope.
All in all the VF is now about anything a busy sysop could want to maintain his daily message traffic from his users. This is really one of the better “hidden” features of 1.2b. Well done, Dr. Bob.
(A late note here, someone that just converted to IMAGE from CNET 12.0 said that the "+.VF" was one of the best features he had noticed since his conversion.)
(c) January 1990 FandF Products
Permission to reprint is granted provided the file is printed in its entirety.
If the user is in "Local" or "pseudo-local" mode, they are given an option to delete the entries.
Entering N
, E
, or F
will allow them to read the entries beginning with
the first entry or with any entry number he may wish to enter (Example:
if there were 10 feedback messages, they could start reading number 5 by
entering a 5
at the prompt, or enter N to begin reading those entries
that are NEW since his last call, if the feedback was not deleted
previously).
After each message he has several options, including:
-
advancing to any message by typing the message number
-
N or Return continues on to the next message
-
R responds to the message
-
A changes the user’s access
-
F
forwards the message to any other user as e-mail -
Q
quits back to the options menu
After all messages have been read, the user is returned to the options menu. If access is assigned to a new user the Sysop is given the option of sending the new user a "New User Welcome" that consists of the file s.nu welcome. (This can be created using the WF command shown above.)
New user feedback may also be archived if desired. This copies your new user feedback to a file called e.nark (which could be backed up from time to time, as many sysops like to do). This eliminates the search through older messages each time VF starts up.
A reserved account (an account with a pre-assigned password, number of credits and access level) can be established using this command. A reserved account is useful for a new user who may sign up when you are not available to validate them.
The RS command establishes any deleted account (where the handle is ^) as a reserved account. When first entered, you are prompted to enter the starting account number.
-
Typing a number starts searching at that account number
-
If E is typed, or no deleted accounts are found in the user file, the next valid account is assigned as the reserved account.
A password, access level, and number of credits will be prompted for.
After this information is entered, the BBS reserves that account.
9 "+.access" prg
6 "+.alpha/ind" prg
5 "+.bar edit" prg
24 "+.ecs" prg
26 "+.e.modrc-config" prg
3 "+.file counter" prg
4 "+.mail weed" prg
3 "+.program reader" prg
16 "+.reconfig" prg
56 "+.reledit" prg
5 "+.text msg ed" prg
5 "+.weed" prg
This is used to edit your access groups. You must reboot in order for changes to the access information to take effect.
This program is an online version of the BBS Configuration Editor. It allows you to re-define such things as number of calls to the system, board name, prime time, etc. Simply run it and follow the prompts.
The weed program allows you to automatically go through your user files, and delete users who have not called within a specified amount of time.
To use it, run +.weed
. You are asked if you would like auto-weed, or selective weed.
-
"Selective weed" prompts whether you want to delete each user that it finds before deleting them. It also includes users with non-weed status, since you will be prompted.
-
Auto-weed doesn’t prompt, but deletes each user it finds that has not called since the cut-off date. (Non-weed status users are ignored in this mode.) You are asked for the cut-off date, which will be the date that is checked against the last call date.
Enter it in the format shown, then tell the program which ID number to start from. Everything else works automatically, and you hear a beep when the program is finished.
Credit Pool Setup [credit-pool]
This documentation was modified slightly from the text files on the RELedit and Networking plus-file disks. I in no way take credit for the original documentation, just the cleanup and integration into these more current, streamlined documentation.
RELedit is a program which eases the setup and administration of message
and file transfer bases. Just run +.reledit
from the main prompt.
After a short delay as RELedit reads the system configuration, you see the main menu. Across the top is the title of the program and a copyright message. Below that is data on your BBS that includes the number of Subs, U/Ds, etc. that are defined, as well as your node number if you are on the network. Below that are 5 options:
S – Sub
U - U/D
X - U/X
G – SIG
N - NetSubs
Select S, U, X, G or N.
Note
|
If you are not part of a network, the NetSubs option will not appear. This documentation assumes you are networked. If not, operation is exactly the same, you just can’t use the NetSub option. |
If you select S, the BBS enters the Sub-board list editor’s first screen. It consists of a listing of the Subs (if any) you have defined.
The list of Subs show:
-
The title
-
Type
-
Whether it is open or closed
-
The device and drive the messages are saved to
-
The ID number of the SubOp (ID\# 0 means no SubOp)
-
The password (if any)
-
The access level required to see/enter it
-
If it is a NetSub, a small n will appear after the access level.
To add a Sub, type A and hit RETURN.
Typing ranges of sub-boards to add, delete, move, or insert works similar to BASIC’s LIST command.
x |
List sub #x |
Type the board number you want to edit, then press Return. (Pressing Return by itself exits to the main RELedit menu.)
A menu appears with 9 options:
x | x |
---|---|
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
These 9 options are the same for the U/D and U/X editors as well. The
only difference is the Type
question which asks Downloads Only?
and
Free Downloads?
as well as Password.
If the access is 0 or the title is ---
, the data will not be saved (or
deleted if editing an existing record). The BBS also goes through the
SIGs (if defined) and removes the board from any SIGs it is on.
This is much like the Sub, U/D and U/X editors. The list displays:
-
the SIG title
-
access
-
the SIGop ID
-
whether the Subs, U/Ds and U/Xs are open in that SIG
Another new feature found in this version of RELedit (when coupled with the newest version of the TurboRELs) is the ability to "close" a section of the board to a SIG. What this does is prevent the SIG from being listed when the user enters the "closed" section.
For example, if you have a SIG that shows the U/X section closed, when a user types "UX", the SIG will not display, appearing as if the SIG does not exist in that area.
When you type the number of the SIG you wish to edit, the following options appear:
Table : RELedit SIG editing options
Using options 7 through 9, you are presented with a list of the Subs, U/Ds or U/Xs (depending on what option you select) that looks very much like the one users see when listing the available boards in SB/UD/UX.
Everything is keyed off of the position of the board in that list. For
example, if you enter D5
it will delete the 5th board in the list of
boards for that SIG.
The commands are as follows:
Add board
Add a board to the end of the list of boards for this SIG. This command accepts ranges, or type just A and you are asked for the board number (which is the record number you saw in the Sub, U/D and U/X editors).
Typing L at the main Edit
or Add Which
prompts
list the defined Subs/UDs/UXs (depending on which type you are
editing).
The Add command also allows multiple adds by giving it a range to add.
For example, A5-10 will add Subs 5 to 10. Range commands also work at
the Add Which
prompt.
Insert board
Identify the number before the board(s) you want inserted. Typing S
at the edit prompt or the Insert Before Which
prompt lists the
boards in that SIG (again, you can enter a range here as well). You can
give the board number you want the new boards inserted before by typing
I followed by the number.
fixme Table
Pressing Return saves the list, returning you to the editing screen for the SIG information.
When you hit Return at the SIG Edit:
prompt, the data is saved,
unless the title is ---
or the access is 0.
If a SIG is deleted, the SIG list for that SIG is also deleted.
This editor lets you list all of the NetSub IDs you have (you can have up to 60) and edit the lists of boards they are linked to as well as what sub-boards on your BBS are part of that NetSub.
To define a networked sub, first set it up (see Editing Sub-Boards).
When you hit N at the main prompt, the BBS looks on your disk for the NetSub data files. These files are program files that are loaded into memory using one of the new protocol files written for the NetSubs.
Note
|
If you have a Lt. Kernal, have the Autoload feature turned on, and
have a floppy drive with the same device number as the Lt. Kernal, you
get a flashing error light on the floppy drive when you enter the NetSub
editor as well as every time the new +.NM.netsub files are executed
during Network Maint. You might want to remove the floppy drive from
your system if this bugs you, but it will not hurt the operation of
RELedit or the BBS.
|
The list only displays the NetSub IDs you have defined on your BBS.
Type the number on the left of the NetSub ID you wish to edit and you are taken to the editing screen.
You will now see 18 options:
Option 1 lets you modify the NetSub ID.
Options 2 through 17 are Network IDs of the boards that this NetSub is linked to. This list should only contain the IDs of boards that you send NetSubs directly to, not every board that is linked to that NetSub anywhere on the network.
The board IDs are not verified. This is inline with the new network design and the reasons for this will be explained when the Image Network is reorganized to make use of the new network features.
Option 18 lets you define which boards on your BBS are parts of this particular NetSub.
The editor that is entered when you select option \#18 is very much like the SIG list editor. (As a matter of fact, both the SIG editor and NetSub editor use the same routines!) The only differences are as follows:
-
Up to 60 boards can be defined as being part of a particular NetSub.
-
You can only add boards that are not already identified as being Networked. \[To remove Network status from a particular sub-board, it must be deleted and re-added using the Subs editor.\]
-
The "Multi-Add" and "Multi-Insert" functions skip not only deleted records, but already networked boards.
While the order of the subs in this list does not in any way affect the order in which they are listed to users, it does affect the order in which they are scanned when +.NM.netsub is run. When a message comes in to a board, the boards are searched for a post of the same name in the order defined in this section. If none are found, the boards are scanned in the same order again for a place to post a new message.
You may want to rearrange the order of the Subs to speed up NetSub operation. For example: if you have a sub containing older posts not responded to as often as a sub found later in the list, you might want to switch their order so the board with more activity comes first. This way the BBS does not read through older posts for no reason.
This is a system allowing you to set multiple boards as being part of a particular NetSub ID. When a network message comes in, all subs part of a particular NetSub ID are searched, and the response (or new post) is added where appropriate.
That should just about cover the options available to you in the new RELedit. I hope you enjoy it and find it useful in maintaining your BBS.
The "AutoMaint" feature in +.lo is designed as a building block to add nightly maintenance functions—you may add any sort of functions you wish.
As it now stands, it will rotate the caller and AutoMaintenance logs every night at midnight (or as soon as possible thereafter, if a user happens to be online at around that time, AutoMaintenance is delayed until after they log off).
A week’s worth of logs are maintained under the filenames e.log x
(where
x is the day of the week: 1=Sun…7=Sat, like setting the weekday when
changing the BBS clock manually). They may be viewed with the LG
command online.
Anyone with limited disk space who does not wish to use this feature can
set the variable am
to 0
in line 1 of .lo`, and use `.NL
(New Log)
whenever the log reaches a certain size.
IMAGE NETMAIL V1.2.4 DOCUMENTATION
Copyright 1990, New Image Software
UPDATED 7-1-90
NetMail 1.0 is a system which allows files to be transferred between BBSes automatically. In this version of NetMail, it supports E-Mail transfers among users, and general file transfers among sysops. Also, if the TurboREL SIGs are used, Network Sub-Boards are available.
All of this is accomplished by means of a program called +.NMauto
.
This program is run automatically by the system at regular intervals.
(Usually one hour apart.) The program checks for the existence of files
that need to be transferred to other systems. If any exist, the
necessary phone calls are made, and the files are transferred.
Each node in the network will need to pick a node ID. This is just a 3 character identifier that will represent that node. We suggest that an abbreviation of the BBS name be used so that it will be familiar.
To avoid the problems of having your BBS call all of the other nodes on your network, the number of connections that can be made to any node is four. At first, this may seem like a small number. However, in our testing, we have found that it keeps the traffic through any one node low enough, and limits the number of calls that any one node has to make.
Node IDs are used in paths. For example, say you had a network with 6
nodes in it. The path from, say LDE to GFD might be /LDE/WZK/GFD/
,
whereas the path from JMS to PGN might be /JMS/LDE/PGN/
. The path
describes how to send files from one place to the other. For the most
part, you will not need to worry about paths. You just need to know that
they are there.
One other restriction is placed on the layout of the network. That is that there can only be one path between any two nodes in the network. If the network is planned with any loops in it (places where files could be sent in circles) then the network will have problems.
One BBS on the network will be responsible for network maintenance. It is the sysop of this BBS who will set up the paths that were described above. It is not up to this sysop to plan all of the paths, just to configure them into the network.
The sysop in charge of the network also has the ability to send "NetNews." This is a news file that will be automatically installed on all of the nodes in the network. The purpose of this is to provide a way to relay current information about the network to all of its users. Such information might include new nodes that have been added or local news that is of interest to everyone.
Planning a network is not as difficult as it may seem. There is a simple method of planning a network of any size. You get a piece of paper, and write the node ID of your BBS in the middle of it. Then draw four long lines, one going up, down, right, and left. These are places where you can add nodes. Write the IDs of the nodes at the ends of the lines. Then draw three short lines from each of these. (See [Figure 1: Simple network].) Add nodes on the end of each line. The process can be continued indefinitely.
Note that you could not connect PCM to JMS because that would cause a loop, as mentioned above.
|
-PCM-
|
|
| | |
-WZK---LDE---JMS-
| | |
|
|
-PGN-
|
Figure 1: Simple network
These files should be put on your Plus Files disk:
Table : Networking Plus Files
You will need to make two small changes to Image in order to make
NetMail run on your system. Line 1 of the program .lo` has `nf=.` or
`nf=0` in it. It needs to be changed to read `nf=1`. The same is true of
the program `.EM
.
If you have a very busy BBS, you may also want to change the rs=.
(or
rs=0
) in line 1 of +.lo
, to read rs=1
. This will reserve your
system from 3-4 AM each night, so that NetMail will get through.
This is the most important part. You need to find someone to network with. Once you find someone, or a group, you need to decide who is going to be the network operator. At this point you would skip forward to the appropriate section. If you are the network operator, read the section entitled Creating a New Network, and if you are not, then read the section entitled Joining an Existing Network. If you want to join the existing Image Network that we are running, contact THE CHIEF on Port Commodore (THE CHIEF @ PCM, in Net-Lingo).
Plan your network. Get out paper and a pencil, and draw a map. Try to avoid long distance calls by "chaining" nodes together. You will need to get all of the available information about the BBSes that will be in your network. It’s not hard to add new nodes later, but it is hard to remove them once they are there. One of the easiest ways to plan the network is to first find 4 nodes to connect to your node. Then work on finding 4 to connect to each of those. However, it is not necessary to fill up all of the connections. You can leave some open so that you can later expand. See Network Map which has the current map of the network that we are running.
Note that we have left plenty of room left to expand, and welcome anyone to join.
Assign each of your nodes a number. Start with 1, which will be your node, and then number the rest. This will be important later.
fixme
ABC-REG WZK SCJ RRT-TNS
| | | |
STF-JMS GFD-CHF-DAG-GOC FII-SBD
| | |
SSF-PGN-LDE---------PCM-TCN-SOK-ECY
| |
EFB-GJ2-PAD RHQ-FRW-LDW
| | |
TRN | SWD TFD TYP CRO-LOZ
| | | |
LKR-CMR-LWR-WN2-TWB
| | | |
TTC | TGD | TBB TER SPT D38
| | | | | |
CST-DRC-INI | INS DII-MMA-ALD
| | | | | | |
CSP MIA TCB-WN3-TWZ-ASN CDX SOM
| |
TPO-TAH-TTS-SSW-TGI HCL
| | |
CIA-TST WOL TOS
Now comes the fun part. From within Image, run the plus file +.NM/utils
.
Since you have never configured a network on your system, it will ask
you if you want to create a network. Say Yes.
Then, you will be taken to the Utilities menu. There are several options available. You will need to edit the nodes, using option A.
You need to edit node 1, and put your info into it. Make sure to set everything. Then, add the other nodes in the same way.
Note that you need to change the connections while in the node editor.
When changing a connection, you need to make sure that you edit both
nodes to make the connection complete. Leave any empty connections as
0
. When you are done, press Return to get back to the utilities
menu, and select the option to Make 'nm.create'
. This will make
the file that you must give to each of the sysops in your network so
they can configure themselves in. You must also tell each sysop what
his/her node # will be.
You will also have to tell the sysop of each node who will be connected to them. They will all need to make up passwords for their nodes, and each one will need to give their passwords to the sysops of the nodes that are connected to them.
When you are done, run the program +.NM/config
. You need to set all
of the different options, so just go through each of the menu items.
Everything in the section Joining an Existing Network will apply to you as well, so you should read that section also.
When you need to add new nodes, just enter the Node List Editor again,
and add them in. Make sure to edit the nodes they are connected to so
that they will be connected in both directions. When you are finished,
make the nm.create
file again, and be sure to give this to the new
network members. They will configure just as the original members did.
Don’t forget to give them their node numbers.
Next, you must send a Node Update. This will send a file out to the other BBSes in your network to tell them what changes have been made. It will automatically install the changes in their system.
You will need to get a copy of the file nm.create
from your network
operator. Put this file on your Email disk. Also, you need to find out
what your node number is, and what BBSes are connected to you. You will
need to make up a password, and give it to each of the sysops of the
BBSes who are connected to you. They will have to give you their
passwords as well. Be sure to go through each of the options in the
configuration menu to make sure that they are set correctly.
If you wish to have the modem be off hook while NetMail is doing its work, turn the "Off Hook" flag on. Note that this will not work with all modems. Also note that NetMail will not work with modems that do not accept Hayes-type commands.
An explanation is needed for the connection editor. What you must first do is decided when you want calls to be made by the BBS, based on what "type" of day it is. For example, perhaps on weekends you want to allow 24 hour calling, while on weekdays you only want calling at night. The 24 hour type is pre-defined as "+". So you must configure another type to have the hours you want for the weekends.
The option "Change call times" is what you use to edit the types. You would set the first call type 0 to the hours you want to allow. If you want to define other types, you have the 1 to 9 to work with as well.
After defining the types, you should use the option to "Edit connections". That will bring you to another menu. Choose "Normal Connections". (The other option, "Shortcuts" is not yet fully implemented, but will be in future versions.)
When editing the nodes, you can enter the passwords, define the type of day for each day of the week (for calling hours) and set the number of calls per day for each day of the week.) When setting the calls/day, "" means infinite calls. When setting the types of days, "" means 24 hours and "-" means no calls that day.
Once you finish configuring, you are all set! NetMail is up and running on your system. Any time more nodes are added, it will automatically add them into your system.
E-mail forwarding lets you pick a few people whose E-mail will be automatically sent from your BBS, though the network, and end up on some other BBS. For example, it might be nice to forward E-mail for the sysops of the other BBSes on the network. There is an option on the configuration menu for this. You need to specify what their handle is on your BBS, and what it is on the destination BBS, and, of course, what the destination BBS is.
NetMail adds several commands into the e-mail section of Image BBS. Those commands are listed here, along with descriptions of what they do:
Table : NetMail Commands
Files may be transferred between sysops through the network. There is a
separate program to do this, called .NM/file`. When files are
transferred, they are put into a special `nm.F` file. This allows
multiple files to be sent at one time, by just sending a single file.
When you receive files, it will notify you in your e-mail. You should
then run `.NM/file
.
When you run the program, it will scan to see if any of these nm.F
files are waiting for you. If any are, it will ask you if you want to
extract the files. Extracting the files will put them on the Email disk,
so be sure you have enough room. The program will tell you the length of
the nm.F
file. The extracted files will have approximately the same
number of blocks total.
When that is finished, or if there were no files received, it will ask you if you want to send files. The prompts are self-explanatory here.
Keep in mind that some of the Nodes that you send files though may not have enough disk space to hold the file (even temporarily) while it is waiting to be sent on to the next node. It is not generally a good idea to send a lot of files at a time for this reason, or very large files. Also, since some of the connections may be long distance, you may be running up someone’s phone bill considerably. (And yes, they will know exactly who did it because they will know where the files came from, and where they were going. You don’t want to get your fellow network members mad at you!)
Two versions of the Network "Wallwriter" are supplied with the Network.
One is the normal Wallwriter with network abilities added. The other
is a 10-line version that allows a lot more text. MCI commands are not
allowed on the wall, but color codes and graphics are. Both versions can
be accessed by the program +.NW
.
The easiest way to install NetWall is by adding it into your PF
section. Or, you could add it in as a command in your im
file. (This
is only suggested if you are familiar with doing such things.) The other
option, and some people have already done so, is to merge it into your
+.on
file, so that it can be used during the logon sequence, just as
Wallwriter is.
There is one important thing to know about the NetWall. It will get
big! Very big! As responses come in from all over the network, they
will accumulate. It is up to you to keep it to a useable amount. When
you run +.NW
while in Local Mode, it will ask you if you want to edit
the wall. This will allow you to selectively delete messages from the
wall. Deleting them on your system will not delete them from other
systems, so you are free to keep as many as you like, or as few as you
like. We suggest that you check the size of the file at least once a
week.
There is also a Weed option that will do this for you. You only need to tell it how many days back to set the cutoff point, then it will delete the messages older than that day.
If you do not want to use the NetWall, then you should change the
g1=1
in line 801 of +.NW.walls
to g1=0
. This will turn the 10-line
version off.
If you do not want to use the Network WallWriter, then you should
change the g2=1
in line 801 of +.NW.walls
to g1=0
. This will turn
the 1-line version off.
This software has been tested on the following list of equipment:
COMPUTERS
-
Commodore 64
-
Commodore 128 in 64 mode
MODEMS
-
Commodore 1670 (old and new)
-
Supra 2400
-
Transcom 1200H
-
Aprotek 2400 (MiniModem)
DISK DRIVES
-
Commodore 1541, 1571, and 1581
-
Commodore SFD 1001 with IEEE Flash interface
-
Lt. Kernal hard drives
Please note that we cannot guarantee that it will work with anything that is not on this list. However, most modems are compatible with those tested, as are most disk drives. As a general rule, most equipment that will work with IMAGE BBS, will work with NetMail.
As we have mentioned in several places in this manual, we are running this network software on our Image Support BBSes. This network is growing fast, and any who have bought the NetMail software are welcome to join it. There is only one catch. In order to join our network, you have to find someone who is already on our network who is willing to sponsor you. If you are local to one of our nodes, then this is usually not a problem. But if you are not local, then you must find someone who is willing to connect you long distance to their BBS.
This is not usually a problem. A typical long distance network call lasts about 3-4 minutes, and they do not necessarily occur every night. Using 2400 baud helps a lot for the phone bill, as it will take only half the time to send the same files. Estimates are at about $30 a month for a long distance connection.
In the future, we may request that sysops who do not have long distance connections on their nodes to voluntarily contribute $15 - $25 per month, which would be given to those sysops that do have long distance connections. The idea being to share the costs a bit, so no one has to bear the whole burden.
The e-mail system for Image 1.2 was written while the Network was in the
planning stages, over a year ago. Several "hooks" were put into it so
that when the Network was available, E-Mail would be ready. The file
.NMextra` is a mini-module that E-Mail loads when NetMail is active.
The routines in `.NMextra
handle all of the network functions that the
users can access.
The file +.NM/config
is a stand-alone module that handles all of the
network configuration that a sysop would need to be able to do.
The file +.NM/utils
is a stand-alone module that handles the Network
Administrator’s functions.
The file .NMauto` is loaded by the `.lo
program whenever Network
Maintenance needs to be done. It is this module that handles incoming
and outgoing calls. In addition to +.NMauto
there are several
mini-modules that process files as they are received. These include
processors for Mail, the Netwall, NetNews, Updates, and so on. Also,
when the TurboREL Sigs are used, there are processors for NetSubs.
There are a few ++ files that do a lot of the "dirty work" for the network.
File | Purpose |
---|---|
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
This chapter provides programming information for those interested in the programming details of IMAGE BBS, and troubleshooting information for those that may be having problems.
IMAGE BBS is a modular program, consisting of both BASIC and machine language files interchanged by the program to add the capability of never running out of memory for program space! It performs this miracle by loading modules (overlays) when needed to perform specific tasks. Using this technique, you may do about anything you wish to on the BBS, not worrying about memory constraints.
Of course, every great concept has its drawbacks, and this one is no exception. The price we have to pay for it is the fact that loading these modules takes time, slowing down the BBS somewhat, since you must wait for them to load. However, we feel the trade-off is well worth it! If you have a RAM Expansion Unit, CMD RAMLink, or faster disk drive (IEEE, Lt. Kernal, CMD HD, etc.), the load process is speeded up considerably-or is in some cases instantaneous-and helps quite a bit! Those that do not experience more waiting, but no loss of capabilities on the BBS.
The BBS was written with the programmer in mind. Special attention was given to making it easy to modify and customize. Several custom features can be added without even changing the program, but if you can program in BASIC a little, you’ll be surprised at how easy it is to add your own ideas.
IMAGE uses a main BASIC program (im
), and several machine language
modules (the ml.
files) which remain in memory at all times. It
also uses BASIC modules (.*` files), and machine language modules
(`+ *
files). You may write as many of your own modules as you’d
like, adding them at any time. The main consideration is to know which
variables and subroutines to use, and how to use them. Be careful when
modifying the main program (*im) so you do not add too much, or you
will find yourself running short on memory, slowing down or possibly
crashing due to being short on free memory.
Adding to a plus-file cannot hurt, as long as you do not go over 56 CBM disk blocks for any individual module. However, defining new variables—especially arrays—can eat up memory and cause the same problems mentioned above, so be selective in your variable usage. There are many routines in the program which are available for you to use. We will describe a few of the most commonly used here. This is not meant to be a detailed guide to programming, only a brief description so you may get the idea.
I have HTMLized the programmer’s reference guide, and am working on continuing to improve it.
Call With | Line | Purpose |
---|---|---|
GOSUB |
1001 |
Position RELative file pointer |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
IMAGE variable usage in programming modifications and modules should be done carefully. If you were to change any variables that the BBS uses for particular functions, you could be in serious trouble! This could corrupt your user files, or do any number of nasty things! Because of this, we are giving you a list here of all system variables that you should never use. Even if you are using "temporary" variables, make sure any subroutines in the main program or program module you are modifying do not change these variables and wreak havoc! Most one-letter variables, integer variables, and string variables are usually OK to use (with a few exceptions noted below).
Variables not in this list are cleared when the main prompt is reached,
so don’t use one to count the number of times a game is played per call
in that manner; the BBS will not permanently remember it. However, the
same routine allows you to DIMension variables and arrays in modules
without worrying about a ?redim’d array error
. Be careful not to
waste memory with excess variables, or your modules will run slowly, and
possibly even crash the BBS.
Here is a list of reserved system variables that you should NEVER use, except for their intended system functions:
Since I think it’s sort of important to know what the variables are actually used for, and not just their names, I’m going to steal a page from the “Image BBS Programmer’s Reference Guide” and explain their meanings to the best of my ability. Feel free to set the record straight if you know otherwise, 'k?
Name | Purpose |
---|---|
|
Reserved for output to screen and modem. |
|
Access group name of user currently online. (Also £vm) |
|
Prints line across screen (" " + "-" * LL% -2 + R$). (Also |
|
Last user input. (Also |
The current reserved integer variables for Image v1.2 are as follows:
Name | Purpose |
---|---|
|
Access level (0-9) of user online |
|
Access level of user at login |
The current reserved floating point variables for Image v1.2 are as follows:
Name | Purpose |
---|---|
|
Total number of CBM blocks downloaded by user online. |
|
Total number of CBM blocks uploaded by user online. |
The following arrays are dimensioned by the BBS. Most can be used for your own programs, except where noted.
Variable | Purpose |
---|---|
ac%(31) |
Can be used for any plus file outside of UD/UX/SB. |
bf(x,y) |
Blocks free on system drives. Should never be used. |
co$(9) |
Text for computer types supported. Should never be used. |
Variable | Purpose |
---|---|
|
|
|
Access group name |
|
"Line divider;" space, LL%-2 "-"'s, RETURN character |
|
Last user input |
|
number of blocks free on the six system disks |
|
BBS name |
|
"Entering chat" message |
|
"Exiting chat" message |
|
"Returning to editor" message |
|
|
|
2-character BBS identifier |
|
Displayed in the |
|
|
|
User’s computer type name array |
|
User’s computer type number array |
|
User’s credits |
|
User’s calls today? |
|
BBS calls today? |
|
11-digit current date/time |
|
Again, d1$? bad ocr? |
|
Again, d1%? bad ocr? |
|
|
|
|
|
Last user on BBS |
|
Current ML protocol |
|
True last call (date? fixme: more info) |
|
|
|
Downloads allowed |
|
Download count |
|
|
|
|
|
Set 1-6 to designate system drive number |
|
drive number prefix (e.g., |
|
device number |
|
|
|
Error line, reported by |
|
User’s expert mode: 0=off, 1=on |
|
|
|
|
|
|
|
User’s real first name |
|
|
|
User’s User Flags |
|
|
|
|
|
|
|
|
|
|
|
User’s ID number |
|
Lines of text in BBS editor; if 0, aborted or time limit expired |
|
|
|
|
|
User’s last call date (11 digits, like D1$) |
|
Lines allowed in Editor (from fl$) |
|
User’s linefeed flag? |
|
User’s last name |
|
User’s line length |
|
|
|
Logon time? |
|
11-digit date format of user’s last call |
|
|
|
User’s handle |
|
|
|
|
|
User’s current graphics mode: 0=ASCII, 1=Commodore C/G |
|
chr$(0), a null character |
|
Number of posts |
|
Number of responses |
|
|
|
Old SEQ subs "open/closed?" string (?) |
|
|
|
|
|
|
|
prime Time enabled flag |
|
|
|
|
|
|
|
User’s phone number |
|
If user input at prompt is uppercase (0) or upper- and lowercase (1) |
|
Prompt mode |
|
Main prompt string |
|
|
|
PR |
|
PR$ |
|
\# of posts? |
|
prime time flag |
|
|
|
some password |
|
bits per second rate ("current baud") |
|
|
|
CHR$(34), a quote character |
|
CHR$(13), a Return character |
|
|
|
User’s real name (FF$ + " " + LL$) |
|
\# of responses |
|
|
|
|
|
Updated by ML routines; "spacebar hit": 0=no, 1=yes |
|
Subop array, used in SB, UD, UX subsystems |
|
Logical file number in certain routines |
|
Commodore BASIC reserved variable; serial status |
|
|
|
|
|
|
|
Total calls to system (grand total?) |
|
|
|
Commodore BASIC reserved variable; jiffy clock |
|
Commodore BASIC reserved variable; 24-hour clock |
|
User’s time remaining, in minutes |
|
Lines of text stored in editor |
|
Stacked commands |
|
|
|
Highest user account number in user file |
|
|
|
|
|
In order to send text to the modem and screen (PRINT
, for you BASIC
people) as easily as possible, we have developed a routine that works
very similar to the BASIC PRINT statement. Used properly, this routine
also eliminates much of the garbage collection that the C64 is notorious
for. Just as many are used to using the question mark as a shortcut to
PRINT something in BASIC:
?"Hello There!"
You may use the ampersand (&
), IMAGE’s “print” character, to do the
job:
&"Hello There!"
will have the desired effect in the BBS environment! Well, almost. By
default, Image displays the above like using PRINT with a semicolon on
the end. (That does not move down to the next line when finished
PRINTing the current line.) If you want a carriage return to separate
lines, add one anywhere inside quotations by typing function key f6,
which displays K
.
&"Hello There!f6"
You may also:
&an$
or &tt$(x)
(anything using a string variable)
but
&str$(i)
(numeric variable output--&i
is not supported yet).
Some oddities in syntax:
-
You must follow a
then
clause with a colon before using the ampersand. In other words:
if b then &"hello"
will not work.
if b then:&"hello"
must be used instead.
-
If the ampersand is used all by itself:
b=b+l:&:if b then …
(&
outputs the contents of a$
)
The ampersand is also used with arguments to call all of the machine language routines in IMAGE BBS. The table of arguments that are useful in BASIC and a brief description follow:
Function | Purpose |
---|---|
|
Output quoted string or contents of |
Hidden Lt.Kernal User
In setup
, line 93 has a REMmed out line that Lt.Kernal SysOps might
be interested in. If you unREM this line and move your boot disk files
to another user on your drive, you can boot from that user and the BBS
automatically switches back to user 0 during initialization. This lets
Lt. Kernal SysOps "hide" their boot files on a normally unseen user and
boot the BBS as normal.
In line 1081 of im, about ¼ of the way through the line, there is a statement that looks like this:
on-(dv%<>0)goto1083
Changing the dv%<>0
to dv%<>8
tells the BBS you have a Lt.Kernal running DOS v7.2 or higher set up as device 8. This mod allows
the Lt. Kernal fast blocks free reads to be done on just the Lt. Kernal
and the standard routines for all other drives, thus allowing you to
easily mix a Lt. Kernal and standard serial drives without losing the
fast blocks free read on the Kernal.
For users of Lt. Kernal DOS v7.1 and earlier, do not change this line. You can still access all of the LUs, but the fast blocks free read routines will not work and will lock up your system.
In setup
, line 117 is REMed out. It contains the hook for routines to
set the Image BBS system clock based on the CMD’s internal clock.
If you have Macros defined and would like them to come up automatically,
simply add the following to the end of line 82 in setup
:
:&,52,21,1
If you want, you can remove the extra security questions (sometimes referred to as "telecheck" after the e.telecheck
file which contains a log of incorrect login attempts, viewable with the VF command).
One thing that really annoys me is the extra security checks after entering your login ID and password. To get rid of those extra checks all you have to do is remove the following lines from
+.lo
on the Plus File disk.
Note
|
Spaces not present in the BASIC code on disk were added here for clarity. |
673 &"Additional Information:":a=int(rnd(1)*5)+1:on a goto 675,676,677,678
674 p$="FIRST name ":t$=ff$:goto 679
675 p$="LAST name ":t$=ll$:goto 679
676 p$="AREA CODE (???)XXX-YYYY ":t$=mid$(ph$,2,3):goto 679
677 p$="DIALING PREFIX (XXX)/???-YYYY":t$=mid$(ph$,7,3):goto 679
678 p$="LAST FOUR DIGITS (XXX)/YYY-???? ":t$=right$(ph$,4)
Change line 679 from:
679 gosub 1006:c$=an$:goto 156
to:
679 goto 156
Change line 157 from:
157 if pw$=z$ and t$=c$ and z$<>"" and c$<>"" then 160
to:
157 if pw$=z$ and z$<>"" then 160
That’s all there is to it! As an added bonus, removing those few lines will drop your +.lo file size from 40 blocks to 39 blocks and every little bit helps on space and speed ;)
Here are some of the most common questions and problems that people have:
Q: I load the program, and it never gets to the idle screen. What is wrong?
A: There are several things that could cause this. Check all the following:
-
Has your BBS been properly and completely configured using the instructions in the setup chapter under CONFIG?
-
Is each system disk in the correct device/drive?
-
Are all the files copied to the correct system disks, especially the plus-file disk? If an error light is flashing on any of the drives, it usually means that it cannot find a needed file.
-
Are all disk units in proper alignment?
-
Is everything connected to the computer (printers, drives, etc.) turned on? Problems can arise if they aren’t, even if the BBS is not using them.
-
The disk or disk image could be faulty. Try re-copying or re-downloading it.
The following article appeared in the May issue of the Image BBS newsletter, “The Reflection.”
It is reproduced here for the benefit of any that may have missed it. It may be used as a text file on other boards, provided it is used in its' entirety.
IN THE BEGINNING
By: Fred Dart (THE CHIEF)
This month we’ll take a look at the “boot up” process and show what files are accessed and in what order.
There has been a lot of confusion and thus a lot of questions about what was happening and when, this should help a bit.
IMAGE BBS is loaded by an “autoboot” program called image 1.2b
.
This autoboot program loads the ML (machine language) portion of the
program, called simply ml 1.2
.
After the ML is loaded, program control and execution is turned over to
that portion of the program, which in turn loads the files called
screen 1.2
, im
, and finally, setup
(these files vary from version to
version with some additional "ml" routines loaded both before and after
"setup") and then program control is turned over to the BASIC portion of
the program by RUNning the setup
program.
setup
will “set up” all of the system variables, DIM all variables that
the system needs to operate and load additional files, if necessary, and
will then look for a file called bd.data
which contains all of the
device and drive information for the system.
bd.data
is a SEQuential file and can be on the boot disk, if there is
a separate boot disk, or on the disk that the system is booted from. If
the bd.data
file is not found there will be a prompt to
Insert All System Disks And Hit Return.
If bd.data
is found the program will next open the u.config
file and
read the information from record one (the sysop information) which is
stored in the variables i1$
and i2$
. On later versions, u.index
is then opened and the actual number of users is read. (Note that the
index is manipulated and read with the file ++ 4
).
Following this, the file called e.data
, a RELative file that
contains 31 or 32 records of 31 bytes each, is accessed. The information
that is read in from e.data
at this time is the total number of calls
to the system (record 1), the total number of users (record 12), the
total number of handles in version 1.0, from record 16, the last user on
the system (d3$) from record 17, the system password for password subs
(pp$) from record 18,the last date/time the system was accessed in
record 19, whether there is a prime time and what the time limits are in
record 20, the information for the user flags is read in from records 21
to 30, and the next ID number to be assigned to a new user in record 31
(l1).
If the bd.data
, u.config
or e.data
files are not found on the
device and drive that they are assigned the system will prompt with the
same message:
Insert All System Disks And Press Return
After the information has been read from e.data
the RELative file
e.stats
is opened and the first 30 records are read. e.stats
contains the information shown on the BAR Stats and is a file consisting
of 38 records of 10 bytes each.
The program file .lo` is then loaded and program control is turned
over to that file. The `.lo
file is a smaller file and cannot exceed
40 blocks, since it must load another file, the +.modem
file, into a
protected area of memory reserved for “little modem files”. The “little
modem files” are finding much more widespread use in the system than
just as modem files and are now being used in on-line games, such as
“Wallstreet” and in other areas of the board.
After the modem file is loaded it will send the proper set of commands to the modem to prepare it to answer a call and then the board will go to the “System Idle” screen and the load sequence will be completed.
Some additional information about a couple of the files here may be in
order. bd.data
contains several important board parameters in addition
to the device/drive designations for all of the assigned system drives.
The information is stored sequentially, with the first 12 entries being
the devices/drives for the six system drives (dr=1
through dr=6
),
followed by the board identifier that you use on your board (LD
, CH
, TN
or whatever).
That is followed by the number of credits you give to new users when they sign on the system, then by a number that represents the highest device number you have attached to your system minus 7. For example, if you are using devices 8, 9, 10, and 11 the number in field 15 would be a 4 (11-7). For a Lt. Kernal system using device 8 only the number is a 1.
The following number in field 16 is the number of DRIVES attached to
your system. If you have all 1541/71/81 types it would be a 1 since they
are all SINGLE drive units, if you had a Lt. Kernal with 9 LUs accessed
it would be a 9. The next field, number 17 contains your board name.
This is the information that is printed out with the MCI variable £v5
or the string bn$
.
The last information to be accessed is the prompt information, which is
read in and stored in po$
. The final line of bd.data
contains the
copyright information.
The information contained in e.data
is detailed above for the most
part, since most of it is accessed. There is some that is not accessed
by setup
though and is not read in until it is needed. We’ll examine,
briefly, some of the other information in e.data
. Record one, as
stated, is the total number of calls to the system. Records two through
11 are the names of the access groups, from “New User” to “Sysop” or
whatever names you have on yours. In addition to the name of the group
there is a bit of information attached to the very beginning of the name.
The first character of the name of each group contains some access
information that is stored in bits.
This information is the calls per day, time per call, minutes allowed to
idle and so on. If you simply TYPE
the e.data
on a Lt. Kernal, the
first character could appear as a color or some other strange character;
the program edata edit
properly interprets the characters and can be
used to view the entries. +.access
or the off-line config
program
should be used for editing.
Record 12 is the total number of users plus 1.
Note
|
This following paragraph only applies if you are using the SEQuential
style message bases maintained by config . It does not apply if you are
using the newer “TurboRELs”.
|
Records 13, 14 and 15 contain the flags for whether your individual message bases, UD libraries, or UX libraries are open or closed. If all are open then the three records would contain 30 zeros each, if any were closed there would be a one in the position corresponding to the closed board.
Record 16 contains the total number of handles you have on version 1.0. It is not used on the enhanced versions.
Record 17 is the handle of the last user on the system.
Record 18 the password for the password subs.
Record 19 is the date/time the last user signed off.
Record 20 is for prime time: whether you have a prime time and, if so,
the start and end times. The information is stored as three numbers
separated by commas. For example: 0, 0, 0 is no prime time, of course.
If the first number is not a 0 it would indicate that you had a prime
time, the second number would be the start time and the third number
would be the end time. The variables pt%
, p1%
, p2%
and p3%
are used.
Records 21 through 31 have been covered previously.
Record 32 is used to hold the modem string, a string of seven characters with the information for each individual modem on version 1.2.
In addition version 1.3 will contain some new data in the "e.data" file. More information will be available later.
u.config
contains all of the user data and will not be covered here.
There is one additional bit of information that is worth mentioning in
the setup
file. Many people have asked where the message Entering
Chat Mode
or Exiting Chat Mode
is stored. The information is put in
c1$
, c2$
and c3$
during the boot process and remains there. It can be
changed in setup
if desired.
An additional “tidbit” for the enhanced version is the location of the
password mask. The location is 17138 and can be POKE
d with just about any
PRINT
able character. Just decide what character you want, say a ?
for
example, use the statement print asc("?")
and it would print out the
number 63. You would then POKE
that value into 17138 and change the
password mask from an X
to a ?
.
Note that you could also use this: poke 17138,asc("?")
and achieve the
same results. It is even possible to randomize the password mask by
adding the poke in +.lo
and having it poke a random value from a
string of acceptable characters.
(c) May 1990 FandF Products
Permission to reprint is granted provided the file is printed in its entirety.
Q: As reported by Ray “The Wiz” LeJuez: the bootup process seems to freeze with his C128D in C64 mode, after the message
Reading System Configuration...
The internal 1571 drive is set to device #8, his Lt. Kernal HD is device #10.
bd.data
devices/drives were set for device 10, drive 0.
A: There is some speculation that a modification to the Lt. Kernal HD for burst mode in 128 mode may have caused the problem; it boots to the “waiting for call” screen just fine on his C64.
Q: My users cannot log on or send e-mail using the handle. Using the ID number works fine. Why?
A: Files can sometimes get corrupted by what we call an “act of God” (why does He always get blamed for this stuff?). A power brownout/blackout, surge, etc. during a write can do nasty things like this.
This particular problem is caused by the u.config
file being
corrupted. Run +.alpha/ind
, and it should clear things up. (This
program can take quite a while to run, especially if you have a lot of
users, so be patient here!)
Select the options in the following order: LOAD, CLEAR, MAKE, SAVE. The
u.index
file will be re-generated.
Notice as the list is created, it shows what alphabetical position the
user is in for the u.index
file; this has no bearing on the user’s BBS
ID number. Also, a bit of debugging information (the a%
and b%
values,
used in the call to the indexer) is shown.
From Marc Honey:
If for some reason you find yourself with a corrupted u.config
file
(where the users are stored) and have to re-create one from scratch,
don’t forget to edit the e.data
file to reset both the user count and
the next available user #. If you don’t do this then someone can login
and type a user # that was previously assigned but no longer exists.
When this happens the person logging in will get a password prompt but
once they type in a password and hit Return the BBS will lock up. Another
odd side effect of not updating the e.data
file is that should someone
login as NEW they will get id 0 for their login id which is invalid.
There is a BASIC program called edata edit
which is on disk \#2 of the
image 1.2b BBS distro. You can edit record number
If this still does not remedy the situation, go into ED and see if user information is still correct. If not, contact Pinacolada for help. He is working on (as of 1/2008) a user file backup/restore program; after losing half his users' information due to random binary garbage in the user file, he vowed that would never happen again.
Q: My BBS has started to do (any number of strange things) it was not doing before. What is wrong?
This question gets asked frequently during beta-testing.
A: This is usually caused by some modification that has been made to the BBS or a plus-file module. It may not show up for days after a modification has been made, so the problem may not be readily apparent. The fix is to:
-
Copy the original file in question over from your back-up copy of IMAGE BBS, or previous system file(s) you were running
-
Isolate which file the problem is in, perhaps using the "IMAGE Mod Maker"
-
Correct the error, or notify the program maintainer, if there is one.
Also, have you added anything new (hardware? a new game plus file?) to your BBS recently? What has changed since the problem started? Many times, some of the smallest changes can create the largest problems.
Q: My modem (or telnet bridge device) will not work correctly. What can I do?
A: First of all, don’t panic. (Apologies to the late, great
Douglas Adams.) Seriously… since the advent of Rascal’s e.modrc
fix
which adds a configurable modem initialization string and the ability to
customize modem response codes, there are many more options to consider
than in the old days.
Plus, if you’re running a telnet BBS with a bridge program, there are additional things to consider, some of which are discussed in Modem Configuration.
-
DCD carrier detect options in
tcpser
-
file transfer issues with
tcpser
If you have a Supra 2400 baud modem, you will need to set it up specially before you put it on line.
Run the 2400 setup
program on the IMAGE disk with the modem on-line and turned on, and then boot your IMAGE BBS!