.ps 64,72 _. .sk 5 .c;CB/Vax Version 2.3 .ti CB/Vax Version 2.3 .sk 1 .c;The Citizens' Band radio simulator for VAX/VMS. .sk 3 .c;Dale Miller .c;University of Arkansas at Little Rock .c;2801 S. University .c;Little Rock, AR 72204 .c;(501) 569-3220 .sk 2 .c;Based on original RATFIV coding by .c;Chris Thomas .c;Current whereabouts unknown .sk 5 .ap How many times has this happened to you? You're at home, logged in on a portable terminal, and you want to communicate with someone else who's also logged in. The Phone utility isn't the answer here, since it requires DEC-compatible video terminals to work. You could use the REPLY/TERM command over and over again, but that quickly gets boring. And what if more than two of you want to talk? What will you do? What -will- you do? I carry this... my CB/Vax program. This allows up to 64 people (limit adjustable by you, the system manager) to particpate in simultaneous conversations on up to 40 separate channels (also adjustable by you). CB/Vax has the distinct advantage of not using any terminal-specific features; hence, it's equally at home on your VT100 or your old LA36. .sk 2 WHAT'S NEW FOR VERSION 3.0 The following features are new in version 3.0: .ls "o" .le Version 3.0 is a complete re-write of the original CB. The original was in RATFIV, and since I wanted to make extensive modifications, I re-wrote it in fairly structured FORTRAN-77. .le Support for VAXclusters has been added. .le All of the commands available on Compuserve's CB have been added with the exception of /TALK. .els .pg .sk 2 .c;Caveats .sk 1 .lm +8 .rm -8 Those of you who occasionally wander beyond the world of Vax may notice that this program bears an amazing resemblance to the CB simulator program that is found on the CompuServe Information Service. That's exactly the intention. While the idea isn't original, all of the coding certainly is. .sk 1 The VAXcluster support added as of 3.0 is, at best, usable. I would like to hear from anyone who has a better method of node-to-node communication on a cluster. .sk 2 .c;End of Caveats .lm -8 .rm +8 .sk 3 .c;What's in This Kit .sk 2 When you receive the CB/Vax distribution, you'll get the following files: .lit AAAREADME.RNO,.TXT This document. CB.FOR The user interface to CB/Vax CB.HLP Help file suitable for inclusion in system help files CBBUILD.COM Installation procedure CBCOMMON.FOR Include file for building CBMGR. CBMGR.FOR The CB Manager program CBUSER.RNO,.MEM CB/Vax user's guide CLCBMGR.FOR The CB Manager program for a cluster INITFILE.FOR Necessary initialization program for CB/Vax SNCBCOMMON.FOR Include file for single-node CBMGR SNCBMGR.FOR The CB Manager program for a single node .el .sk 3 .c;How to Build CB/Vax .sk 2 Before building CB/Vax, you should look at the site-specific things that are pointed out in the sources of CB.FOR and CBMGR.FOR. If are not acceptable for your system, change them. If you are running in a cluster environment, also change the site-specific items in CBCOMMON.FOR. If you are building CB for a single-node system, this is unnecessary. .p 5 One command procedure, CBBUILD.COM, will allow you to build and initialize CB/Vax. To use it, just log in to the system manager's username (or any suitable privileged user). Then, if you haven't already got the distribution in a working directory, do so. To start the build, just type .sk 1 .c;$ @CBBUILD .sk 1 The build procedure will ask you the following questions: .lm +8 .p -3 o##In what directory should EXE files be placed? .br This is the final resting spot for your new images. Choose a directory or logical name, using a colon if you pick a logical name. o##Do you want to install the help file? If you answer "yes", then a short CB/Vax help file will be placed into your system help file. .lm -8 .p 5 Then, the command procedure will do everything for you. Well, almost. CB.EXE needs to be installed with elevated privileges. If you want the image to be automatically installed at every system boot, you'll need to edit your site-specific startup files to reflect this: .lit $ MCR INSTALL INSTALL> ddcu:[dir]CB.EXE/OPEN/PRIV=(DETACH,WORLD,OPER,SYSNAM,PRMMBX,ALTPRI) INSTALL> ^Z .el Also, if you want to create a symbol to invoke CB/Vax, you'll need to edit your SYLOGIN.COM file, inserting a line like: .sk 1 .c;$ CB :== $SYS$SYSTEM:CB .pg .sk 3 .c;Theory of operation .sk 2 When a user runs CB.EXE, a check is made for the logical name CB__MBX. This should be the name of a permanent mailbox created by the CB manager. If this name is not found, an attempt is made to stasrt the CB manager. When the manager is created, it will create the permanent mailbox. All communication from CB to the CB manager is sent through the mailbox. No communication is passed the other direction. Messages from the CB manager are passed via the BRKTHRU system service. In a cluster environment, messages sent to a CB manager on any system are written to the cluster-wide data file. All CB managers read form this file. In this manner, a user on any system may communicate with a user on any other system in the cluster. This method of communication leaves something to be desired in the way of efficency. In V3.0, the CB manager reads from the CB__MBX and from the file until no new messages exist. When this happens, the manager hibernates for 4 seconds. Then, the mailbox and file are checked again. Needless to say, if you are on a large cluster, there may be quite a few unnecessary i/o requests even if there is little actual activity on the CB. I would like to hear from anyone who has a better implementation method for internodal communication in a cluster. When the last user leaves the CB manager for a particular node, the CB__MBX is deleted, and the manager exits. So, if there is noone on the CB, there is no system overhead. For the single-node implementation, this overhead is eliminated so I/O is only done when necessary. .pg .sk 3 .c;Fine Print and Conclusions .sk 2 All the usual boring stuff about not selling this program, not copying it without credit, and such all apply here. But I know you're a trustworthy type of person, right? CB/Vax is still in a somewhat preliminary stage of development. There are features whose implementation leaves something to be desired. Most notable among these is internode communication. Furthermore, there may be (heaven forbid) some BUGS left in the code. When you find them, please let me know... gently. (Doing so automatically gets you on the list for the next release, too!) .sk 4 .lm +50 Dale Miller .br March 7, 1986 .sk 2 Originally written and distributed by: Chris Thomas .lm -50