IS_READ.ME ********** I'm not particularly familiar with all the legal ramifications of software copyright law so I'll express my intent here. I intend to retain control of the source to Inner Sanctum for the forseeable future. The executables are hereby released to the Public Domain for use at your own risk. I fully support the Public Domain concept and hope software authors will continue to produce for it. Please keep all the IS archives intact if you pass them along to someone else. So given all that... Inner Sanctum v1.75, Copyright (c) 1988 by John D. Walker AKA Ganelius INSTALLATION: New Inner Sanctum Sysops ************************************** First get a hold of the documents available for version 3.0c of Citadel. Almost all of that will be of use in setting up your bbs. I'm not going to cover all of that here. (Maybe one of the beta testers will volunteer to help out with documentation?? please?) Make sure you have an AUTO FOLDER set up on your boot disk, and copy SERINIT.PRG from IS_AUTO.ARC into it. The rest of the programs in IS_AUTO are optional. SERINIT is used to expand the input and output buffers of the serial port beyond the normal limits. This makes Ymodem operate more efficiently. Edit the file CTDLCNFG.SYS to handle your situation. You can work from the copy in IS_RUN.ARC. That is the one I use on my system. Make sure you have set up directories to match the ones you specify in this file. NOTE: networking is not available with Inner Sanctum yet, so do not enable it from the configuration file, or you'll just crash. Copy all of the files from the IS_HELP.ARC file into the directory you have configured for them. Edit them to suit your tastes and objectives. Some files to edit: BANNER.BLB, NOCHAT.BLB, INTRO.BLB, BULL7QA.BLB, POLICY.HLP. Now run the configur utility to create CTDLTABL.SYS from the file you just edited. The following files should all be in the same root directory of some disk: citadel.prg ctdltabl.sys (created by the configur utility) Now you should be ready to start up Inner Sanctum... You should be able to boot it up now. Log in with your aide password and do the following: 1) .[A]ide [H]alls You will arrive at a menu. Here you can create halls and add rooms to them (Window room). 2) .[A]ide [G]roups You will arrive at a menu. Here you can create groups and add users to them. You can also assign or remove group protection from halls and rooms. If you have problems. First consult the Citadel 3.0c documentation to see if it is covered there. If that doesn't help post a message on my board and I'll see if I can help. I'm at "Inner Sanctum One" (206) 363-8592 3/12/2400 baud. Later, Ganelius ------------------------------------------------------------------------------ VERSION LOG ------------------------------------------------------------------------------ VERSION 1.00 ************ Inner Sanctum first leaves the clone vats for public exposure. The software behaves well enough for a mutant to gain some acceptance from the beta testing public... VERSION 1.01 ************ Several bugs eliminated. The rest is lost to history... VERSION 1.02 ************ What's in version 1.02? I fixed the bug where it prints an error message because it tried to display a message that had already scrolled off the system. I fixed the bug where it skipped messages when [R]eply was used. I added another option to the stuff for messages, a [D]isplay again option. I fixed a number of bugs involving using [S]top when reading things... VERSION 1.03 ************ Checks to see if serinit.prg has been installed via the auto folder, and if not uses smaller buffers instead of crashing. The move files and descriptions option from the aide maintain descriptions menu has been implemented for sysops, and remote sysops. Didn't seem like I should turn that one loose for aides... I just found and fixed a bug in the file/description move. It wasn't moving the description, unless you changed it. Now it works right. Still has some rough edges though... The [P]ause between messages default at log in is configurable now. VERSION 1.04 ************ On menus again... I think what I'll do is the following: .r! will go into the menu as it does now. .r!? will display the letter commands for protocol options. .rp where p is one of the protocol letters will work as suggested in previous messages. There are two new .mnu files for your \help directory to go along with the above changes. There is a new bbs.dat file in is_run.arc which includes some interesting new ideas. A bug in the move file/description aide option has been fixed. VERSION 1.05 ************ I think I've cleared up the memory bugs from the interpreter. This should make a big difference with the mysterious crashes we have seen. The current version is now v1.05. I'd recommend putting this one up right away! Let me know if you have any more problems with strange interpreter crashes... I'm still working on the adventure stuff. Looks like there may be some more bugs to chase down... As you can see, the configurable interface option is now in on this board. As soon as I think it works all right I'll set it up for download. With the coming version you will be able to choose from three different interfaces: Citadel-Only, Citadel+Adventure, Adventure-Only. VERSION 1.06 ************ A configuration option has been added that allows the sysop to specify the startup interface for Inner Sanctum. It can now be: Citadel-only, Citadel and Adventure, or Adventure-only. This requires that the following line be added to CTDLCNFG.SYS: #define INTERFACE n Where n is a number from 0 to 2. The number corresponds to one of the three interface options above. There is also a new option on the sysop menu that allows the sysop to change the interface dynamically. It goes into effect for the next and subsequent logins. It is accessed by typing '!' from the sysop menu. (BTW, did you know that almost the entire alphabet has been used for sysop options from this menu by ORC? Most of it is undocumented and may not even work. I'll be sorting through this later.) NOTE WELL!!! This version requires the use of the CONFIGUR.TTP program that comes in IS_RUN.ARC for v1.06. You will have to edit the CTDLCNFG.SYS properly and run CONFIGUR with the 'n' parameter to use this version. (I mention this because one unfortunate soul used an old version of CONFIGUR with a later version of CITADEL.TTP and as might be expected had many problems with crashes!). The sysop option from the aide menu to move files and descriptions will now post a message in the target room that the file has been moved there. Also a few cosmetic changes here. This option will probably be kinda slow on a floppy system, because it does a lot of things behind the scenes. The delete option from the same menu will now let you delete both files and descriptions. No posting for this one though. The upload commands have been slightly revised for batch uploads. As an example: .E!Bp where p can be: [X]modem, [Y]modem, [W]Xmodem. There is a new file named wxybatch.mnu that shows up if the following is typed: .E!B? (Looks kinda peculiar, but .E!? even looks funnier :) ) The adventure stuff in IS_ADV.ARC has been upgraded to use the new include files from ADVRUN.ARC. Note the include file CIT.TXT, which contains the board specific stuff for the adventure. The BBS.DAT that comes in IS_RUN.ARC is the same one I use on my board. Use it if you like. VERSION 1.07 ************ More bugs have been squashed in the adventure interpreter. Hopefully we are reaching the end of the line here. Zerucha's improved protocol drivers have been implemented. These should perform even better and faster. These drivers are the same ones used in release 1.10 of TRANS, which can be obtained through a shareware donation from Zerucha. Downloads now display file size in bytes and approximate download time in minutes before starting... (Not PCP time however...) The bug where [G]oto does not always display the room name has been fixed. A configuration option has been added to the CTDLCNFG.SYS file to allow sysops to use Hayes modem result codes to automatically determine the baud rate. The following must be added to your config file: #define HAYESCODES 1 If you want to use it, otherwise you must add: #define HAYESCODES 0 For regular Citadel baud detection. You MUST run configur again for this version with the 'n' parameter. Note well: If you use Hayes result codes, you must set up your modem to return numeric result codes when it connects with an incoming call. VERSION 1.08 ************ With this and later versions the CONFIGUR.TTP utility will display the same version number as CITADEL.TTP. (In this case "v1.08"). If it doesn't, you've got problems!!! The option to default pause-between-messages has been expanded. Now the values for #define MSGPAUSE n, have been changed as follows: n = 0 disables it completely n = 1 defaults it to OFF n = 2 defaults it to ON Adjust your CTDLCNFG.SYS file for these changes. The configuration option to use Hayes connection results has been expanded. Now the values for #define HAYESCODES n, have been changed as follows: n = 0 use normal Citadel baud detection. n = 1 use Hayes numeric result codes. n = 2 use "CONNECT n" strings. Adjust your CTDLCNFG.SYS file accordingly. Numeric result codes should be used if preference to "CONNECT n" strings when possible. If you use these options, make sure your modem is returning what is expected!!! Read extended directory will now show the files' date and time. A new command has been added to display a sorted listing of users. Try .ru to see it. If you are both an aide and a sysop, this listing will show passwords as well. I'm not sure how I feel about this, as it endangers the security for the users, but here it is anyway. Due to several requests for the features in here so far I'm going to release it now and move on to another version for the rest of the stuff I want to do. So.... VERSION 1.20 ************ I decided to jump version numbers because this version is a big jump in functionality. New stuff: Halls, groups, a conversion program, new configur.ttp New or revised commands: .ec .rs .kh .kg .ag .ah > < + - g c The conversion program: IS_CNVT.TOS should work to convert any previous Inner Sanctum version to V1.20. It should also work with STadel v3.0c. (See notes above for conversion advice.) Halls are managed by sysops via the .[A]ide [H]alls command from a menu. Groups are likewise managed via the .[A]ide [G]roup command from a menu. The chat recording warning message has been removed. The maximum number of nulls allowed for a user has been set to 25. The modem init routine has been twiddled. Now Hayes 2400 baud modems and close clones should work with Inner Sanctum. Twit bits have been added. Configurable call limits for regular users and twits. Optional automatic hall prompt, '>', added to end of roomnames with additional accessible halls. (Can be configured away...) It is now possible to send public messages to yourself or to no one. .[E]nter [C]onfiguration now uses defaults for both old and new users. The adventure interpreter has been removed from this version. It is going to show up in the next version as a doors application. (config note: #define INTERFACE 0). VERSION 1.21 (A fix up version) ************ I'm going to put this version out 9/13/87 to fix up a few bugs, and address the Twit problem that many of us are facing. The annoying message that was appearing when you first booted up IS, which said "?No Lobby room" or whatever has been fixed. There are a bunch of new configuration parameters, mostly for twit control: #define NEWLIMIT 20 Sets max minutes for new log in. (disable this one by setting to 0.) #define MAXNEW 3 Max msgs new user may enter on call. #define MAXTWIT 1 Max msgs twit user may enter on call. #define MAXREG 16 Max msgs a regular may enter on call. (disable this one by setting to 0.) #define TWITZAP 1 Zap an errant twit? 0 = Please don't zap 'em! 1 = Zap 'em with white noise! 2 = Repeatedly list "DORIGHT.BLB" 3 = Do some of both!! #define TWITDELAY 60 #seconds to wait with DTR off after zapping the twit. So how does all this work, you ask? Well, if MAXREG is set, and the caller reaches the maximum, then they are politely warned and their message is saved. If they have exceeded the limit, they are automatically changed to twit status, a message to that effect is put in Aide>, and the board hangs up on 'em. The same kind of thing happens for new callers, but this one can't be disabled, so set it high if you don't want it. When a twit hits the maximum, (this could be through progression from regular or new!), they are warned first. If they exceed the maximum, (which could be set to zero!), the board decides what to do based on TWITZAP. If it is set to zero, the board logs them off and doesn't save the pending message. If it is set to 1 the board goes into the ZapTheTwit() routine, which basically dumps binary garbage out the modem until carrier drops or TWITLIMIT has expired, then it goes into the DelayTheTwit() routine, which turns DTR off and waits for the number of seconds specified in TWITDELAY. In any of these abort situations, the board will reset for new callers, when ready. So much for twits... What else is new? I have separated the file transfer protocols into a separate program. The disk location of the new program must be configured if you plan on running ANY directory rooms, otherwise (a message-only bbs?) you can ignore it. The config data for it is: #WXYPATH "d:\wxytr.prg" (This better match where ya put it!) You will need to be sure that you have enough RAM left to load the new program or it won't run! (This is preliminary work for doors.) The .ru command has been replaced by three new commands: .rua Read Userlog Alphabetic .ruf Read Userlog Forward by Last log date .rur Read Userlog Reverse by Last log date As the date fields in the userlog may not be in clean condition, I have added a command to the .ag menu to go in and clean up the dates. As users log in it will clean it self up gradually too. VERSION 1.22 (yet another fix up version) ************ Here is another fix version. This will hopefully fix the memory problems some of us have had with configur.ttp. I have tested it with a plain 520 ST with one DS/DD and no RAM disk. I successfully managed a 512 entry log file. The problem was memory related, therefore you'll have to be careful with RAM disks. Try backing yourself up completely first and then testing configur n several times before you rely on it too much. This is one of those cases where I have apparently solved the problem, surrounded the problem, but have not yet found the precise cause :( More on this with the next version... Now on to the fun stuff. Now we have a mechanism for bulletins on Inner Sanctum. It takes the place of prelog.blb (which no longer displays). The bulletin routines are pretty flexible but a bit unusual and somewhat complicated. So how do they work? Ah, glad you asked! Bulletins are placed in the help directory along with everything else. They have special requirements for their file names. The file name must take the form: BULLxxxx.BLB. You may have up to 32 bulletin files active. The xxxx part of the filename is a special programmable string that informs the routines about what order, how to display it, and to whom it should be displayed. Here are the meanings for the characters in xxxx: Character 1) This character controls the sequence of display of the bulletin. It is required. It may be any valid character for filenames. Character 2) This character controls how the bulletin will be displayed. It is required and must be one of the following: 'I' - Cannot be stopped or paused, display it only once per user. 'X' - Same as 'I', but show it always. 'S' - Stoppable, pausable, display it only once per user. 'Y' - Same as 'S', but show it always. 'P' - A "package" of text files to display. Display them only once per user. The contents of this bulletin will be filenames for files in the help directory. Wild cards may be used. i.e. twit*.txt. You can have up to 32 file names in a package. 'W' - Same as 'P' but show it always. 'R' - Same as 'P', but only one of the files is randomly selected and displayed. 'Z' - Same as 'R', but do it all the time. Character 3) This character controls who the bulletin(s) will be displayed for. This character is required and must have one of the following values: 'A' - All users. 'T' - Twits only. 'N' - New users only. 'S' - Aides only. 'R' - Regulars only (not aides, twits, or new users) '0', '1', '2', '3' - See character 4) Character 4) This character is only required if character three is one of the allowed numbers. In which case the two will form the group number for a group-only bulletin. You can find the group numbers for your system by selecting the list groups option from .[A]ide [G]roup edits. The Null group would be indicated by 00, and group 1 would be indicated by 01, and so on. .[E]nter configuration has been modified as well. It is now possible for an expert user to reconfigure the Pause-between-bulletins option, and if your system allows it, the Pause-between-messages option. Unfortunately I had to "steal" some unused bits from the existing user log records, so they will have random values in them. New users default to Pause between bulletins TRUE. VERSION 1.30 ************ This version provides some interesting new features as well as more cosmetic cleanup. The aide menus have been cleaned up. The log out message has been fixed. Uploads will now display disk free space just before the (Y/N) prompt. The bug in .ec for pause options has been fixed. Remote sysops can no longer see passwords when using .rua DOORS: ***** The user commands for doors are: .[K]nown [D]oors & .[E]nter [D]oor The aide command to manage doors is: .[A]ide [P]rograms To use doors first make sure that you scratch any old versions of ctdldoor.sys from your \sys directory and reconfigure. I'll put up a new ARC file called IS_DOORS.ARC containing two doors programs I have been testing. Perhaps some of you will write some others for us all? Doors can be used for console-only programs as well as modem programs. Don't try GEM programs!!! They will just crash the system!!!! When you "Make" a door, the system will ask you a series of questions about the door, i.e. Door name? "some door" (required) Door program? "someprog.ttp" (required) Door path? "a:\door" (required) Door help file? "someprog.blb" (must be in help directory, if used) Door arguments? what ever command line arguments are needed or none. Just answer truthfully and it may work :) You will have to provide group access for the door! This is a preliminary version of doors, and you can expect it to change later with improvements. FUNCTION KEYS: ************* Or as I like to call them "Hot Keys". The function keys can now be used for a variety of functions, some of which actually work! (I'm not finished with them yet :) Function keys may be used except when the caller is in a door or in upload or download. To activate or deactivate the function keys use F2. Once they are active you can use F1 to see what they do. For the most part this will be transparent to the caller. Here are the keys that are set up: F1: Display function key descriptions F2: Activate/Deactivate function keys F3: Enter chat mode F4: Toggle chat mode on/off F5: Busy Out the modem F6: Toggle users aide status F7: Enter a door F8: Initialize modem F9: Toggle users twit bit F10: Prepare to shutdown system. (kinda works) UNDO: Hangup on 'em HELP: Current callers status VERSION 1.60 ************ Here is how the function keys have been changed: F1: Current callers status (much improved) F2: Activate/Deactivate function keys F3: Enter chat mode (much improved!) F4: Toggle chat mode on/off F5: Busy Out the modem F6: Toggle users aide status (works right now) F7: Enter a door (improved) F8: Initialize modem F9: Toggle users twit bit F10: Prepare to shutdown system. (works correctly now) UNDO: Hangup on 'em HELP: Display function key descriptions HOME: Reset callers elapsed time and message count. (More coming for function keys, stay tuned) New log in routine: Now the initials are requested along with the password for log in. This may not be popular with users initially as it will cause some confusion. But it has been done for sound reasons, and I suspect users will get used to it after a while. With the new routine Inner Sanctum becomes very much more secure. The routine is better than those used on many mini's and mainframes. The idea behind it is simple. If the initials or password are not on file log in fails. Here is how it is implemented: [L]ogin Enter Initials: Enter password: -OR- .[L]ogin @ -OR- .[L]ogin ; The conversion will substitute the users name in the new initials field. The users can change that with the new .[E]nter [P]assword routine. The new log in routine will also be very useful for the network design that is going into Inner Sanctum. The name prompt will also be checked for network node ID's and if one is detected a separate log routine will be called to handle net log in. It will be good. I think after the above you can see why I didn't make this a configurable option like it is in STadel. Hopefully you can train your users to accept it without much trouble. Maximum Rooms has been expanded to 128 with this version. Maximum messages per room has been expanded to 128 with this version. .[R]ead [G]lobal has been fixed. The modem routines have been twiddled again... (and again!) The system state of IS is now available via environment strings to doors applications (and to net drivers). See the IS_IFACE.C file for info on a MWC example of interfacing to IS. Exclusive messages are now possible in any room except the Lobby. After considerable debugging it seems to be working nicely. You can use .ee to enter exclusive messages from the room prompt. Public replies are no longer supported. There is now a private reply option, much like the reply option in Mail>. A bug in Door argument passing was discovered and corrected. The adventure interpreter is back as a doors application. The Starship Columbus adventure seems to work fine with it. The sysop can go into chat mode while in the adventure by hitting the escape key. You can also type at the same time as the caller while in the adventure. The adventure interpreter has a built in time limit of 20 minutes. If carrier is lost during the game, it exits back to IS cleanly. I am still working on networking. It is going slowly but well. I'm going to take my time with it and get it right. There are many changes to the CTDLCNFG.SYS file. Please study it and make the correct changes in your file. This version requires quite a bit more space for system files. A conversion program has been provided for IS systems from v1.20 and up to v1.60, but it requires plenty of free space in the directories where the system files are. You may have to configure your old version to run on a friends HD to do the conversion if you are on a small system. I will be producing a new alternate version of IS for small systems in the near future. It will have 48 rooms with 58 msgs/room, but otherwise will support all the IS features. VERSION 1.65(R) and 1.65(T) *************************** This version comes in two models: Regular and Tiny. They are functionally equivalent. The only differences are related to the maximum number of rooms and the maximum number of messages/room. For Regular it is 128 and 128. For Tiny it is 48 and 58. Make sure you keep the run time stuff for the two models separate, especially if you pass it on to someone else. Two utilities have been developed: LOGXPAND.PRG and MSGXPAND.PRG. They allow expansion of the Log and Message files respectively. These utilities need more testing, especially the Tiny versions, so work from backups and let me know of any problems you encounter. The conversion utilities for the Tiny version are also untested so the same holds. Work from backups!!! Even the Tiny version conversion utilities require work space, so you may have to go to a larger system to do it... The utilities have been included in the two arcs for runtime to keep the two models separate. i.e. IS_RUN.ARC (The Regular version) IS_TINY.ARC (The Tiny version) Bulletin "Packages" can now handle up to 128 bulletins. This should make random packages more interesting. There will be a "raw ASCII" mode for dumping VT52 laden bulletins or whatever. The bulletin directory is now supported so be sure and set it in the config file and move your bulletin stuff in there. The following additional control characters will allow you to set up VT52 graphics files as bulletins for people who have selected the VT52 driver option. Character 2) This character controls how the bulletin will be displayed. It is required and must be one of the following: 'A' - Raw ASCII dump, one time. 'B' - Raw ASCII dump, continual. Refer to preceding versions for more info on bulletins. The [P]ause command has been removed. In its place use .rm, thats .R(ead) M(ore) This should eliminate some of the constant confusion over the multiple meanings of the 'P' key, and replace it with some temporary confusion :) The .ec command has been changed to include a request for terminal type. ANSI and VT52 are now supported as well as "Standard". A generic set of terminal control commands may now be entered in messages. This type of message will display for people configured for VT52 or ANSI. Others will just see the commands. This option can be disabled by setting the new configuration option #MSGGRAPH to 0, else make it 1. If you don't want VT52 sequences sent to your console, you can set the new configuration option #CONGRAPH to 0, else set it to 1. When graphics messages are displayed the bbs will automatically slip into "Pause-between-msgs" mode for the duration of the message, and then slip out of it if it was in scroll mode before when done with the message. This was necessary because graphics messages can play havoc with the scrolling process. For more info on this see the TERMINAL.HLP file in IS_HELP.ARC. It is now possible to "broadcast" mail to "Inner Sanctum" as well as "Citadel". This feature puts one message in the message file and lets everyone see it as private mail. It can be handy for drawing attention to changes on your board. Many minor bugs have been eliminated. As always, make sure your config file is set up properly with the new options. You can use mine as a model. VERSION 1.70(R) and 1.70(T) *************************** Here is a list of whats new for this version: Kermit and Kermit batch downloads are now supported. Be sure to adjust your CTDLCNFG.SYS file to tell IS where Kermit.prg resides on your system. A couple of changes to the pause-prompt when reading messages. A user can now delete his/her own messages. Also both public and private replies are now supported. A new popular feature is the addition of a user questionaire. It must be configured in the CTDLCNFG.SYS file. Results of the questionaire go into a room that you have designated in CTDLCNFG.SYS. Of course you must create the room first. New users will be asked if they want to answer it. Old users can access it via .EU The terminal driver stuff has been debugged further. See TERMINAL.HLP in IS_HELP.ARC for details. This hasn't proven particularly popular as yet. Two new "hot keys": CONTROL-HELP and CONTROL-F1. The second toggles the printer ON and OFF. When ON, all console text is dumped to the printer as well. If you activate this and your printer is not available it will time out and turn OFF. By popular demand the minimum length for initials has been reduced from 3 to 2. Thomas Zerucha sent the latest update to his file transfer code and it has been incorporated in this version. Thanks Tom. It is now possible to confiure via CTDLCNFG.SYS to allow Inner Sanctum to run as a GEM application. It isn't pretty yet but it seems to work. The major advantage of this is that it will allow you to run GEM programs from Inner Sanctum doors. So theoretically you can hook up your favorite term program as a door (say Flash!) and run it from IS. (Tell me if it works :) A number of bugs have been squashed. VERSION 1.75(R), 1.75(T) and 1.75(M)! ************************************* The big news with this release is the multi-tasking version of Inner Sanctum. IS 1.75(M) will now run in the background under David Beckemeyer's MT C Shell. To use this version you will need MT C Shell, a hard disk, and probably at least 2 meg of RAM (you might get away with less...). Most of the programming for this version was done while IS was running in the background. Once you are familiar with MT C Shell, and have Inner Sanctum fully installed and configured you can run it in the background as follows: 1) Change directory to the Inner Sanctum home directory (where Citadel.prg is located). 2) Execute the following command: citadel -q & The -q switch turns off all console I/O so IS will run quietly in the background. Now you can go about your business while IS runs. 3) To interact with IS you will need to execute the following commands: jobs /* to get the job number of IS */ fg %n /* where n is the job number */ simultaneously press the keys CONTROL+LSHIFT+RSHIFT This will pull IS out of the background and signal that it should turn console I/O back on. Then you may want to hit F2 to enable the function keys, or perhaps escape to enter console mode. 4) Unfortunately there is no means under MT C Shell to put IS back in the background at this stage. To do so, you will have to take the board down and resubmit it as a job as in step 2. 5) I've found that switching to the IS AUDIT directory and using the following command is quite useful for keeping track of activities on the board while I am working: tail calllog.sys This will show you info on the last callers to the board. For full details use the cat command. Caveats: Many programs written for the Atari ST are not compatible with a multi-tasking environment. The authors often resort to using many of the interesting system resources on the ST which results in conflicts with other programs that you may wish to run. This problem also manifests with door applications you may wish to use with IS. An example: Space Empire will not run properly in the background as it writes directly to the screen. I have worked on the IS port of ADVSYS (by David Betz) to make it compatible. I am not aware of any other doors that will run in the background. David Beckemeyer has produced a document on what is involved in compatibility in a multi-tasking environment. It can be obtained on the BDT support board in San Francisco. It is recommended reading for this version of IS. I have been working on another means of background execution with the help of Tom Zerucha. But currently it is not stable enough to use. The idea is to submit IS with I/O redirected to a virtual device. Then another program, which we are calling TERMPIPE can be used to interact with IS through the virtual device. This is a very interesting option, and I'll release it later when it becomes more stable. Here are some other features that have been added to all three models of IS: 1) The bug which prevented sysop mail from being visible in the Aide room has been fixed. 2) There is a new userlog command; .rul or .R(ead) U(serlog) L(ast 20) this shows up to the last twenty callers since the last time the bbs was brought up. 3) The audit file functionality has been expanded. CALLLOG.SYS now shows login time, logout time, each download, each upload, each door executed, and summary session stats. I'll probably add more to this later... Of course, you'll want to clean up this file more often, as it grows much faster. 4) The user questionaire feature from v1.70 has been generalized and expanded by popular demand. There are two example questionaires in IS_BULL.ARC. They can serve as models for questionaires of your own design. They are "INTRO.BLB" and "BULL7QA.BLB". The first is a special questionaire for user profiles. You still have to configure this one via "CTDLCNFG.SYS", but you can edit the file to customize it to your own designs. All other types of questionaires function like bulletins. (Please review all pertinent remarks above for more info on the bulletin set up.) "BULL7QA.BLB" can serve as a model for this type. The letter 'Q' in the file name serves as a trigger to identify the file as a questionaire. You can also use the letter 'V' in that position. A 'Q' questionaire asks the user if he wants to answer it. A 'V' questionaire is a bit more forceful, stating that "The sysop will appreciate your answers". The questionaire parser is pretty simple minded, but seems to work pretty nicely. The parser only handles one line at a time, so questions are limited to one line at this time. (It can be a long line - max 255 - if your editor supports this). 5) The function key features have been expanded. (Not available in MT background of course). Check CONTROL-HELP to see them. 6) Zmodem downloads are now supported. Be sure and adjust CTDLCNFG.SYS to indicate where SZ.TTP will be located. 7) A number of obsolete entries have been removed from CTDLCNFG.SYS. make sure that your copy is in synch. A bit of news. This is likely to be the last release of IS for several months. Efforts are underway to convert IS from a one-man project to a group project. Among the things that the group will tackle are, a general cleanup of the code with the aim of making it much more portable. Possible ports include: Amiga, IBM/Clonez, MAC, UNIX. The group is also going to tackle the networking situation. VERSION 2.00 (work in progress, yes, we will eventually get here...) ************ Coming: Networking, Mass delete, improved call limit options, and much, much more! :)