DESQview/QEMM Frequently Asked Questions Release 23 Last update: December 1, 1994 Edited by Andrew Langmead Posted on the first of every month --------------------------------------------------------------------------- Section 0. FAQ Facts - An overview of this FAQ list Q001: What is this article? Q002: How is the FAQ arranged? Q003: Where can I get the FAQ List? Q004: To whom can I complain if I find an error? Q005: What if I can't find it in the FAQ? --------------------------------------------------------------------------- Q001: What is this article? A001: This article is a regularly posted compendium of topics that have been discussed in the Usenet newsgroup comp.os.msdos.desqview since its birth. Although many of the questions are truly ``Frequently Asked'', others are questions that experienced DESQview users recognize as questions a beginner might ask. If you are new to DESQview or this group, please read this FAQ before posting your question. Even if your question isn't answered here, you'll probably learn something new about DESQview. Although I edit this FAQ ("Frequently Asked Questions"), a majority of the information contained in it was contributed by other comp.os.msdos.desqview readers. The many contributors are listed at the end of the document. Q002: How is the FAQ arranged? A002: The FAQ consists of seven sections in the following order: (0) FAQ FACTS is an overview of the FAQ itself. You are reading it right now. (1) QUARTERDECK AND ITS PRODUCTS briefly describes the products and support services that Quarterdeck offers. (2) THE DESQVIEW PRODUCTS answers questions common to all the DESQview products: DESQview, DESQview-386 and DESQview/X. (3) DESQVIEW CLASSIC is specific to the DESQview and DESQview-386 products. (4) DESQVIEW/X answers questions specific to DESQview/X. (5) QEMM answers questions related to Quarterdeck's memory manager QEMM-386. (6) CONTRIBUTORS lists the major contributors to this document. Each section is preceded by a list of the questions in that section. Because DESQview and DESQview/X are close cousins, many of the questions are common to both and are answered in section 2. Because Quarterdeck sells a variety of DESQview products, the term "DESQview" can be vague. In this FAQ list, "DESQview" refers to any of the DESQview packages that Quarterdeck sells. References to specific packages will be made with either the package name or with a shorthand notation: DVC refers to the original DESQview package, now informally called ``DESQview Classic''. DV386 refers to DESQview/386 or the DESQview Classic and QEMM-386 combination (see Q101). DVX386 refers to DESQview/X-386. DVX286 refers to DESQview/X-286. DVX refers to both DESQview/X-286 and DESQview/X-386. At the end of some of the questions, there may be a note of the form ``QW:216:QRAM.TEC''. This is a cross reference to the Quarterdeck White Papers, which are published by Quarterdeck. QW:216:QRAM.TEC refers to Quarterdeck White Paper #216, file name QRAM.TEC. The White Pages are available on Quarterdeck's BBS and on SimTel (see Q203). Q003: Where can I get the FAQ List? A003: This FAQ list is published in a number of places. In file archives, it is named DVFAQx.ZIP, where ``x'' is the release number. (1) its birthplace, the Usenet newsgroup COMP.OS.MSDOS.DESQVIEW as NEWS.ANSWERS with the subject line ``DESQview/QEMM Frequently Asked Questions: READ BEFORE POSTING''; (2) all NEWS.ANSWERS archives, as ``desqview-faq'' (the only exception to the naming rule); and (3) SimTel and mirrors (see Q203) in the desqview directory. Q004: To whom can I complain if I find an error? A004: To me, at aml@world.std.com Please send me any and all suggestions, errors or criticisms. Q005: What if I can't find it in the FAQ? A005: First of all, take a look at the manual. This may seem obvious, but you'd be surprised at the number of people that post problems which they could have solved themselves by glancing at the manual. If you still can't figure it out, post a complete description of your problem. Don't just say, for example, ``foo.exe doesn't run''. Be specific. Post the Change A Program screens, or portions of AUTOEXEC.BAT or CONFIG.SYS if relevant. But use some restraint. Don't post 18 pages of system configuration information just because you can't get foo.exe to print ``Hello, world''. --------------------------------------------------------------------------- Section 1. Quarterdeck and its Products - What Quarterdeck sells and how to contact the company. Q101: What products does Quarterdeck sell, and what are the current versions? Q102: How can I contact Quarterdeck? Q103: What third-party books are available on Quarterdeck's products? Q104: What are the command-line switches for Quarterdeck's products? --------------------------------------------------------------------------- Q101: What products does Quarterdeck sell, and what are the current versions? A101: [Versions are the latest known as of the date of the FAQ. If you see a newer version, please let me know.] Quarterdeck has two types of ``upgrades'': major upgrades and compatibility updates. The former involves a changing of the digit before or immediately after the decimal point and represents significant enhancements to the product's performance. The latter reflect minor changes generally of interest to a small number of users. DESQview (DVC) 2.63 An excellent DOS multitasker. If you are wondering why it has such a funny name, here's the official explanation from Quarterdeck: the original product was called DESQ (the Q was from Quarterdeck). When Quarterdeck made it TopView-compatible (see Q305) the "view" was added. QEMM-386 7.5 A memory manager for 80386+ machines. QEMM will convert extended memory to XMS memory (replacing HIMEM.SYS) and LIM EMS 4.0 memory. With the associated utilities, you can load TSRs, device drivers, and DOS data structures into high memory in order to gain conventional memory for large programs. Manifest is provided with QEMM. QEMM is a VCPI server and can also be a DPMI host with the QDPMI product (see below). If you plan to use DESQview on a 386, you should choose QEMM over other memory managers. It is smaller and faster than other memory managers, can give you more upper memory, and certain functions in DESQview will only work if QEMM is the memory manager. It is also the only memory manager that allows you to run Windows in Standard mode inside or outside of DESQview. QDPMI 1.0 In conjunction with QEMM, QDPMI acts as a DPMI host for programs that require DPMI. QDMPI is available to registered QEMM users free of charge from the Quarterdeck BBS (see Q203) or for a nominal price with documentation from Quarterdeck. QDMPI is now shipped with QEMM-386. QEMM-50/60 6.0 (not sure about minor version number) Similar to QEMM-386, but specifically for PS/2 models 50 and 60 which are 80286-based machines. It will only work with certain memory expansion boards and requires disabling of motherboard memory. For more details, get the QOS tech note QEMM5060.TEC, available from SimTel and other sites (see Q203). DESQview/386 (DV386) 2.63 Actually DESQview/386 is a copy of DESQview and QEMM in the same package. If you already have DESQview, purchasing QEMM will give you DV386. QRAM 2.0 A memory manager for 8088 through 80286 machines. QRAM will provide UMBs (Upper Memory Blocks, memory greater than 640K but less than 1024K). To do this requires either LIM EMS 4.0, EEMS, a memory management chip or a 286 motherboard with C&T's NEAT, LEAP or SCAT chip set. The UMBs can be used to load TSRs, device drivers, and DOS data structures into high memory in order to gain conventional memory for large programs. Manifest is provided with QRAM. BTW, QRAM is pronounced like ``cram'' (I always called it ``kee-u-ram''). MANIFEST 3.0 Manifest is a ``system information'' utility. It displays hardware information, memory usage, internal DOS structures and much more. The current version runs as either a DOS or a Windows application, depending on which environment it it running. DESQview Companions 1.1 A set of utility programs, including a calculator, datebook, notepad, and terminal emulator. DESQview/X-386 (DVX386) 2.0 DESQview/X-386 is DV386 with an industry-standard graphical user interface. It contains an X-windows server, which allows you to interact with X-windows programs running on Unix machines, or DOS text and X clients running on other DESQview/X machines (see Q405). Using the fonts provided, you can make use of your SVGA to have many small 80x25 windows open on the screen simultaneously. The DVX386 package contains DESQview/386 2.52, QEMM-386 6.03 and Manifest 1.14. These versions are not available separately. It also contains 4 DESQview/X Companions: an Application Manager (like Window's Program Manager), a File Manager, the Adobe Type Manager and an Icon Editor. DESQview/X-286 (DVX286) (Rumored) This will be DESQview/X for the 286. DVX286 will actually DVX386 packaged with QRAM. Quarterdeck hasn't released because of memory difficulties. OSF/Motif Window Manager 1.0 Replaces the native DESQview/X window manager for a different look and feel. OPEN LOOK Window Manager 1.0 Replaces the native DESQview/X window manager for a different look and feel. DESQview and DESQview/X programming tools See Q204, Q404. Sidebar 1.0 A Windows shell that replaces the Program Manager. CleanSweep 1.0 Searches for unneeded or unused files from Windows applications. These files can either be archived or deleted. QW:186:QEMM5060.TEC, QW:216:QRAM.TEC, QW:266:DV&DVX.TEC Q102: How can I contact Quarterdeck? A102: Quarterdeck Office Systems 150 Pico Boulevard Santa Monica, CA, USA 90405 Technical Support: Phone: (310) 392-9701 Fax: (310) 399-3802 Sales: Phone: (310) 392-9851 Fax: (310) 399-3802 Customer Service or Orders: Phone: (800) 354-3222 QOS BBS: (310) 314-3227 (24 hours/day, 300-14400 BPS, 8 bits, No parity) E-mail (for Tech Support): Internet/Usenet/UUCP: support@qdeck.com Quarterdeck BBS: Sysop CompuServe: 76004,2310 BIX: QOS.REP2 MCI Mail: QUARTERDECK Smartnet: DESQview Conference - Quarterdeck USA Public Message forums for Quarterdeck Tech support: QOS BBS: echnical Support Message System CompuServe: ``GO QUARTERDECK'' BIX: ``JOIN DESQVIEW'' SmartNet: DESQview Conference FidoNet: DESQview Echo (currently no QOS support online) RelayNet: DESQVIEW - Quarterdeck USA or Quarterdeck Canada ILINK: Multitaskers Usenet: comp.os.msdos.desqview - QOS techs are active Ireland ------- European Headquarters Quarterdeck International Ltd. B.I.M. House, Crofton Terrace Dun Laoghaire, Co. Dublin, Ireland Phone: +353 1 2844-144 Fax: +353 1 2844-380 BBS: +353 1 2844-381 QFAX: +353 1 2844-383 Product Information/Registration Cards: Phone: +353 1 2841-444 Fax: +353 1 2844-380 United Kingdom -------------- Quarterdeck Office Systems UK Ltd. Widford Hall, Widford Hall Lane, Chelmsford, Essex, CM2 8TD, United Kingdom Technical Support Phone: + 01245 494940 Fax: + 01245 496941 QFAX + 01245 496931 Product Information/Upgrade/Registration Cards: Phone: + 44 245 496699 Fax: + 44 245 495284 BBS: + 44 245 263898 Canada ------ Quarterdeck Office Systems Canada, Inc. 70 York St., Suite 1220 Toronto, Ontario M5J 1S9 Phone: +1 (416) 360-5758 Fax: +1 (416) 360-4885 Upgrades: +1 (800) 268-5181 Germany ------- Quarterdeck Office Systems GmbH Willstaetter Strasse 15 D-4000 Duesseldorf 11 Germany Technical support: Phone: +49 211 / 59790-40 Fax: +49 211 / 59790-60 QFAX +49 211 / 59790-65 Product info, upgrades: Phone: +49 211 / 59790-0 Fax: +49 211 / 594126 France ------ Quarterdeck Office Systems S.A.R.L., 4, Rue de General Lanrezac, 75017 Paris, France. Technical Support Phone: Int + 33 146-97-16-17 Fax: + 33 146-97-14-73 BBS: + 33 146-97-14-74 QFAX: + 33 144-09-00-81 Product Information/Upgrade/Registration Cards Phone: + 33 144-09-03-91 Fax: + 33 144-09-03-47 Cyprus / Eastern Mediterranean ------------------------------ Quarterdeck Office Systems Middle East Ltd. 1 Souliou Street, Suite 103, Strovolos, Nicosia, Cyprus. Product Information/Upgrade/Registration Cards/Support Phone: + 357 2311-630 Fax: + 357 2311-560 Spain ----- Quarterdeck Office Systems S.A., Gran Via de les Courts, Catlanes, 617, 10-3A 08007 Barcelona, Spain. Product Information/Upgrade/Registration Cards/Support Phone: + 343-412-29-45 Australia --------- Quarterdeck Office Systems Australia 500 Oxford Street, Plaza II Bondi Junction, New South Wales 2022 Australia Product Information/Upgrade/Registration Cards/Support Phone: + 61-2-369-2711 Fax + 61-2-369-1912 Q103: What third-party books are available on Quarterdeck's products? A103: ``DESQview - A Guide to Programming the DESQview Multitasking Environment'', by Stephen R. Davis, M&T Books Publishing, 501 Galveston Drive, Redwood City, CA 94063. 346 pages. 1st Edition, 1989. [This is a review from Quarterdeck. I've heard from others that this books is really not that good and doesn't have many examples. Look it over well before you spend any money.] A very good source on programming in C using the DESQview API. This is a tutorial book with lots of examples. Would be useful to programmers who find the QOS API manuals somewhat daunting. All examples are in C, however there is lots of general information which would be useful for developers programming in any language. Available direct from M&T and bookstores which specialize in technical works. Can be ordered from Quarterdeck order line at (310) 392-9851 for $24.95 ($39.95 with disk - 5 1/4 inch only). ``The Official DESQview Sourcebook'', Larry Joel Goldstein, Bantam Computer Books, 666 Fifth Ave., New York, NY 10103. 351 pages. 1st edition - Sept. '89, price $22.95 ($27.95 Canada). A comprehensive guide to the use of DESQview, QEMM and the DESQview Companions. Contains a section on the DESQview API that may serve as an introduction, but this is not a programmer's book. A useful adjunct to the Quarterdeck manuals when you want similar information from another view. ``DOS Beyond 640K'', Second Ed. James Forney, Windcrest Books, Division of TAB Books Inc., Blue Ridge Summit, PA 17294-0850. 1989. 235 ISBN 0-8306-9717-9, ISBN 0-8306-3744-3 pbk. pages. Price $19.95. Not a DESQview/QEMM book specifically, but an excellent book on the subject of memory, with many references to DESQview and QEMM. Highly recommended to users who really want to understand the use of memory in their PCs. ``The Best Book of DESQview'', Jack Nimersheim, Howard W. Sams & Company, 11711 North College, Suite 141, Carmel, IN 46032. 1st Edition 1990, 396 pages. Price $24.95 A user-friendly guide to DESQview, the Companions, QEMM and Manifest. Contains many tips and a good discussion of the DESQview Learn feature. ``Mastering DESQview'', Jonathan Kamin, Scott, Foresman IBM Computer Books, 1900 E. Lake Avenue, Glenview, IL 60025. 1st Edition 1990, 387 pages. Price $24.95. A comprehensive guide to the use of DESQview, with emphasis on hints and techniques which enhance the use of DESQview. Special emphasis on creative use of DESQview's Learn (macro) facility. ``Extending DOS,'' Ray Duncan, Charles Petzold, M. Steven Baker, Andrew Schulman, Stephen R. Davis, Ross P. Nelson, Robert Moote, Addison-Wesley Publishing Co., Second edition, 1992. An excellent work on DOS memory usage and some of the options for extending DOS. For advanced users and programmers. Quite a bit of example source code included. Covers IBM PC Programming Architecture, EMS, XMS, DOS Extenders, Windows, DESQview, VCPI, DPMI and Multitasking. ``DESQview Instant Reference,'' Paul J. Perry, 1991, Sybex, 166 Pages. Price $9.95 This is a basic, short reference guide to DESQview, QEMM-386, and Manifest. It covers up to versions 2.3 of DESQview and version 5.1 of QEMM-386. It describes the use of all the DESQview functions, QEMM-386 switches, and switches for LOADHI, QEMM.COM, VIDRAM. All the information provided is in the Quarterdeck manuals. ``Understanding DESQview,'' Richard Altman, 1991, Sybex, 307 pages. Price $24.95 ``DESQview Revealed'', Dave Williams, SAMS. $29.95, ISBN 0672300281. Uses information from this FAQ. I've got a copy but I haven't taken the time to review it yet... ``Memory Management for All of Us'', by John M. Goodman, Ph.D. SAMS, 1992. ISBN 0-672-27366-7. Price $29.95. Discusses virtually all aspects of PC memory and memory management, including how DESQview uses memory. ``XView Programming Manual,'' Dan Heller, etal., O'Reilly & Assoc. 586 pages. Price: $34.95 ``X Window System Programming,'' Naba Barkakati, 1991, Howard W. Sams & Co. 600 pages. Price: $29.95 Good introduction to X programming, with many helpful example programs. Covers xlib, xt Intrinsics, and some discussion of OSF/Motif widgets is provided. ``Introduction to the X Window System,'' O. Jones, 1989, P-H. Price: $38.00 ``The X Window System in a Nutshell'', 1990, O'Reilly & Assoc. Price: $24.95 "USING DESQview/X", Kevin Reichard, 1993, MIS Press. Written by the co-author of "USING X" "Total Recall", G. Saxer & E. Sander, 1993, Osborne Press Memory Management from a Quarterdeck perspective, written by Quarterdeck VP Gary Saxer and Quarterdeck senior tech writer Ellen Sander. ``DESQview: Everything You Need to Know'', Kamin, $22.95. ISBN 1559582383 ``Power of... DESQview/X'', Reichard, MIS Press. $27.95, ISBN 1558282572 [If you know of any more, please let me know] QW:132:BOOKS.TEC Q104: What are the command-line switches for Quarterdeck's products? A104: The file qosswit3.zip from SimTel (see Q203) in the SimTel/msdos/qtrdeck/ directory contains a list of the documented and undocumented switches for Quarterdeck's products. QW:178:ALL-HELP.TEC --------------------------------------------------------------------------- Section 2. The DESQview Products - Questions and answers common to DESQview and DESQview/X Q201: What are the DESQview products? Q202: What types of programs can the DESQview products run? Q203: Where can I get freeware and shareware programs for the DESQview products? Q204: I want to write software for the DESQview products. Where can I get the API? Q205: Can Windows run under the DESQview products? Q206: When running Windows under DESQview, I get an ``Incorrect DOS Version'' message. How do I fix this? Q207: How do I run a program every time DESQview is started? Q208: I've heard that DESQview does preemptive multitasking. What does that mean? Q209: How can I increase the speed and performance of the DESQview products? Q210: Why do the other windows slow to a virtual halt when one window accesses the floppy disk? Q211: How can I upgrade my 80286 for best DESQview performance? Q212: How can I increase the maximum available memory to programs running in the DESQview products? Q213: My {9600 or greater} BPS modem drops characters under DESQview. Is high speed communication possible under DESQview? Q214: What does ``Optimize Communications'' in DESQview's setup program do? Q215: Why doesn't ANSI.SYS work in DESQview? Q216: What do each of the four Protection Levels mean? Q217: How can I load two or more shared programs in a window? Q218: Why does my remote control program's screen mess up when I switch windows? --------------------------------------------------------------------------- Q201: What are the DESQview products? A201: The DESQview products, specifically DESQview and DESQview/X, are DOS-based multitaskers written by Quarterdeck Office Systems of Santa Monica, California, USA. They allows true preemptive multitasking (see Q9) on 8088, 8086, 80286, 80386, 80486, Pentium, V20 and V30 machines running MS-DOS (see Q301, Q401). While MS-DOS is still considered the PC's operating system, DESQview provides services similar to more advanced multitasking operating systems. QW:195:286.TEC, QW:266:DV&DVX.TEC Q202: What types of programs can the DESQview products run? A202: There are three types of DESQview programs: DESQview-oblivious programs, DESQview-aware programs, and DESQview-specific programs. According to the DESQview manual, DESQview-oblivious programs are those which are ``written without any consideration for DESQview''. These include standard DOS programs like word processors and spreadsheets. Some standard DOS programs have the ability to detect the presence of DESQview. These programs are considered DESQview-aware. The advantage of DESQview-aware programs is better system performance, because DESQview does not have to make conservative assumptions about the program. A DESQview-aware program gives up the CPU when it doesn't need it, and if it writes directly to the screen it instead writes to a DESQview-provided video buffer so it can run in a small window (see Q305). If you'd like to make your program DESQview-aware, there is code provided in Appendix J of the DESQview manual. DESQview-specific programs can only be run while DESQview is active. These programs use the window management, interprocess communication and other services that are built into DESQview (called the DESQview Applications Program Interface (API)). DESQview will multitask all programs, regardless of type, with the following exceptions: DOS Graphics programs which use protected mode are suspended when placed in the "background" under DESQview, and all DOS graphics programs are suspended when in the "background" under DESQview/X. Q203: Where can I get freeware and shareware programs for the DESQview products? A203: There are quite a few DESQview repositories available, depending on what network access you have. BBS The official Quarterdeck BBS can be reached at (310) 314-3227. It supports 1200-9600 baud, 8 data bits, no parity. Fidonet Many Fidonet nodes belong to DVNet, the DESQview File Distribution Network. It is coordinated by Peter Stern at 1:355/38. A monthly posting to the DESQview echo on Fidonet lists the nodes participating in DVNet. Internet (via anonymous ftp) QDECK.COM [149.17.8.10] QDECK.COM is the official Quarterdeck FTP site. The Simtel Software Repository For security reasons, the SimTel Software Repository is located on a host that is not accessible by anonymous ftp users, however, its files are available by anonymous ftp in directory /SimTel/msdos from the primary the primary mirror site OAK.Oakland.Edu [141.210.10.117] Three directories are of interest to DV/QEMM users: /SimTel/msdos/desqview Many DESQview programs, .DVPs, etc. /SimTel/msdos/dv-x DVX-specific programs, icons, etc. /SimTel/msdos/qemm QEMM programs, information /SimTel/msdos/qtrdeck Information relating to all Quarterdeck products. The Quarterdeck White Pages are stored here as qw-sep92.zip. They are very useful for solving problems. /SimTel/msdos/djgpp A freely distributable 32 bit compiler which Quarterdeck has donated DESQview/X libraries. Other directories may contain DESQview-aware (see Q202) programs. In each of the three directories, the file 00_index.txt contains a list of all the files available in that directory. Other SimTel mirrors include St. Louis, MO: wuarchive.wustl.edu (128.252.135.4) Corvallis, OR: archive.orst.edu (128.193.2.13) Australia: archie.au (139.130.4.6) England: src.doc.ic.ac.uk (146.169.2.10) Finland: ftp.funet.fi (128.214.248.6) France: ftp.ibp.fr (132.227.60.2) Germany: ftp.uni-paderborn.de (131.234.2.32) Hong Kong: ftp.cs.cuhk.hk (137.189.4.57) Israel: ftp.technion.ac.il (132.68.1.10) Poland: ftp.cyf-kr.edu.pl (149.156.1.8) Sweden: ftp.sunet.se (130.238.127.3) Switzerland: ftp.switch.ch (130.59.1.40) Taiwan: NCTUCCCA.edu.tw (140.111.1.10) Thailand: ftp.nectec.or.th (192.150.251.33) Gopher users can access the collection through Gopher.Oakland.Edu. World Wide Web (WWW) and Mosaic users can connect to the URL http://www.acs.oakland.edu to access the files on OAK.Oakland.Edu. Information distributed via Fidonet's DVNet is available for anonymous FTP for 7 days from ftp.fidonet.org under pub/fidonet in directories: dvn-admn dvn-apps dvn-dev dvn-dvp dvn-tech dvn-xapp dvn-xdev dvn-xdvp dvn-xtec Email-only SimTel files may obtained by e-mail from various ftp-mail servers or through the BITNET/EARN file servers. For details see file /SimTel/msdos/filedocs/mailserv.inf or Keith Petersen's periodic information postings to comp.archives.msdos.announce. Q204: I want to write software for the DESQview products. Where can I get the API? A204: Programming under the DESQview API allows you to use all the multitasking features of DVC and DVX - process and task creation, interprocess communication and character window output. The DESQview API is built into every copy of DESQview and DESQview/X as INT 15h calls. A list of the documented and undocumented INT 15h calls is available for free in DVINT, a DESQview/QEMM-specific excerpt of the Interrupt List maintained by Ralf Brown. Also for free is DVGLUE, a DESQview 2.01 API for Turbo C. DVGLUE and DVINT make a good combination for freeware and shareware programmers who want to get into DESQview programming at a small cost. Recently, Quarterdeck has significantly reduced the prices for their API and associated tools. The tools include the API reference manual ($25), various language-specific libraries (C, Pascal, Dbase, etc., $100 each including the API manual), a panel designer for screen layout, and other tools (see Q102). Third party reference books are also available (see Q20). The prices above are Quarterdeck prices; the price on the street is usually a lot better. One source of API tools is the Programmer's Connection, at Programmer's Connection, Inc. 7249 Whipple Ave. NW North Canton, OH 44720-7143 1-800-336-1166 (US and Canada) (216) 494-8715 (International) (216) 494-5260 (FAX) QW:211:APIBRO.TEC Q205: Can Windows run under the DESQview products? A205: Yes, Windows can run under DESQview, but only in Real and Standard mode. Windows in Enhanced mode becomes an 80386 DPMI control program and there can only be one such control program at a time. Under DESQview/X, Windows can be run in a small window, because DESQview/X can convert the Windows output into X requests. Page 143 of the DVX manual discusses how to run Windows under DVX. DESQview 2.6 now supports MS Windows in higher resolutions through the use of DVWINMON.EXE (as does DESQview/X through XWINMON.EXE) This driver is placed in the WIN.INI file, thusly: WIN.INI contents extract: [windows] ; load=C:\DVX\xwinmon.exe (commented version of DVX driver) load=c:\dv\dvwinmon.exe ; DV 2.6 driver This driver has been successfully tested with many drivers including Trident, STB and Winspeed drivers at resolutions up to 1024x768x256 QW:170:WIN3.TEC, QW:242:WIN31.TEC Q206: When running Windows under DESQview, I get an ``Incorrect DOS Version'' message. How do I fix this? A206: Rather than using LOADHI FILES in AUTOEXEC.BAT, you must set FILES=15 or so in CONFIG.SYS. Windows requires that some FILES be loaded low. QEMM 7.0x (packaged with DVX 1.1 and DV386 2.6) contains a fix for this Windows problem. Q207: How do I run a program every time DESQview is started? A207: Yes. There are basically two methods: (1) Use the ! method in the script language. (2) Use a batch file in the first (BD) window. Method (1) is more useful in turnkey applications - method (2) is better (i.e., more flexible) for general use. To use method 1, do something like this: copy con foo.dvt {Learn {F12} "!Startup"} ... {Finish} ^Z convscr t foo.dvt desqview.dvs (``...'' are your DV script commands to do what you want to do) To use Method 2, get hold of one of the many ``start a window from the command line'' utilities. One of these is RUN, part of the DVSI package available on SimTel and mirrors (see Q203). Then write a batch file that uses RUN to create the windows you need, and put that batch file in the Program field of BD-PIF.DVP. Then you can start up the windows just by hitting return twice when DV starts up (assuming BD is the first program on your open menu). This is what I do. Or, for total automation, you can make a startup script as above, consisting of OBD. Under DESQview/X, there is a third possible method. Edit the file ``DVX.CFG'' which is in the \DVX directory. Add the name of the DVP (without the .DVP extension) to the CLIENT line. Or, use the SETUP program which will edit DVX.CFG for you. DESQview/X assumes that the DVP you specify in the CLIENT line is in the directory \DVX\DVPS. QW:153:AUTOSCRI.TEC Q208: I've heard that DESQview does preemptive multitasking. What does that mean? A208: Let's say you have one toy (the 80x86 processor in our case) and 5 children (5 programs that you want to run under DESQview simultaneously). There are two ways that Dad (DESQview) can let each child play with the toy. (1) Dad gives the toy to one of the children, who plays with it until she gets bored. Then she returns the toy to Dad, who gives it to one of the other children. This repeats until all the children have played with the toy, and then Dad starts over with the first child. (2) Dad gives the toy to one of the children, and starts a timer. If the child gets bored with the toy before the timer expires, she gives it back to Dad. However, if she still holds the toy when the timer expires, Dad reminds her that good children must share, and takes it away from her. He then gives it to the next child and restarts the timer. When all the children have played with the toy, Dad returns it to the first child. She continues playing with it where she left off. Sometimes one of the children may want to take the toy apart. Since none of the other children wants to play with a disassembled toy, the child will request that Dad not take away the toy until the child says he can. In that way, the child can re-assemble the toy before any other child gets it. The first method is called ``non-preemptive'' and conversely, the second is called ``preemptive''. It is generally agreed that preemptive multitasking is much better because one program cannot accidently ``hog'' the CPU. One of the major technical differences between DESQview and Windows is that DESQview preemptively multitasks all programs, while Windows does non-preemptive multitasking of Windows applications. When a program running under DESQview calls a DOS or BIOS function, it effectively ``disassembled the toy''. DESQview recognizes this and temporarily suspends any other program that attempts to make a DOS or BIOS call until the current DOS or BIOS call ends (see Q210). DESQview-oblivious programs (see Q202) can act like selfish children when they are waiting for keyboard entry. Even though they aren't playing with the toy, they keep hold of it. Shareware and freeware programs are available for forcing these programs to share the toy (see Q209). QW:152:MULTI-T.TEC Q209: How can I increase the speed and performance of the DESQview products? A209: DESQview's performance depends on many different factors. We will try to highlight some of the important areas here. DESQVIEW-OBLIVIOUS PROGRAMS Performance is especially degraded by DESQview-oblivious programs (see Q202), because they do not give up the CPU when they are not doing useful work (see Q208). Some programs, while waiting for keyboard input, continuously ask if a keystroke is available instead of giving up the CPU. Quarterdeck provides a way to force programs to give up the CPU after a specified number of keystroke queries. One of the bytes in the DVP file (the file edited by Change A Program) specifies the number of keyboard polls before the CPU is taken away. Unfortunately, Quarterdeck has never put a field on the Change A Program screens to change this number. DvpEdit, a freeware replacement for Change A Program, is available on SimTel (see Q203) and allows you to change this ``Max Keypolls'' value. Another well-known program is TAME. TAME does much more than watch for keyboard polling; and can do a good job of increasing performance. System performance can be measured with the PS utility available in the DVSI package (also on SimTel and DVNet). Using PS, an offending program can be quickly identified. DISK ACCESS Since disk access can slow down the system significantly (see Q210) using a disk cache can also increase performance. HyperDisk, available on SimTel (see Q203), is especially popular among DESQview users. FOREGROUND/BACKGROUND TICKS With the ``Tune Performance'' menu you can set the number of foreground and background ticks. These numbers indicate how much time DESQview is to allocate to a given task before moving on to the next in a round-robin fashion. The default setting is 9:3, which means DESQview gives the foreground task 9 ``ticks'', or roughly half a second, of CPU time, then gives each of the background tasks 3 ticks. A more common setting with today's hardware is 1:1 or 2:2 -- each task gets 1 (or 2) ticks. There's no single, optimal setting. Smaller numbers generally provide smoother performance, but may overwhelm the CPU on less powerful systems. In addition, time-sensitive applications like communications programs may need to be serviced frequently by the CPU. In short, experiment. Setting 0 background ticks will cause background windows to never run. Setting 0 foreground ticks will cause background windows to run only if the foreground window explicitly gives up its timeslice, or if it blocks (i.e. waits for a keystroke or other event). SCREEN DISPLAY There are three primary reasons why your screen may appear jerky. First, you may be virtualizing the window. While this prevents bleed-thru (when used in conjunction with QEMM-386), it does increase the workload on DESQview, and the screen output only occurs at the end of the program's timeslice. If this is a problem for you then configure your application to use BIOS screen writes and turn virtualization off. Second, you may need to adjust your tick settings. DESQview updates the screen display at the end of a task's CPU allocation. Thus, a setting of, say, 99:99 will result in extremely jerky screen updates compared with 2:2 or so. Third, you may be unnecessarily using NOFF.SHP (see Q305). DESQview/X is a GUI and therefore screen output is much slower. This is due to the poor design of the PC's video. In order to get better display performance, you may want to purchase a graphics accelerator or coprocessor board. Q210: Why do the other windows slow to a virtual halt when one window accesses the floppy disk? A210: Both DOS and the BIOS disk access functions are non-reentrant, i.e. they may not be called again while one call is in progress. DESQview thus handles both as ``serially reusable resources,'' and suspends a window making such a call until any current call completes. Since programs make many DOS calls other than disk I/O, they can become blocked while another window is accessing the disk even when they themselves are not trying to access the disk. The same suspension occurs when a program accesses the disk via BIOS calls, but only when some other window is also accessing the disk; thus, a non-disk DOS call can execute at the same time as a disk-related BIOS call. When the disk being accessed is a hard disk, the call completes so quickly that there is no obvious degradation in the performance of other windows. When accessing a floppy disk, however, the call can take multiple seconds to complete, during which time it is highly likely that other windows will be suspended for a noticeable length of time. To minimize the impact of copying or formatting, try using shareware programs such as DVCOPY, LTFORMAT and FDFORMAT (see Q203). QW:230:DVFLOPPY.TEC Q211: How can I upgrade my 80286 for best DESQview performance? A211: A 80286 can be upgraded with LIM EMS 4.0 expanded memory, a memory management chip, a plug-in 386 adapter, or a new 386 motherboard. The cost of all these ``upgrades'' is about the same. All of them have some negatives as well. (1) If you are unsure how much of your 286 conventional memory can disabled, getting LIM EMS 4.0 memory may not help you. For the record the listed 286 motherboards can be set to the minimum conventional memory as follows: AST Premium 286 0K IBM AT (6 Mhz) 256K COMPAQ 286 256K Most AT clones have a minimum of 512K (eighteen 256Kx1 DRAMs). The motherboard can only be disabled to 256K or lower if it supports 64K DRAMs, or if the system setup allows you to specify a value less than the actual amount of memory installed. If you have information on the minimum conventional memory of any other 286 motherboard, please forward it to the editor (see above). (2) If you get a memory management chip, an All-Charge Card or a SOTA POP, you will still not get the memory protection available with the 80386 (see Q301, Q401). (3) If you get a 386 Adapter to replace the 286 CPU chip, there has been ``some reported'' compatibility problems. Also, it will not run as fast the corresponding 386 motherboard of the same clock speed. (4) If you get a new 386 (or 386SX) motherboard, there is some hassle to get it installed and working but probably no more than with the 386 Adapter kits. QW:195:286.TEC Q212: How can I increase the maximum available memory to programs running in the DESQview products? A212: There are three easy steps: Free up conventional memory, steal the video graphics area and trim DESQview's usage of memory. FREE UP CONVENTIONAL MEMORY --------------------------- The first step is to free up as much of the lower 640K as possible. If you have a 386 or better, this is possible. Purchase QEMM if you do not already have it; QEMM is smaller and much more effective than DOS's EMM386 or other memory manager products. Also, QEMM is required in order to do screen virtualization. QEMM 7 has the ability to load DOS high; use QEMM's DOS-UP rather than DOS's DOS=HIGH because QEMM can do a better job. If you do not use DOS-UP, do not load DOS into the HMA. DESQview can make better use of the HMA itself. If you load DOS high, add I=0800-0FFF to your QEMM line in CONFIG.SYS. Also, if you don't need graphics, you can use the VREMS parameter on the QEMM line, and add VIDRAM ON to the DV.BAT file. This will give you about 64k more for each window. DV.BAT should actually have a VIDRAM ON before calling DV, and VIDRAM OFF after DV. Experiment. Use Manifest to judge the results. If your high memory is very fragmented (i.e. many small contiguous blocks rather than a few large blocks), keeping DOS and TSRs low and putting DESQview high might work better. Using QEMM's STEALTH feature (ST:M is preferred) will buy you much more memory, and is pretty much required for DVX. Here's a neat trick to save memory under DVX. This is from David Granz: In order to use DV/X on a TCP/IP network, the FTP software TCP/IP drivers must be loaded. Unfortunately, these TSRs can take up over 100K of precious DOS memory space. In addition a mouse driver is needed (another 12-16K of memory used up). And then, DV/X itself chews up a significant amount of DOS memory. Even with the new QEMM stealth features that allow most of the upper memory space to be used to LOADHI these TSRs, the memory actually left for a program (or DOS window) under DV/X can end up being quite small. In my particular setup, the best I was able to get was a 320K DOS window. After much experimenting and some suggestions from Quarterdeck, I have come up with the following procedures that allow you get very close to a full 640K of program space in a DOS window (somewhat less if you don't have a 8514 video card). Note that although this method seems to work fine (for me at least), it is not in anyway a supported method. Please DO NOT call Quarterdeck for help with this setup, they are not supporting this technique at this time. If you have problems with things crashing, put things back the way they were before, and see if the problems go away. Then, if the crash still occurs, you have a valid reason to call Quarterdeck. Before doing any of the following modifications, make a safe copy of \DVX\STARTUP.DVP and \DVX\DVPS\PCTCP.DVP. These copies can be used to restore the system in case you have problems. Step 1, Saving the space occupied by the MOUSE driver: Create a file called \DVX\SERVER.BAT that contains the following lines: MOUSE (or whatever is needed to run your mouse) SERVER Then with the DVPMAN program (under DV/X), modify the file \DVX\STARTUP.DVP. Change the reference to SERVER.EXE to SERVER.BAT. Also increase the memory size by enough to cover the added size of the mouse driver (about 30k should be plenty). Modify your CONFIG.SYS and/or AUTOEXEC.BAT to not load the mouse driver when you boot your computer. Restart the computer, and then DV/X... The mouse driver should now load in the process space of the server. A 'mem/c' command in a DOS window, should show more memory available and no copy of the mouse driver. Step 2, Saving the space occupied by the TCP drivers: In a manner similar to the above mouse modifications, you need to create a batch file: \DVX\NETWORK\NETWORK.BAT. This batch file should contain all the drivers and network programs needed to support TCP/IP. The last step should be to run the 'nsftp' program. For example, my NETWORK.BAT looks like this: c:\dvx\device c:\ftp\ifcust.sys c:\dvx\device c:\ftp\ipcust.sys c:\ncsa\drivers\wd8003e -w 0x62 7 0x280 0xD000 c:\ftp\ethdrv -t 20 -p 26 -u 2 nsftp Using DVPMAN, modify the \DVX\DVPS\PCTCP.DVP parameters to run NETWORK.BAT rather than NSFTP.EXE. You should add enough memory allocation to allow for the extra memory of the network drivers. In my case a 350K allocation seems to work fine but you may need more. Remove all the network drivers and TSRs from your CONFIG.SYS and AUTOEXEC.BAT, and reboot DOS and DV/X. If all goes correctly, the DOS windows under DV/X should now contain none of the network drivers. With this arrangement I am able to get about 550K available in the DOS window. The only limitation of this arrangement, is that only Quarterdeck supplied network programs (telnet, ftp, etc) will work. This is because the network drivers are running in a different address space than the DOS windows. The normal FTP software's and Packet driver's access interrupts are not available in any process other than the PCTCP process. STEAL THE GRAPHICS VIDEO AREA ----------------------------- In DESQview Classic, if you don't need graphics, you can use the VREMS parameter on the QEMM line, and add VIDRAM ON to the DV.BAT file. This will give you about 64k more for each window. DV.BAT should actually have a VIDRAM ON before calling DV, and VIDRAM OFF after DV. Under DVX, David Granz suggests: If you have a 8514 type video card (I have a ATI Graphics Ultra), you can get even more space for DOS programs. As an added advantage, the video performance is much better with this card (1024x768x256). Add the 'VREMS' parameter to your QEMM386.SYS line in CONFIG.SYS. This will allow the \QEMM\VIDRAM program to steal the address space at A0000-AFFFF for DOS use. Before starting DV/X, do a "\QEMM\VIDRAM ON" command. Just ignore the message that DV/X cannot find a graphics card. DV/X will run just fine without this video ram area. The DOS window will be 64K bigger. The only limitation of this, is that graphic programs (ie ones that take over the entire screen) must not be run. Text programs and programs that use X windows calls will work just fine. TRIM DESQVIEW'S USAGE --------------------- DESQview also sets aside a portion of conventional memory and calls it ``Common Memory''. The amount that DESQview allocates can be decreased in DVSETUP, but the minimum is about 14K. Certain programs such as DVSI (a set of shareware utilities by Dan Bodoh) require the amount of Common Memory to be larger than the minimum. A large Open Window menu or many ``shared programs'' will also increase the required amount of Common Memory. Each window has an area of memory called ``System Memory''. The amount of System Memory available to a program is controlled by four separate entries on the Change A Program screen. First, since DESQview stores the window image in System Memory, decreasing the number of text pages, and second, decreasing the maximum window size both decrease System Memory usage. Third, since most programs do not explicitly use System Memory, the System Memory field can be set to 1K or 0K. Fourth, the script buffer size can be reduce if there are no scripts attached to the window. The pool of System Memory only reduces the maximum window memory for that particular window, and does not affect the other windows. You can see this using the Memory Status program. It will report, say, 592K of conventional memory available, but part of that is used for System Memory so the actual amount available is less. Certain DESQview/X programs which use the built in DOS extender can use the disk as memory. This is called virtual memory. You can configure the DESQview/X Server to use virtual memory to save on real memory. This will not increase the maximum window size, but it will increase the number of programs that you can run simultaneously. To do so, change the ``maxmem='' line in the \DVX\SERVER\XB16.VMC file (XC16.VMC for the high-resolution server). This line specifies the maximum number of kilobytes of real memory that should be used. Increase the number to to increase speed; or decrease the number to increase available memory. Note that DESQview/X gets flaky if the number is less than 1000K or so. The default value of 1000K is optimized for a 4 Megabyte machine. QW:161:WINSIZE.TEC, QW:252:MAXWINDO.TEC Q213: My {9600 or greater} BPS modem drops characters under DESQview. Is high speed communication possible under DESQview? A213: Yes, high speed communication is possible. First, you must go into the DESQview setup program and set ``Optimize Communications'' to Y (see Q214). If you still lose characters, you may have to get a new serial board. The characters are coming in too fast for DESQview and your communications program to process them. The chip that controls serial communication is known by many names. On an XT (or an 8-bit I/O board) it is an 8250. Most ATs contain the 16450. The problem with these chips is that they can only buffer one character at a time, so if DESQview doesn't allow your communications program to respond fast enough, you'll lose that character. The solution is to get a board with the National Semiconductor PC16550CN chip. This chip buffers up to 16 characters, so character loss is less likely to occur. If you are the handy type, you can even swap your 8250 (or whatever) for the NS16550AN yourself, for the chips are pin-compatible. Do not get a 16550 non-A chip. It is an old, buggy chip. Also, Western Digital makes a 16550 which is rumored to be buggy at speeds of 2400 BPS or less. Note that the 16550x will act like an 8250 unless you have software that supports it. Most communication packages today do support the 16550x. QW:237:COMMPROG.TEC Q214: What does ``Optimize Communications'' in DESQview's setup program do? A214: The cards that you install in your computer use ``hardware interrupts'' to tell the CPU that the card has or needs data. The hardware interrupts are like grade school students raising their hand in class. When the teacher recognizes a student with his hand up, that student can ask/answer a question. Like many teachers, DESQview has a ``teacher's pet.'' This pet is hardware interrupt 0. If a bunch of hardware interrupts raise their hands at the same time, DESQview will always recognize 0 first, then 1, then 2, and so on. However, most COM ports use hardware interrupt levels 3 and 4. So by answering ``Y'' to ``Optimize Communications'', you force interrupt level 3 to become the teacher's pet. DESQview will then recognize the interrupts in this order: 3, 4, 5, ... 0, 1, 2. Rather than answering ``Y'', you can put in any interrupt number you prefer. For example, if you answer ``5'', DESQview will recognize the interrupts in the order 5, 6, 7, ... , 0, 1, 2, 3, 4. Setting ``Optimize Communications'' to ``Y'' can reduce or eliminate dropped characters in communication programs (see Q213). 8086/8088 machines have 8 available hardware interrupts (0-7), while 80286+ machines have 16 (0-15). QW:251:OPTCOM.TEC Q215: Why doesn't ANSI.SYS work in DESQview? A215: ANSI.SYS doesn't work inside DESQview because DESQview takes control of all the screen writes. Quarterdeck has provided a solution, however. Provided with DESQview is DVANSI.COM. Run this program in the window in which you need ANSI.SYS. QW:110:DVANSI.TEC Q216: What do each of the four Protection Levels mean? A216: In ``Change A Program'' or DVPMAN, you can set a program's protection level. Here are the meanings: Level 0 means no protection at all. Level 1 will keep a process from locking interrupts for too long if the WD parameter is set correctly in QEMM, and your hardware supports it. Level 2 will bring up an error if a process writes outside of the memory that DESQview thinks the process owns. If the process attempts this, DESQview will ask the user if the process should be aborted, unprotected, or be allowed to continue (but remain protected). Level 3 will keep a process from reading outside of its memory, with a similar interface as Level 2. It also grabs all interrupt vectors and complains if the program points the vector outside of its memory (including back at the original handler) and then calls it. Level 3 will crash Borland's floating point libraries. If a program crashes with Level 0 it will also crash with Level 3 set, but you might find out about it a little sooner, and it may prevent the system from being locked up. QW:120:PROTECT.TEC Q217: How can I load two or more shared programs in a window? A217: In Change A Program or DVPMAN, you can only list one shared program and its data. To load more than one shared program, you must create a file which lists the shared programs. Each shared program you want to load requires two lines in the file -- one for the shared program name, and one for the shared program data. For example, let's say you want to load DGNASI.SHR and 1COPY.SHR. Create a text file called SHARED.TXT (or whatever) with four lines that look like this (the parenthetical comments should not be added): DGANSI.SHR (line 1) blah blah blah (Text that would be in ``Data'' field for DGANSI) 1COPY.SHR (line 3) blah blah blah (Text that would be in ``Data'' field for 1COPY) Then, in Change A Program or DVPMAN's "Shared Program" field, place the name of this text file preceded by the ``+'' sign. In our case, we would put Shared Program Pathname..: +C:\DV\shared.txt Data......: If the shared.txt pathname is not specified, it defaults to the ``Default Directory'' path in the DVP. However, the default place to look for shared programs is always the DESQview directory. --------------------------------------------------------------------------- Section 3. DESQview Classic - Questions and answers that pertain to DESQview but not to DESQview/X Q301: What type of computer system is required for DESQview? Q302: Does DESQview support Super VGA or video coprocessors? Q303: Can text and graphics be displayed at the same time with Hercules? Q304: How do I use two monitors under DESQview? Q305: What is NOFF.SHP {NOFF.SHR}? Q306: Why does the mouse pointer disappear after running certain programs? Q307: What are those files SWAP*.DV in my DV directory? Can I delete them? --------------------------------------------------------------------------- Q301: What type of computer is required for DESQview? A301: DESQview Classic can multitask programs on an 8088, 8086, 80286, 80386sx, 80386dx, 80486sx, 80486dx, V20 or V30. 8088/8086/80286/V20/V30 DVC will run in one of three ways one these machines. For additional information, get the file DV286.ZIP from SimTel (see Q7). (1) If you have true hardware compatible LIM EMS 4.0 (or EEMS) memory board and are able to disable some conventional memory, DVC will remap expanded memory to conventional memory addresses to multitask ``well-behaved'' programs in. (2) If you use a plug-in memory management chip such as a All-Charge Card or a SOTA POP card, it will provide the memory mapping needed to allow DVC to multitask programs beyond 640K. (3) If you have neither a LIM EMS 4.0 memory card or a memory management chip, DVC will still multitask as many programs as possible in the available conventional memory (see Q5). Besides the memory problem, on a machine less than an 80386 and without QEMM, DESQview will not be able to run programs in a small window or in the background if the program writes directly to video memory (see Q101). If the program has a switch to allow BIOS screen output, use it, or convince the programmer to make the program DESQview-aware (see Q202). 80386sx/80386dx/80486sx/80486dx/Pentium DV386 (or the combination of DESQview and QEMM (see Q101)) and DVX386 will multitask programs in all of the available extended memory. Although DVC can multitask on any machine, the minimum suggested configuration is an 80386sx with 2 megabytes of memory and QEMM. For breathing room, at least 4 megabytes of memory is suggested. QW:195:286.TEC Q302: Does DESQview support Super VGA or video coprocessors? A302: Yes and no. When DVC is placing windows on the screen, it cannot use any of the 132 column modes provided by Super VGA cards. The smallest text font that DVC and DV386 provides to VGA+ users is 60 rows by 80 columns. Since video support is hardcoded into DVC and DV386, there is no way to write a video driver for Super VGA cards. Inside a window, any resolution can be used. The problem occurs when you switch away from the window and come back. DESQview will corrupt the window unless it has a resolution of 800x600x16 or less. Except in rare cases, DESQview cannot handle 256 colors at more than 320x200. A few cards will reportedly work at 1024x768x16 as well. Note that at these higher resolutions, ``Graphics Pages'' in Change A Program must be set to 4. Q303: Can text and graphics be displayed at the same time with Hercules? A303: Yes, as long as 90x43 mode display mode is used. If the graphics bleeds through from the background, you can switch to 80x25 mode. However, there is no way to detect whether or not the Hercules card is currently in text or graphics mode if a program switches between these two modes by manipulating the registers of the card. In this case DESQview will not notice that the graphics mode has changed. Quarterdeck has put a utility DVHERC on the distribution disk that is intended to help users switch to the correct mode in such events. DVHERC is a TSR program. However DESQview can sometimes be very stubborn and will not recognize this change. In such cases it will again switch to the wrong mode as soon as one switches to a different window. QW:203:DVHERC.TEC Q304: How do I use two monitors under DESQview? A304: You can use two monitors only in DVC and DV386. DVX does not support two monitors. DVC and DV386 will only control one of your monitors, and by default all programs will use the monitor that DESQview controls. There are a number of ways to make programs start up on the ``other'' monitor. Since you will usually want DESQview to control the color monitor (except perhaps in the case of a CGA), the following discussion assumes that DESQview is controlling the color monitor and not the monochrome monitor. First, you can use a batch file and include a ``MODE MONO'' statement to switch the program to the monochrome monitor. Second, you can use the ``initial mode'' field to specify the monitor on which the program will start (however, this setting is ignored unless you also set ``writes directly to screen'' to Y and ``virtualize'' to N). By setting the initial mode to 7, you force the program to use the monochrome monitor until it explicitly switches monitors. Note that DESQview tends to stop updating the monochrome screen while the program is in the background if the program ever switches to the color display (including starting on the color display with the first method above). The initial mode can also be set to 21 or 22 for Hercules Graphics mode. These modes only allow one page of mono graphics (see Q303). Mode 21 is Page 0 at address B000h, and Mode 22 is Page 1 at address B800h. Hence, Mode 22 is not available with two monitors (it conflicts with color video). Q305: What is NOFF.SHP {NOFF.SHR}? A305: NOFF.SHR is an older version of NOFF.SHP. So what's NOFF.SHP? DESQview is the child of an older IBM program called TopView. Because Quarterdeck wanted DESQview to run all the old TopView programs, they made DESQview compatible to TopView, in much the same way you can run programs written for DOS 3.3 in DOS 4.0. If a program writes directly to the video memory, TopView (and DESQview) cannot run it in a small window. So IBM allowed programs to be TopView- aware (similar to DESQview-aware (see Q202)) by giving them ``virtual'' video memory on request. This memory looks like video memory, but characters written into it do not get displayed on the screen. Since DESQview is a much smarter program that TopView ever was, DESQview can automatically update the window from the virtual video memory. But TopView did not have that ability. The TopView-aware program had to make another call which would manually update the window from the video memory. Quarterdeck wanted to make DESQview look as much like TopView as possible, so they decided that if a TopView-aware program makes this call to update the window, then the automatic updating of DESQview would be turned off. DESQview can do a better job of updating the window from the virtual video buffer than *some* programs. So the purpose of NOFF.SHP is to capture the TopView update call before it gets to DESQview and not let DESQview see the call. That way, DESQview never turns off the automatic updating, and your window output is less jerky. Whether or not you should use NOFF.SHP depends on how the TopView-aware program updates its screen. If it changes only small parts of the screen at a time but requests that the entire screen be updated, use NOFF.SHP. But if the program tells TopView (DESQview) exactly which part of the screen changed, output may look smoother without NOFF.SHP because an automatic update doesn't take place until the end of each program's time slice (see Q208). Although NOFF.SHP is included in the Quarterdeck-supplied DVP for Wordperfect, it is not required if you are using a 386 or better and you turn on text virtualization. QW:247:SHARED.TEC Q306: Why does the mouse pointer disappear after running certain programs? A306: If a DESQview-aware or DESQview-oblivious program (see Q202) uses the mouse, DESQview must turn off its own mouse handling in that window. Unfortunately, DESQview cannot detect when the program is finished with the mouse, so your DESQview mouse pointer will never reappear while that window has the keyboard. Q307: What are those files SWAP*.DV in my DV directory? Can I delete them? A307: They're used by DESQview to store your application when it gets swapped to disk. If the file's date and time are older than the last time you started DV then you can safely erase the files. There is no way to restart an application using a swap file. --------------------------------------------------------------------------- Section 4. DESQview/X - Questions and answers that pertain to DESQview/X but not to DESQview Classic Q401: What types of programs can DESQview/X run? Q402: What type of computer is required for DESQview/X? Q403: Does DESQview/X support Super VGA or video coprocessors? Q404: How can I write or port X software for DESQview/X? Q405: What do I need if I want to use DESQview/X's networking features? Q406: Why don't the tilde(~) and accent grave (`) keys work in my xterm window when running DESQview/X? --------------------------------------------------------------------------- Q401: What types of programs can DESQview/X run? A401: DESQview/X will run all DESQview-oblivious, DESQview-aware and DESQview-specific programs that DESQview Classic will run (see Q102). In addition, DESQview/X will run programs which have been written for X-Windows and have been compiled under Quarterdeck's X Toolkit. DESQview/X will allow a user to interact with other X-Windows programs running on other (possibly non-DOS) machines on a network. Q402: What type of computer is required for DESQview/X? A402: DESQview/X requires an 80386sx, 80386dx, 80486sx, 80486dx or a Pentium system with at least a 40 megabyte hard drive and 4 megabytes of memory. Eight megabytes of memory or more is recommended, especially for development work. DVX will not run with anything less than a VGA card. Q403: Does DESQview/X support Super VGA or video coprocessors? A403: All DESQview/X output is in graphics mode, so it benefits greatly from Super VGA. Performance is increased significantly with video coprocessor cards. However, DESQview/X currently supports only a limited set of VGA chip sets. DESQview/X 1.0 supports the following SVGA chipsets: Manufacturer Chipset Number Highest Resolution --------------------------------------------------------------- ATI 28800 800x600 Chips and Technologies 82C451 800x600 Chips and Technologies 82C452 1024x768 Genoa VGA ET3000, 6400 800x600 Western Digital Imaging PVGA1a, WD90C00,WD90C10, WD90C11, WD90C31* 800x600 Trident 8800, 8900 800x600 (256 colors unsupported) Tseng Labs ET3000 800x600 Tseng Labs ET4000 1024x768 Headland Technologies VEGA 800x600 Headland Technologies V7VGA 1024x768 * The WD90C31 can support the modes of the WD90C11. DVX will NOT detect its presence but you can put the values in using Setup / Advanced / Display / VGA Custom 800 600 256 305C and then save your changes. 8514/a and hardware compatibles and DGIS boards are also supported. These boards significantly increase video speed (see Q209). DESQview/X does not currently support the S3 chip, but may in the future. However, you *may* be able to use the VESA 800x600x16 mode by editing the DVX.CFG file and changing the ``screen'' line to ``screen 800x600:6ah'' You may also need to change the ``type VGA'' line to ``type VG8''. This is not guaranteed to work. The TIGA interface is not yet supported, but will be in a future release. However, the DGIS interface is supported. For reference, here is an incomplete list of video coprocessor cards and their compatibilities. If you know of any that are not in this list, please forward the information to aml@world.std.com. Model Chipset Manufacturer Driver Interface --------------------------------------------------------------------- Desktop AGA 1024 TI TIGA, application interface level drvr for 8514 ATI 8514/Ultra ATI 8514/A Relies on 8514 drvr Spectragraphics Squeegee TI DGIS National Volante AT1000 TI TIGA SOTA 340i TI DGIS, adapter interface compatible--8514 Appian Rendition II TI TIGA ADEX 8514/AT256 Western Dig. 8514/A Relies on 8514 drvrs Western Digital 8514/A W.D. 8514/A 8514 Hercules Graphics Station Card GB 1024+2 TI TIGA NEC Multisync Graphics Engine TI DGIS Nth Engine /150 Chips & Technology 8514 relies on 8514 HP Intelligent Graphics Controller 20 TI TIGA, DGIS Vermont Cobra Plus TI TIGA, adapter interface compatible--8514 Artist XJS-1024 TI relies on TIGA Rasterex Liberty 810AT TI TIGA, adapter interface compatible--8514 Most TIGA & DGIS have custom drivers for their supported software eg. WP, HG CAD QW:148:VGA.TEC, QW:256:XVIDEO.TEC, QW:208:XGA.TEC Q404: How can I write or port X software for DESQview/X? A404: X Window programming allows you to write computer-independent graphics interfaces. You can use some DESQview API programming in X Window programming, but Quarterdeck has ported only part of the API to protected-mode X programming. Quarterdeck makes X Window Motif Toolkits for the following 32 bit compilers; Metaware, Watcom, and DJGPP. These toolkits replace both the DESQview/X X11 Toolkit and the Quarterdeck OSF/Motif Development Toolkit. DJGPP, an MSDOS 386 port of the GNU C compiler is available on the Internet. Quarterdeck released a DJGPP-compatible X library without documentation for free with GNU C. The library contains the X11 portion of what they distribute in their commercial toolkits, but without the Motif libraries. The following files can be downloaded for FTP from SimTel (See Q203). readme.dvx DVX X11R5 toolkit readme file, readme first! qdtkt200.zip DVX X11R5 toolkit clients demos and doc files qdlib200.zip DVX X11R5 toolkit libraries and header files Q405: What do I need if I want to use DESQview/X's networking features? A405: DVX allows you to interact with programs running on other DVX and Unix machines, if the machines are networked. Three parts are required on a PC to make this work: (1) DESQview/X (2) One of the DESQview/X Network Managers sold by Quarterdeck (3) A networking protocol stack available from another manufacturer. DESQview/X is packaged with a Network Manager that allows you to communicate with other DESQview/X machines. It requires a Novell or NetBIOS-compatible network protocol stack (IPX/SPX or NetBIOS compatible). To communicate with Unix machines, you must have a TCP/IP protocol stack that DESQview/X can communicate with. The following products are compatible: FTP's PCTCP HP/Lanman TCP/IP Novell's Lan Workplace for DOS PathWay Access (from The Wollongong Group Inc.) BW-TCP and BW-NFS (from Beame & Whiteside Software Ltd.) PC-NFS (from Sun Microsystems) Contact Quarterdeck for more details (see Q102). It is possible to run SLIP with DESQview/X. FTP's 2.1 and higher have given good SLIP results with 16550 and slipdrv. Beam & Whiteside, Wollongong, PC-NFS and Novell's full Lan Workplace 4.1 all support SLIP. A freeware/shareware solution for SLIP also exists, but it is not fully supported by Quarterdeck. You can use slipper/pdether/tcpip.exe (TCPIP.EXE is free with Quarterdeck's TCP/IP network manager and Slipper and PDether are freeware or shareware). Once you get this stack setup to the point that TCPIP loads and works, Quarterdeck can support you. Quarterdeck doesn't support Slipper/Pdether since they aren't their products. Check out comp.protocols.tcp-ip.ibmpc for support. QW:263:DVX2XSYS.TEC Q406: Why don't the tilde(~) and accent grave (`) keys work in my xterm window when running DESQview/X? A406: The dwm window manager usurps the "`" key for a quoting character of its learn feature. When two "`" characters are typed in a row, dwm passes one along to the application. Unfortunately, it has to do this as a synthetic key event. The xterm program by default ignores this synthetic key events, since they can be a security risk. (The key events could come from any program on any machine on the network, run by any user.) DESQview/X version 1.0 also sent the "~" key as a synthetic key event, probably because it is on the same keycap as the "`", but version 1.1 does not. Some Solutions: Set the resource allowSendEvents to true. This will either be done by the the xrdb utility, or by adding text to the .Xdefaults file. This will tell xterm to allow synthetic key events (and will bring up all of the security problems associated with synthetic key events.) The "`" key will still be have to be hit twice for it to appear once. As of verion 1.1 the quoting character can be changed to any key by changing the "HOTKEY literal {`}" line in the WM.CFG file. The key can be changed to something else. (Especially something odd like "HOTKEY literal {Alt-F12}") Removing or commenting out the "HOTKEY literal" line will make it default to "HOTKEY literal {`}" Once they "HOTKEY literal" character has been changed, the "`" key only has to be pressed once, but the character that you have changed it to will not appear in an xterm window, and will have to be pressed twice in any other window. Run a window manager other than DWM. Since only DWM has the Learn function, it is the only window manager that has this problem. There are freely distributable window mangers available for FTP at qdeck.com. Quarterdeck also sells Motif and Open Look window managers. Toggle the "Secure Keyboard" option keyboard option before typing the "`" character. This menu item grabs the keyboard from the X server and will be the only window that receives keyboard input, no matter which window is the focus window. In this mode ~ and ` will always work and will only have to be pressed once to appear. --------------------------------------------------------------------------- Section 5. QEMM - Questions and answers about Quarterdeck's memory manager Q501: What are Exceptions 12 and 13? --------------------------------------------------------------------------- Q501: What are Exceptions 12 and 13? A501: An exception 12 (or 13) is caused by the program you are running doing something that it is not allowed to do on a 80386 while in Virtual 8086 (V86) mode. Since QEMM is the 386 ``control program,'' it can only report the error caused by the user program. The main cause is operand wrapping past the last address in segment, 65,535 (FFFF in hex) Note that exceptions are only reported by QEMM, and are not caused by either QEMM or DESQview. They are caused by old programs that assume they are running on an 80286 or less; or by a program that ``crashed''. From the INTEL ``80386 Programmer's Reference Manual,'' PART III - COMPATIBILITY chapter 15, VIRTUAL 8086 MODE Section 15.6 DIFFERENCES FROM 8086 Stated ``reasons'' 6, 7 & 8 (pages 15-10 & 15-11) Quoting from the INTEL manual: 15.6 DIFFERENCES FROM 8086 In general, V86 mode will correctly execute software designed for the 8086, 8088, 80186 and 80188. Following is a list of the minor differences between 8086 execution on the 80386 and on an 8086. ... (only those causing exception 12 or 13 are listed) 6. Redundant prefixes. The 80386 sets a limit of 15 bytes on instruction length. The only way to violate this limit is by putting redundant prefixes before an instruction. Exception 13 occurs if the limit on instruction length is violated. The 8086/8088 has no instruction limit. 7. Operand crossing offset 0 or 65,535. On the 8086, an attempt to access a memory operand that crosses offset 65,535 (e.g., MOV a word to offset 65,535) or offset 0 (e.g., PUSH a word when SP = 1) causes the offset to wrap around modulo 65,535. The 80386 raises an exception in these cases - exception 13 if the data segment (i.e., if CS, DS, ES, FS, or GS is being used to address the segment), exception 12 if the segment is a stack segment (i.e., if SS is being used.) 8. Sequential execution across offset 65,535. On the 8086, if sequence execution of instructions proceeds past offset 65,535, the processor fetches the next instruction byte from offset 0 of the same segment. On the 80386, the processor raises exception 13 in such a case. In order to fix an Exception 13, you can try to load the program causing it into a different area of memory. To do this, try increasing your FILES or BUFFERS, or loading some TSRs low rather than high, etc. However, the best solution is to contact the programmer. Another possible solution is to increase the amount of memory specified in Change A Program. QW:142:EXCEPT13.TEC, QW:232:EX13FLOW.TEC --------------------------------------------------------------------------- Section 6. Contributors --------------------------------------------------------------------------- A large part of the format and content of this document is due to the previous FAQ editor, Dan Bodoh. He really deserves most of the credit for this FAQ. The following people have sent suggestions for entries in the FAQ. On behalf of all the readers of comp.os.msdos.desqview, I thank you. If you see your name here and you didn't actually send me something, I probably stole a posting of yours for the FAQ. ---- The information in A7 on access to SimTel is from regular postings to the Usenet newsgroup comp.binaries.ibm.pc.archives by Keith Petersen. The electronic contacts in A19 are from the QOS note ``CONTACT.TXT'' The international addresses in A19 are from "DESQview User, The Quarterly Journal for PC and DOS productivity", Issue 4, Spring 1992 and were sent to me by Klaus Hartnegg. Most of A20 was copied from Quarterdeck's tech note ``DVBOOK.TEC'' Some of A25 is from Appendix B of the FOSSIL driver manual sent to me by Stephen Lee. Information in A8 and A30 was grabbed from Quarterdeck press releases. The White Pages cross references were provided by Michael Bolton of Quarterdeck Canada. alheid@pittpa.cray.com (Greg Alheid) A15*,A17,A20 aml@world.std.com (Andrew M Langmead) anasaz!crow@asuvax.eas.asu.edu (Jerry Crow) arnd@zeus.informatik.rwth-aachen.de (Arnd Gehrmann) arr@stat.ph.albany.edu (Andrew A. Reilly) burge@qdeck.com (Bill Burge) Carl Anderson 1:106/7674 chaz@chinet.chi.il.us (Charlie Kestner) 76711.657@CompuServe.COM (Chris La Mantia) danb@bunt.sps.mot.com (Dan Bodoh) dave@monitor.larc.nasa.gov (Dave Hinde) Dave Osborne 1:123/27.0 dave.williams@chaos.lrk.ar.us (Dave Williams) docw@qdeck.com (Doc Williamson) don@qdeck.com (Don Bailey) dj@ctron.com (DJ Delorie) dvss!jtroy@udel.edu (Jay Troy) em21@cunixf.cc.columbia.edu (Eben Moglen) esiever@world.std.com (Ellen C. Siever) granz@junkyard.uucp hartnegg@ibm.ruf.uni-freiburg.de (Klaus Hartnegg january%polari@uunet.uu.net (Jamie Pehling) jcorr@splash.princeton.edu (Jim Orr) jerry@rat.nrl.navy.mil (Jerry Nash) jmaynard@oac.hsc.uth.tmc.edu (Jay Maynard) john@stanton.cts.com (John Goodman) karl.springer%greatesc.com@kaiwan.com (Karl Springer) kemp@convex.com (Phil Kemp) kneply@mozart.cs.colostate.edu (Jim Knepley) lsuc!ontmoh!rwh@cs.toronto.edu (Russell Herman) Mark Hockings 1:102/824 Michelle at Quarterdeck Canada mike@batpad.lgb.CA.US (Mike Batchelor) mtbb136@ms.uky.edu mvjrs@mvgpk.att.com (Rick Sladkey) nickw@syma.sussex.ac.uk (Nick Watkins) noesis@ucscb.ucsc.edu (Kyle ?) peterson@csc.ti.com (Bob Peterson) phealy@swift.cs.tcd.ie (Paul ?) ralf@cs.cmu.edu (Ralf Brown) reisert@mast.enet.dec.com (James J. Reisert) rreiner@nexus.yorku.ca (Richard Reiner) s2942275@techst02.technion.ac.il (Yaniv Golan) Saar Blitz 2:403/139.0 schuster@panix.com (Mike Schuster) seant@ratsys.com (Sean True) senf_ltd@uhura.cc.rochester.edu (Stephen Lee) smsmith@magnus.acs.ohio-state.edu (Stephen Smith spit@neuro.duke.edu (Mike Burdick) support@qdeck.com (Gary Rich) support@qdeck.com (Doc Williamson) stern@ims.alaska.edu (Pete Stern) steveg@orl.mmc.com (Steve Gabrilowitz) theall@gdalsrv.sas.upenn.edu (George A. Theall) thuben@kiera.ericsson.se (Thomas Nilsson) valley@gsbsun.uchicago.edu (Doug Dougherty) w8sdz@SimTel.Coast.NET (Keith Petersen) wiget@switch.ch (Margel Wiget) 4carroll_j@spcvxa.spc.edu (Jim Carroll) -- Andrew Langmead