4 PCBoard DESQView Nodes Plus LANtastic --------------------------------------- by Scott Howard (801) 264-9711 (Hayes 9600) (801) 264-9712 (A-J 9600 V.32) (801) 264-9713 (US Robotics HST) This document summaries my attempts to configure 4 PCBoard nodes on one 386 machine using DESQView, along with connecting that machine to a LANtastic network. Please note that the information following will NOT work on a 286 machine because of the difference in architecture between a 386 and a 286 machine. This configuration requires the use of a 386 processor in order to work along with QEMM or similar extended memory manager. Hardware Used ------------- 386/25 Clone with 8 meg of memory (Node 2) Everex EV-170 3 port serial card with 16550A UARTS installed 3 9600 high speed modems (all opening at 19200) 1 Parallel Port 1.2 meg and 720K floppies 150 Meg CDC ESDI hard disk CGA Monitor LANtastic Ethernet (16 Bit - AE2 style) board 286/10 AST Premium with 4 meg of memory (Node 1) 2 Serial and 2 Parallel Ports 1.4 meg and 1.2 meg floppies RLL 60 Meg hard disk 120 Meg tape backup VGA Monitor Software Used ------------- PCBoard 14.5/E6, MSDos, DESQView 2.31, QEMM 5.11, LANtasti 2.57U, PC-Cache Disk Cache Software Quick Summary ------------- The final outcome of my attempt was successful - in a way. The original plan was to run the 386 machine (Node 2) as the server with 3 dial-in and 1 local-only PCBoard nodes - with the AST 286 machine accessing it. However, that did not work as you will note later in this document. So, the 386 machine ended up being a Node to the 286 machine with it (the 286) acting as the server. All 4 PCBoard nodes on the 386 machine work fine. The network runs fine as well. In summary, you can run multiple nodes on one machine in conjunction with LANtastic without a problem - IF you plan and tune your system accordingly and you DON'T try to run DESQView on top of LANtastic's SERVER software. Exact 386 Machine Hardware Summary ---------------------------------- IRQ2 LANtastic Ethernet Adaptor at 300H I/O Base IRQ3 COM2 at 02F8 IRQ4 COM1 at 03F8 IRQ5 COM3 at 03E8 (DSZ Port # 8) IRQ7 LPT1 Note that DSZ has a 'standard' port configuration of 03E8 and IRQ5 as PORT #8 - which allows you to use the statement SET DSZPORT=8 in your BOARD.BAT file for that node so that DSZ protocols will function properly. Exact 286 Machine Hardware Summary ---------------------------------- IRQ2 Tape Backup at 340H I/O Base IRQ3 COM2 at 02F8 IRQ4 COM1 at 03F8 IRQ5 Mouse Port IRQ7 LPT1 and LPT2 (sharing IRQ7) IRQ10 LANtastic Ethernet Adaptor at 300H I/O Base Note that it is possible to share LPT1 and LPT2 on IRQ7 at the same time. Normally you only need to use IRQ5 for LPT3. This will help you save an interrupt if necessary on a machine which is short of interrupts and long on devices hanging from it. Exact 386 Machine Software Summary ---------------------------------- CONFIG.SYS device=c:\qemm\qemm.sys ram fr=cc00 nw3 tasks=48 shell=c:\command.com /p /e:256 buffers=4 fcbs=48,48 files=60 stacks=0,0 lastdrive=g The QEMM line above does the following: ram fills in low mem to 736K (due to CGA adaptor) and allows use of high memory for loading device drivers and other TRS programs fr=cc00 sets the page frame to CC00 (just above the hard disk controller). This resulted in the largest HIGH RAM area available on my machine to just over 80K. nw3 tells QEMM this machine is not running Windows 3.0 which frees up 4K of additional memory tasks=48 sets the number of QEMM tasks in protected mode to 48 The 'stacks=0,0' statement frees up additional memory in low mem. All other statements are pretty much self explanatory. AUTOEXEC.BAT @echo off path c:\dos;c:\qemm; ....etc. c:\qemm\loadhi c:\dos\share /f:4096 /l:60 c:\qemm\loadhi c:\dos\fastopen d:128 /x c:\qemm\loadhi c:\bin\pc-cache /sizexp=4096 /max=34 c:\qemm\loadhi c:\lantasti\ae2 irq=2 c:\qemm\loadhi c:\lantasti\ailanbios run_burst=1 c:\qemm\loadhi c:\lantasti\redir n1 c:\qemm\loadhi ansi /s dv The AUTOEXEC.BAT file contains a 4 meg disk cache program being loaded into high memory, along with SHARE, FASTOPEN, and ANSI - which supports the @X PCBoard variables. The LANtastic software is also loaded into high memory, with one change to the normal calling sequence - and that is the addition of the statement 'run_burst=1' on the AILANBIOS line. What this does is to reduce the time LANtastic uses for processing from 2 clock ticks down to 1 in order to give more time to DESQView and its overall PCBoard operation. DESQView on the 386 Machine --------------------------- After loading in all of the above, CHKDSK yields the following information on the 386 machine: 753664 total memory 690112 total bytes free In other words, you have plenty of memory for very large DOS partitions within DESQView *if* you also have a lot of system memory to go along with it. If you are running a MONO screen, your available low memory will be less. If you are running either an EGA or VGA display, it will be even less still since QEMM will not be able to 'fill-in' any video memory to use as low DOS memory. Next, DESQView loads and automatically loads 4 PCBoard nodes into 4 memory partitions. Nodes 1-3 are dial-in nodes, Node 4 is for local maintenance use. Based on the total machine memory of 8 meg installed, and 4 meg of it being used for the hard disk cache, the remaining 4 megs is then used by DESQView to set up the 4 PCBoard partitions. After loading all four, DESQView's memory status reports 1040K of total EMS memory still left, with the largest partition being 656K. This is based on a partition size of 512K for each node which will be shown later. In other words, with 4 PCBoard nodes functioning, you still have sufficient memory available for other windows as well. However, I recommend you never open more than a total of 4 windows at any one time while running this configuration with high-speed callers on-line. DESQView Main Configuration Parameters -------------------------------------- The main DESQView startup parameters are set to 2 clock ticks for both the foreground and background tasks. CTRL+ALT+DEL has been set to reboot a window - NOT the machine. The ability to reboot the machine within DESQView is disabled by placing a '0' in the keyboard field. This is to prevent an inadvertent reboot of the machine and also in most cases DESQView on my machine will lock up if a system reboot is attempted. If a hard lock occurs, it is necessary to press the 'RESET' key on the CPU itself. DESQView Performance Window: Foreground Ticks: 2 Background Ticks: 2 Common Memory: 17K DOS EMS Buffers: 16 Optimize Commun: N Allow Swapping: Y Manage Printers: N Contrary to what you might think, since my system uses 16550A UARTS, it is NOT necessary for DESQView to 'Optimize Communications'. Since PCBoard will more than take care of that with the 16550A's, you free up DESQView from yet another task it has to perform by setting this to 'N'. CAUTION: You MUST be using 16550A UARTS in order to do this. If you are not using them, leave this set to 'Y'. Each dial-in PCBoard node under DESQView is configured as follows: Screen 1: (Change a Program) ---------------------------- Program Name: PCB - N1 (or PCB - N2, etc.) Keys to Open: A1 (or A2, etc. I use A1 to put them at the top of the Open a Window menu.) Memory Size: 512K Program: BOARD1.BAT (BOARD2.BAT, etc.) Directory: D:\PCB1 (or D:\PCB2, etc.) Options: Writes directly to screen: N Displays graphics info: N Virtualize text: T Uses serial ports: Y Requires floppy disk: N Screen 2: (Change a Program Advanced Options) --------------------------------------------- System Memory: 0 Max Memory: BLANK Script Buff: 0 Max EMS Mem: BLANK (DV will use only what it needs) Window Start: 25 (Start height) 80 (Start width) 0 (Start row) 0 (Start col) Close on Exit: N (BOARD.BAT will take care of that) Uses own color: Y Allow Close: N (Don't allow close command since you Runs in back: Y could leave files locked if you do!) Uses Math Copr: N Keybrd Conflict: 0 Share CPU fore: Y Share EGA fore: N Can be swapped: N Protection Lvl: 0 All dial-in nodes use the above information. In the case of the 'local-only' node, the 'Runs in the background' field is set to 'N' instead of 'Y'. Since there is no COM port attached to this node, and if required to open another window on top of it for some reason, by placing a 'N' in this field, DESQView will halt the execution of Node 4 during the time the other window is open - placing less of a burden on your over-all system. The same is true for other windows which I have set up - including a PCBMoni window, a PCBFiler window, etc. All of these are set to 'N' in the 'Runs in background' field so that they will not steal CPU time if they are placed in the background for any reason. Normally I strongly suggest completely closing any non-COMM port window if you find it necessary to switch to a different window. However, in the event you can't - at least this will not place an additional burden on the CPU which you are off doing something else. Note that the 'Maximum EMS' is set to 0 since I do not use the SET PCB=/SWAP statement in my respective BOARDx.BAT files due to the fact that my partition size is 512K. With PCBoard running, line 24 of my screen always shows in the area of 218K or higher which is plenty for all SHELL functions without requiring a SWAP of PCBoard to either EMS or disk memory. This really helps speed things up on my system. PCBoard 'BOARD.BAT' Notes ------------------------- Since I have a 512K partition for each PCBoard node, it is not necessary to include the SET PCB=/SWAP statement in my BOARDx.BAT files to force PCBoard to swap out to disk or EMS memory during SHELL functions. This means that SHELL functions run very fast on my system. Second, at the end of my BOARDx.BAT files I place the statement: EXIT so that I automatically close that PCBoard Node window when pressing (F1) or (F10), etc. If you want to remain in that window, then don't place the 'EXIT' statement at the end of the file. I find it best to allow the batch file to go ahead and close the window for me so I don't forget. Overall Fiascos and Summary --------------------------- Many days were spent trying to get the 4 PCBoard nodes to run reliably on the 386 machine along with it (the 386 machine) acting as the main file server for LANtastic. Seems that the 'up-time' would vary from 10 seconds to several hours before a hard lock occurred. Many items were tried which did improve the reliability of operation - but never to the point of allowing the system to run unattended for long periods of time. The most dramatic improvements came with the use of the 'run_burst' statement associated with the AILANBIOS call. The default number of clock ticks LANtastic assigns to itself when performing LANBIOS functions is 2. This however, seemed to cause DESQView to lock up quite fast. By setting both the server and the node to a run_burst of 1, DESQView would run for a much longer period of time before encountering a problem. Second, it appeared that when slowing down the AST machine (which of course at this time was acting as a node to the 386 machine), from 10 mhz operation to 8 mhz, things got better. However, simple COPY commands from the server to the 286 machine would frequently fail and lock either or both machines. A call to Artisoft solved that problem. Seems some older 286/386 machines use bus timing which may be incompatible with the new LANtastic ethernet boards. By setting jumper W8 on the LANtastic board to pins 2-3 instead of 1-2, that problem went away. By changing this jumper (new style boards only), you alter LANtastic's timing to other than standard to basically accommodate higher speed busses. After trying virtually every combination possible, it became apparent that only when the LANtastic SERVER software was loaded would DESQView have a problem. If SERVER was not loaded - all worked fine. A little digging into the DESQView manual confirmed my conclusion: Reference page 164 of the DESQView Manual Appendix C: Using DESQView with a Network "Many networks allow a machine to be used as both a 'normal' computer and as the network server at the same time. DO NOT RUN DESQVIEW ON A SERVER MACHINE. To run a machine as a server, a special, concurrent extension to DOS is loaded. The server's concurrency and DESQView's concurrency will interfere with each other and (most likely) disable or crash your server." So true! Hence, the bottom line is that you CAN run multiple DESQView nodes (or windows) on top of LANtastic (or probably any other network) as long as you DON'T try and also run that machine as a server. Hmmm, so my plans had to change. Instead of logging into the machine 386 machine from the 286 machine, would it work for the 386 machine to log into the 286 machine which was not running DESQView. Yup. However, a lot of the original items which were planned had to be altered. I can of course copy files, etc. from the 386 machine to the 286 machine as long as I do it from inside a DESQView window on the 386 machine. Since the tape backup resides on the 286 machine, it is necessary to exit from DESQView completely and load in LANtastic's SERVER, followed by logging into the 386 machine from the 286 machine in order to perform a backup. After which I reboot the 386 machine to remove SERVER from memory and reload DESQView and the PCBoard nodes. Is It Worth It? --------------- The final question is "Is it worth it to set up such a configuration?" In my case - yes. I don't need the speed of the 386 machine to perform other tasks I need to do such as working on a spreadsheet or in my word processor. However, the storage available on the 386 is essential. Although I can't directly copy a file from the 286 machine to the 386 machine, I can slip over to the other keyboard on the 386 machine and copy it from the 286 machine to the 386 machine inside a small DV window - even while the board is running. Second, since it is physically possible to run 5 PCBoard nodes on my 386, I could set up the 286 machine with a very large hard disk and place another PCBoard node up on it if desired - making the 386 nodes go to it for files. Sort of opposite of what I had in mind to start with, but accomplishing basically the same thing. Only requirement is that the main server can NOT run DESQView on top of the LANtastic SERVER software. By using say 3-386 machines, one of which is acting as a server and the other two as nodes, it would be possible to run as many as 7-9 nodes at one time without much of a problem - allocating 3-4 PCBoard nodes per 386 DESQView Node machine and 1 dial-in node for the main server which was not running under DESQView. The nice thing though is that I can reliably run 3 dial-in PCBoard nodes on one machine - with a 4th node for local work as well - while still having the capability of transferring files between the two machines as necessary. In the event the hard disk failed on the 386 machine, it would be fairly easy to switch the nodes over to accessing files off the 286 machine. I would not recommend trying such a configuration on other than a 20 mhz or faster 386 machine. Also, the number of PCBoard nodes you plan to run on one machine will depend a lot of the number of them which are running at 9600 bps or above. If you will be running one or more 2400 bps nodes, no problem. Disclaimer ---------- Hate to have to do this, but: The information provided in this document is provided 'as-is' without any warranty of any type or guarantee of fitness of use. The information included simply summaries my success in configuring my hardware to meet a specific application. Your hardware and software may not function identically to mine and you assume full responsibility for trying any of the above on your system. I strongly suggest that before you attempt any of the configuration items listed that you completely back-up your system first. Scott Howard