ANSWER performs the phone-answering operation in a system. It requires that BYERSX be installed and operating. ANSWER itself is completely machine independant, however it does assume the use of an intelligent modem. It has been checked with the USR Password and the Prometheus 1200 so far. ANSWER can enforce system access passwords, and select the first (and possibly only) program to execute in remote mode. The baby programs ENDCALL and BYE should be made available. RXMD can be used for up/downloads. NOTE: for RCPM use, when generating a ANSWER.COM, link using the NOPIPES module (.pipes:: stc | ret) to prevent a remote user redirecting output to files or devices. Since speed is no problem, this is the only reason for creating such a file in place of ANSWER.PCD. It is much easier to control the system with BYE and ENDCALL chains. To run with 2400 baud modems (not checked) execute with parm = 4, e.g.: d>answer [4] (answer will back down to 1200 if it can't arm the modem) Any failure to arm the modem turns on the debugging monitor for modem communications. Answer tries 5 times before aborting. You should also patch/reassemble the chaining string in ENDCALL.COM to include the "[4]". The "RUNPCD" may be deleted if you are using the .COM version of ANSWER. The string is at the end of the .COM file, and at least 32 bytes of patch space are available. The password and execute strings in ANSWER are patchable. To find them, scan for the word DDT in the object code. This begins a 20 byte blank filled string, and is shortly followed by a 20 byte string of blanks. You may patch these as desired, using only upper case letters, and no control characters. Internal and leading blanks are significant, trailing blanks are not. If all blank the associated string is considered nul. The "DDT" string is the password, and the blank string is the "execute". ANSWER exits in the following manner, after receiving a call: 1. If the password string is non-blank, a system password is requested. It is not echoed to the remote system. The remote user has 3 tries. If the password is blank, no password is enforced. This caters to "execute" programs that do their own identification. 2. If the execute string is non-blank, that command is executed in secure mode (i.e. any system error or other reboot will hang up and re-initialize). Note that the command may include parameters. This will normally execute a BBS system, but may do anything you desire. If the execute string is blank (nul) then the CPM system is entered, in non-secure mode. 3. In either case, the remote console is enabled, all privilege levels (wheel, dunochk [restricting drive/ user access], devices [preventing any use of LST, PUN, RDR]) are off, carrier checking is on, and all disk drives (A thru P, whether existent or not) are write-protected. Thus any attempt to write to a disk will reboot without writing. The user cannot erase or modify anything without access to SETWHEEL, WPROTECT, DDT (or equivalent) programs. Note that DUU is safe, as are the ERA and SAVE CCP commands. Since devices are disabled the CTL-P operator is also harmless. DCDCHECK should probably also be protected to ensure that carrier loss will re-cycle the system. WARNING: systems exist (time stampers, etc) that attempt a disk write when a file is opened for read. With write protection enabled these will abort everything. For best operation it is recommended that CCPLUS and CCPXTEND be installed. These provide automatic execution of commands in libraries, the RUNPCD interpreter, and search chains. No changes are needed to any normal bios. CCPLUS installation for a fixed CPM size can be performed in 5 minutes, using the standard SYSGEN program. CCPXTEND.SYS is a normal runnable program, if renamed to a .COM type. It is always optional. With CCPXTEND.SYS in place all commands may be kept in the two libraries COMMAND.LBR and PCDS.LBR. This can produce huge savings in disk space. (I keep over 100 commands on my 390k, 64 directory entry system disk, including one compiler, two code generators for it, 2 assemblers, lu, duu, editor, ANSWER itself, pip, RXMD, and much more. All are accessible from any drive/user with only the command name). cbf