GENERAL $iΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»$n $iΊ About Joan Riff's CB Simulator Ί$n $iΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ$n Citizen's Band (CB) radio exists to allow the average citizen to use the radio waves without having to become a communications expert. A CB radio is simple to use, and allows many people to carry on a simultaneous conversation over the airwaves. $iJoan Riff's CB Simulator for PC Networks$n (hereinafter referred to simply as CB) is a software product for use on PCs that are connected to a local area network. Simply stated, CB is the digital equivalent of a CB radio. CB allows users of a network to carry on a multi-party simultaneous conversation, or $hconference$n. Operation is simple: the user simply types lines of text. Every line that the user types appears on the screen of every CB user, and lines typed by all other CB participants appear on the user's screen. $iΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»$n $iΊ CB Capabilities at a Glance Ί$n $iΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ$n This CB simulator provides the following features: ― Any of 19 simulated CB $hchannels$n may be used. ― Multiple $husers$n can be transmitting on a channel at one time. ― Multiple $hwindows$n can be on the screen at once, each one associated with one channel. ― Each user has his own $hhandle$n by which he is identified, and which gets attached to his messages. ― Incoming messages can be $hlogged$n to a Logfile. ― ASCII files may be $htransmitted$n across a channel as if typed by a user. ― Messages may be $hscrambled$n with a password in order to obtain a measure of privacy. ― Messages may have $hattributes$n attached which cause them to beep and/or be displayed in an alternative color when received. ― Messages which have scrolled off of the top of the window may be $hreviewed$n by scrolling backwards and forwards through them. ― $hContext-sensitive help$n is always just a single keypress away. ― Operation is configurable via $hconfiguration files$n, $henvironment variables$n, and $hcommand-line flags$n. ― Individual users may be filtered out ($hdisabled$n), so that irrelevant messages don't clutter your screen. ― This software runs on $hany network$n which provides multi-user access to a DOS directory - it is not dependent upon any specific network. ― Up to 50 distinct handles (hence users) may be "on the air" at one time. The practical upper limit depends upon the efficiency of your network. ― All of the PC's free real memory is used to hold incoming messages. ― Common operations are handled immediately from the $hmain screen$n, making CB very easy to use. ― Advanced operations are handled from within a $hpulldown menu$n $hinterface$n which allows you to navigate through all applicable choices before committing yourself. ― A revolutionary new approach to software registration $hprotects$n this software against unauthorized use, while giving registered sites $hunrestricted access$n to the software. $iΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»$n $iΊ CB Terminology Ί$n $iΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ$n $hchannel$n A $hchannel$n is a medium of transmission. The use of channels serves to compartmentalize communi- cations, in that what is transmitted over one channel can only be received by users who are monitoring that channel. Each window on the screen has a title line which describes the channel with which that window is associated. There are 19 simulated channels available to the user of CB. $hchannel name$n A $hchannel name$n is the name associated with a channel. Channels are named via parameters in the CB configuration files (see "$iConfiguration Files$n" below). A channel name is displayed in the $hwindow$n $htitle line$n at the top of each screen window, showing the channel with which that window is associ- ated. Channel names are also used as an informal, site-specific guide to their use. $hconference$n A $hconference$n is the sum total of all messages that are transmitted by all users on a particular channel. It is called a conference because in terms of what is said and heard it is exactly as if all participants were in the same room and would hear whatever is said by any single participant, whereas users of other channels would not be heard. $hcurrent window$n The $hcurrent window$n is the window into which you are typing. It is highlighted on the screen in order to differentiate it from any other windows which may be on the screen. When you press the $h{Return}$n key to transmit a message, that message gets sent over whatever channel is associated with the current window. $hhandle$n A $hhandle$n is the name by which the user wants to be known to his CB audience. It can be anything at all: a real name, a nickname, initials, or whatever. It may be up to 16 characters long. Every received message is identified on the left by the handle of the transmitter of that message. $hmessage$n A $hmessage$n is a single line which is transmitted over a channel. The transmit line at the bottom of the current window holds the message which is cur- rently being constructed for transmission. When you press the $h{Return}$n key to transmit the message, then the message is transmitted and the transmit line is cleared to start a new message. Received messages are identified on the left with the handle of the person who transmitted the message, so that you can keep track of who says what when many users are on the same channel. $hregistration$n Each user of this software product must be $hregistered$n with CCS in order to comply with the copyright, and to ensure that this software is used only by users who have legally purchased the right to use it. The process of $hregistration$n is fully described in "$iRegistration of this Software$n" below. $htransmit line$n The $htransmit line$n is the one-line subwindow at the bottom of a screen window. This space holds the single line which is being prepared for transmission over that window's channel. All keypresses which are not CB commands are stored in this line for eventual transmission over the channel when you press the $h{Return}$n key. $hwindow$n A $hwindow$n is a boxed portion of the screen which displays data for one channel. The upper portion of the window displays messages which have been $hreceived$n on that channel, and may be scrolled backwards to view messages which have disappeared off of the top of the window. The lower portion of the window is a single line, and holds the current line which is being prepared for $htransmission$n on that channel. This is the $htransmit line$n. You may have multiple windows on the screen at one time, each monitoring a different channel. $hwindow title line$n The $hwindow title line$n is the top line of the box which surrounds a $hwindow$n. This line is used to identify the channel with which this window is associated. INSTALL $iΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»$n $iΊ Installing Joan Riff's CB Simulator on a Network Ί$n $iΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ$n Before it can be used, CB must be installed on a network by the network administrator. Because CB is a network "groupware" application, its installation is somewhat more involved than is necessary for a stand-alone program. Nevertheless, its installation can be reduced to the following simple steps: 1) Obtain one registration serial number from Computerwise Consulting Services for every network user that you want to have access to CB. See "$iRegistration of this Software$n" (below) for detailed information about the registration process. 2) Create a directory somewhere on a network drive to which all potential users will have access. Use your network's administrator utility to give all users $hfull$n access to this directory. All users must be able to search this directory for files, create files under this directory, and read/write all files under it. 3) Copy the following CB files to some directory on the network which is in every user's search path: $iCB.EXE$n The executable program itself. $iCB_SITE.CFG$n The site-wide configuration file. $iCB_USER.CFG$n A sample user-specific configuration file. $iCB.HLP$n The Online Help Facility text file. 4) Edit the $iCB_SITE.CFG$n file (which you just created in step 3) to reflect your own site-wide preferences. It is especially important that you change the "$hDirectory=$n" parameter so that it names the network directory that you created in step 2. Be $hsure$n to include the trailing '$h\\$n' character in this directory name! 5) Using the registration serial numbers obtained from CCS, you must install each CB user using $hone$n of the following techniques (it's your choice): a) You can create a unique batch file for every user ($iCB_BOB.BAT$n, for example), and store it in a network directory which is in every user's search path. Each such batch file should invoke CB with command-line flags which specify this user's serial number and handle. See "$iCommand-line Flags$n" below. b) You can copy the sample $iCB_USER.CFG$n file (created in step 2 above) to a directory which appears in this user's DOS search path $hprior$n to any other directories, and then edit that file to contain this user's individual serial number and handle. This will cause CB to automatically find this file and obey the parameters contained in it. See "$iConfiguration Files$n" below. c) You can edit each user's AUTOEXEC.BAT file on his boot disk to set his serial number and handle via DOS $henvironment variables$n. See "$iDOS Environment Variables$n" below. The program is now ready to be used. Installation is complete. REGISTER $iΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»$n $iΊ Registration of this software Ί$n $iΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ$n This program will only run properly when it detects the presence of a valid registration serial number. This prevents the use of this program by folks who haven't paid for it. Shareware, after all, means "Try it $hbefore$n you buy it", not "Try it, like it, and keep using it $hwithout$n paying for it". Registration serial numbers may be obtained from CCS for the price of $$20 per user per year. Orders may be placed with CCS at the following address: CB Registration Computerwise Consulting Services P.O. Box 813, McLean, VA 22101 (703) 450-7175 Be sure to indicate the number of registrations desired (@ 1 per user), and to include payment for each such registration. Once a registration serial number has been obtained from CCS, it may be specified to this program in one of three ways: ― Via a "$hRegistration=xxxxxxx$n" command in each user's personal $iCB_USER.CFG$n configuration file. See "$iConfiguration Files$n" below. ― Via a "$hCBSERIAL=xxxxxxx$n" DOS environment variable. See "$iDOS $n $iEnvironment Variables$n" below. ― Via a "$h-#xxxxxxx$n" command-line flag provided on the command line when the program is run. See "$iCommand-line Flags$n" below. Remember - $heach$n user of this program needs to pass to CB his own personal registration serial number in order to be able to talk to other CB users. You may install as many copies of this software as you like. You may make backup copies of this software, because it is not copy-protected. In short, you are not constrained in any way from performing prudent software installation, distribution, or backup with this product, as any responsible network administrator will no doubt do with all network software that he owns. The only restriction is that $heach$n $huser$n must have $hhis own$n individual serial number as described above. FLAGS $iΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»$n $iΊ Starting CB: Command-Line Flags Ί$n $iΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ$n The following flags may be given on the command line which invokes CB: $h-hxxxx$n Sets your CB handle to the name $hxxxx$n. This will override any handle specified in a CB configuration file $iand$n in the environment variable $hCBHANDLE$n. If there are blanks in your handle, then be sure to quote the entire flag like this: "-hCrazy Ivan!" If you don't quote it, then CB will treat each word as a separate flag. $h-#xxxx$n Specifies your registration serial number. This will override any serial number specified in a CB configur- ation file $iand$n in the environment variable $hCBSERIAL$n. It must be specified $hSOMEWHERE$n (in one of these three places) before the program will become fully functional. $h-o$n Suppresses the loading of the Online Help file $iCB.HLP$n. This will save the memory normally occupied by that file, thus increasing the amount of memory available for holding incoming messages, or for DOS commands which you may want to run. This also means that Online Help will be unavailable to you. $hfilename$n Any command-line flag which does not start with a '-' character is assumed to be the name of a configuration file which is to be processed. Such files are processed after the $iCB_SITE.CFG$n and $iCB_USER.CFG$n configuration files, so any variables set from such files will override prior values. ENVIRON $iΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»$n $iΊ Starting CB: DOS Environment Variables Ί$n $iΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ$n An alternative (and preferred) way to pass an individual's serial number and password to the program is to set up two DOS environment variables which CB checks for when it runs. This can eliminate the need to build individual batch files which specify this information via command-line flags. The following DOS environment variables may be used to pass information to this program: $hCBHANDLE=xxxx$n Sets your CB handle to the name $hxxxx$n. This will override any handle specified in a CB configuration file, but will itself be overridden by the command- line flag "$h-hxxxx$n" (if provided to this program when it is invoked). $hCBSERIAL=xxxx$n Sets your personal registration serial number to $hxxxx$n. This will override any serial number specified in a CB configuration file, but will itself be overridden by the command-line flag "$h-#xxxx$n" (if provided to this program when it is invoked). These may be set in your system's $hAUTOEXEC.BAT$n file (or from the DOS command line) with the following commands: $iSET CBHANDLE=xxxx$n $iSET CBSERIAL=xxxx$n The purpose of these variables is to specify your individual serial number and handle so that CB can locate them when it begins execution. If you set these variables in the $hAUTOEXEC.BAT$n file of your system's boot disk, then you can just run the program directly via the DOS command "$hCB$n", without having to have an individual batch file created for you just to specify these things via command-line parameters. $iΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»$n $iΊ Searching For Files Via The DOS PATH Variable Ί$n $iΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ$n CB uses auxiliary files (the configuration files, its Online Help file) for various purposes. When the program searches for these files, it does so by looking $hfirst$n in the current DOS directory, and $hthen$n in every directory that is defined in the DOS $hPATH$n environment variable. This series of directories is sometimes known as the DOS $hsearch path$n. Your DOS manual describes how to set and use this environment variable. When CB enters execution, it searches the DOS search path for an ASCII text file named $iCB_SITE.CFG$n. This file - if found - is used to initialize various configuration variables used by CB as it executes. This file is meant to hold site-wide settings, which serve as defaults. After searching for that file, CB then searches for a similar file called $iCB_USER.CFG$n. This will typically reside within an individual user's own disk space, and is used to further customize CB's operation. Any values which are defined in this file will override the defaults that were specified in $iCB_SITE.CFG$n. Lastly, CB searches for a file named $iCB.HLP$n, which holds the text of the Online Help screens. It is important to remember that the search for these various files procedes through all directories in the $hPATH$n string $i in the $n $i order in which they appear $n. Assume that the $hPATH$n string has been set as follows: $iPATH=c:\\bin;c:\\mystuff;f:\\cb_stuff$n Now assume that there are three files named $iCB_USER.CFG$n in three separate directories: $iF:\\BBAUMANN\\CB_USER.CFG$n $iC:\\BIN\\CB_USER.CFG$n $iF:\\CB_STUFF\\CB_USER.CFG$n The file at $iC:\\BIN\\CB_USER.CFG$h is the one that will be found and used by CB. If you meant the file at $iF:\\BBAUMANN\\CB_USER.CFG$n to be the one to be used, then that's tough. The directory $iF:\\BBAUMANN$n isn't even in the DOS search path, so it will not be searched (unless it just happens to be the current DOS directory). If you meant the file at $iF:\\CB_STUFF\\CB_USER.CFG$n to be the one to be used, then that's tough too. Once CB finds the file that it's looking for (in this case, the file at $iC:\\BIN\\CB_USER.CFG$n), it stops looking. This, by the way, is very useful when you want to override the file at $iF:\\CB_STUFF\\CB_USER.CFG$n by having the program use the one at $iC:\\BIN\\CB_USER.CFG$n instead. Please remember this when setting up your own files. Make sure that you place them so that the above-described search will find the proper files in the proper order. CONFIG $iΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»$n $iΊ Configuring CB: The CB_SITE.CFG and CB_USER.CFG Files Ί$n $iΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ$n The behavior of CB can be modified by commands contained in two configuration files: $iCB_SITE.CFG$n This is the site-wide configuration file, which defines parameters which apply to all users on the network. $iCB_USER.CFG$n This is an individual user's configuration file, which modifies CB according to the individual user defined by this file. Neither file is absolutely required, although you are strongly encouraged to have at least the site configuration file $iCB_SITE.CFG$n. Each line of these configuration files is of the form $hKeyword=Value$n. The left side of the equation (up to and including the equals sign) is a literal which must be entered $hexactly$n as showm, including upper- and lower-case characters and embedded spaces. The right side of the equation is set by you. There are various types of entries, which are shown in the following examples as follows: $hxxxx$n The string $hxxxx$n stands for any string of your choice. $hYes$n | $hNo$n One value must be entered, either "$hYes$n" or "$hNo$n". $hn$n A number must be entered. The various literal keywords which are recognized are as follows: $hChannel 01=xxxx$n Specifies the name for CB Channel 01. ... ... ... ... $hChannel 19=xxxx$n Specifies the name for CB Channel 19. $hCopyright=Yes$n | $hNo$n Specifies whether the copyright screen is to remain on the screen ($hYes$n) or is to be cleared ($hNo$n) at program startup. If there is anything wrong with the regi- stration serial number, then this screen is presented regardless of the setting of this variable. $hDirectory=xxxxxxx$n Specifies the name of a network directory under which this program is to create its temporary message files, and under which it will look for other users' traffic. This must be a complete network path, including the trailing '\\' character. A failure to specify the name of an existing directory will cause an error when the program tries to establish its network connection. $hHandle=xxxxxxx$n Specifies the CB handle that you will be known by. Each user should have a distinct handle, although (as with a true CB radio) this is not enforced. This handle may be specified here, in the DOS environment variable $hCBHANDLE$n, or on the command line that runs CB as the command-line flag "$h-hxxxxxxx$n". $hLogfile=xxxxxxx$n Specifies the default name to be used for the Logfile, to which incoming messages are written when Logging is turned ON. You are given the chance to explicitly specify the name of the file to be written. This item exists just to provide a convenient default. $hPage=xxxx$n Specifies the DOS command which is to be used to $hPAGE$n somebody on your particular network. When you ask this program to page somebody, it will pass to DOS the command which you have specified here. You reserve space in the command for the user's name by inserting the reserved string "\\N". This will be replaced with the name of the user that you are paging. With Novell, for instance, you can page somebody using the Novell-supplied program SEND. So your entry could read as follows: $hPage=SEND "You're wanted on CB!" TO \\N$n Note that the string "$hxxxx$n" may contain embedded backslash escapes. These are translated by this program before the string is passed to DOS for execution. These escape sequences are as follows: $h\\r$n becomes a Carriage Return $h\\n$n becomes a Line Feed $h\\b$n becomes a Backspace $h\\t$n becomes a Tab character $h\\f$n becomes a Form Feed $h\\xFF$n becomes a byte with the HEX value $hFF$n $h\\000$n becomes a byte with the octal value $h000$n This $hPage=$n variable is merely a convenience, useful only if you want this program to do the paging for you. You could accomplish exactly the same effect by issuing the appropriate DOS command yourself from within this program. $hRefresh=n$n Specifies the number of seconds between checks for new messages. The argument n may be from 1 to 29. The smaller the number, the more responsive the program will be to new traffic (at the expense of increased disk activity). A larger number will mean that more time may elapse between the time that a message is posted and it appears on your screen, but the program will pay more attention to your keyboard. $hRegistration=xxxxxxx$n Specifies your personal registration serial number. Each user must have his own distinct serial number, as provided by CCS. This number may be specified here, in the DOS environmemt variable $hCBSERIAL$n, or on the command line that invokes CB as the command-line flag "$h-#xxxxxxx$n". The program will not be fully functional until and unless a valid such number is presented to it through one of these methods. $hSound=Yes$n | $hNo$n Specifies whether sound is to be used ($hYes$n) or suppressed ($hNo$n). XMIT $iΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»$n $iΊ Talking on a CB Channel Ί$n $iΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ$n Once CB has been invoked, it is extremely easy to use. For most applications, all that you need to do is type lines of text that you want to broadcast to other users of CB, and watch the responses from those users show up upon your screen. As you type characters into the bottom line of your currently-active window, you are composing a line which will be transmitted over that window's channel. If the channel on which you are transmitting has been $hscrambled$n, then outgoing lines will be automatically scrambled as they are sent, and can only be meaningfully received by CB users who have likewise scrambled that channel using exactly the same password. Normally, any keys which are pressed are inserted into the current line which you are building. The following keys have special meaning: $h{Alt-A}$n $hA$nttributes. This keypress pops up a one-line menu showing various attributes which may be applied to the line which is being entered. Press the key corresponding to the attribute which is to be toggled, or $h{Escape}$n to exit this menu. The available attributes are: $hB$neep Causes a recipient's PC to beep when this message is received. $hC$nolor Causes this message to be displayed in an alternate color on the recipient's screen. $h{Alt-C}$n $hC$nhannel. Switches the "current" window to be tuned to the next available active channel. This is a quick way to browse through several channels without having to use pulldown menus. $h{Alt-W}$n $hW$nindow. Makes the next window on the screen the "current" window. This is a quick way to make another window the current one without having to use pulldown menus. $h{Alt-H}$n $h{F1}$n $hH$nelp. Invokes online help for transmitting messages. $h{Alt-M}$n $h{F2}$n $hM$nenu. Invokes the pulldown menu system, which allows you to perform various operations. $h{Return}$n Causes the current line to be transmitted over the current channel. The window is then cleared in preparation for the next line to be entered. $h{Right}$n Moves the cursor one character to the right. $h{Left}$n Moves the cursor one character to the left. $h{Home}$n Moves the cursor to the far left limit of the line. $h{End}$n Moves the cursor to the far right limit of the line. $h{Tab}$n Inserts blanks up to the next 8-character TAB column. $h{Shift-Tab}$n Deletes backwards to the previous TAB column. $h{Backspace}$n Deletes the character to the left of the cursor. $h{Del}$n Deletes the character at the cursor. $h{Ctrl-End}$n Deletes to the end of the line. $h{Ins}$n Toggles Insert/Overwrite mode for the transmit line. RECV $iΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»$n $iΊ Listening to CB Channels Ί$n $iΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ$n In the upper half of each window you are monitoring activity on the indicated channel. Any messages that are transmitted (by you or somebody else) on a channel are automatically displayed in the upper part of the corresponding window. If a monitored channel has been $hscrambled$n, then incoming scrambled messages will be automatically unscrambled before being displayed, using whatever password you specified when you asked the channel to be scrambled. If this password is different from the password that was used by the transmitter of a message, then the received data will appear as garbage on your screen. In addition to the keypresses described for transmitting (above), the following keys are specifically related to the upper part of the window, which displays received messages: $h{Up}$n $h{PgUp}$n $h{Ctrl-PgUp}$n $h{Down}$n $h{PgDn}$n $h{Ctrl-PgDn}$n These keys scroll the upper part of the "current" window backwards and forwards by lines, screens, or the entire in-memory buffer. This allows you to recall messages which may have scrolled off of the screen. $h{Ctrl-Right}$n $h{Ctrl-Left}$n These keys pan the upper part of the "current" window to the right and left in units of 8 columns. This is useful when viewing lines which are too long to be displayed within the confines of the window. Many users prefer to keep the window permanently panned 16 columns to the right. This exactly hides the handles which are at the left edge of each line, and shows the greatest amount of text from each message line. F1 $iΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»$n $iΊ About the {F1} Key Ί$n $iΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ$n If you are ever uncertain about some aspect of CB then just press $h{F1}$n (Function Key number 1 on the PC keyboard). The $h{F1}$n key is interpreted as a request for help. When pressed, it does one of two things depending upon what's going on when it is pressed (that is, depending upon the $hcontext$n within which help was requested): 1) If you are seeing the standard CB screen (i.e. - you are not in the middle of a command or a question), then pressing the $h{F1}$n key will give you access to the full Online Help facility. This is a series of screens which explain various facets of this program. You may page forward and backward through these help screens. 2) If you are being prompted for some input, or are pointing to some Pulldown Help Menu item, or have been shown some error message, then pressing the $h{F1}$n key will elicit a hint as to what is required or meant by the prompt or message. This hint will disappear by itself with your next keypress. HELP $iΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»$n $iΊ Using Online Help Ί$n $iΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ$n The Online Help facility is simply a means of browsing through the help file $iCB.HLP$n. The following keys are available to you when using Online Help: $h{Up}$n Scrolls the text up one line. $h{PgUp}$n Scrolls the text up one screen. $h{Down}$n Scrolls the text down one line. $h{PgDn}$n Scrolls the text down one screen. $h{Home}$n Goes to the very first screen of Online Help. $h{End}$n Goes to the very last screen of Online Help. $h{Escape}$n Exits Online Help. PULLDOWN $iΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»$n $iΊ Pulldown Menu Interface: Introduction Ί$n $iΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ$n $i $n $i NOTE: While in the Pulldown Menu Interface, communications $n $i are temporarily frozen. They will be resumed when you exit $n $i the Pulldown Menu Interface and return to the main CB screen. $n $i $n Much can be accomplished with CB without ever leaving the main screen. CB, however, is much more powerful than that main screen would indicate. In order to keep the main screen as simple and clean as possible, it has not been cluttered with the dozens of commands that control CB's more advanced operations. Instead, these additional commands have been gathered together into an easy-to-use $hPulldown Menu Interface$n. The Pulldown Menu Interface is inherently different from the command- driven interface used in the main screen. There are many available commands, and the menu approach is designed to let you see all available options before you choose one, and to browse through those choices without necessarily committing yourself. Lastly, it allows you to back out of one series of menus, to pursue another menu path if you choose to. $iΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»$n $iΊ Pulldown Menu Interface: Invoking the Menu System Ί$n $iΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ$n The Pulldown Menu Interface is invoked from the main CB screen by pressing $h{Alt-M}$n (that's "$hM$n" as in "$hM$nenu") or the $h{F2}$n key. Once either key has been pressed, the top three lines of the screen are replaced with the main menu. This is your point of entry into the menu system. $iΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»$n $iΊ Pulldown Menu Interface: The Main Menu Line Ί$n $iΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ$n The topmost line of the screen has been replaced with the $hmain menu $n $hline$n. This presents the various general categories of commands which are supported by the menu system. One and only one of the names on this line will be highlighted. This highlight is moved by using the $h{Left}$n and $h{Right}$n keys, and defines the current $hmain menu$n $hselection$n. As you move this highlight, the second line of the screen changes. This line always holds a short description of the highlighted selection. In other words, this line tells you what you will be doing if you choose the highlighted menu selection. Once you have highlighted the main menu choice that you want to $hdescend$n, you select that choice by pressing the $h{Return}$n key. Alternatively, you may select an entry in this (or any other) menu by pressing the key which corresponds to the letter in each entry which is in a different color. A $hpulldown menu$n then appears below the selected main menu choice. $iΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»$n $iΊ Pulldown Menu Interface: Pulldown Menus Themselves Ί$n $iΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ$n A $hpulldown menu$n appears when a menu selection has sub-selections from which you may choose. One and only one entry in this vertical menu is highlighted. You may move this highlight by pressing the keys $h{Up}$n, $h{Down}$n, $h{PgUp}$n, and $h{PgDn}$n. As you move the highlight, the description on the second line of the screen changes to suit the entry that is highlighted. In this manner you may browse up and down through the various menu entries until you arrive at just the one that you want. As with the horizontal main menu, an item is selected from a vertical pulldown menu by moving the highlight to the desired entry and pressing the $h{Return}$n key. $iΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»$n $iΊ Pulldown Menu Interface: Menu Positioning Ί$n $iΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ$n CB makes every attempt to place pulldown menus in such a way that superior menus remain visible, so that you can judge from the chain of displayed menus just exactly how you got where you are. However, CB won't let menus drop $htoo$n far down the screen, or else they will obscure too much of the main CB screen. Thus some menus may open up partially or completely $hon top of$n superior menus. And if a pulldown menu contains more entries than can be shown within the relatively limited vertical space allocated for pulldown menus, then up and/or down arrows will appear in the margins of the pulldown menu to indicate that more choices exist above or below the indicated choices, which can be reached by scrolling the menu upward or downward with the appropriate $h{Up}$n, $h{Down}$n, $h{PgUp}$n, or $h{PgDn}$n keypresses. $iΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»$n $iΊ Pulldown Menu Interface: Context-Sensitive Help Ί$n $iΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ$n The short description on the second line of the screen might not give you enough information about the highlighted choice to satisfy you. As mentioned previously, the $h{F1}$n key may be pressed to obtain a more explicit hint. This causes a $hhint box$n to appear which more fully describes the highlighted choice. $iΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»$n $iΊ Pulldown Menu Interface: Backing Out Ί$n $iΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ$n The $h{Escape}$n key serves to $hback out$n of the current menu. This returns you to the prior menu from which the current menu was selected. If pressed when only the main menu is on the screen, this keypress will exit the Pulldown Menu Interface back to the main CB screen. $iΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»$n $iΊ Pulldown Menu Interface: The CHANNEL Menu Ί$n $iΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ$n Choosing the "$hC$nhannel" entry from the main menu opens a pulldown menu which shows the various operations that may be performed upon CB channels. $iChannel Disable$n This menu item allows you to $hdisable$n a given channel, which means that input from the given channel will be ignored. You won't see new messages from this channel on your screen, even if you have a window on your screen which is currently tuned to that channel. More importantly, internal memory won't be wasted holding messages from this channel, which means that more memory will be available to hold messages that you are really interested in, and DOS commands issued from within this program will have more memory in which to run. A pulldown menu is presented which allows you to select the channel which is to be disabled. $iChannel Enable$n This menu choice allows you to $henable$n a channel, which undoes the effects of a disabled channel. Messages from the indicated channel will once again be accepted by this program, and passed to any windows which are tuned to the given channel. $iChannel Scramble$n You may $hscramble$n a channel, which means that transmitted messages will be $hencrypted$n before they are transmitted over a channel and $hdecrypted$n upon receipt. This may be used to ensure a measure of privacy on the otherwise open simulated airwaves. When this menu selection is made, you are given the opportunity to select the channel which is to be scrambled. You are then asked for a $hpassword$n to be used to scramble data on the channel. This password may be up to 8 characters long. $hThis exact password must be used by all CB users who want to exchange scrambled messages$n! If a scrambled message is received by a user who has not scrambled the channel, it will not be displayed. If it is received by a user who $hhas$n scrambled the channel but who $hdid not$n scramble it with exactly the same password, then it may display as garbage on the screen. A scrambled channel is identified by a "$h@$n" character before the channel identification in the window title line. $iChannel Unscramble$n This menu selection undoes the effect of scrambling a channel, so that once again messages will be sent and received in the clear. $iChannel Tune$n This menu selection allows you to tune your current window to a specific channel. Whatever channel that window was formerly tuned to becomes irrelevant. From now on that window will monitor messages from the newly-tuned channel. Whatever channel you select is automatically $henabled$n. $iΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»$n $iΊ Pulldown Menu Interface: The FILE Menu Ί$n $iΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ$n The "$hF$nile" main menu choice gives you access to the various file- and DOS-related operations which can be performed. $iFile DOS$n This menu selection allows you to execute a DOS command from within this program. Enter the DOS command which you want to execute. CB will pass that command to DOS for execution, and will then pause for you to press the $h{Return}$n key before it clears the DOS screen and returns to the CB screen. If you want to execute a series of DOS commands, then you may use this menu selection to enter the DOS command interpreter $iCOMMAND.COM$n. You indicate this by entering an empty command string (i.e. - you simply press $h{Return}$n instead of entering a command to be executed). This causes CB to invoke $iCOMMAND.COM$n, which displays the familiar DOS prompt and then processes your commands. To return to CB, issue the DOS command "$iEXIT$n". $iFile Transmit$n This selection allows you to send an ASCII text file as if you typed it into the transmit line yourself. In fact, the file may be transmitted in either of two modes: $hM$nanual Each line of the file is read into the window's transmit line, where you may then edit it. The line will not be transmitted until you press $h{Return}$n as you would for any transmit line. $hA$nutomatic Each line is read into the window's transmit line, $hand then automatically transmitted over the channel$n. You do not need to press $h{Return}$n to transmit a line. Nor can you edit each line before it is sent. $iFile Logfile$n This selection controls the $hLogfile$n, which is an ASCII file to which incoming messages are recorded. You may perform the following functions with the Logfile: $hOpen$n Open a new or existing Logfile, and start recording incoming messages to it. If the file already exists then you are given the choice of $happending to$n or $hoverwriting$n the contents of the file. $hClose$n Close an open Logfile. This is done automatically for you if you exit the program with an open Logfile. $hAnnotate$n Write a one-line message to the Logfile. You are prompted for a line to be written. That line is written to the open Logfile along with the current date and time. $iFile Quit$n This selection allows you to exit from this program back to DOS. Any open files are automatically closed for you before the program actually exits. $iΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»$n $iΊ Pulldown Menu Interface: The HELP Menu Ί$n $iΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ$n The "$hH$nelp" pulldown menu gives you access to the Online Help facility. The difference between accessing this facility through this menu and via pressing the $h{F1}$n key from the main CB screen is that this menu gives you an index of the helpfile. By selecting an entry from this menu, you can enter the Online Help file at precisely the screen which interests you. $iΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»$n $iΊ Pulldown Menu Interface: The USER Menu Ί$n $iΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ$n The "$hU$nsers" pulldown menu allows you to perform various operations associated with users of CB. $iUsers Disable$n By $hdisabling$n a user, you cause incoming messages from that user to be ignored. Use this to filter out messages from a user who is hogging the channel, or is otherwise being obnoxious. You identify the user to be disabled by choosing his handle from a subordinate pulldown menu. $iUsers Enable$n By $henabling$n a user, you undo the effects of $hdisabling$n that user. Once a user (again identified by handle) has been enabled, incoming messages from that user will again be accepted. $iUsers Handle$n This selection allows you to change $hyour own$n handle (but nobody else's). You are prompted for your new handle. In response to this prompt, enter a string of up to 16 characters. There is no requirement that this handle be unique, although things could conceivably get confusing if two or more users share a handle. $iUsers Page$n This selection allows you to $hpage$n a network user who is currently not on CB. This is the preferred way to send a message to a person's screen to the effect that he is wanted on CB. Since he is not already on CB, of course, you can't very well send him a CB message. And electronic mail won't do because he may not read it for hours. So this command invokes your network's paging facility (as defined by your network administrator when he installed CB on your network and specified the "$iPage=$n" parameter in the CB configuration file) to send a short message to the person's screen. All that you need to know to use this command is the network name of the user. On some networks this is known as his $hlogin name$n. Once the paged user has received this message, he can at his leisure invoke CB and join the conference. $iΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»$n $iΊ Pulldown Menu Interface: The WINDOW Menu Ί$n $iΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ$n The "$hW$nindow" pulldown menu controls various operations related to the current window. $iWindow Channel$n This selection tunes the current window to the next channel which has been $henabled$n. If there are currently two channels which have been enabled, then this command will tune the current window to the "other" one. If there are more than two channels enabled, then subsequent invocations of this command will sequence through the entire list of enabled channels. Of course, if there is only one channel which has been enabled then this command will have no effect. Rather than having to go through the entire Pulldown Window Interface to accomplish this, you can accomplish the same thing by pressing $h{Alt-C}$n from the main CB screen. $iWindow Next$n This selection makes the $hnext$n window on the screen the current window, assuming of course that you have at least two windows on the screen. That window then becomes highlighted, and its transmit line becomes active. Rather than having to go through the entire Pulldown Window Interface to accomplish this, you can accomplish the same thing by pressing $h{Alt-W}$n from the main CB screen. $iWindow Kill$n This selection $hkills$n the current window (assuming of course that there are at least two windows on the screen), and gives its space to one of its neighboring windows. Along with $hW$nindow $hS$nplit this command allows you to control the number of windows on your screen. $iWindow Split$n This selection $hsplits$n the current window into two, assuming of course that the window being split is large enough to support two separate windows. The two windows thus created are initially pointing to the same channel, but now that they are two separate windows you may independently change each window to suit your needs. Along with $hW$nindow $hK$nill this command allows you to control the number of windows on your screen.