@L}5 _$% l0$)$$Hȱ$ UhL" `e$$%`$%`  R@W!( L(1   Y I`  d  Ld M * @  $ % CC$$)%1 Udߥ$9%: !0 S$% DD˙`  }J)Lr d M * @  $ % CC$$)%1 Udߥ$9%: !0 S$%} DD˙`  }J)Lr J  ((  p L ()   J}L= ( L 0q A    IB JC;? D W } LL  ` W )LA!  ߰")-݆ p" } $G@LL 08`Q")<2Q0 -G$Ș݆ UL# ; p8(()(0ʥ)NQ` }$GȘ݆LU )L ݆ L GȘ ݆LL )W>Z   HH)H }p h  hyhy D L> L JJ    ! LA*` BF }7'8  M HN H` 8 Z  \LdJJ!"! GFE@F (!L }EE !E^ ^ E E7EȩEdE/EȩE  D } .L }  ;F d  ;?F7F? ( .   Z D LL d } . D  L    p  E` , d)  D L) 0BM݊L݉} ML  N݆ L NLML [ TEqEHȱEqEh 0Gȹ G} HLL GɛL  LFREE SECTORS G) *Gȩ GȽG GȌ*jj >G} C8jJ3j2CD( C202C ԠBX` N 1? l LlD:RAMDISK}.COMLu L1 L ;LHL  T`  `8  ɐ     `TU  } L ? .  t`GBJ ~DEHI B V0dV!}QDEHI VF9 ,0 ,0 s0hhL  L` H hDHEh"}DEL8HI4 0 HI,0 0  9 .G VLO#},0 L4*IJ`llD1:AUTORUN.SYSNEED MEM.SAV TO LOAD THIS FILE.D8:MEM.SAV J y08 B|DEHI$} V0 0`B;DEL`?<0LV`@ʆ v s? F0Ξ05: [ BDEHI%} VY8 B V  @  /DE `E:D8:DUP.SYSERROR-SAVING USER MEMORY ON DISKTYPE Y TO &}STILL RUN DOS B;DE J  (` 9 V⪍ ઍ  -'}LLu ÝDEHILV 9 .l 9 .l  `` s$B BH(}I|DE V BLV nB,DE JLV B V BLVDEIʩ BꭝLu } 3E:}DISK OPERATING SYSTEM II VERSION COPYRIGHT 1984 ATARI CORP.A. DISK DIRECTORY I. FORMAT DISKB. RUN CARTRIDG*}E J. DUPLICATE DISKC. COPY FILE K. BINARY SAVED. DELETE FILE(S) L. BINARY LOADE. RENAME FILE M. RUN AT ADDRES+}SF. LOCK FILE N. CREATE MEM.SAVG. UNLOCK FILE O. DUPLICATE FILEH. WRITE DOS FILES P. FORMAT SINGLEL !N',}#"&))9(&*)/h)''-&؆莟R'S  vL/ˢ L }Insert DOS 2.0s, type Y Λx -}DEfHI 1莏#q! @ y0ɛ8A0,' ȅ 1 1ild! 1L!NO SUCH ITEMSELECT.} ITEM OR FOR MENU! 0 .z:*{}.|{ 1 0 0JB 18L%|DL/}%DIRECTORY--SEARCH SPEC,LIST FILE?[# 0 0 &|D3" 1L!NOT A DISK FILEN !B 1L!E# 1 !BD0}ED:}:1BJ|DE 1DEBHI 1 h0ߢ 0.1}  0?詛 1 y0YЛ 1 ;#L" ;#L! BL1TYPE "Y" TO DELETE...DELETE FILE SPEC2}COPY--FROM, TO?OPTION NOT ALLOWED697 FREE SECTORS COPYING---D8:COPY32.COMl# 0|D .L/%#3}##JB|DE 1BHID#E 1#0: B 1L!#͑### B 1#c$0SY4}S1}:## # # .#Ƚ# # 𩛙## 1,#PD#ELJ- <.BJD#E 5}1 1HH 0hh|DL%1}:̳# L% #D#EL% 1 0 . .0O% 1L!WILD CARDS NOT A6}LLOWED IN DESTINATION 0 <.|K}N 2 FORMAT. t* 5) 1L!`) 0NΞ 0 L1) 1 L!BAD LOAD FILELOAD FROM WHAT FILE?) 0 ?}0#B 1L!WHAT FILE TO LOCK?) 0 0$B 1L!WHAT FILE TO UNLOCK?DUP DISK-SOURCE,DEST DRIVES?TYPE "Y" IF OK TO US@}E PROGRAM AREACAUTION: A "Y" INVALIDATES MEM.SAV.FE! +L1   `*  70 2 2A} 0.* 1 y0 0)INSERT BOTH DISKS, TYPE RETURN^, 1 y038逍 N, 1L! ,B}C, t*  Lx+, 0 ^, 1 y0 , ,0,0 ,L+ ,I0 ,Vǭ0C}Ξ, 0 }, 1 y0C,ШC, 0K'!" H H 'h h Lx+!EF 5L1L!D,I,HhD}` NOT ENOUGH ROOMINSERT SOURCE DISK,TYPE RETURNINSERT DESTINATION DISK,TYPE RETURNE}`  `8 rL1`-* 1P* 1 y0Y`hhL!NAME OF FILE TO MOVE?- 0 0|DL% <.F},^ 1 70 0 .@L# .BJ 1  DEHIB V L1 ,} 1 70,L.  G}JB|,#P#DE 1 HI BDEHHII 1 B 1 ,^ 1 70,0La- B V,#PH},^ 1 70 0L#L!-* 1P* 1 y0Yj383}mm ݭI}}`8}``|* ? ɛ,`|:-)| / 1L!`DESTINATION CANT BE DOJ}S.SYS0 0H{ 24Δ 28/L!/) 2 Π 2 0 ξK}hAΞB,0 J 1 BDEHI,HÝDE 1HIHIDELSAVE-GIVE L}FILE,START,END(,INIT,RUN)O S0 1`BDEPHI V` S0H 1 L!M}0 0 1L~0`PLEASE TYPE 1 LETTER,0`hhL! 70 1L0L<1 ,;ɛ7,"ɛ:ݦ1ݥN}A"D|ݤD|ȩ:|ȩ|ɛ,,(/+.ީ1 1,ɛ`轤{NAMEO} TOO LONG B VL!` L1I H1EΝDL1|mDiE` V0`8d/8 i:222 1 LP}!ERROR- 144ɛ+,' 20*.. өr2 1``2TOO MANY DIGITSINVALID HEXAQ}DECIMAL PARAMETER800 0 8 00`,0'D800 H,ɛh`2L1NEED D1 THRU D8uR} ECIMAL PARAMETER800 0 8 00`,0'D800 H,ɛh`2L1NEED D1 THRU D8u05  15 2 2151^116115ύ011$r2ԭ5 3)5)5ԭx GT}@@L00)+& 2 L0=ɛ -L!1LV1L1 /3 3ȹ441L-4 v3 25 2H 2h͔5U}L3L3 2 k3U hh`DOC`QL3P1Lk0S1H /3h0B k3@ VL0LU!#$53 1181118V}1111Ε5 1Lk0552 1Ȍ1i111i11115Lk0pppB4f5&&&&&&&&^6f^6&&&&&W}&&A1@BJ D2ELVK@BHILV^Щ6 2BD2EJ VBD5EHI0 V0%5X}5 2iХiL[2 25 25`D:*.*` i@`8 ``@i `8@`0 BLV525<4Y}5`HH i ԍΗ552 ԍhh@ Lح1Э1Ѣ 24.4 24Z}4`D4E` 2BJ k3LVRH` 2BD4EhK)I JLV333 BASIC language TUR > TURBO BASIC OBJ| f}COM > MACHINE language DOC > DOCumentation PIC|MIC|FNT|MVM > Graphics AMS|MUS|MBD > Music LST > BASIC g} LISTing -Some MACHINE language programs can only be run by loading the MENU without BASIC! ------- -For s h}ome programs, XL/XE models may require a "TRANSLATOR" program (available from BELLCOM) to be loaded first! -Most i}programs are relatively self-explanatory; however, some may have separate DOCumentation files. Some BASIC programs m j}ay contain instructions in their program listings. LIST to read. -To view DOCumentation files one page at a time, k} press [START], [Return], or the Joystick Trigger to display the highlighted DOC file. Pressing the [Esc] key cau l}ses a return to MENU. -To print out a hard-copy of any DOCumentation file, [Q]uit the MENU, boot DOS, and then from m} DOS, use the (C)Copy command: D:Filename.DOC,P: -To use this great MENU program on your own disks, simply n} copy the file "AUTORUN.SYS". D:Filename.DOC,P: -To use this great MENU program on your own disks, simply ! ooooo ooooo oooo o o o o o oooo oooo oooo o o o o o ooooo ooooo oooo EXPRESS!p} ========= IMPORTANT ========= The BBS Express! disks DO NOT CONTAIN A DOS!! Yoq}u must boot a DOS from another disk in order to access them and obtain a DIRectory of their program contents! Thr}e BBS Express! 850 and 1030 programs are now shareware products. If you use these programs, we request that you sens}d in a $10 payment to Orion Micro Systems. Our address can be found on the title page of the documentation. To printt} out the documentation use your favourite word processor, or simply (C)Copy the files to your printer. D1:Eu}XPRESS.1,P: DON'T FORGET -- support the ShareWare system and send in your $10 payment if you obtain and use this prov}gram! Now, for the normal legal stuff: This program is a copyrighted work of Orion Micro Systems. It may be placedw} on public Bulletin Board systems as long as the ENTIRE PACKAGE REMAINS INTACT. This product MAY NOT be sold, for ANx}Y amount of money, without the expressed written consent of Orion Micro Systems.his product MAY NOT be sold, for ANXBBS Express!============1030/XM301 and 850 versionsby Keith LedbetterCopyright (C) 1986-1989 by Orion Micro Systemsz}All rights reserved. Reproduction or translation of any part of this work beyond that permitted by sections 107 and 108 of{} the United States Copyright Act without the permission of the copyright owner is unlawful.Orion Micro Systems 2211 Plante|}rs Row Drive Midlothian, Virginia 23113For Technical Assistance, call our support BBS at (804) 379-4156. Online 24 hours a}} day at 300/1200/2400 baud.Technical Assistance is also available on the following Bulletin Board System:M.O.U.S.E. BBS ~}(219) 674-9288Or Leave A Message On GEnie's Atari 8-bit Round Table To ORION.MICROThis Program Was Written Using ACTION!} ACTION! is a Trademark of Action Computer Services Portions of this program are (c) 1984, A.C.S.Modem Handler is (C) Ata}ri Corp. Permission Granted.Atari is a trademark of Atari Corp. Sunnyvale, CASpartaDOS is a trademark of ICD, Inc. Roc}kford, ILBBS Express!============Table of ContentsSection ----------------------------------------------------}--------1. Introduction..................................2. Getting Started...............................3. Creating} The Userlog..........................4. Security Levels...............................5. The Message Bases..............}...............6. Creating The Message Bases....................7. The System Data File..........................8. Sys}op Defined Commands........................9. Variable Tags and The Help Files..............10. The Individual Help Files}.....................11. Download Filename Format......................12. The Prompt Dataset............................}13. Going Online..................................14. Sysop Logon Modes.............................15. The Screen Disp}lay............................16. The Sysop Commands............................17. The User Editor.....................}..........18. Extending The Userlog.........................19. Additional Utilities..........................20. A Sam}ple Configuration........................21. Finished......................................Introduction------------}Thank you for choosing BBS Express! as your bulletin board system. Express! is the most dependable, as well as the quickes}t, bulletin board system available for your 8-bit Atari.This manual is arranged in a manner which will take you through the} steps to get your bulletin board system up and running quickly. The topics covered are arranged in step by step procedures }covering the main elements of setting up Express!, which are:1. Choosing a DOS to use.2. Formatting all needed Data Dis}ks.3. Creating the user data file.4. Creating the message bases.5. Editing/Creating all needed help files.6. Copy}ing files to their related drives.7. Booting up and testing your BBS!While the manual is arranged in a step-by-step fash}ion, there are still areas which depend heavily on other (later introduced) options. Because of this, it is recommended that} you read this manual in its entirety before attempting to set up the board. Configuring your board will be a much easier ta}sk if you do!The most important thing that can be stressed with Express! is to THINK and PLAN ahead. Express! gets its s}peed by pre-allocating both the userlog and the message bases to their absolute maximum size. This is most evident on the me}ssage bases, where a full base with 75 messages can be loaded in under 2 seconds! Not only that, but because of Express's un}ique message base structure, you (the Sysop) will NEVER have to compact message bases! Express! does this automatically, wh}ile the caller is online, when a message base fills up. For Express! to delete a message requires roughly a couple of milli}seconds, since all that must be done is to delete a pointer from RAM.Also, the importance of frequent backups can't be stre}ssed enough. You will find that BBS Express! can run for literally weeks without ever being taken down, so you might have a} tendency to get a little lax on the backups. Please, don't fall into this trap. In six months of testing at two sights (24} hours a day, 7 days a week), Express! crashed only twice, and neither were attributable to Express!. Once was when the pow}er went off (Keith is still working on the 'power supply' code!) and the second was when a disk was physically worn out and a} bad sector popped up. The moral of this is that these things WILL happen eventually, so make sure you are always prepared!}On the note of backups, you MUST back up your disks that contain the user log and message bases WITH A SECTOR COPIER OR DUPD}SK function if you are using an Atari 2.0 compatible DOS. The user log and message bases CANNOT be restored as a file. The }entire DISK must be restored. This is because these files are heavily indexed by sector number. With any Atari 2.0 compatib}le DOS, the file must always reside on the same physical sectors that it was originally created on. If you are using SpartaD}OS 2.x or greater, then you may freely copy both message bases and user log by DOS file copying. This is due to the fact tha}n Sparta DOS handles notes and points differently than Atari 2.0-compatible DOS's.With these words of warning, let's get st}arted on setting up your BBS!Getting Started---------------Now, before we start setting up your BBS system, you must ma}ke a big decision. Which DOS are you going to use? This is probably the biggest decision to be made under Express!. Are yo}u going to be using a RAM disk? How many disk drives are you using?If you have an XL or XE computer, Orion Micro Systems r}ecommends that you use SpartaDOS (version 2.x or greater). This is a very powerful DOS, with a very low LOMEM and excellent }Ramdisk support. In addition, message bases and user log may be DOS file copied, which makes moving the message bases much e}asier should that need arise in the future.If you prefer to use another DOS for your BBS system, then the only requirement }is that it can be configured not to conflict with the modem handler. This means you must be able to get the LOMEM value down} to around the area of $1E00. Since there are so many DOS's available today, there is no 'cut and dry' configuration set-up,} and it is likely that there will have to be some experimentation on your part by configuring for different number of drives }and buffers to get things to work properly. If you are currently using the terminal program 1030 Express! or 850 Express!, }then the same configuration's will work fine with BBS Express!, since the handlers load in at the same location in memory.B}efore we go any further, you should make a back-up copy of both sides of your original Express! disk. Express! is not copy}-protected, so you can either copy it with a sector copier or by a file-by-file copy from any DOS. Once you have backed up y}our original disk, file it away in a safe place and use your backup version from here on out.At this time, you should also }format a blank diskette with the DOS that you have chosen to use for your BBS. Then, copy the files from the FRONT side of t}he Express! disk to it. This is so that you will be running all of the creation programs under the same DOS that you plan t}o use on the BBS. If you are using SpartaDOS and have an Atari 1050 disk drive with a US Doubler installed, you can format t}he disk using the high speed option. This will speed up the booting process as well as the file creation process. The high }speed option can also be used when formatting your working data disks.The next step is to format blank disks with NO DOS. }You will need to format a fresh disk for each drive that you plan to use on the BBS system. After you have formatted these d}isks, label them appropriately so there will be no confusion once you have actually started the configuration process (ie: D}ata Disk 1, Data Disk 2, etc.).Throughout this manual, you will see the words PATHNAME and FILENAME used quite a bit. You }should understand the definitions of these terms before continuing to configure BBS Express!.PATHNAME - To the BBS, a pathn}ame is the text string that PREFIXES the actual dataset name. When the BBS uses a pathname, it will append the dataset name }that it wants onto the END of the pathname. If you are using a DOS that doesn't support pathnames (such as DOS 2.0 or DOS 2.}5), then the pathname will only be the drive specifier, such as 'D1:' or 'D8:' (note the colon!).FILENAME - A filename to t}he BBS is the FULL specifier for the file, including drive specifier, path name, dataset name, and extender. Here are some e}xamples:FILENAME PATHNAMED1:USERLOG.DAT D1: D2:BBSDATA>USERLOG.DAT D2:BBSDATA> D8:MENUS>MAIN.HLP D8:MENUS> D3:LIBRARY.HLP} D3: D8:MENUS:MAIN.HLP D8:MENUS:As you notice above, some DOS's like SpartaDOS use the '>' character as the path specifier}, while other DOS's like MyDOS use the ':' character. You must use the correct path specifier for the DOS that you are using}!Creating the Userlog--------------------Now that you have all of your data disks formatted to their proper density, w}e are ready to begin. The first thing that needs to be done is to create the user log dataset, which is the dataset that con}tains information on each user of your BBS.This process requires some thinking ahead on your part, since the ENTIRE userlog} is pre-allocated. You should plan on setting up for the maximum number of users that you ever want to allow on your BBS. Y}ou may later decide to extend your userlog by utilizing the UEXTEND.COM utility supplied on the Express! disk. Decide how m}any users you want as a maximum on your board (if you figure on, say, 150 maximum, why not pad on an extra 25?). Once you ha}ve decided on the number of users, insert the back-up version of your Express! disk in drive #1, and load and run the file M}AKEULOG.COM. Once the program boots up, you will be prompted with 'MAX ENTRIES ==>'. Enter in the max number of users you w}ant allocated and press RETURN. The program will next prompt you to 'Insert Disk to Create Files, Then Press The START Key'.} Put your freshly formatted data disk into drive #1 and press START. The program will grind away for a while (more users = }longer run time). When the program completes, you have finished step one in getting your BBS system up and running (I TOLD y}ou it was easy!). The data disk now contains 2 additional data sets, which are the userlog data file and the userlog index f}ile. They are named USERLOG.DAT and USERLOG.IDX, respectively.Security Levels---------------The security level scheme} used by BBS Express! is at the BIT level. What this means is that each of the 8 bits in the user's security level byte cor}respond to one of the 8 security levels. The main reason behind this security level scheme was to give you more flexibility }in giving people access to different parts of your BBS. With this security level system, you validate users level by level s}tarting with level 1 and carrying up through level 8. The advantage to this scheme is that you can selectively give people a}ccess to a higher level feature WITHOUT giving them access to lower features. For example, you can give users access to leve}l 5 functions but NOT give them access to level 1 and level 2 functions, if you so choose.Perhaps a thorough explanation of} how the BBS validates users would help make this more clear. There are security levels of 0-8...s a thorough explanation ofb...for both message bases and download files. Assume that message base #3 has a security level of 6. Here is what would ha}ppen when the user tried to enter base #3: If BIT 6 of User's Security Level = 1 then Allow Access Else Don't Allow Access G}reat, you say. But how do you figure out these security levels? Well, if you are using the UEDITOR.COM to change the user's} security level, you will be prompted BY LEVEL for whether the user has access to level 1 functions, then level 2 functions, }etc. If you are validating the user while he/she is online, then you are on your own to add up the correct bit patterns. Bu}t, it really isn't that difficult. Let's look at the following chart:Security Level 1 2 3 4 5 6 7 8 ------------------}--------------------------------------- Amount to Add 1 2 4 8 16 32 64 128Using the above table, you can see that to give }a user access to level 1, 4, and 5 functions you would add 1 + 8 + 16 for a security level of 25. Pretty simple, huh? A SYS}OP security level is 255 (which is all of the numbers above added together). You CAN give users access to level 8 functions }AS LONG AS AT LEAST ONE LOWER LEVEL FUNCTION IS A ZERO. If you give them access to ALL of the levels, then they have just be}come a SYSOP as far as the program is concerned.This same scheme is used on download files, too. When a user is browsing f}iles and the BBS finds a level 2 file, it will only show the file to the user if their BIT 2 is turned on.The Message Base}s-----------------We are now ready to configure the message bases for your BBS system. This, too, requires some thinking} ahead on your part. Express! allows you some very powerful options regarding message bases, so we will discuss the message} base layouts before proceeding on.Under Express!, you can control the number of message bases that are available to the us}er. Some sysops may want more bases and less download space, while others will prefer having only one or two bases, leaving }more disk space for other things. Once you have created your message bases, they will never grow any larger (in disk space) }than what they were originally. This makes it possible for you to take your free sectors on a disk down to where the disk is} almost full, without any worries of getting 'disk full' errors. There is a price that must be paid for this kind of luxury:} once a message base has been allocated, the number of messages / bytes per message sizes CANNOT be changed without deleting} the existing base (and all of its messages) and creating a new message base or by creating a new message base and running th}e utility LOADBASE.COM which will copy all messages in the old message base to the newly created message base. More about th}is procedure later. So, once again, the moral is PLAN AHEAD!.The things that you should decide on ahead of time are:* Ho}w many message bases do I want on my system?* What is the number and name of each message base (15 chars max).For example}, base one might be 'GENERAL', base two might be 'QUESTIONS', and so on.* What is the security level of each message base?}Each message base may have a security level of 0 - 8. This allows you to set up special bases like a 'user group' base, and} then selectively allow only certain users to access those messages.* On what disk drive do I want each message base to be?}Each message base can be on any disk drive you wish. Message bases can be on RAM disks if you are utilizing SpartaDos and }may be periodically copied to a floppy disk for permanent backup. But, fair warning, if your message bases reside on ramdisk} and you lose power, you will lose all messages posted since your last backup.* How many messages do I want allocated for e}ach board?Each base may be allocated for a different number of messages. For example, you could set up base one to have a }max of 50 messages, but set up base two to have a max of only 25 messages. There is NO message base compaction required unde}r Express. What happens is the system DELETES a message when it needs to. For example, lets say that you set up base 1 to h}ave a maximum of 50 messages. When a user posts a new message on that base, Express will check to see if there are already 5}0 messages there. If there are, then Express will delete message number one, roll everything up, and post this new one as me}ssage number 50!* How many characters per message do you want each message to be?The message editor of Express! works no}t on a 'number of lines' basis, but on a 'bytes per message' basis. This allows you the ability to make your BBS appear to b}e much bigger than it really is by creating more message bases with lower specifications on the bytes per message. A good st}arting point to think about is 1000 bytes per message. I know that doesn't sound like a very big message, but you would be s}urprised at how much a user can put into a 1000 byte message. This value can be anywhere from 100 bytes per message up to 17}50 (a HUGE message).There is one special message base that you should always allocate: base # 100. This is the Electronic} Mail area. As far as Express! is concerned, E-mail is just another message base (although to the user, it looks totally di}fferent). You should ALWAYS allocate a Board # 100! Also, ALWAYS set the security level on Board #100 to zero. This will a}llow level 0 users to leave feedback to you.At this point, you may want to try out the BASIC program on your Express! disk} called CALCSIZE.BAS. This small program will let you calculate the size (in sectors) of differently configured message base}s. The program will ask two questions: [1] How many bytes per message, and [2] How many messages max for the base. It will} then tell you (approximately) how many sectors, in both double and single density, that certain configuration would take up }on your data disk. This is a good way to 'play around' with different settings, enabling you to get the most out of the disk} space that you have available.Creating Your Message Bases---------------------------Now that you have decided on the }different allocations for your message bases, we are now ready to create them on your data disks. Place your Express! disk }into drive one and load the binary file MAKEMSGB.COM (If you want to create your message base in a sub-directory, you must fi }rst perform a 'change working directory' command on the data disk where the message bases will reside). When the program boo }ts up, you will be asked the following questions (for each different message base):* Board Num ==>Key in the board number } that you want to create (boards MUST be numbered from 1- CONSECUTIVELY (you can have up to 25 boards, numbered from 1- }25).* Board Name ==>Enter in the name of this board (up to 15 characters long). This name will actually appear in the me }ssage base prompt when the user is on this base. The name can contain inverse and/or lowercase letters.* Sec. Lvl ==>En}ter the security level for this particular board. A security level of zero will allow ANYONE (even first time callers) to ac}cess this message base.* Max Msgs ==>Enter in the maximum number of messages that you want allocated to this base. This }can be anywhere from 1 to 75 messages.* Bytes/Msg ==>Enter in the size (in bytes) to which you want to limit each message} in this message base. The absolute maximum size is 1750 bytes per message.* Which drive to create on?Enter in the numbe}r of the disk drive on which you want this board created. This has NOTHING to do with where the board will be once the syste}m is running (that will be specified in the SYSDATA.DAT file that we will cover later). This option simply allows you more f}lexibility when allocating your bases. MAKE SURE that you insert the correct data disk for this board! In other words, if y}ou want message base 5 to be on disk drive #2 when the board is running, make sure that you insert Data Disk #2 into the driv}e that you just specified!At this point, the program will prompt you to insert the data disk into the drive that you specif}ied above, and then to press the START key. Once you do this, the program will create the message base on your disk, and wil}l then return to the 'Board Num.==>' prompt to allow you to continue this process and create your next message base.When yo}u have completed this process for every one of your message bases, you should then do the E-Mail base, which is board #100 (s}ee above). Don't forget, set the Board # to 100, and the security level to 0!When you are finished creating all your messa}ge bases including Email, enter a '0' at the 'Board Num.==>' prompt to exit the program.The System Data File-------------}-------Well, if you have made it this far, you can pat yourself on the back! We are now in the homestretch, and should ha}ve your BBS system on-line in no time! At this point, it is time to move on to the data files required for Express! to run.} The first file we will create is one of the most important. This is the file called SYSDATA.DAT. There is a utility calle}d SYSEDIT.COM on your Express! disk that is used to edit and/or create your SYSDATA.DAT file. Place your Express! disk int }o drive one and load the binary file SYSEDIT.COM. When the program finishes loading, you will be prompted to either enter th!}e fully qualified filename of your SYSDATA file or to simply press RETURN to create a new one. If you enter a filename, then"} the program will try to read that file in to be edited. You must enter the FULL name of the file, including the drive speci#}fier and any path names (if applicable).We will now cover each command available in the SYSEDIT program along with it's fun$}ction to the BBS program itself."+" commandThe '+' command will toggle between the three 'pages' that are used while in t%}he SYSEDIT program.A. Hi Message NumberThe A command allows you to modify the current 'high message number' on your BBS.&} You should enter a '1' here. After that, you should refrain from ever changing this number, since an incorrect value here '}could have very strange side effects to the operation of your BBS.B. Total CallsWith this command, you can specify the t(}otal number of calls that your BBS has received. If you are just starting a BBS, you should enter a '0' here. If you have b)}een running a board under different software, enter the number of calls your board has received to date.C. Total Calls Tod*}ayThis field represents the number of calls that your BBS has received since 12:00 am of the current day. The BBS program +}will automatically zero out this field when the day rolls over to the next day. This field is also represented by a variable,} tag field, which is &35.D. Number Of BasesIn this field, you must enter the number of message bases (NOT counting the E-}-Mail base) that your BBS has.E. Call ModeA zero in this field means that the BBS will only accept ATASCII callers, whil.}e a one signifies that the BBS will accept either ATASCII or ASCII callers.F. Feedback ModeA zero here means that all 'F/}'eedback to the sysop will go to the printer. If this field contains a one, then the feedback will go into the E-Mail base a0}s normal electronic mail, making it much easier for you to answer feedback.G. Level For UploadsIn this field, you specif1}y the level that you want uploads to be placed at. This field must have a value of 0-9. If the level is placed at 9, then O2}NLY sysop level users will be able to see the file before its level is lowered.H. Download RatioThis field specifies the3} 'upload to download ratio' that you want for your BBS. The number you enter is simply the number of downloads that a user c4}an do before they must upload a file. For example, if you enter a 10 in this field, when a user...f downloads that a user cd...tried to download a file, the BBS would divide their total downloads by 10. If the number divided by 10 is greater than 6}the number of uploads that they have done, then the BBS will not allow the user to download the file.I. Initial Security L7}evel J. Initial Time LimitHere you tell the BBS system what security level and time limit that you want NEW users to get (8}those that request a permanent password).K. Secondary PasswordSince all of the BBS Express! sysop commands can be execu9}ted from a remote terminal, this field is used to provide more system security. You specify here a secondary password that a:}ll sysop-level callers must enter before they are allowed access to the BBS.L. Userlog DATA NameIn this field, you must ;}specify the fully qualified FILENAME of your userlog dataset. You can simply enter "D1:USERLOG.DAT" into this field or any f<}ilename you chose.M. Userlog INDEX NameIn this field, you must specify the fully qualified FILENAME of your userlog inde=}x file. As you did above, you can just specify "D1:USERLOG.IDX" or the same filename you specified above with an extender of>} IDX.N. Message Base PathnameHere you must specify the PATHNAME to be used for your message bases. You must include the?} "D#" specifier, even though its value is not used. The BBS will use the "Base Specifier" (option Q below) to replace the "D@}#" with the correct drive number for each message base. If you have your message bases spread out over more than one drive, A}the pathname MUST be the same on each diskette. For example, if you specify a pathname of "D1:BASES>", then there must be a B}sub-directory called BASES on EACH of your disks that contain message bases. If you are not using sub-directories for your mC}essage bases, then the value here should be 'D1:'.O. Help File PathnameIn this field, you specify the PATHNAME where allD} of your.HLP files are located (i.e.D8:HELPFILE> or just D8:).P. File For Log MessagesIn this field you specify the FILEE}NAME where you want all of the log messages to go. These are the messages BBS Express! puts out when a user calls. ExpressF} will log the Call Number, Users Name, Users City and State, Logon Time, Baud Rate, Logoff Time and any uploads or downloads G}that the user performs during the call. If you want these messages to go to a printer, then specify "P:". If you would prefH}er them to go to a disk file, then enter the fully qualified filename of the disk file. Since the LOG routine must open the I}file in APPEND mode for each line it writes out, it is recommended that you only specify a disk file that is on ramdisk. If J}you are using SpartaDOS, then writing to a floppy disk is acceptable also, since SpartaDOS does not read the entire file whenK} it is opened for APPEND mode.Q. Base / Drive SpecifiersThis field is simply a long string of numbers, telling the BBS wL}hich drive (1-8) the corresponding message base is found on (1st position = base one, 5th position = base five, 26th positionM} = Email base). So, starting in position #1, enter the drive number that each existing message base will reside.R. Sysop N}Defined CommandsIn this field, you can specify a string of up to 8 characters that define your own personalized commands. O}For a full explanation of the sysop-defined commands, see the 'Sysop Defined Commands' section found later in this document. P} If you are not using sysop defined commands at this time, this field should be left blank.1-8. Download PathsThe commanQ}ds '1' thru '8' are used to specify the PATHNAMES that you want the BBS to use for downloads and uploads. The paths will be R}searched in the order that they are specified (ie: [1] first, [2] second). This also means that when a user uploads a file,S} the BBS will start searching for free space to do the upload in the specified order, too. You can use this to your advantagT}e by specifying an upload-specific path name as number one. This way, providing there is sufficient space, all uploads will U}always go to the same pathname. Here is an example setup:1. D2:UPLOADS>2. D3:UPLOADS>3. D4:DOWNLOAD>4. D5:5. D1:V}6. D8:Using this setup, here is what will happen when a user uploads a file. The BBS will search the above paths in orderW} looking for free space. If there is enough room on drive 2, then the file will get uploaded to the path D2:UPLOADS. If driX}ve two doesn't have enough room, then the BBS will check drive 3. If room is found there, then the upload will go to the patY}h D3:UPLOADS.This will continue until either enough room is found, or the BBS determines that you are out of disk space, atZ} which point the upload will be aborted and the user would receive a message saying 'Sorry...No Disk Space Is Available.'.W[}hen a user does a Browse files command, the BBS will also search in the above order to display any files available for downlo\}ading.S. Download Path DefinesIn this field, you specify the density of each download path that you specified with the ']}1-8' commands above. The allowed values here are: (0) Path not used, (S) Path is a SINGLE density path, and (D) Path is a D^}OUBLE density path. If you do not specify a pathname for one of the paths 1-8 above, then that entry will be specified as 0._} So assuming all your drives are double density with the exception of D8:, which is a single density ramdisk, this option wo`}uld look like this using the above paths: DDDDDS00 In this example, paths 1 thru 5 are used for up/down loading and are douba}le density drives. Path 6 is used and is single density. Paths 7 and 8 are not used for up/downloading.After you have finb}ished editing your SYSDATA file, press the ESCape key to exit. You will be prompted to enter in the fully qualified filenamec}, including the drive specifier, to write this new data file to. In most cases, you will respond with the same name that youd} entered for the input file.Sysop-Defined Commands----------------------One of the features of BBS Express! is the abe}ility to have up to 8 commands that you can define for your own use. These commands can be used to view any text file, and cf}an be thought of as additional 'Library' type functions.These commands can only be invoked from the main command prompt. Ag}s an example, let's assume that you want to add a command to view a text file that contains information about your local compq} B%DOS SYSB*)DUP SYSB SAUTORUN SYSB_HELP DOCB oREADME DOCB]yEXPRESS0DOCB_EXPRESS1DOCB_5EXPRESS2DOCBVEXPRESS3DOCB_EXPRESS4DOCB`REXPRESS5DOCBEXPRESS6DOCuter club. The first thing you must do is to figure out what letter you want to use for the command. It must be a characterr} that is not currently used from the main command menu. In this example, we will use the letter 'Z'.First, you would edit s}your SYSDATA.DAT file with the SYSEDIT command. You would change the 'Sysop Defined Commands' field to include a 'Z'. Next,t} exit out of the SYSEDIT program and re-save the file.At this point, you would now need to load the PROMPT.DAT file into a u}word processor. If you look through the PROMPT.DAT file, you will see eight definitions for the sysop-defined command promptv}s. Since this is the first sysop command added, you would change the prompt that corresponds to the first command to say somw}ething like "Computer News@". This is the string that will get displayed when the user presses the 'Z' key.The prompts corx}respond directly to the order of the commands specified in your SYSDATA.DAT file. In other words, if you had four sysop commy}ands defined, let's say 'ZEX#', then the first prompt in the PROMPT.DAT (number 143) would go with the 'Z' key, the second (nz}umber 144) would correspond to the 'E' key, and so on.At this point, there are only two other things that you must do. One{} is to recompile your PROMPT.DAT file using the COMPILER.BAS program. Then you must create a text file called YOURZ.HLP. Th|}is is the file that the BBS will read whenever the user hits the 'Z' key. The format of this filename is always YOURx.HLP, w}}here x = the sysop defined command. This file MUST be in the same location as your other.HLP files. These files may also be~} turned into selection menus by placing the word MENU in the first line of the file and formatting the file the same as if it} were a library text file.Variable Tags and The Help Files--------------------------------We are now ready to cover th}e help files, which are signified on the back side of your Express! disk by the extender.HLP. These files contain text file}s ranging from system menus to user status files to logoff messages.The help files that are on your Express! disk are gene}ric in nature but could very well be used now if you are in a hurry to get your system up and running. If this is the case, }then copy all of the.HLP files to your correct data disk (the one you specified in the SYSDATA.DAT file above), and skip on t}o the next section.Still with me, huh? OK, then let's cover a very interesting feature of the help files before we get sta}rted. This is the 'variable tag' information. If you will read the file LOGSTAT.HLP into your text editor now, you will see} what the variable tags look like.What? What are all of those strange '&' symbols? Well, those are the 'tags' that you ha}ve available to you for use in all of the.HLP files. What a tag does is signify to Express! that it should display a PROGRA}M VARIABLE at that point in the text file. These tags are made up of two pieces of information. First, there is the '&' sig}n, which signals Express! to prepare to display special information. Second is the tag-number, which MUST be two characters} in length, and is a number between 1 and 36. There are 36 separate variables that Express! can display. Tag 36 is the BAU}D RATE tag and is only valid for the 850 version of BBS Express!.Here are their numbers and corresponding information:&01} - The user's NAME (only after completely logged on).&02 - The user's PASSWORD.&03 - The user's CITY.&04 - The user's STAT}E.&05 - The user's PHONE NUMBER.&06 - The user's LAST CALL DATE.&07 - The user's SECURITY LEVEL.&08 - The user's CONNECT }TIME (for today).&09 - The user's TIME LIMIT per day.&10 - The user's HI MESSAGE COUNTER.&11 - The user's UPLOAD count.&1}2 - The user's DOWNLOAD count.&13 - The user's PARAMETERS (you shouldn't use this).&14 - The user's TOTAL CALLS to this BBS}.&15 - The TEMPORARY user NAME (see below).&16 - The TEMPORARY user CITY.&17 - The TEMPORARY user STATE.&18 - The TEMPORA}RY user PHONE NUMBER.&19 - The CURRENT DATE in the form Sat 29-Mar-86.&20 - The LAST CALLER's name.&21 - The CURRENT TIME.}&22 - The SYSTEM HI MESSAGE COUNTER.&23 - The CURRENT MESSAGE BASE user is on (in form 1-25).&24 - The TOTAL CALLS your BB}S system has received.&25 - The MINUTES CONNECTED for current caller.&26 - The NAME of the current message base user is on.}&27 - The TITLE of the last read message.&28 - The AUTHOR of the last read message.&29 - The DATE stamp of the last read m}essage.&30 - The TIME stamp of the last read message.&31 - The NUMBER OF MESSAGES on the current base.&32 - < for system u}se >&33 - The CURRENT DATE in the form 03/29/86.&34 - The 'TO:' name in each message header.&35 - The # OF CALLS received }since 12:00 am.&36 - The BAUD RATE of the current caller.You should note that the above TEMPORARY tags (15-18) are only va}lid BEFORE the user gets completely logged on. About the only use for these fields would be in the NEWUSER.HLP file, so that} you could customize your message to NEW users.In addition, these tags can be present in any of your menus and help files. } If you should ever need to have an actual '&' in one of your text files, then put in TWO '&' signs (ie: 'this && that' woul}d display as 'this & that' to the user).The Individual Help Files-------------------------We are now ready to move on }to the...as 'this & that' to the user).The Individual Help Files-------------------------We are now ready to move on  ...individual help files. There is not much to be discussed here, since the files are fairly self-explanatory. About the o!}nly useful information to pass along to you is WHERE and WHEN the different files are displayed. Here is the list of each fi!}le along with a brief description of what it is:SYSOP.HLPThis is the file that is displayed to your screen while the BBS !}is inactive (waiting for a call). Put your own nice little logo here. In addition you may want to include the 4 logon modes!} available to you by hitting the 1, 2, 3 or 4 key. See the section on Sysop Logon Modes for more information on these logon !}modes.SYSOPCMD.HLPThis file is the Sysop menu that is displayed when you press '?' from the 'Sysop Command' prompt.SYSI!}NFO.HLPThis file is displayed when the user selects the 'Info on System' option from the main command prompt. Use this fil!}e to tell the user what type of hardware your system is running on, along with any pertinent information (why not tell them t!}he software, too -- we could sure use the advertising!!). You can structure this file as a selection file and have 2 options!}, one for hardware information and one for software information.CONNECT.HLPThis file is displayed when a connection is ma!}de, BEFORE the user gets the 'Go Atascii, Hit Return' message.WELCOME0.HLP/WELCOME1.HLPThis file is the first one display!}ed once the user has logged on. Use this for your signon screen. This file can also be re-displayed if the user selects the!} 'title page' command from the main prompt. The WELCOME0.HLP file is displayed if the user is in ATASCII mode, and the WELCO!}ME1.HLP is displayed if the user is in ASCII mode. This allows you to have a fancy cursor-art type screen for your Atari cal!}lers only.SYSNEWS.HLPThis is the file you should use for your 'system news' bulletins. This file is displayed during a u!}ser's logon, or will be shown if the user selects the 'system news' option from the main command prompt.LOGSTAT.HLPThis f!}ile is the third shown after a user has logged on. Use this file to welcome the caller to your board, as well as to tell the!}m things like who the last caller was.MAIN.HLPThis is the 'Main Menu' file, and will be displayed when the user presses '!}?' at the main Command: prompt.MAINM.HLPThis file is a 'mini-menu' that is displayed when the user presses the '/' key f!}rom the main command prompt.BOARD.HLPThis is the 'Board Menu' file, and will be displayed when the user presses '?' key f!}rom the message base prompt.BOARDM.HLPThis file is the 'mini-menu' that is displayed when the user presses the '/' key fr!}om the message base prompt.EDITOR.HLPThis is the message editor help file, and will be shown when the user presses '/?' f!}rom within the message editor.NEWUSER.HLPThis is the text file that will be displayed to the user when he/she logs on as !}a 'NEW' user. Use this area to welcome the new caller to the board and to pass along any important information about your re!}quirements for getting their password validated. If you want to get the user's real name, address, etc., then you should inc!}lude a line or two telling them to leave 'F'eedback to you with that information, since Express DOES NOT make new users leave!} this type of information.USTATS.HLPThis is the file displayed when the user selects the 'Your Stats' option from the mai!}n menu.BLIST.HLPThis file is the message base list, and is displayed when the user selects the '*' command from either th!}e Command prompt or the message base prompt. Use this file to show what message bases you have available, including their nu!}mber and name.BBSLIST.HLPThis file is the 'other BBS numbers' list, and is displayed when the user selects this option fr!}om the main Command: prompt. Place names and numbers of other known operating BBS systems in this text file.LOGOFF.HLPT!}his is the file that will be displayed to the user when he/she logs off of the system.LIBRARY.HLPThis file is displayed w!}hen the user selects the 'L'ibrary function from the main menu. But, this file does more than just being displayed to the us!}er -- it also tells Express what files go with what selections from the library. Not only that, but you can do 'selection' m!}enus on ANY of your text files. When BBS Express! displays a text file, it will look for the word 'MENU' in the FIRST line !}of the file. If the word MENU is there, then Express! expects a 'selection' text file to follow, with the following compone!}nts:MENU 4D2:CARTOON.MNUD2:TUTORS.TXTD3:ORDERING.TXTD4:CLUBNEWS.MNUMain Library Menu[1] Cartoon Collection[2] BBS!} Tutorial Files[3] Ordering Information[4] Computer Club NewsImmediately following the word MENU is the number of selecti!}ons allowable on this menu. Following the number are the files to be displayed depending on the selection that the user ente!}rs. Starting with the next line after the last file name is the text that you want to be displayed to the user.You can cha!}in MENU files as deep as you want, limited only by the disk space that you have available! In other words, selecting number !}1 above will display the file D2:CARTOON.MNU, which could be another MENU file for the user to select which cartoon file they!} wish to view, as seen below:MENU 7D2:CARTOON1.TXTD2:CARTOON2.TXTD2:CARTOON3.TXTD2:CARTOON4.TXTD2:CARTOON5.TXTD2:CART!}OON.MNUD2:LIBRARY.HLPCartoon Library[1] Cartoon Number One[2] Cartoon Number Two[3] Cartoon Number Three[4] Cartoon N!}umber Four[5] Cartoon Number Five[6] Redisplay this menu[7] Return To Main Library MenuAs you can see from this file, yo!}u can even select the same file that you are currently viewing, or allow the user to go backwards in the sub-menu chain by sp!}ecifying the previous menu's file name. The MENU files are not limited to the LIBRARY.HLP file only. You can use this same !}technique for ANY text file that the BBS displays, such as SYSINFO.HLP, BBSLIST.HLP, etc. Use your imagination!NOTE: Ther!}e is a limit of 45 entries per menu in each selection menu.DLHEADER.HLPThis is the text file that is displayed at the top!} of each 'Browse download files' screen.Download Filename Format------------------------Before we go further, we must !}now discuss the naming conventions of DOWNLOAD files that will be on your BBS system.The EXTENDER field is the most importa!}nt on download files. This extender does 3 things:[1] It determines the FORMAT of the file.[2] It determines the TYPE of !}the file.[3] It determines the SECURITY LEVEL of the file.By FORMAT, we mean as in Object File, Action! source code, Save!}d BASIC, Listed BASIC, etc.By TYPE, we mean Game, Utility, Home Application, Demo, etc.For example, let's take a file nam!}ed LOANS.BAS which is a home application-type program to calculate mortgage payments. Then, let's assume that you have defin!}ed the letter 'B' to mean BASIC (this will be covered below - be patient) and the letter 'H' to mean Home Ap. Also, we want !}this file to be available to everyone, so we will copy the file to one of our 'download' drives (remember? you specified tho!}se in the SYSDATA.DAT file), and rename it to:LOANS.BH0Now, when Express! displays this file on the 'B'rowse files comma!}nd, here is what the user will see:LOANS | 012 | BASIC | Home ApSimple, huh? The third position of the extender is the S!}ECURITY LEVEL of that file. If, for example, you have a file with an extender of.BA3, then this file would ONLY be displayed!} on the browse files command if the user had a level where Bit 3 was turned on.Now that we know a little about the extender!}s of download files, let's carry on with our.HLP files.DLFORMH.HLPThis file contains the table lookups for the FORMAT of !}each file when the user is doing a Browse Files command. This provides you great flexibility in being able to set up your ow!}n customized format descriptions. Here is an example DLFORMH.HLP file:OObject AAction! BS. BASIC LL. BASIC MA.M.S. XOt!}herWhen a user does a 'B'rowse files command, Express! will automatically load the file DLFORMH.HLP into memory. Then whe!}n displaying a file, Express will examine the FIRST byte of the extender and will then search down in memory looking for a ma!}tch on this character. If a match is found, then Express will display the corresponding literal from the above table.NOTE:!} The literals in the table entries may be from 1-8 characters long. There is a logical limit of 100 entries in the table, b!}ut a physical limitation of the possible characters that can be used in a filename. But, rarely should you ever need more th!}an the letters A-Z.DLTYPEH.HLPThis file is identical in function to the above DLFORMH.HLP file, except it contains the ta!}ble lookups for the TYPE of file, determined by the SECOND byte of the file extender.Here is an example DLTYPEH.HLP file:!}GGame MMusic HHome Ap BBusiness UUtility DDemo XOtherOnce again, the literals in the table may be from 1-8 characters long.!}DLFORMS.HLPThis file works hand-in-hand with the DLFORMH.HLP file. This is the SELECTION file that will be presented to !}the user when he/she uploads a new file (after all, let your users set the format of the file for you, right?). Here is an e!}xample of a DLFORMS.HLP file, corresponding with the above DLFORMH.HLP file:OABLMX Please Choose A Format:[O] Object File!}[A] Action Source Code[B] Saved BASIC[L] Listed BASIC[M] AMS Music File[X] OtherThe most important line here is the FI!}RST line (and, it MUST be the first physical line in the file!). This is the selection line, and tells Express! what the va!}lid keypresses to accept are. In the above case, Express! will prompt the user for 'Selection:', and will NOT accept input !}unless it is either an O, A, B, L, M, or X.Express! will then use this character as the FORMAT byte in the new file's exte!}nder field.DLTYPES.HLPHave you guessed what this one is yet? You're right! This is the same as the above DLFORMS.HLP, b!}ut corresponds to the TYPE of the file. Here is another example, this time corresponding to the above DLTYPEH.HLP file:GMH!}BUDX Please Choose A Type:[G] Game[M] Music Demo[H] Home Application[B] Business Program[U] Utility[D] Demonstration[!}X] OtherHere again, Express! will display the text from the second line down, display a 'Selection:' prompt, and then wait!} for input. In this example, only the keypresses G, M, H, B, U, D, or X would be accepted. Express! will then use this cha!}racter as the TYPE byte in the new filename. This file is also used to get the user's 'Browse Files' specification if he/she!} hits '?' at the browse prompt.ew filename. This file is also used to get the user's 'Browse Files' specification if he/she The Prompt Dataset------------------You will find a dataset on your Express! diskette named PROMPT.DAT. This file cont%}ains all of the 'prompt definitions' used by BBS Express!. You can change these prompts any way that you like (please make y%}our changes to a backup of the file!).After changing the prompt dataset, you should run the BASIC program called COMPILER.B%}AS. This program reads the text dataset with your prompt definitions and creates a binary file that BBS Express! can unders%}tand. Once the compile completes with no errors, you will be asked for the name of the output dataset. You should name the %}output file PROMPT.OBJ, and write it to the disk that you use to boot BBS Express!. Once Express! boots up, it will load in%} the PROMPT.OBJ file immediately, without asking you to insert any disks.The PROMPT.DAT file is heavily commented, so there%} is no reason to talk about the individual prompts here. Just print the file off and read through it at your leisure. An or%}iginal PROMPT.OBJ file is on your Express! disk so you can get your board up and running without having to compile the promp%}t dataset.Going Online!-------------At this point, we are ready to test out your new BBS System! But, before we do, l%}et's go over everything that you should have done by now:1. Formatted a disk for each disk drive to be used on your BBS.%}2. Created the USERLOG file.3. Edited the SYSDATA.DAT file to match your system configuration, and then copied this file %}to Data Disk #1.4. Created your message bases on the Data Disks that you specified in the SYSDATA.DAT file.5. Edited (i&}f necessary) and copied all of the.HLP files to the Data Disk that you specified for the help files in the SYSDATA.DAT file.&}6. Copied all of your download files to the correct Data Disks specified in SYSDATA.DAT. You should have also renamed thes&}e files to the format discussed earlier.If you have done all of these things, then let's try it out! Place your Express! &}disk into drive #1 and do a binary load of the file BBS.COM. After the program loads in, the PROMPT.OBJ file will be read in&}to memory and you will be prompted with'Insert Data Disks'Place all of your Data Disks into their correct drives, and the&}n press the RETURN key. Express! will then load in some data from the drives, and will then display the SYSOP.HLP file. If&} you are using the R-time 8 cartridge with the 850 version of the BBS, it is not necessary to logon at this point to set the &}date and time as Express! has automatically set them with the cartridge. If you are not using the cartridge or are running &}the 1030/XM301 version, then you must logon to set the date and time correctly. To set the date and time, use the fast logon& } option (Option #1) and go into Sysop mode to perform this task. Once set, your BBS system is ready to accept callers.The & }first caller should be you, the sysop, since USER NUMBER ONE IS ALWAYS CONSIDERED TO BE THE SYSTEM OPERATOR. So, what you sh& }ould do now is log on, just as any normal caller would, to be assigned your password. You can hit '2' or '3' to logon this f& }irst time, whichever you prefer. At the NAME prompt, enter in the name by which you want to be known on the system. For you& }r password enter the word NEW. Express! will assign you the first password (you can change it later from the user editor if&} you like), and you are now in business!. Now, from the 'Command:' prompt, go into sysop mode and set your security level to&} '255' and your daily time limit to '255'. After the initial logon to get your password assigned, you may use the Option #1 &}(Sysop Fast Logon) to logon in the future. This logon method bypasses the logon messages and takes you directly to the check&}ing for mail prompt.You should try out ALL of the options on the board to make sure that everything is set up properly. If&} Express! ever encounters an error, such as not being able to find a file it expects to exist, it will log a message to the &}printer. If this ever happens, then you have probably told Express! a wrong drive assignment in the SYSDATA.DAT file.If e&}verything checks out OK, then you can use the 'G' command to log off. You are now ready to accept callers. If you are using&} a 1030/835 modem with a ring detector, then the detector MUST be plugged into the SECOND joystick port. XM301 owners will h&}ave no more to do, since your modem has an auto-answer feature built in. 850 owners should make sure that the dip switch set&}tings on your modem are set as follows: Hayes and Smarteam Modems Switch 1 - UP Switch 2 - UP Switch 3 - DN Switch 4 - UP Sw&}itch 5 - DN Switch 6 - UP Switch 7 - UP Switch 8 - DNAvatex Modem All dip switches should be in the up position.If you ha&}ve a modem other than those mentioned above, you should refer to your modem manual and set your dip switches to the following&} specifications:* The modem SHOULD NOT auto-answer the phone.* Allow the computer to monitor the CARRIER DETECT RS-232-C &}signal to detect a remote modem's carrier signal.* Allow the computer to supply the DATA TERMINAL READY (DTR) RS-232-C sign&}al to the modem. This is used by Express! to hang up the phone.* Allow the modem to recognize its own commands.Sysop L&}OGON Modes-----------------There are 4 logon modes that you can use while the BBS is waiting for a call. These are expla&}ined below:1. The 'Quick Entry'If you press a '1', the BBS program will read the first record in the USERLOG file (which&} should be your sysop record), and go immediately to the 'Checking For Mail...' prompt. If you log on in this way, the total& } number of calls will NOT be updated, and the last caller will remain the same. This is really the ideal way to log on.2. &!} Logon at 300 BaudThis mode logs you on in simulated 300 baud. You will have to enter your name and password. This logon &"}mode does update the last caller and the total calls.3. Logon RemoteThis mode logs you on in remote mode. You will have&#} to enter your name and password in this mode. This logon mode does update the last caller and the total calls.4. Logon A&$}s A UserThis mode allows you to log on as any of your users, as long as you know their FULL name. After pressing '4', you &%}will be prompted for the user's name. Just key in the full name of the user, and the BBS will try to find the user's record.&&} If it does, it will log you on as that person. If you can't seem to remember the user's name after 3 or 4 tries, just pres&'}s the START, SELECT, and OPTION keys to 'hang up' on yourself. You can use this log on mode to validate users without having&(} to take the BBS down! You do this by simply logging on as the user and then pressing the '$' key to enter the SYSOP command&)} mode. You can then use the 'L' and 'M' commands to set the user's security level and daily time limit. This logon mode doe&*}s NOT update the last caller or total calls.The Screen Display------------------Now that you are ready to accept calle&+}rs, we should cover the information that you will see displayed at the top of your screen.First, you will notice that there&,} are 4 status lines at the top of your screen. The first line will always contain the system date and time.The second line&-} will display the current caller's (or, the last caller's, if nobody is currently logged on) name, password, and last call da&.}te.The third line will show the caller's city, state, and current connect time for this call. There is also an area on thi&/}s line, indicated by '[---]' which will display '[CHAT]' if this user paged you and you didn't answer.The fourth line shows&0} the user's security level, time limit (per day), and the file currently being accessed (or last accessed).The Sysop Comma&1}nds------------------The first sysop command we should talk about is entering and leaving CHAT mode. At any time when th&2}e program is waiting on input from the user, you can press the ESCape key to enter chat mode. To exit chat mode, simply hit &3}the ESCape key again.There are certain functions that you, as sysop, can execute while a caller is on-line. To enter the S&4}YSOP command mode, you must enter a '$' command from the main 'Command:' prompt (ONLY!). There are two modes of entry that t&5}he program checks for.The first one is if the '$' came from the BBS keyboard. Anything that you do here WILL NOT be seen b&6}y the user who is logged on as nothing is echoed across the modem in this mode. The user will be in a 'do nothing' state, si&7}nce they will not be able to enter any keypresses.The second way of entry is if the '$' came from the modem (the caller tha&8}t is online). If this is the case, and the caller has a security level of 255, then the program will enter the sysop mode an&9}d will echo everything across the modem. In other words, you can call your board from a remote location and do EVERYTHING th&:}at you can do when you are sitting at the BBS's keyboard.Once you have hit "$" to get to the sysop command prompt, or a sys&;}op level user has hit the '$' remotely, the following commands are available:[L] Use the L command to edit the current call&<}er's Security Level. This change WILL be stored in the user's record when he/she logs off of the system.[M] Use the M comm&=}and to edit the current caller's time limit per day. This change will also be written to the user's record at log off time.&>}[F] Use the F command to execute any XIO command to the disk drive. When you hit F, the program will respond with:XIO #&?}Key in one of the following numbers:32 - Rename a file 33 - Delete a file 35 - Lock a file 36 - Unlock a file 254 - Format &@}a disk (be careful!)After you have keyed in an XIO number, the program will respond withFile:and you should key in the &A}name of the file to be operated on, INCLUDING THE DRIVE IDENTIFIER (D#:). So, let's say that you want to rename a file on dr&B}ive two from ZTITLER.OG0 to ZTITLER.OG1 (to raise its security level). You would do the following:Sysop: F XIO #32 File:D&C}2:ZTITLER.OG0, ZTITLER.OG1You will use this command a lot to rename newly uploaded files to a lower level so that they may &D}be seen by other users (newly uploaded files will have a security level which you specified in the SYSDATA file).[C] Use th&E}e C command to toggle CHAT mode on and off. If chat mode is turned off, then any user that pages you will get the message 'T&F}he sysop is not around...'. If chat is turned OFF, then this will be shown in the status lines at the top of your screen by &G}'[OFF]'.[D] Use the D command to display a disk directory. This command will display a LONG directory if you are using Spa&H}rtaDos. You MUST enter the '*.*' in the filespec. In other words, when the BBS prompts you for the 'Mask =>', keying in 'D2&I}:' will NOT work. You must enter 'D2:*.*'.[E] Use the E command to display a disk directory. This command will display a &J}SHORT DOS 2.0 type directory if you are using SpartaDos. If you are not using SpartaDos, then the 'E' and the 'D' commands f&K}unction identically.[P] Use the P command to toggles the realtime clock between AM and PM.[R] Use the R command to set th&L}e current system date.[T] Use the T command to set the system time. You will be prompted to enter the hour and minutes ind&M}ividually. The hour is set in actual time, not military time.[W] Use the W command to set the current weekday. Repeat the&N} W command until the current day of the week on the first status line is correctly set.[V] Use the V command to view any te&O}xt file. You will be prompted for a filename. Enter the fully qualified filename including the drive specifier.[>] Use th&P}e > command to copy files. You will be prompted for both the fully qualified source and destination filenames.[?] Use the &Q}? command to display the SYSOPCMD.HLP file which is ... the fully qualified source and destination filenames.[?] Use the $9...the Sysop command menu.[X] Use the X command to Exit the sysop command mode.An additional command at your disposal is*S} the pressing of the START/SELECT/OPTION console keys. When these keys are pressed while a user is logged on, they will imme*T}diately be logged off. When you press START/SELECT/OPTION, you are actually 'faking' the program into thinking that the carr*U}ier has been dropped.Also, when a you or a Sysop level user (255) is in a message base reading messages and are waiting at *V}the [A] Again [R] Reply [Q] Quit [C] Cont. prompt, you may press the 'P' and the message will print on the printer. This pr*W}int feature is also available while in E-mail.The User Editor---------------Well, by now you should have your board up*X} and fully functional! The next thing we should discuss is the user editor, which allows you to change any data for any user*Y} on your BBS system. For security purposes, this editor is totally an off-line procedure.The user editor is on the front s*Z}ide of your Express! diskette, and is called UEDITOR.COM. This is a binary load file, and should be loaded either with the *[}'L' command from DOS 2.0, or by simply typing in UEDITOR from SpartaDOS.After loading in the program, the editor will instr*\}uct you to enter the fully qualified filename of the Userlog Data File. Place the disk with the USERLOG into drive one, ente*]}r the fully qualified filename, then press RETURN. Next, you will be asked to enter the name of the Userlog Index or press r*^}eturn if the index is the same name with the exception of the extender. After you do this, the menu will appear. At the top*_} of the screen you will see the number of users that are currently being used.There are 7 options available in the User Edi*`}tor. They are:1. Edit a User2. Edit by Sec. Level 3. Add a New User4. Delete a User5. Mass Sec. Level Change 6*a}. Print User List 7. ExitTo edit a user (or look at a single user's data), hit '1'. The editor will prompt you for the *b}user's number or name. From here, you have two options. The quickest way to edit a user is by entering the user's number if*c} you know it. This is the number starting in the second position of the password. For example, if the password is 'A18XYZ',*d} then the user number is 18.If you don't know the user's password, then you can enter the name of the user (the ENTIRE name*e}), and the editor will search each user entry trying to match on that name. This is quite a bit slower, but will come in ver*f}y handy.If you don't know the user's exact name or password, then use the 'Print Userlog' 40-Column option to display the u*g}serlog information to the SCREEN.At this point, you will see the user's data listed on the screen, along with a letter besi*h}de each piece of data. To change anything on the screen, simply press the corresponding letter, then key in the new informat*i}ion.You may change the password, too, but DO NOT CHANGE THE NUMBER IN THE PASSWORD! In other words, if a password is A20XY*j}Z, you can change it to anything as long as the '20' remains in the EXACT same position.To return to the menu at any time, *k}hit the ESCape key, and the editor will respond with 'Rewrite this record?'. If you made changes that you want to make perma*l}nent on the USERLOG, then answer 'Y'. If you answer 'N', then no updates will take place.To edit users by security level, *m}hit '2'. You will be prompted with 'Edit On Sec Lvl Of =>'. Enter the security level that you want to edit and press RETURN*n}. You will then be prompted with 'Start At Current Position or Beginning Of File =>'. Enter an 'S' or 'B' and press RETURN.*o} The editor will start 'Searching' for the next user with the level you specified and display the record on the screen. You*p} may not change any information in the users record or leave it as is. When you are finished editting, press the ESCAPE key.*q} If you changed the record, you will be prompted with 'Rewrite This Record?', to which you can respond 'Y'es or 'N'o. Next,*r} you will be prompted with 'Continue Search or Quit Search =>'. If you press 'C' to continue, the editor will continue the s*s}earch from the current position in the file until it finds the next user with the specified security level. If you respond w*t}ith 'Q', you will be returned to the Editor Menu. You may continue searching to the end of the userlog or quit at any time.*u}To do mass security level changes, hit '5'. This is an ideal way to periodically change all level 0 users to a higher level*v}. You will be prompted with 'Change All Users With A Security Level Of =>'. Enter the security level that you want to chang*w}e. Next, you will be prompted with 'To Sec. Level =>'. Enter the security level that you want to the users changed to. Th*x}e editor will start reading the userlog intil it finds the first user with the level that you specified you wanted to edit. *y}The user record will be displayed on the screen and you will be prompted with 'Change User From SL X to Y?' where X is the cu*z}rrent level and Y is the new level. If you want this user's security level changed to the new level, respond with 'Y'es. If*{} not, Respond with 'N'o. The editor will make the change to the record and proceed to the next user record it finds with the*|} specified level. When you use this option in the editor, you may not use the ESCAPE key to abort out in the middle of the f*}}ile. It must be read until the end of file occurs.The other options of the user editor work similarly to the above functio*~}ns (or are very self-explanatory).Extending The Userlog---------------------Note: To use this procedure, you MUST hav*}e at least two disk drives!No matter how well you plan ahead, there is probably going to come a time when you begin to see *}your USERLOG data file slowly fill up. There is a program on the front of your Express! diskette called UEXTEND.COM, which *}will extend the space allocated for your userlog dataset.There is a possibility that the use of this command could cause co*}nsiderable damage to your data disk, SO BACK UP YOUR DATA DISK BEFORE YOU USE THIS COMMAND!Why could it cause damage? Well*}, because of the way Express! pre-allocates files, there is a good chance that you have nearly filled up your main data disk*}s (the ones with the userlog and message bases). And, if we are going to extend the userlog file, then we have to have some *}space, right? The damage could occur if you accidentally 'over-allocate' and actually fill up the disk (I'm sure we all have*} went through the headaches of filling up a DOS 2.0 disk, and then finding that the free sector counts don't quite add up any*}more).What can you do if you DON'T have any more free space on your userlog data disk? One option you have is to DELETE a *}seldom-used message base, giving you more room for userlog data. Another option is to rebuild a message at a smaller size us*}ing the LOADBASE.COM utility (See additional utility section). A third option is to simply move a message base to another dr*}ive. If you are using SpartaDos, moving it is all that is required. If you are using a 2.0 type DOS, then you must re-index*} the message base with REINDEX.COM after you have moved it.With those words of warning aside, let's discuss the use of the *}UEXTEND.COM program. The first, and most important, step is to try to get an idea of how many additional user records you ha*}ve room for on your disk. Each user record is 81 bytes in length, so with a little math you can figure out the approximate n*}umber you can extend to.As an example, let us assume that you have 18 sectors left on your data disk one, which is a DOUBLE*} density diskette. By doing the following:18 - 2 = 16 sectors16 * 253 = 4048 bytes4048 / 81 = 49.97 user recordsYou *}will see that you have room for approximately 49 more user records. To be safe (we DON'T want to accidentally fill up the di*}sk, remember?), extend your user log by only 45. The reason that you should subtract 2 from the free sectors is for system o*}verhead that takes place when a file is opened in 'append' mode.If your data disk is SINGLE density, then you can use the s*}ame equations above, but substitute 125 for the 253 (ie: 16 * 125 = 2000 bytes).Now that you have decided on how many user*}s you can have, here is what you must do to extend the size of the user log:1. Make a BACKUP of your Data Disk 1 (PLEASE!)*}.2. Copy the current USERLOG.DAT off to another disk. This file will be used to do the re-build from.3. Run MAKEULOG.C*}OM to delete the current USERLOG and create a NEW one with the new maximum number of users. Do this to your Data Disk 1 (thi*}s is why a backup is so important!).4. Run UEXTEND.COM and follow the prompts. You will have to place the new USERLOG dis*}k (Data Disk 1) into drive 1, and the old USERLOG.DAT (the file that you created in step 2) into drive 2.5. Once the menu *}appears, select option 1 and the current users will be re-created into the new larger userlog you just created.After doing *}this, you should boot up the EDITOR.COM program and do a "spot check" of different users, just to make sure that everything l*}ooks OK. The easiest way to do this is to look at every 25th user's data by simply editing user number 1, then 25, 50, 75, e*}tc.Additional Utility Programs---------------------------LOADBASE.COMThe LOADBASE program will take a message base a*}s input and write the messages from it to another separate output message base. This allows you to change the size of your m*}essage base without losing any messages. All you have to do is to run MAKEMSGB.COM to create a new message base with the siz*}e configuration that you want. Then, load and run LOADBASE.COM and enter the OLD message base name as the 'FROM' dataset, an*}d the NEW message base you just created as the 'TO' message base.This utility checks for all kinds of size differences and *}will adjust the new message sizes accordingly. For example, if you have an old message base specified with a max message len*}gth of 1400 and try to load it into a new message base with a max message length of 1000, LOADBASE will truncate any messages*} over 1000 bytes in length.REINDEX.COMThis utility will take an existing message base as input and rebuild the index. If*} you are using a DOS other than SpartaDOS, you can use this utility if you ever need to MOVE a message base from one disk dri*}ve to another (ie: change message base #1 from residing on drive one to drive two).To move a message base to another drive*}, do a DOS COPY command to copy the message base to the new data disk. Then, run REINDEX.COM to re-build the index.If you *}are using SpartaDOS, then YOU CAN FREELY MOVE YOUR MESSAGE BASES AROUND WITHOUT HAVING TO RE-INDEX THEM. Not only that, but *}with SpartaDOS, you can back up your message bases while the board is running by using the COPY command from the sysop comman*}d prompt!EDITBASE.BASThis utility allows you to change the name, and/or security level of any existing message base inclu*}ding the E-mail base. To use this utility, you must have basic enabled. Load and run the program which will prompt you for *}the filename of the message base to be edited. Follow the program prompts to perform the necessary changes to the message ba*}se.Sample Board Configuration--------------------------On the back side of the BBS Express! disk is a completely conf*}igured and ready to boot BBS. This is intended to give you a feel for how the board runs and to use as a guide to configurin*}g your own board.To use this sample configuration, insert the front side of your BBS Express! backup disk into drive #1 an*}d turn the computer on. Make sure you have the modem and interface (if used) turned on. When the DOS finishes loading, load*} and run the program BBS.COM. (Note: This sample board has been configured using Atari DOS 2.0. Be sure to use a DOS that *}is Atari DOS 2.0 compatible. SpartaDOS should NOT be used to run this sample...ng Atari DOS 2.0. Be sure to use a DOS that (P...configuration.) When Express! prompts you to 'Insert Data Disks', turn the back-up disk over and insert it back into dri.}ve #1, then press RETURN. While this configuration only uses drive #1 and has a small userlog, one message base and E-mail, .}it is a full working version of the board.Logon to this sample configuration using option #2 or #3. The userlog has been c.}onfigured with 'SYSOP' as the first user and a password of 'A1BBS'. Once logged on, go into Sysop Mode by pressing '$' at th.}e COMMAND prompt. Now press the '?'. You should now be able to see the Sysop Command Menu. Set the correct date and time u.}sing the 'R' and 'T' commands. Set the correct day of the week using the 'W' command. Next, set the AM/PM indicator using t.}he 'P' command. Now press the 'X' key. This will take you out of Sysop Mode and back to the Command prompt.Take a moment .}to explore the board and get a good handle on how it operates. This should help you when you get ready to configure your own.} version of BBS Express!. As you move around the various parts of the board, notice the right hand side of the bottom status.} line. This field is the filename that is being accessed or the last filename that was accessed by Express! If you experien.}ce an ERROR 170 while running BBS Express!, this status line will help you identify the filename that BBS Express! could not.} find. Express! will log the error to the printer if one occurs and keep right on running. To correct this problem should .}it occur, simply copy the missing file to the proper working disk and try the failing option again.Finished!---------B.}y now you should have a good handle on the operation of your new BBS. Rather than cover all of the different commands on the.} BBS here, we have included text files for your library so that both you and your users can become familiar with BBS Express!.}. These datasets can be found on the back side of your Express! diskette, and are already set up to be accessed by the 'L'i.}brary command.We hope you enjoy running BBS Express!, and if you are satisfied with the quality of the board, please let ot.}her potential sysops know about it. If you are not satisfied with the system, then let US know immediately! Orion Micro Sys.}tems would like to hear your comments and suggestions on this software. If you want to drop us a line, use the address on th.}e cover page of this manual or give us a call on the support board line.Enjoy!nt to drop us a line, use the address on th,R