APPENDIX I -- RBBS-PC in a DESQview Environment ----------------------------------------------- DESQview, from Quarterdeck Office Systems, provides an excellent, low-cost, software platform for RBBS-PC SysOps wanting multiple nodes on a single PC. This appendix has been provided to help both the novice SysOp and the more experienced SysOp with the implementation of multiple nodes under DESQview. 1. Basic Hardware Considerations -------------------------------- If your computer has only 640k, you will be limited to a single node when using DESQview. If, however, your computer has 1-Megabyte or more of EEMS memory, DESQview is capable of supporting up to 8-nodes on a single computer. Providing two nodes is simple. Going beyond two nodes will require special software and hardware. This appendix describes both approaches. Multiple-node operation will require an EEMS-compatible memory expansion card for your computer. Make certain your memory card is EEMS (not merely EMS, but EEMS) compatible! If you are not using an 80386 computer, DESQview can ONLY swap EEMS memory, so you will want to replace as much motherboard memory as possible with EEMS RAM. This limitation is described in the DESQview documentation. These limitations do not apply if you use an 80386/SX or 80386 based computer. Therefore, we recommend an 80386 as the best choice for a multi-node host computer. If you plan to use an 80386 or 80386/SX computer, we suggest you purchase DESQview/386, which includes the QEMM memory manager. This memory manager allows DESQview to use regular 80386 Extended memory in the same manner as EEMS memory. The QEMM memory manager may be purchased separately if you already have DESQview. Before you continue, make certain you have read and thoroughly understand the instruction manual provided with your copy of DESQview. 2. Modifications to DOS CONFIG.SYS and RBBS-PC batch files ----------------------------------------------------------- The first step in using DESQview with RBBS-PC is setting up your CONFIG.SYS file. The FILES statement is critical. Allocate at least 16 files for each copy of RBBS-PC. QEMM/386 will allow you to allocate files without using base RAM (see the QEMM manual for details). Increasing DOS BUFFERS will also help, but options such as a disk CACHE will determine the optimum setting. A 2-node CONFIG.SYS file should include the following: FILES=32 BUFFERS=25 You should start RBBS-PC from a two-level batch file. A "startup" batch file will perform functions required only once, when you open the DV window. The second file, RBBS.BAT, will start RBBS-PC, and process the recycling, doors and daily maintenance. In our example, the "startup" batch file is named START.BAT. The node number for each RBBS-PC node is passed to START.BAT by DESQview. In so doing, you only need to provide a .DVP file for each node. All the batch files are the same, which reduces confusion and maintenance. in C:\RBBS\START.BAT Description of each line's function: -------------------------- -------------------------------------- DVANSI loads DESQview ANSI.SYS driver SET NODE=%1 Sets the node number for this RBBS-PC node LDFILTER.COM explained later in this appendix SET DSZLOG=XFER-%node%.DEF set DOS environment variable for DSZ RBBS call RBBS.BAT The standard RBBS.BAT (explained in section 13) will be adequate for use with each node of RBBS-PC under DESQview. 3. What to Tell RBBS-PC's "CONFIG" Utility ------------------------------------------ When using DESQview, you will need to change some parameters with the CONFIG program (supplied with RBBS-PC). If you are running only one node, the only required change is parameter 162 (network environment). Set this to DESQview. If you are running multiple nodes, consult appendix G for the parameters that should be set to properly configure multiple nodes. 4. DESQview Setup Default Settings ----------------------------------- The next step in configuring DESQview for use with RBBS-PC is specifying the default settings for DESQview. DESQview has a setup program that may be invoked at the DOS prompt. Enter SETUP to run this DESQview setup routine. After the SETUP program loads, press RETURN for the Advanced Setup Procedure followed by a "P" for Performance defaults. Here is an example of the recommended settings: ------------------------------------------ I Task Processing Time (in Clock Ticks) I Optimum Fore/Backgrnd can vary I Foreground: 9 I between 15/14 and 4/3. These I Background: 8 I settings will vary depending on I I CPU speed and number of nodes I Memory Usage (in K) I in operation. Experiment with I Common Memory: 24 I different settings to find the I DOS Buffer for EMS: 2 I best for your system. I I I Optimize communications? (Y/N): N I Select [Y] if you're operating I Allow swapping of programs? (Y/N): Y I only 1-node under DESQview! I Manage printer contention? (Y/N): N I I I I Next field Tab I I Backup menu Esc I I DONE <ΔΩ I I I ------------------------------------------ NEVER indicate more clock ticks for Background processing than you are using for the Foreground processing. DESQview will automatically increase the amount of Background clock ticks whenever there is little demand for Foreground processing. This will be the case when running RBBS-PC in the background and doing word processing or a similar task in the foreground. This feature cannot function properly if the Background clock ticks are set higher than the Foreground clock ticks. Setting the High Speed Comm default to YES will make communications interrupts the highest priority. While this is suggested if you operate a single node, you should specify NO for optimum performance when operating multiple nodes. 5. Adding RBBS-PC to DESQview's "Open Window" Menu --------------------------------------------------- Refer to the section "Adding Your Own Program" in the DESQview manual. You will need to "Add a Program" for each node of RBBS-PC you intend to operate on your system. You may name the programs N1, N2, etc. N1 will load the batch file START.BAT with the Parameter "1". N2 will load START.BAT with the Parameter "2" and so on. Use the following settings for each node (or copy) of RBBS-PC you install. Add a Program -------------------------------------------------------------------------- Program Name............: [NODE-1] Keys to Use on Open Menu: N1 Memory Size (in K): 380 Program...: START Please note that Memory Size above may need to be increased if you intend to Parameters: 1 (node number) SHELL (rather than DOOR) to External file transfer protocols. Directory.: C:\RBBS Options: Writes text directly to screen.......: [Y] Displays graphics information........: [N] Virtualize text/graphics (Y,N,T).....: [T] Uses serial ports (Y,N,1,2)..........: [Y] <-N if Using a Requires floppy diskette.............: [N] FOSSIL driver -------------------------------------------------------------------------- Next, press F1 for the Advanced Options menu. Change a Program Advanced Options -------------------------------------------------------------------------- System Memory (in K).......: 0 Maximum Program Memory Size (in K)..: Script Buffer Size.......: 1 Maximum Expanded Memory Size (in K): Text Pages: 1 Graphics Pages: 0 Initial Mode: Interrupts: 00 to FF Window Position: Maximum Height: 25 Starting Height: 25 Starting Row...: 0 Maximum Width.: 80 Starting Width.: 80 Starting Column: 0 Shared Program Pathname..: Data......: Close on exit (Y,N,blank)......: [N] Uses its own colors............: [Y] Allow Close Window command.....: [Y] Runs in background (Y,N,blank).: [Y] Uses math coprocessor..........: [N] Keyboard conflict (0-4)........: [0] Share CPU when foreground......: [Y] Share EGA when foregrnd/zoomed.: [Y] Can be swapped out (Y,N,blank).: [N] Protection level (0-3).........: [0] -------------------------------------------------------------------------- 6. Memory Considerations ------------------------ Please refer to your DESQview documentation for information regarding the use of XDV.COM and optimizing the size for each DESQview window. Current versions of DESQview require a little under 180k of your system's memory, leaving only 430k to operate RBBS-PC on a system with 640k. Specify a minimum window size of 380k for RBBS-PC. If you choose to SHELL (rather than DOOR) to external protocol drivers for file transfers, you will have to increase this window size. It is necessary to use EEMS memory to run two or more concurrent copies of RBBS-PC under DESQview. If available EEMS memory allows, you may wish to add an additional "LOCAL" node for SysOp use. When using an additional node for SysOp duties, an additional modem and RS-232 interface are not required. Simply use CONFIG to set up the .DEF file for the node you are planning to use for SysOp duties. You must specify the communications port as COM0. Failure to do so will prevent your local SysOp node from loading properly. 7. Expanded Memory ------------------ If you are using an "Expanded Memory" board that allows more than 640k to be used for programs, the constraints discussed in the previous section may not apply. Specify a window size of 460K for each node of RBBS-PC and invoke the external protocol drivers by SHELLing. For information on running programs in expanded memory, refer to the manuals for DESQview and your particular memory board. 8. How to AUTOEXEC RBBS-PC From DESQview ---------------------------------------- Refer to the section "LEARN: DESQview's Keystroke Macro Feature" in the DESQview manual. A script assigned to the ! key (on the DESQview menu) has a special meaning. It is performed at the time you start up DESQview, immediately after the DESQview menu appears. This is called a STARTUP SCRIPT. You should "Learn" the Startup Script with no windows open and with the DESQview menu displayed to be sure it will play back properly. Use this particular script to load N1, N2, etc. of RBBS-PC. If you load DESQview from your AUTOEXEC.BAT file, RBBS-PC will load from DESQview automatically. This can be handy if there is a power outage while you are away and no one is around to re-load RBBS-PC when the electricity returns. You should open the window(s) for RBBS-PC prior to opening windows for any other application software. 9. Quarterdeck Utilities ------------------------ Two Quarterdeck utilities, STDERR.COM and LDFILTER.COM are distributed with RBBS-PC. LDFILTER.COM should be executed when you open a window in DESQview. If you use the Small & Fast version of RBBS-PC, or you compile RBBS-PC with QuickBASIC v2.01, you should use LDFILTER.COM. In the above examples, LDFILTER would be placed into the START.BAT batch file. LDFILTER was written by Quarterdeck Office Systems to compensate for the memory mismanagement of the BASIC compilers. If you try to "SHELL" to an external routine the error "not enough memory to SHELL" is issued. LDFILTER.COM prevents this error condition by preventing the code generated by the BASIC compilers from mis-managing memory. STDERR.COM should be executed from your autoexec.bat file, prior to loading DESQview. STDERR was written by Quarterdeck Office Systems to compensate DOS' inability to redirect the standard error output to the same device that the standard output device had been redirected to. If you are running something remotely and an error occurs, STDERR.COM allows the error to be displayed at the remote user's end and not simply on the PC that is running RBBS-PC under DESQview. 10. Redirecting I/O Considerations (DOS CTTY Command) ----------------------------------------------------- The DOS CTTY command is NOT supported under DESQview. The GATEWAY device driver version 2.0, by Hans D. Kellner, provides an excellent alternative. This device driver is available on many bulletin boards under the filename GATEWAY2.ZIP. Since the DOS CTTY command is not supported within a DESQview window, you may use GATEWAY2 to allow redirection of I/O. This will allow the SysOp Function 7 (drop to DOS) to function properly! It will also allow RBBS-PC DOORS to function that rely on the CTTY command. Instructions for installing GATEWAY2 with RBBS-PC. 1) Place the file 'GATEWAY2.SYS' in your boot disk root directory. 2) Add the following lines to your 'CONFIG.SYS' file: DEVICE=GATEWAY2.SYS -D -1 <-- for node-1 using COM1 DEVICE=GATEWAY2.SYS -D -2 <-- for node-2 using COM2 (note) You must change the [-d] parameter to [-f] if you are using a FOSSIL driver (described later in this appendix). 3) Run the RBBS-PC CONFIG.EXE program for each node of RBBS-PC you're using. Select parameter 106, and specify that you do NOT want to redirect via CTTY. CONFIG will then ask if you wish to redirect via a device driver. Enter "Y", and then enter GATE2 as the device name. The use of GATEWAY2 has an added benefit for those SysOps who provide the PC-SIG collection of files on CD-ROM. When a user A)rchives a disk, RBBS-PC will use Gateway to redirect the archive activity (normally seen only on the SysOp's screen) to the remote user. This will allow the caller to see the PC-SIG disk being archived! 11. FOSSIL Drivers - Break the 2-node Barrier under DESQview! ------------------------------------------------------------- The BASIC language can only support COM1 and COM2, and when either of these are selected and you specify that you will not be using a "FOSSIL" driver, RBBS-PC will use the built-in BASIC support for remote access (i.e. via a communications port and a modem). However, RBBS-PC will interface with "FOSSIL" drivers that support not only COM1 and COM2 but also COM3 through COM8. If you use parameter 221 to indicate that RBBS-PC is to access the communication port via a FOSSIL driver, the FOSSIL interface (FOSSCOMM.OBJ) written by Daan Van der Weide will be used. FOSSCOMM is already built into RBBS-PC, so it will be active as soon as you select it. In a multi-tasking environment such as DESQview up to 8 copies of RBBS-PC can run simultaneously accessing COM1 to COM8, respectively, using Ray Gwinn's X00.SYS device driver. Ray can be reached via FidoNet (109/639) or the RENEX bulletin board at (703) 494-8331 or (703) 690-7950. X00.SYS is also available on many BBSs. When using FOSSIL support, you will select CONFIG parameter 221. After you specify a communications port, CONFIG will ask if it should use FOSSIL support. Answer YES, and then enter the base comm port address for the port. See the chart later in this section for common base port settings. If you choose to implement a fossil driver, you'll want to change the following parameter for each DESQview window: Options: Uses serial ports (Y,N,1,2)..........: [N] <--Set to NO If the fossil is handling communications, you should tell DESQview that RBBS-PC is NOT using serial ports. That way, only the fossil is handling the communications for each port. In the following text, we will attempt to give you some basic information regarding the use of X00.SYS with RBBS-PC. For additional information, please refer to the documentation provided with the X00.SYS fossil driver. There are several approaches that can be taken to implement serial ports with Ray Gwinn's X00.SYS. THE FIRST APPROACH involves the use of separate base I/O addresses and separate IRQs for each serial port. This is the method we use on our BBS to provide 4-ports on a single 80386-based computer. We use the following configuration: Card #1 COM1 IRQ4 3F8h (standard IRQ, standard base I/O) Card #1 COM2 IRQ3 2F8h (standard IRQ, standard base I/O) Card #2 COM3 IRQ7 3E8h (non-standard IRQ, standard base I/O) Card #2 COM4 IRQ5 2E8h (non-standard IRQ, standard base I/O) We use serial ports with the NS16550AFN UART chips. This particular chip is recommended if you intend to use 9600-bps modems with multiple nodes under DESQview. Here is a sample CONFIG.SYS line that activates X00.SYS. In addition to specifying the IRQs and base I/O for each port, each port is locked to 19,200 bps. High speed modems, or ones that use data compression will gain throughput if the port speed is locked. This is not necessary if you are using a standard Hayes-compatible 2400-bps modem. This entry is on a single line but appears as two lines below. DEVICE=C:\X00.SYS E T=2048 R=2048 0=3F8,IRQ4 1=2F8,IRQ3 2=3E8,IRQ7 3=2E8, IRQ5 B,0,19200 B,1,19200 B,2,19200 B,3,19200 We have also configured GATEWAY2 (discussed earlier in this text) to make use of the fossil driver. The lines in CONFIG.SYS would be: DEVICE=C:\GATEWAY2.SYS -F -1 (gateway for COM1) DEVICE=C:\GATEWAY2.SYS -F -2 (gateway for COM2) DEVICE=C:\GATEWAY2.SYS -F -3 (gateway for COM3) DEVICE=C:\GATEWAY2.SYS -F -4 (gateway for COM4) THE SECOND APPROACH also involves the use of a separate base I/O for each port, but IRQs are "shared". Recent versions of X00.SYS will manage the use of a "Shared" IRQ. For example, COM1 and COM2 on the first serial card share IRQ4. COM3 and COM4 on the second serial card share IRQ3. Under this arrangement each port sharing an IRQ must be located on the SAME CARD. This requirement is not due to X00.SYS but is, instead, a hardware restriction; IRQs cannot be shared between boards. In both the above examples, NON-intelligent serial cards are used. RBBS-PC will NOT support the many "Intelligent" multi-port I/O cards on the market. These "Intelligent" boards are popular in other environments (such as UNIX) but they provide a datastream into the host using a single base I/O address. RBBS-PC must receive its communications at a separate base I/O for each port. Here's a chart of generally accepted IRQs and base I/O addresses for the standard PC/AT and PS/2. Although these are the common settings, they vary (and we stress VARY) according to serial card manufacturer. Standard AT BUS Microchannel (PS/2) BUS ------------------------------------------------------------------------ PORT BASE I/O IRQ PORT BASE I/O IRQ ------------------------------------------------------------------------ COM1 3F8h IRQ4 COM1 3F8h IRQ4 COM2 2F8h IRQ3 COM2 2F8h IRQ3 COM3 3E8h IRQ4 COM3 3220h IRQ3 COM4 2E8h IRQ3 COM4 3228h IRQ3 COM5 3F8h IRQ4 COM5 4220h IRQ3 COM6 2F8h IRQ3 COM6 4228h IRQ3 COM7 3E8h IRQ4 COM7 5220h IRQ3 COM8 2E8h IRQ3 COM8 5228h IRQ3 ------------------------------------------------------------------------ If you intend to duplicate the 4-node configuration as in the preceding example, you will need to find a serial card that will let you choose any IRQ from IRQ3 to IRQ7 for each port (1 through 4). In closing, there are also some important issues to consider when choosing to go beyond two ports on a single computer. These include: 1) EXTERNAL PROTOCOL SUPPORT. The external protocol drivers you choose must let you either define the IRQ for the additional ports, or they just rely on the fossil driver for their communications. In other words, they must have support for fossil drivers. Some protocols scan a port for I/O without using an IRQ. These will probably work if you use standard base I/O addresses for your additional ports. 2) CPU SPEED LIMITATIONS. Here's a chart indicating recommendations for each computer type, amount of EEMS memory and number of nodes. --- PERFORMANCE --- HOST 1-Node 2-Nodes 3-Nodes 4-Nodes 5-Nodes 6-Nodes 7-Nodes 8-Nodes COMPUTER 640k 1.4Mb 2.0Mb 2.6Mb 3.2Mb 3.8Mb 4.4Mb 5.0Mb ----------------------------------------------------------------------- PC 4.77-MHz A2 C3 F5 F5 F5 F5 F5 F5 PC 8-12-MHz A1 B2 D5 F5 F5 F5 F5 F5 AT 8-12-MHz A1 B2 C4 D5 F5 F5 F5 F5 AT 16-20-MHz A1 A1 B3 C3 D5 D5 F5 F5 80386/SX A1 A1 A2 B2 C4 C4 D5 D5 80386/16-MHz A1 A1 A2 A2 B3 B3 C4 C4 80386/25-MHz A1 A1 A2 A2 B3 B3 C3 C3 80386/33-MHz A1 A1 A1 A2 B3 B3 B3 B3 ------------------------------------------------------------------------- A=EXCELLENT at 2400-bps 1=EXCELLENT at 9600-bps B=GOOD at 2400-bps 2=GOOD at 9600-bps C=MARGINAL at 2400-bps 3=MARGINAL at 9600-bps D=POOR at 2400-bps 4=POOR at 9600-bps F=Not Recommended 5=Not Recommended at 9600-bps -------------------------------------------------------------------------- Your results may vary due to specific hardware differences. If you plan to support BPS rates of 9600 or above on one or more nodes, we recommend the use of NS16550AFN UART chips. These chips are necessary for acceptable Zmodem (DSZ) performance under DESQview. 12. RBBS-PC Technical Support For DESQview ------------------------------------------ If you would like additional information about DESQview and RBBS-PC, you may contact the following RBBS-PC system: Indiana On-Line (tm) John L. Taylor, SysOp (812) 332-RBBS (3/12/24/96/14.4KBPS)