• Microsoft Windows Frequently Asked Questions Prepared 03/07/95 • Keywords for All Knowledge Base Articles • Keywords for the Windows Knowledge Base • Knowledge Base Articles • Other Sources of Information • User Survey THE INFORMATION IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES EITHER EXPRESSED OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS, OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FORGOING EXCLUSION OR LIMITATION MAY NOT APPLY. Copyright (c) 1995 Microsoft Corporation. All rights reserved. • Microsoft Windows Frequently Asked Questions • Keywords for All Knowledge Base Articles • Categories and Keywords for All Knowledge Base Articles • Keywords for the Windows Knowledge Base • Knowledge Base Articles • Other Sources of Information • User Survey • Microsoft Windows Frequently Asked Questions • Keywords for All Knowledge Base Articles • Keywords for the Windows Knowledge Base • Personal Operating Systems Query Keywords for Knowledge Base • Knowledge Base Articles • Other Sources of Information • User Survey • Microsoft Windows Frequently Asked Questions • Keywords for All Knowledge Base Articles • Keywords for the Windows Knowledge Base • Knowledge Base Articles • Exception Errors with EMM386.SYS / EMM386.EXE • WW0335: Memory Management with Windows 3.0 and 3.1 • How to Rebuild the Default Windows REG.DAT File • Windows Driver Library Information • Windows and WFWG 3.1x Setup Error Codes (000 through 100) • WW0530: SMARTDrive and 32-Bit Disk Access • Windows 3.1 Err Msg: Call to Undefined Dynalink • Creating a New SYSTEM.INI Without Third-Party Drivers • Control Panel .CPL Files and Icon Installation • Windows Err Msg: Fault in MS-DOS Extender • Windows Err Msg: The Microsoft Windows 32-Bit Disk... • WW0654: Windows 3.1 and Serial Communications • Reinstalling Windows Without Losing Settings • Windows Err Msg: EMM386 Exception Error #6 • WW0524: Troubleshooting GP Faults (UAEs) • Troubleshooting MS-DOS 6.x and EMM386.EXE • Windows for Workgroups Mail Issues • How to Troubleshoot WFWG Network Connection Problems • Troubleshooting Serial Port Problems in Windows • WFWG Upgrade 3.11 Disk Directories (3.5 Inch, 1.44 MB) • WFWG: Creating a New SYSTEM.INI Without Third-Party Drivers • WFWG 3.11: Hardware Compatibility List - Modems for AWFAX • WG0974: VKDA.386 Corrects Keyboard Problems • Troubleshooting Insufficient Memory Errors • Using 32-Bit Disk Access on WD 2540 Hard Disk Drives • WFWG Err Msg: Error 58 on Protocol 0 • Troubleshooting Remote Access in Windows for Workgroups 3.11 • Summary List: Windows for Workgroups 3.11 Confirmed Problems • Installing Win32s in Windows and Windows for Workgroups • Troubleshooting At Work PC Fax in WFWG 3.11 • Extended Error Code Information • EMM386 Troubleshooting and Technical Information • Windows 3.1 Setup Error Codes (S208 through S214) • Windows 3.1 Hardware Compatibility List • WW0525: Troubleshooting 386 Enhanced Mode Problems • Windows 3.1 Resource Kit WIN.INI Section Settings • Top Questions and Answers for Windows 3.1 • Windows 3.1 Err Msg: Error Loading PROGMAN.EXE • Problems When Exiting Windows or WFWG After Running 386 Enh • What Is a Clean Boot for Windows 3.1? • WFWG Err Msg: Error 6118: The List of Servers for This... • What Is a Clean Boot for Windows for Workgroups? • Windows for Workgroups Hangs at Logo Screen • Troubleshooting 'Segment Load Failure' Errors • WFWG Err Msg: Windows 3.x Could Not Be Located... • How to Create a New WIN.INI Without Third-Party Information • System Slows After 32-Bit File Access Is Enabled • WG0949: Windows for Workgroups 3.11 Setup Information • WFWG 3.11: Hardware Compatibility List - Modems for RAS • WFWG 3.11: Hardware Compatibility List - Network Cards • Installing Novell NetWare 3.12 and 4.0x Support for Windows • EMM Exception Error #6 Exiting Windows for Workgroups 3.11 • "Not Enough Memory" Error Occurs When Browsing • Microsoft At Work PC Fax: Top Questions and Answers • WFWG 3.11: 3C509 MLID May Cause Lost Connections and Hangs • Recovering Windows 3.1 After Installing WFWG 3.11 • WG1001: Updated SERIAL.386 Driver for WFWG • WFWG Err Msg: Error 58: The Network Has Responded Incorrectly • RAS ErrMsg: Error 692: Hardware Failure in Port or Attached... • Windows for Workgroups: Error 58 on Protocol 0 - (Non-ODI) • Windows Err Msg: Cannot Find KRNLxxx.EXE • Floppy Disk Drive Problems in 386 Enhanced Mode • Err Msg: 'Incorrect System Version' When Starting MS-DOS App • Permanent Swap Files and the Disk Partition Table • Causes of General Protection Faults • Windows 3.1 Setup Error Codes (S000 through S022) • The WIN.INI [Compatibility] Section • WW0526: Windows 3.1 Setup • WW0532: Object Linking and Embedding (OLE) • Unexpected DOS Errors 0 - 23 and Windows • Troubleshooting Lost Network Connections • Windows for Workgroups: How VSHARE.386 Manages File Sharing • Troubleshooting MS Backup and MS Backup for Windows • Your Computer Fails the Microsoft Backup Compatibility Test • Using Novell's ODI Drivers with Windows for Workgroups • WG0666: WFWG 3.10 Setup Information • WFWG Err Msg with New NETAPI.DLL: Call to Undefined Dynalink • WW0863: Fixing System Hangs with MS-DOS Apps & Novell NetWare • WG0904: Support for Novell NetWare 4.0 • Using Novell's ODINSUP with VLM.EXE and WFWG 3.11 • EMM Exception Error #6 Exiting Windows for Workgroups 3.11 • Pentium-Based Machine Hangs with Communication Applications • RAS ErrMsg: NETBIOS Error 640: A Netbios Error Has Occurred... • WG1004: MSODISUP.386 Fixes Problems Using 3Com ODI MLIDs • Err Msg Starting WFWG: Cannot Find NWGDI.DLL • Problems Sending Mail After Installing AWFAX • Common Questions and Answers for Windows 3.11 • WFWG Err Msg: WINFILE Caused a GP Fault at 0009:028A... • Windows Err Msg: WDCTRL Validation Failed at Phase • WW1116: OLE Version 2.02 • MS-DOS Partitioning Summary • "Missing Operating System" and "No ROM BASIC" Error Messages • Windows Err Msg: Group File .GRP Invalid or Damaged... • Causes of System Integrity Errors in Windows 3.1 • Windows 3.1 Resource Kit SYSTEM.INI [386ENH] Section A-L • Windows 3.1 Resource Kit SYSTEM.INI [386ENH] Section M-Z • How Windows Determines the Recommended Maximum Swap File Size • Windows Err Msg: Error Loading SYSTEM.DRV • Troubleshooting Microsoft and Compatible Mice in Windows • WFWG Err Msg: Memory Is Insufficient to Run KRNL386.EXE • Real-Mode NDIS Drivers Included with Windows for Workgroups • Windows Err Msg: Cannot Find a Device File that May Be... • Information on System Resources in Windows • Setup, Network Card Settings, and Preliminary Troubleshooting • WFWG Err Msg: Protocol Manager Reported an Incomplete Binding • Parity Errors in Windows 3.x • WFWG: Creating a WGPO on a Novell NetWare Server • How Windows Handles Bad Permanent Swap Files • Windows Err Msg: Corrupt Swap File or Unsupported DOS Version • Recovering Windows 3.1 After Installing WFWG • Invalid VxD Dynamic Link Call to Device Number 000D • Error Messages or Hangs Using 3Com EtherLink III (3C509) • Most Common Questions and Answers About Microsoft WFWG 3.11 • Using Novell's ODINSUP and NETx with Windows • Extended Error 53 When Accessing Network Drives from MS-DOS • Additional NICs Supported in Windows for Workgroups 3.11 • Remote Access Service - Error 714: Configuration Error • WW1000: Updated VSHARE.386 for Windows/Windows for Workgroups • Err Msg Installing DeskJet 500 4.0 Driver: COMMCTRL.DLL Is... • Installing an Unlisted RAS Modem • Methods to Detect a Boot Sector Virus • Reasons for Windows 3.1 Setup to Fail While Upgrading • Media Player Cannot Play Audio CD If CDAudio=0 in MPLAYER.INI • Supported NICs and NDIS Drivers Included with WFWG • Overview of Memory-Management Functionality in MS-DOS • Cannot Run Windows on Packard Bell Running MS-DOS 6 or Later • Windows for Workgroups: Avoiding Hardware Conflicts • WFWG 3.11 Err Msg: Segment Load Failure • Troubleshooting HIMEM.SYS 3.10 XMS Test (TESTMEM) Failures • WG0992: Updated Files for Microsoft At Work PC FAX 1.0 • Windows Hangs with SMC Ethernet 16 Elite Ultra 16T Adapter • Other Sources of Information • User Survey • Microsoft Windows Frequently Asked Questions • Keywords for All Knowledge Base Articles • Keywords for the Windows Knowledge Base • Knowledge Base Articles • Other Sources of Information • Information About Knowledge Base Help Files • User Survey • Microsoft Windows Frequently Asked Questions • Keywords for All Knowledge Base Articles • Keywords for the Windows Knowledge Base • Knowledge Base Articles • Other Sources of Information • User Survey • Microsoft Knowledge Base Help File Survey Categories and Keywords for All Knowledge Base Articles Article ID: Q94671 CATEGORIES AND KEYWORDS FOR ALL KNOWLEDGE BASE ARTICLES ======================================================= To categorize articles within the Microsoft Knowledge Base and make finding information easier, a common set of keywords has been adapted for use throughout the KB. These keywords are used to categorize the subject of each article. Each article has one SUBJECT keyword. A secondary keyword indicating the TYPE of article can also be used. To query on one category, enter the category code and a wildcard. For example: kb3rdparty* To query on more than one category, enter each category code with a wildcard. For example: kb3rdparty* or kbinterop* or kbusage* To query on one subcategory, enter the complete code. For example: kbbuglist To query on more than one subcategory, enter all the complete codes. For example: kbbuglist or kbfixlist You can also mix categories and subcategories in one query. For example: kbtshoot or kbnetwork* NOTE: At the end of this article is a table that lists formerly used keywords and their replacements. INFORMATION CATEGORIES AND KEYWORDS =================================== Article subject Keyword ---------------------------------------------------------------- Interactions with third-party products kb3rdparty Interoperability with other MS products kbinterop How to use product features/functionality kbusage Printing kbprint Setup and installation issues kbsetup Networking kbnetwork Environment and configuration information kbenv OLE technology kbole Tools, utilities, applets, such as MS Draw or Write kbtool Programming kbprg User interface kbui Graphics kbgraphic Multimedia kbmm Hardware kbhw Microsoft At Work kbatwork Sound (audio) issues kbsound Display (video, monitor, resolution) issues kbdisplay Readme files kbreadme Lists of vendor phone numbers, disk directory listings, other lists or references kbref Support boundaries, policies, processes & procedures kbpolicy Other: Any subject not covered in other categories kbother Article types Keyword ---------------------------------------------------------------- Application Notes kbappnote Bug info for a particular version of a product kbbuglist Sample code kbcode Documentation errors kbdocerr Error message followup information kberrmsg FastTip scripts or maps kbfasttip Binary file information located in the Microsoft Software Library kbfile Fixed bug info for a particular version of a product kbfixlist Articles listing product-specific keywords kbkeyword Sample macro with article kbmacro Problems not classified as bugs kbprb FastTip Technical Library Catalog kbtlc Troubleshooting information kbtshoot The following table lists formerly used keywords and their replacements. For explanations of what these keywords represent, see the tables above. Old keyword(s) New keyword ----------------------------------------------------------------- 3rdparty, isv, 3rd party kb3rdparty phoneref, diskdir kbref errmsg, err msg kberrmsg docerr, doc err kbdocerr buglist kbbuglist fixlist kbfixlist softlib kbfile tshoot kbtshoot appnote kbappnote fasttip, ivr kbfasttip tlc kbtlc MORE INFORMATION ================ Future querying tools may allow for use of friendly names for information categories. With current searching tools, "printing" cannot be used as a keyword because that word is also used in many articles whose main subject is not printing. Until our tools allow searching on keywords separately from article text, we need to create unique spellings for Knowledge Base keywords. Therefore, all standard Knowledge Base keywords will begin with the letters "kb." Additional reference words: kbkeyword key word kbcdg dskbguide KBCategory: kbref KBSubcategory: Personal Operating Systems Query Keywords for Knowledge Base Article ID: Q96132 ---------------------------------------------------------------- ----------- The information in this article applies to: - Microsoft MS-DOS operating system versions 3.x, 4.x, 5.x, 6.x - Microsoft Windows operating system versions 3.0, 3.0a, 3.1, 3.11 - Microsoft Windows for Workgroups versions 3.1, 3.11 - Microsoft Workgroup Connections version 1.0 - Microsoft Workgroup Add-On for MS-DOS, version 3.11 - Microsoft Windows Sound System versions 1.0, 1.0a, 2.0 - Microsoft Video for Windows, versions 1.0, 1.1, 1.1a ---------------------------------------------------------------- ----------- SUMMARY ======= You can use keywords to easily query for specific topics in the Microsoft Knowledge Base. This article contains keywords for Microsoft Windows, Windows for Workgroups, MS-DOS, Windows Sound System, and Video for Windows. By using these keywords, you can quickly access common topics. These keywords are commonly found at the bottom of articles in a section titled "Additional reference words." For a list of categories and keywords for all knowledge base articles see Q94671. MORE INFORMATION ================ Product Keywords ---------------- Keyword Topic -------------------------------------------------------------- bbsstepup Downloadable version of MS-DOS 6.2x Step-Up doswin Microsoft Windows & MS-DOS 5 for IBM PS/2 or Microsoft Windows & MS-DOS 5 Upgrade mmwin Microsoft Windows with Multimedia Extensions mnk Microsoft Natural Keyboard msdos Microsoft MS-DOS penwin Microsoft Pen Windows (Windows for Pen Computing) stepup MS-DOS 6.2x Step-Up vfw Video for Windows wc Workgroup Connections for MS-DOS win30 Windows version 3.0 and 3.0a win31 Windows version 3.1 and 3.11 wfw Windows for Workgroups 3.1 and 3.11 wfwg Windows for Workgroups (preferred) wgao Workgroup Add-On for MS-DOS wps Windows Printing System wss Windows Sound System MS-DOS Component Keywords ------------------------- Keyword Topic --------------------------------------------------------- ----- Dblguard MS-DOS DoubleGuard Dblspace MS-DOS DoubleSpace Drvspace MS-DOS DriveSpace Defrag Microsoft Defragmenter MSAV Microsoft Anti-Virus for MS-DOS MSBackup Microsoft Backup for MS-DOS Multi-Config MS-DOS multiple-configuration issues MWAV Microsoft Anti-Virus for Windows MWBackup Microsoft Backup for Windows Windows and Windows for Workgroups Component Keywords ----------------------------------------------------- Keyword Topic -------------------------------------------------------------- AWFax Microsoft At Work PC Fax GPF General Protection Fault RAS Remote Access Services UAE Unrecoverable application errors WinBoot Windows Startup issues WinComm Windows communications/serial WinDrvr Windows driver-related information WinMem Windows memory WinShell Windows Shell issues Recent KB Keyword Changes ------------------------- Old Keyword New Keyword ----------- ----------- winhwre kbhw winmm kbmm winnet kbnetwork winset kbsetup winprint kbprint winole kbole winapp kbtool KBCategory: kbkeyword kbref KBSubcategory: Additional reference words: 3.00 3.00a 3.10 3.11 6.00 6.20 6.21 6.22 key word troubleshooting 1.0 1.00 Exception Errors with EMM386.SYS / EMM386.EXE Article ID: Q52195 ---------------------------------------------------------------- ------ The information in this article applies to: - Microsoft MS-DOS operating system versions 4.x, 5.0, 6.0, 6.2, 6.21, 6.22 ---------------------------------------------------------------- ------ SYMPTOMS ======== If you install the EMM386.EXE device driver included with MS-DOS, you may get the following error message: EMM386 Exception error #13 @ xxxx:xxxxxxxx CODE xxxx PRESS ENTER TO REBOOT. CAUSE ===== The error means that the 80386 microprocessor has encountered a general protection violation. Because the EMM386 driver operates the 80386 chip in virtual real mode, the microprocessor checks for valid memory accesses. If a program tries to access memory that it is not allowed to access, the 80386 chip generates an exception fault error, which is detected by EMM386. In essence, EMM386 is reporting an error detected by the CPU in virtual mode. WORKAROUND ========== You should remove EMM386 to determine if problems still occur without it. If problems still occur, correct them and reinstall EMM386. MORE INFORMATION ================ The 12 hexadecimal digits following the error (represented by x in the above error message) are the address of the machine language instruction following the instruction that caused the exception error. This number is given in CS:EIP format, where CS is the code segment, and the EIP is the instruction pointer (relative to the code segment). This value indicates where in memory the CPU was executing instructions when the exception occurred. It is sometimes possible to determine from this value what software caused the exception to occur. This error should not occur on systems that are 100 percent IBM compatible. Because of the hardware-intensive nature of the EMM386 device driver, strict IBM hardware compatibility is required. If this error does occur on your system, the EMM386.SYS or EMM386.EXE device driver may need to be modified by your machine's manufacturer. The following is a list of Intel 80386 protected mode exception errors and their names: Code Meaning ---- ------- 0 Divide error 1 Debugger interrupt 2 Nonmaskable interrupt 3 Breakpoint 4 Overflow interrupt 5 Array boundary violation 6 Invalid opcode 7 Coprocessor not available 8 Double fault 9 Coprocessor segment overrun 10 Invalid task state segment 11 Segment not present 12 Stack exception 13 General protection violation 14 Page fault 16 Coprocessor error KBCategory: kbref kbhw kberrmsg kb3rdparty KBSubcategory: msdos gpf win31 win30 wfw wfwg Additional reference words: 6.22 4.0 4.00 4.0a 4.00a 4.01 4.01a 5.00 5.00a 6 6.0 6.00 6.20 3.0 3.1 GP WW0335: Memory Management with Windows 3.0 and 3.1 Article ID: Q66420 ---------------------------------------------------------------- ---- The information in this article applies to: - Microsoft Windows operating system versions 3.0, 3.0a, 3.1, 3.11 -------------------------------------------------------------------- Microsoft Product Support Services offers an Application Note that describes memory management with Microsoft Windows. This Application Note,"WW0335: Memory Management with Windows," examines the three types of memory that Windows versions 3.0 and 3.1 can use (conventional, extended, and expanded) and discusses how the three modes of Windows (real, standard, and enhanced) operate and use memory. You can obtain this Application Note from the following sources: - CompuServe, GEnie, and Microsoft OnLine - Microsoft Download Service (MSDL) - The Internet (Microsoft anonymous ftp server) - Microsoft Product Support Services For complete information, see the "To Obtain This Application Note" section at the end of this article. THE TEXT OF WW0335 ================== ================================================================ ====== Microsoft Product Support Services Application Note (Text File) WW0335: Memory Management with Windows ================================================================ ====== Revision Date: 4/92 No Disk Included The following information applies to Microsoft Windows version 3.1. ----------------------------------------------------------------- --- | INFORMATION PROVIDED IN THIS DOCUMENT AND ANY SOFTWARE THAT MAY | | ACCOMPANY THIS DOCUMENT (collectively referred to as an | | Application Note) IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY | | KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO | | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A | | PARTICULAR PURPOSE. The user assumes the entire risk as to the | | accuracy and the use of this Application Note. This Application | | Note may be copied and distributed subject to the following | | conditions: 1) All text must be copied without modification and | | all pages must be included; 2) If software is included, all files | | on the disk(s) must be copied without modification [the MS-DOS(R) | | utility DISKCOPY is appropriate for this purpose]; 3) All | | components of this Application Note must be distributed together; | | and 4) This Application Note may not be distributed for profit. | | | | Copyright 1992 Microsoft Corporation. All Rights Reserved. | | Microsoft, MS-DOS, and the Microsoft logo are registered | | trademarks and Windows is a trademark of Microsoft Corporation. | ----------------------------------------------------------------- ---- INTRODUCTION ============ This application note outlines the memory management capabilities of Microsoft Windows versions 3.0 and 3.1. References that apply to both versions will refer to Microsoft Windows versions 3.x. Microsoft Windows versions 3.x provide a protected mode graphical operating environment that runs existing MS-DOS applications and allows Windows applications to break the 640K barrier. Windows 3.1 memory management is simpler in many ways than that of previous versions. However, the flexibility of Windows 3.1 memory management continues to present a challenge to those who want to understand its operation in depth. This document examines the three types of memory that Windows 3.x can use or provide (conventional, extended, and expanded) and discusses how both standard and 386 enhanced modes of Windows 3.1 operate and use memory. MEMORY TYPES ============ Three different kinds of memory can be installed in your machine: conventional, extended, and expanded memory. In addition, IBM- compatible machines contain a 384K upper memory area (UMA). Conventional Memory ------------------- Conventional memory is the first 640K of memory in your machine. MS- DOS has a limit of 1024K of addressable memory (conventional memory plus the UMA), and all MS-DOS applications must run within this conventional memory. All Windows 3.x operating modes share this limitation for running MS-DOS applications, but standard and 386 enhanced modes break the 640K limitation for running Windows applications. Windows 3.x enhanced mode can create multiple virtual MS- DOS machines (for more information on virtual MS-DOS machines, see the section of this application note called "386 Enhanced Mode and Conventional Memory." NOTE: 386 enhanced mode Windows 3.1 also allows MS-DOS applications to break the 640K barrier if they are written to use the Microsoft DOS Protected Mode Interface (DPMI) specification. DPMI allows MS- DOS applications to run in protected mode under Windows 3.1, using up to 16 megabytes (MB) of extended memory directly. Applications must be specifically written for DPMI in order to take advantage of this feature. 384K Upper Memory Area (UMA) ---------------------------- Between the top of conventional memory at 640K and the start of extended memory at 1024K lies the 384K UMA. This area does not contain physical memory. Mapped into the 384K UMA are the system BIOS (basic input/output system) ROM chips and the display adapter memory. When you install other accessory cards, such as network adapters, they may also occupy space within the 384K UMA. It is important to remember that the 384K UMA is always located in the same area of the IBM- compatible computer's address space: from 640K to 1024K (A000 to FFFF hexadecimal). There are no exceptions to this rule. This means that a standard IBM-compatible machine with 640K of conventional memory installed really has 1 MB of address space. The system memory occupies the first 640K, and the 384K UMA occupies the area from 640K to 1 MB (1024K). This does not mean that the machine has 1 MB of memory. A machine with 1 MB of physical memory has an address space of 1408K. This consists of the 640K of conventional memory, the 384K UMA, and the 384K of extended memory starting at 1024K. Extended Memory --------------- Extended memory is the simplest type of add-on memory to understand. It is also the type of memory used by Windows 3.x running in either standard or 386 enhanced operating mode. Extended memory is a seamless continuation of the original 1 MB address space on 80286 and 80386 computers. Extended memory always starts exactly at 1024K, where the 384K UMA ends. There are no exceptions. It is not possible for an 8086 or 8088 machine to have extended memory. This is a hardware limitation of the 8086/8088 processors, which can handle only 1024K of total address space (that is, 640K of system memory plus the 384K UMA). This is one reason why Windows 3.1 cannot run on 8086/8088-based machines, as it requires a minimum of 256K of extended memory (or 1024K for enhanced mode). The 80286 processor can address 16 MB of total memory, and the 80386 processor can address up to 4 gigabytes (GB). NOTE: PC manufacturers often refer to extended memory as expansion memory, which is not to be confused with expanded memory. Windows 3.x and all applications running under Windows 3.x access extended memory through the Microsoft Extended Memory Specification (XMS). Rather than accessing extended memory directly, access is made through an XMS driver. The driver supplied by Microsoft for this purpose is called HIMEM.SYS. Older MS-DOS applications that check available extended memory through interrupt 15, service 88H will not see any extended memory with an XMS driver loaded. Such applications must be rewritten to use the XMS, instead of interrupt 15, to access extended memory. Expanded Memory --------------- Versions of Windows prior to 3.0 used mostly expanded memory. Windows 3.x does not use expanded memory but may be able to provide it to MS- DOS applications. It is important to understand the concept of expanded memory if you still run MS-DOS applications that use it. There are two different kinds of expanded memory, differentiated by their Lotus/Intel/Microsoft (LIM) Expanded Memory Specification (EMS) version numbers. LIM 3.2 Expanded Memory ----------------------- We discussed earlier how PC/XT machines with 8086/8088 processors can address only 1024K of memory, of which only 640K can be used as RAM for MS-DOS and MS-DOS applications. You can't add more than 640K of conventional memory to the system, but you can provide more than 640K through a technique called bank switching. Expanded memory uses an empty area in the 384K UMA of the machine to provide this functionality. To use an expanded memory card, you must load a device driver to let the card know how to communicate with the PC. This device driver is called an expanded memory manager (EMM). A LIM 3.2 EMM establishes a 64K page frame within the 384K UMA to perform EMS bank switching. The 64K page frame consists of four contiguous 16K pages. LIM 3.2 expanded memory won't work without a 64K contiguous page frame. The page frame is the area where the EMM maps information into and out of the RAM of the expanded memory card. Information is not physically copied from the EMS card to the RAM of the computer; the device driver simply makes the page frame point to the data on the expanded memory card. The data then appears in the page frame, and your application can access it. LIM 4.0 Expanded Memory ----------------------- LIM 3.2 expanded memory is fine for storing data such as spreadsheets in expanded memory; however, because the LIM 3.2 specification does not allow programs to run in expanded memory, it is not useful for multitasking. There are two of major differences between LIM 3.2 and 4.0. First, with LIM 4.0 you can have many more than four 16K pages. LIM 4.0 supports up to 64 pages, which are enough to bank 1 MB of memory at once. Second, the page frame itself no longer must be four contiguous 16K pages. In fact, you need no page frame at all. Whichever EMS version you are dealing with, the basic operating principle of bank switching is still at work. Although LIM 4.0 is a standard that offers many advantages over LIM 3.2, few applications have yet been written to take advantage of LIM 4.0. Backfilling ----------- With LIM 4.0s limit of 64 16K pages, you have enough pages to bank switch the entire conventional address range of the processor. However, there must be no active ROM or RAM of any sort where you put an expanded memory page. Thus, you can't map EMS pages on top of anything that is already occupying address space in your machine (such as loaded MS-DOS or video/system ROM). On the 80286 processor, you should disable as much motherboard memory as possible (down to 256K) and let the expanded memory card supply that memory. This process is called backfilling. This doesn't mean that your computer will have only 256K--your programs still see a 640K machine. But because the expanded memory card is now supplying the memory, it can bank switch the memory. This capability is called "large page frame" EMS, and it allows programs to run executable code in expanded memory, a major improvement over LIM 3.2. The 80386 processor has a built-in ability to readdress any page of memory to any other location. This means you don't have to backfill on an 80386 to get large page frame LIM 4.0 functionality, nor do you need an expanded memory board. It's easy to convert your 80386s extended memory to expanded memory with an 80386 EMM such as Microsoft's EMM386.EXE. If you're using an expanded memory board on an 80386 machine, read your manual carefully before you backfill. Not all memory boards have the register support to supply more than four 16K pages (LIM 3.2). Though a memory driver may conform to the LIM 4.0 specification, that does not mean the hardware can provide more than four pages. Also, because Windows 3.1 supports extended memory directly, backfilling expanded memory will not give you any advantages, and the memory on the motherboard is often faster than memory on an expanded memory board. LIMulators ---------- Some programs, known as LIMulators, emulate expanded memory on 8088- and 80286-based machines using hard disk space and/or extended memory. These programs are not much of an advantage, because although they supply expanded memory, they are not hardware. They must locate a 64K EMS page frame in conventional memory and also take up space for the driver itself. LIMulators generally take close to 80K of conventional memory to run. Because conventional memory is the most precious memory on your machine, we do not recommend these types of programs. They are also typically extremely slow. On 80386 machines, it is possible to use a 386 expanded memory manager (such as EMM386 or Quarterdeck's QEMM) to emulate expanded memory. These LIMulators use the XMS rather than interrupt 15 memory to emulate expanded memory and are much more efficient than other types of LIMulators. Expanded Memory Difficulties ---------------------------- LIM 3.2 expanded memory requires a page frame to work, and the page frame is located within the 384K UMA of your machine. Unfortunately, your EMM is not the only competitor for that memory space. Add-on boards, such as network cards; 3270 emulation cards; RLL, SCSI, and ESDI disk controllers; and even high-resolution video cards, can contend for this address space. Several potential difficulties can arise due to this contention: 1. LACK OF SPACE. The major problem is simply finding at least 64K of contiguous free space in which to locate the LIM 3.2 page frame. LIM 4.0 does not require a 64K page frame but is almost useless without it, as very few applications have been written to take advantage of the LIM 4.0 specification. Frequently, the address areas of various adapter cards need to be shuffled to open a contiguous 64K page frame. Complicating this process are boards such as the IBM 3270, which have nonmovable addresses in most machines. 2. MAPPING CONFLICTS. Most 386 EMMs (such as EMM386.EXE and Windows 3.1 386 enhanced mode) use a search algorithm to find unused memory addresses between C000 and DFFF located in the 384K UMA to use as page frames. Some cards (adapters) do not reserve their address space until you access the card, so the memory manager can inadvertently map EMS pages on top of an address the card will request. This is often true of Token Ring network adapters and can cause hanging and intermittent operation. In case of problems, the first thing to do is disable expanded memory. This procedure will determine whether a page conflict is causing your difficulty. If the problem goes away without expanded memory, the memory manager must be told to exclude the address the adapter is occupying from consideration as a page location. Consult your memory managers documentation for information on how to exclude an address range. The adapter may also have to be moved; you do this in different ways with different memory managers. WINDOWS 3.X MODES AND MEMORY USAGE: HOW EACH MODE WORKS ======================================================= This section examines how standard and 386 enhanced mode Windows 3.x use the different types of memory we have discussed (conventional memory, the 384K UMA, extended memory, and expanded memory). NOTE: Real mode is not available in Windows 3.1. Real mode for Windows 3.0 was supplied mainly for compatibility with older Windows 2.x applications. Most, if not all, of these older applications have now been updated to work properly with Windows 3.x. Valuable development time was saved in not maintaining this outdated mode, time that was then spent improving the two remaining Windows modes. STANDARD MODE WINDOWS 3.1: BREAKING THE 640K BARRIER ON 286 MACHINES ================================================================= === Standard Mode and Conventional Memory ------------------------------------- When standard mode Windows 3.1 is started, it adds the amount of free conventional and extended memory and looks at the total amount as one contiguous block of memory. Conventional memory has no special meaning under standard mode, except when running MS-DOS applications. While standard mode Windows 3.1 has MS-DOS application sup-port, the MS-DOS application(s) must run within conventional memory. Standard Mode and the 384K Upper Memory Area (UMA) -------------------------------------------------- In standard mode, Windows 3.x does not directly access the 384K UMA. Still, if a physical expanded memory board is present (or if a 386 memory manager is providing expanded memory under Windows 3.1), the EMM will use areas of the 384K UMA in order to provide a LIM 3.2 page frame. If you suspect a 384K UMA conflict is causing a problem, temporarily remove the external EMM for testing. Standard Mode and Expanded Memory --------------------------------- Standard mode Windows 3.1 does not use expanded memory. MS-DOS applications running under standard mode can access expanded memory only if a physical expanded memory board, along with the appropriate memory manager, is present in the machine. Compatible 386 EMMs such as EMM386.EXE can be loaded to provide expanded memory outside Windows. However, 386 EMMs cannot be used to provide expanded memory to MS-DOS applications running in standard mode Windows. If possible, the 386 EMM will be disabled when standard mode loads. For more information on using expanded memory with standard mode see the "Expanded Memory for MS-DOS Applications" section of this application note. Standard Mode and Extended Memory --------------------------------- Windows 3.x standard mode can access extended memory directly. It adds free conventional memory and free extended memory. It then provides the total as memory for Windows applications to use (minus the memory required by standard mode Windows itself). Standard mode accesses extended memory through the XMS driver HIMEM.SYS. MS-DOS applications that use extended memory can also be run from standard mode Windows. 386 ENHANCED MODE WINDOWS 3.X: ENTERING THE WORLD OF VIRTUAL MEMORY ================================================================= == 386 Enhanced Mode and Conventional Memory ----------------------------------------- Windows 386 enhanced mode deals with conventional memory in much the same way that standard mode does. When 386 enhanced mode Windows 3.1 is started, it adds the amount of free conventional and extended memory; in addition, Windows 3.1 can use hard disk space as virtual memory (the "swap" file) and look at the total amount as one contiguous block of memory. Conventional memory has no special meaning under 386 enhanced mode, except when running MS-DOS applications. In 386 enhanced mode, MS-DOS applications run by creating virtual MS-DOS machines with up to 640K of free memory. Each virtual MS-DOS machine inherits the environment that was present before Windows 386 enhanced mode was started. This means that every driver and terminate-and-stay-resident (TSR) program loaded before you run Windows, as well as the environment, is present and consumes memory in every subsequent virtual MS-DOS machine. The net memory available within virtual MS-DOS machines under 386 enhanced mode is slightly less than the free memory at the MS-DOS prompt before you start Windows, due to the overhead of creating and managing a virtual machine. 386 Enhanced Mode and the 384K Upper Memory Area (UMA) ------------------------------------------------------ Windows versions prior to 3.0 used the 384K UMA only to place the expanded memory page frame, and then to a maximum of only four 16K pages. Windows 386 enhanced mode uses the 384K UMA for two purposes: 1. To place MS-DOS protected mode application programming interface (API) translation buffers. 2. To place the LIM 3.2 expanded memory page frame (if required). As noted earlier, there may be adapters, such as network cards, trying to use the 384K UMA as well. Frequently, all the free pages in this area are used by 386 enhanced mode. API Translation Buffers in the 384K Upper Memory Area (UMA) ----------------------------------------------------------- Although Windows 3.1 386 enhanced mode breaks the 640K barrier for Windows applications, it still runs on top of MS-DOS. The copy of MS- DOS upon which Windows is running can execute and access data only within conventional memory. The same restriction applies to network software or other drivers loaded before 386 enhanced mode Windows. 386 enhanced mode allocates buffers in the 384K UMA to translate MS-DOS and network API calls from protected mode to real mode. Since the 384K UMA is within the first megabyte of address space, it can be accessed by MS-DOS in real mode. The translation buffers are used as a window through which applications running in protected mode can pass information to and from MS-DOS and the network drivers. Ideally, there would be enough free space in the 384K UMA to place both the translation buffers and the expanded memory page frame. Yet on many configurations there isnt enough room, and on those systems you have to make a choice. Either the expanded memory page frame can be eliminated, or the translation buffers can be allocated in conventional memory instead of in the 384K UMA. If the translation buffers are allocated in conventional memory, they take up space in every virtual machine that you create from Windows, and you will have less space in which to run MS-DOS applications. The translation buffers can be allocated either in the 384K UMA or in conventional memory, but never half and half. Fortunately, Windows 386 enhanced mode provides a method for specifying your preference. To do this, place the following setting in the [386enh] section of the SYSTEM.IN file: ReservePageFrame=Boolean If ReservePageFrame=true (the default), 386 enhanced mode Windows allocates the page frame first and the translation buffers second. This makes it likely that the translation buffers will be forced into conventional memory, but allows you to use expanded memory in MS-DOS applications. If ReservePageFrame=false, the translation buffers are allocated first and the page frame second if there is still room. The ReservePageFrame=false provides the most free memory within virtual machines, although some MS-DOS applications may not be able to use expanded memory. Remember, however, that Windows applications do not need expanded memory to function; only MS-DOS applications that can use expanded memory will be affected. NOTE: If you are using the EMM386.EXE driver, translation buffers are always placed in conventional memory. Page Frame Placement in the 384K Upper Memory Area (UMA) -------------------------------------------------------- As noted in the expanded memory discussion earlier in this application note, expanded memory support requires a page frame located in the 384K UMA. With LIM 4.0 expanded memory, it is not necessary to have a 64K contiguous page frame in this area. In fact, it's not necessary to have a page frame at all in LIM 4.0. Still, if you want to use expanded memory in your MS-DOS applications, you must have a 64K contiguous page frame (composed of four contiguous 16K pages in the 384K UMA) because most applications are written to take advantage of LIM 3.2 expanded memory. On a typical IBM-compatible machine there are only 12 free 16K pages in the 384K UMA, and on some machines (such as IBM PS/2s) there are only 8. Four contiguous pages are required for expanded memory support in MS-DOS applications, leaving only eight other free pages. Other items such as network adapters and many hard disk controllers, also need to occupy pages in the 384K UMA. Frequently, the combination of installed adapters can break up the free area in the 384K UMA so there is no 64K contiguous area in which to place the page frame. In this case, you will not see any free expanded memory in your MS-DOS applications. If you experience this problem, you may need to rearrange your adapter memory locations to get expanded memory support for MS-DOS applications. This is easiest to do on machines using the Micro Channel Architecture (MCA) or Extended Industry Standard Architecture (EISA) bus standards. IBM PS/2 models 50 and above are equipped with the MCA bus. PS/2 machines allow you to change adapter memory locations simply by restarting with the PS/2 Reference Disk and choosing Change Configuration. A similar procedure is available on most EISA bus machines, such as the COMPAQ SYSTEMPRO and the HP Vectra 486. Normal Industry Standard Architecture (ISA) bus machines such as the IBM PC/AT and COMPAQ 386 may require you to open the case and flip DIP switches or move jumpers on the cards to change memory addresses; check your hardware manual for more information on changing memory addresses. You can entirely disable expanded memory support under Windows 386 enhanced mode by adding the NoEMMDriver=yes setting to the [386enh] section of the SYSTEM.INI file. Controlling 386 Enhanced Mode 384K Upper Memory Area (UMA) Mapping ----------------------------------------------------------------- - In versions of Windows prior to 3.0, the WIN.INI file settings EMMExclude= and EMMInclude= were used to control expanded memory page frame placement. These settings are used under Windows 386 enhanced mode to control not only the expanded memory page frame but also the API translation buffer mapping. Under Windows 3.x these settings begin with the letters "EMM" only for compatibility reasons; they no longer apply only to expanded memory. The EMMPageFrame= setting, however, still applies only to the expanded memory page frame. In Windows 3.x these three settings have been moved from the WIN.INI file to the [386enh] section of the SYSTEM.INI file. Earlier versions of Windows (2.x) do not use the E000-EFFF range of the 384K UMA unless specifically instructed to do so. Windows 386 enhanced mode will use this segment unless the machine identifies itself as a PS/2. To explicitly exclude an area of the 384K UMA from mapping by Windows 386 enhanced mode, use the EMMExclude= setting. The EMMExclude= setting accepts a four-digit hexadecimal memory range, such as EMMExclude=E000-EFFF. Since there is no standard for hardware implementation of the E000-EFFF area, it is frequently necessary to exclude this range in order for 386 enhanced mode to function properly. Most adapter cards are automatically detected and excluded by Windows 386 enhanced mode. If you suspect a problem with a 384K UMA memory conflict, use the EMMExclude= setting. NOTE: If you suspect that your machine has multiple adapter mapping conflicts, it may be useful to exclude the entire UMA (A000-EFFF) for testing purposes. There are very few uses for the EMMInclude= setting. Normally Windows 3.1 386 enhanced mode automatically uses all free pages in the 384K UMA. Likewise, there are few uses for the EMMPageFrame= setting because it controls only the expanded memory page frame and not the translation buffers. 386 Enhanced Mode and Expanded Memory ------------------------------------- Windows 386 enhanced mode does not use expanded memory itself. It can, however, create expanded memory for use by MS-DOS applications written to use expanded memory, such as Lotus 1-2-3 versions 2.x. Expanded memory required by an MS-DOS application can be specified in the applications program information file (PIF). It is no longer necessary for Windows applications to use expanded memory because they can now access extended memory directly. Thus, the main issues for expanded memory under Windows 3.1 are page frame conflicts, as discussed above. Windows 386 enhanced mode provides large page frame LIM 4.0 expanded memory in all virtual MS-DOS machines. Although this feature is not currently useful for most MS-DOS applications that use expanded memory- -they use only the LIM 3.2 64K page frame itself, not the additional bankable pages in conventional memory that large page frame LIM 4.0 supplies--it may be useful in the future. A compatible external 386 memory manager such as EMM386.EXE can be loaded to provide expanded memory for MS-DOS applications running outside Windows 386 enhanced mode. Such a memory manager is not needed for expanded memory to be available inside Windows 3.x, and is actually turned off when Windows 386 enhanced mode is run. See the "Expanded Memory for MS-DOS Applications" section of this application note for more information. 386 Enhanced Mode and Extended Memory ------------------------------------- Like standard mode, Windows 386 enhanced mode can directly access extended memory. It adds free conventional memory and free extended memory plus virtual hard drive memory (the "swap" file). It then provides the total as memory for Windows applications to use (minus the memory required by 386 enhanced mode Windows itself). MS-DOS applications that use extended memory can also access extended memory in virtual machines under 386 enhanced mode Windows. The extended memory supplied to MS-DOS applications by Windows 3.1 386 enhanced mode can be virtualized. Running Protected Mode MS-DOS Applications ------------------------------------------ Windows 386 enhanced mode allows MS-DOS applications to run in protected mode if they are written to use the DPMI specification. Windows 386 enhanced mode uses the XMS driver to load itself and its drivers into extended memory before starting up. This is why 386 enhanced mode requires the presence of HIMEM.SYS or another compatible XMS device driver. 386 Enhanced Mode and Virtual Memory: A Virtual Memory Conceptual Analysis ------------------------------------- Virtual memory allows you to simultaneously run more programs than the amount of physical memory installed on your computer would normally allow. Virtual memory has been widely used for years in the world of mainframe computers. Windows 386 enhanced mode offers virtual memory to the PC-compatible world by using the special demand paging capabilities of the Intel 80386 processor. All Windows programs can take advantage of virtual memory in Windows 386 enhanced mode. When you start Windows 386 enhanced mode, choose About Program Manager from the Help menu. You will see that much more memory is available than is installed on your machine. Windows applications can use this extra memory without being written specially for it because Windows applications are device independent; they let Windows handle the memory management and simply ask Windows for memory allocations. With virtual memory, Windows applications keep asking for more memory, which Windows 386 enhanced mode is now able to deliver. If you have less physical memory and are forced to rely on virtual memory, the application runs more slowly; if you have more physical memory, it runs more quickly--in either case, it is almost always able to run. While a program is running in virtual memory, at any given moment some parts of its code and data are in physical memory while the rest of the program is swapped to the hard disk. When a reference is made to a memory address, if the information is in physical memory, the information is used without program interruption. However, if the desired information is not in physical memory, a page fault occurs, and the Windows 386 enhanced mode virtual memory manager (VMM) takes control. The required code or data is pulled into physical memory from the hard disk, and if necessary, some other information is swapped out. Pages are swapped out on a least recently used (LRU) basis. The pages that have not been accessed for the longest time are the first to be swapped out. All this swapping is invisible to the user, who sees only a little hard disk activity. Windows 386 enhanced mode virtual memory brings pages of data into physical memory when they are referenced: this is called a demand- paged system. This system does not attempt to predict which pages will be required in the future. The 386 enhanced mode virtual memory subsystem is implemented by the Windows 3.x VMM and the page swap device. The VMM maintains the virtual memory page table; it lists which pages are currently in physical memory and which are swapped to disk. Because Windows 386 enhanced mode is a multitasking environment, the VMM page table also contains a list of which memory pages belong to which process. When the VMM needs a page that is not currently in physical memory, it calls the page swap device. The page swap device allocates and deallocates virtual memory and maps pages into and out of physical memory. Some virtual memory systems rely on program segmentation to do their work. Windows applications are segmented; however, virtual memory under Windows 386 enhanced mode is not related to the segmentation of Windows applications. All memory, virtual and physical, is divided into 4K pages, and the system is managed on this basis. Page mapping starts at zero K and works up. Two kinds of pages can be allocated: physical pages and virtual pages. The number of physical pages is simply the amount of physical memory in the machine divided by 4K. In contrast, memory allocated to an application is made up of virtual pages. At any given time, a virtual page can be in physical memory or swapped to the hard disk. As mentioned earlier, Windows 386 enhanced mode virtual memory management uses the LRU page-replacement algorithm. The virtual page table contains flags for each page that indicate whether the page has been "accessed" and if the page is "dirty." Accessed means that a process made a reference to the page after it was originally loaded. Dirty means that a write was made to the page after it was loaded. Because a memory write qualifies as an access, the dirty attribute implies the accessed attribute. To illustrate, assume Windows 386 enhanced mode is out of physical memory space. A process requests additional memory. Windows has to decide which pages currently in physical memory it should swap to disk to fulfill the request. This decision is a three-step process: 1. The VMM scans the page table, looking for pages that have neither an accessed nor a dirty attribute. During the scanning process, the VMM clears the accessed attribute from all the pages. 2. If the VMM can find enough pages meeting the not accessed/not dirty requirement, it fulfills the request. It swaps the pages to disk and gives the resulting free memory to the process. 3. If the VMM can't find enough pages the first time through, it repeats the scan. However, this time through, none of the pages has an accessed attribute, because it was cleared by the first scan. Theoretically, therefore, more pages will meet the requirements, and the request can be fulfilled. If the required pages are still not found by the second scan, Windows then swaps out the pages regardless of their attributes. The benefit of Windows 386 enhanced mode virtual memory support is the ability to run more programs than can be supported by actual physical memory. The drawbacks are the disk space requirement for the virtual memory swap file and a decrease in overall execution speed when swapping is required. However, it's better to be able to run a program slowly in a virtual memory system than not to be able to run it at all. Virtual Memory Paging File Options and Controls ----------------------------------------------- Windows 386 enhanced mode can use one of two types of virtual memory paging files, or swap files: temporary or permanent. Only one type of swap file can be used at a time when running Windows 3.1. Do not attempt to create a swap file on a RAM disk; this is a self-defeating pursuit--you would be sacrificing physical memory to provide a place to create virtual memory to replace the physical memory you have used to create the RAM disk. Windows 3.0 in 386 enhanced mode requires a minimum of approximately 1.5 MB of hard disk space free on the paging drive to provide virtual memory support with a temporary swap file. With Windows 3.1, that number is down to 512K. A temporary swap file is simply a normal MS-DOS file created on the hard disk that can shrink and grow in size as necessary. The temporary swap file is called WIN386.SWP, and it is created automatically when Windows 3.x is started. The swap file does not have a hidden or system attribute and can be deleted, if necessary, any time you are not running Windows, although it is normally deleted automatically when you exit Windows 386 enhanced mode. Temporary swap file location and size can be adjusted by inserting parameters in the [386enh] section of the SYSTEM.INI file. In Windows 3.0, the temporary swap file is always created in your Windows 3.0 directory unless you set the PagingDrive= setting. If the PagingDrive= setting is set (for example, PagingDrive=D:), the swap file will be created in the root directory of the specified drive. There is no way to specify a subdirectory for the temporary swap file location in Windows 3.0. In Windows 3.1, the drive and subdirectory of the temporary swap file may be specified with the PagingFile= setting. Temporary swap file size is controlled by the MaxPagingFileSize= setting. The size of the temporary swap file can also be limited in a different way by the use of the MinUserDiskSpace= setting, which tells 386 enhanced mode to leave the specified amount of disk space in kilobytes free when creating a temporary swap file. A permanent swap file occupies a contiguous section of your hard disk. Using a permanent swap file improves the speed of the Windows 3.x virtual memory system because there are fewer processor mode transitions and the swap file's access requires less overhead than a normal MS-DOS file. The permanent swap file is a hidden file called 386SPART.PAR, which also has a system attribute; the file is always placed in the root directory of the specified drive. Since the permanent swap file must be contiguous, you can't create one larger than the largest contiguous free segment of your hard disk. Permanent swap files are created and deleted by running SWAPFILE.EXE in Windows 3.0 real mode, or from the Windows 3.1 Control Panel by choosing the 386 Enhanced icon and then choosing the Virtual Memory button. A SYSTEM.INI file setting is not used to point to the location of the permanent swap file. Instead, when the permanent swap file is created, Windows creates a file called SPART.PAR in your Windows 3.x directory. Windows 386 enhanced mode reads the SPART.PAR file to find out where the permanent swap file is and how large it is. SPART.PAR is marked read-only to keep you from accidentally deleting it. If you delete SPART.PAR, Windows will not know about the permanent swap file and won't be able to make use of it. Because SWAPFILE.EXE and the Virtual Memory utility both read SPART.PAR, they cannot be used to delete the permanent swap file if SPART.PAR is deleted. If Control Panel (or SWAPFILE.EXE with Windows 3.0) says that the maximum swap file size it can create is smaller than your free disk space, your hard disk is fragmented. If you want to create a larger permanent swap file than Control Panel (or SWAPFILE.EXE) reports possible, you must optimize your hard disk (optimizing is also known as unfragmenting, or compacting). Optimizing must be done with a third-party utility program such as Bridgeway Publishing FastTrax, Norton Utilities, Mace Utilities, Golden Bow VOpt, or Central Point PC Tools. It is important to run these programs outside the Microsoft Windows environment. If you have already created a permanent swap file, make sure you delete it using Control Panel before optimizing your hard disk. It is not necessary to delete the permanent swap file every time you optimize your hard disk--only when you want to increase the size of the permanent swap file by optimizing, then re-creating it. The Virtual Memory utility supports only disks that use 512-byte sectors for the swap file. If 512-byte sectors are not being used, this indicates a non-standard configuration such as a third-party disk partitioning driver. The Virtual Memory utility (and Windows 3.x itself) supports drives with 512-byte sectors that have been partitioned with the MS-DOS fdisk command. (NOTE: Certain OEM versions of MS-DOS have altered versions of fdisk that will partition drives using sector sizes other than 512 bytes.) Never run the Virtual Memory utility on a drive that uses a partitioning driver in the CONFIG.SYS file, with the exception of Compaqs ENHDISK.SYS. If you receive a message that your swap file is corrupted, use Control Panel (or SWAPFILE.EXE in Windows 3.0) to delete the corrupted swap file and create a new one. Paging to Network Drives ------------------------ Paging to a network drive, while certainly possible, is extremely slow and is not recommended. Only temporary swap files can be used on network drives. If you want to page to a network drive, the directory must not have an MS-DOS read-only attribute; you must have create and write access to the directory. NOTE: Because the root of a Novell network drive is the root of the server, it is not MSNet-Redirector compatible. Do not set the PagingDrive= setting to a Novell network drive. If you do so and multiple users run Windows 3.1 386 enhanced mode, their computers will hang because they will overwrite each others swap files, all with the same name and all created in the root directory of the server. WIN.COM AUTOMATIC STARTUP PARAMETERS ==================================== WIN.COM starts up automatically in the appropriate operating mode for your machine and the amount of memory installed. Operating modes are real mode (similar to Windows/286 2.x), which is only available in Windows 3.0; 286 standard mode (also known as 286 protected mode); and 386 enhanced mode (also known as 386 protected mode). However, Windows may be forced into any of the modes through the following command-line switches (provided the mode is supported by your hardware): Command Line Mode ----------------------------------------------- win /r Real (Windows 3.0 only) win /s or win /2 Standard win /3 386 enhanced Real Mode Requirements ---------------------- The requirements for WIN.COM to automatically start up in real mode are the following: - Windows 3.0 - 8088 processor or above - 384K of free conventional memory (393,216 bytes reported by chkdsk)Standard Mode Requirements The requirements for WIN.COM to automatically start up in standard mode are the following: - 80286 processor or above - 192K of free extended memory - XMS driver loaded (HIMEM.SYS) Practical Standard Mode Requirements ------------------------------------ Standard mode conventional/extended memory requirements are mutually dependent and are not fixed. A typical installation requires a minimum of 128K of memory free at the MS-DOS prompt to run standard mode, assuming sufficient extended memory is free. Standard mode requires between 384K and 512K of combined conventional and extended memory to run (approximately). For example, if only the minimum 192K of extended memory is free, approximately 322K of conventional memory is required to run standard mode. However, if available extended memory is increased to approximately 208K or greater, only 128K of conventional memory is required. 386 Enhanced Mode Requirements ------------------------------ The requirements for WIN.COM to automatically start up in 386 enhanced mode are the following: - 80386 processor or above - 1024K of free extended memory - XMS driver loaded (HIMEM.SYS) Practical 386 Enhanced Mode Requirements ---------------------------------------- See the above notes for standard mode regarding the interrelationship of conventional and extended memory requirements. A typical installation requires a minimum of 182K of memory free at the MS-DOS prompt to run 386 enhanced mode, assuming sufficient extended memory is free. Windows 386 enhanced mode requires between 580K and 624K combined conventional and extended memory to run (approximately). NOTE: 386 enhanced mode can start up in low memory situations because it provides virtual memory support; however, it may be extremely slow due to the large amount of disk swapping it must perform. All numbers are approximate and may vary widely depending on the configuration (for example, Windows device drivers chosen, MS-DOS version, display adapter, and so on). 128K of extended memory is recovered from shadow RAM usage on COMPAQ 386 machines. Memory requirements take into account memory that can be recovered from SMARTDrive (down to the minimum cache size specified). THE FREE SYSTEM RESOURCES PERCENTAGE ==================================== The Program Manager and File Manager About boxes in the Help menus of Windows 3.1's standard and 386 enhanced modes give percentage figures for free system resources and free memory. In Windows 3.0, these figures can be obtained from the About box of the Program Manager Help menu. To understand what the free system resources percentage means, you must understand some of the anatomy of Windows's internal structure. The part of Windows that runs Windows applications is made up of three main segments called KERNEL, GDI (graphics device interface), and USER. KERNEL loads and runs Windows applications and handles their memory management. GDI manages graphics and printing. USER controls user input and output, including the keyboard, mouse, sound driver, timer, and communications ports. These three segments exist as separate .EXE files and are located in the WINDOWS\SYSTEM subdirectory. GDI has a storage area limited to 64K, which is known as a local heap. Currently, USER has two such areas, hence 128K storage. The free system resources percentage reflects the remaining free percentage of USER or GDI local heap space, whichever is lower. Although Windows 3.1 allows you to run a much larger number of simultaneous Windows applications than any previous Windows version, like Windows 3.0, it is not without limitations. If you receive an "Out of memory" error and the Help About box shows a large amount of free memory, look at the free system resources percentage. Chances are you are low on system resources. Every window and icon that is created requires USER local heap space. It is theoretically possible to exhaust the system resources with only one application, such as Program Manager, if enough objects are created by the application. Another important aspect of Windows application memory management that is not included in the free system resources percentage is the number of selectors. A selector is a memory pointer that is consumed with each memory allocation made by a Windows application. Windows 3.1 has a fixed number of selectors (4096 in standard mode, 8192 in 386 enhanced mode). If a Windows application allocates a very large number of small data objects, it is possible to run out of selectors. This will also produce an "Out of memory" error message. Writing a Windows application to handle its own data objects more efficiently can help in this situation. If you experience a chronic problem with a particular application while few or no other applications are loaded, contact the application vendor. It is important that the vendor become aware of the problem so it can be corrected if possible. Writing an application to handle data objects more efficiently can help reduce "Out of memory" conditions. 386 ENHANCED MODE PERFORMANCE TIPS: GETTING THE MOST FROM YOUR MACHINE ================================================================= ===== The following suggestions should assist you in maximizing the performance of your Windows 386 enhanced mode installation. Many of these suggestions apply to standard and real modes as well. 1. USE SMARTDRIVE. The Microsoft SMARTDrive disk caching driver can produce the largest single Windows 3.1 performance improvement. Use SMARTDrive whenever possible. For basic information on SMARTDrive installation and operation, refer to the "Microsoft Windows Users Guide" version 3.1 manual. 2. KEEP YOUR HARD DISK OPTIMIZED. A fragmented hard disk greatly impacts Windows's performance, especially when a temporary swap file and/or SMARTDrive is installed. Use a hard disk optimizer program on a weekly basis to keep your disk contiguous. 3. CREATE A PERMANENT SWAP FILE. Using a permanent swap file improves performance over using a temporary one. Under Windows 3.1, if supported by your hardware, also select the Use 32-Bit Disk Access check box in Control Panel by choosing the 386 Enhanced icon, choosing the Virtual Memory button, then choosing the Change button. See "386 Enhanced Mode and Virtual Memory" section of this application note for more information on permanent swap file allocation. 4. TURN OFF GRAPHICS PORT TRAPPING. The speed of MS-DOS applications running under 386 enhanced mode can be noticeably improved by not selecting any of the Monitor Ports options in the Advanced section of the PIF Editor. The High Graphics option provides the widest range of MS-DOS application compatibility but is not required for most applications. 5. TURN OFF THE FILESYSCHANGE= SETTING. Windows 3.1 386 enhanced mode can monitor disk access by MS-DOS applications and send directory update messages to File Manager. This allows File Manager to be automatically updated by changes MS-DOS applications have made to files or directories. However, this option is not a necessity, and leaving it off (the default) speeds file access by MS-DOS applications. To disable this feature, set FileSysChange=no in the [386enh] section of the SYSTEM.INI file. 6. TURN OFF THE RESERVEPAGEFRAME= SETTING. Turn this setting off if you do not require expanded memory support for MS-DOS applications. Turning this option off ensures that you're getting the most possible memory in virtual MS-DOS machines. To disable this feature, set ReservePageFrame=no in the [386enh] section of the SYSTEM.INI file. 7. USE THE RIGHT NUMBER OF MS-DOS BUFFERS. If you are using SMARTDrive, set the number of MS-DOS disk access buffers in your CONFIG.SYS file to 15 (that is, BUFFERS=15). Using a greater number of buffers with SMARTDrive will actually decrease efficiency. If you are not using SMARTDrive, use BUFFERS=30. 8. USE THE LOWEST COMMON DISPLAY DRIVER. Using a display driver with a high resolution or large number of colors results in slower display performance. If you do not require the extra features of the display driver, use a driver with less capability. Usually this suggestion applies to display systems that are VGA compatible but offer an extended mode driver, such as the Video Seven or 8514. Using the standard VGA driver instead offers faster display performance but less resolution and/or color support. 9. USE THE PROPER HARD DISK INTERLEAVE. Frequently, a hard disk is formatted with the wrong interleave at the dealer or factory. You can use a program such as Gibson Research's SpinRite or Central Point's DiskFix to verify that you are using the proper interleave. Some programs can correct your interleave without reformatting the hard disk. 10. ENABLE 32-BIT DISK ACCESS. 32-Bit Disk Access is a method for accessing the hard disk with fewer changes in the processor mode. Windows can do this by using a device driver that traps interrupt 13 calls and handles them itself. To take advantage of this feature of Windows 3.1, you need to have a Western Digital WD-1003 or compatible hard disk controller. NOTE: To enable 32-Bit Disk Access in Windows 3.1, choose the 386 Enhanced icon in Control Panel. Choose the Virtual Memory button, then choose the Change button and create a permanent swap file. When you do this, select the 32-Bit Disk Access check box. EXPANDED MEMORY FOR MS-DOS APPLICATIONS ======================================= Under Real Mode Windows 3.0 --------------------------- Real mode Windows 3.0 and MS-DOS applications can both use the same external expanded memory manager (EMM). Expanded memory can be provided either by a physical expanded memory board, or by a 386 EMM. Common expanded memory boards include the AST RAMpage! and Intel Above Board. Common 386 EMMs include Microsoft's EMM386.SYS (included with Windows), Compaq's CEMM.EXE (included with COMPAQ 386 machines), Qualitas's 386 to the Max (386MAX.SYS), and Quarterdeck's QEMM.SYS. If a physical expanded memory board is used, you will get the best performance from real mode Windows by backfilling to provide large page frame LIM 4.0 support. Some boards do not have the hardware register support to provide large page frame LIM 4.0--only small page frame (see "Expanded Memory" section of this application note). All 386 EMMs provide large page frame LIM 4.0 support. Remember that MS-DOS applications require LIM 3.2 (a 64K contiguous page frame) to use expanded memory, but real mode Windows requires LIM 4.0 (does not require a 64K contiguous page frame). If you see expanded memory in Windows but not in your MS-DOS applications, you probably do not have a 64K contiguous page frame (LIM 3.2), and you may need to rearrange adapter locations. For more information, see "Expanded Memory" section of this application note. Under Standard Mode Windows 3.x ------------------------------- As noted in the "Standard Mode and Conventional Memory" section of this application note, Windows 3.x standard mode does not use expanded memory. MS-DOS applications running under standard mode can use expanded memory only with a physical expanded memory board such as an AST RAMpage! or Intel Above Board. You cannot use 386 EMMs to provide expanded memory support for MS-DOS applications running under standard mode. Still, 386-compatible EMMs can be loaded to provide MS-DOS- application expanded memory support outside standard mode in Windows 3.1. Such EMMs cannot be used in conjunction with standard mode Windows 3.0. Under 386 Enhanced Mode Windows 3.x ----------------------------------- Expanded memory emulation is provided internally for MS-DOS applications running under 386 enhanced mode. The only requirement is the presence of a 64K contiguous page frame for LIM 3.2 compatibility. For more information on page frame placement, see the "386 Enhanced Mode and the 384K Upper Memory Area (UMA)" section of this application note. Expanded memory for MS-DOS applications can be allocated and/or limited through PIF settings. External 386 Expanded Memory Managers ------------------------------------- Some 386 EMMs have a special feature that allows standard or 386 enhanced mode Windows to turn them off when Windows is run. Memory managers with this capability are EMM386.EXE and CEMM.EXE. Windows can turn off EMM386.EXE even if expanded memory is in use at the time. CEMM.EXE requires that no expanded memory be in use when standard or 386 enhanced mode Windows is run. Some 386 EMMs provide the capability of loading MS-DOS device drivers into free areas of the 384K UMA. CEMM.EXE does not provide this capability, but the combination of MS-DOS 5.0 and EMM386.EXE, or 386MAX.SYS and QEMM386.SYS does. DPMI AND VCPI ============= Specifications for Different Purposes ------------------------------------- The MS-DOS Protected Mode Interface (DPMI) was developed by a group of industry leaders including Borland, Eclipse, IBM, IGC, Intel, Locus, Lotus, Microsoft, Phar Lap, Quarterdeck, and Rational Systems. Several members of the DPMI committee were also involved in the creation of the Virtual Control Program Interface (VCPI). DPMI is primarily a creation of Microsoft, and VCPI was formulated primarily by Phar Lap Software. MS-DOS Extended Applications ---------------------------- MS-DOS extended applications execute code in the protected mode of the 80286 or 80386 processor. Unlike OS/2 applications, MS-DOS extended applications are launched from standard MS-DOS. Creating an MS-DOS extended application requires a method to switch the processor to protected mode and to allocate extended memory. Until DPMI, there was no standard method for MS-DOS extended applications to perform these tasks and multitask memory with other applications on 80286 processors. Hundreds of existing applications have been created using various types of MS-DOS extenders. OS/2 extender applications that do not already support DPMI will require minor modifications to do so. Comparing VCPI to DPMI ---------------------- VCPI and DPMI solve two different problems. VCPI provides an interface between applications using MS-DOS extenders on an 80386 machine and 386 EMMs. For example, the 386 EMMs (EMM386.EXE, QEMM.EXE, 386MAX.EXE, and CEMM.EXE) support the VCPI specification. VCPI allows applications using MS-DOS extenders to run simultaneously with 386 EMMs on a 386 machine. However, multitasking operating environments such as Windows 386 enhanced mode, OS/2, UNIX 386, and VM386 have memory and protection models that are not compatible with the VCPI interface. DPMI was created so these environments can run extended MS-DOS applications. Additionally, DPMI provides support for 80286-based machines, while VCPI does not. DPMI has the capability of running MS-DOS extended applications on a variety of processors and operating environments. GLOSSARY ======== 386 Expanded Memory Manager (EMM) --------------------------------- A device driver loaded that provides expanded memory on an 80386-based computer without a physical expanded memory board. 386 expanded memory managers (EMMs) operate through the 80386 processors hardware capabilities. 386MAX.SYS ---------- A 386 expanded memory manager (EMM) from Qualitas Corporation. CEMM.EXE -------- A 386 EMM from Compaq. CEMM is provided with all Compaq 386-based computers. It has an extension of .EXE rather than .SYS, even though it is installed in the CONFIG.SYS file like other 386 EMMs. Conventional Memory ------------------- The memory in your machine from zero K to 640K. DPMI ---- The MS-DOS Protected Mode Interface (MS-DOS extender industry standard). Applications that use the DPMI specification can run in protected mode and break the 640K barrier under standard or 386 enhanced mode. The DPMI specification is available from Intel Corporation. EMM386.EXE ---------- The Microsoft 386 expanded memory manager (EMM). See the "Microsoft Windows 3.1 Users Guide" for more information. EMM --- Expanded memory manager. EMS --- Expanded Memory Specification. Expanded Memory Specification (EMS) ----------------------------------- There are two expanded memory specifications, which are designated LIM 3.2 and LIM 4.0. Expanded Memory Manager (EMM) ----------------------------- A device driver that provides an interface to expanded memory. An expanded memory manager, or EMM, is either specific to a particular physical expanded memory board, or uses the 386 processor. Extended Memory --------------- Memory in your machine above 1 MB. Extended memory always starts at 1024K. Extended Memory Specification (XMS) ----------------------------------- The XMS provides a standard way for real mode applications to access extended memory. MS-DOS applications running under Windows 3.x can use the XMS to access extended memory. The XMS document and sample source code is available from Microsoft Sales Information Center (MSIC) at (800) 426-9400; international callers should call (206) 936-8661. HIMEM.SYS --------- Microsoft's high memory manager. Manages extended memory in accordance with the Extended Memory Specification (XMS). Large Page Frame ---------------- A slang term denoting the presence of bankable expanded memory pages in conventional memory. Large page frame is usually used to refer to a number of bankable pages equal to or greater than 384K (that is, bankable pages ranging from 256K to 640K). Note that the term "large page frame" is a misnomer. The page frame is actually never any larger than four 16K pages and is always located in the 384K UMA. Additional bankable pages in conventional memory do not make the page frame larger; they simply provide additional bankable pages. LIM 3.2 ------- The Lotus/Intel/Microsoft Expanded Memory Specification (EMS) version 3.2. It provides for a maximum of four 16K bankable pages that must be contiguous. LIM 4.0 ------- The Lotus/Intel/Microsoft Expanded Memory Specification (EMS) version 4.0. It provides for a maximum of 64 16K bankable pages that do not have to be contiguous. Page Frame ---------- An area within the 384K upper memory area (UMA) that is designated the expanded memory page frame. The page frame itself can be a maximum of four 16K pages. QEMM386.SYS ----------- A 386 expanded memory manager (EMM) by Quarterdeck Office Systems. Small Page Frame ---------------- A slang term denoting the presence of expanded memory that does not place bankable pages within conventional memory. UMA --- Upper memory area. Upper Memory Area (UMA) ----------------------- The area between 640K and 1024K present on all IBM-compatible machines. Sometimes called the reserved address space because this area was originally reserved by IBM for the ROM BIOS, video memory, and other hardware functions. VCPI ---- Virtual Control Program Interface. An 80386 memory management standard created by Phar Lap Software in conjunction with other software developers. VM -- Virtual (8086) machine. The VM exists in a protected memory space created through the hardware capabilities of the 80386 processor. Virtual Memory -------------- The space on a hard drive partition that 386 enhanced mode Windows can address as physical memory. Often referred to as the (temporary or permanent) "swap" file. VMM --- Virtual memory manager. Virtual Memory Manager (VMM) ---------------------------- Manages the disk space used as virtual memory. XMS --- Extended Memory Specification. TO OBTAIN THIS APPLICATION NOTE =============================== - On CompuServe, GEnie, and Microsoft OnLine, Application Notes are located in the Microsoft Software Library. You can find WW0335 in the Software Library by searching on the word WW0335, the Q number of this article, or S12782. WW0335 was archived using the PKware file-compression utility. - Application Notes are available by modem from the Microsoft Download Service (MSDL), which you can reach by calling (206) 936-6735. This service is available 24 hours a day, 7 days a week. The highest download speed available is 14,400 bits per second (bps). For more information about using the MSDL, call (800) 936-4200 and follow the prompts. To obtain WW0335, download WW0335.EXE. WW0335.EXE is a compressed, self-extracting file. After you download WW0335, run it to extract the file(s) it contains. - On the Internet, Application Notes are located on the Microsoft anonymous ftp server, which you can reach by typing "ftp ftp.microsoft.com" (without the quotation marks) at the ">" command prompt. - If you are unable to access the source(s) listed above, you can have this Application Note mailed or faxed to you by calling Microsoft Product Support Services Monday through Friday, 6:00 A.M. to 6:00 P.M. Pacific time at (206) 637-7098. If you are outside the United States, contact the Microsoft subsidiary for your area. To locate your subsidiary, call Microsoft International Customer Service at (206) 936-8661. KBCategory: kbfile kbenv kbhw kbappnote KBSubcategory: win30 win31 winmem Additional reference words: appnote 3.00 3.0 3.0a 3.00a 3.10 Win_Compuserve How to Rebuild the Default Windows REG.DAT File Article ID: Q80393 ---------------------------------------------------------------- ------ The information in this article applies to: - Microsoft Windows operating system versions 3.1, 3.11 - Microsoft Windows for Workgroups versions 3.1, 3.11 ---------------------------------------------------------------- ------ SUMMARY ======= During installation of Microsoft Windows, the REG.DAT file is not copied from the original distribution disks. Instead, REG.DAT is built using the Windows Registration Information Editor (REGEDIT.EXE) and the SETUP.REG file (located in the Windows SYSTEM subdirectory) during Setup. If the REG.DAT file is corrupted, one of the following error messages may be displayed: File Manager cannot open or print the specified file. Start the application used to create this file, and open or print it from there. -or- There is no application associated with this file. Choose Associate from the File menu to create an association. -or- There is a problem with REG.DAT. Delete REG.DAT and restart Windows. -or- Setup had a problem with REG.DAT, SHELL.DLL or disk space. -or- Windows registration database program is not valid -or- OLE server initialization failed -or- Windows registration database is not valid If, for whatever reason, the REG.DAT file is corrupted or deleted, you can rebuild the file using the information below. MORE INFORMATION ================ The REG.DAT file contains information about file associations and OLE objects. The Windows 3.1 Setup program calls the Registration Information Editor to add default associations (for Paintbrush, Notepad, and so on) and objects (Packager, Paintbrush, and Sound Recorder). Rebuilding the REG.DAT File for Applications Included with Windows ----------------------------------------------------------------- - You can manually create a new REG.DAT file or restore the defaults by following the steps below. NOTES ----- - Be sure to rename your existing REG.DAT file before you try to rebuild it. - These steps assume your Windows directory is on drive C and is named WINDOWS. 1. Run Program Manager or File Manager. 2. From the File menu, choose Run. 3. In the dialog box, type the following: regedit /u c:\windows\system\setup.reg 4. Choose OK. 5. In File Manager, select the REG.DAT file found in the Windows program directory, then choose Associate from the File menu and associate REG with REGEDIT.EXE. NOTE: When you removed the old REG.DAT file, you also removed your file associations list; therefore, you must choose REGEDIT.EXE using the Browse button. 6. Exit and restart Windows. The Registration Information Editor displays a dialog box letting you know whether the items were successfully added to the REG.DAT file. Rebuilding the REG.DAT File for Other Applications -------------------------------------------------- For applications other than the Windows-based programs included with Windows 3.1, the technique varies for rebuilding REG.DAT. Some applications, such as Microsoft Word for Windows 2.0, rebuild their entries every time the application is started. Other applications may register themselves only during their setup processes. NOTE: If you are using Word 2.0 for Windows, make sure to include the path to the Word for Windows program directory and the WW20.REG file located there (for example, C:\WINWORD\WW20.REG) so that the registration database is updated. If the application includes an .REG file, you can add that information to the registration database. To do so, either: - Choose Merge Registration File from the File menu in the Registration Information Editor. Then select the .REG file for the application to be added to the database and choose OK. -or- - Use the same steps described above, substituting the name of the .REG file. Otherwise, consult the application's documentation or contact your vendor for more information about rebuilding the REG.DAT file. -or- - Run Windows File Manager and double-click the application's .REG file. If you need to rebuild the registration database for all your applications, use the following steps: 1. From the File menu in File Manager, choose Search. 2. Search for *.REG from C:\. Ensure that the Search All Subdirectories check box is selected before you choose OK. 3. Run SETUP.REG by double-clicking the file icon or by highlighting it and then pressing ENTER. 4. Run every other .REG file brought up by the File Manager search (just as you did in step 3). For instructions on registering Microsoft Office version 4.x applications, query on the following words in the Microsoft Knowledge Base: ole and regedit and office Additional information about Registration Information Editor is available in Windows 3.1 Help. REFERENCES ========== "Microsoft Windows Resource Kit for Operating System Version 3.1," Chapter 11, page 360 KBCategory: kbsetup kbsound kbole KBSubcategory: win31 wfw wfwg Additional reference words: gpf 3.1 3.10 KBOLE win31 howto reg.dat 3.11 Microsoft Access 2.0 setup WinWord word for windows 6 6.0 Lotus 1-2-3 registry or Finding Files, Q126005. If you modify or delete these articles, Windows Driver Library Information Article ID: Q82006 ---------------------------------------------------------------- ------ The information in this article applies to: - Microsoft Windows operating system version 3.1 ---------------------------------------------------------------- ------ SUMMARY ======= Microsoft has made available the Windows Driver Library (WDL). The WDL offers support for many printers, displays, sound cards, and network card adapters not provided with Windows 3.1. If you have a modem, the drivers are available at no charge on CompuServe, GEnie, Microsoft OnLine, and the Microsoft Download Service (MSDL). However, note that standard connect-time fees and long-distance telephone charges, if any, will still apply during downloading. When you connect to any of these services, please read the WDL.TXT file for downloading instructions and a complete list of devices supported in the WDL. The phone number for the MSDL is (206) 936-MSDL (6735). There is no connect-time charge for using this service. On CompuServe, the WDL is in the Microsoft Software Library, which can be reached by typing "go msl" (without quotation marks) at the system prompt. (To find WDL.TXT, search on S13354.) On the GEnie and Microsoft OnLine systems, the WDL is in the Microsoft Software Library. (To find WDL.TXT, search on S13354.) If you do not have a modem, you can obtain an individual WDL driver on disk by calling Microsoft Product Support Services at (206) 637-7098. Below is the complete text of the WDL.TXT file that is distributed with the WDL. For a list of the changes to the WDL drivers, query on "Q84151" in the Microsoft Knowledge Base. MORE INFORMATION ================ Introduction ------------ The Microsoft Windows Driver Library (WDL) contains device drivers for printers, displays, audio devices, and network card adapters. These drivers enable these devices to run with Microsoft Windows operating system version 3.1. This library also contains a few additional items, such as Access Pack for Microsoft Windows software and a Novell NetWare upgrade. As new and updated drivers become available, they will be added to the WDL. This WDL.TXT file includes a list of all the devices supported by the drivers in the WDL and instructions for downloading the drivers. This file is updated on a regular basis. NOTE: All the drivers included in this library are intended for use with Windows 3.1. These drivers are NOT RECOMMENDED for use with Windows 3.0 except where files are specifically described as being Windows 3.0 compatible (for example, Access Pack for Microsoft Windows). Instructions for Downloading ---------------------------- 1. Locate your device in the listing included at the end of this WDL.TXT file. Note the name of the file listed next to the device. You need to download this file from your downloading service. 2. If you are downloading to a floppy disk, you need to have a formatted, blank disk. If you are downloading to your hard disk, create a new subdirectory in which you will place the files. CAUTION: Do not download files directly into your WINDOWS directory. Doing so could overwrite files essential to the proper operation of your system. 3. Follow the downloading procedure used by your downloading service. The file you download is the executable or program (.EXE) file that you identified in step 1. This file contains all the files you need to support your device. Download the .EXE file to your floppy disk or to the new subdirectory you created on your hard disk. 4. Change to the floppy disk drive (or the subdirectory on your hard disk) that contains the .EXE file. At the MS-DOS prompt, type the filename, and then press ENTER. When the .EXE file finishes running, all the files you need to support your device, such as a .DRV file and an OEMSETUP.INF file, are set up. You are also provided with a .TXT file that contains instructions for installing the device drivers (or other software) and a licensing agreement. If you have problems extracting files, try downloading the files again. Obtaining Drivers on Disk ------------------------- If you do not have a modem, you can obtain individual Windows drivers on disk by calling Microsoft Product Support Services at (206) 637-7098. WINDOWS DRIVER LIBRARY CONTENTS =============================== Version File Most Current Printer Number to Download .EXE File Date ----------------------------------------------------------------- Generic Printer Driver 1.68 GENDRV.EXE 02/03/93 Universal Printer Driver 3.1.4 UNIDRV.EXE 11/04/93 Microsoft PostScript Driver 3.58 PSCRIP.EXE 11/04/93 Agfa Compugraphic Genics 2.1 HPPCL.EXE 08/31/93 Apple: Personal LaserWriter NTR 3.56 APPLE.EXE 07/01/93 LaserWriter Pro 600 600DPI (8MB) APPLE.EXE 07/01/93 LaserWriter Pro 630 600DPI 3.56 APPLE.EXE 07/01/93 LaserWriter Select 360 300DPI 3.56 LWS360.EXE 03/11/94 LaserWriter Select 360 600DPI 3.56 LWS360.EXE 03/11/94 Apricot Laser 2.1 HPPCL.EXE 08/31/93 Brother HJ-100 1.10 BROHL.EXE 10/08/92 Brother HJ-770 1.10 BROHL.EXE 10/08/92 Brother HL-4 1.10 BROHL.EXE 10/08/92 Brother HL-8 1.10 BROHL.EXE 10/08/92 Brother HL-8D 1.10 BROHL.EXE 10/08/92 Brother HL-8e 1.10 BROHL.EXE 10/08/92 Brother M-1309 3.1.2 BRO9.EXE 10/08/92 Brother M-1324 1.9 BRO24.EXE 10/08/92 Brother M-1809 3.1.2 BRO9.EXE 10/08/92 Brother M-1824L 1.9 BRO24.EXE 10/08/92 Brother M-1909 3.1.2 BRO9.EXE 10/08/92 Brother M-1924L 1.9 BRO24.EXE 10/08/92 Bull Compuprint 4/12 1.20 BULL.EXE 10/08/92 Bull Compuprint 4/14 1.10 BULL.EXE 10/08/92 Bull Compuprint 4/22 1.10 BULL.EXE 10/08/92 Bull Compuprint 4/23 1.10 BULL.EXE 10/08/92 Bull Compuprint 4/40 1.10 BULL.EXE 10/08/92 Bull Compuprint 4/41 1.10 BULL.EXE 10/08/92 Bull Compuprint 4/51 1.10 BULL.EXE 10/08/92 Bull Compuprint 4/52 1.10 BULL.EXE 10/08/92 Bull Compuprint 4/54 1.10 BULL.EXE 10/08/92 Bull Compuprint 4/64 1.10 BULL.EXE 10/08/92 Bull Compuprint 4/66 1.10 BULL.EXE 10/08/92 Bull Compuprint 4/68 1.10 BULL.EXE 10/08/92 Bull Compuprint 922N 1.10 BULL.EXE 10/08/92 Bull Compuprint 923 1.10 BULL.EXE 10/08/92 Bull Compuprint 924 1.10 BULL.EXE 10/08/92 Bull Compuprint 924N 1.10 BULL.EXE 10/08/92 Bull Compuprint 970 1.10 BULL.EXE 10/08/92 Bull Compuprint 1070 1.10 BULL.EXE 10/08/92 Bull Compuprint PageMaster 411 1.2 BULL.EXE 10/08/92 Bull Compuprint PageMaster 721 1.2 BULL.EXE 10/08/92 Bull Compuprint PageMaster 821 1.2 BULL.EXE 10/08/92 Bull Compuprint PageMaster 10211.2 BULL.EXE 10/08/92 Bull Compuprint PM 201 1.30 JP350.EXE 12/09/92 Canon Bubble-Jet BJ-10ex(propr)1.25 CANON.EXE 10/08/92 Canon Bubble-Jet BJ-10ex (LQ) 1.0 CANON.EXE 10/08/92 Canon Bubble-Jet BJ-10sx 1.0 BJ10.EXE 04/30/93 Canon Bubble-Jet BJ-130 1.0 CANON.EXE 10/08/92 Canon Bubble-Jet BJ-20 (propr) 1.25 CANON.EXE 10/08/92 Canon Bubble-Jet BJ-20 (LQ) 1.0 CANON.EXE 10/08/92 Canon Bubble-Jet BJ-200 1.2 CANON3.EXE 10/13/93 Canon Bubble-Jet BJ-200e 1.01 BJ200E.EXE 08/11/94 Canon Bubble-Jet BJ-230 1.1 BJ230.EXE 04/30/93 Canon Bubble-Jet BJ-300 1.50 CANON2.EXE 10/20/92 Canon Bubble-Jet BJ-330 1.50 CANON2.EXE 10/20/92 Canon Bubble-Jet BJC-600 1.0 BJ600.EXE 01/31/94 Canon Bubble-Jet BJC-800 1.10 CANON.EXE 10/08/92 Citizen 120D 2.0 CIT9.EXE 10/08/92 Citizen 120D 2.0 CIT9.EXE 10/08/92 Citizen 124D 2.0 CIT24.EXE 10/08/92 Citizen 180D 2.0 CIT9.EXE 10/08/92 Citizen 200GX 2.0 CIT9.EXE 10/08/92 Citizen 200GX/15 2.0 CIT9.EXE 10/08/92 Citizen 224 2.0 CIT24.EXE 10/08/92 Citizen GSX-130 2.0 CIT24.EXE 10/08/92 Citizen GSX-140 2.0 CIT24.EXE 10/08/92 Citizen GSX-140+ 2.0 CIT24.EXE 10/08/92 Citizen GSX-145 2.0 CIT24.EXE 10/08/92 Citizen HSP-500 2.0 CIT9.EXE 10/08/92 Citizen HSP-550 2.0 CIT9.EXE 10/08/92 Citizen PN48 2.0 CIT24.EXE 10/08/92 Citizen Prodot 9 2.0 CIT9.EXE 10/08/92 Citizen Prodot 9x 2.0 CIT9.EXE 10/08/92 Citizen Prodot 24 2.0 CIT24.EXE 10/08/92 Citizen PROjet 1.30 JP350.EXE 12/09/92 Citizen Swift 9 2.0 CIT9.EXE 10/08/92 Citizen Swift 9x 2.0 CIT9.EXE 10/08/92 Citizen Swift 24 2.0 CIT24.EXE 10/08/92 Citizen Swift 24x 2.0 CIT24.EXE 10/08/92 Citizen Swift 24e 2.0 CIT24.EXE 10/08/92 Compaq Pagemarq 15 1.7 COMPAQ.EXE 04/30/93 Compaq Pagemarq 20 1.7 COMPAQ.EXE 04/30/93 Data Products LZR 2080 1.0 DATAPR.EXE 11/28/94 Diconix 150 Plus 1.10 DICONX.EXE 10/20/92 Digital DEClaser 1100 3.1 DEC1.EXE 02/03/93 Digital DEClaser 2100/Plus 3.1 DEC1.EXE 02/03/93 Digital DEClaser 2200/Plus 3.1 DEC1.EXE 02/03/93 Digital DEClaser 3200 3.1 DEC1.EXE 02/03/93 Digital DECmultiJET 1000 1.30 JP350.EXE 12/09/92 Digital DECmultiJET 2000 1.30 JP350.EXE 12/09/92 Digital LA70 3.1 DEC1.EXE 02/03/93 Digital LA75 3.1 DEC1.EXE 02/03/93 Digital LA75 Plus 3.1 DEC1.EXE 02/03/93 Digital LA324 3.1 DEC1.EXE 02/03/93 Digital LJ250/252 3.1 DEC1.EXE 02/03/93 Digital LN03/PLUS 3.1 DEC1.EXE 02/03/93 Epson ActionLaser II 1.53 EPLZR.EXE 10/08/92 Epson AP-3250 ESC/P 2 1.61 EPSON.EXE 05/18/94 Epson AP-5000 ESC/P 2 1.61 EPSON.EXE 05/18/94 Epson AP-5000+ ESC/P 2 1.61 EPSON.EXE 05/18/94 Epson AP-5500 ESC/P 2 1.61 EPSON.EXE 05/18/94 Epson DFX-5000 2.10 EP9.EXE 03/12/93 Epson DLQ-2000 2.11 EP24.EXE 10/08/92 Epson EPL-4000 1.53 EPLZR.EXE 10/08/92 Epson EPL-7000 1.53 EPLZR.EXE 10/08/92 Epson EX-800 2.10 EP9.EXE 03/12/93 Epson EX-1000 2.10 EP9.EXE 03/12/93 Epson FX-80 2.10 EP9.EXE 03/12/93 Epson FX-80 2.10 EP9.EXE 03/12/93 Epson FX-85 2.10 EP9.EXE 03/12/93 Epson FX-86e 2.10 EP9.EXE 03/12/93 Epson FX-100 2.10 EP9.EXE 03/12/93 Epson FX-105 2.10 EP9.EXE 03/12/93 Epson FX-185 2.10 EP9.EXE 03/12/93 Epson FX-286 2.10 EP9.EXE 03/12/93 Epson FX-286e 2.10 EP9.EXE 03/12/93 Epson FX-800 2.10 EP9.EXE 03/12/93 Epson FX-850 2.10 EP9.EXE 03/12/93 Epson FX-1000 2.10 EP9.EXE 03/12/93 Epson FX-1050 2.10 EP9.EXE 03/12/93 Epson JX-80 2.10 EP9.EXE 03/12/93 Epson L-750 2.11 EP24.EXE 10/08/92 Epson L-1000 2.11 EP24.EXE 10/08/92 Epson LQ-100 ESC/P 2 1.61 EPSON.EXE 05/18/94 Epson LQ-200 2.11 EP24.EXE 10/08/92 Epson LQ-400 2.11 EP24.EXE 10/08/92 Epson LQ-450 2.11 EP24.EXE 10/08/92 Epson LQ-500 2.11 EP24.EXE 10/08/92 Epson LQ-510 2.11 EP24.EXE 10/08/92 Epson LQ-570 ESC/P 2 1.61 EPSON.EXE 05/18/94 Epson LQ-570+ ESC/P 2 1.61 EPSON.EXE 05/18/94 Epson LQ-800 2.11 EP24.EXE 10/08/92 Epson LQ-850 2.11 EP24.EXE 10/08/92 Epson LQ-860 2.11 EP24.EXE 10/08/92 Epson LQ-870 ESC/P 2 1.61 EPSON.EXE 05/18/94 Epson LQ-950 2.11 EP24.EXE 10/08/92 Epson LQ-1000 2.11 EP24.EXE 10/08/92 Epson LQ-1010 2.11 EP24.EXE 10/08/92 Epson LQ-1050 2.11 EP24.EXE 10/08/92 Epson LQ-1060 2.11 EP24.EXE 10/08/92 Epson LQ-1070 ESC/P 2 1.61 EPSON.EXE 05/18/94 Epson LQ-1170+ ESC/P 2 1.61 EPSON.EXE 05/18/94 Epson LQ-1070 ESC/P 2 1.61 EPSON.EXE 05/18/94 Epson LQ-1500 2.11 EP24.EXE 10/08/92 Epson LQ-2500 2.11 EP24.EXE 10/08/92 Epson LQ-2550 2.11 EP24.EXE 10/08/92 Epson LX-80 2.10 EP9.EXE 03/12/93 Epson LX-86 2.10 EP9.EXE 03/12/93 Epson LX-400 2.10 EP9.EXE 03/12/93 Epson LX-800 2.10 EP9.EXE 03/12/93 Epson LX-810 2.10 EP9.EXE 03/12/93 Epson LX-850 2.10 EP9.EXE 03/12/93 Epson LX-850 2.10 EP9.EXE 03/12/93 Epson MX-80 2.10 EP9.EXE 03/12/93 Epson MX-80 F/T 2.10 EP9.EXE 03/12/93 Epson MX-100 2.10 EP9.EXE 03/12/93 Epson RX-80 2.10 EP9.EXE 03/12/93 Epson RX-80 F/T 2.10 EP9.EXE 03/12/93 Epson RX-80 F/T 2.10 EP9.EXE 03/12/93 Epson RX-100 2.10 EP9.EXE 03/12/93 Epson RX-100 2.10 EP9.EXE 03/12/93 Epson SQ-850 2.11 EP24.EXE 10/08/92 Epson SQ-870 ESC/P 2 1.61 EPSON.EXE 05/18/94 Epson SQ-1170 ESC/P 2 1.61 EPSON.EXE 05/18/94 Epson SQ-2000 2.11 EP24.EXE 10/08/92 Epson SQ-2500 2.11 EP24.EXE 10/08/92 Epson SQ-2550 2.11 EP24.EXE 10/08/92 Epson Stylus 300 ESC/p 2 1.61 EPSON.EXE 05/18/94 Epson Stylus 800 ESC/p 2 1.61 EPSON.EXE 05/18/94 Epson Stylus 1000 ESC/p 2 1.61 EPSON.EXE 05/18/94 Epson T-750 2.10 EP9.EXE 03/12/93 Epson T-1000 2.10 EP9.EXE 03/12/93 Fujitsu PrintPartner 10/W (2MB+)3.56 FJ10W3.EXE 07/01/93 Fujitsu PrintPartner 10 (2MB+) 3.56 FJ10W3.EXE 07/01/93 Fujitsu PrintPartner 10/W (2MB)3.56 FJ10W2.EXE 07/01/93 Fujitsu PrintPartner 10 (2MB) 3.56 FJ10W2.EXE 07/01/93 Fujitsu Breeze 100 1.30 JP350.EXE 12/09/92 Fujitsu Breeze 200 1.30 JP350.EXE 12/09/92 Fujitsu DL 900 1.60 FUJI24.EXE 12/09/92 Fujitsu DL 1100 1.60 FUJI24.EXE 12/09/92 Fujitsu DL 1100 Colour 1.60 FUJI24.EXE 12/09/92 Fujitsu DL 1200 1.60 FUJI24.EXE 12/09/92 Fujitsu DL 2400 1.60 FUJI24.EXE 12/09/92 Fujitsu DL 3300 1.60 FUJI24.EXE 12/09/92 Fujitsu DL 3350 1.60 FUJI24.EXE 12/09/92 Fujitsu DL 3400 1.60 FUJI24.EXE 12/09/92 Fujitsu DL 3450 1.60 FUJI24.EXE 12/09/92 Fujitsu DL 3600 1.60 FUJI24.EXE 12/09/92 Fujitsu DL 4400 1.60 FUJI24.EXE 12/09/92 Fujitsu DL 4600 1.60 FUJI24.EXE 12/09/92 Fujitsu DL 5600 1.60 FUJI24.EXE 12/09/92 Fujitsu DX 2100 1.10 FUJI9.EXE 10/20/92 Fujitsu DX 2200 1.10 FUJI9.EXE 10/20/92 Fujitsu DX 2300 1.10 FUJI9.EXE 10/20/92 Fujitsu DX 2400 1.10 FUJI9.EXE 10/20/92 HP DeskJet 2.10 HPDJET.EXE 07/21/93 HP DeskJet Plus 2.10 HPDJET.EXE 07/21/93 HP DeskJet Portable 2.10 HPDJET.EXE 07/21/93 HP DeskJet 500 2.10 HPDJET.EXE 07/21/93 HP LaserJet 2.1 HPPCL.EXE 08/31/93 HP LaserJet Plus 2.1 HPPCL.EXE 08/31/93 HP LaserJet 500 2.1 HPPCL.EXE 08/31/93 HP LaserJet 2000 2.1 HPPCL.EXE 08/31/93 HP LaserJet Series II 2.1 HPPCL.EXE 08/31/93 HP LaserJet IID 2.1 HPPCL.EXE 08/31/93 HP LaserJet IIP 2.1 HPPCL.EXE 08/31/93 HP LaserJet IIP Plus 2.1 HPPCL.EXE 08/31/93 HP LaserJet III 2.1 HPPCL5.EXE 11/16/92 HP LaserJet IIIP 2.1 HPPCL5.EXE 11/16/92 HP LaserJet IIID 2.1 HPPCL5.EXE 11/16/92 HP LaserJet IIISi 2.1 HPPCL5.EXE 11/16/92 HP LaserJet 4/4M 1.18 HPCL5E.EXE 06/24/93 HP LaserJet 4Si 1.18 HPCL5E.EXE 06/24/93 HP LaserJet 4Si MX 1.18 HPCL5E.EXE 06/24/93 HP PaintJet 2.1 HPPJET.EXE 03/11/94 HP PaintJet XL 2.1 HPPJET.EXE 03/11/94 HP QuietJet 1.10 HPQJET.EXE 10/08/92 HP QuietJet Plus 1.10 HPQJET.EXE 10/08/92 IBM Laser Printer 4029 3.02 IB4029.EXE 02/03/93 IBM Personal Printer II 2380 1.10 IB2390.EXE 10/08/92 IBM Personal Printer II 2381 1.10 IB2390.EXE 10/08/92 IBM Personal Printer II 2390 1.10 IB2390.EXE 10/08/92 IBM Personal Printer II 2391 1.10 IB2390.EXE 10/08/92 IBM Proprinter 1.10 PROP9.EXE 10/08/92 IBM Proprinter II 1.10 PROP9.EXE 10/08/92 IBM Proprinter III 1.10 PROP9.EXE 10/08/92 IBM Proprinter X24 2.15 PROP24.EXE 10/20/92 IBM Proprinter X24e 2.15 PROP24.EXE 10/20/92 IBM Proprinter XL 1.10 PROP9.EXE 10/08/92 IBM Proprinter XL II 1.10 PROP9.EXE 10/08/92 IBM Proprinter XL III 1.10 PROP9.EXE 10/08/92 IBM Proprinter XL24 2.15 PROP24.EXE 10/20/92 IBM Proprinter XL24e 2.15 PROP24.EXE 10/20/92 IBM QuickWriter 5204 1.10 IB5204.EXE 11/16/92 IBM QuietWriter III 1.60 QWIII.EXE 11/16/92 Kyocera F-Series (USA) 2.1 HPPCL.EXE 08/31/93 Kyocera F-5000 (USA) 2.1 HPPCL.EXE 08/31/93 Linotronic 100 3.56 LINO.EXE 07/01/93 Linotronic 200/230 3.56 LINO.EXE 07/01/93 Linotronic 300 v47.1 3.56 LINO.EXE 07/01/93 Linotronic 300 v49.3 3.56 LINO.EXE 07/01/93 Linotronic 330 3.56 LINO.EXE 07/01/93 Linotronic 500 3.56 LINO.EXE 07/01/93 Linotronic 530 3.56 LINO.EXE 07/01/93 Linotronic 630 3.56 LINO.EXE 07/01/93 Mannesmann Tally MT 130/24 1.10 MANNT.EXE 10/08/92 Mannesmann Tally MT 130/9 1.10 MANNT.EXE 10/08/92 Mannesmann Tally MT 131/24 1.10 MANNT.EXE 10/08/92 Mannesmann Tally MT 131/9 1.10 MANNT.EXE 10/08/92 Mannesmann Tally MT 230/18 1.10 MANNT.EXE 10/08/92 Mannesmann Tally MT 230/24 1.10 MANNT.EXE 10/08/92 Mannesmann Tally MT 230/9 1.10 MANNT.EXE 10/08/92 Mannesmann Tally MT 290 1.10 MANNT.EXE 10/08/92 Mannesmann Tally MT 330 1.10 MANNT.EXE 10/08/92 Mannesmann Tally MT 340 1.10 MANNT.EXE 10/08/92 Mannesmann Tally MT 730/735 1.10 MANNT.EXE 10/08/92 Mannesmann Tally MT 81 1.10 MANNT.EXE 10/08/92 Mannesmann Tally MT 82 1.10 MANNT.EXE 10/08/92 Mannesmann Tally MT 90 1.10 MANNT.EXE 10/08/92 Mannesmann Tally MT 91 1.10 MANNT.EXE 10/08/92 Mannesmann Tally MT 92 1.10 MANNT.EXE 10/08/92 Mannesmann Tally MT 92C 1.10 MANNT.EXE 10/08/92 Mannesmann Tally MT 93 1.10 MANNT.EXE 10/08/92 Mannesmann Tally MT 94 1.10 MANNT.EXE 10/08/92 Mannesmann Tally MT 98/99 1.10 MANNT.EXE 10/08/92 Minolta SP1000 (2MB) 3.56 MINOLT.EXE 04/30/93 Minolta SP1000 (2MB+) 3.56 MINOLT.EXE 04/30/93 Minolta SP1500 (2MB) 3.56 MINOLT.EXE 04/30/93 Minolta SP1500 (2MB+) 3.56 MINOLT.EXE 04/30/93 NEC Pinwriter CP6 2.0 NECP24.EXE 02/09/93 NEC Pinwriter CP7 2.0 NECP24.EXE 02/09/93 NEC Pinwriter P2plus 2.0 NECP24.EXE 02/09/93 NEC Pinwriter P5XL 2.0 NECP24.EXE 02/09/93 NEC Pinwriter P6 2.0 NECP24.EXE 02/09/93 NEC Pinwriter P6plus 2.0 NECP24.EXE 02/09/93 NEC Pinwriter P7 2.0 NECP24.EXE 02/09/93 NEC Pinwriter P7plus 2.0 NECP24.EXE 02/09/93 NEC Pinwriter P9XL 2.0 NECP24.EXE 02/09/93 NEC Pinwriter P2200 2.0 NECP24.EXE 02/09/93 NEC Pinwriter P3200 1.30 NECPIN.EXE 10/08/92 NEC Pinwriter P3300 1.30 NECPIN.EXE 10/08/92 NEC Pinwriter P5200 2.0 NECP24.EXE 02/09/93 NEC Pinwriter P5300 2.0 NECP24.EXE 02/09/93 NEC Pinwriter P6200 1.30 NECPIN.EXE 10/08/92 NEC Pinwriter P6300 1.30 NECPIN.EXE 10/08/92 NEC Pinwriter P9300 1.30 NECPIN.EXE 10/08/92 NEC Silentwriter LC 860 Plus 2.1 HPPCL.EXE 08/31/93 Okidata LaserLine 6 2.1 HPPCL.EXE 08/31/93 Okidata ML 380 2.0 OKI24.EXE 10/08/92 Okidata ML 390 2.0 OKI24.EXE 10/08/92 Okidata ML 390 Plus 2.0 OKI24.EXE 10/08/92 Okidata ML 391 2.0 OKI24.EXE 10/08/92 Okidata ML 391 Plus 2.0 OKI24.EXE 10/08/92 Okidata ML 393 2.0 OKI24.EXE 10/08/92 Okidata ML 393 Plus 2.0 OKI24.EXE 10/08/92 Okidata ML 393C 2.0 OKI24.EXE 10/08/92 Okidata ML 393C Plus 2.0 OKI24.EXE 10/08/92 Okidata OL-400 1.19 OKILED.EXE 10/08/92 Okidata OL-800 1.19 OKILED.EXE 10/08/92 Okidata OL-830 3.56 OK830.EXE 07/01/93 Olivetti DM 124 C 3.03 OLIVE.EXE 02/03/93 Olivetti ETV 5000 2.1 HPPCL.EXE 08/31/93 Olivetti JP 150 1.30 JP350.EXE 12/09/92 Olivetti JP 350 1.30 JP350.EXE 12/09/92 Olivetti JP 350S 1.30 JP350.EXE 12/09/92 Olivetti PG 108 2.1 HPPCL.EXE 08/31/93 Olivetti PG 208 M2 2.1 HPPCL.EXE 08/31/93 Olivetti PG 306 1.0 OLIPG.EXE 11/16/92 Olivetti PG 308 1.0 OLIPG.EXE 11/16/92 Olivetti PG 308 HS 2.1 HPPCL.EXE 08/31/93 Panasonic KX-P1081 2.10 PAN9.EXE 02/09/93 Panasonic KX-P1123 2.10 PAN24.EXE 12/09/92 Panasonic KX-P1124 2.10 PAN24.EXE 12/09/92 Panasonic KX-P1124i 2.10 PAN24.EXE 12/09/92 Panasonic KX-P1180 2.10 PAN9.EXE 02/09/93 Panasonic KX-P1624 2.10 PAN24.EXE 12/09/92 Panasonic KX-P1695 2.10 PAN9.EXE 02/09/93 Panasonic KX-P2123 2.10 PAN24.EXE 12/09/92 Panasonic KX-P2124 2.10 PAN24.EXE 12/09/92 Panasonic KX-P2180 2.10 PAN9.EXE 02/09/93 Panasonic KX-P2624 2.10 PAN24.EXE 12/09/92 Panasonic KX-P4420 2.1 HPPCL.EXE 08/31/93 Panasonic KX-P4450 1.10 PANKX.EXE 10/20/92 Panasonic KX-P4450i 1.10 PANKX.EXE 10/20/92 QMS-PS 2200 3.56 PS2000.EXE 07/01/93 QuadLaser I 2.1 HPPCL.EXE 08/31/93 Royal CJP 450 3.03 OLIVE.EXE 02/03/93 Seiko (Generic Printer Driver) Seiko CH 5504 3.06 SEIKO.EXE 02/03/93 Seiko CH 5514 3.06 SEIKO.EXE 02/03/93 Seiko CH 4104 3.04 SEIKO.EXE 02/03/93 Seiko (PostScript Driver) Seiko CH 5504 (PS) 3.56 SEIKO2.EXE 07/01/93 Seiko CH 5514 (PS) 3.56 CH5514.EXE 07/01/93 Seiko CH 4104 (PS) 3.56 PS4104.EXE 07/01/93 Sharp JX-9300 1.10 SHARP.EXE 10/08/92 Sharp JX-9500 1.10 SHARP.EXE 10/08/92 Sharp JX-9500E 1.10 SHARP.EXE 10/08/92 Sharp JX-9500H 1.10 SHARP.EXE 10/08/92 Sharp JX-9700 1.10 SHARP.EXE 10/08/92 Star Laserprinter 4 1.10 STAR.EXE 10/08/92 Star Laserprinter 8 1.10 STAR.EXE 10/08/92 Star Laserprinter 8 DB 1.10 STAR.EXE 10/08/92 Star Laserprinter 8 DX 1.10 STAR.EXE 10/08/92 Star Laserprinter 8 II 1.10 STAR.EXE 10/08/92 Star NB24-10 1.20 STAR.EXE 10/08/92 Star NB24-15 1.20 STAR.EXE 10/08/92 Star NL-10 1.20 STAR.EXE 10/08/92 Star NX-1000 1.20 STAR.EXE 10/08/92 Star NX-1000 Rainbow 1.20 STAR.EXE 10/08/92 Star NX-1001 1.20 STAR.EXE 10/08/92 Star NX-1020 Rainbow 1.20 STAR.EXE 10/08/92 Star NX-1500 1.20 STAR.EXE 10/08/92 Star NX-2400 1.20 STAR.EXE 10/08/92 Star NX-2410 1.20 STAR.EXE 10/08/92 Star NX-2415 1.20 STAR.EXE 10/08/92 Star NX-2420 1.20 STAR.EXE 10/08/92 Star NX-2420 Rainbow 1.20 STAR.EXE 10/08/92 Star NX-2430 1.20 STAR.EXE 10/08/92 Star SJ-48 1.20 STAR.EXE 10/08/92 Star XB-2410 1.20 STAR.EXE 10/08/92 Star XB-2415 1.20 STAR.EXE 10/08/92 Star XB-2420 1.20 STAR.EXE 10/08/92 Star XB-2425 1.20 STAR.EXE 10/08/92 Star XR-1000 1.20 STAR.EXE 10/08/92 Star XR-1020 1.20 STAR.EXE 10/08/92 Star XR-1500 1.20 STAR.EXE 10/08/92 Star XR-1520 1.20 STAR.EXE 10/08/92 Tandy LP-1000 2.1 HPPCL.EXE 08/31/93 Tegra Genesis 2.1 HPPCL.EXE 08/31/93 Tektronix: Phaser 200e 17 3.56 TEKTRO.EXE 07/01/93 Phaser 200e 39 3.56 TEKTRO.EXE 07/01/93 Phaser 200i 3.56 TEKTRO.EXE 07/01/93 TI Omnilaser 2108 3.56 TIOMNI.EXE 07/01/93 TI Omnilaser 2115 3.56 TIOMNI.EXE 07/01/93 Toshiba ExpressWriter 420 1.6 EXPRSS.EXE 10/08/92 Toshiba ExpressWriter 440 1.6 EXPRSS.EXE 10/08/92 Toshiba PageLaser12 2.1 HPPCL.EXE 08/31/93 Toshiba P351 3.00 TOSH24.EXE 08/12/92 Toshiba P351SX 1.3 P351SX.EXE 10/08/92 Toshiba P1351 3.00 TOSH24.EXE 08/12/92 Unisys AP-1324 1.19 UNI24.EXE 10/08/92 Unisys AP-1337 1.19 UNI24.EXE 10/08/92 Unisys AP-1339 1.19 UNI24.EXE 10/08/92 Unisys AP-1371 1.20 UN1371.EXE 10/08/92 Unisys AP-9205/AP-9210 1.27 UNILZ.EXE 10/08/92 Unisys AP-9210 2.1 HPPCL.EXE 08/31/93 Wang LDP8 2.1 HPPCL.EXE 08/31/93 Most Current Audio File to Download .EXE File Date --------------------------------------------------------------- Artisoft Sounding Board - ISA ARTIS.EXE 06/19/92 Artisoft Sounding Board - MCA ARTIS.EXE 06/19/92 IBM M-Audio Adapter AT BUS IBM.EXE 06/29/92 IBM M-Audio Adapter MC IBM.EXE 06/29/92 PC-Speaker Driver SPEAK.EXE 06/19/92 Thunderboard THUNDR.EXE 06/19/92 Most Current Display File to Download .EXE File Date --------------------------------------------------------------- CGA Driver CGA.EXE 06/19/92 MCGA Driver MMDISP.EXE 06/19/92 VGA (320x200, 256 colors) Palletized VGA Driver MMDISP.EXE 06/19/92 VGA (640x480, palettized 16 colors) VGAGRAY Driver MMDISP.EXE 06/19/92 VGA (640x480, 16 grays) Hercules Driver HERC311.EXE 01/31/94 EGA Driver EGA311.EXE 01/31/94 Appian RGDI & Compatible RGDI.EXE 06/19/92 ATI: ATI 8514/Ultra ATI.EXE 06/19/92 ATI Graphics Ultra ATI.EXE 06/19/92 ATI Graphics Vantage ATI.EXE 06/19/92 ATI VGA Wonder XL ATI.EXE 06/19/92 ATI VGA Wonder ATI.EXE 06/19/92 ATI VGA Wonder Plus ATI.EXE 06/19/92 Chips & Technology: CHIPS 655XX 640x480 256 colors CHIPS.EXE 10/27/92 CHIPS 655XX 800x600 256 colors CHIPS.EXE 10/27/92 CHIPS 655XX 1024x768 16 colors CHIPS.EXE 10/27/92 Cornerstone: Cornerstone MC168Ci CORNST.EXE 08/19/93 Cornerstone PC168Ci CORNST.EXE 08/19/93 Cornerstone MC128Ci CORNST.EXE 08/19/93 Cornerstone PC128Ci CORNST.EXE 08/19/93 DGIS 3.00 & Compatible DGIS30.EXE 10/08/92 HP UltraVGA V1.6: HPUltra 640X480 256clr (512k) HPULT.EXE 02/03/93 HPUltra 640X480 256clr HPULT.EXE 02/03/93 HPUltra 800X600 256clr HPULT.EXE 02/03/93 HPUltra 1024X768 256clr HPULT.EXE 02/03/93 (Large Fonts) HPUltra 1024X768 256clr HPULT.EXE 02/03/93 (Small Fonts) Super VGA: 640x480 256 colors SVGA.EXE 04/30/93 800x600 256 colors Large fonts SVGA.EXE 04/30/93 800x600 256 colors Small fonts SVGA.EXE 04/30/93 1024x768 256 colors Large fonts SVGA.EXE 04/30/93 1024x768 256 colors Small fonts SVGA.EXE 04/30/93 Tseng ET4000 640X480 16 colors TSEN1A.EXE 06/19/92 Tseng ET4000 800X600 16 colors TSEN1B.EXE 06/19/92 Tseng ET4000 1024X768 16 colors TSEN1C.EXE 06/19/92 Tseng ET4000 1280X1024 16 colors TSEN1D.EXE 06/19/92 Tseng ET4000 640X480 256 colors TSEN2A.EXE 06/19/92 Tseng ET4000 800X600 256 colors TSEN2B.EXE 06/19/92 Tseng ET4000 1024X768 256 colrs TSEN2C.EXE 06/19/92 Tseng ET4000 32K colors TSENG3.EXE 06/19/92 Tseng ET4000 64K colors TSENG4.EXE 06/19/92 S3-928 Chip S3-928.EXE 11/04/93 S3-801 Chip S3-801.EXE 11/04/93 S3-924 Chip S3-924.EXE 11/04/93 Western Digital (90C30) Paradise: WD 90C30 640X480 256 colors WD9030.EXE 02/03/93 WD 90C30 640X480 32K colors WD9030.EXE 02/03/93 WD 90C30 640X480 32K colors: WD9030.EXE 02/03/93 (Ventura, PageMaker only) WD 90C30 640X480 64K colors WD9030.EXE 02/03/93 WD 90C30 800X600 256 clr(512k) WD9030.EXE 02/03/93 WD 90C30 800X600 256 clr(1MB) WD9030.EXE 02/03/93 WD 90C30 800X600 32K colors WD9030.EXE 02/03/93 WD 90C30 800X600 32K colors: WD9030.EXE 02/03/93 (Ventura, PageMaker only) WD 90C30 800X600 64k colors WD9030.EXE 02/03/93 WD 90C30 1024X768 16 colors WD9030.EXE 02/03/93 WD 90C30 1024X768 256 clr(1MB) WD9030.EXE 02/03/93 WD 90C30 1280X960 16 colors WD9030.EXE 02/03/93 WD 90C30 1280X1024 16 colors WD9030.EXE 02/03/93 Western Digital (90C31) Paradise: WD 90C31 640X480 16 colors WD9031.EXE 02/03/93 WD 90C31 640X480 256 colors WD9031.EXE 02/03/93 WD 90C31 640X480 32K colors WD9031.EXE 02/03/93 WD 90C31 640X480 32K colors: WD9031.EXE 02/03/93 (Ventura, PageMaker only) WD 90C31 640X480 64K colors WD9031.EXE 02/03/93 WD 90C31 800X600 16 colors WD9031.EXE 02/03/93 WD 90C31 800X600 256 clr(512k) WD9031.EXE 02/03/93 WD 90C31 800X600 256 clr(1MB) WD9031.EXE 02/03/93 WD 90C31 800X600 32K colors WD9031.EXE 02/03/93 WD 90C31 800X600 32K colors: WD9031.EXE 02/03/93 (Ventura, PageMaker only) WD 90C31 800X600 64k colors WD9031.EXE 02/03/93 WD 90C31 1024X768 16 colors WD9031.EXE 02/03/93 WD 90C31 1024X768 256 clr(1MB) WD9031.EXE 02/03/93 WD 90C31 1280X960 16 colors WD9031.EXE 02/03/93 WD 90C31 1280X1024 16 colors WD9031.EXE 02/03/93 Most Current Network Card Adapters File to Download .EXE File Date --------------------------------------------------------------- 3Com EtherLink 3COM.EXE 11/16/92 3Com EtherLink/MC 32 3COM.EXE 11/16/92 3Com EtherLink 16 (3C507) ELNK16.EXE 04/02/93 3Com EtherLink III (3C509) ELNK3.EXE 04/02/93 3Com EtherLink EISA (3C579) ELNK3.EXE 04/02/93 3Com EtherLink II (3C503) ELNKII.EXE 04/02/93 3Com EtherLink II/16 TP ELNKII.EXE 04/02/93 (3C505 - 16-TP) 3Com EtherLink MC (3C523) ELNKMC.EXE 04/02/93 3Com EtherLink Plus (3C505-B) ELNKPL.EXE 04/02/93 3Com TokenLink III (3C619) IBMTOK.EXE 04/02/93 3Com TokenLink III (3C629) IBMTOK.EXE 04/02/93 Accton Technology: EtherCoax-16 (EN1642) NE2000.EXE 04/02/93 EtherCombo-16 (EN1640) NE2000.EXE 04/02/93 EtherPair-16 (EN1641) NE2000.EXE 04/02/93 Advanced Micro Devices: AM2100 AM2100.EXE 04/02/93 PCnet-ISA Ethernet Controller AM2100.EXE 04/02/93 PCnet Family Ethernet AMDPCN.EXE 04/22/94 Alta Research: EtherCombo-16 T/C NE2000.EXE 04/02/93 Allied Telesis AT1500T AT1500.EXE 03/12/93 Allied Telesis AT1500BT AT1500.EXE 03/12/93 Allied Telesis AT1500FT AT1500.EXE 03/12/93 Allied Telesis AT-1700 AT1700.EXE 12/13/93 Appex Tech WinLAN Adapter ISA APXWLI.EXE 01/31/94 Appex Tech Packet WinLAN Adapter APXWLP.EXE 01/31/94 Apricot: LS 386SX-20 w/ i82592 ETH592.EXE 03/12/93 LS PRO w/ i82596 ETH596.EXE 03/12/93 XEN-LS 486SX-20 w/ i82592 ETH592.EXE 03/12/93 Cabletron: E2000 Series DNI CTRON.EXE 04/02/93 E2100 Series DNI CTRON.EXE 04/02/93 E2100 Series Ethernet Adapters CTRE21.EXE 04/22/94 E3000 Series DNI CTETH.EXE 03/12/93 E3000 Series Ethernet Adapters CTRE30.EXE 04/22/94 E3100 Series DNI CTETH.EXE 03/12/93 E3100 Series Ethernet Adapters CTRE31.EXE 04/22/94 T2000 Series Token Ring Adapter CTRT20.EXE 04/22/94 T2015 Token Ring DNI CTTOK.EXE 04/02/93 T3015 Token Ring DNI CTTOK.EXE 04/02/93 Chips and Technology: MK561 Ethernet CNT561.EXE 12/28/93 Compaq: 32-Bit DualSpeed Token Ring NETFLX.EXE 12/13/93 32-Bit NetFlex Controller NETFLX.EXE 12/13/93 (Etnernet Mode) 32-Bit NetFlex Controller NETFLX.EXE 12/13/93 (Token Ring Mode) Compex ENET16/U COMPEX.EXE 10/27/92 Crescendo Communications C321M CRESDO.EXE 03/12/93 Digital Communications Associates: DCA 10-Net DCA586.EXE 10/27/92 DCA 10-Net Fiber Optic DCA586.EXE 10/27/92 DCA 10-Net Twisted Pair DCA586.EXE 10/27/92 DCA 10-Net MCA DCA586.EXE 10/27/92 DCA IRMAtrac Token-Ring Convert IRMA.EXE 03/12/93 DCStrac Token Ring Adapter DCATOK.EXE 12/13/93 Digital Equipment Corporation: DEC Etherworks LC DEPCA.EXE 04/02/93 DEC Etherworks MC DEPCA.EXE 04/02/93 DEC Etherworks Turbo DEPCA.EXE 04/02/93 DEC EtherWorks Turbo EISA DEC425.EXE 04/22/94 DEC DEPCA DEPCA.EXE 04/02/93 WaveLAN Adapters DECWAV.EXE 12/28/93 WaveLAN AT WAVELN.EXE 04/02/93 D-Link DE-220/TP/CT/C/T/CAT DE220.EXE 12/13/93 Everex SpeedLink /PC16 (EV2027) EVEREX.EXE 04/22/94 Gateway Communications: G/Ethernet 16 Combo GETHER.EXE 03/12/93 Hewlett-Packard: HP EtherTwist MCA (HP27246) HPLAN2.EXE 03/12/93 HP PC LAN Adapter/8 TL (HP27250) HPLAN.EXE 10/28/92 HP PC LAN Adapter/8 TP (HP27245) HPLAN.EXE 10/28/92 HP PC LAN Adptr/16 TP (HP27247A) HPLAN.EXE 10/28/92 HP PC LAN Ad/16 TL Plus-HP27252 HPLAN.EXE 10/28/92 HP PC LAN Ad/16 TP Plus-HP27247B HPLAN.EXE 10/28/92 HP Ethertwist EISA LAN 32-HP27248 HPLAN.EXE 10/28/92 IBM PCMCIA-NIC IBMPCM.EXE 10/27/92 IBM Token Ring IBMTOK.EXE 12/09/92 IBM Token Ring /A IBMTOK.EXE 04/02/93 IBM Token Ring II IBMTOK.EXE 04/02/93 IBM Token Ring 4/16 IBMTOK.EXE 04/02/93 IBM Token Ring 4/16 A IBMTOK.EXE 04/02/93 IBM PCMCIA Ethernet Adapter IBMPCM.EXE 03/11/94 IBM Token-Ring 16/4 Adapter II IBMTR2.EXE 12/13/93 IBM Token Ring 16/4 LanStreamer Server Adapter/A IBMLAN.EXE 12/13/93 ICL EtherTeam 16 NOKIA.EXE 03/12/93 ICL EtherTeam 16i Adapter ICL16I.EXE 12/13/93 Intel Corporation: EtherExpress 16 EXP16.EXE 12/13/93 EtherExpress 16TP EXP16.EXE 12/13/93 EtherExpress Flash 32 EISA NDIS3 INTFL3.EXE 04/22/94 EtherExpress Flash 32 EISA NDIS2 FL32.EXE 07/26/94 EtherExpress MCA EXP16.EXE 12/13/93 EtherExpress TPE Hub Adapter INTHUB.EXE 10/27/92 EtherExpress Pro Ethernet Adpt. EPRO.EXE 07/26/94 EtherNet PCMCIA Adapter INTPCM.EXE 12/13/93 TokenExpress 32 EISA 16/4 INTT32.EXE 04/22/94 Token Express MCA 16/4 OLITOK.EXE 04/02/93 Token Express EISA 16/4 OLITOK.EXE 04/02/93 Token Express ISA 16/4 OLITOK.EXE 04/02/93 Kingston Technology EtherRx KNE210.EXE 12/28/93 Madge Smart 16/4 XT RingNode MADGE.EXE 10/27/92 Madge Smart 16/4 AT RingNode MADGE.EXE 10/27/92 Madge Smart 16/4 EISA RingNode MADGE.EXE 10/27/92 Madge Smart 16/4 MC RingNode MADGE.EXE 10/27/92 National SemiConductor: At/Lantic EtherNODE 16*AT3 NE2000.EXE 04/02/93 EtherNODE *16AT NE2000.EXE 04/02/93 Net NSC InfoMover Eth PCMCIA 1.9 NSCPCM.EXE 10/04/94 Sonic EISA-DP83932EB NATSEM.EXE 03/12/93 NCR StarCard (8-bit) NCRSTR.EXE 10/27/92 NCR StarLAN 16/4 Token MC NAU STRN.EXE 04/02/93 NCR WaveLan AT Adapter WAVELN.EXE 04/02/93 NCR WaveLan MC Adapter WAVELN.EXE 04/02/93 Net Andrew MasterSeries TR 1.0 ANDTOK2.EXE 10/04/94 Net Compaq NetFlex Family 3.11 CPQNFX.EXE 10/04/94 Net ICL EtherTeam Family Eth 1.0 ICLETH.EXE 10/04/94 Net Racal 16/4 Token-Ring 2.16 RICTOK.EXE 10/04/94 Net Racore 16/4 Token-Ring 2.16 RACTOK.EXE 10/04/94 Net RAD 16/4 Token-Ring 2.16 RADTOK.EXE 10/04/94 Net TI TMS380/2000 16/4 TR 1.12 TITOK.EXE 10/04/94 New Media PCMCIA Ethernet LAN NMCETH.EXE 03/11/94 Novell NE1000 NE1000.EXE 04/02/93 Novell NE/2 NE2000.EXE 04/02/93 Novell NE2000 NE2000.EXE 04/02/93 Novell NE2000T NE2000.EXE 04/02/93 Novell NE2000 Plus NE200P.EXE 12/28/93 Olicom 16-Bit EISA 16/4 OLITOK.EXE 04/02/93 Olicom 16-Bit ISA 16/4 OLITOK.EXE 04/02/93 Olicom 16-Bit MCA 16/4 OLITOK.EXE 04/02/93 Olicom Token Ring Server 16/4 OLIT32.EXE 04/22/94 Proteon ISA Token Ring (1346) PRO4AT.EXE 03/12/93 Proteon ISA Token Ring (1347) PRO4AT.EXE 03/12/93 Proteon ISA Token Ring (1390) P139X.EXE 04/02/93 Proteon ISA Token Ring (1392) P139X.EXE 04/02/93 Proteon ISA Token Ring (1340) PRO4.EXE 03/12/93 Proteon ISA Token Ring (1342) PRO4.EXE 03/12/93 Proteon ISA Token Ring (1346) PRO4.EXE 03/12/93 Proteon ISA Token Ring (1347) PRO4.EXE 03/12/93 Proteon MCA Token Ring (1840) PRO4.EXE 03/12/93 Proteon ProNET-4/16 p1892 PROTEO.EXE 04/30/93 Proxim RangeLAN Wireless PROXIM.EXE 03/12/93 Pure Data PDE9025-32 16/4 OLITOK.EXE 04/02/93 Pure Data PDI8023-16 PDIETH.EXE 10/27/92 Pure Data PDI8023-8 PDIETH.EXE 10/27/92 Pure Data PDI9025-16 4 OLITOK.EXE 04/02/93 Pure Data PDI90211 (Wireless) WAVELN.EXE 04/02/93 Pure Data PDuC8023 PDIETH.EXE 10/27/92 Pure Data PDuC9025 16/4 OLITOK.EXE 04/02/93 Pure Data PDuC90211 (Wireless) WAVELN.EXE 04/02/93 Racal-Datacom NI5210/8 RACAL.EXE 10/27/92 Racal-Datacom NI5210/16 RACAL.EXE 10/27/92 Racal-Datacom NI6510 NI6510.EXE 12/13/93 Racal-Datacom NI9210 RACAL.EXE 10/27/92 Racal-Datacom Interlan ILANAT RACAL.EXE 10/27/92 Racal-Datacom ES3210 RACAL.EXE 10/27/92 Racal-Datacom EtherBlaster NI6510.EXE 12/13/93 Racore TokenLite 16/4 (M8116) RACLMO.EXE 07/13/94 Racore TokenLite 16/4 (M8119) RACLMO.EXE 07/13/94 Silcom Direct 16 Token-Ring Adapter SILCOM.EXE 07/13/94 Standard Microsystems: SMC PC130 SMCARC.EXE 04/02/93 SMC PC130E SMCARC.EXE 04/02/93 SMC PC130W SMCARC.EXE 04/02/93 SMC PC130WS SMCARC.EXE 04/02/93 SMC 3000 Series SMC3.EXE 04/02/93 SMC 8003E/A SMCMAC.EXE 04/02/93 SMC 8003EP SMCMAC.EXE 04/02/93 SMC 8003EPC SMCMAC.EXE 04/02/93 SMC 8013EPC SMCMAC.EXE 04/02/93 SMC 8003EWC SMCMAC.EXE 04/02/93 SMC 8003WC SMCMAC.EXE 04/02/93 SMC 9000 SMC900.EXE 12/28/93 Thomas Conrad (All Types) TCCARC.EXE 03/12/93 Thomas Conrad TC6042 TCCARC.EXE 03/12/93 Thomas Conrad TC6045 TCCARC.EXE 03/12/93 Thomas Conrad TC6142 TCCARC.EXE 03/12/93 Thomas Conrad TC6145 TCCARC.EXE 03/12/93 Thomas Conrad TC6242 TCCARC.EXE 03/12/93 Thomas Conrad TC6245 TCCARC.EXE 03/12/93 Thomas Conrad Token Ring Adapter TCCTOK.EXE 10/27/92 Tiara EtherStar LanCard/E TIARA.EXE 12/13/93 Tulip NCC-16 TULIP.EXE 10/27/92 Ungermann-Bass: UB NIU (All Types) UB.EXE 03/12/93 UB NIC/ps UB.EXE 03/12/93 UB NIUpc (PC2030) UB.EXE 03/12/93 UB NIUpc/3270 UB.EXE 03/12/93 UB NIUpc/EOTP (PC4035) UB.EXE 03/12/93 UB NIUps (PC3030) UB.EXE 03/12/93 UB NIUps/EOTP (PC3035) UB.EXE 03/12/93 UB PC5000 MasterLAN UB5000.EXE 12/28/93 UB pcNIU UB.EXE 03/12/93 UB pcNIU/ex 128K UB.EXE 03/12/93 UB pcNIU/ex 512K UB.EXE 03/12/93 Xircom Credit Card Ethernet XIRPCM.EXE 12/13/93 Xircom Pocket Ethernet I XIRCOM.EXE 03/12/93 Xircom Pocket Ethernet II XIRCOM.EXE 03/12/93 Xircon Packet Etnernet III XIRPE3.EXE 12/28/93 Zenith Data Systems: Z.Note 325L Notebook PC IMLM.EXE 04/02/93 Most Current Miscellaneous Software File to Download .EXE File Date --------------------------------------------------------------- Access Pack ACCP.EXE 03/12/93 Arches Wallpaper ARCHES.EXE 10/27/92 C and D Printer Fonts CDFONT.EXE 07/10/92 Chitz Wallpaper CHITZ.EXE 10/27/92 Chord Sound File CHORD.EXE 10/27/92 Marble Wallpaper MARBLE.EXE 10/27/92 MONOUMB.386 MONO.EXE 07/10/92 MSCDEX CDEXT.EXE 07/10/92 MS-DOS Executive MSEXE.EXE 08/12/92 Microsoft Mail Help MMHELP.EXE 10/27/92 Microsoft Schedule Plus Help SPHELP.EXE 10/27/92 Mystify Screen Saver SSMYST.EXE 10/27/92 Novell NetWare Upgrade NOVELL.EXE 07/10/92 Microsoft IPX Upgrade Utility NOVELL.EXE 07/10/92 Reversi REVERS.EXE 07/10/92 SYSINI.WRI WRI.EXE 07/10/92 TADA Sound File TADA.EXE 10/27/92 Tartan Wallpaper TARTAN.EXE 10/27/92 VPD.386 VPD386.EXE 07/10/92 Wacom ArtPad Tablet 1.0 ARTPAD.EXE 12/05/94 Wacom ArtZ Tablet 1.0 ARTZ.EXE 12/05/94 WININI.WRI WRI.EXE 07/10/92 KBCategory: kbnetwork kbdisplay kbsound kb3rdparty kbfile kbref kbmm KBSubcategory: wfw win31 wfwg windrvr Additional reference words: 3.10 getwdl soundblaster handicaps disability disabilities accessibility Windows and WFWG 3.1x Setup Error Codes (000 through 100) Article ID: Q82772 ---------------------------------------------------------------- ---- The information in this article applies to: - Microsoft Windows operating system versions 3.1, 3.11 - Microsoft Windows for Workgroups versions 3.1, 3.11 ---------------------------------------------------------------- ---- SUMMARY ======= When a Setup error message contains an error code, it also includes some text indicating what Setup was trying to do, for example, copying a file. The text of the error message indicates whether the error is fatal or not. In some nonfatal cases, Setup may be performing an operation (such as copying a file) that is needed to run Windows. Other times the error may prevent some specific feature of Windows from operating properly. In many cases, the error code is an MS-DOS extended error code. These error codes are between 0 and 100. Setup-specific error codes have two different formats, depending on whether the error occurs during the character (MS-DOS) mode or Windows graphical user interface (GUI) mode portion of Setup. The character mode Setup specific error numbers are in the format "Snnn", where "nnn" is any three digits. The GUI mode error numbers are codes greater than 200. MORE INFORMATION ================ In both character and GUI modes, the following MS-DOS error codes may be reported: 02 File not found - possible corrupt disks. 03 Path not found - possible hardware problem or incompatible software (virus?). 04 Too many open files - should never occur. May occur in maintenance mode Setup if WIN.COM, WIN.CNF, or another component is crosslinked with another file. 05 Access denied - make sure the file is not write protected or protected by virus protection software. 06 Handle invalid - serious problem, unknown. 07 Memory control blocks destroyed - serious problem, unknown. 08 Insufficient memory - free up memory and run Setup again. May also occur if very long or corrupt SYSTEM.INI, WIN.INI or SETUP.INF files exist. 09 Memory block address invalid - serious problem, unknown. 10 Environment invalid - serious problem, unknown. 11 Format invalid - serious problem, unknown. 12 Access code invalid - serious problem, unknown. 13 Data invalid - serious problem, unknown. 14 Unknown unit - serious problem, unknown. 15 Disk drive invalid - serious problem, unknown. 16 Attempted to remove current directory - serious problem, unknown. 17 Not same device - serious problem, unknown. 18 No more files - serious problem, unknown. 19 Write-protected disk - should never occur (different error message). 20 Unknown unit - serious problem, unknown. 21 Drive not ready - should never occur (different error message). 22 Unknown command - serious problem, unknown. 23 Data error (CRC) - possible corrupt disks. 24 Bad request-structure length - serious problem, unknown. 25 Seek error - possible corrupt disks. 26 Unknown media type - possible corrupt disks. 27 Sector not found - possible corrupt disks. 28 Write fault - possible corrupt disks. 30 Read fault - possible corrupt disks. 31 General failure - possible corrupt disks. 32 Sharing violation - should never occur (different error message). 33 File-lock violation - should never occur (different error message). 34 Disk change invalid - serious problem, unknown. 35 FCB unavailable - serious problem, unknown. When setting up to or from a network, the following MS-DOS error codes can occur: 50 Unsupported network request - serious problem, unknown. 51 Remote machine not listening - serious problem, unknown. 52 Duplicate name on network - serious problem, unknown. 53 Network name not found - serious problem, unknown. 54 Network busy - retry operation. 55 Device no longer exists on network - check with network administrator. 56 NetBIOS command limit exceeded - check with network administrator. 57 Error in network adapter hardware - check with network administrator. 58 Incorrect response from network - check with network administrator. 59 Unexpected network error - check with network administrator. 60 Remote adapter incompatible - serious problem, unknown. 64 Network name deleted - serious problem, unknown. 65 Network access denied - check with network administrator. 66 Incorrect network device type - serious problem, unknown. 67 Network name not found - serious problem, unknown. 68 Network name limit exceeded - check with network administrator. 69 NetBIOS session limit exceeded - check with network administrator. 70 Temporary pause in file sharing - check with network administrator. 71 Network request not accepted - check with network administrator. 72 Print or disk redirection paused - serious problem, unknown. 80 File already exists - serious problem, unknown. Setup will use MS-DOS to make sure it can write over existing files. 82 Cannot make directory - check with network administrator. 83 Fail on Int 24H (critical error) - some drivers will fail an access when an error occurs without issuing an Int 24H (which causes Setup to display an error message allowing you to retry the operation rather than just failing it). The cause of the error is bad disks or network problems. Some viruses and virus-protection software can cause this error to occur. 84 Too many redirections - serious problem, unknown. 85 Duplicate redirection - serious problem, unknown. 86 Invalid password - check with network administrator. 87 Invalid parameter - serious problem, unknown. 88 Net write fault - check with network administrator. KBCategory: kbsetup kbdisplay kberrmsg KBSubcategory: win31 wfw wfwg Additional reference words: 3.10 3.11 3.1 WW0530: SMARTDrive and 32-Bit Disk Access Article ID: Q83325 ---------------------------------------------------------------- - The information in this article applies to: - Microsoft Windows operating system version 3.1 ---------------------------------------------------------------- - Microsoft has an Application Note available titled "WW0530: SMARTDrive and 32-Bit Disk Access." This Application Note discusses the enhancements in Windows 3.1 features for accessing and using the hard disk drive of your computer. You can obtain this Application Note from the following sources: - CompuServe, GEnie, and Microsoft OnLine - Microsoft Download Service (MSDL) - The Internet (Microsoft anonymous ftp server) - Microsoft FastTips Technical Library - Microsoft Product Support Services For complete information, see the "To Obtain This Application Note" section at the end of this article. THE TEXT OF WW0530 ================== ================================================================ ====== Microsoft(R) Product Support Services Application Note (Text File) WW0530: SMARTDrive and 32-Bit Disk Access ================================================================ ====== Revision Date: 4/92 No Disk Included The following information applies to Microsoft Windows(TM) version 3.1. ----------------------------------------------------------------- --- | INFORMATION PROVIDED IN THIS DOCUMENT AND ANY SOFTWARE THAT MAY | | ACCOMPANY THIS DOCUMENT (collectively referred to as an | | Application Note) IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY | | KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO | | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A | | PARTICULAR PURPOSE. The user assumes the entire risk as to the | | accuracy and the use of this Application Note. This Application | | Note may be copied and distributed subject to the following | | conditions: 1) All text must be copied without modification and | | all pages must be included; 2) If software is included, all files | | on the disk(s) must be copied without modification [the MS-DOS(R) | | utility DISKCOPY is appropriate for this purpose]; 3) All | | components of this Application Note must be distributed together; | | and 4) This Application Note may not be distributed for profit. | | | | Copyright 1992 Microsoft Corporation. All Rights Reserved. | | Microsoft and MS-DOS are registered trademarks | | and Windows is a trademark of Microsoft Corporation. | ---------------------------------------------------------------- ---- INTRODUCTION ============ Microsoft Windows operating system version 3.1 has a number of enhancements over previous versions that improve both its usability and its performance. Foremost among these enhancements are Windows 3.1's improved features for accessing and utilizing the hard drive of your PC. SMARTDRIVE 4.0 DISK CACHE ========================= Microsoft's first release of the Windows graphical environment included a disk caching program called SMARTDrive 3.03. SMARTDrive has been improved with each subsequent release of Windows and has been entirely redesigned in Windows version 3.1. SMARTDrive 4.0 in Windows 3.1 provides faster and more intelligent disk caching that takes better advantage of the revolutionary way that Windows and Windows- based applications use extended memory. SMARTDrive 4.0 gives Windows 3.1: - Improved performance by speeding up hard disk and RAM access. - Improved stability in 386 enhanced mode by double buffering data when needed. The remainder of this section compares the performance of SMARTDrive 4.0 to SMARTDrive 3.x and illustrates how SMARTDrive 4.0 works at a more technical level. WHAT IS SMARTDRIVE? =================== SMARTDrive is a disk caching program that intercepts system calls to the hard disk to control read/write access to the disk. SMARTDrive intercepts any calls to the hard disk and loads the needed data into a cache it establishes in RAM. (Unless specified otherwise, SMARTDrive automatically determines a reasonable cache size based on the amount of free extended memory available when it initially loads; the maximum amount it will take is around 2 MB.) Subsequent calls to the hard disk are intercepted by SMARTDrive, which scans the cache for the requested data. If the data is already present in the cache, SMARTDrive can access it directly in RAM. If the data is not in the cache, SMARTDrive accesses the hard disk and loads the necessary data into the cache. The least recently used data residing in RAM is cached back to the hard disk to make room for the new data. By loading blocks of data from the hard disk into RAM, SMARTDrive helps decrease the number of calls to the hard disk. This can dramatically speed up applications that repeatedly access the hard disk for data because accessing the hard disk is considerably slower than accessing RAM. Essentially, SMARTDrive attempts to maintain information in RAM that an application needs at any given time from the hard disk. SMARTDRIVE 3.X ============== To understand why SMARTDrive needed to be redesigned, lets look at how SMARTDrive 3.x works and examine some of the shortcomings of its design. First, SMARTDrive 3.x is a read-only track cache, which means that it caches on a track basis and for read operations only. This means that the internal data structures of the SMARTDrive program are tied to the logical geometry of the disk (that is, what MS-DOS sees). In the diagram below, you can see that SMARTDrive 3.x caches at the ROM BIOS INT13 level and uses the BIOS-specified disk geometry to decide the size of its caching element (that is, track size). INT13 is the most common method for interacting with hard disks (and has evolved into the industry standard). SMARTDrive under Windows 3.0 can be loaded into either extended memory or expanded memory. Application (Read/Write INT21) | - - - - - - - - - - - - - - - - - | MS-DOS Call HD Driver | HD Driver INT 13 | ---------> SMARTDrive 3.x Chains INT13 ---------< | ROM BIOS | Hard Drive SMARTDRIVE 4.0 ============== SMARTDrive 4.0 is designed as a block-oriented disk cache. It hooks into the system at the MS-DOS device driver level rather than at the ROM BIOS INT13 level (as with SMARTDrive 3.x). Each block device driver on the MS-DOS device driver chain is "front-ended" by a SMARTDrive 4.0 module that provides the actual caching. This new design yields the following benefits: - It is independent of the INT13 interface. - It is independent of disk geometry. Application (Read/Write INT21) | - - - - - - - - - - - - - - - | MS-DOS Call HD Driver | ---------> SMARTDrive 4.0 HOOKS Driver ---------< | HD Driver INT 13 | ROM BIOS | Hard Drive Independent of INT13 Interface ------------------------------ Many device drivers do not use the INT13 (BIOS) interface (for example, Bernoulli drives, some hard cards, and many SCSI and WORM drives). This means that SMARTDrive 4.0 can cache these devices, whereas SMARTDrive 3.x cannot. SMARTDrive 4.0 can cache any disk controller that uses an MS-DOS block device driver. Independent of Disk Geometry ---------------------------- Some disk managers and disk controllers use a disk geometry mapping scheme that causes the logical geometry to be different from the physical geometry (for example, many PS/2 systems, Ontrack's Disk Manager, and several disk controllers). The INT13-based disk caches are sensitive to this and often have problems. For example, some disk management software actually changes the ROM BIOS-specified disk geometry, which confuses INT13-based disk caches (including SMARTDrive 3.x). There usually is an interface to determine the true geometry, but this requires detection of the specific disk manager driver and generally complicates the disk cache software. Often, logical tracks actually cross physical track boundaries, causing the track caches to incur performance penalties (intertrack seeks and rotational latencies, for example). To get around the ROM BIOS 1024-cylinder limitation, disk managers and controllers sometimes fold multiple tracks into one logical track. This results not only in problems with the physical track boundaries as noted above, buts forces track caches to have a very large track buffer as well. In some cases, this buffer can be as large as 31.5K and must reside in conventional memory. The design of SMARTDrive 4.0 eliminates this geometry mismatch problem. OTHER SMARTDRIVE 4.0 FEATURES ============================= Write-Behind Cache ------------------ SMARTDrive 4.0 is a write-behind cache, also known as lazy write. A write-behind cache adds significant performance improvements wherever files are being written to disk. For example, an application writes data to what it thinks is the hard disk. SMARTDrive takes this data and places it in the cache, rather than physically writing it to the disk. This write-behind data stays in the cache until one of the following occurs: 1. The cache fills up. The oldest block in the cache is freed up, and if it is write-behind data, physically written to the disk. 2. The system goes idle. SMARTDrive writes the oldest write-behind data block to the physical disk. As long as the system is idle, SMARTDrive continues to write to the disk until all the write- behind data is written. This write-behind data also comes from Windows-based and MS-DOS-based applications that are idle. 3. SMARTDrive detects that you have pressed CTRL+ALT+DEL. When you restart by pressing CTRL+ALT+DEL, SMARTDrive writes all write- behind data to the physical disk. This is a synchronous operation-- SMARTDrive does not give up control until all data is written. 4. A block is older than five seconds. If a block is older than five seconds, it is written to the physical disk. Shrink Algorithm ---------------- Similar to SMARTDrive 3.x, SMARTDrive 4.0 implements a shrink algorithm that frees memory for Windows (that is, the cache set up by SMARTDrive is removed from memory). The difference is that SMARTDrive 4.0 watches for the Windows startup broadcast while SMARTDrive 3.x provides an IOCTL interface. The net effect is identical, but the SMARTDrive 4.0 code is much simpler. Upon exiting Windows, the process is reversed and the memory is reacquired by SMARTDrive 4.0. Automatic Load High ------------------- When an upper memory block (UMB) provider (such as EMM386.EXE) is loaded, SMARTDrive 4.0 (SMARTDRV.EXE) automatically attempts to load itself high. Unlike the Windows 3.0 SMARTDrive, SMARTDrive 4.0 can only be loaded into extended memory. DOUBLE BUFFERING AND BUS MASTERING ================================== The second major benefit of SMARTDrive 4.0 is the protection it provides through double buffering. Double buffering is a response to bus mastering, which is supported by certain (usually older) disk controllers. Bus mastering refers to a situation in which the hard disk controller takes over the bus to directly transfer data to or from system RAM, bypassing the CPU entirely. A problem occurs when Windows 3.x virtual machines and/or popular memory managers (such as EMM386.EXE and QEMM.SYS) are running in virtual 8086 mode. The read or write address that is passed to MS-DOS from the bus master controller is often not the same as the actual physical memory address. This can cause data to be read from the wrong location, or worse, can cause data to be written to the wrong RAM address, resulting in erratic system behavior and potential file corruption. When paging is enabled on an 80386 or faster processor, it is possible for the physical address (the actual location of the memory) to be different from the virtual address (the address that programs are using to access memory). Paging is enabled by all device drivers that can provide load high capability and by Windows in 386 enhanced mode. For example, say SMARTDrive wants to write to an area of memory that has a virtual address in conventional memory, but a physical address in extended memory. When the hard drive controller takes over the bus and transfers data from the UMB to the disk, the controller does not use the CPU, so there is no address translation, resulting in the wrong data being written to disk. To avoid this problem, double buffering copies the data into a buffer in conventional memory and then passes the information to the hard disk controller. So, the virtual address always equals the physical address when using devices that only recognize conventional memory. Installing Double Buffering --------------------------- To install the SMARTDrive double-buffering feature, add the following line to your CONFIG.SYS file: device=c:\windows\smartdrv.exe /double_buffer Including this line does not install the cache, only the double- buffering driver. The cache must be installed from the AUTOEXEC.BAT file or MS-DOS command line. Most disk controllers do not need double buffering. These include all MFM, RLL, and IDE controllers as well as many ESDI and SCSI devices. The Setup program in Windows 3.1 will install the double buffer in the following cases: 1. If the computer has an 80386 or faster processor 2. If 32-Bit Disk Access was not installed in the SYSTEM.INI file (see next section) You should install the double buffer in these cases in the interest of added safety. Another new feature of SMARTDrive 4.0 that helps you determine if double buffering is necessary is the smartdrv command. Once your system is running with SMARTDrive loaded, type "smartdrv" (without the quotation marks) at the MS-DOS prompt and press ENTER. Information similar to the following is displayed: Microsoft SMARTDrive Disk Cache version 4.0 Copyright 1991, 1992 Microsoft Corp. Cache size: 1,048,576 bytes Cache size while running Windows: 1,048,576 bytes Disk Caching Status drive read cache write cache buffering --------------------------------------------------- A: yes no no B: yes no no C: yes yes yes D: yes yes --- For help, type "Smartdrv /?". Note the column labeled "buffering." For each drive that is being cached, one of three values is displayed--"yes," indicating that double buffering is needed; "no," indicating that double buffering is not needed; or "---," indicating that SMARTDrive has not yet determined the necessity of double buffering. If the buffering column displays a "no" for each drive, the double buffer driver is unnecessary, and you can safely remove it from your CONFIG.SYS file. Setting Up SMARTDrive 4.0 ------------------------- The Setup program in Microsoft Windows 3.1 automatically installs SMARTDrive (SMARTDRV.EXE) in the first line of your AUTOEXEC.BAT file. In general, you should let the Setup program configure SMARTDrive's cache size for you. However, please note it is critical that SMARTDRV.EXE load after any block devices that reside on your system, such as: - Hard disk partitioning software (for example, DMDRVR.BIN and SSTOR.SYS) - Hard disk drivers (for example, SCSI drives, hard cards, and Bernoulli drives) - Data encryption software (for example, Stacker and DoubleDisk) The configuration of SMARTDRV.EXE is controlled by command-line parameters. Most configuration options can be modified without restarting; however, without the Windows Resource Kit utility SMARTDrive Monitor (SMARTMON.EXE), the configuration cannot be altered while running Windows. Also note that SMARTDrive: - Needs a minimum cache size of 16K. - Creates a cache size of 16K by default if you supply an invalid cache size. - Gives you benefits up to a cache size of 2 MB, whereupon the benefits typically plateau. 32-BIT DISK ACCESS ================== Another new feature of Windows 3.1 is its use of 32-Bit Disk Access. 32-Bit Disk Access is not a program but rather a term used to refer to a system of Windows components working together. The main purpose of these components is to allow Windows to interact directly with the hard disk, bypassing the BIOS, which is normally used for communicating with the hard disk. Under 386 enhanced mode Windows, where 32-Bit Disk Access is supported, you get the following benefits: - Faster hard disk access - Ability to run more MS-DOS-based applications - Faster overall system response, even when running MS-DOS-based applications in the background - More powerful off-the-shelf disk utilities to choose from, since independent software vendors (ISVs) are writing programs that take advantage of this new set of services WHAT IS 32-BIT DISK ACCESS? =========================== - A SYSTEM OF WINDOWS COMPONENTS. Some of these components are called 32-Bit Disk Access devices, but they are useless without the rest of the components to support them. Each of these components is discussed below. - A REPLACEMENT FOR THE HARD DISK BIOS. 32-Bit Disk Access serves as a device driver that interacts with the hard disk controller. 32-Bit Disk Access watches for INT13H calls and handles them if they are for the disk it represents; otherwise, it passes the calls on to the BIOS in the usual way, as if 32-Bit Disk Access were not available. - AN EXACT MATCH FOR THE HARD DISK CONTROLLER (NOT THE SPECIFIC HARD DISK). There are some standards for hardware communication that work on many different controllers. The most widely adopted standard is that introduced by Western Digital in its 1003 controllers. This is the standard supported by Windows 3.1 and more than 90 percent of hard disk controllers, with the exception of ESDI and SCSI controllers. - AN OPEN STANDARD FOR CERTAIN CONTROLLERS. 32-Bit Disk Access is an open standard that is being promoted to all manufacturers of hard disk controllers. This means that every manufacturer has the opportunity to write a device driver that supports 32-Bit Disk Access functionality for its hardware. Many hardware manufacturers are writing 32-Bit Disk Access device drivers that will be available at the time Windows 3.1 ships or shortly thereafter. - AN OPTION, NOT A SYSTEM REQUIREMENT. Without the 32-Bit Disk Access device driver installed, you lose the hardware-access benefits provided by 32-Bit Disk Access, but your system is otherwise unaffected. Windows 3.1 without 32-Bit Disk Access has the same disk access capabilities of Windows 3.0. DISK ACCESS UNDER MS-DOS ======================== The 32-Bit Disk Access feature bypasses the system BIOS to more directly control hard disk access. It acts, in a sense, as the hard disk controller. Before discussing how disk access has changed under Windows 3.1, let's look at how MS-DOS handles calls to the hard disk. In the MS-DOS-based PC, when an application wants to read from the disk, it tracks the following sequence: H/W INT21H INT13H I/O ------> -----> -----> ----- ------ ---- ---------- ----- | APP | |MS-DOS| |BIOS| |Controller| ->|Drive| ----- ------ ---- ---------- ----- 1. The application makes an INT21H call to MS-DOS. 2. MS-DOS locates the requested part of the file on the hard disk. 3. MS-DOS issues an INT13H call to talk to the hard disk BIOS. The BIOS contains a program to control each device in the system. 4. The BIOS driver talks directly to the hard disk controller. Each hard disk controller requires its own BIOS driver, but these BIOS drivers are usually not specific to the hard disk itself, but rather to the controller board (or adapter) that connects the hard disk to the rest of the system. This system works well, because MS-DOS is able to identify the files and directories and keep track of their locations, regardless of the type of hard disk MS-DOS is accessing. But, on the other hand, the system BIOS is wholly linked to the hard disk, which provides disk independence for the applications but does not allow the BIOS to differentiate between a call from MS-DOS or a program such as SMARTDrive. But remember that not all disk device drivers reside in ROM. If you purchase an off-the-shelf disk drive and install it, your computer's ROM BIOS may not know how to communicate with it. If this is the case, you must install a device driver that is specific to your new hard disk. This additional device driver is usually installed in your CONFIG.SYS file when you install the software that comes with your hard disk. With some devices, such as a CD-ROM drive, a device driver that provides the BIOS interface and INT13H interface to the CD-ROM drive appears in your AUTOEXEC.BAT file. This type of device driver traps INT13H calls to the hard disk and makes sure the calls are understood by the hard disk. Usually, the device driver handles any attempts to access the hard disk; the calls never get passed on to the real ROM BIOS. If the call is not for the device that the device driver represents, then the INT13H call is passed on to the BIOS, where it is handled in the usual way. 32-Bit Disk Access represents a way for Windows to provide a BIOS that better suits customers' device support needs. 32-BIT DISK ACCESS SPEEDS UP DISK ACCESS ======================================== On many machines, the resident hard disk BIOS is slow and inefficient. Since 32-Bit Disk Access is specific to devices, it is often more efficient, leading to very impressive performance increases. 32-Bit Disk Access also allows Windows 3.1 to handle BIOS requests in protected mode, rather than in real mode, which may also speed up disk access. The following diagram charts the flow of calls under Windows in standard mode: H/W INT21H INT13H I/O ------> -----> -----> ----- ------ ---- ---------- ----- | APP | |MS-DOS| |BIOS| |Controller| ->|Drive| ----- ------ ---- ---------- ----- Under 386 enhanced mode Windows, the flow of calls is more complicated: ------------------------------------------------- | Enhanced Mode Virtual Devices | ------------------------------------------------- Protected / \ / \ Mode / \ / \ ----------/-----\------/--------\------------------------------- ---- Virtual / \ / \ Mode / \ / \ ----- INT21H ------ INT13H ---- H/W ---------- ----- | APP | |MS-DOS| |BIOS| I/O |Controller|-->|Drive| ----- ------ ---- -----> ---------- ----- Windows 3.1 and Windows applications run in protected mode. Windows has to switch back into real mode (or virtual 8086 mode) to run older code (for MS-DOS and the BIOS calls, for example). Switching modes is very time consuming. For example, when a non-Windows application running under 386 enhanced mode tries to read from a file, the following occurs: Windows starts out in virtual mode running the application. Windows makes an INT21H call to read from the file. 386 enhanced mode traps this interrupt and switches to protected mode, where a number of virtual device drivers look at the call and try to qualify it. If none of the device drivers intercepts the call, the call is accepted and is subsequently handed off to MS-DOS. Windows then switches back to virtual mode to let MS-DOS handle the call. MS-DOS reads a particular location on the disk and then generates an INT13H call to talk to the BIOS. Windows in 386 enhanced mode then traps the call again and switches to protected mode to perform certain tasks, hands the call back to the real BIOS, and switches back to virtual mode. The BIOS handles the call and accesses the hard disk controller to set the physical read in motion. Once the BIOS reads the call, Windows goes back to protected mode to perform more tasks and then returns to virtual mode to let MS-DOS see the returned call. Windows returns the INT21H call, switches to protected mode to perform yet more tasks, and then finally switches back to virtual mode to communicate with the application that issued the call to begin with. All this mode switching takes time but is necessary due to the nature of the 80386 processor, MS-DOS, and the PC BIOS. With a 32-Bit Disk Access device installed, Windows can start trapping INT13H calls and handling them entirely in protected mode. With 32-Bit Disk Access, the call diagram now looks like this: ---------------------------- H/W ---------- ----- |Enhanced Mode |32-Bit Disk| I/O |Controller| ->|Drive| |Virtual Devices | Access| -----> ---------- ----- ----------------------------- Protected / \ / Mode / \ / -----------/-------\- ----/--------------------------------------- Virtual / \ / Mode / \ / ----- INT21H ------ INT13H ---- | APP | |MS-DOS| |BIOS| ----- ------ ---- With 32-Bit Disk Access, Windows no longer has to go through two mode transitions--one mode to get to the BIOS and the other mode to get back. Only two mode switches per INT13H call, rather than four, are now being performed. 32-BIT DISK ACCESS SUPPORT FOR NON-WINDOWS APPLICATIONS ======================================================= Sometimes Windows shows an adequate amount of free memory and large Windows-based applications run just fine, yet an "Out of Memory" message is generated when a non-Windows application is started. Also, in spite of the available memory, Windows-based applications may slow down and constantly access the hard disk after a non-Windows application is started. These discrepancies occur because of the difference between virtual memory (which is often large) and physical memory (RAM, which is usually limited). On a given machine, virtual memory might be four times the size of RAM. But, while virtual memory works well for Windows-based applications, it doesn't always meet all the system's memory needs for MS-DOS-based applications. Because each non-Windows application runs in its own virtual machine, each application takes up 640K or more of virtual memory. When the virtual machine is actually running, all of the program code needs to occupy RAM. Parts of the non-Windows application cannot be paged out while keeping other parts in RAM, as is the case with Windows-based applications. The virtual machine in which the non-Windows application runs must be treated as a single block. This is true even if the application is currently inactive in the background. With Windows-based applications, most of the program remains resident on the hard disk, while only the parts that are actually being used are loaded in RAM. Problems occur when Windows tries to do this with non-Windows-based applications. If a part of the application that is not currently being used--a data buffer, for example--is paged out, it can always be read back in whenever the application needs to access it. However, if the application makes a call to MS-DOS to read some data from the disk into a buffer, MS-DOS starts handling the call by making a call to INT13H to talk to the BIOS, which in turn talks to the hard disk controller, resulting in the transfer of data into the buffer. So when the application needs to transfer the page into the buffer, which is currently out on disk, the application tries to call MS-DOS to read the page. Because MS-DOS is already occupied, the application can't call MS-DOS; and MS-DOS is not reentrant, so the second call from the application fails. Nor can the application have the page read by calling the BIOS, because the BIOS is also in the middle of a call, so it can't be reentered either. This situation results in a type of deadlock: the application can't let the current call finish until the page is put in the buffer, but the page cannot be placed in the buffer until the current call finishes. The only way to ensure that this deadlock situation does not occur is to make sure that Windows never has to page anything in while the application is in the middle of an MS-DOS or BIOS call. Because Windows cannot predict ahead of time what the application will try to access, the only way to be 100-percent safe from deadlocking is to make sure everything the application might try to access is already in RAM (that is, never paged out to disk). In other words, all 640K-plus of the virtual machine in which the non-Windows application is running has to remain resident in RAM, thereby using up a lot of physical memory. Running several non-Windows-based applications at once uses large amounts of RAM, so you may soon end up with only a small amount of free RAM left for everything else you're trying to do, such as run Windows-based applications. When you check the Program Manager About dialog box (from the Help menu), it shows that you have plenty of memory--virtual memory--and you do. But if you try to start another non-Windows application, which requires yet another 640K of RAM, the application won't start. So, Windows starts running sluggishly and/or may generate the "Out of Memory" message. So how does 32-Bit Disk Access help? Windows 3.0 offered a contiguous paging file (which is created with Swapfile) for any pages using the INT13H BIOS calls. Windows 3.1 handles the same task by making calls to the 32-Bit Disk Access system. Unlike MS-DOS or the BIOS, the 32- Bit Disk Access system can queue up multiple requests and is completely reentrant. Windows no longer needs to rely on MS-DOS or the BIOS; so regardless of what the application is doing, Windows can always page calls in from the hard disk. Free from a potential deadlock situation, Windows 3.1 can now make the virtual machines that are running completely pageable. Non-Windows-based applications no longer need to take up so much RAM, since they can now use virtual memory the way Windows-based applications do. When Windows needs some RAM space, it can now page out pieces of these virtual machines. With Windows 3.1 and 32-Bit Disk Access, you can run multiple non- Windows-based applications and Windows-based applications without generating an "Out of Memory" message. When the About box tells you that you have 14 MB of memory, you can actually use all 14 MB for running your applications, whether they are Windows or non-Windows. Improved Performance for Non-Windows Applications Under Windows --------------------------------------------------------------- In the previous example, we saw how 32-Bit Disk Access in Windows can page non-Windows-based applications to free up enough RAM for those applications when they need to use it. The 32-Bit Disk Access feature also improves Windows performance all around, making the system run much more quickly. Switching between non-Windows-based applications by pressing ALT+TAB is faster with 32-Bit Disk Access. Without 32-Bit Disk Access, a non- Windows application can only be swapped out to disk if it is configured to not run in the background. This means when you press ALT+TAB to switch to such an application, Windows has to read the entire program into RAM, causing the task switching to take a long time. When Windows is paging using 32-Bit Disk Access, Windows can load in just the small amount of information that the application is actually using, so task switching becomes almost instant. And, since only a small part of the application needs to be in RAM at one time, Windows may not have to access the hard disk at all. THE COMPONENTS OF THE 32-BIT DISK ACCESS SYSTEM =============================================== The 32-Bit Disk Access system is composed of the following 386 enhanced mode virtual devices: - WDCTRL, which is the 32-Bit Disk Access device that talks to standard Western Digital 1003 or ST506 hard disk controllers (about 90 percent of the installed base). WDCTRL is only installed if Setup detects a compatible hard disk controller. - BlockDev, which coordinates calling block I/O services between devices and the 32-Bit Disk Access devices that provide those services for specific hard disk controllers. BlockDev is always installed. - PageFile, which handles the virtual memory paging file and calls through BlockDev if any 32-Bit Disk Access devices are available. PageFile is always installed. - INT13, which traps and emulates INT13H BIOS calls by calling BlockDev. INT13 is only installed if at least one 32-Bit Disk Access device is present. Because WDCTRL is the only 32-Bit Disk Access device included in the Windows box, the standard Windows components only support 32-Bit Disk Access for Western Digital-standard controllers. When you run Setup, it automatically detects these controllers and adds the following lines to the [386Enh] section of your SYSTEM.INI file: device=*int13 device=*wdctrl If you want to disable 32-Bit Disk Access, start the Control Panel and choose the 386 Enhanced icon, or comment the lines out of your system by placing a semicolon (;) at the beginning of both lines. You do not need to delete any files from your hard disk, as the 32-Bit Disk Access devices are contained within the file WIN386.EXE. 32-BIT DISK ACCESS AND HARD DISK PROTECTION =========================================== Microsoft identified machines where the use of WDCTRL can stop the system. Usually, this is caused by hard disk controllers that appear to be Western Digital 1003 compatible but are really not. WDCTRL has been put though rigorous testing to make sure it is as safe as possible, and is designed with a built-in safety measure--every time it starts, it performs elaborate tests to make sure it can communicate in the same language as the hard disk controller before it attempts to read and write data. WDCTRL starts testing by taking a peripheral look at some data on the hard disk for tell-tale traces of a Western Digital 1003-compatible controller. If the controller passes that test, WDCTRL then starts calling up larger pieces of data to try to elicit the correct response. Finally, after much redundant checking, WDCTRL tries actually reading data from the disk. If it is able to read data, WDCTRL then tries to write data and read it back. Only after the read/write test is passed does WDCTRL continue and start Windows, reassured that it will not cause any catastrophic errors on the hard disk. However, there are still a few exceptions. There are drives that appear to be WD1003 compatible but are not, and which cannot be detected by WDCTRL. In addition, there can be problems even with compatible controllers on some portable computers, specifically those that power down the hard disk to conserve power without telling the running software. If the disk is powered down and then back up while it is being tracked by WDCTRL, the tracking information will be incorrect, and serious damage can result. For these reasons, 32-Bit Disk Access is not turned on by default. When you install Windows, 32- Bit Disk Access is disabled until you make the decision to enable it through Control Panel. Only original equipment manufacturers (OEMs) who preinstall Windows 3.1 on a 100-percent-compatible system can turn 32-Bit Disk Access on before the user receives the system without jeopardizing the user's hard disk. When something does go wrong, WDCTRL may do different things, depending on where it is in its verification code. The initial tests have reported WDCTRL as extremely safe. The controllers that WDCTRL fails with are considered incompatible with 32-Bit Disk Access, so WDCTRL simply does not load when it senses these unsupported controllers. This procedure is invisible to the user; he or she just won't receive the benefits of 32-Bit Disk Access. If WDCTRL fails a test after it is installed, Windows displays an error message that warns that something is wrong, most likely that the hard disk might have been damaged, and advises to restart the machine (so that WDCTRL does not load, and 32-Bit Disk Access is disabled). THIRD-PARTY 32-BIT DISK ACCESS DEVICES ====================================== Windows 3.1 ships with only one 32-Bit Disk Access device--WDCTRL. However, Microsoft is working with most of the major hardware and software vendors to help them design 32-Bit Disk Access devices for their products. Concerns regarding distribution and quality of testing for these third-party devices are currently being addressed. ---------------------------------------------------------------- ------ TO OBTAIN THIS APPLICATION NOTE =============================== - On CompuServe, GEnie, and Microsoft OnLine, Application Notes are located in the Microsoft Software Library. You can find WW0530 in the Software Library by searching on the word WW0530, the Q number of this article, or S13374. WW0530 is a compressed, self-extracting file. After you download WW0530, run it to extract the file(s) it contains. - Application Notes are available by modem from the Microsoft Download Service (MSDL), which you can reach by calling (206) 936-6735. This service is available 24 hours a day, 7 days a week. The highest download speed available is 14,400 bits per second (bps). For more information about using the MSDL, call (800) 936-4200 and follow the prompts. To obtain WW0530, download WW0530.EXE. WW0530.EXE is a compressed, self-extracting file. After you download WW0530, run it to extract the file(s) it contains. - On the Internet, Application Notes are located on the Microsoft anonymous ftp server, which you can reach by typing "ftp ftp.microsoft.com" (without the quotation marks) at the ">" command prompt. - You can have this Application Note mailed or faxed to you from the automated Microsoft FastTips Technical Library, which you can call 24 hours a day, 7 days a week at (800) 936-4200. NOTE: The FastTips Technical Library is available only to customers within the U.S. and Canada. - If you are unable to access the source(s) listed above, you can have this Application Note mailed or faxed to you by calling Microsoft Product Support Services Monday through Friday, 6:00 A.M. to 6:00 P.M. Pacific time at (206) 637-7098. If you are outside the United States, contact the Microsoft subsidiary for your area. To locate your subsidiary, call Microsoft International Sales Information Center at (206) 936-8661. KBCategory: kbother kbfile kbappnote KBSubcategory: Additional reference words: appnote 3.10 win31 Windows 3.1 Err Msg: Call to Undefined Dynalink Article ID: Q84795 ---------------------------------------------------------------- ---- The information in this article applies to: - Microsoft Windows operating system versions 3.1, 3.11 ---------------------------------------------------------------- ---- SUMMARY ======= When you run Microsoft Windows, incorrect or outdated dynamic link library (.DLL) files can cause the following error message: Call to Undefined Dynalink This article discusses several software products and files that can cause this error message with outdated files, including: - Access Pack for Microsoft Windows - Ace File Database - Artisoft LANtastic for Windows - LaserTools PCPanel - Microsoft Bookshelf - Microsoft Dr. Watson - Microsoft LAN Manager - Microsoft printer drivers - Microsoft SHELL.DLL file (Program Item Properties dialog) - Powersoft PowerBuilder - Novell NetWare utilities MORE INFORMATION ================ Access Pack for Microsoft Windows --------------------------------- After you install Access Pack for Microsoft Windows (available on the Windows Driver Library [WDL]), you may receive the "Call To Undefined Dynalink" error message when you try to run one of the Access Pack utilities. The error occurs because one or more of the following conditions exist: - The MOUSE.DRV= entry in the [BOOT] section of the SYSTEM.INI file points the wrong mouse driver. - The KEYBOARD.DRV= entry in the [BOOT] section of the SYSTEM.INI file points the wrong keyboard driver. - The Access Pack mouse driver (AP-MOU.DRV) in your Windows SYSTEM subdirectory is not the current version. - The Access Pack keyboard driver (typically AP-KBD.DRV, AP-KBDHP.DRV, or AP-KBDOL.DRV) in your Windows SYSTEM subdirectory is not the current version. If the MOUSE.DRV= entry in the [BOOT] section of the SYSTEM.INI file points to anything other than AP-MOU.DRV, change it to read MOUSE.DRV=AP-MOU.DRV, and then copy the AP-MOU.DRV file from the WDL disk to your Windows SYSTEM subdirectory. For example, if Windows is installed in the C:\WINDOWS directory and your WDL disk is in drive A, type the following at the MS-DOS command prompt and then press ENTER: copy a:\ap-mou.drv c:\windows\system If the KEYBOARD.DRV= entry in the [BOOT] section of the SYSTEM.INI file points to KEYBOARD.DRV, KBDHP.DRV, or KBOLI,DRV, change it to point to the appropriate Access Pack keyboard driver (AP-KBD.DRV, AP-KBDHP.DRV, or AP- KBDOL.DRV), and then copy the corresponding file from the WDL disk to your Windows SYSTEM subdirectory. For example, if Windows is installed in the C:\WINDOWS directory, your WDL disk is in drive A, and you change your KEYBOARD.DRV= entry from KEYBOARD.DRV to AP-KBD.DRV, type the following at the MS-DOS command prompt and then press ENTER: copy a:\ap-kbd.drv c:\windows\system NOTE: If your current keyboard driver is not AP-KBD.DRV, AP-KBDHP.DRV, or AP-KBDOL.DRV, contact your mouse vendor to determine if it is compatible with the Microsoft Mouse driver. If it is not, your mouse vendor may provide Access Pack-compatible drivers. If the MOUSE.DRV= entry in the [BOOT] section of the SYSTEM.INI file points to the Access Pack mouse driver (AP-MOU.DRV), replace the file with the correct mouse driver from the WDL disk. For example, if Windows is installed in the C:\WINDOWS directory and your WDL disk is in drive A, type "copy a:\ap-mou.drv c:\windows\system" (without the quotation marks) at the MS-DOS command prompt and then press ENTER. If the KEYBOARD.DRV= entry in the [BOOT] section of the SYSTEM.INI file points to AP-KBD.DRV, AP-KBDHP.DRV, or AP-KBDOL.DRV, replace the file with the correct keyboard driver from the WDL disk. For example, if Windows is installed in the C:\WINDOWS directory, your WDL disk is in drive A, any you are using AP-KBD.DRV, type "copy a:\ap-kbd.drv c:\windows\system" (without the quotation marks) at the MS-DOS command prompt and then press ENTER. NOTE: If the Access Pack keyboard drivers are installed properly, most Access Pack features work correctly even if an improper mouse driver is installed. However, the MouseKeys and SerialKeys features are disabled, and you cannot run the Access Utility to customize the settings or view Help. For more information about how to run Access Pack for Microsoft Windows with unsupported hardware, query on the following words in the Microsoft Knowledge Base: using and access pack and unsupported hardware For more information, query on the following words in the Microsoft Knowledge Base: access.wri and wdl Ace File -------- The database program Ace File version 1.0 for Windows may cause a "Call to Undefined Dynalink" error message when you choose Open from the File menu and select Database. Ace Software can be contacted at (408) 451-0100. There is currently no solution to this problem. Contact Ace Software for an upgrade. Artisoft LANtastic for Windows ------------------------------ You may receive a "Call to Undefined Dynalink" error message or "FatalExit code=0x0404" if you are running an earlier version of the LANtastic version 3.0 install program WINSTALL.EXE. These error messages occur if the date of the WINSTALL.EXE file is earlier than 10/23/91. They do not occur if you use Windows 3.1 to update an existing version of Windows 3.0 that was already configured for the network. To correct this problem, obtain an updated version of the WINSTALL.EXE file by contacting LANtastic technical support. Lasertools PCPanel ------------------ When running under Windows 3.1, the LaserTools utility Printer Control Panel (PCPanel) may cause a "Call to Undefined Dynalink" error message. PCPanel is produced by LaserTools and ships with some NEC printers, the Texas Instruments MicroLaser, and Okidata Lasers. PCPanel looks for HPPCL or PostScript data being sent to the printer and then modifies the data being sent. This function may not work correctly with Windows 3.1 and may cause error messages and/or printing problems. This problem has been corrected in version 2.3 of PCPanel, and is available from LaserTools. To Obtain Version 2.3: Current owners of PCPanel can receive a new copy by calling LaserTools at (800) 995-6487. NEC Silentwriter owners who purchased their printer after January 1, 1992 receive this upgrade free of charge. Silentwriter owners who purchased their printers before January 1, 1992 are charged a $15.00 handling and shipping fee. The software upgrade center accepts popular credit cards or a check by mail. The mailing address is: NEC Redemption Center P.O. Box 3503, Wallingford, CT 06494 The upgrade package includes installation instructions, and also revised .WPD files for Silentwriter Model 95 usage with Windows 3.1. This 800 number is for SOFTWARE UPGRADES only, and is not a technical support center. NEC Bulletin Board System (BBS): (508) 635-4706 Temporary Workaround: Until you receive the updated version of PCPanel, you can work around the problem by removing PCPanel. The following paragraph is taken from the "Printer Control Panel Owner's Manual": If you install Printer Control Panel for Windows 3.0, certain information is added to your Windows 3.0 files. If you wish to remove that information from your working copy of Windows 3.0, you must use the Re-INSTALL program to do so. Simply choose the Remove PCPANEL From Windows selection from the Windows 3.0 menu in INSTALL. You'll want to remove Printer Control Panel as an application in Windows 3.0 also. Refer to Appendix A. NOTE: Appendix A shows how to delete the PCPanel icon. According to LaserTools technical support, you can remove the Printer Control Panel with the following steps: 1. In the PCPrinter or LaserTools directory, type: install /u 2. Select "Skip this step without modifying the AUTOEXEC.BAT." 3. Choose Remove Printer Control Panel For Windows. NOTE: The MS-DOS-based TSR can remain in place. Microsoft Dr. Watson -------------------- If you have an earlier version of TOOLHELP.DLL (dated before 3-10-92) in your Windows directory, you will receive a "Call to Undefined Dynalink" error message. When earlier versions of Dr. Watson were installed under Windows 3.0, DRWATSON.EXE and TOOLHELP.DLL were installed into the Windows directory. When Dr. Watson version 0.80 is installed during the installation of Windows 3.1, DRWATSON.EXE is installed into the Windows directory, and TOOLHELP.DLL is installed into the Windows\SYSTEM directory. To correct this problem, delete the TOOLHELP.DLL file from the Windows directory. NOTE: This problem can also occur with an earlier version of SHELL.DLL (see below), OLECLI.DLL, OLESVR.DLL, and COMMDLG.DLL. All these files should be located in the Windows\SYSTEM directory and should be dated 3/10/92 or later. Microsoft LAN Manager --------------------- If you receive a "Call to Undefined Dynalink" error message when starting Windows 3.1 with Microsoft LAN Manager loaded, you most likely have outdated versions of LAN Manager network dynamic link libraries (DLLs). Using the proper versions of the DLLs corrects the problem. Normally, the original DLLs, NETAPI.DLL and PMSPL.DLL, are in the NETPROG subdirectory of the LAN Manager directory and they are updated in place. The original DLLs are backed up to NETAPI.BAK and PMSPL.BAK. To prevent the destruction of the original files when multiple installations or updates take place, the files are not updated if the .BAK files are already present. The problem can result from a variety of causes: - If the backup files are present but the DLLs are out of date, then the files are not updates and the out-of-date DLLs are used. - If the LAN Manager directory isn't found during setup, but the out-of-date DLLs are in the path, they are used. - If Windows was set up for a different network, and you changed to LAN Manager 2.0 from Windows Setup in maintenance mode, the drivers aren't copied correctly. MS-DOS maintenance mode Setup copies the files correctly. The LAN Manager 2.0 files are called NETAPI20.DLL and PMSPL20.DLL on the Windows disks. They may be present in the system directory in some cases. If the files are not, they can be expanded from the Windows disks using the EXPAND utility. These files should be copied to the NETPROG subdirectory of the LAN Manager directory and renamed to NETAPI.DLL and PMSPL.DLL. Note that these LAN Manager 2.0 DLLs should NOT be used with LAN Manager 2.1. The DLLs and drivers provided with LAN Manager 2.1 should be used. If the error message results on a LAN Manager 2.1 configuration, NETAPI.DLL and PMSPL.DLL may have been overwritten by LAN Manager 2.0 libraries and should be expanded from the LAN Manager 2.1 disks. This can occur if you specified LAN Manager 2.0 as your network when installing Windows 3.1 and then changed to LAN Manager 2.1. This will happen most likely when using batch mode installations on dissimilar machines. If the .BAK files are larger than the .DLL files, then this has probably occurred. Microsoft SHELL.DLL File (Program Item Properties Dialog) --------------------------------------------------------- Choosing the Change Icon button in the Program Item Properties dialog box in Windows 3.1 may cause the "Call to Undefined Dynalink" error message if the SHELL.DLL file is dated earlier than 3-10-92: To update the SHELL.DLL file: 1. Expand the SHELL.DLL file from the original Windows 3.1 disks (Disk 4 of the 1.44-MB 3.5-inch disk set, or Disk 5 of the 1.2- MB 5.25-inch disk set) to the Windows\SYSTEM directory. To do this, at the MS-DOS command prompt, type the following expand [drive1]:\shell.dl_ [drive2]:\windows\system\shell.dll where "drive1" is the drive designating the location of the Windows 3.1 disk, and "drive2" is the drive on which Windows 3.1 is installed. 2. Remove any SHELL.DLL files that may exist in the Windows directory. Microsoft Printer Drivers ------------------------- The "Call to Undefined Dynalink" error message may occur if Windows version 3.1 attempts to use a Windows version 3.0 printer driver. You must remove the Windows version 3.0 printer driver and install the Windows version 3.1 printer driver to correct the problem. NOTE: You must remove duplicate printer driver entries from the Installed Printers list or you will be unable to install a new Windows version 3.1 printer driver from the Windows disks. Be sure to search all drives and directories for outdated printer drivers. This is especially important if you are running on a network, where printer drivers may be stored in multiple directories. Novell NetWare Utilities ------------------------ When you start Windows for Workgroups, the wallpaper appears, the "Call to Undefined Dynalink" error message flashes on the screen, and you return to an MS-DOS prompt. If you have the Novell NetWare Tools for Windows installed and their files are dated earlier than 1992 you need to update the utilities. Powersoft Powerbuilder ---------------------- Using Powersoft PowerBuilder 1.0a with Windows 3.1 may result in a "Call to Undefined Dynalink" error message. PowerBuilder uses a custom version of TOOLHELP.DLL. This design is not compatible with the TOOLHELP.DLL file shipped with Windows 3.1. To run PowerBuilder successfully with Windows 3.1, please contact Powersoft for a PowerBuilder update. The products included here are manufactured by vendors independent of Microsoft; we make no warranty, implied or otherwise, regarding these products' performance or reliability. KBCategory: kbnetwork kberrmsg kbtlc kb3rdparty kbsetup KBSubcategory: wfw wfwg win31 Additional reference words: 3.10 3rdparty 3.11 acefile show up laser tools power builder dynamic link library dyna link handicapped handycapped disability accp.exe Creating a New SYSTEM.INI Without Third-Party Drivers Article ID: Q85560 ---------------------------------------------------------------- ------ The information in this article applies to: - Microsoft Windows operating system versions 3.1, 3.11 ---------------------------------------------------------------- ------ SUMMARY ======= You can use your original Windows disks to create a new SYSTEM.INI file for your specific hardware. This can be useful for troubleshooting purposes or for replacing a damaged or deleted SYSTEM.INI file. NOTE: As a precaution, you may want to start the Setup program with the original SYSTEM.INI file, and then press PRINT SCREEN so that you have a printed copy of the your settings. You can then use this as a reference when you reset them. MORE INFORMATION ================ To create a new SYSTEM.INI file that is configured for your specific hardware but does not contain any references to third-party device drivers, do the following: 1. Rename the SYSTEM.INI file to SYSTEM.BAK. 2. Expand the file SYSTEM.SR_ from the original Windows disks to the Windows directory with the following command: c:\windows\expand a:\system.sr_ c:\windows\system.ini NOTE: This file can be found on Disk 1 of the Windows 3.1 1.44-megabyte (MB) 3.5-inch disk set or on Disk 2 of the 1.2-MB 5.25-inch disk set. 3. Change to the Windows drive, and then change to the Windows directory. For example: c: cd \windows 4. Type "setup" (without the quotation marks) to start the MS-DOS-based portion of Windows Setup. 5. Select the correct hardware options for your system. (They are blank by default.) NOTE: For a list of valid choices, move your cursor to the blank field and then press ENTER. 6. Accept the changes. (At this point, you can have Setup copy new drivers if you want.) 7. Open the new SYSTEM.INI file in a text editor (for example, MS-DOS 5.0 Editor). Make the following changes to the SYSTEM.INI file: a. Add PROGMAN.EXE to the SHELL= line in the [Boot] section. b. Remove or remark out the Taskman.exe= line in the [Boot] section. c. To enable 32-bit disk access, add the following lines to the [386Enh] section: 32BitDiskAccess= device=*int13 device=*wdctrl Replace with On if you want 32-bit disk access enabled; replace it with Off if you do not want 32-bit disk access enabled. For more information about 32-bit disk access, see Appendix D in the Windows Resource Kit manual, or query on the following words in the Microsoft Knowledge Base: windows and 3.1 and 32-bit and disk and access 8. Start Windows. If you do not receive any errors, you have successfully re-created your SYSTEM.INI file. If you receive error S020 or S021, the SYSTEM.INI file you created may be corrupted. To correct this problem, do the following: a. Check for a duplicate SYSTEM.INI file by typing "dir c:\ system.ini /s" (without the quotation marks) at the MS-DOS command prompt. b. Run CHKDSK to check for lost allocation units by typing "chkdsk /f" (without the quotation marks) at the MS-DOS command prompt. c. Make sure your hard disk has sufficient free space. d. Delete the corrupted SYSTEM.INI file and then follow the steps outlined above again, starting with number 2. e. If all else fails, reinstall Windows. KBCategory: kbref kbtshoot kbtlc KBSubcategory: win31 Additional reference words: 3.10 3.11 recreate re-create system.src tshoot rebuild clean expanding system.bkp troubleshoot hardware system.tmp vanilla "how to create a new" third-party Control Panel .CPL Files and Icon Installation Article ID: Q86023 ---------------------------------------------------------------- -- The information in this article applies to: - Microsoft Windows operating system versions 3.1, 3.11 - Microsoft Windows for Workgroups versions 3.1, 3.11 ---------------------------------------------------------------- -- SUMMARY ======= This article describes the relationship of .CPL files and the icons that appear in the Microsoft Windows and Microsoft Windows for Workgroups Control Panel. This article includes information on the following: - A general description of .CPL files - How to replace Control Panel icons - A list of the default .CPL files shipped with Windows - What to do if you receive a "Cannot Find Components" message - How to use the Windows 3.1 icons elsewhere - Multimedia settings in the CONTROL.INI file - Possible general protection (GP) faults in the Control Panel MORE INFORMATION ================ Description of .CPL Files ------------------------- You can add additional icons and functionality to the Control Panel in Windows 3.1 and Windows for Workgroups versions 3.1 and 3.11 by adding "installable" .CPL files. These .CPL files must be located in the Windows SYSTEM directory or the corresponding icon does not appear in the Control Panel. However multimedia .CPL files can be referenced in another directory by specifying a new path in the [MMCPL] section of the CONTROL.INI file. You should design and structure the .CPL file to conform to the CPLINFO specification as outlined in the Microsoft Windows Programmer's reference. Simply attaching a .CPL extension to a file of unspecified format doesn't work. The CPLINFO specification contains information concerning the icon, application or device name, identification numbers, and other data. NOTE: If VER.DLL is missing from the WINDOWS or Windows SYSTEM directory, only the 386 Enhanced icon and the Sound icon appear in Control Panel. Replacement of Control Panel Icons ---------------------------------- When you run the Control Panel in Windows 3.1 or Windows for Workgroups (WFWG), some of the icons may not display if the corresponding .CPL file is corrupt or missing. To correct this problem, you must expand the files from the Windows disks back to the Windows SYSTEM directory. Note that the network icon does not display if the network is not properly installed. This is not a problem with the MAIN.CPL, but with the network installation. Use the following steps to add a missing Control Panel icon: 1. Exit Windows. 2. Copy EXPAND.EXE from your Windows or WFWG disk to your WINDOWS directory. NOTE: EXPAND.EXE is located on Windows 3.1 disk 3 (both disk sizes), on WFWG 3.1 disk 8 (5.25) or disk 6 (3.5), and on WFWG 3.11 disk 6 (both disk sizes). 3. Put the Windows disk with the correct *.CP_ file in your floppy disk drive. Depending on the Windows version and disk size you have, *.CPL files are located on the following disks: Windows 3.1 3.5" Disk 5.25" Disk ------------------------------------- CPWIN386.CP_ Disk 1 Disk 1 DRIVERS.CP_ Disk 4 Disk 5 MAIN.CP_ Disk 4 Disk 5 SND.CP_ Disk 4 Disk 6 WFWG 3.1 3.5" Disk 5.25" Disk ------------------------------------- CPWIN386.CP_ Disk 2 Disk 2 DRIVERS.CP_ Disk 6 Disk 7 MAIN.CP_ Disk 3 Disk 5 SND.CP_ Disk 7 Disk 8 WFWSETUP.CP_ Disk 2 Disk 2 WFWG 3.11 3.5" Disk 5.25" Disk ------------------------------------- CPWIN386.CP_ Disk 2 Disk 2 DRIVERS.CP_ Disk 5 Disk 6 FAX.CP_ Disk 6 Disk 4 MAIN.CP_ Disk 3 Disk 3 SND.CP_ Disk 6 Disk 8 4. Type the following at the MS-DOS command prompt expand A:\xxxxx.CP_ C:\WINDOWS\SYSTEM\xxxxx.CPL where xxxxx is the name of the file and drive A is the drive containing the floppy disk with the .CPL files. 5. Reopen the Control Panel (it is not necessary to exit Windows because the Control Panel performs its search for .CPL files when it initializes). Default .CPL Files Shipped with Windows 3.1 ------------------------------------------- Windows 3.1 ships with the following four "installable" Control Panel objects. Compressed Expanded Name Size Name Size Icon ----------------------------------------------------------------- --- CPWIN386.CP_ 48841 CPWIN386.CPL 104816 Control Panel's 386 Enhanced Mode icon DRIVERS.CP_ 21385 DRIVERS.CPL 41440 Control Panel's Drivers icon for installing and removing Multimedia drivers MAIN.CP_ 89396 MAIN.CPL 148560 Control Panel's Color, Fonts, Ports, Mouse, Desktop, Keyboard, Printers, International Date/Time, Network (if installed) icons SND.CP_ 4986 SND.CPL 8192 Control Panel's Sound icon, which allows you to assign sounds to many system events NOTE: The Windows Driver Library disks include an additional .CPL file, SBPMIXER.CPL (file size 25792, dated 2/1/92), for computers with Creative Labs Sound Blaster Pro sound cards. This icon is an audio-mixing board for the Sound Blaster Pro. "Cannot Find Control Panel Components" Error Message ---------------------------------------------------- The Windows 3.1 or Windows for Workgroups 3.1 and 3.11 Control Panel (CONTROL.EXE) may return the following message upon execution: Cannot find the Control Panel components (files with .CPL extension). Verify that they are installed in your Windows SYSTEM directory. This error usually occurs when the .CPL files cannot be found in the SYSTEM directory, or if the files have become corrupt. First, you should confirm existence of the following .CPL files in your Windows SYSTEM directory: CPWIN386.CPL DRIVERS.CPL MAIN.CPL SND.CPL WFWSETUP.CPL <=== Windows for Workgroups version 3.1 only. If any file is missing, you need to expand it from your Windows disks. If all files are there, then it is possible that the files are corrupted. In this case you should exit Windows, delete all of the SYSTEM\*.CPL files, then expand each .CPL from your Microsoft Windows disks into your Windows SYSTEM subdirectory, as described in this article. Using a .CPL File Icon Elsewhere -------------------------------- The Windows version 3.1 Control Panel contains only one icon embedded in the executable file CONTROL.EXE. If an embedded icon from the Windows 3.0 CONTROL.EXE file is used as a replacement icon for a program item, a similar Windows 3.1 icon may be located in one of the Control Panel data files (*.CPL). Because of the modular structure of the Windows 3.1 Control Panel, most icons that were embedded in earlier versions of the CONTROL.EXE file have been moved to different associated data files located in the SYSTEM subdirectory. These files include CPWIN386.CPL, DRIVERS.CPL, MAIN.CPL, and SND.CPL. To use one of the icons placed in the .CPL files for a program item in Windows 3.1, use the following steps: 1. In Program Manager, select the program item whose icon needs to be changed. 2. From the File menu, choose Properties to open the Program Item Properties dialog box. 3. Choose the Change Icon button. 4. Type the appropriate .CPL filename in the File Name box, then choose the OK button. Multimedia Settings in the CONTROL.INI -------------------------------------- The [MMCPL] section of the CONTROL.INI file contains information which concerns the size and placement of the Control Panel window, the number of iconized applications in the Control Panel, and a path setting for multimedia .CPL files residing outside of the Windows SYSTEM subdirectory. The settings include: Setting Description -------------------------------------------------------- x= Horizontal window coordinate y= Vertical window coordinate h= Height in pixels w= Width in pixels numapps= The number of applications in the Control Panel In addition Microsoft Windows for Pen Computing may add the following lines to the [MMCPL] file: cppen=c:\windows\cppen.cpl cphw=c:\windows\cphw.cpl cprot=c:\windows\cprot.cpl cpcal=c:\windows\cpcal.cpl These entries allow the Control Panel to find .CPL file in subdirectories other than the Windows SYSTEM subdirectory. GP Faults in Control Panel -------------------------- If you experience general protection (GP) faults when opening Control Panel, it is likely that one of the .CPL files is corrupted or damaged. Please follow the instructions in the previous section of this article to replace the icon. REFERENCES ========== "Microsoft Windows Programmer's Reference, Volume3: Messages, Structures, and Macros," version 3.1, pgs. 260, 543-549. "Microsoft Windows for Pen Computing: Programmer's Reference, Windows Software Development Kit," version 3.1, pgs. 288-289. KBCategory: kbmm kbdisplay kbsound kberrmsg KBSubcategory: win31 wfw wfwg winshell Additional reference words: gpf 3.0 3.10 lost loss gone penwin *.cpl program item properties adding soundblaster Windows Err Msg: Fault in MS-DOS Extender Article ID: Q87239 ---------------------------------------------------------------- ---- The information in this article applies to: - Microsoft Windows operating system versions 3.1, 3.11 - Microsoft Windows for Workgroups versions 3.1, 3.11 ---------------------------------------------------------------- ---- SUMMARY ======= This article discusses the following two error messages with stack dump: Bad Fault in MS-DOS Extender -and- Standard Mode: Fault outside of MS-DOS Extender Raw fault frame: EC=0344 CS=031F IP=85E2 AX=001D BX=0005 CX=1800 DX=155F SI=0178 DI=0178 BP=016E DS=027F ES=027F SS=027F SP=0166 MORE INFORMATION ================ Bad Fault in MS-DOS Extender ---------------------------- This error message occurs when the fault handler dispatcher in DOSX.EXE generates another cascaded fault while trying to handle a protected-mode exception. This error is usually caused by one of the following factors: - HIMEM.SYS is unable to control the A20 line. - DOS=HIGH is not functioning properly (related to HIMEM.SYS control). - The RAM, static RAM (SRAM), single in-line memory module (SIMM), or dynamic RAM (DRAM) chips are not functioning properly. - You are running DR DOS. - The third-party memory manager is not configured correctly. - You have an old, out-of-date ROM BIOS. - Your CMOS settings are incorrect. - Your Windows files are old or corrupted. To test this, create a new directory on the hard drive, and install Windows in that directory. - Your disks are corrupted. - Your system is infected with the Form, Forms, Noint, or Yankee Doodle virus. Standard Mode Fault Outside MS-DOS Extender ------------------------------------------- This error message occurs when the Kernel generates a processor exception during initialization (before it has installed its own exception handlers) or when the Kernel determines that it cannot handle an exception. The causes are the same as those for the "Fault in MS-DOS Extender" error. Meaning of Stack Dump and Raw Fault Frame ----------------------------------------- The portion of the display labeled "Stack Dump:" should always be the same and does not carry much valuable information. The portion of the display labeled "Raw Fault Frame" EC=0344 CS=031F IP=85E2 AX=001D BX=0005 CX=1800 DX=155F SI=0178 DI=0178 BP=016E DS=027F ES=027F SS=027F SP=0166 contains information generated by the 80286 or 80386 processor in response to the original fault. The meaning of these settings is as follows: Setting Meaning ------- ------- EC=xxxx An exception code produced by the processor in response to the original fault. IP=xxxx The program counter of the faulting instruction (8086 register "IP"). CS=xxxx The code segment of the faulting instruction. If this is "0053" or "005B", the (original) fault was in DOSX.EXE, the "MS-DOS Extender." FL=xxxx The flag's image at the time of the original fault. SP=xxxx The stack pointer at the time of the original fault. SS=xxxx The stack segment at the time of the original fault. If this is "004B", the fault occurred on a stack belonging to DOSX.EXE. The CS and IP sections tell at what point in the faulting program that the original problem was detected. KBCategory: kbother kbdisplay kberrmsg KBSubcategory: wfw wfwg win31 Additional reference words: 3.10 money Windows Err Msg: The Microsoft Windows 32-Bit Disk... Article ID: Q88410 ---------------------------------------------------------------- ---- The information in this article applies to: - Microsoft Windows operating system versions 3.1, 3.11 - Microsoft Windows for Workgroups versions 3.1, 3.11 ---------------------------------------------------------------- ---- SYMPTOMS ======== When you start Microsoft Windows or Windows for Workgroups, you receive one of the following error messages: - The Microsoft Windows 32-bit disk driver (WDCTRL) cannot be loaded. There is unrecognizable disk software installed on this computer. -or- - The Microsoft Windows 32-bit disk driver (WDCTRL) cannot be loaded. There is a conflict with another virtual device. -or- - This application has tried to access the hard disk in a way that is incompatible with the Windows 32-bit disk access feature (WDCTRL). This may cause the system to become unstable. -or- - The Microsoft Windows 32-bit disk driver (WDCTRL) cannot be loaded. There is unrecognizable disk software installed on this computer. The address that MS-DOS uses to communicate with the hard disk has been changed. Some software, such as disk-caching software, changes this address. If you aren't running such software, you should run a virus-detection program to make sure the computer is virus free. To continue starting Windows without using the 32-bit disk driver, press any key. CAUSE ===== The above error messages can be displayed when: - The system is infected with a virus. -or- - You are running the PC Cillin anti-virus program. -or- - The Device=*WDCTRL entry occurs more than once in [386Enh] section of the SYSTEM.INI file. -or- - You are using a third-party replacement for WDCTRL and you have reinstalled Windows. -or- - You are loading a real-mode driver in the CONFIG.SYS file that alters the manner in which Windows monitors and controls INT 13h. -or- - Using a QD6500A VLB controller that was installed in Windows 3.1 and then installing WFW 3.11. After the install there will be an *int13, WDCTRL, and QDICTRL.386 in [386Enh] section of system.ini. QDICTRL.386 alone breaks the IFSHLP.SYS. Remark out the QDICTRL.386 line and use the WDCTRL. Leave the QD6500.SYS line in the config.sys. MORE INFORMATION ================ The System Is Infected with a Virus ----------------------------------- During startup, if Windows detects that a particular undocumented interrupt has been hooked by a "program" it does not recognize, Windows displays one of the above messages. Quite often, the program it does not recognize is a virus. The Stoned, Bloomington, and Form viruses can cause these errors. To correct this problem, run virus-detection software to detect and remove any viruses from the hard disk drive. The Anit-CMOSa virus will also cause this; McAfee v2.14 will find, but not cure it. You Are Running the PC Cillin Anti-Virus Program ------------------------------------------------ PC Cillin anti-virus software can cause these error messages. For more information on PC Cillin and problems with Windows, query on the following words in the Microsoft Knowledge Base: pc cillin and windows You Are Using a Third-Party Replacement for WDCTRL and You Have Reinstalled Windows ------------------------------------------- If you have a Western Digital Caviar 2540 hard disk drive (or another model that uses WDCDRV.386 as a replacement for WDCTRL) and you reinstall Windows to the same directory, Windows puts WDCTRL in the SYSTEM.INI file but does not remove the third-party driver. Removing the DEVICE=*WDCTRL entry from the SYSTEM.INI file corrects this problem. You are Loading a Real-Mode Driver in the CONFIG.SYS File That Alters the Manner in Which Windows Monitors and Controls INT 13h ---------------------------------------------------------------- Real-mode drivers that manipulate the way in which INT13 calls are handled may prevent the 32-bit disk access driver from loading. KBCategory: kb3rdparty kberrmsg KBSubcategory: win31 wfw wfwg Additional reference words: 3rdparty err msg 3.10 3.11 scanning anti-virus unrecognized 32 bit disk access 32-bit diskaccess mcafee mcaffee pccillin pccillan cillan forms form michelangelo monkey [mon] stealth ripper Over the Top twice genb jenb jenp WW0654: Windows 3.1 and Serial Communications Article ID: Q92447 ---------------------------------------------------------------- ----- The information in this article applies to: - Microsoft Windows operating system versions 3.1, 3.11 ---------------------------------------------------------------- ----- Microsoft has an Application Note, "Windows 3.1 and Serial Communications" (WW0654), that provides information about serial communications in the Windows 3.1 environment. This Application Note includes a discussion of improvements in Windows 3.1, a conceptual overview, and a discussion of why conflicts occur. You can obtain this Application Note from the following sources: - CompuServe, GEnie, and Microsoft OnLine - Microsoft Download Service (MSDL) - The Internet (Microsoft anonymous ftp server) - Microsoft FastTips Technical Library - Microsoft Product Support Services For complete information, see the "To Obtain This Application Note" section at the end of this article. THE TEXT OF WW0654 ================== ================================================================ ====== Microsoft(R) Product Support Services Application Note (Text File) WW0654: WINDOWS 3.1 AND SERIAL COMMUNICATIONS ================================================================ ====== Revision Date: 10/92 No Disk Included The following information applies to Microsoft Windows(TM) version 3.1. -------------------------------------------------------------------- | INFORMATION PROVIDED IN THIS DOCUMENT AND ANY SOFTWARE THAT MAY | | ACCOMPANY THIS DOCUMENT (collectively referred to as an | | Application Note) IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY | | KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO | | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A | | PARTICULAR PURPOSE. The user assumes the entire risk as to the | | accuracy and the use of this Application Note. This Application | | Note may be copied and distributed subject to the following | | conditions: 1) All text must be copied without modification and | | all pages must be included; 2) If software is included, all files | | on the disk(s) must be copied without modification [the MS-DOS(R) | | utility DISKCOPY is appropriate for this purpose]; 3) All | | components of this Application Note must be distributed together; | | and 4) This Application Note may not be distributed for profit. | | | | Copyright 1992 Microsoft Corporation. All Rights Reserved. | | Microsoft and MS-DOS are registered trademarks and Windows | | is a trademark of Microsoft Corporation. | | IBM, Micro Channel, and PS/2 are registered trademarks of | | International Business Machines Corporation. | | Logitech is a trademark of Logitech, Inc. | ---------------------------------------------------------------- ---- INTRODUCTION ============ This Application Note provides information about serial communications in the Microsoft Windows version 3.1 operating system environment. The first section, "What's New in Windows Version 3.1," gives an overview of improvements in Windows 3.1. The section "Conceptual Overview" explains basic and advanced concepts in serial communications, including port addresses, device contention, and so forth. The section "Why Conflicts Occur" discusses the most common reasons why you may experience difficulties with serial communications, and the section "How to Resolve Conflicts" explains what to do once you have identified the problem. If you need help with a specific problem, you may want to start by reading the "Troubleshooting" section. WHAT'S NEW IN WINDOWS VERSION 3.1 ================================= Here are some highlights about improvements in how Windows 3.1 handles serial communications. Performance Improvements ------------------------ - Windows 3.1 supports the high-speed 16550AFN UART buffer; Windows 3.0 does not. (The 16550AFN buffer is supported for Windows-based applications only.) - Windows 3.1 supports baud rates of up to 57.6K. (You may need to update your application to take advantage of these higher baud rates.) Some users experienced lockups during high-speed, full- duplex transfers while using Windows 3.0. These problems are resolved in Windows 3.1. - Windows 3.1 has a new serial driver interface that allows data to be passed in blocks, instead of one character at a time. (Each block is treated as a single character.) This means faster data throughput and fewer transmission errors. Windows 3.0 passes data one character at a time. - Windows 3.0 uses a "constant polling" method to determine when serial ports are occupied. Windows 3.1 uses the EnableCommNotification API; this enables applications to directly notify Windows of serial events, thereby increasing overall system performance. Better Support for Your Ports ----------------------------- - Windows 3.1 provides better support for COM ports 3 and 4. You can now configure these ports by using Windows Control Panel. - Windows 3.1 fully supports IRQ sharing; Windows 3.0 does not. (To take advantage of this feature, your PC must have Extended Industry Standard Architecture (EISA) or Micro Channel(R) Architecture (MCA), or you must have a serial I/O card that supports IRQ sharing.) CONCEPTUAL OVERVIEW =================== This section provides a general introduction to the subject of serial communications and explains many of the concepts and issues that are discussed throughout the "Windows 3.1 and Serial Communications" Application Note. SERIAL VS. PARALLEL PORTS ========================= Input/output (I/O) ports provide the means for your PC to send or receive data through external devices such as modems, printers, fax machines, and so forth. Virtually all PCs have both parallel and serial ports. There are several distinctions between serial and parallel I/O ports. Parallel ports are generally used only for printers, which is where the name LPT, for line printer, originates. Parallel ports transmit data in complete bytes, and in most cases they handle outgoing data only; they cannot receive information. (The IBM[R] PS/2[R] parallel ports are bidirectional; in addition, you can use certain peripherals, such as network card adapters, to enable your ports to transmit data bidirectionally.) You do not configure parallel ports; they are preconfigured for your machine. Serial ports are generally used for communications, or COM devices, which include serial printers, modems, fax machines, and so forth. Serial ports are capable of both sending and receiving data. You can configure settings--such as parity, stop bits, and data length--for your serial ports. (In Windows, you can specify these settings by using Control Panel.) Serial ports transmit data one bit at a time, sequentially (or serially). PORT ADDRESSES AND IRQS ======================= Every time you start your PC, your system BIOS checks your COM ports to see what serial devices are installed on your PC and posts this information to the system BIOS data area (BDA). Windows "reads" the BDA, and uses the default interrupt request line (IRQ) for each device that is registered there. Usually, each COM port requires a unique IRQ to communicate with your PC. Certain PCs and some I/O cards support IRQ sharing. NOTE: Some earlier BIOS versions may not check for devices on COM ports 3 and 4. If you have devices installed on COM port 3 or 4 and your system BIOS does not recognize these ports, you need to register the addresses for COM3 and COM4 by using Windows Control Panel. This is explained in the procedure "To register a serial device" later in this Application Note. How Should My COM Ports Be Configured? -------------------------------------- Generally, PCs come with built-in ports COM1 and COM2 preset to the following values: Port Address IRQ ---------------------------- COM1 03F8 4 COM2 02F8 3 In most cases, the default values for COM ports 1 and 2 should work for your system. You can view your COM port settings by using Windows Control Panel. Most PCs do not have built-in ports for COM3 and COM4. The default settings for these additional ports are listed here: Port Address IRQ ------------------------------------ COM3 03E8 4 COM3 (PS/2) 3220 3 COM4 02E8 3 Because COM1 and COM3 both use IRQ4 as the default, and COM2 and COM4 both use IRQ3, you may need to reassign the IRQ if you use serial devices (such as a fax card or modem) on COM ports 3 or 4. You can reassign IRQs by using Control Panel. For more information, see the procedure "To reassign the IRQ" later in this Application Note. (You do not need to reassign the IRQ if you have an MCA or EISA machine, or a serial I/O card that supports IRQ sharing.) 16550AFN UART CHIP SUPPORT ========================== Every serial port uses a Universal Asynchronous Receiver-Transmitter (UART) chip to send and receive data. Inside your PC, data travels in parallel form. When you send or receive data by means of a serial device, the UART chip converts the data to a serial format so that your port can read it. Many machines still use either the 8520 or the 16450 UART chip. The main advantage of the 16550AFN UART chip is its first in, first out (FIFO) buffering scheme, which can dramatically improve performance for modem transfer speeds of 9600 baud or higher. If you usually set your modem to 2400 or 1200 baud, chances are you don't need the 16550AFN UART. NOTE: The 16550, an earlier version of the chip, was used in IBM PS/2 computers, models 50, 60, and 80, and replaced by the 16550AFN in the PS/2 model 70. You may want to check with your manufacturer to determine which version of the 16550 chip is installed in your machine. The 16550 chip does not support FIFO buffering. MS-DOS-BASED VS. WINDOWS-BASED APPLICATIONS =========================================== Windows-based applications share a single time slice; each MS-DOS- based application running under Windows receives its own time slice. A time slice is the amount of processor time allocated to an application, usually measured in milliseconds. The smaller the time slice, the more efficiently Windows can run multiple tasks; therefore, in general, you will notice better performance with Windows-based applications running under Windows. You can also use "Windows-aware" software to emulate timeslice sharing for MS-DOS-based applications and thereby improve performance. You run MS-DOS-based applications under Windows by writing PIF files that specify how you want Windows to schedule processor time for these applications. (For more information about PIF files, refer to Chapter 8, "PIF Editor," in the version 3.1 "Microsoft Windows User's Guide.") WHY CONFLICTS OCCUR =================== For serial communications to be successful, three settings must match: the port addresses in the BIOS data area, the COM port entries in the SYSTEM.INI file, and the switches on your serial hardware (if you have any installed). This section discusses the situations that can occur if these settings do not match, as well as other situations that can cause conflicts. Determining whether these settings match, and changing them if they do not, is discussed in the section "How to Resolve Conflicts" later in this Application Note. IRQ SHARING =========== Many serial communications problems result from two devices attempting to use the same IRQ. For example, if you install a serial mouse on COM1 and a modem on COM3, both devices could attempt to use IRQ4 (the default setting) at the same time. Unless your PC supports IRQ sharing (the ability to have multiple ports using the same IRQ), this could cause your mouse or modem to lose functionality. MCA and EISA machines support IRQ sharing. In addition, some serial I/O cards support IRQ sharing even if your machine is not specifically configured to do so. Windows 3.1 fully supports such serial I/O cards. For more information, see the "IRQ Sharing" section under "How to Resolve Conflicts" later in this Application Note. BIOS DATA AREA AND ADDRESS PACKING ================================== There are four sequential spaces in the BDA for COM port addresses 1 through 4. The BIOS lists port addresses so that no blank spaces occur between addresses. Windows reads the BDA sequentially and actually expects a blank address where there is no COM port. This can cause conflicts when Windows assigns IRQs. For example, if you have a mouse on COM1, a printer on COM2, and a modem on COM4, Windows expects the BDA to look something like this: (COM1) (COM2) (COM3) (COM4) 0040:0000 F8 03 F8 02 00 00 E8 02 Because the BIOS does not use zeros as placeholders, however, the BDA actually looks something like this: (COM1) (COM2) (COM3) (COM4) 0040:0000 F8 03 F8 02 E8 02 00 00 This behavior is known as address packing, or address shifting. Windows assigns IRQs in the order that it finds a COM port address. In this situation, Windows would assign IRQ4 (the default for COM3) to the device that is actually on COM4. This could cause loss of functionality on COM4 because IRQ4 is already being used by COM1. BIOS packing can affect COM ports 1 and 2 as well. For instance if you have no device on COM1, your COM2 address may register in the COM1 BIOS area. Whether or not you experience problems as a result of address packing may depend on what COM ports you are using, what type of hardware you have, and whether you are using MS-DOS-based communications software. To correct this type of situation, you write a Debug script. A Debug script records the correct port addresses in your system memory. This procedure is described in the section "How to Resolve Conflicts" under '"Address Packing." MS-DOS-BASED COMMUNICATIONS SOFTWARE AND WINDOWS 3.1 ==================================================== MS-DOS-based applications and Windows-based applications handle serial communications in different ways. This section discusses guidelines for using your MS-DOS-based communications programs under Windows 3.1. For more information, see chapters 7, "Non-Windows Applications," and 8, "PIF Editor," in the version 3.1 "Microsoft Windows User's Guide." General Guidelines ------------------ You use 386 enhanced mode Windows, and PIF files, to give Windows control of your MS-DOS-based communications applications. We don't recommend running MS-DOS-based communications applications in standard mode Windows, as this may cause data loss or other problems. For better performance, run your MS-DOS-based applications in full- screen mode rather than in a window. If you run an MS-DOS-based communications application in the background during a data transfer, run it minimized as an icon rather than in a window. PIF File Guidelines ------------------- - Select the Background check box (under Execution in the main PIF Editor dialog box), or your MS-DOS-based application will stop running when you switch away from it. - Select the Lock Application Memory check box (in the PIF Editor Advanced Options dialog box), or you may receive an error message. (This setting applies only if you have a permanent swap file and 32- bit disk access is enabled.) - If you encounter errors during data transfers, specify a larger Background Priority or Foreground Priority setting (in the Multitasking Options area of the Advanced Options dialog box). Device Contention ----------------- In the Windows multitasking environment, two applications sometimes simultaneously request the use of a device (such as a COM port or modem). This is known as device contention. When you are running MS- DOS-based communications applications under Windows in 386 enhanced mode, you need to set device contention options in Control Panel. Doing so specifies how you want Windows to handle device requests from your MS-DOS-based applications. Problems that can occur as a result of serial device contention include the inability to access a COM port. For more information, see the procedure "To set device contention options" later in this Application Note. UART Support for MS-DOS-Based Applications ------------------------------------------ Windows 3.1 provides application support for the new 16550AFN UART buffer (see the section on the UART earlier in this Application Note). However, MS-DOS-based applications may not recognize the 16550AFN UART, treating it instead like the earlier 8250 version. This, in turn, may result in data loss. Whether you experience these problems also depends to a certain extent on your hardware manufacturer. Pacific Commware's TurboCom is an advanced serial port communications driver for Windows that provides UART support for MS-DOS-based applications running under Windows. TurboCom also supports IRQ sharing and baud rate speeds of up to 57.6K. If you regularly use MS-DOS-based communications software or software that requires a baud rate of 9600 bits per second (bps) or higher, you may want to use the TurboCom driver. For additional information, contact your local dealer, or call Pacific Commware at (510) 540-8080. NOTE: If your communications software runs at 2400 baud or lower, using the 16550AFN UART probably won't noticeably improve your system's performance. Address Packing and MS-DOS-Based Applications --------------------------------------------- If Windows assigns an IRQ that is being used by an MS-DOS-based program, you may receive the message "The COM port is currently assigned to a DOS application. Do you want to reassign the port to Windows?" The problem occurs when your machine BIOS packs addresses before posting them to the BDA. Windows reads the BDA sequentially, assigning the default IRQ for COM1 to the first entry it finds, the IRQ for COM2 to the second entry, and so forth. For example, if you have a device on COM2 but not on COM1, and your system BIOS packs addresses, the COM2 address "shifts" into the BDA slot for COM1. Consequently, Windows assigns IRQ4 (the default for COM1) to the device that is actually on COM2. MS-DOS-based communications programs access the COM ports directly, without posting their port address to the BDA. Using the same example, if you have no serial device on COM1, and your MS-DOS-based communication program is using COM2, the MS-DOS-based program still uses the default IRQ for COM2. You can remedy this situation by writing a Debug script. For more information, see the procedure "To write a Debug script" later in this Application Note. THIRD-PARTY COMMUNICATIONS DRIVERS ================================== Some Windows-based third-party programs install their own drivers to replace the drivers provided by Windows. If these third-party drivers are installed in your system when you upgrade from Windows 3.0 to Windows 3.1, Setup does not install the Windows communications driver (COMM.DRV). In most instances, it is best to use the Windows 3.1 driver, rather than a driver designed for Windows 3.0. If you are experiencing driver problems (such as an inability to use higher baud rates, or problems accessing the modem), you can reinstall COMM.DRV or contact the manufacturer of your third-party driver for an update. You can tell whether you have the Windows communications driver, or whether it has been replaced by the driver(s) that came with your communications software, by looking in your SYSTEM.INI file. See the procedure "To check for third-party drivers" later in this application note. HOW TO RESOLVE CONFLICTS ======================== You should now be familiar with the most common reasons for serial communications problems in Windows 3.1. This section describes a few simple procedures you can follow to correct these problems. RESOLVING IRQ CONFLICTS ======================= If you have serial devices on both COM1 and COM3, or COM2 and COM4, and your machine architecture does not support IRQ sharing, you need to reassign the IRQ for COM3 or COM4. (If you are using a serial card that supports IRQ sharing, read the section that follows this procedure.) To properly reassign the IRQ: 1. Determine the valid IRQ settings for the serial device by referring to the manufacturer's documentation. Most serial devices such as I/O cards or internal modems can use either of several valid IRQs. For example, a modem on COM3 may be able to use IRQ5 if IRQ4 is not available. 2. Determine which IRQs are available on your PC. You can do this by referring to the table provided below, or you can use the Microsoft Diagnostic (MSD) utility. (Refer to the procedure, "To use MSD to determine available IRQs" later in this Application Note.) MSD is included with Windows version 3.1. 3. Point both your serial device and Windows to the IRQ that you have determined is valid and available. Set your serial device to the alternate IRQ by following the directions in the manufacturer's documentation. Point Windows to the alternate IRQ by using Control Panel to place an entry in your SYSTEM.INI file. NOTE: Your serial device setting MUST match the COMxIRQ setting in your SYSTEM.INI file. If these two settings do not match, the COM port will not function properly. Standard IRQ Settings (Table) ----------------------------- The following table shows the most common IRQ settings. You can use Control Panel to specify an IRQ from this table if it matches your hardware requirements. Or, if you'd like to view a table similar to this that lists the current settings in your PC, you can use MSD. IRQ Number Description --------------------------------------- 0 Timer 1 Keyboard 2 Link to IRQs 8-15 3 COM2, COM4 4 COM1, COM3 5 LPT2, or Reserved 6 Floppy disk controller 7 LPT1, LPT3 8 Real time clock 9 Redirected IRQ2 10 Reserved 11 Reserved 12 PS/2 mouse 13 Math coprocessor 14 Hard disk controller 15 Reserved The IRQs with "Reserved" entries in the corresponding Description column are often available. (This does not guarantee they are currently available on your PC.) You can use Control Panel to choose one of the "Reserved" IRQs, such as IRQ10, and then restart your system to see whether the COM port now works. NOTE: You must also change the hardware setting to the same IRQ. To do this, follow the manufacturer's instructions. If the first IRQ you choose does not work, you can try the next IRQ from this table, and so forth. If you do not have a PS/2 mouse port, you may be able to use IRQ12. Or, you can use MSD to view the IRQs that are actually available on your PC. To Use MSD to Determine Available IRQs -------------------------------------- 1. Quit Windows. 2. At the MS-DOS command prompt, type "msd"(without the quotation marks). An initial screen appears, providing information about MSD. Choose the OK button to view the MSD main menu. 3. From the MSD main menu screen, choose the IRQ Status button. The IRQ Status screen shows which IRQs are currently assigned (not available). 4. Make a note of each IRQ number where the entry in the corresponding Detected column reads No. A No entry in the Detected column indicates that the corresponding IRQ is available. If you do not find a "No" entry in the Detected column, there are no available IRQs, and you should not attempt to reassign IRQs. 5. Use Control Panel to assign one of the available IRQs to the COM port whose IRQ you want to change. See the next procedure. You must also change the hardware setting to the same IRQ. Follow the manufacturer's instructions. NOTE: Windows 3.1 does not support nonstandard IRQ settings. If your serial communications device requires an IRQ that is different than what is described in the MSD listing, we cannot guarantee the results. To Reassign the IRQ from Control Panel -------------------------------------- 1. In the Main group, choose the Control Panel icon. 2. In the Control Panel window, choose the Ports icon. 3. In the Ports dialog box, select the COM port for the device whose IRQ you want to change, and then choose the Settings Button. 4. In the Settings dialog box, choose the Advanced button. 5. Open the Interrupt Request Line (IRQ) list box, and select a number. This number must match your hardware setting. 6. Choose the OK button twice to exit the settings dialog boxes, and then choose the Close button to exit the Ports dialog box. IRQ-Sharing Serial I/O Cards ---------------------------- If you are using an IRQ-sharing I/O card on a machine that does not have MCA or EISA architecture, you need to add the following line to the [386Enh] section of the SYSTEM.INI file: COMIrqSharing=TRUE NOTE: This setting does not, by itself, provide your system with IRQ- sharing support. You must have the correct hardware configuration, and the hardware must be installed according to the manufacturer's specifications. ADDRESS PACKING =============== If you are using an MS-DOS-based communications program, Windows may assign an IRQ to a Windows serial device that is already in use by your MS-DOS-based program. If this happens, you may receive the error message "The COMx port is currently assigned to an MS-DOS application. Do you want to reassign the port to Windows?" To remedy this situation, you need to familiarize yourself with the BDA. (This error message may also occur if you have a BIOS that does not search for serial devices on COM ports 3 or 4. If this is the case, you can use Control Panel to register the devices.) To View the BDA by Using Debug ------------------------------ 1. Quit Windows. 2. At the MS-DOS command prompt, type "debug" (without the quotation marks), then press ENTER. A hyphen (-) prompt appears. 3. Type "d40:0" (without the quotation marks), then press ENTER. This returns a listing of the BIOS data area (BDA). The first row of the BDA shows the COM port and LPT port addresses, divided by a center hyphen. COM ports are listed to the left of the hyphen; LPT ports are listed to the right. 4. Once you have interpreted the BDA (see the following procedure), type "q" (without the quotation marks) to quit Debug. To Interpret the BDA COM Address Entries ---------------------------------------- This table shows the four standard COM addresses as they should be listed in the BDA. (The COMx headings do not appear in the BDA.) (COM1) (COM2) (COM3) (COM4) 0040:000 F8 03 F8 02 E8 03 E8 02 If you have a serial device on COM port 3 or 4, and the BDA does not show an entry for the device, you can use Control Panel to register the device in the BDA. However, if the BDA shows any of the standard addresses in a location other than what is shown here (for example, address F8 02 in the space for COM1, or address E8 02 in the space for COM3), then you need to write a Debug script. NOTE: If you see an address in your BDA that is not shown here, your hardware may use nonstandard serial port addresses. In this case you need to register the nonstandard address by using Control Panel. See the procedure "To register a serial device." To Write a Debug Script ----------------------- 1. Open any standard text editor, such as Windows Notepad. 2. Type the following three lines: E40:0 F8 03 F8 02 E8 03 E8 02 q You must press ENTER after typing "q" (without the quotation marks). If you do not, the Debug script will cause your system to remain indefinitely in Debug mode. 3. Save the file as FIXCOM.DEB, or any filename with a .DEB extension. 4. Add the following line to the end of your AUTOEXEC.BAT file: DEBUG < FIXCOM.DEB > NUL The "> NUL" ending keeps the Debug script from echoing to the screen. NOTE: Do not place this entry after a program execution line, such as WIN. If you do, the Debug script will not execute. 5. Save your AUTOEXEC.BAT file and reboot your PC. You can view the BDA again to see whether the address changes have taken effect. NOTE: The port address setting on your physical serial device must match what you specify in the Debug script. If your hardware requires a nonstandard address, you can specify that address in the Debug script. SERIAL DEVICES ON COM3 AND COM4 DO NOT REGISTER =============================================== Some earlier BIOS versions only recognize devices installed on COM ports 1 and 2. If your system BIOS does not recognize serial devices on COM ports 3 and 4, you can use Control Panel to notify Windows that you have devices installed at these locations. However, if your BIOS registers such devices but incorrectly records them at different addresses in the BDA (due to address shifting or packing), you cannot use Control Panel to correct this situation. Instead, you need to write a Debug script. Refer to the previous procedure. To determine whether your system BIOS registers devices on COM port 3 or 4, you need to read the BDA. Refer to the procedure "To view the BDA by using Debug." CAUTION: Setting the port address by using Control Panel does not override a BDA value. What the BIOS reads replaces any entries you make by using Control Panel, if there is a discrepancy between the two. This procedure is not a substitute for writing a Debug script if your BIOS incorrectly registers COM addresses. To Register a Serial Device --------------------------- 1. In the Main group, choose the Control Panel icon. 2. In the Control Panel window, choose the Ports icon. 3. In the Ports dialog box, select the port you want to identify to Windows, and then choose the Settings button. 4. In the Settings dialog box, choose the Advanced button. 5. Open the Base I/O Port Address list box and select an address. Check your hardware documentation for the appropriate value. 6. Open the Interrupt Request Line (IRQ) list box, and select an IRQ. Check your hardware documentation for the appropriate value. Selecting values in this dialog box places COMxBase and COMxIRQ entries in your SYSTEM.INI file. For more information on COMxBase and other SYSTEM.INI file entries, refer to the SYSINI.WRI file in your Windows directory. DEVICE CONTENTION ================= You need to specify the device contention options for each MS-DOS- based communications application you are running under Windows. To Set Device Contention Options -------------------------------- 1. In the Main group, choose the Control Panel icon. 2. In the Control Panel window, choose the 386 Enhanced icon. 3. Select the port that is connected to the device you want to control. 4. In the Device Contention group, select the option you prefer. Each option is described below. Always Warn Select this option to have Windows display a dialog box whenever more than one application requests use of a COM port at the same time. The dialog box lets you specify which MS-DOS-based application should receive control of the COM port. In most cases, you should select Always Warn. NOTE: The Always Warn option does not replace IRQ sharing. When you specify that one application receive control of a COM port, the other application requesting to use the port is interrupted. Optimally, once the first application completes its operation (for example, a fax transmission), the COM port becomes available again and the other application can resume. However, sometimes giving control of a COM port to one application over another can indefinitely hang the application that is required to wait. Never Warn When you select this option, Windows provides COM port access to MS- DOS-based applications even if it detects that the requested port may already be in use by another application. Selecting this option may cause unexpected problems, such as data loss or an interruption during application processing. Idle (in sec.) Select this option to specify the number of seconds Windows should wait before giving port access to an application without notifying you. For instance, if you specify 10 seconds, Windows displays a dialog box when any application requests the use of a port that was occupied within the last 10 seconds. The dialog box lets you specify which MS-DOS-based application should receive control of the COM port. Otherwise, Windows provides COM port access without a warning. For more information about these options, see page 247 of Chapter 7, "Non-Windows Applications," in the version 3.1 "Microsoft Windows User's Guide." THIRD-PARTY DRIVERS =================== The Windows 3.1 Setup program updates many drivers that were included in Windows 3.0. Setup cannot update third-party drivers, however. You should obtain updates from the manufacturer for any third-party drivers that you are using under Windows 3.1. To Check for Third-Party Communications Drivers ----------------------------------------------- 1. Open your SYSTEM.INI file by using any text editor, such as Windows Notepad. 2. Under the [boot] section, look for the following entry: comm.drv=comm.drv If this entry reads differently, then your system is using a third- party Windows-level driver. 3. Under the [386Enh] section, look for the following entries: device=*vcd device=*combuff If either of these entries reads differently, or if there is an additional entry, then your system is using third-party communications drivers. To determine whether you need an update, contact your manufacturer. To use third-party drivers that have not been updated, you need to add the following line to the [386Enh] section of your SYSTEM.INI file: COMMdrv30=TRUE Once you obtain an update for your third-party driver, you can remove this entry from your SYSTEM.INI file. TROUBLESHOOTING COMMUNICATIONS PORT PROBLEMS ============================================ This section can help you to identify what is causing a problem and then point you to the appropriate section in this Application Note for an explanation of how to resolve the problem. COMMUNICATIONS APPLICATION CANNOT ACCESS A SERIAL PORT ====================================================== Are you using MS-DOS-based communications software? Refer to the "MS- DOS-Based Communications Software and Windows 3.1" section in this Application Note. Related procedure: "To set device contention options" Is the serial device using an available IRQ? Refer to the "Resolving IRQ Conflicts" section in this Application Note. Related procedures: "To use MSD to determine available IRQs" "To reassign the IRQ from Control Panel" PC LOCKS UP WHEN ACCESSING SERIAL PORT ====================================== Is the serial device using a unique IRQ? Refer to the "Resolving IRQ Conflicts" section in this Application Note. Related procedures: "To use MSD to determine available IRQs" "To reassign the IRQ from Control Panel" Is the serial device on COM4? Refer to the "Serial Devices on COM3 and COM4 Do Not Register" section. Related procedure: "To register a serial device" ERROR MESSAGES ============== "The COM Port is Currently Assigned to a DOS Application..." ------------------------------------------------------------ If you receive this error message, refer to the procedure "To write a Debug script." MODEM PROBLEMS ============== Does your system BIOS recognize your internal modem? Refer to the "Address Packing and MS-DOS-Based Applications" section for information about reading the BDA. Related Procedures "To view the BDA by using Debug" "To interpret the BDA COM address entries" "To register a serial device" Do you have a modem on COM3 and a mouse on COM1, or a modem on COM4 and a mouse on COM2? Unless your machine or serial I/O card supports IRQ sharing, this configuration is not recommended. Refer to the "Resolving IRQ Conflicts" section in this Application Note. Related Procedure: "To reassign the IRQ from Control Panel" Do you have an internal modem and a serial I/O card? Have you observed any of the following symptoms: The modem dials and rings but does not connect. The system reboots when the modem attempts to dial out. The system reboots when the modem should have connected. The cursor does not work in Window Terminal. If your internal modem uses a COM port that is addressed by your serial I/O card, you may experience IRQ conflicts. To correct this problem, disable the COM port setting on the serial I/O card. For example, if your internal modem is set to use COM2, and you have a serial I/O card that recognizes COM2, you may need to disable COM2 on the serial I/O card for the modem to work correctly. MOUSE PROBLEMS ============== General Guidelines ------------------ The mouse uses a different driver for MS-DOS-based applications than it does for Windows-based applications. In general, all mouse drivers should come from the same vendor. For example, do not use a Microsoft driver as the Windows mouse driver and a third-party driver as the MS- DOS mouse driver. Do not install a modem on COM3 if you have a mouse on COM1, or a modem on COM4 if you have a mouse on COM2, unless your machine or serial I/O card supports IRQ sharing. Refer to the "Resolving IRQ Conflicts" section in this Application Note. Mouse Doesn't Work in Enhanced Mode ----------------------------------- If your PC has no COM1 or if you have disabled COM1 and you have a mouse installed on COM2, you may experience problems using the mouse in 386 enhanced mode. Refer to the "BIOS Data Area and Address Packing" section in this Application Note. Logitech(TM) Mouse ------------------ The Logitech virtual mouse driver (LVMD.386) is hard coded for the standard base port addresses and IRQs. If you use the Logitech mouse with a nondefault port address or IRQ, it may fail to work in 386 enhanced mode. 100%-Microsoft-Compatible Mouse ------------------------------- Any "100% Microsoft compatible" mouse that you purchase from your dealer is not interchangeable with the Microsoft mouse. If your 100%- Microsoft-compatible mouse comes with a driver disk that contains both Windows and MS-DOS mouse drivers, install these in place of the Microsoft mouse drivers. Installing such drivers places a new setting in the Mouse section of Windows Setup. After you install a 100%- Microsoft-compatible mouse, use Windows Setup to select your mouse type. Microsoft Mouse --------------- If you are using the Microsoft Mouse with Windows 3.1, make sure each of the following is true: - You are using version 8.2 or 8.2a of MOUSE.COM and MOUSE.SYS (the mouse drivers for MS-DOS-based applications). Version 8.2 or 8.2a of the driver is included with Windows 3.1. - MOUSE.DRV (the mouse driver for Windows-based applications) is in the Windows SYSTEM subdirectory, is the only copy of this file on your system, and is the most current version of the driver. - The mouse is assigned a unique IRQ (unless the serial port supports IRQ sharing). For more information, see the "IRQ Sharing" section in this Application Note. - The mouse is not installed on COM3 or COM4. To see what version of the MS-DOS mouse driver you have At the MS-DOS command line from the MS-DOS mouse directory (usually, MSMOUSE), type: mouse /? To see what Windows mouse driver you are using >From the Main group, choose the Windows Setup icon. The mouse type should be "Microsoft, or IBM PS/2." To change your Windows mouse driver 1. In the Main group, choose the Windows Setup icon. 2. From the Options menu, choose Change System Settings. 3. Open the Mouse list box and select the type of mouse that you are using. 4. Choose the OK button to close the dialog box. COM4 PROBLEMS ============= If your communications software doesn't recognize a serial device on COM port 3 or 4, you may have a system BIOS that was manufactured before those COM ports became standard. Refer to the "Serial Devices on COM3 and COM4 Do Not Register" section earlier in this application note. The COM4 default address of 02E8 conflicts with some peripheral devices, including the 8514/A, Ultra (ATI), and S3 (Orchid Fahrenheit 1280 STB WIND/X, Diamond Stealth VRAM) display adapters, and certain network adapters. Do not readdress COM4 in this situation. Contact your hardware manufacturer for information about how to reset the adapter's default address. PROBLEMS RUNNING WINDOWS IN 386 ENHANCED MODE ============================================= Problems of this type may be related to a number of causes, including outdated driver files or IRQ conflicts. You can try the troubleshooting steps outlined below if you experience any of the following problems when trying to run Windows in 386 enhanced mode: -Windows stops running or returns to the MS-DOS prompt -General protection (GP) fault -Windows defaults to standard mode If the steps outlined below do not help, then the problem is probably not caused by a serial communications conflict. Refer to the Windows Resource Kit for more information about problems running Windows in 386 enhanced mode. To Check for Outdated Driver Files ---------------------------------- Before starting Windows from the MS-DOS prompt, change to the Windows directory, and then start Windows. If Windows runs in 386 enhanced mode only when you start it from the Windows directory, you may have an outdated driver file in some other directory. When Windows starts, it looks for the files it needs in the following order: The current directory The Windows directory The Windows SYSTEM subdirectory All the directories listed in the PATH statement in the AUTOEXEC.BAT file All the directories in a network path If you suspect that you have outdated driver files, you need to delete them from your system. To Delete Outdated Driver Files ------------------------------- 1. Use File Manager to find all versions of the driver file(s) on your system. Compare each version by date. 2. Delete all other versions of the driver file(s) except the most current version. Retain a single copy of the most current version in the Windows SYSTEM subdirectory. To Identify an IRQ Conflict --------------------------- 1. Remove any serial hardware you have installed on your system (mouse, network card, fax board, modem, and so forth) and then restart Windows. If Windows now runs in 386 enhanced mode with no problems, the problem may be caused by an IRQ conflict. 2. Reinstall each separate piece of serial hardware, one at a time, restarting Windows between each addition. This isolates the hardware that is causing the IRQ conflict. When the problem recurs, you can assume it is caused by the hardware you have just reinstalled. 3. Reassign the IRQ for the piece of hardware in question. Refer to the procedure in this Application Note on "To reassign the IRQ from Control Panel." ---------------------------------------------------------------- ---- TO OBTAIN THIS APPLICATION NOTE =============================== - On CompuServe, GEnie, and Microsoft OnLine, Application Notes are located in the Microsoft Software Library. You can find WW0654 in the Software Library by searching on the word WW0654, the Q number of this article, or S13673. WW0654 is a compressed, self-extracting file. After you download WW0654, run it to extract the file(s) it contains. - On the Internet, Application Notes are located on the Microsoft anonymous ftp server, which you can reach by typing "ftp ftp.microsoft.com" (without the quotation marks) at the ">" command prompt. You can find WW0654.EXE in the SOFTLIB/MSLFILES directory. - Application Notes are available by modem from the Microsoft Download Service (MSDL), which you can reach by calling (206) 936-6735. This service is available 24 hours a day, 7 days a week. The highest download speed available is 14,400 bits per second (bps). For more information about using the MSDL, call (800) 936-4200 and follow the prompts. To obtain WW0654, download WW0654.EXE. - You can have this Application Note mailed or faxed to you from the automated Microsoft FastTips Technical Library, which you can call 24 hours a day, 7 days a week at (800) 936-4200. NOTE: The FastTips Technical Library is available only to customers within the U.S. and Canada. - If you are unable to access the source(s) listed above, you can have this Application Note mailed or faxed to you by calling Microsoft Product Support Services Monday through Friday, 6:00 A.M. to 6:00 P.M. Pacific time at (206) 637-7098. If you are outside the United States, contact the Microsoft subsidiary for your area. To locate your subsidiary, call Microsoft International Sales Information Center at (206) 936-8661. KBCategory: kbfile kbdisplay kbappnote KBSubcategory: Additional reference words: appnote gpf 3.10 comm port lpt 1.0 Reinstalling Windows Without Losing Settings Article ID: Q94196 ---------------------------------------------------------------- ---- The information in this article applies to: - Microsoft Windows operating system versions 3.1, 3.11 ---------------------------------------------------------------- ---- SUMMARY ======= There may be situations in which you need to reinstall Microsoft Windows to troubleshoot a problem possibly related to file corruption or accidental deletion of files from the Windows directory or the Windows SYSTEM subdirectory. In most cases, it is not advisable to simply reinstall over an existing Windows installation because with that procedure, some files may not be properly updated. Installing Windows to a new directory ensures a "clean" installation; however, any modifications to Windows initialization (.INI) files or the registration database (REG.DAT) are lost with such an installation. Also, programs that install files into the Windows directory, such as Microsoft Word for Windows and Microsoft Excel, cannot run from the new copy of Windows. Any Windows-based applications must be reinstalled under the new installation of Windows. Furthermore, any customization of Program Manager groups, desktop colors and wallpaper, screen-saver settings, and other user-defined environment settings must be re-created. MORE INFORMATION ================ Use the following steps to reinstall Windows 3.1 without losing current settings, such as .INI and REG.DAT file modifications, customized Program Manager groups (.GRPs), and other desktop settings. 1. Install Windows into a new directory, such as C:\WIN. Verify that Windows runs from this new directory. If Windows ran during installation but does not run from this new directory, something has changed on the computer, or file corruption has occurred since Windows was installed. The following causes should be considered: - Changes to the path - Deletion of files from the Windows directory - Low conventional memory - File corruption - Hardware failures 2. In this new installation, rename the .GRP files using .GRN, the .INI files using .INN, and the .FOT files (located in the Windows SYSTEM subdirectory) using .FOZ. Rename the REG.DAT file using REG.DAN. To do this, quit Windows and type the following commands at an MS-DOS command prompt: rename c:\win\*.grp *.grn rename c:\win\*.ini *.inn rename c:\win\reg.dat reg.dan rename c:\win\system\*.fot *.foz NOTE: The *.FOT files have an internal direct path to the *.TTF files, which if copied to the old C:\WINDOWS\SYSTEM subdirectory, can create problems with the fonts after the C:\WIN directory is removed. 3. Remove the Read-Only attribute from any files in the C:\WINDOWS and C:\WINDOWS\SYSTEM directories. Copy all the files from the new installation into the original Windows directory (C:\WINDOWS) by typing the following at an MS-DOS command prompt: attrib -s -h c:\windows\*.* /s attrib -r c:\windows\*.* /s xcopy c:\win c:\windows /s If Windows now runs from the C:\WINDOWS directory, the reinstallation has been successful, and no settings were lost. To save disk space, delete the C:\WIN directory from File Manager or from MS-DOS version 6.0 or later using the DELTREE command. Also, delete files with the extensions .INN, .GRN, and the file REG.DAN in the C:\WINDOWS directory, and the files ending with .FOZ in the C:WINDOWS\SYSTEM subdirectory. If Windows does not run, continue with the following steps. 4. Rename the original .INI files using .INO, and rename the .INN files using .INI as follows: rename c:\windows\*.ini *.ino rename c:\windows\*.inn *.ini Edit the PROGMAN.INI file and replace all occurrences of C:\WIN with C:\WINDOWS. If Windows runs now, the problem is being caused by a corruption or improper setting in one of the original .INI files. The best solution is to back up all data files from Windows-based applications and then reinstall the applications. This ensures the correct WIN.INI, SYSTEM.INI, and directory settings for each application. Note that you must re-create any customization of Program Manager groups and desktop settings. To free up disk space, delete excess files as shown in step 3 above. 5. If Windows does not run now, back up all application data files and reinstall the applications under the new Windows installation after renaming the .INN, .GRN, .FOZ, and REG.DAN files as follows: rename c:\win\*.inn *.ini rename c:\win\*.grn *.grp rename c:\win\reg.dan reg.dat rename c:\win\system\*.foz *.fot REFERENCES ========== "Microsoft Windows Resource Kit," version 3.1, Chart 1.6, "Reinstalling Windows Without Losing Settings," page 15 "Getting Started With Microsoft Windows," version 3.1, Chapter 1, "Setting Up Windows," pages 1-15 KBCategory: kbsetup kbtshoot KBSubcategory: win31 Additional reference words: tshoot how to preserve 3.10 reinstal save setup install rebuild Windows Err Msg: EMM386 Exception Error #6 Article ID: Q94279 ---------------------------------------------------------------- ---------- The information in this article applies to: - Microsoft Windows operating system versions 3.1, 3.11 - Microsoft Windows for Workgroups versions 3.1, 3.11 ---------------------------------------------------------------- ---------- SUMMARY ======= You may receive the following error message while running an MS-DOS-based application under Windows or Windows for Workgroups: EMM386 Exception Error #6 This error message indicates that an MS-DOS-based application has caused the processor to execute an invalid instruction. Although the error message is provided by EMM386.EXE, it is not the cause, nor is it directly related to the problem. The error is probably caused by a corrupt .EXE file or a bad memory chip. MORE INFORMATION ================ When Windows starts, it turns off EMM386.EXE but leaves its error handler installed. When the CPU notifies Windows of a problem, it passes the error to the default handler, which in this case is EMM386.EXE. EMM386 Exception Error #6 indicates an "invalid opcode." According to "Microsoft's 80386/80486 Programming Guide" second edition (pages 122-123), this error can be caused by either of the following: - The processor tries to decode a bit pattern that does not correspond to any legal machine instruction. - The processor tries to execute an instruction that contains invalid operands. Both situations indicate the same thing--the CPU is trying to execute instructions, but is being given random values from the wrong memory location. This can be caused by one of the following: - The application gave an invalid jump instruction, causing a jump to an invalid memory location. - The application gave a correct jump, but the memory it jumped to is corrupted. The most likely cause of these problems is either a corrupted file (.EXE, .DLL, or virtual device driver [VxD]) or a bad memory chip. If the problem occurs on more than one distinct program, it is probably caused by a bad memory chip. For example, if the problem occurs when you choose Open from the File menu in Microsoft Windows Write and Microsoft Windows Notepad, the error is probably being caused by a corrupted common dialog box .DLL file (COMMDLG.DLL). But if the problem occurs in two applications that do not share any .DLL files, the error is likely caused by a bad memory chip. If you are using MS-DOS 6.2 or later or Windows for Workgroups version 3.11, you may be able to correct this problem by removing HIGHSCAN from the EMM386.EXE command in your CONFIG.SYS file. Exception Error #6 with Microsoft Backup for Windows ---------------------------------------------------- If you receive the "EMM386 Exception Error #6" while you are running Microsoft Backup for Windows, you may have an incompatible third-party virtual device driver (VxD). Use a text editor, such as Microsoft Windows Notepad, to edit the [386Enh] section of the SYSTEM.INI file and use a semicolon to remark out the following lines: device=fastback.386 -or- device=virwt.386 NOTE: VFINTD.386 is the virtual device driver for MS-DOS 6.x Backup for Windows and should not be removed. Exception Error #6 With Older Version of After Dark --------------------------------------------------- This error can occur while running older version of Berkeley Systems' After Dark with other applications (such as Intuit's Quicken) in Microsoft Windows. To solve the problem, remove After Dark. The products included here are manufactured by vendors independent of Microsoft; we make no warranty, implied or otherwise, regarding these products' performance or reliability. KBCategory: kbtool kberrmsg kb3rdparty KBSubcategory: msdos win31 wfw wfwg Additional reference words: 3.10 mwbackup 006 6.0 6.00 6.2 6.20 3rdparty quickin afterdark ms-dos WW0524: Troubleshooting GP Faults (UAEs) Article ID: Q95505 ---------------------------------------------------------------- ------ The information in this article applies to: - Microsoft Windows operating system versions 3.0, 3.0a, 3.1, 3.11 - Microsoft Windows for Workgroups version 3.1, 3.11 ----------------------------------------------------------------- ----- Microsoft has an Application Note titled "WW0524: Troubleshooting GP Faults (UAEs)" that can help you troubleshoot general protection (GP) faults in Windows 3.1, Windows for Workgroups 3.1 and 3.11, and unrecoverable application errors (UAEs) in Windows 3.0. You can obtain this Application Note from the following sources: - CompuServe, GEnie, and Microsoft OnLine - Microsoft Download Service (MSDL) - The Internet (Microsoft anonymous ftp server) - Microsoft FastTips Technical Library - Microsoft Product Support Services For complete information, see the "To Obtain This Application Note" section at the end of this article. THE TEXT OF WW0524 ================== ================================================================ ====== Microsoft(R) Product Support Services Application Note (Text File) WW0524: Troubleshooting GP Faults (UAEs) ================================================================ ====== Revision Date: 8/94 No Disk Included The following information applies to Windows(TM) & Windows for Workgroups, versions 3.0, 3.1, and 3.11. ---------------------------------------------------------------- ------ | INFORMATION PROVIDED IN THIS DOCUMENT AND ANY SOFTWARE THAT MAY | | ACCOMPANY THIS DOCUMENT (collectively referred to as an Application| | Note) IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER | | EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED | | WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR | | PURPOSE. The user assumes the entire risk as to the accuracy and | | the use of this Application Note. This Application Note may be | | copied and distributed subject to the following conditions: 1) All| | text must be copied without modification and all pages must be | | included; 2) If software is included, all files on the disk(s) | | must be copied without modification (the MS-DOS(R) utility diskcopy| | is appropriate for this purpose); 3) All components of this | | Application Note must be distributed together; and 4) This | | Application Note may not be distributed for profit. | | | | Copyright (C) 1992-1994 Microsoft Corporation. All Rights Reserved.| | Microsoft and MS-DOS are registered trademarks and Windows is a | | trademark of Microsoft Corporation. | | 3+Open, 3+Share, and 3Com are registered trademarks of 3Com | | Corporation. Adaptec is a trademark of Adaptec, Inc. Adobe Type | | Manager and ATM are registered trademarks of Adobe Systems, Inc. | | AST is a registered trademark of AST Research, Inc. AT&T is a | | registered trademark of American Telephone and Telegraph Company. | | Banyan and VINES are registered trademarks of Banyan Systems, Inc. | | Bitstream is a registered trademark of Bitstream, Inc. COMPAQ is a | | registered trademark of Compaq Computer Corporation. DEC is a | | registered trademark and Pathworks is a trademark of Digital | | Equipment Corporation. Everex is a trademark of Everex | | Systems, Inc. Hewlett-Packard is a registered trademark of | | Hewlett-Packard Company. AT, IBM, Micro Channel, OS/2, and PS/2 are| | registered trademarks of International Business Machines | | Corporation. Intel is a registered trademark of Intel Corporation. | | Artisoft and LANtastic are registered trademarks of Artisoft, Inc. | | NEC is a registered trademark of NEC Corporation. NetWare and | | Novell are registered trademarks of Novell, Inc. PC Tools is a | | trademark of Central Point Software, Inc. Qemm is a trademark of | | Quarterdeck Office Systems. SpeedStor is a registered trademark of | | Storage Dimensions. Stacker is a trademark of STAC Electronics. | | TCS is a registered trademark of Eurotherm International P.L.C. | | Toshiba is a registered trademark of Kabushiki Kaisha Toshiba. | | Zenith is a registered trademark of Zenith Electronics Corporation.| | |--------------------------------------------------------------- -----| INTRODUCTION ============ This document describes general protection (GP) faults (referred to as unrecoverable application errors [UAEs] in Windows 3.0), details the causes of these errors, and provides a systematic approach to eliminate them. WHAT IS A GENERAL PROTECTION (GP) FAULT? ======================================== GP faults occur only in the standard and 386 enhanced modes of Windows; they cannot occur in the real mode of Windows 3.0. A GP fault signifies that something unexpected has happened within the Windows environment, typically an improper memory access. For example, an application or a Windows component might read or write to a memory location that has not been allocated to it (memory that it does not "own"), potentially overwriting and corrupting other program code in that area of memory. Another situation where a GP fault may occur involves the passing of parameters between applications and the Windows environment. Invalid parameters can cause invalid instructions to be executed, resulting in GP faults. This is usually the result of an application's internal program code incorrectly passing specific data that could not be correctly interpreted by Windows or a Windows-based application. What Is a System Integrity Violation? ------------------------------------- A system integrity violation error message indicates that an MS- DOS-based application has caused a GP fault. Similar to a GP fault, system integrity violations indicate that an MS-DOS-based application has accessed memory that does not belong to it. Because Windows is managing memory in this situation, the MS-DOS- based application's memory access often corrupts Windows program code or data. The result is an application execution error generated from Windows that reports the "application has violated system integrity due to an invalid general protection fault and will be terminated." This message can also occur when an MS-DOS- based application has tried to directly access a hardware component of the system. HOW DO WINDOWS 3.1 AND WINDOWS FOR WORKGROUPS 3.1 AND 3.11 HANDLE GP FAULTS? ========================================= The parameter validation feature allows Windows 3.1 and both versions of Windows for Workgroups to check for invalid parameters passed between Windows and Windows-based applications. Windows 3.1 and Windows for Workgroups are also designed to better manage and maintain which applications "own" specific memory locations and system resources. As a result, Windows 3.1 and Windows for Workgroups are better at recovering a particular application's memory and system resources if the application causes a GP fault and subsequently stops responding (hangs). When you see a GP fault message while running Windows 3.1 or Windows for Workgroups, the message provides specific information about which applications and Windows components were running at the time of the error, and where the error occurred. If the GP fault is not too severe, Windows can continue to run the application that caused the fault, allowing you to save your work before you close the application. Performing a Local Reboot ------------------------- Depending on the severity of a GP fault in Windows 3.1 or Windows for Workgroups, you may be able to press CTRL+ALT+DEL to display information concerning system integrity and the application that caused the fault. The severity of a GP fault can be measured by how well an application functions after the fault has occurred. When you press CTRL+ALT+DEL after a less severe fault occurs, the following message appears: System has either become busy or has become unstable - Press any key to return to Windows and wait - Press CTRL+ALT+DEL again to restart your computer (all unsaved information will be lost) When you get this message, you can return to Windows and wait for the system to recover, but you will probably have to restart the system. When you press CTRL+ALT+DEL after a more severe fault occurs, the following message appears: This Windows application has stopped responding to the system - Press ESC to cancel and return to Windows - Press ENTER to close this application (all unsaved information will be lost) - Press CTRL+ALT+DEL again to restart your computer (all unsaved information will be lost) When you get this error message, you can usually press the ESC key to return to your application and save your work (if possible) or press the ENTER key to close the application and return to Windows; this is known as a local reboot. Once you have saved your work or returned to Windows, quit Windows and restart your computer to prevent additional GP faults. PREPARING TO TROUBLESHOOT GP FAULTS =================================== The procedures in the following section provide a proven way to troubleshoot GP faults. Many of these troubleshooting steps require changes to system configuration files. These changes are not intended to be permanent; they should be used as techniques for isolating the conflict that caused the GP fault. Before you begin making changes, you should back up your system files and make a startup (also known as system or boot) disk. This gives you the ability to restart your computer and edit your CONFIG.SYS or AUTOEXEC.BAT files should any changes cause the system to hang. This also ensures that you can return to your original system configuration by restoring your original system files after you have determined the source of the problem. To create a startup disk with the necessary files: 1. Insert a formatted disk in your floppy disk drive, type the following command, and press ENTER: sys c: a: If you are using a version of MS-DOS earlier than 5.0, you also need to copy the COMMAND.COM file to drive A by typing the following command and pressing ENTER: copy c:\command.com a: 2. Copy an ASCII text editor (such as MS-DOS Editor [including QBASIC.EXE] or Edlin) to the disk in drive A by typing the following commands, pressing ENTER after each: copy c:\dos\edit.com a: copy c:\dos\qbasic.exe a: If you are running version 4.0 or earlier of Microsoft MS-DOS, your editor is called Edlin. To copy Edlin to drive A, type the following command and press ENTER: copy c:\dos\edlin.com a: 3. Copy your AUTOEXEC.BAT, CONFIG.SYS, SYSTEM.INI, and WIN.INI files to the disk in drive A with the following commands: copy c:\autoexec.bat a: copy c:\config.sys a: copy c:\windows\system.ini a: copy c:\windows\win.ini a: NOTE: If your Windows directory is on a drive other than C, substitute the appropriate drive letter for "c" in the above steps. SYSTEMATICALLY ISOLATING GP FAULTS ================================== It is important that you follow the steps in this section in sequence. GP faults are usually caused by the interaction of two or more applications; therefore, skipping steps may prolong the time required to isolate the problem. NOTE: Most people find the cause of the GP fault in the first half of these procedures. Eliminate the Basics -------------------- 1. Ensure the application was not designed for an earlier version (2.x) of Windows. If you are running Windows in standard or 386 enhanced mode, check to see if you are running an application that was designed for an earlier version (2.x) of Windows. Applications designed for Windows 2.x cause errors when run under Windows 3.0 or 3.1 in standard or 386 enhanced mode. Windows displays a warning message when you run an application designed for Windows version 2.0, 2.03, 2.1, or 2.11. Such applications should be run only under Windows 3.0 in real mode, as the dialog box suggests. Since real mode is not available in Windows 3.1 or Windows for Workgroups, contact the manufacturer of the application for possible workarounds or to obtain a software upgrade. 2. Run the MS-DOS CHKDSK command with the /F switch. NOTE: Before you run this command, you must quit Windows. By running CHKDSK /F, any lost allocation units or other file allocation table (FAT) errors are corrected. For more information on CHKDSK, refer to your MS-DOS documentation. NOTE: If you are using MS-DOS 6.2 or later, run SCANDISK instead of CHKDSK /F. 3. Ensure system resources are above 60 percent. From the Help menu in Program Manager, choose About Program Manager. You should be running Windows in the highest mode your hardware supports, and your system resources should be close to 60 percent. If system resources are lower than 60 percent, you may have an application running in the background using resources. If this is the case, close all applications before proceeding. 4. Check the MS-DOS version you are running. Your machine should have the proper MS-DOS version for its hardware type. Original equipment manufacturer (OEM) versions of MS-DOS (such as COMPAQ(R) MS-DOS or IBM(R) PC-DOS) should be used only on their respective OEM hardware platforms (that is, COMPAQ MS-DOS on COMPAQ machines only and IBM PC-DOS on IBM machines only). NOTE: Microsoft MS-DOS 5 Upgrade and Microsoft MS-DOS 6 Upgrade are platform independent-they function correctly on all 100- percent IBM PC/AT(R)-compatible machines. 5. Determine if the problem occurs in standard mode. If you are having problems with GP faults in 386 enhanced mode, try running Windows in standard mode (WIN /S) to see if the GP faults still occur. If the errors are present in both standard and 386 enhanced mode, the problem may be caused by a conflict between Windows and a hardware device, or you may have a corrupted file. NOTE: Standard mode is not available in Windows for Workgroups 3.11. Start Windows for Workgroups 3.11 by typing WIN /D:T to prevent loading any 386 enhanced mode virtual device drivers. 6. Run Windows without using the WIN.INI file. To determine if you are having problems with corrupted fonts, a corrupted printer driver, or software loading from the run= or load= line, rename the WIN.INI file with the following command, then restart Windows: ren c:\windows\win.ini winini.old If this procedure corrects the problem, ensure the load= and the run= lines in the [windows] section of the WIN.INI file are either blank or preceded with a semicolon (;) to prevent any software from loading. If this fails to correct the problem, contact Microsoft Product Support Services for assistance in isolating the problem within the WIN.INI file. If the previous procedure does not correct the problem, rename WININI.OLD to WIN.INI, by typing the following command: copy c:\windows\winini.old win.ini 7. Reinstall the software that is causing the GP fault. If the GP fault can be tracked to a specific application, reinstall the software causing the GP fault. The files on disk may have been corrupted or damaged, or the application may have been improperly installed. Contact the software vendor for assistance if you need help reinstalling the application. Eliminate Other Software Conflicts Within Windows ------------------------------------------------- It is essential to determine whether the GP fault is caused by a conflict between Windows and your hardware or a conflict between Windows and other software. To do this, eliminate possible software conflicts before testing your hardware. After you remove the software listed below, restart your computer and try to reproduce the GP fault. To eliminate possible software conflicts: 1. Ensure that the StartUp group is empty. 2. Ensure that no screen savers, including built-in Windows screen savers, are running. In the Control Panel window, choose the Desktop icon and ensure the Screen Saver Name list box is empty. 3. Ensure Windows is not being run from a menu program, such as MS- DOS Shell. Configure Windows for the Lowest Level Configuration ---------------------------------------------------- Use the Windows Setup program to configure Windows for the minimum necessary hardware devices. Run the MS-DOS version of Windows Setup (from the Windows directory [usually named WINDOWS], type setup) and select the lowest level configuration of device drivers. When you troubleshoot GP faults, use only the standard Windows device drivers listed below, if possible. Display: VGA (Version 3.0) Mouse: No mouse or other pointing device Network: No network installed (This is not an option for Windows for Workgroups.) NOTE: Systems with EGA cards and/or monitors should use the EGA display driver. Check for Unsupported Third-Party Drivers ----------------------------------------- 1. The installation programs of some applications modify the SYSTEM.INI and WIN.INI files to enhance the overall functionality of Windows or provide additional features to the Windows environment. For example, programs such as Adobe Type Manager(R) (ATM[R]), Bitstream(R), and SuperPrint add device drivers to the SYSTEM.INI file. Temporarily comment out all lines relating to third-party drivers to ensure that Windows uses a minimum configuration for testing purposes. (To comment out a line, use an ASCII text editor, such as Windows Notepad, to edit the .INI file and place a semicolon at the beginning of the appropriate line.) If this corrects the problem, the problem was most likely caused by one of the drivers you commented out. To identify which line is causing the problem, replace the commented-out lines one by one until the problem reoccurs. 2. The statements below are those most commonly altered by third- party software manufacturers. Make sure your configuration does not differ from the default Windows configuration shown below: SYSTEM.INI | WIN.INI --------------------------------------------- [boot] | [windows] shell=progman.exe | load= system.drv=system.drv | run= keyboard.drv=keyboard.drv | mouse.drv=mouse.drv | display.drv=vga.drv | comm.drv=comm.drv | sound.drv=mmsound.drv | Eliminate Software Conflicts at the MS-DOS Level ------------------------------------------------ Check for incompatible terminate-and-stay-resident (TSR) programs or unsupported device drivers in your CONFIG.SYS and AUTOEXEC.BAT files. Temporarily comment out all lines relating to device drivers and TSR programs that are not required to start your system. These may include virus-detection programs, disk-imaging programs, undelete utilities, caching programs, CD-ROM drivers, multimedia drivers, terminal-emulation software, and so on. (To comment out a line, use a text editor, such as MS-DOS Editor or Edlin, open the AUTOEXEC.BAT or CONFIG.SYS file, and type "rem" (without the quotation marks) at the beginning of the line, then save the file and restart your computer.) NOTE: Do not comment out network files if the Windows files are on a network server. Minimum MS-DOS configuration for Windows versions 3.0 and 3.1: CONFIG.SYS | AUTOEXEC.BAT ---------------------------------------------------------------- - files=50 | path c:\;c:\dos;c:\windows buffers=30 | prompt $p$g device=c:\\himem.sys | set temp=c:\ stacks=9,256 (Windows 3.1 only) | Minimum MS-DOS configuration for Windows for Workgroups 3.1 (with the Microsoft Windows network): CONFIG.SYS | AUTOEXEC.BAT ---------------------------------------------------------------------- - files=50 | c:\\net start buffers=30 | path c:\;c:\dos;c:\windows device=c:\\himem.sys | prompt $p$g stacks=9,256 | set temp=c:\ *device=c:\\protman.dos | /I:\protocol.ini | device=c:\\.dos | device=c:\ \workgrp.sys | *NOTE: This should appear on a single line in your CONFIG.SYS file. Minimum MS-DOS configuration for Windows for Workgroups 3.11 (with the Microsoft Windows network): CONFIG.SYS | AUTOEXEC.BAT -------------------------------------------------------------- files=50 | c:\\net start buffers=30 | path c:\;c:\dos;c:\windows device=c:\\himem.sys | prompt $p$g stacks=9,256 | set temp=c:\ device=c:\\ifshlp.sys | CAUTION: Before modifying these files, make sure you don't comment out lines pertaining to other hardware-specific device drivers, such as disk-compression utilities, extended memory boards, third- party disk-partitioning programs, and so on. If you do not know the purpose of a line in your CONFIG.SYS or AUTOEXEC.BAT file, do not comment it out. The following drivers may be required to start the computer or to access your hard disk: Device driver | Function ---------------------------------------------------------------- SSWAP.COM | Stacker(TM) disk compression STACKER.COM | Stacker disk compression DASDDRVR.SYS | IBM BIOS fix DMDRVR.SYS | Ontrack disk partition SSTORE.SYS | SpeedStor(R) disk compression ASPI4DOS.SYS | Adaptec(TM) SCSI BIOS extensions SCSIHA.SYS | Adaptec SCSI buffering device If the previous procedure corrects the problem, the problem is related to one of the drivers or TSR programs that you commented out. To identify which line is loading the TSR program or device driver that causes the error, restore the commented-out lines one by one until the problem reoccurs. Eliminate Potential Network Conflicts ------------------------------------- If the machine is running on a network, disabling the network software is the easiest and quickest way to determine whether the network software is causing the problem. To disable the network software: 1. If Windows is running on the local hard disk drive (that is, you are not running a network installation of Windows [installed by running SETUP /N]), comment out all network drivers and statements from the AUTOEXEC.BAT and CONFIG.SYS files. 2. Configure Windows for "No network" by changing to the WINDOWS directory (CD \WINDOWS), typing "setup" (without the quotation marks), and changing the installed network to "No network installed." NOTE: "No network installed" is not a choice in Windows for Workgroups. For Windows for Workgroups 3.1, comment out the network statements in the CONFIG.SYS and AUTOEXEC.BAT files. When you restart your system, ignore the error messages about the network. For Windows for Workgroups 3.11, type "win /n" (without the quotation marks) to disable network functionality. 3. Ensure login scripts are not altering the PATH environment variable. Check the PATH environment variable prior to starting Windows. To do this, type "set" (without the quotation marks) to display the path. Replace the current path command with the minimum path required to test for GP faults. For example path=c:\windows;c:\dos or, if Windows is running over the network path=:\windows;:\;c:\dos;:\ where is your hard disk drive, is a network drive, is the directory containing the shared Windows program files, and is the directory containing the network files. NOTE: If you need to test a specific application, include the application's directory in the path. 4. Make sure that your WINDOWS directory does not contain any .DRV files. These files should be located either in the WINDOWS\SYSTEM subdirectory or in the shared directory on the server if you are running a network installation of Windows. NOTE: If you are running a network installation of Windows, you should not have a WINDOWS\SYSTEM directory on your local hard disk drive or in the shared Windows directory on the network server. 5. Make sure you are using the correct version of the network shell. (Use the version that ships with Windows.) Eliminate Potential Video Conflicts ----------------------------------- If a poorly designed or corrupted video driver is installed, GP faults may occur at seemingly random times, sometimes very frequently. You may also see a blank screen or the system may hang when you quit an MS-DOS-based application that is running in a window. These problems can be caused by a poorly designed or corrupted video driver or by the use of the incorrect video grabber file. Use the following steps to ensure you are using a compatible video driver: 1. Quit Windows and use the Microsoft Diagnostics (MSD) program to check the video hardware. If you have a video BIOS dated earlier than 1988, contact your video card manufacturer to see if a more recent version of the BIOS is required for use with Windows. If a high-resolution card, such as the ATI or Orchid coprocessor card, is installed, make sure that it is configured correctly for your hardware--these cards may require that you select a vertical scan rate and monitor type. 2. Install the generic VGA driver by quitting Windows and running Setup from the WINDOWS directory. If this driver is already installed, press the ESC key when you are prompted with the following message: To replace the currently installed driver, press ESC. This ensures that new video driver, font, and video grabber files are installed. If this fails to correct the problem, repeat this procedure and install the VGA 3.0 driver. If the problems persist, install the EGA video driver. If none of these drivers improves the situation, reinstall the standard VGA video driver and continue troubleshooting. NOTE: The VGA (version 3.0) driver is not available in Windows 3.0. EGA is not available in Windows for Workgroups 3.11. 3. Make sure that the correct 286 and 386 grabber files are installed. The following entries should be present in the [boot] section of the SYSTEM.INI file; the corresponding files should be in the WINDOWS\SYSTEM subdirectory: In Windows 3.0: 286grabber=vgacolor.gr2 386grabber=vga.gr3 In Windows 3.1 and Windows for Workgroups 3.1: 286grabber=vgacolor.2gr 386grabber=vgadib.3gr or 386grabber=vga.3gr In Windows for Workgroups 3.11: 386grabber=vga.3gr Ensure You Are Using the Correct Switch for HIMEM.SYS ----------------------------------------------------- HIMEM.SYS is the default device driver Windows uses in the standard and 386 enhanced modes to access extended memory, including the high memory area (HMA)--the first 64K of extended memory (1024K-1088K). HIMEM.SYS accesses the HMA through the A20 line of memory using A20 "handlers." The method used to access the HMA depends on the hardware you are using, so HIMEM.SYS has been designed to use several different A20 handlers. HIMEM.SYS follows a routine at load time to determine which A20 handler is appropriate for your machine. Unfortunately, some nonstandard machines do not respond to the HIMEM.SYS tests, which can result in the wrong A20 handler being selected. Using the incorrect A20 handler can result in many problems, such as slow system performance and GP faults. The system may also hang when HIMEM.SYS loads, leaving the following message on the screen: HIMEM: DOS XMS Driver, Version x.xx - MM/DD/YY The /MACHINE switch is used to gain control of the A20 line by forcing HIMEM.SYS to use a specific handler. For example: device=c:\\himem.sys /machine:1 -or- device=c:\\himem.sys /m:1 To test the different HIMEM.SYS switches on your machine, edit the CONFIG.SYS file with an ASCII text editor and add the /MACHINE switch with one of the machine-specific handler numbers (1-16). If you do not know which number to use, refer to your current MS-DOS or Windows documentation. For most IBM PC/AT 100 percent- compatible machines, one of the IBM PC/AT compatible A20 handler switches (/M:1, /M:11, /M:12, /M:13) should work. If your computer is not listed in the documentation, you are not sure which number to use, or the machine number for your computer doesn't correct the problem, try these machine numbers in the following order: 1, 11, 12, 13, 8, 2-7, 9-10, 14-16. Check your current MS-DOS or Windows documentation for the list of machines that require a specific A20 handler. WARNING: When you are testing to see which A20 handler is appropriate, make sure you have a startup MS-DOS disk with an ASCII text editor (such as MS-DOS Editor or Edlin), because some A20 handlers will cause your machine to hang. For MS-DOS versions 6.2 and later, you can force the testing of XMS memory with the TESTMEM:ON parameter. If you continue to have problems accessing extended memory, try enabling and disabling XMS testing. For example: device=c:\\himem.sys /testmem:on -or- device=c:\\himem.sys /testmem:off Ensure Windows Is Configured for the Correct Computer Type and Network ----------------------------------------------------------------- ----- Some machines and networks require that you override the Windows Setup default setting for the computer type and network. If the correct selection is not made during Setup, Windows may not operate correctly, or you may receive GP faults. Machines that must be specifically selected during Windows Setup include the following: Windows | Workgroups Machine 3.0 | 3.1/3.11 | 3.1 | 3.11 ----------------------------------------------------------------- ------- AST(R)--all 80386- and 80486-based machines X | X | | AST Premium 386/25 and 386/33 (CUPID) | | X | X AT&T(R) PC | X | X | X AT&T NSX 20--Safari Notebook | X | X | X Everex(TM) Step 386/25 (or compatible) X | X | X | X Hewlett-Packard(R)--all machines X | X | X | X IBM PS/2(R) Model 70P | X | X | X IBM PS/2 Model L40sx | X | X | X Intel(R) 386SL-based system with APM | X | X | X MS-DOS system with APM | X | X | X NCR-all 80386- and 80486-based machines | X | X | X NCR PC386sx X | X | | NCR PC 925 X | | | NEC(R) PowerMate SX Plus X | X | X | X NEC ProSpeed 386 X | X | X | X Toshiba(R) 1200XE | X | X | Toshiba 1600 X | X | X | X Toshiba 5200 X | X | X | X Zenith(R)-all 80386-based machines X | X | | Zenith Data Systems-all 80386-based machines | X | | Zenith-all 386/486-based machines | | | X Networks that must be specifically selected during Windows Setup include the following: NOTE: This information does not apply to Windows for Workgroups. Windows Network 3.0 | 3.1/3.11 --------------------------------------------------------------------- 3Com(R) 3+Open(R) LAN Manager (XNS only) X | 3Com 3+Open | X 3Com 3+Share(R) X | X Artisoft(R) LANtastic(R) | X Banyan(R) VINES(R) 4.0 X | X DEC(R) Pathworks(TM) | X IBM OS/2(R) Lan Server | X IBM PC LAN Program X | X LAN Manager versions 1.x (or 100-percent compatible) X | X LAN Manager 2.0 (or 100-percent compatible) X | X LAN Manager 2.1 (or 100-percent compatible) | X Novell(R) NetWare(R) | X TCS(R) 10NET | X If your computer and/or network is on either of these lists and you did not select your computer type or network specifically during Setup, quit Windows and run the MS-DOS version of Setup from the WINDOWS directory. This allows you to make the proper selection without having to reinstall Windows. Use 386 Enhanced Mode for Troubleshooting ----------------------------------------- If GP faults occur in 386 enhanced mode but do not occur in standard mode, your system may have a memory conflict in the upper memory blocks (UMBs). Such errors occur only in 386 enhanced mode and most frequently in Windows 3.0, because version 3.0 does not inherit UMB usage from the expanded memory manager (EMM). To eliminate the possibility of a UMB conflict: 1. Edit the SYSTEM.INI file with the MS-DOS Editor or Edlin and insert the following line in the [386Enh] section: EMMExclude=A000-EFFF NOTE: This line is not case sensitive. If you are using an expanded memory manager, such as EMM386.EXE or Qemm(TM), with Windows 3.1 and Windows for Workgroups, you must either disable it or exclude the memory range shown above with the appropriate EMM. This information is inherited by Windows from the EMM and overrides any entries in the SYSTEM.INI file. The following is an example of excluding the memory range with EMM386.EXE: device=c:\windows\emm386.exe noems x=A000-EFFF IMPORTANT: If you are using Windows 3.1 or Windows for Workgroups, and you are not using an EMM, use the command WIN /D:X to load Windows from the MS-DOS command prompt. The /D:X switch excludes the memory range A000-EFFF from mapping, similar to the statement EMMExclude=A000-EFFF in the [386Enh] section of the SYSTEM.INI file. However, as with the EMMExclude= statement, this switch is overridden by any settings inherited from the EMM. 2. If making the above change corrects the problem, determine the position of all hardware adapters in the adapter segment and exclude them specifically, rather than excluding the entire region. If necessary, you can use multiple EMMExclude= lines to do this. If you leave the entire range excluded, Windows cannot set up expanded memory for MS-DOS-based applications. If you are using a Micro Channel(R) Architecture (MCA) bus machine, such as an IBM PS/2, you can determine the adapter location by restarting the machine with the IBM Reference Disk in drive A. If you are using an Industry Standard Architecture (ISA) bus machine, consult your adapter documentation and/or your manufacturer's technical support service for information on the memory locations the bus machine uses. 3. Disable virtual hard disk access. If you are running Windows 3.1 or Windows for Workgroups, start Windows with the /D:V parameter (WIN /D:V). If this prevents the GP faults, add the following line in the [386Enh] section of the SYSTEM.INI file: VirtualHDIRQ=OFF If you are running Windows 3.0, edit the SYSTEM.INI file and comment out the VirtualHDIRQ= line in the [386Enh] section. (To comment out a line, use an ASCII text editor, such as Windows Notepad, to edit the .INI file and place a semicolon at the beginning of the appropriate line.) 4. Ensure your permanent swap file is not corrupted. If you are running Windows 3.1 or Windows for Workgroups, you can remove your permanent swap file by using the 386 Enhanced icon in the Control Panel window. If you are running Windows 3.0, restart Windows in real mode and run the Swapfile program with the following steps: a. Start Windows in real mode by typing "win /r" (without the quotation marks). b. Close any applications that load automatically. c. From the File menu, choose Run. d. Type "swapfile" (without the quotation marks) and then press the ENTER key. If removing the permanent swap file corrects the problem, optimize your hard disk with a program such as Symantec's Speed Disk or PC Tools(TM) Compress and then reinstall the permanent swap file. 5. Turn off 32-bit disk access and 32-bit file access. If you are running Windows 3.1 or Windows for Workgroups, start Windows with the /D:F parameter (WIN /D:F) to disable 32-bit disk access. If you are running Windows for Workgroups 3.11, start Windows with the /D:C parameter (WIN /D:C) to disable 32-bit file access. The /D:F and the /D:C parameters (WIN /D:FC) can be combined to disable 32-bit disk access and 32-bit file access at the same time. REINSTALLING WINDOWS ==================== If you have followed all the above steps and still receive GP faults, there is most likely a problem with the machine or the way the hardware is configured. Use the following procedure to reinstall Windows to eliminate any possible remaining software or disk-integrity conflicts: 1. Remove any hardware such as external drives, modems, sound cards, and so forth from the machine. If the machine uses other special hardware, such as a full-page monitor, printer-sharing devices, or hardware keys used for copy protection, these items should be removed or swapped for standard devices that are known to work correctly. 2. Use the machine's CMOS Setup program to disable any feature that moves memory. (Consult your hardware documentation for specific instructions on modifying the CMOS settings.) This includes video shadowing, ROM BIOS shadowing, and any feature dealing with A20 handling. Also make sure the machine's primary startup (boot) drive is drive A. 3. Delete any reference to Windows on the PATH command in your AUTOEXEC.BAT file. Also, remove the DEVICE command for HIMEM.SYS from the CONFIG.SYS file. For more information, see the "Eliminate Software Conflicts at the MS-DOS Level" section on page 6 of this document. 4. Run Windows Setup with the following steps: a. To run Windows Setup in Custom mode, type "a:setup" (without the quotation marks) and press ENTER. When prompted for Express or Custom Setup, press C for Custom Setup. b. When you are prompted with the current Windows directory name, choose a new directory (such as WINTEST) to make sure the files are copied to a new location on your hard disk. c. At the configuration screen, ensure the appropriate options are selected for your specific hardware. Make sure the Computer setting is correct, set the Mouse option to "no mouse or pointing device," and set the Display option to VGA. Press the ENTER key to continue. d. In the Windows Setup dialog box, clear the Set Up Printers check box (press ALT+P) and the Set Up Applications Already On Hard Disk(s) check box (press ALT+A), then choose the Continue button. e. Clear all five check boxes in the Component section of the Windows Setup dialog box and choose the Continue button. Since you don't have mouse functionality at this time, clear the check boxes as you did in the previous step by pressing the ALT key plus the underlined letter in the component name. f. Choose the Change button in the Virtual Memory dialog box and then choose the OK button. g. Under New Settings, select None in the Type box. h. Choose the Change button and then choose the Yes button. i. Choose the Continue button to allow Windows Setup to update your CONFIG.SYS and AUTOEXEC.BAT files. You now have the minimum Windows installation, with the new Windows files in a different location on the hard disk. If this doesn't eliminate the GP faults, a hardware or BIOS conflict exists somewhere in your system. ----------------------------------------------------------------- -------- TO OBTAIN THIS APPLICATION NOTE =============================== - On CompuServe, GEnie, and Microsoft OnLine, Application Notes are located in the Microsoft Software Library. You can find WW0524 in the Software Library by searching on the word WW0524, the Q number of this article, or S13364. WW0524 was archived using the PKWARE file-compression utility. - Application Notes are available by modem from the Microsoft Download Service (MSDL), which you can reach by calling (206) 936-6735. This service is available 24 hours a day, 7 days a week. The highest download speed available is 14,400 bits per second (bps). For more information about using the MSDL, call (800)936-4200 and follow the prompts. To obtain WW0524, download WW0524.EXE. WW0524.EXE is a compressed, self-extracting file. After you download WW0524, run it to extract the file(s) it contains. - On the Internet, Application Notes are located on the Microsoft anonymous ftp server, which you can reach by typing "ftp ftp.microsoft.com" (without the quotation marks) at the ">" command prompt. - You can have this Application Note mailed or faxed to you from the automated Microsoft Windows 3.0 and 3.1 FastTips Technical Libraries, which you can call 24 hours a day, 7 days a week at (800) 936-4200. NOTE: The FastTips Technical Library is available only to customers within the U.S. and Canada. - If you are unable to access the source(s) listed above, you can have this Application Note mailed or faxed to you by calling Microsoft Product Support Services Monday through Friday, 6:00 A.M. to 6:00 P.M. Pacific time at (206) 637-7098. If you are outside the United States, contact the Microsoft subsidiary for your area. To locate your subsidiary, call Microsoft International Sales Information Center at (206) 936-8661. KBCategory: kbnetwork kbdisplay kbsound kbtool kb3rdparty kbtshoot kbfile kbappnote KBSubcategory: wfw wfwg Additional reference words: appnote 3.1 3.10 3.00 3.0 3.00a t-shoot tshoot gpf gp fault win31 Troubleshooting MS-DOS 6.x and EMM386.EXE Article ID: Q98768 ---------------------------------------------------------------- ---- The information in this article applies to: - Microsoft MS-DOS operating system versions 6.0, 6.2, 6.21, 6.22 - Microsoft Windows for Workgroups versions 3.1, 3.11 ---------------------------------------------------------------- ---- SYMPTOMS ======== You encounter unexpected behavior (for example, your system stops responding [hangs] or a program hangs) when using the version of EMM386.EXE included with the following products: Product Version of EMM386.EXE ---------------------------------------------------------- MS-DOS 6.0 4.45 MS-DOS 6.2 and 6.21 4.48 MS-DOS 6.22 4.49 Windows for Workgroups 3.1 4.44 Windows for Workgroups 3.11 4.48 WORKAROUND ========== Use the steps in the following sections to pinpoint and then correct the problems. Troubleshooting MS-DOS 6.x and EMM386.EXE ----------------------------------------- 1. Turn your machine off, then turn it back on (cold boot) to fully reinitialize the system. 2. Start MS-DOS interactively by pressing the F8 key as soon as the text "Starting MS-DOS..." appears. 3. When prompted to load EMM386.EXE, choose N for No. If the problem persists without loading EMM386.EXE, something other than EMM386.EXE is causing the problem. 4. If the problem disappears when EMM386.EXE is not loaded, edit the CONFIG.SYS file as follows using an ASCII text editor (such as MS-DOS Editor): device=c:\dos\emm386.exe x=a000-f7ff nohi noems novcpi nomovexbda notr NOTE: If the problem is specific to the use of the CTRL+ALT+DEL key combination (warm boot) and EMM386.EXE, add the ALTBOOT parameter to the above line. 5. Cold boot the machine after making the above changes. If the problem persists, the system may have faulty RAM chips or may require a special machine switch for HIMEM.SYS. In addition, any CMOS settings (such as shadow RAM) may need to be disabled, or the system ROM BIOS may need to be upgraded for compatibility with MS-DOS 6.x. Consult the system vendor for information on CMOS settings and/or the availability of BIOS upgrades. 6. If the problem disappears after loading EMM386.EXE as specified above, EMM386.EXE itself is not the source of the problem. Instead, the problem may be related to some service(s) that EMM386.EXE provides. If the above procedure corrected the problem, remove each command-line option for EMM386.EXE one by one and cold boot the machine. If the problem reappears, use the information below to find a resolution. X=A000-F7FF ----------- If excluding the entire upper memory area (UMA) resolves a system problem, EMM386.EXE may be scanning too aggressively and setting up upper memory blocks (UMBs) on top of some adapter ROM or RAM. Use any available hardware documentation (including documentation on the add-on hardware devices such as video, network, and disk controller cards) to identify any ROM or RAM present in the UMA for that device, and exclude all pertinent regions. If the hardware documentation is not available or does not give the required information, you can use the Microsoft Diagnostic Utility (MSD) to identify the memory regions. NOHI ---- EMM386.EXE has the ability to load a portion of itself into UMBs. If the NOHI option corrects the problem with EMM386.EXE, EMM386.EXE may be loading into an occupied UMB. (Excluding the appropriate ranges in the UMA may correct this problem; see the "X=A000-F7FF" section above.) If all such regions are excluded, EMM386.EXE cannot be loaded high on the system, and NOHI must be used. Contact the system manufacturer or vendor for additional information on compatibility with EMM386.EXE. NOEMS ----- If the NOEMS parameter corrects the problem with EMM386.EXE, EMM386.EXE may be inadvertently conflicting with some hardware ROM or RAM address in the UMA when attempting to establish an expanded memory (EMS) page frame. If EMS is required to run MS-DOS-based applications, use the parameter FRAME= or M (where is the defined hexadecimal address) to explicitly specify placement of the EMS page frame in a nonconflicting region. If no applications require EMS, simply continue to use the NOEMS parameter. NOVCPI ------ The NOVCPI switch disables Virtual Control Program Interface (VCPI) support and can be used only in conjunction with the NOEMS parameter. If using NOVCPI corrects the problem, the application may not be fully compatible with the EMM386.EXE VCPI allocation scheme. Either continue using the NOVCPI parameter, or do not load EMM386.EXE when using the application. NOMOVEXBDA ---------- Some machines use the last kilobyte of conventional memory for an extended BIOS Data Area. By default, EMM386.EXE remaps this memory area into the UMA instead of conventional memory. If this causes unexpected system behavior, the NOMOVEXBDA parameter MUST be used. NOTR ---- EMM386.EXE has a detection code to search for the presence of a token ring network adapter. This detection code may cause some computers to hang. The NOTR switch can be used to disable this search. MORE INFORMATION ================ For more information about EMM386.EXE command-line parameters and syntax, refer to MS-DOS Help by typing "help emm386.exe" (without quotation marks) at the MS-DOS command prompt and pressing ENTER. KBCategory: kbother kbdisplay kbtshoot kbtlc KBSubcategory: wfw msdos msdoswfw wfwg Additional reference words: 6.22 6.00 6.20 golden emm hang lockup crash tshoot conflict emm386 Windows for Workgroups Mail Issues Article ID: Q99108 ---------------------------------------------------------------- --- The information in this article applies to: - Microsoft Windows for Workgroups versions 3.1, 3.11 ---------------------------------------------------------------- --- SUMMARY ======= This article discusses several of the most common issues and procedures for setting up and using Windows for Workgroups Mail. This article is divided into the following topics: - "Re-creating the Mail Initialization Procedure" describes the steps you should use in case errors occur when you initialize Mail for the first time. These procedures are useful if you incorrectly specify the option of connecting to an existing postoffice or becoming the Workgroup Postoffice (WGPO). - "Setting up a Postoffice Across the Network" describes the steps for setting up and administering a postoffice on one machine while placing the WGPO on another machine. This section includes postoffice naming conventions and troubleshooting steps. - "Creating a WGPO on a Novell NetWare Server" corrects a documentation error in the "Windows for Workgroups Mail User's Guide" and provides additional information needed to successfully set up a Novell NetWare Postoffice. - "Moving a WGPO from One Machine to Another" describes steps for moving a WGPO to a new server without transferring WGPO administration responsibilities. - "Changing the WGPO Administrator" describes steps for transferring WGPO administration and management responsibilities from one person to another. - "Allowing Multiple Users to Log On to Windows for Workgroups Mail on the Same Machine" explains how to set up one machine for multiple postoffice accounts. - "Removing a Mail User and Installing a New User on a WFWG Machine" describes steps for removing a Windows for Workgroups Mail and Schedule+ user from a WFWG machine and adding a new user to that machine, without reinstalling Windows for Workgroups. - "Set Access Privileges or Open Other's Appt. Book Options Unavailable/Disabled" explains why these options are unavailable. NOTE: There may be situations in which your needs exceed the capabilities of Windows for Workgroups Mail, even with the procedures outlined below. If that is the case, you may want to consider upgrading to Microsoft Mail version 3.0, or higher. RE-CREATING THE MAIL INITIALIZATION PROCEDURE ============================================= When you first run Windows for Workgroups Mail, you are given the option to connect to an existing postoffice or create a new postoffice. After you make your selection, you cannot go back and change your selection. Steps to Reinitialize Mail -------------------------- If you want to change your initial selection, you must use the following steps to reinitialize Mail so that you can select the option you want. 1. Open the MSMAIL.INI file in an ASCII text editor, such as Microsoft Windows Notepad. 2. Disable the ServerPath= and the login= lines by typing a semicolon (;) at the beginning of each line. 3. Add or edit the CustomInitHandler= line so that it appears as follows: CustomInitHandler=WGPOMGR.DLL,10 4. Run Mail. The initialization procedure begins. How Mail Initialization Works ----------------------------- The initialization procedure is defined for Mail in the MSMAIL.INI file on the CustomInitHandler= line. This setting is defined as: CustomInitHandler=WGPOMGR.DLL, When you run Mail, it checks for the existence of the CustomInitHandler= line in the MSMAIL.INI file. If this line exists, Mail attempts to execute the procedure defined by this parameter setting. If the execution fails because the dynamic-link library (DLL) file WGPOMGR.DLL cannot be found or the procedure is undefined, Mail continues without reporting an error. The procedure, located in WGPOMGR.DLL, displays the Connect Or Create dialog box to allow you to either connect to an existing remote postoffice or create a new Workgroup Postoffice. - If you choose the Cancel button, WGPOMGR.DLL closes Mail. - If you choose the OK button, WGPOMGR.DLL removes the CustomInitHandler= line from the MSMAIL.INI file and returns to Mail, automatically signing you in to the postoffice. SETTING UP A POSTOFFICE ACROSS THE NETWORK ========================================== With Windows for Workgroups Mail, the Workgroup Postoffice can be set up from one computer to another computer across the network. For the example below, assume the following conditions are true: - The postoffice is set up and administered from machine 1. - The postoffice files are actually kept on machine 2. NOTE: The user on machine 1 is the Postoffice Manager, but the postoffice files are stored on machine 2 - Machine 1 is a Windows for Workgroups machine. - Machine 2 is a machine with server/sharing capabilities, such as a Windows for Workgroups machine, a LAN Manager 2.1 server, or a Novell server. NOTE: Novell servers require some special attention. Refer to the "Creating a WGPO on a Novell NetWare Server" section in this article. Steps to Connect to Other Machines ---------------------------------- After Windows for Workgroups Setup is complete on machine 1, the designated administrator of the Workgroup Postoffice should take the following steps: 1. On machine 1, from the Main group, start Workgroups Mail. 2. Choose Create A New Workgroup Postoffice. 3. To connect to machine 2, choose the Network button. If Machine 2 is a Windows for Workgroups machine or a LAN Manager 2.1 server, type the server name and share name (that is, <\\server\share>) where you want the postoffice created, then choose OK. NOTE: You must have access rights to the server and the share. If machine 2 is a Novell server, you must be logged onto the Novell server and have the correct permissions. Then, you should connect to the server and use one of these conventions: server/share:directory \\server\share\directory remapped drive:\directory For more information about the Novell naming conventions, check your Novell NetWare documentation. For more information about Windows for Workgroups naming conventions, see the "Windows for Workgroups Server, Share, and Mail Naming Conventions" section in this article. NOTE: Do not use the double-backslash convention mentioned above on Novell NetWare 4.x servers. If you do, you receive the following error message when you try to connect to the mail server: Mail could not connect to your mail server. If you remove one of the backslashes, you do not encounter this error message. 4. After the Workgroup Postoffice is established, check to ensure that the postoffice is shared properly on machine 2. Postoffice Naming Conventions ----------------------------- The following name length limitations exist in Microsoft Windows for Workgroups Mail: Server Name: 15 characters (including spaces) Share Name: 12 characters (including spaces) Workgroup Postoffice Share: 8 characters Windows for Workgroups Mail clients cannot connect to a Workgroup Postoffice if the share name contains more than eight characters, or if the Workgroup Postoffice server name or share name contains any spaces. For example, the following are examples of invalid Workgroups Postoffice server or share names: \\ser ver\wgpo \\server\wg po \\server\post office The following is a valid Workgroups Postoffice server or share name: \\server\wgpo NOTE: Microsoft recommends that the share name "WGPO" be used for consistency across all Workgroup Postoffices. Resolving Local Postoffice Connection Problems ---------------------------------------------- If a Windows for Workgroups mail administrator sets up the Workgroup Postoffice (WGPO) on another workgroup user's machine, that other user cannot connect to the postoffice and receives one of the following error messages: The selected network path cannot be found -or- This operation is not supported on this machine For example, if the mail administrator, working at a machine named "Admin", creates the WGPO on a machine called "machine1," the user of machine1 is unable to connect to the WGPO. To work around this problem, you must manually edit or create a new MSMAIL.INI file for machine1. NOTE: Windows for Workgroups Mail defaults to uniform naming conventions (UNC) to specify the location of the postoffice. UNC cannot be used to connect a user to a share on his/her local machine. Browsing for the WGPO share on the local machine results in the "not supported" error message. Manually typing in the UNC name of the share (\WGPO) results in the path not being found, as does typing in the local path (F:\WGPO). Workaround ---------- 1. Copy the MSMAIL.INI file from a machine that is already connected to the WGPO. 2. Edit the MSMAIL.INI file for machine1 as follows: a. Change the ServerPath= statement to reflect the local path. b. Change the login= statement to reflect the machine1 mailbox (as set up by the Mail Administrator). 3. Copy the newly edited MSMAIL.INI file to the WINDOWS directory on machine1. Note that you can use the Mail Administrator's MSMAIL.INI file as the source for the MSMAIL.INI file for machine1. If you use this file, be sure to remove all references to the WGPOMGR.DLL file. CREATING A WGPO ON A NOVELL NETWARE SERVER ========================================== Appendix B of the "Windows for Workgroups Mail User's Guide" for version 3.1 describes how to create a Workgroup Postoffice (WGPO) on a Novell NetWare server. Step 7 of the instructions directs the user to create the WGPO by following the steps explained in Chapter 5 of the "User's Guide." The last step in Chapter 5 is to share the newly created WGPO. This step should NOT be done since the postoffice will be on a NetWare server. If the user attempts to share the WGPO directory on the NetWare server, the following error message is displayed: You can only share resources that are on your computer. If you are trying to share a printer, make sure that it is a local printer and that the TEMP directory is on a local drive. Sharing the NetWare postoffice is not necessary because connections to the WGPO are made with the ServerPath= entry in the MSMAIL.INI, which reflects the appropriate NetWare Workgroup Postoffice location. Sharing a redirected, network drive is not possible in Windows for Workgroups. MOVING A WGPO FROM ONE MACHINE TO ANOTHER ========================================= If you need to transfer a WGPO from one server to another and you don't want to transfer your administrator responsibilities, follow these steps: 1. Be sure that you have full access to the share where the WGPO will be moved. 2. Use File Manager to move the WGPO to its new location; be sure to move all subdirectories. 3. For each user and the WGPO Administrator, open the MSMAIL.INI file in a text editor (such as Notepad), and change the ServerPath= line so that it points to the new server. For example: ServerPath=c:\windows\wgpo 4. Save your changes, and restart the system. The WGPO administrator should be able to administer the postoffice an all users should be able to connect to the WGPO as they did before. CHANGING THE WGPO ADMINISTRATOR =============================== This section describes the procedure for transferring WGPO administrator responsibilities from one person to another. In this procedure, the following conventions are used: - Admin1 is the current Postoffice Administrator. - Admin2 will become the new Postoffice Administrator. The following fields are required: Name: Mailbox: Password: (You must know the passwords for Admin1 and Admin2.) Steps to Change Administrators ------------------------------ 1. Copy the MSMAIL.INI file from the WGPO machine to a floppy disk so that you can use it later when establishing the Admin2 account. 2. From Admin1's machine, sign on to Mail, select the Mail option, then select Postoffice Manager. 3. Select the Details option, and write down the required information for Admin1 and Admin2 (obtain the passwords from the Administrators; passwords don't appear in the details dialog box). 4. If Admin1 no longer needs a mail account, delete the user account for Admin2 and edit the details of the Admin1 account so that it matches the new Postoffice Administrator's account (Admin2). 5. Open Admin1's MSMAIL.INI file in a text editor (such as Notepad) and remove the following lines: WGPOMgr1=3.0;Mail;;13 WGPOMgr2=3.0;Mail;&Postoffice Manager...;14;WGPOMGR.DLL;0;;Manage Workgroup Postoffice;MSMAIL.HLP;2870 NOTE: These two lines are the last two lines of the [Custom Commands] section. 6. Admin1 should exit and sign out of Mail. 7. On Admin2's machine, open the MSMAIL.INI file that was copied to the floppy disk. Using a text editor (such as Windows Notepad), cut the following lines from this file: WGPOMgr1=3.0;Mail;;13 WGPOMgr2=3.0;Mail;&Postoffice Manager...;14;WGPOMGR.DLL;0;;Manage Workgroup Postoffice;MSMAIL.HLP;2870 Then, paste these two lines into the [Custom Commands] section of Admin2's MSMAIL.INI file (located in the Windows for Workgroups or Windows directory). Be sure that these lines are the last two lines in the [Custom Commands] section. 8. Save the changes made to the MSMAIL.INI file, then start Mail. NOTE: A message may appear that states Mail was unable to find your .MMF file. A dialog box that displays the .MMF file that was detected then appears. Select the .MMF and choose OK to select the .MMF file found on the hard disk drive. 9. Open Mail and select the Mail option to verify the Postoffice Administrator option is now available on Admin2's machine. 10. If necessary, create a user account for Admin1. ALLOWING MULTIPLE USERS TO LOG ON TO WFWG MAIL ON THE SAME MACHINE ================================================================= = You can set up Windows for Workgroups Mail so that multiple users can log on with individual Mail files. Steps to Establish Multiple Users --------------------------------- 1. Set up the Workgroup Postoffice. This cannot be done on the machine that will be used by multiple users. 2. Start Windows for Workgroups Mail on the machine that multiple users will be using, log on to the remote Postoffice, and then exit and sign out of Mail. This creates an MSMAIL.INI file. 3. Open the MSMAIL.INI file in a text editor (such as Notepad), and change the line Noserveroptions=1 to: Noserveroptions=0 This allows you to select the Server option in Mail. 4. Start Mail again and choose the Options menu. 5. Select the Server option, and change the MMF path in the File box from C:\WINDOWS\MSMAIL.MMF to C:\WINDOWS\.MMF where is the name of the user who logged in. 6. Choose OK. This renames the MSMAIL.MMF file to the Mailbox Name with an .MMF extension. 7. To add another user, rename the MSMAIL.INI file and log on to the mail server with the new user's name. Then, exit and sign out of Mail and follow steps 2 through 7. Repeat for as many users as necessary. NOTE: The last account that you create is the default account name to use when starting Mail. REMOVING A MAIL USER AND INSTALLING A NEW USER ON A WFWG MACHINE ================================================================ The postoffice administrator may need to remove and recreate Mail and Schedule+ accounts on a machine if that machine is used by a different person than the person for whom Mail and Schedule were first configured. Use the following steps to remove a user from a machine and then add a new user, without having to remove and reinstall Windows for Workgroups: 1. To remove the old user from the Mail, start Mail and select the Postoffice Manager option. Select the name of the user to be deleted, and then choose Remove User. 2. To add the new employee's account, select Add User and then set up the mailbox information for the new user. Choose OK to save your entries. 3. On the machine containing the old user's Mail and Schedule+ files, start File Manager, making sure that neither Mail nor Schedule+ are running, and delete the following files from the \Windows directory: MSMAIL.MMF MSMAIL.INI SCHDPLUS.INI .CAL.<=== where is the old user's login name 4. Start Mail from the icon on the user's machine. 5. You should receive a message asking if you want to connect to an existing postoffice or create a new postoffice. Select the connect to an existing postoffice option. 6. From the Network Disk Resources dialog box, select the postoffice server and share; for example, "\\server\wgpo" (without the quotation marks). 7. You should receive a message asking if you have an account on the postoffice. Respond Yes if you have set up the user's account as described in step 2. 8. When the Mail Sign In screen is displayed, sign in to Mail. When the Mail screen appears, exit Mail. 9. To make the necessary changes for the user's Schedule+ account, have each user's on the Postoffice (except the user you are removing and the user you are setting up) perform these steps: a. Log in to Schedule+. b. Make a change of some type. c. Exit Schedule+ d. Restart Schedule+, and then exit a second time. This updates each existing user's .CAL file on the server (except the user you are removing from the system). 10. To set up Schedule+ for the new user, you need to delete the old user's .CAL file from the postoffice's CAL subdirectory. These files have a numerical filename and a .CAL extension; for example, "00000003.CAL." To determine which .CAL file to delete, look at the file dates. All of the .CAL files except the old user's .CAL file should have the current day's date because step 9 updated them. Delete the .CAL file that has a noncurrent date. 11. Log in to Schedule+ using the new user's Mail login name and password. SET ACCESS PRIVILEGES OR OPEN OTHER'S APPT. BOOK OPTIONS UNAVAILABLE/DISABLED ======================================================== When you run Schedule+ with Microsoft Windows for Workgroups version 3.11 while using Microsoft At Work PC Fax, you cannot choose Set Access Privileges from the Options menu or Open Other's Appt. Book from the File menu (both options are unavailable [dimmed]). No error messages appear, and both Mail and Schedule+ seem to work correctly. If you select the FAX Only option when setting up Microsoft At Work PC Fax instead of the FAX And Email option, Mail works correctly only if it was set up before the At Work PC Fax software. However, Mail runs Schedule+ offline only, disabling any of the online options in Schedule+. When the FAX Only option is selected, the transport entry in the SCHDPLUS.INI file is changed to the following value: ScheduleTransport=TRNOFF To activate the Set Access Privileges option, change the line to read as follows: ScheduleTransport=TRNSCHED.DLL When you restart Schedule+ after making this change, the offline calendar file updates the server's copy of the calendar file, and you can then use the Set Access Privileges, Open Other's Appt. Book, Work Online, and Work Offline menu options. REFERENCES ========== "Microsoft Windows for Workgroups Mail User's Guide," for version 3.1, Appendix B "Microsoft Windows for Workgroups Resource Kit" for version 3.1 KBCategory: kbnetwork kb3rdparty kbtool KBSubcategory: wfw wfwg Additional reference words: 3.1 3.10 wfwg post office novell LANmanager limit schedule setup How to Troubleshoot WFWG Network Connection Problems Article ID: Q104322 ---------------------------------------------------------------- ------ The information in this article applies to: - Microsoft Windows for Workgroups version 3.1 ---------------------------------------------------------------- ------ SUMMARY ======= In a Microsoft Windows for Workgroups version 3.1 network, hardware- and software-related problems can cause one or more computers to lose the ability to browse or communicate with other computers. These problems range from no network functionality at all to random errors when transmitting data across the network. This article provides troubleshooting steps that you can use to diagnose and resolve workstation communication problems in a Windows for Workgroups network. Note that troubleshooting communication problems is not always a straight-forward process. If one of the procedures outlined below doesn't work, go on to the next until the problem is fixed. To increase your knowledge of the major issues, you may want to read this entire article before you proceed. (This may also reduce the time needed to solve the problem.) BEFORE YOU BEGIN ================ Before proceeding with the troubleshooting steps, consider the following: - Has this configuration ever worked before, or did this just start happening? If it just started, what has changed between the time this configuration was working and the time it stopped working? - Has new hardware, cabling, or software been added? If this new addition is removed, does the problem go away? - Is this problem occurring on one computer, several, or all of them? If the problem is happening on all computers, it may be cabling or connector related. If the problem is happening on only one or a few computers, it may be software or hardware related. - Is the connection to the computer active? (If the card has transmit/ receive data lights, are they blinking?) IMPORTANT: Make backup copies of the following system configuration files before doing any troubleshooting: CONFIG.SYS AUTOEXEC.BAT PROTOCOL.INI SYSTEM.INI WIN.INI TROUBLESHOOTING STEPS ===================== Check Setup and Startup ----------------------- 1. Check for any error messages while the computer is booting. To prevent error messages from scrolling off the screen, place a PAUSE statement at the beginning and the end of your AUTOEXEC.BAT file. 2. Verify that the computer you are trying to view is in 386 enhanced mode and has sharing enabled. To check this, open Control Panel, choose Network, and make sure the Sharing Enabled box is selected. 3. If this is a new network (that is, another network was NOT previously used), verify that the network card settings in the Network dialog box of Control Panel are correct. If Windows for Workgroups was installed over Windows 3.1 and another network (such as Novell NetWare), it is possible that the Windows for Workgroups Setup program did not detect the previous network, which may be conflicting with Windows for Workgroups. You probably need to remove changes the previous network made to Windows configuration files (primarily the SYSTEM.INI file). 4. Run CHKDSK on the drive where Windows is installed. If Windows system files are corrupted, Windows is unstable and may need to be reinstalled. If CHKDSK shows errors, repair the errors by running CHKDSK with the /F parameter or by using a disk utility to repair the files on the hard disk drive. If there is data corruption, it may be necessary to reinstall Windows for Workgroups. 5. Clean boot each computer (that is, load only those drivers necessary to start the computer). For more information about performing a clean boot, query on the following words in the Microsoft Knowledge Base: wfwg and clean boot Browse Other Machines --------------------- Attempt to view other computers on the network in File Manager. Choose the Connect Net Drive button or choose Connect Net Drive from the Disk menu, and type the computer name preceded by two backslashes, for example \\ in the Path box, and then press ENTER. If you can view other computers on the network by manually entering computer names but you cannot view these computers during normal operations, consider the following possible causes: - The entry for VBROWSE.386 may not be on the network= line in the [386Enh] section of the SYSTEM.INI file, or VBROWSE.386 may be missing from the Windows SYSTEM directory, or VBROWSE.386 may be corrupted. If the network= line is missing, use a text editor (such as Windows Notepad) to add the following to the [386Enh] section of the SYSTEM.INI: network=VBROWSE.386 If necessary, reinstall the VBROWSE.386 file in the Windows SYSTEM subdirectory. - A "browse server" may not have been selected on the network. In Windows for Workgroups, a computer that maintains a list of Workgroups servers is selected. Sometimes this takes from 5 to 15 minutes to establish. If no browse server exists, you cannot browse servers on the network. Wait a few minutes and try again. If the local workstation name (but no other computer name) appears in the Show Shared Directories On dialog box, the network card is probably configured correctly, but the problem may be in the network cabling or the other computer's network card configuration. Check Cabling ------------- Make sure the network cabling is connected to both the computer you are using AND the computer you are trying to communicate with. Most network problems are caused by faulty cabling and/or connectors. Check the cabling and connectors on each workstation. If the network is using Thin Ethernet, connect two computers with a single cable, T- connectors, and terminators that are known to work properly. If the network is using twisted-pair (RJ-45) cable, you must use a HUB or concentrator. Windows for Workgroups does not support direct connections of RJ-45 cable between computers. This check isolates possible cabling and/or connector problems that may not be clearly visible. NOTE: It may also be necessary to reroute network cabling away from sources of electrical interference (such as fluorescent lights). If the network topology is 10Base2 (Thin Ethernet or Thinwire), place a 50 Ohm terminator on the network card. If the local computer name now appears in the Show Shared Directories On dialog box (but not when the regular cabling is attached), some type of cabling and/or connector problem exists. Examples include an electrical short in the cabling, improper termination, and using the wrong type of cabling. Check to ensure that each computer's T- connector is secured on each network card, that 50 Ohm terminators are at each end of the network, and that RG-58 cabling (not RG-59 or RG-62) is being used. If the local computer name does not appear in the Show Shared Directories On dialog box, the problem is with the local network card's configuration (either hardware or software). (Refer to "Test the Network Card," later in this article.) If your wiring is 10Base2 (Thin Ethernet), a quick test to see if the cabling is the problem is to remove the T-connector and place a terminator directly on the BNC connector on the network card. If doing so causes the machine to be able to "see itself" in File Manager, the problem is most likely with the existing cabling. If placing a terminator on the network card doesn't identify the problem (or your cabling is other than 10Base2), try the following steps: 1. Change the IRQ and/or I/O address that the network card is using. To do so with software-configurable network cards: a. Open Control Panel, then choose the Network icon. b. Choose Adapters, then choose Setup. c. Select a different IRQ and/or I/O address. You may need to try several selections if you do not know what your other hardware is configured to use. 2. Reinstall the network card drivers as follows: a. Clean boot your system. To do this, remove the Windows for Workgroups network drivers and any unnecessary entries from the CONFIG.SYS and AUTOEXEC.BAT files. For more information about a clean boot, query on the following words in the Microsoft Knowledge Base: wfwg and clean boot b. Rename the PROTOCOL.INI file, which is usually in the Windows directory unless you are using disk-compression software. If disk- compression software (such as SuperStor) is used, the PROTOCOL.INI file should be in the root directory. c. Restart the computer and start Windows for Workgroups. You will receive at least one error message about the network drivers being loaded; this is to be expected. d. In Control Panel, choose Network, then choose Adapters. The list of Currently Installed Adapters should be blank. Choose Add and select your network card from the list that appears. NOTE: If the network card is hardware-configurable (with jumpers or DIP switches), the settings on this screen need to match the actual settings of the jumpers or switches on the card, unless they say "Automatic or unused." If the card is software-configurable, you may need to select a different IRQ, I/O Address, or RAM Address to resolve a connectivity problem. For example, some disk controllers come configured using I/O 300h, which is also the default for some network cards. e. Restart the computer and attempt to communicate with other computers on the network as described in "Browse Other Machines" above. 3. Check the SYSTEM.INI file for the following lines and remark them out if they exist. To remark out a line from the SYSTEM.INI file, place a semicolon (;) at the beginning of the line. InDOSPolling=True TimerCriticalSection= V86ModeLanas= 4. Rebuild the Windows startup files (WIN.INI and SYSTEM.INI). For more information about rebuilding the SYSTEM.INI file, query on the following words in the Microsoft Knowledge Base: system.sr_ and wfw To rebuild the default WIN.INI file, expand WIN.SR_ from Windows for Workgroups Disk 3. To do this, place Disk 3 in a floppy disk drive, type the following, and press ENTER: c:\windows>expand x:win.sr_ -r If Windows for Workgroups is still not working after you complete the steps above, and it has worked previously, the next step is to reinstall Windows for Workgroups in another directory. Reinstalling Windows for Workgroups in a clean directory should restore the configuration to the point at which it was working when first installed. When you start the Windows for Workgroups Setup program, choose Custom Setup, and enter a new directory name, such as C:\WFWTEST. If Windows for Workgroups still is not working correctly, it is most likely that some type of problem with your cabling, connectors, or network card exists. Test the Real Mode Redirector ----------------------------- The following test uses the Windows for Workgroups network components to generate a NetBIOS name conflict on the network (each computer must have a unique computer name on the network). To do this test, set two computers to the same computer name and check to see if an error message is generated. If an error message is displayed, the computers are communicating. If no error occurs, a hardware problem exists on the network. 1. To change the computer name, do one of the following: - Change the value for Computername in the Network dialog box of Control Panel. -or- - Edit the SYSTEM.INI file and change the setting for ComputerName= in the [Network] section to the name of another computer. 2. Reboot the computer, then start the real mode redirector by typing the following at the MS-DOS command prompt: net start workstation 3. The following error should appear: LANA 0 reported error 52: A duplicate workgroup or computer name exists on the network. For information about LANA numbers, type NET HELP 3280. If the error message is displayed, the two computers are communicating. If the error message is not displayed, a hardware problem exists with one or more of the following: - The network card configuration is incorrect on one or more of the computers (hardware, input/output, IRQ, UMB conflict, and so on). - One or more of the network cards is malfunctioning. - There is some problem with the cabling or connectors. This could be an electrical short; interference; or a cable, connector, or terminator that is not the correct specification for your network. To troubleshoot shorts and interference problems, either test the cabling with a testing device, or replace it with cables and connectors that are known to work correctly. For more information about cable and connector specifications, query on the following words in the Microsoft Knowledge Base: wfw and lan and cable and specifications 4. Change the computer name back to its original, unique name. 5. Restart the computer. Start the real mode redirector by typing the following at the MS-DOS command prompt: net start workstation 6. Try to view another computer (which must be in Windows for Workgroups 386 enhanced mode) by typing the following: net view \\ If you can communicate with other computers using the real mode redirector, the problem may be related to an upper memory block (UMB) conflict, a hardware conflict, or a virtual device driver (VxD) that is interfering with Windows for Workgroups. 7. If you can view another computer's shared resources using the real mode redirector, type the following to stop the real mode redirector: net stop If the problem still occurs, use the WIN /D:X switch, as described in the next section. Use the WIN /D:X Switch ----------------------- 1. Start Windows for Workgroups by typing the following at the MS-DOS command prompt: win /d:x 2. Try to view other computers in File Manager. If using the WIN /D:X switch corrects the problem, the network card's memory address needs to be excluded with a UMB provider (such as EMM386.EXE) or by adding an "EMMEXCLUDE=memoryaddress" (without the quotation marks) to the [386Enh] section of the SYSTEM.INI file. For example, if your network uses a UMA address from C800-CFFF, add the following line to the [386Enh] section of your SYSTEM.INI file: EMMExclude=C800-CFFF If using WIN /D:X doesn't allow you to view any other computers in File Manager, but you could view other computers when you quit Windows and started the real mode redirector, the problem may be caused by one of the following: - An IRQ, DMA channel, I/O, or RAM address conflict exists between the network card and another hardware device. -or- - The settings in the Network dialog box of Control Panel do not match the actual hardware settings on the network card. Change the Network Card Settings -------------------------------- To change the IRQ, DMA, I/O, and/or RAM address settings, proceed as follows: 1. Open Control Panel, and choose the Network icon. 2. Choose Adapters, then choose Setup. 3. Select a different setting (or the actual hardware setting) for your network card. 4. With some network cards, you must also change jumpers or switch settings on the card to match the settings in Control Panel. For information about configuring jumpers and switches on your network card, check the documentation that came with the card, or contact your network card manufacturer. 5. Save your changes and exit Control Panel. NOTE: If you cannot start Windows to open Control Panel, edit the PROTOCOL.INI file and change the settings for Interrupt=, RamAddress=, DMAChannel=, and IOBase= to unused values (for software-configurable cards) or to the actual hardware settings (for hardware-configurable cards). When you change hardware settings (such as IRQ and I/O addresses) on software-configurable network cards (such as the Intel EtherExpress 16), you must either quit Windows, turn the computer completely off, and then restart it, or select the Restart Computer option in Windows for the new settings to take effect. Test the Network Card Drivers ----------------------------- Run the Maintenance Mode of Windows for Workgroups Setup program to reinstall the network card drivers. If reinstalling the network card drivers does not enable the local computer to "see itself" in File Manager or view other computers on the network using the real mode redirector, there are several other possible causes: - The correct Media Access Control (MAC) network card driver is not being used. If the card is emulating another card (such as the NE2000), it may be necessary to change jumpers or switches on the card to allow the driver to work properly. For more information about configuring the network card and obtaining updated drivers, contact your network card manufacturer. - The card may be in a slot that is functioning incorrectly. To verify this, try putting the network card in another slot in the computer or install the network card in another computer to determine if the card itself is defective. - The network card may be malfunctioning. Try using a different network card or run diagnostic tests that may have come with the card. - The bus speed on the computer may be too fast for the network card. Most network cards are designed to work at ISA (8.33 mHz) bus speed; setting the bus speed any faster may cause unreliable performance. The bus speed setting is usually changed in the computer's CMOS setup. Try lowering the computer's bus speed if intermittent problems occur. - There may be a bad or missing connection. Some network cards, such as the Intel EtherExpress 16, come with a utility that checks the integrity of wiring and connectors between two computers. If one of these utilities is available, use it to determine whether or not the two computers are physically connected. (Refer to the "Use a Network Card Diagnostic Test" section below.) Use a Network Card Diagnostic Test ---------------------------------- You can run a diagnostic test on the network card to ensure it is functioning correctly. Some network card diagnostic programs can also test communication between computers and the network (this tests the card and the cabling). If this test works, then Windows for Workgroups should also work, provided the correct drivers are being used. If this low-level test does not allow two network cards to communicate, some type of hardware problem exists with a network card, the cabling, or the connectors. Contact your hardware vendor if either the network card diagnostic test or the network test fails. NOTE: If you have the Windows for Workgroups Resource Kit, you can use the NETSTAT program included with the kit. This program tests (from MS-DOS or Windows) the status of a remote network card. This requires that the correct network card drivers be loaded on each network card and (at least) the real mode redirector be started on each computer. If you have Intel EtherExpress network cards (which come with the Windows for Workgroups Starter and User Kits), you can use the SOFTSET utility (available from the Microsoft Download Service [MSDL] or the Intel bulletin board service [BBS]) to troubleshoot both the network card, as well as test the integrity of the network cabling (with the Test Network option). If your network card is not on the supported network card list, you may want to contact the network card manufacturer for information on the correct emulation or for an updated Media Access Control (MAC) network card driver. The manufacturer may also have information on jumpers and switches that may need to be reconfigured for a particular emulation mode, for example NE2000 emulation. For more information about diagnosing problems with your network card or cabling, contact your hardware vendor. KBCategory: kbnetwork kb3rdparty kbtshoot kbsetup KBSubcategory: wfw wfwg Additional reference words: tshoot 3.10 Troubleshooting Serial Port Problems in Windows Article ID: Q105940 ---------------------------------------------------------------- ----- The information in this article applies to: - Microsoft Windows operating system versions 3.0, 3.0a, 3.1, 3.11 - Microsoft Windows for Workgroups version 3.1, 3.11 ---------------------------------------------------------------- ----- SYMPTOMS ======== When you use the Microsoft Windows or Microsoft Windows for Workgroups Terminal program, you have problems connecting to the modem, or you receive the following error message: The COM port is currently assigned to a MS-DOS application. Do you want to reassign the port to Windows? You may also have difficulty attaching to the modem through other Windows- based communications packages, or your mouse (or other serial device) may not operate properly in Windows. CAUSE ===== Most problems associated with the serial ports occur when a machine does not recognize that it has the specified communications (COM) port available. Windows supports the use of COM ports 3 and 4, although the following steps may be necessary to make them accessible. For example, if your mouse is not working in Windows, or you cannot access your modem through Windows, you may need to rewrite the BIOS Data Area for your serial ports. By placing an address for each serial port in a Debug script file, you can ensure future compatibility if you add or remove a device. (Creating a Debug script file should not be required for Windows for Workgroups 3.11.) RESOLUTION ========== 1. When you troubleshoot communications problems in Windows, an MS-DOS- level communications program is often required to test the modem and ports outside Windows. If an MS-DOS-based application cannot be used, you can test the modem connections by typing the following command at the MS-DOS command prompt outside Windows Echo ATDT > COMx where "x" represents the COM port in question. The modem should respond with a dial-tone or just a communication signal. To stop the dial tone, type Echo ATH0 > COMx where "x" represents the COM port in question. The ATDT command is a signal to the modem that is interpreted as Attention Dial Tone. The first command, Attention, signals to the modem that it is about to receive information, and the Dial Tone command instructs the modem to enable a line to dial out. NOTE: The modem may not always give a dial tone with this test procedure because a number does not follow the command; however, the modem should give some kind of signal that information was received. 2. To determine if your machine is recognizing the existence of the COM port your modem or mouse is on, do the following: a. Use the MS-DOS DEBUG command to look at the BIOS table. NOTE: You may also run the Microsoft Diagnostics utility (MSD). b. Quit Windows. At the MS-DOS command prompt, type: debug This returns a hyphen prompt (-). c. At the hyphen prompt, type: d40:0 This returns a listing of the BIOS data and the hyphen prompt. NOTE: After you review the table, you can type "Q" (without the quotation marks) to quit Debug. d. Look at the table of data on the screen. The first row is the important one. It shows a line resembling the following: 0040:0000 F8 03 F8 02 E8 03 00 00-78 03 00 00 00 00 00 00 All values to the left of the hyphen are COM ports; all values to the right are LPT ports. The example above shows that the computer has COM1 at address 03F8 (it is listed in reverse byte order), COM2 at 02F8, and COM3 at 03E8. COM4 is not found; therefore, 0000 is displayed just to the left of the hyphen. If the machine does not recognize the COM port desired to be used by Terminal (identified by the 0000 entries), continue as follows. If the machine does recognize the desired COM port, skip to the "SYSTEM.INI Modifications" section below in this article. 3. The following instructions help you write the Debug script and place it in the AUTOEXEC.BAT file: a. Use a text editor such as Microsoft Windows Notepad and create the following file: E40:0 F8 03 F8 02 E8 03 E8 02 q NOTE: You must follow the "Q" with a carriage return (press ENTER). b. Save the three-line file, and give it a name such as: c:\fixcom.deb. c. Execute the Debug script file by typing the following at an MS-DOS command prompt outside Windows: debug < fixcom.deb > nul d. If step 3 works correctly, add a line to the end of the AUTOEXEC.BAT file (but before launching Windows), such as the following: debug < fixcom.deb > nul NOTE: The > NUL ending is just to keep the script from being echoed back to the screen. You can use Debug again to look at d40:0 and see if the change took effect. e. Save the AUTOEXEC.BAT file and reboot the machine. This procedure should work even if the machine does not have devices on all four serial ports. This also corrects problems if a device has been removed from COM1 and the addresses have slid down, which may cause mouse problems. You should now be able to run MSD or Debug and see all four COM ports. SYSTEM.INI Modifications ------------------------ If the port is recognized by the machine, note the address that is listed when using Debug, and, for Windows 3.0 and 3.0a, edit the SYSTEM.INI file and include the following COMxBase= lines to coincide with the base I/O address used by the hardware. The examples given above for COM1 and COM2 do not require any changes to the SYSTEM.INI file. If you are using Windows 3.0, the examples given below for COM3 and COM4 require the following entries in the [386Enh] section of the SYSTEM.INI file: COMxBase Setting Windows 3.0 Default --------------------------------------------------- COM1Base=3F8h COM2Base=2F8h COM3Base=3E8h COM4Base=2E8h For Windows 3.1 and Windows for Workgroups 3.1 and 3.11, choose the Ports icon in Control Panel to set the base I/O address and interrupt for each COM port instead of editing the SYSTEM.INI file.(This is the only step required for Windows for Workgroups 3.11.) The defaults for Windows 3.1 and Windows for Workgroups 3.x are: COM1Base=3F8h COM2Base=2F8h COM3Base=3E8h COM4Base=2E8h MORE INFORMATION ================ If you are using a serial mouse on COM1 and you have an internal modem on COM3, this configuration may not work because the mouse is using the interrupt that COM3 wants to share. This behavior also occurs if you are using a serial mouse on COM2 and want to use an internal modem on COM4. This configuration is more likely to work on machines that allow for IRQ sharing (such as Micro Channel Architecture [MCA] computers). If COM3 is required, it should be reconfigured at the board level to use a different interrupt that is free, such as IRQ 5. KBCategory: kbhw kbtshoot kbtlc KBSubcategory: win30 win31 wfw wfwg wincomm ms-dos Additional reference words: tshoot 3.00 3.0 3.0a 3.00a 3.1 3.10 3.11 BIOS slide slip move sliding debugging terminal.exe com1 com2 com3 com4 AT DT DOS w_works hometool works for windows WFWG Upgrade 3.11 Disk Directories (3.5 Inch, 1.44 MB) Article ID: Q106431 ---------------------------------------------------------------- ----- The information in this article applies to: - Microsoft Windows for Workgroups versions 3.11, 3.11a ---------------------------------------------------------------- ----- SUMMARY ======= This article contains the directory listing of the Windows for Workgroups Upgrade version 3.11 1.44-megabyte (MB) 3.5-inch disks (dated 11/1/93). MORE INFORMATION ================ Disk 1 ------ Volume in drive B is MSWFWUPG1 Volume Serial Number is 3137-0B10 Directory of B:\ COMMDLG DL_ 49,872 11-01-93 3:11a CONTROL HL_ 93,013 11-01-93 3:11a DISK1 8 11-01-93 3:11a DOSAPP FO_ 14,476 11-01-93 3:11a GDI EX_ 148,271 11-01-93 3:11a KBDDV DL_ 943 11-01-93 3:11a KRNL386 EX_ 53,067 11-01-93 3:11a NCDW DL_ 23,031 11-01-93 3:11a SETUP EXE 244,321 11-01-93 3:11a SETUP HL_ 47,275 11-01-93 3:11a SETUP INF 57,634 11-01-93 3:11a SETUP SHH 8,858 11-01-93 3:11a SETUP TXT 53,519 11-01-93 3:11a SVGA256 DR_ 51,222 11-01-93 3:11a USER EX_ 174,119 11-01-93 3:11a WFWSETUP DL_ 156,046 11-01-93 3:11a WIN CN_ 8,359 11-01-93 3:11a WINHELP EX_ 147,927 11-01-93 3:11a WINSETUP EX_ 102,978 11-01-93 3:11a XMSMMGR EXE 14,144 11-01-93 3:11a 20 file(s) 1,449,083 bytes 3,072 bytes free Disk 2 ------ Volume in drive B is MSWFW2 Volume Serial Number is 062B-2E0F Directory of B:\ 386MAX VX_ 17,978 11-01-93 3:11a 8514 DR_ 44,018 11-01-93 3:11a 8514FIX FO_ 3,174 11-01-93 3:11a 8514OEM FO_ 3,758 11-01-93 3:11a 8514SYS FO_ 3,251 11-01-93 3:11a APP850 FO_ 14,504 11-01-93 3:11a BLUEMAX VX_ 18,007 11-01-93 3:11a CGA40850 FO_ 3,228 11-01-93 3:11a CGA40WOA FO_ 3,081 11-01-93 3:11a CGA80850 FO_ 2,627 11-01-93 3:11a CGA80WOA FO_ 2,606 11-01-93 3:11a COMM DR_ 3,226 11-01-93 3:11a COMMCTRL DL_ 30,192 11-01-93 3:11a CPWIN386 CP_ 47,012 11-01-93 3:11a DISK2 8 11-01-93 3:11a DOSX EX_ 23,767 11-01-93 3:11a EGA40850 FO_ 3,657 11-01-93 3:11a EGA40WOA FO_ 3,531 11-01-93 3:11a EGA80850 FO_ 2,870 11-01-93 3:11a EGA80WOA FO_ 2,882 11-01-93 3:11a FRAMEWRK DL_ 123,170 11-01-93 3:11a HPEBIOS 38_ 1,494 11-01-93 3:11a HPSYSTEM DR_ 1,929 11-01-93 3:11a IFSHLP SY_ 3,343 11-01-93 3:11a KBDBE DL_ 1,880 11-01-93 3:11a KBDBR DL_ 1,790 11-01-93 3:11a KBDCA DL_ 1,946 11-01-93 3:11a KBDDA DL_ 1,833 11-01-93 3:11a KBDFC DL_ 2,076 11-01-93 3:11a KBDFI DL_ 1,875 11-01-93 3:11a KBDFR DL_ 1,759 11-01-93 3:11a KBDGR DL_ 1,769 11-01-93 3:11a KBDHP DR_ 6,045 11-01-93 3:11a KBDIC DL_ 1,336 11-01-93 3:11a KBDIT DL_ 1,650 11-01-93 3:11a KBDLA DL_ 1,884 11-01-93 3:11a KBDNE DL_ 1,827 11-01-93 3:11a KBDNO DL_ 1,851 11-01-93 3:11a KBDPO DL_ 1,788 11-01-93 3:11a KBDSF DL_ 1,817 11-01-93 3:11a KBDSG DL_ 1,296 11-01-93 3:11a KBDSP DL_ 1,871 11-01-93 3:11a KBDSW DL_ 1,863 11-01-93 3:11a KBDUK DL_ 1,093 11-01-93 3:11a KBDUS DL_ 946 11-01-93 3:11a KBDUSX DL_ 1,255 11-01-93 3:11a KEYBOARD DR_ 5,422 11-01-93 3:11a LANGDUT DL_ 1,281 11-01-93 3:11a LANGENG DL_ 1,281 11-01-93 3:11a LANGFRN DL_ 1,306 11-01-93 3:11a LANGGER DL_ 1,280 11-01-93 3:11a LANGSCA DL_ 1,278 11-01-93 3:11a LANGSPA DL_ 1,343 11-01-93 3:11a LMOUSE CO_ 19,633 11-01-93 3:11a LMOUSE DR_ 6,978 11-01-93 3:11a LVMD 38_ 3,403 11-01-93 3:11a LZEXPAND DL_ 13,532 11-01-93 3:11a MMSOUND DR_ 2,545 11-01-93 3:11a MOUSE DR_ 7,084 11-01-93 3:11a MSC3BC2 DR_ 2,519 11-01-93 3:11a MSCMOUSE DR_ 2,578 11-01-93 3:11a MSCVMD 38_ 2,685 11-01-93 3:11a NOMOUSE DR_ 320 11-01-93 3:11a POWER DR_ 8,497 11-01-93 3:11a POWER HL_ 6,748 11-01-93 3:11a SCHDPLUS EX_ 263,857 11-01-93 3:11a SCONFIG DL_ 23,494 11-01-93 3:11a SHELL DL_ 22,990 11-01-93 3:11a SL DL_ 8,567 11-01-93 3:11a SL HL_ 7,820 11-01-93 3:11a SUPERVGA DR_ 38,830 11-01-93 3:11a SYSTEM DR_ 1,641 11-01-93 3:11a SYSTEM SR_ 748 11-01-93 3:11a V7VDD 38_ 16,884 11-01-93 3:11a V7VGA 3G_ 7,861 11-01-93 3:11a V7VGA DR_ 41,089 11-01-93 3:11a VDD8514 38_ 24,764 11-01-93 3:11a VDDSVGA 38_ 26,953 11-01-93 3:11a VDDVGA30 38_ 17,129 11-01-93 3:11a VDDXGA 38_ 17,931 11-01-93 3:11a VER DL_ 6,052 11-01-93 3:11a VGA 3G_ 9,885 11-01-93 3:11a VGA DR_ 38,508 11-01-93 3:11a VGA30 3G_ 8,623 11-01-93 3:11a VGA850 FO_ 2,883 11-01-93 3:11a VGA860 FO_ 2,848 11-01-93 3:11a VGA861 FO_ 2,882 11-01-93 3:11a VGA863 FO_ 2,870 11-01-93 3:11a VGA865 FO_ 2,874 11-01-93 3:11a VGADIB 3G_ 9,153 11-01-93 3:11a VGAFIX FO_ 2,423 11-01-93 3:11a VGALOGO LG_ 1,158 11-01-93 3:11a VGALOGO RL_ 9,906 11-01-93 3:11a VGAOEM FO_ 2,839 11-01-93 3:11a VGASYS FO_ 2,754 11-01-93 3:11a VPOWERD 38_ 1,610 11-01-93 3:11a WIN SR_ 1,400 11-01-93 3:11a WIN386 EX_ 256,635 11-01-93 3:11a WINDOWS LO_ 785 11-01-93 3:11a XGA DR_ 46,006 11-01-93 3:11a XLAT850 BI_ 428 11-01-93 3:11a XLAT860 BI_ 409 11-01-93 3:11a XLAT861 BI_ 410 11-01-93 3:11a XLAT863 BI_ 410 11-01-93 3:11a XLAT865 BI_ 406 11-01-93 3:11a 105 file(s) 1,429,191 bytes 3,072 bytes free Disk 3 ------ Volume in drive B is MSWFW3 Volume Serial Number is 2234-2E0F Directory of B:\ DISK3 8 11-01-93 3:11a MAIN CP_ 80,992 11-01-93 3:11a MPLAYER EX_ 19,241 11-01-93 3:11a MSD EXE 166,302 11-01-93 3:11a MSMAIL EX_ 156,898 11-01-93 3:11a MSSCHED DL_ 122,853 11-01-93 3:11a MSSFS DL_ 150,350 11-01-93 3:11a NETWORKS WR_ 26,563 11-01-93 3:11a PBRUSH EX_ 92,305 11-01-93 3:11a PRINTERS WR_ 17,282 11-01-93 3:11a PRINTMAN EX_ 38,766 11-01-93 3:11a README WR_ 32,954 11-01-93 3:11a STORE DL_ 131,214 11-01-93 3:11a SYSINI WR_ 19,900 11-01-93 3:11a TERMINAL EX_ 75,972 11-01-93 3:11a VFORMS DL_ 76,851 11-01-93 3:11a WINFILE EX_ 95,358 11-01-93 3:11a WININI WR_ 6,920 11-01-93 3:11a WRITE EX_ 139,061 11-01-93 3:11a 19 file(s) 1,449,790 bytes 3,072 bytes free Disk 4 ------ Volume in drive B is MSWFW4 Volume Serial Number is 483A-2E0F Directory of B:\ AB DL_ 52,238 11-01-93 3:11a APPS INF 57,961 11-01-93 3:11a CARDFILE EX_ 43,461 11-01-93 3:11a CARDS DL_ 37,140 11-01-93 3:11a CLIPBRD EX_ 35,055 11-01-93 3:11a CMC DL_ 40,403 11-01-93 3:11a DISK4 8 11-01-93 3:11a EFAXPUMP DL_ 36,666 11-01-93 3:11a EMM386 EX_ 50,090 11-01-93 3:11a FAXOPT DL_ 51,613 11-01-93 3:11a FAXVIEW EX_ 44,655 11-01-93 3:11a GLOSSARY HL_ 39,170 11-01-93 3:11a IFSMGR 38_ 36,268 11-01-93 3:11a IMPEXP DL_ 31,513 11-01-93 3:11a MIDIMAP DR_ 30,768 11-01-93 3:11a MMSYSTEM DL_ 32,154 11-01-93 3:11a MORICONS DL_ 34,241 11-01-93 3:11a MPLAYER HL_ 6,842 11-01-93 3:11a MSHEARTS EX_ 54,683 11-01-93 3:11a MSMAIL HL_ 54,304 11-01-93 3:11a NETWORK INF 58,618 11-01-93 3:11a OLECLI DL_ 41,113 11-01-93 3:11a PACKAGER EX_ 36,954 11-01-93 3:11a PRINTMAN HL_ 39,548 11-01-93 3:11a PROGMAN EX_ 51,048 11-01-93 3:11a SCHDPLUS HL_ 73,894 11-01-93 3:11a SCHEDMSG DL_ 36,677 11-01-93 3:11a SOL EX_ 56,003 11-01-93 3:11a SOUNDREC HL_ 8,752 11-01-93 3:11a UNIDRV DL_ 69,914 11-01-93 3:11a WGPOMGR DL_ 42,528 11-01-93 3:11a WINFILE HL_ 55,044 11-01-93 3:11a WINTUTOR DA_ 47,238 11-01-93 3:11a WINTUTOR EX_ 58,791 11-01-93 3:11a 34 file(s) 1,445,355 bytes 3,072 bytes free Disk 5 ------ Volume in drive B is MSWFW5 Volume Serial Number is 4D08-2F0F Directory of B:\ ARIAL FO_ 384 11-01-93 3:11a ARIAL TT_ 45,505 11-01-93 3:11a ARIALBD FO_ 388 11-01-93 3:11a ARIALBD TT_ 44,999 11-01-93 3:11a ARIALBI FO_ 394 11-01-93 3:11a ARIALBI TT_ 49,996 11-01-93 3:11a ARIALI FO_ 386 11-01-93 3:11a ARIALI TT_ 41,572 11-01-93 3:11a CALC EX_ 25,112 11-01-93 3:11a CLIPBRD HL_ 19,305 11-01-93 3:11a COUR FO_ 385 11-01-93 3:11a COUR TT_ 46,925 11-01-93 3:11a COURBD FO_ 388 11-01-93 3:11a COURBD TT_ 49,896 11-01-93 3:11a COURBI FO_ 396 11-01-93 3:11a COURBI TT_ 56,303 11-01-93 3:11a COURI FO_ 391 11-01-93 3:11a COURI TT_ 53,037 11-01-93 3:11a DDEML DL_ 21,454 11-01-93 3:11a DEMILAYR DL_ 28,792 11-01-93 3:11a DISK5 8 11-01-93 3:11a DRIVERS CP_ 19,039 11-01-93 3:11a FAXSTUB DL_ 23,722 11-01-93 3:11a MAILMGR DL_ 23,763 11-01-93 3:11a MAILSPL EX_ 28,708 11-01-93 3:11a MAPI DL_ 30,212 11-01-93 3:11a MOUSE CO_ 27,411 11-01-93 3:11a MOUSE SY_ 26,904 11-01-93 3:11a MSADLIB DR_ 9,112 11-01-93 3:11a MSFAX HL_ 19,448 11-01-93 3:11a PABNSP DL_ 23,294 11-01-93 3:11a PBRUSH HL_ 27,901 11-01-93 3:11a PIFEDIT EX_ 23,043 11-01-93 3:11a PIFEDIT HL_ 23,828 11-01-93 3:11a PROGMAN HL_ 20,745 11-01-93 3:11a RECORDER EX_ 21,776 11-01-93 3:11a SERIFE FO_ 18,813 11-01-93 3:11a SERIFF FO_ 23,670 11-01-93 3:11a SNDBLST DR_ 8,979 11-01-93 3:11a SNDBLST2 DR_ 9,286 11-01-93 3:11a SOUNDREC EX_ 28,854 11-01-93 3:11a SSERIFF FO_ 23,661 11-01-93 3:11a SYMBOL FO_ 389 11-01-93 3:11a SYMBOL TT_ 43,841 11-01-93 3:11a SYMBOLE FO_ 18,938 11-01-93 3:11a SYMBOLF FO_ 23,852 11-01-93 3:11a TERMINAL HL_ 22,584 11-01-93 3:11a TIMER DR_ 2,832 11-01-93 3:11a TIMES FO_ 391 11-01-93 3:11a TIMES TT_ 59,592 11-01-93 3:11a TIMESBD FO_ 399 11-01-93 3:11a TIMESBD TT_ 54,934 11-01-93 3:11a TIMESBI FO_ 404 11-01-93 3:11a TIMESBI TT_ 52,562 11-01-93 3:11a TIMESI FO_ 399 11-01-93 3:11a TIMESI TT_ 53,710 11-01-93 3:11a TRNOFF DL_ 2,497 11-01-93 3:11a UNIDRV HL_ 29,017 11-01-93 3:11a VADLIBD 38_ 1,631 11-01-93 3:11a VFAT 38_ 19,452 11-01-93 3:11a VSBD 38_ 2,114 11-01-93 3:11a VTDAPI 38_ 1,549 11-01-93 3:11a WINGDING FO_ 390 11-01-93 3:11a WINGDING TT_ 46,247 11-01-93 3:11a WINOA386 MO_ 27,311 11-01-93 3:11a WRITE HL_ 26,010 11-01-93 3:11a 66 file(s) 1,439,230 bytes 3,072 bytes free Disk 6 ------ Volume in drive B is MSWFW6 Volume Serial Number is 240F-2F0F Directory of B:\ 40291730 WP_ 1,035 11-01-93 3:11a 40293930 WP_ 1,627 11-01-93 3:11a ARCADE BM_ 344 11-01-93 3:11a ARGYLE BM_ 240 11-01-93 3:11a AWCAS DL_ 6,531 11-01-93 3:11a AWCLASS1 DL_ 7,883 11-01-93 3:11a AWCLASS2 DL_ 8,342 11-01-93 3:11a AWFAXIO DL_ 10,814 11-01-93 3:11a AWFXPROT DL_ 6,867 11-01-93 3:11a AWT30 DL_ 7,574 11-01-93 3:11a CALC HL_ 11,331 11-01-93 3:11a CANON10E DR_ 2,393 11-01-93 3:11a CANON130 DR_ 2,630 11-01-93 3:11a CANON330 DR_ 4,909 11-01-93 3:11a CANYON MI_ 15,734 11-01-93 3:11a CAN_ADF EX_ 33,823 11-01-93 3:11a CARDFILE HL_ 16,305 11-01-93 3:11a CASTLE BM_ 441 11-01-93 3:11a CHARMAP EX_ 10,645 11-01-93 3:11a CHARMAP HL_ 4,032 11-01-93 3:11a CHIMES WA_ 8,713 11-01-93 3:11a CIT24US DR_ 7,323 11-01-93 3:11a CIT9US DR_ 6,006 11-01-93 3:11a CLIPSRV EX_ 9,882 11-01-93 3:11a CLOCK EX_ 9,094 11-01-93 3:11a CONTROL EX_ 9,227 11-01-93 3:11a CONTROL INF 17,667 11-01-93 3:11a CONTROL SR_ 1,132 11-01-93 3:11a COURE FO_ 7,503 11-01-93 3:11a COURF FO_ 9,676 11-01-93 3:11a CPQGR3 EX_ 9,772 11-01-93 3:11a CPQVGA GR_ 9,772 11-01-93 3:11a DEC1150 WP_ 1,752 11-01-93 3:11a DEC2150 WP_ 1,714 11-01-93 3:11a DEC2250 WP_ 1,834 11-01-93 3:11a DEC3250 WP_ 1,873 11-01-93 3:11a DECCOLOR WP_ 1,252 11-01-93 3:11a DECLPS20 WP_ 1,432 11-01-93 3:11a DICONIX DR_ 1,999 11-01-93 3:11a DING WA_ 4,960 11-01-93 3:11a DISK6 8 11-01-93 3:11a DLLSCHED DL_ 4,262 11-01-93 3:11a DMCOLOR DL_ 12,956 11-01-93 3:11a EFAXDRV DR_ 5,475 11-01-93 3:11a EFAXRUN DL_ 13,310 11-01-93 3:11a EGYPT BM_ 221 11-01-93 3:11a EPSON24 DR_ 5,100 11-01-93 3:11a EPSON9 DR_ 6,857 11-01-93 3:11a ESCP2 DR_ 4,002 11-01-93 3:11a EXECJET DR_ 5,123 11-01-93 3:11a EXPAND EXE 16,378 11-01-93 3:11a FAX CP_ 924 11-01-93 3:11a FAXCODEC DL_ 8,147 11-01-93 3:11a FAXCOVER DL_ 13,965 11-01-93 3:11a FAXMGR EX_ 4,671 11-01-93 3:11a FAXNSP DL_ 8,646 11-01-93 3:11a GENDRV DL_ 44,284 11-01-93 3:11a HIMEM SY_ 10,074 11-01-93 3:11a HONEY BM_ 338 11-01-93 3:11a HPDSKJET DR_ 24,456 11-01-93 3:11a HPPLOT DR_ 31,689 11-01-93 3:11a IBM39521 WP_ 1,571 11-01-93 3:11a IBM4019 DR_ 26,747 11-01-93 3:11a IBM5204 DR_ 4,140 11-01-93 3:11a IFKERNEL DL_ 3,304 11-01-93 3:11a IOS 38_ 15,603 11-01-93 3:11a KEYVIEW EX_ 1,513 11-01-93 3:11a L200230& WP_ 1,601 11-01-93 3:11a L300_471 WP_ 1,725 11-01-93 3:11a L300_493 WP_ 1,604 11-01-93 3:11a L330_52& WP_ 1,607 11-01-93 3:11a L500_493 WP_ 1,681 11-01-93 3:11a L530_52& WP_ 1,667 11-01-93 3:11a L630_52& WP_ 1,644 11-01-93 3:11a LBPII DR_ 23,523 11-01-93 3:11a LBPIII DR_ 32,129 11-01-93 3:11a LINEARIZ DL_ 14,781 11-01-93 3:11a LM21DRV UP_ 525 11-01-93 3:11a LPT 38_ 2,678 11-01-93 3:11a MAIL WR_ 14,150 11-01-93 3:11a MCICDA DR_ 7,458 11-01-93 3:11a MCISEQ DR_ 14,450 11-01-93 3:11a MCIWAVE DR_ 15,095 11-01-93 3:11a MIDIMAP CF_ 5,093 11-01-93 3:11a MMTASK TS_ 755 11-01-93 3:11a MODERN FO_ 3,711 11-01-93 3:11a MPU401 DR_ 4,731 11-01-93 3:11a MSCDEX EX_ 14,829 11-01-93 3:11a MSD IN_ 341 11-01-93 3:11a MSHEARTS HL_ 7,521 11-01-93 3:11a MSREMIND EX_ 17,361 11-01-93 3:11a MT_TI101 WP_ 1,328 11-01-93 3:11a N2090522 WP_ 1,395 11-01-93 3:11a N2290520 WP_ 1,308 11-01-93 3:11a N2990523 WP_ 1,427 11-01-93 3:11a N890_470 WP_ 1,345 11-01-93 3:11a NDDEAPI DL_ 9,022 11-01-93 3:11a NEC24PIN DR_ 9,374 11-01-93 3:11a NETFAX DL_ 9,317 11-01-93 3:11a NOTEPAD EX_ 17,938 11-01-93 3:11a NOTEPAD HL_ 7,269 11-01-93 3:11a OKI24 DR_ 4,920 11-01-93 3:11a OKI9 DR_ 3,669 11-01-93 3:11a OKI9IBM DR_ 3,367 11-01-93 3:11a OLESVR DL_ 13,144 11-01-93 3:11a PACKAGER HL_ 14,752 11-01-93 3:11a PAINTJET DR_ 2,637 11-01-93 3:11a PANSON24 DR_ 3,865 11-01-93 3:11a PANSON9 DR_ 4,172 11-01-93 3:11a PBRUSH DL_ 4,423 11-01-93 3:11a PROPRINT DR_ 3,150 11-01-93 3:11a PROPRN24 DR_ 3,126 11-01-93 3:11a PRTUPD INF 15,855 11-01-93 3:11a PS1 DR_ 3,269 11-01-93 3:11a PSCRIPT DR_ 125,229 11-01-93 3:11a QWIII DR_ 4,119 11-01-93 3:11a RAMDRIVE SY_ 3,295 11-01-93 3:11a RASSTART EX_ 5,705 11-01-93 3:11a RECORDER DL_ 7,001 11-01-93 3:11a RECORDER HL_ 10,840 11-01-93 3:11a REDBRICK BM_ 371 11-01-93 3:11a REGEDIT EX_ 18,192 11-01-93 3:11a REGEDIT HL_ 14,435 11-01-93 3:11a REGEDITV HL_ 9,444 11-01-93 3:11a RINGIN WA_ 7,892 11-01-93 3:11a RINGOUT WA_ 2,546 11-01-93 3:11a RIVETS BM_ 154 11-01-93 3:11a RMM D3_ 5,026 11-01-93 3:11a ROMAN FO_ 5,423 11-01-93 3:11a SCRIPT FO_ 4,695 11-01-93 3:11a SCRNSAVE SC_ 2,317 11-01-93 3:11a SENDFILE DL_ 3,511 11-01-93 3:11a SERIAL 38_ 5,955 11-01-93 3:11a SETUP RE_ 1,257 11-01-93 3:11a SF4019 EX_ 30,999 11-01-93 3:11a SIGVIEW EX_ 3,048 11-01-93 3:11a SMALLE FO_ 11,251 11-01-93 3:11a SMALLF FO_ 9,391 11-01-93 3:11a SMARTDRV EX_ 15,491 11-01-93 3:11a SND CP_ 4,434 11-01-93 3:11a SOL HL_ 6,996 11-01-93 3:11a SQUARES BM_ 161 11-01-93 3:11a SSERIFE FO_ 18,807 11-01-93 3:11a SSFLYWIN SC_ 8,648 11-01-93 3:11a SSMARQUE SC_ 8,609 11-01-93 3:11a SSSTARS SC_ 8,287 11-01-93 3:11a SYSEDIT EX_ 10,035 11-01-93 3:11a TASKMAN EX_ 2,029 11-01-93 3:11a THATCH BM_ 211 11-01-93 3:11a THINKJET DR_ 2,094 11-01-93 3:11a TOOLHELP DL_ 9,232 11-01-93 3:11a TRNSCHED DL_ 8,002 11-01-93 3:11a TTY DR_ 14,795 11-01-93 3:11a TTY HL_ 7,549 11-01-93 3:11a VCACHE 38_ 2,587 11-01-93 3:11a VCOMM 38_ 2,590 11-01-93 3:11a VPMTD 38_ 1,626 11-01-93 3:11a VSHARE 38_ 7,651 11-01-93 3:11a VXDLDR 38_ 3,256 11-01-93 3:11a WIN386 PS_ 419 11-01-93 3:11a WIN87EM DL_ 7,917 11-01-93 3:11a WINHELP HL_ 17,871 11-01-93 3:11a WININIT EX_ 13,478 11-01-93 3:11a WINLOGO BM_ 11,025 11-01-93 3:11a WINMINE EX_ 11,938 11-01-93 3:11a WINMINE HL_ 6,118 11-01-93 3:11a WINNET INF 14,691 11-01-93 3:11a WINVER _ 1,639 11-01-93 3:11a WSWAP EX_ 10,131 11-01-93 3:11a ZIGZAG BM_ 205 11-01-93 3:11a 170 file(s) 1,411,197 bytes 3,072 bytes free Disk 7 ------ Volume in drive B is MSWFW7 Volume Serial Number is 4018-2F0F Directory of B:\ AM1500T 38_ 11,216 11-01-93 3:11a BP1CP2 PC_ 34,398 11-01-93 3:11a DD1CP1 PC_ 30,920 11-01-93 3:11a DECLAN 38_ 14,851 11-01-93 3:11a DISK7 8 11-01-93 3:11a EE16 38_ 12,922 11-01-93 3:11a ELNK16 38_ 12,596 11-01-93 3:11a ELNKII 38_ 14,740 11-01-93 3:11a ELNKMC 38_ 11,956 11-01-93 3:11a EPL75523 WP_ 1,466 11-01-93 3:11a FINSTALL DL_ 98,999 11-01-93 3:11a FINSTALL HL_ 14,634 11-01-93 3:11a HPEISA 38_ 13,826 11-01-93 3:11a HPELI523 WP_ 1,487 11-01-93 3:11a HPIID522 WP_ 1,468 11-01-93 3:11a HPIII522 WP_ 1,453 11-01-93 3:11a HPIIP522 WP_ 1,462 11-01-93 3:11a HPISA 38_ 15,885 11-01-93 3:11a HPPCL DR_ 48,031 11-01-93 3:11a HPPCL5E DR_ 153,870 11-01-93 3:11a HPPCL5E HL_ 16,172 11-01-93 3:11a HPPCL5E1 DL_ 32,760 11-01-93 3:11a HPPCL5E2 DL_ 24,558 11-01-93 3:11a HPPCL5E3 DL_ 46,699 11-01-93 3:11a HPPCL5E4 DL_ 10,899 11-01-93 3:11a HPPCL5EO HL_ 12,297 11-01-93 3:11a HPPCL5MS DR_ 100,098 11-01-93 3:11a HP_3D522 WP_ 1,534 11-01-93 3:11a HP_3P522 WP_ 1,480 11-01-93 3:11a IBM17521 WP_ 976 11-01-93 3:11a IBMTOK 38_ 16,647 11-01-93 3:11a L100_425 WP_ 1,529 11-01-93 3:11a N890X505 WP_ 1,347 11-01-93 3:11a NCM40519 WP_ 662 11-01-93 3:11a NCM80519 WP_ 1,194 11-01-93 3:11a NDIS 38_ 13,807 11-01-93 3:11a NDIS2SUP 38_ 11,498 11-01-93 3:11a NE1000 38_ 15,376 11-01-93 3:11a NE2000 38_ 15,608 11-01-93 3:11a NE3200 38_ 16,272 11-01-93 3:11a NETAPI DL_ 59,968 11-01-93 3:11a NETBEUI 38_ 24,236 11-01-93 3:11a NETDDE EX_ 40,497 11-01-93 3:11a NETWATCH EX_ 16,869 11-01-93 3:11a NWLINK 38_ 16,329 11-01-93 3:11a NWNBLINK 38_ 20,957 11-01-93 3:11a O5241503 WP_ 1,418 11-01-93 3:11a O5242503 WP_ 1,399 11-01-93 3:11a OL840518 WP_ 1,487 11-01-93 3:11a P4455514 WP_ 1,528 11-01-93 3:11a PHIIPX WP_ 1,169 11-01-93 3:11a PMSPL DL_ 14,869 11-01-93 3:11a PSCRIPT HL_ 29,034 11-01-93 3:11a Q2200510 WP_ 1,529 11-01-93 3:11a Q820_517 WP_ 1,443 11-01-93 3:11a SEIKO_04 WP_ 1,312 11-01-93 3:11a SEIKO_14 WP_ 1,391 11-01-93 3:11a SMC8000W 38_ 16,314 11-01-93 3:11a TESTPS TX_ 1,087 11-01-93 3:11a TIM17521 WP_ 994 11-01-93 3:11a TIM35521 WP_ 1,491 11-01-93 3:11a TKPHZR21 WP_ 1,417 11-01-93 3:11a TKPHZR31 WP_ 1,503 11-01-93 3:11a VREDIR 38_ 51,474 11-01-93 3:11a VSERVER 38_ 49,085 11-01-93 3:11a WFWAUDIT DL_ 11,645 11-01-93 3:11a WFWNET DR_ 167,247 11-01-93 3:11a WFWNET HL_ 32,308 11-01-93 3:11a WINCHAT EX_ 18,808 11-01-93 3:11a WINPOPUP EX_ 13,314 11-01-93 3:11a 70 file(s) 1,439,723 bytes 3,072 bytes free Disk 8 ------ Volume in drive B is MSWFW8 Volume Serial Number is 1A21-2F0F Directory of B:\ ADMINCFG EX_ 2,571 11-01-93 3:11a AM2100 DO_ 5,714 11-01-93 3:11a DEPCA DO_ 9,707 11-01-93 3:11a DISK8 8 11-01-93 3:11a DNCRWL02 DO_ 19,078 11-01-93 3:11a E20ND DO_ 6,247 11-01-93 3:11a E21ND DO_ 6,630 11-01-93 3:11a E30ND DO_ 6,251 11-01-93 3:11a E31ND DO_ 6,267 11-01-93 3:11a ELNK16 DO_ 6,444 11-01-93 3:11a ELNK3 38_ 11,512 11-01-93 3:11a ELNK3 DO_ 8,531 11-01-93 3:11a ELNKII DO_ 7,233 11-01-93 3:11a ELNKMC DO_ 6,585 11-01-93 3:11a ES3210 DO_ 7,114 11-01-93 3:11a EXP16 DO_ 6,348 11-01-93 3:11a HPLAN DO_ 8,964 11-01-93 3:11a HPLANB DO_ 6,954 11-01-93 3:11a HPLANE DO_ 8,042 11-01-93 3:11a HPLANP DO_ 7,514 11-01-93 3:11a I82593 DO_ 4,638 11-01-93 3:11a IBMNET DO_ 6,571 11-01-93 3:11a IBMNETA DO_ 6,590 11-01-93 3:11a IBMTOK DO_ 6,284 11-01-93 3:11a LMSCRIPT EX_ 3,200 11-01-93 3:11a LMSCRIPT PI_ 222 11-01-93 3:11a LOGONOFF EX_ 3,583 11-01-93 3:11a MODEM INF 130,552 11-01-93 3:11a MSNET DR_ 4,214 11-01-93 3:11a MSODISUP 38_ 10,504 11-01-93 3:11a NCC16 DO_ 8,562 11-01-93 3:11a NDDENB DL_ 8,472 11-01-93 3:11a NDIS39XR DO_ 9,687 11-01-93 3:11a NDIS89XR DO_ 9,830 11-01-93 3:11a NDISHLP SY_ 2,957 11-01-93 3:11a NE1000 DO_ 8,478 11-01-93 3:11a NE2000 DO_ 8,599 11-01-93 3:11a NE3200 DO_ 9,637 11-01-93 3:11a NET EX_ 233,319 11-01-93 3:11a NET MS_ 30,356 11-01-93 3:11a NETDDEX EX_ 4,397 11-01-93 3:11a NETH MS_ 43,170 11-01-93 3:11a NETWATCH HL_ 7,974 11-01-93 3:11a NI5210 DO_ 5,539 11-01-93 3:11a NI6510 DO_ 4,751 11-01-93 3:11a NWSUP 38_ 3,070 11-01-93 3:11a ODIHLP EX_ 1,670 11-01-93 3:11a OLITOK DO_ 30,730 11-01-93 3:11a PAD INF 5,401 11-01-93 3:11a PE2NDIS DO_ 22,779 11-01-93 3:11a PENDIS DO_ 15,755 11-01-93 3:11a PRO4 DO_ 11,753 11-01-93 3:11a PRO4AT DO_ 8,848 11-01-93 3:11a PRORAPM DW_ 15,880 11-01-93 3:11a PROTMAN DO_ 7,680 11-01-93 3:11a PROTMAN EX_ 5,415 11-01-93 3:11a PSS INF 935 11-01-93 3:11a RASAPI16 DL_ 23,951 11-01-93 3:11a RASCAUTH DL_ 13,760 11-01-93 3:11a RASCONF DL_ 10,387 11-01-93 3:11a RASEXE EX_ 2,444 11-01-93 3:11a RASFILE DL_ 6,969 11-01-93 3:11a RASMAC 38_ 24,132 11-01-93 3:11a RASMAN DL_ 12,735 11-01-93 3:11a RASMON EX_ 22,776 11-01-93 3:11a RASMXS DL_ 18,053 11-01-93 3:11a RASPHONE EX_ 104,152 11-01-93 3:11a RASPHONE HL_ 81,831 11-01-93 3:11a RASSAUTH DL_ 12,768 11-01-93 3:11a RASSER DL_ 8,428 11-01-93 3:11a RASSRV DL_ 6,264 11-01-93 3:11a SLAN DO_ 8,086 11-01-93 3:11a SMARTND DO_ 51,755 11-01-93 3:11a SMCMAC DO_ 10,330 11-01-93 3:11a SMC_ARC DO_ 10,972 11-01-93 3:11a SWITCH INF 3 11-01-93 3:11a T20ND DO_ 24,414 11-01-93 3:11a T30ND DO_ 24,380 11-01-93 3:11a TCCARC DO_ 6,017 11-01-93 3:11a UBNEI DO_ 16,659 11-01-93 3:11a UBNEPS DO_ 12,910 11-01-93 3:11a VNETSUP 38_ 5,192 11-01-93 3:11a WFWNETCP CP_ 2,365 11-01-93 3:11a WINCHAT HL_ 9,868 11-01-93 3:11a WINMETER EX_ 10,523 11-01-93 3:11a WINPOPUP HL_ 6,430 11-01-93 3:11a 86 file(s) 1,398,270 bytes 38,400 bytes free NOTE: The RASMAC.38_ file that now ships with Windows for Workgroups version 3.11a does not contain compression code. As a result, the directory listing for disk 8 varies with the following information if you have the non-compression RASMAC.386 file: RASMAC 38_ 14,710 11-01-93 3:11a 86 file(s) 1,388,848 bytes 48,128 bytes free KBCategory: kbref KBSubcategory: Additional reference words: wfw wfwg 3.11 dirwfw list noupd WFWG: Creating a New SYSTEM.INI Without Third-Party Drivers Article ID: Q107131 --------------------------------------------------------------- The information in this article applies to: - Microsoft Windows for Workgroups versions 3.1, 3.11 --------------------------------------------------------------- SUMMARY ======= You can use your original Microsoft Windows for Workgroups version 3.1 or 3.11 disks to create a new SYSTEM.INI file for your specific hardware and version of the network operating system. Creating a new SYSTEM.INI file can be useful for troubleshooting or for replacing a damaged or deleted SYSTEM.INI file. MORE INFORMATION ================ To create a new SYSTEM.INI file that does not contain references to third- party device drivers but that is configured for your specific hardware, do the following: 1. Rename the SYSTEM.INI file to SYSTEM.BKP. 2. Expand the file SYSTEM.SR_ from the original Windows for Workgroups 3.1 or 3.11 disks to your Windows directory (usually C:\WINDOWS) by typing the following at the MS-DOS command prompt and pressing ENTER: c:\windows\expand a:system.sr_ c:\windows\system.ini NOTE: For Windows for Workgroups 3.1, this file is located on Disk 3 for both the 1.44-megabyte (MB) 3.5-inch and 1.2-MB 5.25-inch disk sets. For Windows for Workgroups 3.11, this file is located on Disk 2 for both the 1.44-MB 3.5-inch and 1.2-MB 5.25-inch disk sets. 3. Change to the Windows for Workgroups drive and then change to the Windows directory. For example, at the MS-DOS command prompt, type the following, pressing ENTER after each line: c: cd \windows 4. To start the MS-DOS portion of Windows for Workgroups Setup, type "setup" (without the quotation marks) at the MS-DOS command prompt. 5. The options are either blank or contain some incorrect defaults similar to the following: Keyboard: keyboard.typ Codepage: woafont.fon Select the correct hardware options for your system. 6. Accept the changes. NOTE: When you accept the changes, you are given the option to have Setup copy new drivers. 7. Open the new SYSTEM.INI file in a text editor, such as MS-DOS 6.0 or 6.2 Editor. Make the following changes to the SYSTEM.INI file: - Add PROGMAN.EXE to the SHELL= line in the [boot] section. - Remove or remark out the TASKMAN.EXE= line in the [boot] section. - Add the following NETWORK.DRV= line to the [boot] section: [boot] Network.drv=wfwnet.drv - For Windows for Workgroups 3.1, change the network= line in the [386Enh] section to the following: [386Enh] network=vnetbios.386,vnetsup.386,vredir.386,vserver.386, vbrowse.386,vwc.386 - For Windows for Workgroups 3.11, change the network= line in the [386Enh] section to the following: [386Enh] network=*vnetbios,vnetsup.386,vredir.386,vserver.386,*vwc NOTE: The network= setting in the [386Enh] section of the SYSTEM.INI file should be on one line and should not contain spaces or wrapping around the second line. - To enable 32-bit disk access, add the following lines to the [386Enh] section: 32BitDiskAccess= device=*int13 device=*wdctrl NOTE: To enable 32-bit disk access, replace with "True" (without the quotation marks). If you do not want 32-bit disk access enabled, replace with "False" (without the quotation marks). For more information about 32-bit disk access, see Appendix D in the Windows Resource Kit, or query on the following words in the Microsoft Knowledge Base: Windows and 3.1 and 32-bit and disk and access 8. Start Windows for Workgroups without attempting to load any network drivers: - To start Windows for Workgroups 3.1 in standard mode, type the following at the MS-DOS command prompt: win /s NOTE: Standard mode is not accessible in Windows for Workgroups 3.11. - For Windows for Workgroups 3.11, type the following at the MS-DOS command prompt: win /n 9. In the Main group, choose Control Panel and then choose the Network icon. For Windows for Workgroups 3.11, open the SYSTEM.INI file in a text editor, such as Notepad. 10. Add the workgroup and computer names. For Windows for Workgroups 3.11, add the ComputerName= and Workgroup= settings in the [Network] section. 11. In Windows for Workgroups 3.1, do the following: - Choose the Adapters button. In Windows for Workgroups 3.11, do the following: - Choose the Network Setup icon in the Network group, then choose the Drivers button. 12. Add the network interface card (NIC). NOTE: You may need to first remove and then reinstall the NIC driver. 13. When Windows prompts you to restart the computer, choose the Continue button. 14. Exit Windows and restart Windows in 386 enhanced mode. KBCategory: kbusage kbenv kb3rdparty kbtlc KBSubcategory: wfw wfwg Additional reference words: 3.10 3.11 re-create recreate rebuild rebuilding system.src 3rdparty clean WFWG 3.11: Hardware Compatibility List - Modems for AWFAX Article ID: Q107346 --------------------------------------------------------------- The information in this article applies to: - Microsoft Windows for Workgroups version 3.11 --------------------------------------------------------------- SUMMARY ======= This article contains lists of modems that are known to be compatible or incompatible with Microsoft At Work PC Fax. Modems that do not appear in this list have not been tested by Microsoft Corporation. NOTE: The manufacturer of your modem may have updated the hardware since this list was compiled, causing its modem(s) to be compatible (or no longer to be compatible) with Microsoft At Work PC Fax. MORE INFORMATION ================ Compatible U.S. Modems ---------------------- Vendor Model Class Ext/Int --------------------------------------------------------------- Cardinal 14400 v32bis 1,2 E GVC FM-9648 1 E GVC FAX Modem 14400bps 2 E GVC FAX Modem 14400bps 2 I GVC FAX Modem 2400bps 1 I GVC 9624Vbis 2 E Hayes Optima96+Fax96 5101AM 1 E Hayes Optima 144 +Fax144 5100AM 1 E Hayes Optima24+Fax96 4000AM 1 E Intel SatisFAXtion 400e 1 E Intel SatisFAXtion 400I CAS I Intel SatisFAXtion 300I 1 I Intel SatisFAXtion 200I CAS I Practical Peripheral PM14400FX v.32bis 1 I Practical Peripheral PM14400FXMT 1 E Practical Peripheral PM14400FXSA 1 E Practical Peripheral PM9600FXMT 1 E Practical Peripheral PM2400FX Mini (RC229DP) 1 E Practical Peripheral PM2400EFX 1 I Practical Peripheral PP 24/96 (PP224ATF) 1 I Practical Peripheral RC229DP (Same as Mini) 1 I Supra FAX v32bis 144 1 E Supra FAX v32bis 144 1 I Supra FAX 24/96 1 I U.S. Robotics Sportster 144 1 I U.S. Robotics Sportster 144 1 E U.S. Robotics Sportster 9600 1 E U.S. Robotics Courier Dual 1 E Zoom Pocket 1 E Zoom AFX 96 224ATF 1 E Zoom v32bis 1,2 E ATI Technology 2400et e 1 E ATI Technology 14400etc e 1 E ATT Paradyne DataPort 144 1,2 E ATT Microelectronics AK144 1 I Best Data Products 1442FX14400 1,2 E Best Data Products Smart One 1,2 I Boca Research, Inc. Boca Modem 14400 1 E Cirrus Logic CL-MD 9624at/ec2 1 I Compaq 224ATF 1 I Computer Peripheral ViVa 2496if 2 I Computer Peripheral ViVa 14.4/fax 1,2 E Computer Peripheral ViVa 14.4/fax 1,2 I Data Race RediCARD 1 PCMCIA Data Race ActionFAX 1 I Digicom System (DSI) Scout Plus 1 E Epson EFM144 1 PCMCIA Epson EFM96 1 PCMCIA Ericsson Semafor 2324C 1 E Gateway Telepath FM144 1 E Gateway Telepath II 1 I Sierra VoDaFax 2 I Sierra Class 1 1 I TDK Data Fax Modem 1 I UDS Motorola FasTalkFAX32BX LP II 1 E UDS Motorola V.3257 1 E ZyXEL U-1496 Plus 2 E Macronix, Inc. Maxfax96/144 1,2 I Macronix, Inc. MaxLite 144 2 E Megahertz Corp. 144bps Pocket Fax ModemP2144 1,2 E Megahertz Corp. 96/96 Pocket 1 E Megahertz Corp. XJ1144 1 PCMCIA Megahertz Corp. CC324FM 1 PCMCIA MultiTech MT1432M 2 E MultiTech MT932ba 2 E MultiTech MT224ba 2 E Twincom Twin 144/DF 1,2 E Twincom Twin 144/Dfi 1,2 I Adtech Micro Comm Panion 96/24 1 E Adtech Micro Data Fax 96/24 1,2 I Adtech Micro Hiper Fax 14/14 1 I Adtech Micro Comm Panion 14/14 1 E Alphanetics 224ATF 1 I CMS Enhancements v.24bis/MNP5 2 E E-Tech UFOMate P1496MX 2 E Everex EV-960 2 I Holmes Microsystems Fax 'em Pocket 96 1,2 E LASAT Unique 144 1 E Microcom MicroPorte 4232bis 1 E PCDigital 96/48 1 I PSI Integration COMstation One 1 I Compatible International Modems ------------------------------- Country Vendor Model Class Type ----------------------------------------------------------------- ---- AUS AVTEK MegaPlus Fax V.32bis CD930 2 Pocket AUS AVTEK Mega-Date Fax CD900 1 E AUS Maestro RC224FMI 1 E AUS Maestro 144FMFI 1 E AUS Netcomm Pocket PA-PM2100BE 1 Pocket AUS Netcomm PM1500PK Modem 24 1 Pocket AUS Netcomm SmartModem E7F 2 E FRA 3X 396D 1,2 E FRA Kortex KX Pro 2400 Pocket 1 Pocket FRA Kortex Pocket 1 Pocket FRA NovaFax 14400 Fax 1 Pocket FRA PNB Baby-Pro TT1496 1,2 Pocket GER Dr. Neuhaus Fury DNE 5005 2 PCMCIA GER Dr. Neuhaus Fury DNE 1086 2 E GER Intel CAS/9600 CAS I ITA CDC-SPA CDC-9623 FAX-ECE 1,2 E ITA CDC-SPA CDC-9623 FAX-ICE 1,2 I ITA DIGICOM SNM41PC 1 I ITA SYSNET SMF 36Fax 1,2 E SWE Dynalink 1414VE 1,2 E SWE GVC FM-144vbis 2 E SWE Hidem 2442 FAX 2 E SWE Hidem 14400/Fax 2 E SWE Lasat Unique 14.4 1,2 E SWE Lightspeed 1414 Series 1,2 E SWE Motorola UDS Fasttalk Fax 32bx-32bx 1 E SWE Semafor 1496A 1 E SWE Semafor 2324C 1 E SWE UCOM Fastlink 14400 2 E SWE UCOM Traveller 144 Pocket SWE UFOMATE P1496MX 1,2 Pocket SWE U.S. Robotics Courier V.32bis 1 E SWE U.S. Robotics Sportster 14.4 Fax 1 E SWE U.S. Robotics WorldPort 14.4 1 Pocket UK ANDEST Roadrunner Rocket 1 Pocket UK DataFlex Rapier Plus 1,2 E UK Intel SatisFAXtion CAS I UK PSION-DACOM Port. Fax PTM50F 1,2 Pocket UK SmartLink Pocket Fax Modem 2400 1 Pocket UK SmartLink V32.bis/Fax 2 E UK U.S. Robotics WorldPort 14.4 1 Pocket Incompatible U.S. Modems ------------------------ Vendor Model Class Ext/Int --------------------------------------------------------------- Cardinal MB2296SR 2 I Macronix MAXFAX 9624 2 I Macronix VOMAX 2000 2 E Megahertz 2400 BPS Pocket Fax/Modem P224 FMV 1 E National Tyin 2000 2 E Practical Peripherals PM2400FXSA 2 E RACAL MXF 9632 2 E Zoom FX96/24 2 E Zoom FC96/24 2 I US Robotics Worldport 2496 1 E Incompatible International Modems --------------------------------- Vendor Model Class Ext/Int --------------------------------------------------------------- BIT Blitzer Mx-6 1 E BIT Blitzer XM124s RFAX 2 E Cray Comm Quantum 144 1 E Digicomm SNM28 SR 2 I Dr. Neuhaus Fury 241 2 I ELSA Microlink 14.4 PC 2 I Kortex KX PRO 2400 CAS I La Commande Electonique LCE Minifax 1 E MicroFax Class 2 Pocket Modem 2 E Multitech MT932ba 2 E Sysnet SMF - 04FAX 1 I US Robotics Worldport 2496 1 E The products included here are manufactured by vendors independent of Microsoft; we make no warranty, implied or otherwise, regarding these products' performance or reliability. KBCategory: kbref kbhw kb3rdparty kbatwork KBSubcategory: wfw wfwg wincomm awfax Additional reference words: 3.11 MODEMS works passed failed faxmodems hardware compatibility list hcl SatisFAXion 3rdparty WG0974: VKDA.386 Corrects Keyboard Problems Article ID: Q109561 ---------------------------------------------------------------- ----- The information in this article applies to: - Microsoft Windows for Workgroups version 3.11 ---------------------------------------------------------------- ----- Microsoft has an Application Note, "WG0974: VKDA.386 Corrects Keyboard Problems" When you start Windows for Workgroups version 3.11 on certain computers, your system may stop responding (hang) at the password dialog box or in Program Manager (if you set your password to null during Setup). Application Note WG0974 contains a new virtual keyboard driver to correct this problem. You can obtain this Application Note from the following sources: - CompuServe, GEnie, and Microsoft OnLine - The Internet (Microsoft anonymous ftp server) - Microsoft Download Service (MSDL) - Microsoft FastTips Technical Library - Microsoft Product Support Services For complete information, see the "To Obtain This Application Note" section at the end of this article. THE TEXT OF WG0974 ================== ================================================================ ====== Microsoft(R) Product Support Services Application Note (Text File) WG0974: VKDA.386 CORRECTS KEYBOARD PROBLEMS ================================================================ ====== Revision Date: 8/94 1 Disk Included The following information applies to Microsoft Windows(TM) for Workgroups, version 3.11. ---------------------------------------------------------------- ------- | INFORMATION PROVIDED IN THIS DOCUMENT AND ANY SOFTWARE THAT MAY | | ACCOMPANY THIS DOCUMENT (collectively referred to as an Application | | Note) IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER | | EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED | | WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR | | PURPOSE. The user assumes the entire risk as to the accuracy and | | the use of this Application Note. This Application Note may be | | copied and distributed subject to the following conditions: 1) All | | text must be copied without modification and all pages must be | | included; 2) If software is included, all files on the disk(s) | | must be copied without modification (the MS-DOS(R) utility | | diskcopy is appropriate for this purpose); 3) All components of | | this Application Note must be distributed together; and 4) This | | Application Note may not be distributed for profit. | | | | Copyright (C) 1994 Microsoft Corporation. All Rights Reserved. | | Microsoft and MS-DOS are registered trademarks and Windows is a | | trademark of Microsoft Corporation. | | AST is a registered trademark of AST Research. | | COMPAQ is a registered trademark and Aero and LTE Elite are | | trademarks of Compaq Computer Corporation. | | DEC is a trademark of Digital Equipment Corporation. | | GRiD is a registered trademark of GRiD Systems. | | IBM and PS/2 are registered trademarks of International Business | | Machines Corporation. | | Tandy is a registered trademark of Tandy Corporation. | |---------------------------------------------------------------- -----| SYMPTOMS ======== When you start Windows for Workgroups version 3.11, your system may stop responding (hang) at the password dialog box or in Program Manager if you set your password to null during Setup. The WG0974 disk included with this Application Note contains a new virtual keyboard driver that corrects this problem for the following computers: Manufacturer | Model(s) ----------------------------------------------------------------------- Acer America | Pac 150, 1100LX Portable | Advent | Machines using Blue Lightning chip set Corporation | | Ambra Corporation | Machines using Blue Lightning chip set, | including B466DL, B466TL, D466DL, D466TL, and | D466BL | AST(R) | Ascentia 900N 486/75 laptop | Compaq | All Aero(TM) machines, LTE Elite(TM) 4/50 or 75CX | Compudyne | Specific models unknown | Crystal Data | 486 machines Systems | | DEC(TM) | 316 SX, 320 SX | GRiD(R) Systems | 320S with Tandy(R)/Phoenix BIOS V 1.10 | GTSI | 0783 486 SX/25 (SFA and desktop) | IBM(R) | Valuepoint PS/2(R) 450TX2/D machine types | 6382, 6384, and 0783 | KLH | computers | Tandy | 2500 SX/20, 2500 SX/25, 2500 SX/33, and 4020 | Twinhead | 486/33, Superset 590 386/25 | Victor | 300 SX/33 and 400 SX NOTE: Machines manufactured by Compaq after April 1, 1994, that ship with Windows 3.1 come preinstalled with a virtual keyboard driver (VKD) that corrects this problem. Upgrading to Windows for Workgroups 3.11 leaves this VKD in place and allows the keyboard to work properly. However, if you install Windows for Workgroups 3.11 to a new directory, the keyboard stops functioning. If you perform such an installation, you must manually install the new VKD. CAUSE ===== The keyboard controllers in these machines generate unnecessary interrupts each time a key is pressed and released. The keyboard stops responding because the Windows for Workgroups 3.11 VKD, unlike the Windows 3.1 VKD, does not ignore these extra interrupts. RESOLUTION ========== To correct this problem, use one of the following methods: - Install the new VKDA.386 file provided with this Application Note. -or- - Install the Microsoft Mouse version 9.x driver. The replacement VKD that comes with this software (MOUSEVKD.386) handles the extra interrupts generated by the keyboards. NOTE: You may also be able to download a new VKD from the your computer manufacturer's bulletin board service (BBS). For example, SP0738.ZIP, which is available on the COMPAQ(R) BBS, contains a new VKD that corrects this problem. Contact your computer manufacturer to see if an updated driver is available. To install the new VKDA.386 file -------------------------------- 1. Insert the enclosed WG0974 disk in the appropriate floppy disk drive. 2. To copy the file to the Windows SYSTEM subdirectory, type the following at the MS-DOS command prompt and then press ENTER copy :\vkda.386 where is the floppy disk drive containing the WG0974 disk and is the drive and directory of your Windows SYSTEM subdirectory. For example, if the WG0974 disk is in drive A and your Windows directory is called WINDOWS and is on drive C, type the following at the MS-DOS command prompt and then press ENTER: copy a:\vkda.386 c:\windows\system 3. Use a text editor to edit the keyboard= entry in the [386Enh] section of the SYSTEM.INI file. Change keyboard=*vkd to: keyboard=c:\windows\system\vkda.386 ---------------------------------------------------------------- ----- TO OBTAIN THIS APPLICATION NOTE =============================== - On CompuServe, GEnie, and Microsoft OnLine, Application Notes are located in the Microsoft Software Library. You can find WG0974 in the Software Library by searching on the word WG0974, the Q number of this article, or S14510. WG0974 is a compressed, self-extracting file. After you download WG0974, run it to extract the file(s) it contains. - On the Internet, Application Notes are located on the Microsoft anonymous ftp server, which you can reach by typing "ftp ftp.microsoft.com" (without the quotation marks) at the ">" command prompt. You can find WG0974.EXE in the SOFTLIB\MSLFILES directory. - Application Notes are available by modem from the Microsoft Download Service (MSDL), which you can reach by calling (206) 936-6735. This service is available 24 hours a day, 7 days a week. The highest download speed available is 14,400 bits per second (bps). For more information about using the MSDL, call (800) 936-4200 and follow the prompts. To obtain WG0974, download WG0974.EXE. WG0974.EXE is a compressed, self-extracting file. After you download WG0974.EXE, run it to extract the file(s) it contains. - You can have this Application Note mailed to you from the automated Microsoft FastTips Technical Library, which you can call 24 hours a day, 7 days a week at (800) 936-4200. NOTE: The FastTips Technical Library is available only to customers within the U.S. and Canada. - If you are unable to access the source(s) listed above, you can have this Application Note mailed to you by calling Microsoft Product Support Services Monday through Friday, 6:00 A.M. to 6:00 P.M. Pacific time at (206) 637-7098. If you are outside the United States, contact the Microsoft subsidiary for your area. To locate your subsidiary, call Microsoft International Sales Information Center at (206) 936-8661. The products included here are manufactured by vendor independent of Microsoft; we make no warranty, implied or otherwise, regarding these products' performance or reliability. KBCategory: kbhw kbfile kbappnote kb3rdparty KBSubcategory: wfw wfwg windrvr Additional reference words: appnote hangs freezes lockup locks up Contura Aero Troubleshooting Insufficient Memory Errors Article ID: Q112676 ---------------------------------------------------------------- ---------- The information in this article applies to: - Microsoft Windows operating system versions 3.0, 3.0a, 3.1, 3.11 - Microsoft Windows for Workgroups versions 3.1, 3.11 ---------------------------------------------------------------- ---------- SYMPTOMS ======== You receive insufficient memory errors in Windows or Windows for Workgroups when you try to run an application or perform a task. The specific error messages vary but are similar to the following: - Application Execution Error Insufficient memory to run this application. Quit one or more Windows applications and then try again. -or- - There is not enough memory available. CAUSE ===== These errors may be caused by any of the following: - Insufficient Memory in the Global Heap - Insufficient Windows System Resources - File Corruption, Application Problems, or Configuration Problems - Low Memory Below 1 Megabyte (MB) - Low Windows Selectors - The BIOS Is Configured Incorrectly for Your System Each of these issues, and possible workarounds, is discussed below. Although these issues are listed in the order they are most likely to occur, troubleshooting insufficient memory errors in Windows is not always a straightforward step-by-step process. To increase your knowledge of the major issues and decrease your troubleshooting time, you may want to read this entire article before you proceed. MORE INFORMATION ================ Insufficient Memory in the Global Heap -------------------------------------- Cause: The entire memory area that Windows controls is called "global memory" or the "global heap." The global heap begins at the location where MS-DOS first loads Windows into memory and ends at the top of available memory, which most often is at the top of physical memory. A Windows-based application returns an insufficient memory error if the amount of free memory in the global heap, after swapping, is insufficient to run the application or perform the selected task. To determine how much memory is free in the global memory heap, set your Windows swap file to None in Control Panel's 386 Enhanced Virtual Memory dialog box and then choose About Program Manager from the Help menu in Program Manager. The Memory value reported is free memory in the global heap. If your application requires more memory than is available in the global heap, you may receive an "out of memory" error message. Increasing the size of the swap file may allow Windows to swap enough information to disk to free memory in the global heap. Resolution: To free more memory for your application, close one or more Windows-based applications or increase the size of your permanent swap file. If this does not correct the out of memory errors, you may need to update your system with additional RAM. Insufficient Windows System Resources ------------------------------------- Cause: Insufficient memory errors also occur when Windows calculates that not enough system resources exist to perform the desired operation. Status: In Windows 3.1 and Windows for Workgroups, system resources are determined by the following four heaps: - GDI.EXE (64-kilobyte [K] data segment) The GDI.EXE heap contains information about graphical objects, such as pens, brushes, cursors, fonts, icons, buttons, scroll bars, and so on. In Windows 3.1 and Windows for Workgroups, the GDI heap is likely to be the bottleneck; therefore, closing heavily graphics-oriented applications results in GDI resources being freed. - USER.EXE (64K data segment) The USER.EXE heap contains information about the windows currently in existence, dialog boxes, controls in dialog boxes, and so on. - menu (64K data segment) - menu strings (64K data segment) The menu and menu string heaps are new in Windows 3.1. These heaps, originally combined in USER.EXE under Windows 3.0, were designed to free up space in the USER heap. These heaps are created dynamically (that is, at run time) by the USER heap. They are not contained in any .EXE files and are each limited to 64K. When you choose About Program Manager from the Help menu, Windows and Windows for Workgroups report the heap with the smallest amount available as the amount of free system resources. To maintain backwards compatibility with earlier versions of Windows and Windows-based applications, all four heaps were each designed with a 64K data segment limit. Resolution: Some applications may not release all the system resources they use after they are closed. If you have a chronic problem with one or more applications, contact the manufacturer of the applications for more information. Some 16-bit Windows applications (such as Microsoft Word for Windows, Microsoft Access, Microsoft Visual Basic, and Microsoft Excel) require ample free amounts of both USER.EXE and GDI.EXE heaps because of the graphical user interface (GUI). If these applications do not find available space to load their information into these heaps, they generate an insufficient memory error (or a similar error). A large Excel workbook and large graphical images on machines running high resolution video drivers rely heavily on the GDI resource because of their graphical nature. If your system resources are often low, keeping few applications running is probably the best solution; however, you may also want to try the following: - Minimize seldom-used groups to conserve system resources. - Do not use wallpaper, or use a small bitmap and tile it. - Try not to open groups that have many icons. - If you run an application that uses system resources every time it runs, try to keep it open instead of closing and reopening it many times. - Try not to load fonts that are not needed. - Check your screen savers to make sure that they are not overusing resources. File Corruption, Application Problems, or Configuration Problems ---------------------------------------------------------------- Cause: Insufficient memory errors may occur when two or more memory resident programs or drivers conflict, when Windows accesses corrupted files or files that are still in compressed form, or when there is a problem in the application you are running. Resolution: Try to isolate the problem to a specific application. Clean boot the computer so that only the necessary Windows and application-specific device drivers and terminate-and-stay-resident (TSR) programs are loading in the CONFIG.SYS and AUTOEXEC.BAT files. For more information about a "clean boot" for Windows and Windows for Workgroups, query on the following words in the Microsoft Knowledge Base: clean and boot and append Disable any applications that start automatically when you start Windows (check the WIN.INI file and the StartUp group), run Windows Setup and change to standard Windows drivers (VGA, No Mouse, No Network), and use the Program Manager (PROGMAN.EXE) as your Windows shell. If the insufficient memory errors occur only in a specific application, try reinstalling the application to a new directory or manually expand any necessary files to rule out file corruption. If the application has never worked, it is possible that the files on the original installation disks are corrupted. Try to install the offending application on another computer using the same disks. If these procedures do not eliminate the problem, contact the manufacturer of the application that is causing the errors. Low Memory Below 1 Megabyte (MB) -------------------------------- Cause: When Windows creates a new task (that is, starts a new application), the Windows loader creates a task database (TDB) for it. The TDB contains vital information about the task, such as its current directory, its instance handle, and so on. To maintain compatibility with 16-bit Intel processors and MS-DOS, Windows creates the TDB in memory below 1 MB in the global heap. Because the only memory below 1 MB in the global heap is conventional memory, the TDB must be created below 640K (conventional memory). Status: Memory below 1 MB is limited and should be used sparingly. TDBs are not the only block of memory that may end up below 1 MB. Applications such as Microsoft Word for Windows, Microsoft Remote Access Services (RAS), Microsoft Anti-Virus , Microsoft Mail, Microsoft Schedule+, and multimedia packages are examples of applications that load .DLL files into the first megabyte of memory when loading or performing certain operations. Every segment in the Windows global heap is marked with certain attributes that tell Windows how to manage the segment. First and foremost, the segments are marked as Fixed or Moveable. A fixed segment always resides at the same physical memory location where it was first allocated (although it can be paged if it is not "page-locked"). Movable code can be moved or marked as Discardable code. This means that Windows can move moveable segments in memory if necessary to make room for other memory allocations or, if the code is marked as Discardable, Windows can discard the code by determining the "least recently used" (LRU) discardable segment. Windows can later reload the discardable code by accessing the application's .EXE file. The enhanced mode global heap is composed of a series of free and in-use blocks stored contiguously in memory. When Windows is asked by an application to allocate a block of memory, KRNL386.EXE starts at the beginning or end of the global heap, depending on the type of code the application loads, and iterates through each of the blocks until it finds a suitably sized free block. KRNL386.EXE starts to allocate fixed segments from the bottom up in the global heap. At the top of the global heap, Windows allocates discardable segments. Between the fixed and discardable segments, Windows allocates moveable segments. When an application starts and Windows needs to allocate fixed segments, Windows starts searching from the bottom up for a sufficiently large free block below the area of moveable segments. This is to avoid memory fragmentation. If it cannot find a segment large enough it begins moving moveable segments up in memory to make room. If that doesn't work, Windows begins discarding discardable segments. TDBs must be located below 1 MB, but fixed and moveable memory segments do not. An insufficient memory error that appears when you try to start an application may occur because fixed segments, which are loaded starting from the bottom of the global heap to avoid memory fragmentation, end up loading in the first megabyte. These fixed memory segments cannot be moved if they are "page-locked," hence they may consume memory space that Windows would otherwise use to load the TDBs. KRNL386.EXE's desire to keep fixed memory as low as possible conflicts with the need to keep memory below 1 MB as free as possible. Because of the way Windows allocates memory, memory below 1 MB is a limited resource even when you are running Windows-based applications. Program developers are encouraged to ensure that their programs and .DLL files do not use this space needlessly. Fixed memory segments should not be used unless absolutely necessary. Resolution: To troubleshoot this problem, optimize conventional memory as much as possible. If you have MS-DOS version 6.0 or 6.2, use MemMaker to optimize conventional memory. You may also want to change the order in which your programs or drivers load. This may alter where the fixed code gets located and minimize memory fragmentation. For a workaround, create a multi-boot configuration to minimize what loads into conventional memory for particular operations. This may free enough space so that Windows can load the TDBs. Disable any applications that start automatically when you start Windows (check the WIN.INI file and StartUp group), run Windows Setup and change to standard Windows drivers (VGA, No Mouse, No Network), and use the Program Manager (PROGMAN.EXE) as your Windows shell. For troubleshooting, remove any third-party Windows drivers or virtual device drivers (VxDs) by rebuilding the WIN.INI and SYSTEM.INI files. For more information about this procedure, query on the following words in the Microsoft Knowledge Base: win.ini and win.sr_ and create -and- system.ini and system.sr_ and create Low Selectors ------------- Cause: An important aspect of Windows-based application memory management that is NOT included in the free system resources percentage is the number of selectors. A selector is a memory pointer that is consumed with each memory allocation made by a Windows-based application. Windows has a fixed number of selectors (4096 in standard mode, 8192 in 386 enhanced mode). If a Windows-based application allocates a very large number of small data objects, it is possible to run out of selectors. This also produces an insufficient memory message. Resolution: These problems are application specific. Writing a Windows-based application to handle its own data objects more efficiently can help in this situation. If you experience a chronic problem with a particular application while none or few other applications are loaded and the computer is clean-booted, contact the application vendor. It is important that the vendor become aware of the problem so that it can be corrected if possible. The BIOS Is Configured Incorrectly for Your System -------------------------------------------------- If your BIOS is incorrectly configured for a floppy disk drive, you may receive the aforementioned error messages when you attempt to install software. For example, an error can occur if you have a 1.44-megabyte 3.5- inch floppy disk drive installed and the BIOS is set for a 1.2-megabyte 5.25-inch disk drive. REFERENCES ========== "Windows 3.1 Technical Reference Manual" "Microsoft Systems Journal," October 1993, pages 69-75 "Programming Windows 3.1," by Charles Petzold, pages 271-303 KBCategory: kbhw kbdisplay kbtshoot kberrmsg KBSubcategory: win30 win31 wfw wfwg winmem Additional reference words: 3.00 3.0 3.0a 3.10 3.1 3.11 browser err msg not enough memory tshoot mb mega byte Using 32-Bit Disk Access on WD 2540 Hard Disk Drives Article ID: Q113751 ---------------------------------------------------------------- ---- The information in this article applies to: - Microsoft Windows operating system versions 3.1, 3.11 - Microsoft Windows for Workgroups versions 3.1, 3.11 ---------------------------------------------------------------- ---- The following article contains information about the use of Windows and Windows for Workgroups with third-party products or configurations that have not been tested and are not supported by Microsoft. If the steps or procedures described in this article do not function properly, contact the manufacturer of the third-party product for more information or use a supported configuration. SYMPTOMS ======== After you enable 32-bit disk access, the system becomes unstable or stops responding (hangs) during startup, or Windows displays one of the following error messages: - The Microsoft Windows 32-bit disk driver (WDCTRL) validation failed at phase 07, 1F. -or- - The Microsoft Windows 32-bit disk driver (WDCTRL) validation failed at phase 03, 3F. -or- - Windows: This application has tried to access your hard disk in a way that is incompatible with the Windows 32-bit disk access feature (WDCTRL). This may cause your system to become unstable. -or- - Insufficient memory or address space to run Windows in Enhanced mode. Remove TSR programs to free memory. CAUSE ===== These errors occur when you use a system that includes a hard disk drive with more than 1024 cylinders. Western Digital has confirmed that the Caviar model 2540 516-megabyte hard disk drive uses BIOS parameter settings that are incompatible with the 32- bit disk access device driver included with Windows 3.1 and Windows for Workgroups 3.1 and 3.11 (WDCTRL). You can, however, use 32-bit file access (VFAT) in Windows for Workgroups 3.11. You may also receive these error messages when you use a Quantum LPS540AT configured to its default specifications (1120 cylinders, 59 logical sectors/track, and 16 heads). According to Quantum Technical Support, this drive can be configured with 1024 cylinders, 63 logical sectors/track, and 16 heads to avoid the error message. The MAXTOR 7548AT IDE hard disk drive has 1060 cylinders, 16 heads, and 63 sectors per track and causes one of the above error messages. Reducing the cylinder count in the CMOS setup to 1024 cylinders corrects this problem. If you continue to get one of the above error messages after setting the number of cylinders to 1024 in your CMOS settings, you may need to added the NOMOVEXBDA parameter to the EMM386.EXE command in your CONFIG.SYS file. The DTC 2278VL hard disk controller uses a device driver called DTC2278.SYS that can cause these error messages. Please contact DTC for more information on this issue. WORKAROUND ========== To work around this problem, choose one of the following methods: - Western Digital offers the following two workarounds on its bulletin board service (BBS): - If the BIOS in the system does not support drives with more than 1,024 cylinders, download a utility program called WDSWT.COM. This program can stamp the drive with a parameter translation brand so that it reports 1024 cylinders to the Windows 32-bit disk access driver (WDCTRL). This procedure is reversible--in case you need to install the AC2540 in a system that DOES support drives with more than 1,024 cylinders. NOTE: WDSWT.COM is for use on the AC2540 only; it is not for use on the AC2700 (730 megabytes) or AC3100 (1,083 megabytes) drives. -or- - Download the self-extracting file WIN31.EXE. This file contains the driver WDCDRV.386, which can be used to replace WDCTRL. For more information about using WDSWT.COM or WDCDRV.386, contact Western Digital Technical Support. - Update your computer's ROM BIOS to a version that supports logical block addressing (LBA) to automatically translate over 1024 cylinders. Contact your computer manufacturer for more information about this procedure. - Disable 32-bit disk access in Control Panel. To access this setting, choose the 386 Enhanced icon in Control Panel and then choose the Virtual Memory button. You can still use 32-bit file access (VFAT) in Windows for Workgroups 3.11, but VFAT mounts using the real-mode mapper (RMM.D32) instead of 32-bit disk access. - Change the CMOS parameters for the drive to 1024 cylinders or fewer, and then run Fdisk and reformat the drive. This workaround allows use of WDCTRL but does result in a loss of 11.8 MB of disk space. For more information about these workarounds, contact Western Digital Technical Support. MORE INFORMATION ================ The Western Digital Caviar 2540 model is a 540-megabyte (MB) hard disk drive that uses a drive parameter setting of 1048 cylinders, 16 heads, and 63 sectors. 32-bit disk access is a set of protected-mode device drivers that work together to enhance your system's BIOS. It filters interrupt (Int) 13H calls to the hard disk controller and directs them in the most efficient way for the system (either through the 32-bit interface with the hard disk controller or through the system BIOS). The Windows 32-bit disk access driver (WDCTRL) supports disk controllers that are compatible with the Western Digital 1003 controller interface standard, but WDCTRL is compatible only with hard disk drives with 1024 or fewer cylinders. 32-bit file access (VFAT) in Windows for Workgroups 3.11 is not affected by the method used to work around this problem. On drives with more than 1024 cylinders without 32-bit disk access, VFAT mounts over the real-mode mapper (RMM.D32). Replacing WDCTRL with Western Digital's 32-bit disk access driver, WDCDRV.386, should allow VFAT to work properly. VFAT and WDCTRL should both work properly if the computer BIOS supports logical block addressing. The products included here are manufactured by vendors independent of Microsoft; we make no warranty, implied or otherwise, regarding these products' performance or reliability. KBCategory: kb3rdparty kbdisplay kbtlc KBSubcategory: wfw wfwg Additional reference words: 3.1 3.11 err msg VFAT dmdrvr.bin disk manager gateway gateway200 pentium p5 p5-60 2000 03, 3f 033f 33f P5-66 07,1F 07, 1F 071F 540 12.5 million fastdisk AC 2540 7548 7546A 3rdparty WFWG Err Msg: Error 58 on Protocol 0 Article ID: Q114370 ---------------------------------------------------------------- ------ The information in this article applies to: - Microsoft Windows for Workgroups version 3.11 ---------------------------------------------------------------- ------ SYMPTOMS ======== When you start Microsoft Windows for Workgroups version 3.11 with Novell connectivity installed through IPXODI, the following error may occur: The following error occurred while loading protocol number 0. Error 58: The network responded incorrectly. You may need to reconfigure the protocol using Network Setup. If your computer is a portable, make sure it is connected to its docking station." NOTE: Choosing OK in this dialog box allows Windows to load; however, the Microsoft Windows Network is disabled. CAUSE ===== When you install Novell IPXODI support in Windows for Workgroups 3.11, Setup must make certain assumptions about the IPXODI configuration since Windows for Workgroups 3.11 does not ship with any of the Novell ODI files. One of the assumptions concerns the specific name of the multiple link interface driver (the Novell ODI network interface card driver). This name is referenced in the PROTOCOL.INI file on the Bindings= line(s). If the driver name specified on the Bindings= line does not match the name of the multiple link interface driver (MLID) being used, the above error may be generated. RESOLUTION ========== To correct this error, make a note of the actual name of the MLID file listed after LSL.COM in the AUTOEXEC.BAT or STARTNET.BAT file. Edit the PROTOCOL.INI file and verify that the Bindings= line matches the MLID file described above. If the Bindings= entry does not match the MLID name, correct the line so that it does. NOTE: On some configurations there may be two Bindings= lines. Example ------- The following example uses a 3Com Etherlink III (3C5x9) NIC, which is one of the more common cards with which the above error message occurs. Below are excerpts of the files created by Network Setup. AUTOEXEC.BAT: C:\WINDOWS\NET START C:\\LSL.COM C:\\<3C5X9.COM> (This is the MLID.) C:\\IPXODI.COM C:\WINDOWS\ODIHLP.EXE C:\\NETX.EXE PROTOCOL.INI: [NWLINK] Bindings=3C509 [NETBEUI] Bindings=3C509 Note that the MLID filename in the AUTOEXEC.BAT file is 3C5x9.COM, but the PROTOCOL.INI file references 3C509; including the file extension will result in the problem not being resolved. The corrected PROTOCOL.INI should read as follows: [NWLINK] Bindings=3C5x9 [NETBEUI] Bindings=3C5x9 For more information about this error in non-ODI configurations, query on the following words in the Microsoft Knowledge Base: netbeui and wfwg and ndis and tshoot KBCategory: kbnetwork kbtshoot kb3rdparty kbsetup kberrmsg kbtlc KBSubcategory: wfw wfwg Additional reference words: adapter 3.11 netware Troubleshooting Remote Access in Windows for Workgroups 3.11 Article ID: Q115593 ---------------------------------------------------------------- ----- The information in this article applies to: - Microsoft Windows for Workgroups version 3.11 ---------------------------------------------------------------- ----- SUMMARY ======= This article contains a step-by-step guide for troubleshooting Remote Access Services (RAS) in Windows for Workgroups 3.11. MORE INFORMATION ================ Steps to Troubleshoot Problems with Remote Access Services ---------------------------------------------------------- 1. Determine whether the modem works at the MS-DOS command prompt. Exit Windows and issue the command "Echo ATDT5555555 > COMx" (without the quotation marks, where x is the number of the communications port) at the MS-DOS command prompt. If you hear the tone from the modem dialing 555-5555, proceed to step 2. If you do not hear a dial tone, the modem may need to be reconfigured for the correct port address and interrupt. Also, if the modem is external, check the serial cable to ensure a good connection and make sure the proper cable is being used. If the modem is internal, move the modem to a different slot in the computer and check the configuration of the jumps on the modem (if any exist). Refer to with the modem documentation for setup and technical support information. 2. Determine whether the modem works in Windows Terminal. In the Accessories group, open Terminal and type the command "ATDT" (without the quotation marks). If the correct communications (COM) port is selected for the modem, a dial tone should be heard and OK or 0 (zero) should be returned to the modem terminal screen. Pressing ENTER should cancel the command to the modem and the message "NO CARRIER" should be returned to the screen. If you do not hear a dial tone after the ATDT command, choose Communications from the Settings menu to make sure the correct Connector (COM Port) setting is selected. If you do not see the text echoed back to the screen as you type the command, choose Terminal Preferences from the Settings menu and select the Local Echo option under Terminal Modes. If the modem does not work in Terminal, the modem may not be correctly configured for Windows (or possibly MS-DOS). If so, try the following: - Disable 32-bit file access. To do so, choose the 386 Enhanced icon in Control Panel, choose the Virtual Memory button, choose the Change button, and then clear the Use 32-Bit Disk Access check box. - In the Windows directory, open the SYSTEM.INI file and check the [Boot] section for the proper communications driver used globally throughout Windows. The line should read, COMM.DRV=COMM.DRV. If COMM.DRV= is set to anything other than COMM.DRV, change the line to read COMM.DRV=COMM.DRV. Also, make sure the COMM.DRV file in the Windows SYSTEM subdirectory has the file date 11/1/93 and a file size of 5968 bytes. If the modem still does not work in Terminal, obtain the Microsoft Application Note WW0654, "Windows 3.1 and Serial Communications." You can have this Application Note mailed or faxed to you from the automated Microsoft FastTips Technical Library, which you can call 24 hours a day, 7 days a week at (800) 936-4200. NOTE: The FastTips Technical Library is available only to customers within the U.S. and Canada. 3. Check RAS again after performing the above steps. If Terminal is working and RAS is still not working, add the line COMxFIFO=0 to the [386Enh] section of the SYSTEM.INI file using a text editor. This command turns off the 16-bit buffer built into the 16550 UART chip, forcing one-bit operation of serial data through the UART chip. 4. Check the file RASMAC.386 in the Windows SYSTEM subdirectory. If RASMAC.386 is dated 11/1/93, disable software compression. To do this, choose Disable Software Compression from the Options menu in RAS. (The next time you open the Options menu, a check mark should be beside Disable Software Compression.) If disabling software compression helps, use hardware compression instead. 5. Try a lower bits-per-second (bps) rate. Slowing the speed of the modem can often help decrease noise on the phone lines. It can also help with compatibility problems when using high-speed modems (9600 bps and above) that differ slightly in their compression and error-correction standards. If the lower bps rate works, you may want to disable hardware flow control and/or modem compression. To do this, choose the Phone Book Edit button in RAS, choose the Modem button, and then clear the Enable Hardware Flow Control and/or Enable Modem Compression options. 6. Check the modem documentation to see if the recommended initialization string differs from the one in the MODEM.INF file found in the Windows SYSTEM subdirectory. If it does, try entering the command manually. Choose the Phone Book Edit button, choose Modem, and select the Enter Modem Commands Manually option. This allows you to enter a modem command string manually to determine whether the default one in the MODEM.INF is related to the problem. 7. Check the BIOS date of the modem. Check the BIOS date of the modem with the manufacturer to see if a newer BIOS is available. To check the BIOS date of the modem using Terminal, issue the command ATIx (where x is a value between 1 and 9). For example, in Terminal, issue the command ATI3, then . A BIOS version number should be displayed on the screen, (for example, V1.200 or ver .59). If there is a newer BIOS available, update the BIOS by downloading the firmware (software) from the modem manufacturer's bulletin board service (BBS) or CompuServe Information Service (CIS) forum if available. Some modem manufacturers have a single-chip upgrade available if the BIOS of the modem is not software upgradeable. 8. Determine whether the modem is supported in RAS. If it is an unsupported modem, refer to step 6 above for information about checking for the correct communication string sent by RAS from the MODEM.INF file. You can make your own section by cutting and pasting the information from a related modem section with your own section heading (such as [my modem]). This method is not supported, but it may be the only way RAS can communicate with your modem. Common Error Messages in RAS ---------------------------- Error 615: When you use RAS in Windows for Workgroups 3.11, you may receive the message "Error 615: The port was not found." This error can occur when the Remote Access Phone Book file and the current Remote Access configuration are inconsistent. If you have changed your communications equipment (for example, your serial port or modem), be sure to reconfigure RAS. (For more information, see "Reconfiguring Remote Access" in the online help file.) If the error persists, remove and re-create the affected Phone Book entry or reinstall RAS. The Remote Access Phone Book (RASPHONE.PBK) is in the Windows subdirectory. Error 640: The message "Error 640: A Net BIOS error has occurred" is generated when the modem does not negotiate the connection correctly or when the line is noisy. Set the modem to a lower initial bits-per-second (bps) speed, and then dial again. (For more information, refer to "Setting Modem Features" in the online help in RAS.) If reducing the modem speed does not correct this error, RAS is probably running out of conventional memory to set up its session. RAS uses conventional memory (about 90 kilobytes [K]) without being in the Answer mode as the server. With RAS set up as the server and in Answer mode, RAS uses about 120K of conventional memory. You may want to clean boot to see if you can make more conventional memory available. Most RAS NetBIOS error 640 messages occur when your system has less than 500K free conventional memory at MS-DOS before starting Windows for Workgroups. Remove any terminate-and- stay-resident (TSR) programs and other network drivers to determine whether more conventional memory solves the problem. NOTE: Having the NET START command in the AUTOEXEC.BAT file and IFSHLP.SYS in the CONFIG.SYS file are required to run RAS. For more information on Error 640, query on the following words in the Microsoft Knowledge Base: netbios and error and 640 Error 692: When dialing using RAS, you may receive the message "Error 692: Hardware Failure in Port or Attached Device" even though all other communication software is working correctly. This error message is reported when RAS cannot correctly communicate with the modem. To correct this problem, you must first know the reason RAS cannot communicate with the modem. Check the selected modem for RAS with the following steps: 1. Choose the RAS icon in the Network group. 2. Choose Setup from the menu list and then choose Configure. 4. Check the device selected and the port to which it is assigned. The modem's handshaking requirements may not match what is being sent by RAS, or the emulation for the modem may be incorrect. RAS uses a file called MODEM.INF in the Windows SYSTEM subdirectory to send the right communication strings to the modem through the selected modem in RAS. If you use a text editor (such as Windows Write) with the No Conversion option selected to open the MODEM.INF file, you can find the modem you have selected in RAS to look at the COMMAND_INIT string. COMMAND_INIT string is the communication string RAS sends to set up the modem for communication. Refer to the modem documentation or check with the modem manufacturer for the correct communication string for your modem. For more information on this error message, query on the following words in the Microsoft Knowledge Base: RAS and ERROR and 692 NOTE: The following updated communication Application Notes are available from Microsoft: - WG0992: Updated Files for Microsoft At Work PC Fax 1.0 - WG1001: Updated SERIAL.386 Driver for Windows for Workgroups To obtain these Application Notes: - On CompuServe, GEnie, and Microsoft OnLine, Application Notes are located in the Microsoft Software Library. You can find WG0992 and WG1001 in the Software Library by searching on the words WG0992 and WG1001; or S14577 and S14599, respectively. These files are compressed, self-extracting files. After you download the files, run them to extract the file(s) they contain. - On the Internet, Application Notes are located on the Microsoft anonymous ftp server, which you can reach by typing "ftp ftp.microsoft.com" (without the quotation marks) at the ">" command prompt. You can find WG0992.EXE and WG1001. EXE in the SOFTLIB\MSLFILES directory. - Application Notes are available by modem from the Microsoft Download Service (MSDL), which you can reach by calling (206) 936-6735. This service is available 24 hours a day, 7 days a week. The highest download speed available is 14,400 bits per second (bps). For more information about using the MSDL, call (800) 936-4200 and follow the prompts. To obtain WG0992 and WG1001, download WG0992.EXE and WG1001.EXE, respectively. These files are compressed, self-extracting files. After you download these files, run them to extract the file(s) they contain. - You can have this Application Note mailed to you from the automated Microsoft FastTips Technical Library, which you can call 24 hours a day, 7 days a week at (800) 936-4200. NOTE: The FastTips Technical Library is available only to customers within the U.S. and Canada. - If you are unable to access the source(s) listed above, you can have these Application Notes mailed to you by calling Microsoft Product Support Services Monday through Friday, 6:00 A.M. to 6:00 P.M. Pacific time at (206) 637-7098. If you are outside the United States, contact the Microsoft subsidiary for your area. To locate your subsidiary, call Microsoft International Sales Information Center at (206) 936-8661. KBCategory: kbother kbtshoot kbfile KBSubcategory: wfw wfwg awfax ras Additional reference words: 3.11 tshoot remote access service baud softlib Summary List: Windows for Workgroups 3.11 Confirmed Problems Article ID: Q120554 ---------------------------------------------------------------- ---- The information in this article applies to: - Microsoft Windows for Workgroups version 3.11 ---------------------------------------------------------------- ---- The following is a list of confirmed problems in Windows for Workgroups version 3.11. For more information on each issue, query in the Microsoft Knowledge Base on the article identifier (ID). ======================================================= Summary Listing for Windows for Workgroups Version 3.11 ======================================================= Article ID Article Title ---------- ------------------------------------------------------------- Q86705 Problems When Exiting Windows or WFWG After Running 386 Enh Q89484 GP Fault in WFWG Mail May Suppress Password Q89880 Toolbar Buttons Extend Beyond the Toolbar in File Manager Q89973 Net Watcher: Lines Appear in Share Name When Scrolled Q89977 Print Manager Help Error: Cannot Use CTRL+UP ARROW Q90422 WFWG Err Msg: Application Has Violated System Integrity Q91000 "How To Use Help" Command in WFWG Setup Does Not Work Q91114 WFWG Err Msg: NET3651: There Is No Protocol Added... Q92577 WFWG: GP Fault in Video Driver When Using ClipBook Viewer Q92634 Invalid Err Msg in Print Manager w/14-Character Machine Name Q92877 WFWG May Hang If TCP/IP Hasn't Registered at Logon Time Q92880 WFWG Mail Incorrectly Displays Bad Network Connection Icon Q92996 Local Printer Causes 1st Network Print Job to Disappear Q94766 Workstation Not Showing Status w/Print Mgr Minimized on Server Q99387 WFWG: Status Bar Option in Chat Shows Incorrect Shortcut Key Q105502 CAS Modem Fails to Receive Faxes with WFWG 3.11 Q106022 Network Dialog Err Msgs Truncated with Small Fonts Q106042 WFWG Err Msg: This Application Was Communicating on...Network Q106274 Certain Network Adapters Can Use DMA Channels 0-3 Only Q106365 Positions of Minimized Icons Are Not Saved in File Manager Q106367 WinPopup Message Incorrectly States Message Was Sent Q107199 Windows Help Does Not Save Maximized Window Position Q107471 WFWG 3.11 Err Msg: Segment Load Failure Q107473 WFWG 3.11 Err Msg: Access Denied Q107476 Video Seven VRAM II Video Adapter Hangs WFWG 3.11 Setup Q107580 Net Watcher Event Log May Not Clear Q107994 "Not Enough Memory" Error Occurs When Browsing Q108100 PC-NFS Error: NFS903F Missing or Invalid PROTOCOL.INI Data Q108818 WFWG May Hang at Startup with 32-Bit File Access & NoEmmDriver Q109054 Games Group Installed Even If Games Are Not Selected Q109447 WG0971: NDIS2SUP.386 Corrects Problems Restarting WFWG Q109448 WG0970: VNETBIOS.386 Corrects Real-Mode Transport Problems Q109562 WG0973: RMM.D32 Corrects 5-Second Delay When Starting Apps Q111333 Errors on Token Ring Network with Banyan Vines 5.52 and WFWG Q111566 Microsoft Mail Err Msg: Error: Unable to Allocate Hook... Q111567 WFWG Setup with HP Ethertwist Cards: No Network Installed Q111568 Video Display Problems with MS-DOS Prompt and Trident Card Q111569 Cannot See Writing with Pen Pointing Device and Super VGA Q111570 System Hangs Using Super VGA Driver with Compaq QVision Q111571 Video Corruption with Diamond Stealth and WFWG VGA Driver Q111572 Basic Redir Repeatedly Prompts for User Name & Password Q111573 Standby Mode with APM, Mail, & AWFAX May Result in a GP Fault Q111574 Server Problems After Extended Use w/EtherExpress & EXP16ODI Q111575 Security Settings File Error with Shared Windows Installation Q111683 New Installation of WFWG with IPX.COM Gives Erroneous Dialog Q111685 AWFAX: Invalid Directory Accepted in Share Fax Modem Dialog Q111796 WG0988: IBMTOK.386 Corrects Problems with Exiting WFWG Q111797 WG0991: Updated NE2000.386 Allows WFWG to Start Correctly Q111798 WG0992: Updated Files for Microsoft At Work PC FAX 1.0 Q111882 TI MicroLaser w/EXP16ODI.COM Driver May Cause 15-Second Delay Q111966 WFWG WinPopup Incorrectly Reports Print Job Completed Q111980 WG0990: ELNK3.386 Corrects System Hangs (Non-802.3 Packets) Q112024 WG1002: SCHEDMSG.DLL Corrects French Headers Q112198 WinPopup Sends Multiple Messages to a Workgroup Q112300 WG1001: Updated SERIAL.386 Driver for WFWG Q112368 Chat Text Is Pasted in the Wrong Window Q112739 Error Renaming Expanded Directory When Running NetWare 3.x Q113455 AWFAX: Excel Macro File Does Not Render Correctly When Faxed Q113456 Problems Sending Faxes from MAPI-Enabled Applications Q114337 SETUP /H Installs NETDDE with Novell-Only Setup Q115321 Incorrect Time Stamp on File Copied to Disk w/Inadequate Space Q119204 Setup Problems on NEC Docking Station When Checking for APM Q119208 AWFAX: CAS Modem Receives Fax with Jagged Print Q104551 WW0863: Fixing System Hangs with MS-DOS Apps & Novell NetWare Q109561 WG0974: VKDA.386 Corrects Keyboard Problems Q112161 WG1004: MSODISUP.386 Fixes Problems Using 3Com ODI MLIDs Q116233 WG1027: Updated NWLINK.386 Allows Routing Across Cisco Routers KBCategory: kbnetwork kbdisplay kb3rdparty kbbuglist KBSubcategory: wfw wfwg Additional reference words: 3.11 Installing Win32s in Windows and Windows for Workgroups Article ID: Q120901 ---------------------------------------------------------------- ---- The information in this article applies to: - Microsoft Windows operating system versions 3.1, 3.11 - Microsoft Windows for Workgroups versions 3.1, 3.11 - Microsoft Win32s, versions 1.0, 1.1, 1.15, 1.2 ---------------------------------------------------------------- ---- SUMMARY ======= Win32s is a set of DLLs and a virtual device driver (VxD) that allows Win32-based applications to run on top of Windows or Windows for Workgroups. If you receive the following error message when you run or install a Win32-based application This program cannot be run in DOS mode Win32s is either not installed or not installed properly. You can use Freecell to test your installation of Win32s. MORE INFORMATION ================ Win32s Version 1.2 Availability and Support ------------------------------------------- Win32s is available from many sources. Microsoft Personal Operating System environments Support Engineers support the installation of Win32s when it is obtained from any of the following sources: - CompuServe GO MSL Search for PW1118.EXE Display results and download - Microsoft Download Service (MSDL) Dial (206) 936-6735 to connect to MSDL Download PW1118.EXE - Internet (anonymous FTP) ftp ftp.microsoft.com Change to the \SOFTLIB\MSLFILES directory Get PW1118.EXE - Mosaic on the World Wide Web by using URL ftp ftp.microsoft.com Change to the \SOFTLIB\MSLFILES directory Get PW1118.EXE - MSDN (Win32 SDK and NT DDK CD) - Win32 SDK CD Microsoft Windows and Windows for Workgroups support engineers may not be able to assist you with individual application or Win32s development questions. Contact your software manufacturer or Microsoft Developer Support for assistance in these areas. Win32s Problems --------------- Freecell is an application available with Win32s in the above locations. To test your installation of Win32s, run Freecell. If you are experiencing problems but Freecell runs properly, contact the manufacturer of the product you are attempting to run or install for further information. If Freecell generates an error, continue reading the following information. One of the following error messages occurs when you run Freecell and Win32s is not installed properly: - File Error: Cannot find OLECLI.DLL -or- - Win32s - Error: Improper installation. Win32s requires WIN32S.EXE and WIN32S16.DLL to run. Reinstall Win32s. -or- - Win32s - Error: Improper installation. Windows requires w32s.386 in order to run. Reinstall Win32s. -or- - Error: Cannot find file freecell.exe (or one of its components)... Also, if Win32s is not installed properly, the display may be corrupted as soon as you run Freecell. Resolutions ----------- If Win32s is not installed correctly, check the following: - If you are having video problems, check to see if you have an S3 video card. Certain S3 drivers do not work with Win32s. Either use the generic drivers shipped with Windows, or contact your video card manufacturer for an updated driver. - Make sure that the following line is in your SYSTEM.INI file: device=*vmcpd - If you have a printer driver by LaserMaster, remove it or comment it out. (It interferes with installing Win32s.) Reboot the computer so that the changes you made take effect. After you successfully reinstall Win32s, reinstall the driver or remove the comment characters. The driver interferes with installing Win32s because the LaserMaster drivers create a WINSPOOL device. The extension is ignored when the filename portion of a path matches a device name. As a result, when Setup tries to write to WINSPOOL.DRV, it fails because it attempts to write to WINSPOOL. In fact, any Win32-based application that tries to link to WINSPOOL.DRV also fails; however, most Win32-based applications that print under Win32s do not use the WINSPOOL application programming interfaces (APIs) because they are not supported in Win32s. As a result, you can usually disable this driver while installing Win32s and then re-enable it afterwards. - Delete the WIN32S directory, the WIN32APP directory, and the W32SYS.DLL, W32S16.DLL, and WIN32S.EXE files from your hard disk. Edit the WIN32S.INI file on your hard disk. Change the line(s) SETUP=1 to read SETUP=0. Reboot your computer and reinstall Win32s. Although it is possible to install Win32s over an old installation of Win32s, it is recommended that you remove the old files before installing the new ones. - Make sure that paging is enabled. From the Control Panel, choose the 386 Enhanced icon, choose Virtual Memory, then choose Change. Verify that the drive type is not set to None. - Make sure that SHARE is enabled. Edit the AUTOEXEC.BAT file and add the following line if it is not already there: C:\DOS\SHARE.EXE -or- If you are running Windows for Workgroups or you have a file by the name VSHARE.386 on your system, you do not need to load SHARE in the AUTOEXEC.BAT file. If you have this file, edit the SYSTEM.INI file and add the following line to the [386Enh] section: Device=VSHARE.386 Network Installation of Win32s ------------------------------ The following information describes how to install Win32s on a network setup of Windows on a Novell NetWare server (SETUP /A and /N). To set up Win32s to a shared Windows directory on a Novell NetWare server, you must have full read/write access to that directory. Win32s does set up correctly the first time. The Setup program detects the shared directory (SETUP /A) as the Windows directory and copies the files to it. Setup also modifies the .INI files for the copy of Windows from which you are performing Setup. For all other installations, the SYSTEM.INI files must be modified manually; otherwise, the full setup program tries to run again and attempts to write the files to the server directory again. Add the following lines to each SYSTEM.INI file: [Boot] drivers=F:\\winmm16.dll NOTE: The drivers= line may contain additional drivers. [386Enh] device=F:\\win32s\w32s.386. Both lines should contain the full network path to the files in the shared Windows directory. The Win32s Setup program installs the Win32s directory, which is ordinarily created in the Windows SYSTEM subdirectory, into the shared Windows directory. KBCategory: kbpolicy kbdisplay kbinterop kberrmsg KBSubcategory: win31 wfw wfwg Additional reference words: 3.10 3.11 win32 Troubleshooting At Work PC Fax in WFWG 3.11 Article ID: Q122032 ---------------------------------------------------------------- -- The information in this article applies to: - Microsoft Windows for Workgroups version 3.11 ---------------------------------------------------------------- -- SUMMARY ======= This article contains a step-by-step guide to troubleshooting Microsoft At Work PC Fax in Microsoft Windows for Workgroups 3.11. Additional information about At Work PC Fax is available in the following sources: - Windows for Workgroups 3.11 Resource Kit, Chapters 4 and 10 - Help (available in the Fax area of Control Panel) - Additional articles in the Microsoft Knowledge Base. You can have access to the Microsoft Knowledge Base through the following services: - CompuServe (GO MSKB and search on the keyword AWFAX) - America Online (search on AWFAX in the Microsoft area) - Microsoft TechNet CD - The Internet - Microsoft FastTips at (800) 936-4200 (Only a selected number of Knowledge Base articles are available on the FastTips service.) MORE INFORMATION ================ With Microsoft At Work PC Fax, you can send and receive faxes through your fax modem. At Work PC Fax works through the Windows for Workgroups Mail interface. (However, you do not have to be using Mail in order to use At Work PC Fax.) To send a fax, compose a message in Mail, then place the fax number on the To line of the Mail message using the following formats: [fax:1234567] -or- [fax:name@1234567] Finally, choose Send. You can attach files (for example, bitmaps, documents, or spreadsheets) in the message and fax these documents all from within Mail. In addition, you have the option of printing to the At Work PC Fax printer driver from within a Windows-based application. If the sending and receiving fax modems are both Class 1 compatible, you can send binary files through At Work PC Fax. Note that if either fax modem is not Class 1 compatible, the transmission is in a non-editable facsimile format (as if you were sending from a fax machine.) At Work PC Fax Setup -------------------- To set up At Work PC Fax, open Control Panel and double-click the Fax icon. The first time you set up At Work PC Fax, you are prompted with a dialog box for "Email and Fax" or "Fax Only." If you are on a network and use Microsoft Mail in Windows for Workgroups, choose "Email and Fax." If you do not use Mail (that is, if you are on a stand-alone system or just do not use Mail), choose "Fax Only." After making this selection, select the appropriate settings for your fax modem. There should then be a short delay, during which your EFAXPUMP.INI file is being created, and then you should be prompted for your fax number. Enter this information. (The country code for the USA is "1"). If you receive the following message A modem was not detected on the selected port. Do you wish to install anyway? Choose No. Make sure that you have selected the correct port and that your fax modem is on (if it is an external modem). If the fax modem is properly detected, you are prompted to run Microsoft Mail if you are not already doing so. Sign into Mail. This create a new MSMAIL.MMF file. (This is the file that holds mail or fax messages.) You should now see a Fax icon that is "idle." (Minimize everything on your screen if you have difficulty finding the icon.) The Fax icon indicates that you are properly set up and ready to use the faxing capability. (See the "At Work PC Fax Usage" section below.) Setting Up a Shared Network Fax ------------------------------- After you have At Work PC Fax set up on one machine, you can then share this fax modem with other members of the network. (NOTE: You are actually sharing a directory, not the fax modem itself.) The machine with the fax modem in it can be considered the fax server. Other members of the network can then fax from their own machines using this shared fax modem. Incoming faxes are received at the server, where they can either be manually routed to others on the network, or placed in a shared folder in Microsoft Mail. From the shared folder, others can access the faxes. Faxes are NOT automatically routed to the intended recipients--they are received by the fax server only. To set up your shared fax modem: 1. Set up and test the machine with the fax modem installed. 2. On the fax server, open Control Panel, double-click the Fax icon, and choose Shared Network Fax. 3. Choose Create Directory. 4. Choose Create Share and change the access type to Full. To set up a Windows for Workgroups 3.11 workstation to use a remote fax modem: 1. Open Control Panel and double-click the Fax icon. 2. Select Fax Only if you are not using Microsoft Mail; select Email And Fax if you want to use At Work PC Fax and Microsoft Mail. (You receive this message the first time you open the Fax icon only.) 3. Choose Add. 4. Select Shared Network Fax. 5. Choose the Network button. 6. In the Path box, type the location of the fax server using the following format: \\\ NOTE: The default is MSFAX. 7. Choose OK. 8. Select the connection you have just established and choose OK. If you have more than one connection to shared fax modems, you can set one as the active modem. (If there is only one connection to a shared fax modem, this is not an option.) 9. Start and sign in to Microsoft Mail. 10. Assuming the fax server is running Mail and the Fax icon is on the desktop, the workstation should also start up At Work PC Fax. NOTE: When the server goes down or the fax modem goes offline, users connected to that shared fax modem cannot actually send faxes. However, even when the fax modem is offline, you can create faxes and choose Send--they will be transmitted when the fax modem is back online. At Work PC Fax Usage -------------------- To use At Work PC Fax, you must have Microsoft Mail running and the fax modem online. (On the Fax/Mode menu, the Work Off-Line option must not have a check mark beside it.) If you are attaching to a shared fax modem, both the fax server and the workstation must be running Microsoft Mail, and the fax modem must be online. To send a fax, use one of the following methods. Method #1 - Faxing from Mail: 1. Open Microsoft Mail and make sure your fax modem is online. (The Fax icon appears on the desktop.) 2. In Mail, choose Compose. Type the body of the mail message, or choose Attach and attach any files you want to fax. NOTE: If you attach a file, it must be a printable document with an extension that Windows for Workgroups recognizes unless you are sending a binary file, in which case any file can be sent. (Class 1 fax modems must be available on both ends if you are transferring a binary file.) 3. On the To: line, type one of the following formats: [fax:1234567] -or- [fax:John@1234567] 4. Choose Send. 5. From the View menu, choose New Messages. Method #2 - Printing from within an application to the At Work PC Fax printer driver (Microsoft At Work Fax on Fax): 1. In your Windows-based application, choose Print from the File menu. Print with the "Microsoft At Work PC Fax on Fax" printer driver. Microsoft Mail starts. Sign in if necessary. 2. You are prompted with the Compose dialog box. 3. On the To: line, use one of the following formats: [FAX:1234567] -or- [FAX:John@1234567] 4. Choose Send. At Work PC Fax Initial Troubleshooting -------------------------------------- If you are having any difficulty with At Work PC Fax installation or usage, set up your configuration as outlined below for testing. This "clean" configuration helps to narrow down possible software conflicts and ensure that the fax modem itself is working properly. 1. Restart your machine with the following clean configuration: CONFIG.SYS ---------- DEVICE=C:\WFWG\HIMEM.SYS SHELL=C:\DOS\COMMAND.COM /P DEVICE=C:\WFWG\IFSHLP.SYS (disk-compression drivers if needed) (SCSI driver if needed) AUTOEXEC.BAT ------------ C:\WFWG\NET START PATH=C:\DOS;C:\WFWG PROMPT $P$G SET TEMP=C:\TEMP 2. Change to the standard VGA video driver as follows: a. Exit Windows. b. From your Windows for Workgroups directory, type "setup" (without the quotation marks). c. Change the Display Type to VGA. Replace the files when prompted if the driver already exists on your hard disk. 3. Modify the following entries in the SYSTEM.INI file to match the values listed below. [boot] system.drv=system.drv shell=progman.exe comm.drv=comm.drv display.drv=vga.drv 4. Remark out the Load= and Run= lines in the [windows] section of your WIN.INI. (You can remark out an existing entry by placing a semicolon (;) at the beginning of that line.) 5. Remove any programs that are loading in your StartUp group. 6. Check to make sure you have the correct Windows for Workgroups communications driver. In your Windows SYSTEM subdirectory, check the file attributes of COMM.DRV. The file should be dated 11/1/93. The file size should be 5968 bytes. If it is not, rename the current COMM.DRV and expand the correct one from the original Windows for Workgroups Disk #2. To do this, type the following from an MS-DOS command prompt expand :\comm.dr_ :\windows\system\comm.drv where is the floppy disk drive containing Windows for Workgroups Disk #2 and is your drive containing Windows. 7. Determine whether the fax modem works at the MS-DOS command prompt by exiting Windows for Workgroups and typing the following command echo atdt5555555 > com where is the number of the communications (COM) port. If you do not hear a dial tone, the fax modem may need to be reconfigured for the correct port address and interrupt. Also, if you have an external fax modem, check the serial cable to ensure a good connection and that the proper cable is being used. If you have an internal fax modem, check to ensure that the hardware configuration is correct. Refer to the fax modem documentation for setup and technical support information. 8. Determine whether the fax modem works in Windows Terminal as follows: In the Accessories group, open Terminal and type the command "atdt" (without the quotation marks). - If the correct COM port is selected for the fax modem, you should hear a dial tone and "OK" or zero (0) should be returned to the terminal screen. Pressing ENTER should cancel the command to the fax modem and the message "NO CARRIER" should be returned to the screen. - If you do not hear a dial tone after the ATDT command, choose Communications from the Settings menu to make sure the correct COM port setting is selected. - If you do not see the text echoed back to the screen as you type the command, choose Terminal Preferences from the Settings menu and select the Local Echo option under Terminal Modes. If the fax modem does not work in Terminal, the modem may not be correctly configured for Windows. Gathering Information About Your Fax Modem ------------------------------------------ By entering Terminal and typing some commands, you can gather information about your fax modem. The following information can be helpful should you need to contact Microsoft Product Support Services: - The fax modem manufacturer and model. - The class of the fax modem. The class can be 1, 2, 2.0, or CAS. At Work PC Fax works with all but Class 2.0 fax modems. Some fax modems are both Class 1 and Class 2 compatible. To determine the class of fax modem, type the following command in Terminal: at+fclass=? This should return "0,1" or "0,2" or "0,1,2". This value indicates your fax modem is Class 1, Class 2, or both Class 1 and 2 compatible, respectively. - For information about the BIOS of the fax modem, type the following command in Terminal: ati where is a number 1-9. KBCategory: kbusage kbdisplay kbatwork kbhw kbtshoot KBSubcategory: wfw wincomm awfax wfwg Additional reference words: 3.11 tshoot Superguide Extended Error Code Information Article ID: Q74463 ---------------------------------------------------------------- ---- The information in this article applies to: - Microsoft MS-DOS operating system versions 3.x, 4.x, 5.0, 6.0, 6.2, 6.21, 6.22 ---------------------------------------------------------------- ---- SUMMARY ======= The following MS-DOS function provides detailed extended error information concerning a failed Interrupt 21H function call: Interrupt 21H Function 59H - Get Extended Error Information This routine returns codes named as the DOS extended error code, error class, recommended action, and error locus. - The extended error code identifies exactly what occurred. - The error class provides more information identifying the error based on the internal workings of the operating system. - The recommended action codes are suggestions meant to help but are not solutions. - The error locus codes attempt to provide information about the origin of the error or what device caused the error. MORE INFORMATION ================ The MS-DOS function returns the four codes in the following registers: AX Extended error code BH Error class BL Recommended action CH Error locus Extended Error Codes -------------------- Hex Decimal Meaning --- ------- ------- 01 01 Function number invalid 02 02 File not found 03 03 Path not found 04 04 Too many open files 05 05 Access denied 06 06 Handle invalid 07 07 Memory control blocks destroyed 08 08 Insufficient memory 09 09 Memory block address invalid 0A 10 Environment invalid 0B 11 Format invalid 0C 12 Access code invalid 0D 13 Data invalid 0E 14 Unknown unit 0F 15 Disk drive invalid 10 16 Attempted to remove current directory 11 17 Not same device 12 18 No more files 13 19 Write-protected disk 14 20 Unknown unit 15 21 Drive not ready 16 22 Unknown command 17 23 Data error (CRC) 18 24 Bad request-structure length 19 25 Seek error 1A 26 Unknown media type 1B 27 Sector not found 1C 28 Printer out of paper 1D 29 Write fault 1E 30 Read fault 1F 31 General failure 20 32 Sharing violation 21 33 File-lock violation 22 34 Disk change invalid 23 35 FCB unavailable 24 36 Sharing buffer exceeded 25-31 37-49 Reserved 32 50 Unsupported network request 33 51 Remote machine not listening 34 52 Duplicate name on network 35 53 Network name not found 36 54 Network busy 37 55 Device no longer exists on network 38 56 NetBIOS command limit exceeded 39 57 Error in network adapter hardware 3A 58 Incorrect response from network 3B 59 Unexpected network error 3C 60 Remote adapter incompatible 3D 61 Printer queue full 3E 62 Not enough room for print file 3F 63 Print file was deleted 40 64 Network name deleted 41 65 Network access denied 42 66 Incorrect network device type 43 67 Network name not found 44 68 Network name limit exceeded 45 69 NetBIOS session limit exceeded 46 70 Temporary pause 47 71 Network request not accepted 48 72 Print or disk redirection paused 49-4F 73-79 Reserved 50 80 File already exists 51 81 Reserved 52 82 Cannot make directory 53 83 Fail on Int 24H (critical error handler) 54 84 Too many redirections 55 85 Duplicate redirection 56 86 Invalid password 57 87 Invalid parameter 58 88 Net write fault Error Class Codes ----------------- Class Meaning ----- ------- 1 Out of resource 2 Temporary situation 3 Authorization 4 Internal 5 Hardware failure 6 System failure 7 Application program error 8 Not found 9 Bad format 10 Locked 11 Media 12 Already exist 13 Unknown Recommended Action Codes ------------------------ 1 Retry. If not cleared in reasonable number of attempts, prompt user to Abort or Ignore. 2 Delay then retry. If not cleared in reasonable number of attempts, prompt user to Abort or Ignore. 3 Get corrected information from user (bad filename or disk drive). 4 Abort application with cleanup. 5 Abort application without cleanup (cleanup may increase problems). 6 Ignore error. 7 Prompt user to correct error and then retry. Error Locus Codes ----------------- 1 Unknown 2 Block device (disk or disk emulator) 3 Network 4 Serial device 5 Memory related An application program may use the MS-DOS Interrupt 21H Function 59H call when a function call fails during the execution of the application. The program may take a number of possible different actions as a result, which could include retrying the function, aborting, or just displaying the DOS extended error code. For example, an application might display the following after a failed interrupt call: DOS extended error 27 /11 /4 /2 This represents: Extended error 27 Sector not found Error class 11 Media Recommended action 4 Abort application with cleanup Error locus 2 Block device (disk or disk emulator) KBCategory: kbhw kbdisplay kberrmsg KBSubcategory: msdos Additional reference words: 6.22 3.20 3.21 3.30 3.30a 4.00 4.01 5.00 6.00 6.20 EMM386 Troubleshooting and Technical Information Article ID: Q78557 ---------------------------------------------------------------- ---- The information in this article applies to: - Microsoft MS-DOS operating system versions 5.x, 6.0, 6.2, 6.21, 6.22 - Microsoft Windows operating system versions 3.1, 3.11 - Microsoft Windows for Workgroups versions 3.10, 3.11 ---------------------------------------------------------------- ---- SUMMARY ======= The following topics are discussed in this article: - Troubleshooting steps to use if EMM386.EXE locks up the machine - How EMM386.EXE locates UMBs and the EMS page frame: UMA scanning algorithm EMM386 and the E000 segment - Common EMS questions concerning the following: - "WARNING: Unable to set page frame base address--EMS unavailable" message - "Size of expanded memory pool adjusted" message - EMM386.EXE and Windows - EMM386.EXE version history NOTE: This information applies to the versions of EMM386.EXE included with MS-DOS, Microsoft Windows, and Microsoft Windows for Workgroups. MORE INFORMATION ================ IF EMM386.EXE LOCKS UP THE COMPUTER =================================== If EMM386.EXE locks up the computer, follow these troubleshooting steps: 1. If the DEVICE=EMM386.EXE in the CONFIG.SYS file contains the HIGHSCAN parameter, remove HIGHSCAN from the command, save the CONFIG.SYS file, and restart your computer. (HIGHSCAN cannot be used on some computers.) 2. Start EMM386.EXE with the exclude option. EMM386.EXE may have incorrectly identified an area being used by the system as a "hole" (a region that can be used as a UMB or an EMS page frame). As a result, EMM386.EXE overwrites a portion of memory that is used by a hardware adapter in your computer. By excluding addresses in the range A000-EFFF, EMM386.EXE does not use any part of the excluded region for a UMB or EMS page frame. Identifying the correct region(s) to exclude requires experimentation. Start by excluding a large region and then reducing the size of the region. For example: DEVICE=EMM386.EXE NOEMS X=A000-EFFF DEVICE=EMM386.EXE NOEMS X=C000-DFFF DEVICE=EMM386.EXE NOEMS X=C800-CFFF You can use multiple exclusions on the EMM386.EXE device line. For example: DEVICE=EMM386.EXE NOEMS X=C000-C7FF X=E000-EFFF Refer to the documentation included with your hardware device(s) for information on the upper memory addresses the adapter card uses. Examples of devices that use upper memory addresses include network cards, SCSI adapters, video cards, and scanners. 3. If your computer has a SCSI disk controller and requires a device driver for the SCSI adapter, be sure the DEVICE= line for the SCSI driver appears before the DEVICE=EMM386.EXE line. Examples of SCSI device drivers include ASPI4DOS.SYS and USPI14.SYS. 4. If you are experiencing problems with the computer hanging, try loading the SMARTDrive double buffer driver. NOTE: The SMARTDrive double buffer driver line should appear before the DEVICE=EMM386.EXE line in the CONFIG.SYS file. MS-DOS 6.0 or later, Windows 3.1 or later, or Windows for Workgroups -------------------------------------------------------------------- If you use MS-DOS 6.0 or later, Microsoft Windows 3.1 or later, or Microsoft Windows for Workgroups the SMARTDrive double buffer driver is loaded from the CONFIG.SYS file as follows: device=c:\windows\smartdrv.exe /double_buffer In the AUTOEXEC.BAT file, add a /L to the end of the SMARTDRV.EXE line. For example: c:\windows\smartdrv.exe /L If the problems persist, add a plus sign (+) to the end of the double buffer device line as follows: device=c:\windows\smartdrv.exe /double_buffer+ MS-DOS 5.x ---------- If you use the SMARTDRV.SYS driver included with MS-DOS 5.x the SMARTDrive double buffer driver is loaded in the CONFIG.SYS as follows: device=c:\dos\smartdrv.sys /b+ 5. Experiment with different HIMEM.SYS A20 handlers. This is done using the /MACHINE: switch on the HIMEM.SYS device line. For information on the HIMEM.SYS /MACHINE: switch and troubleshooting A20 handler problems: - Consult your MS-DOS, Windows, or Windows for Workgroups documentation -or- - Query on the following words in the Microsoft Knowledge Base: tshoot and himem.sys and control and a20 line HOW EMM386.EXE LOCATES UMBs AND THE EMS PAGE FRAME ================================================== UMA Scanning Algorithm ---------------------- By default EMM386.EXE scans the following UMA region: MS-DOS 5.0: C800-DFFF Windows 3.1, Windows for Workgroups 3.1: C600-DFFF MS-DOS 6.0 and later, Windows for Workgroups 3.11 and later: C000-EFFF NOTES: The E000-EFFF region is handled differently on certain hardware (see the following section). Under MS-DOS 6.0 and later and Windows for Workgroups 3.11, the F000-F7FF range can be included by using the HIGHSCAN switch. EMM386.EXE and the E000 Segment ------------------------------- On Compaq machines, the E000 segment has either shadow RAM or the segment is unused. For shadow RAM, the shadow area is reclaimed by EMM386.EXE if the Int 10 vector has not been hooked before EMM386.EXE loads. This is because the shadow region contains a remapped copy of the video ROM from the C000 region. EMM368.EXE excludes E000 on MCA machines (IBM PS/2s) since the E000 segment has the system ROM. On other machines, E000 may be excluded by default. If you think the E000 range is available, you can explicitly include the E000 segment by adding I=E000-EFFF to the DEVICE=EMM386.EXE command in the CONFIG.SYS file. NOTE: When EMM386.EXE encounters the include switch, it includes the region without scanning it for potential conflicts. COMMON EMS ISSUES ================= WARNING: Unable to Set Page Frame Base Address--EMS Unavailable --------------------------------------------------------------- This error is displayed if EMM386.EXE cannot locate a 64K contiguous "hole" in the UMA for the EMS page frame. According to the LIM 3.2 specification, a page frame consists of four contiguous 16K pages, and a LIM provider must set the page frame. According to the LIM 4.0 specification, an EMS provider need not set a 64K page frame, but it should set a 16K page at the minimum. Although EMM386.EXE conforms to the LIM 4.0 specification, it does not load as an EMS provider if it does not find a 64K contiguous hole that can be used for the page frame. This is because the majority of LIM 3.2 applications assume the existence of a page frame. EMM386.EXE can be forced to load without a LIM 3.2 (64K) page frame by using the Pn parameters. If you force EMM386.EXE to load as a LIM 4.0 provider, do not attempt to run LIM 3.2 applications. Consult with your application vendor to determine the required LIM version. NOTE: If you require a LIM 3.2 (64K) page frame, it may be necessary to modify the settings on your hardware devices to free a contiguous, 64K region in the UMA. Size of Expanded Memory Pool Adjusted ------------------------------------- This error message is displayed if EMM386.EXE cannot provide all the EMS memory requested on the command line. For example, if you use the DEVICE=EMM386.EXE 2048 and your computer only has 1024K of XMS memory, EMM386.EXE displays this error message and provides as much EMS as possible. (Note that EMM386.EXE uses some XMS memory for its own code and data, and this reduces the amount of XMS memory available for EMS.) Windows Cannot Provide EMS with the NOEMS Switch ------------------------------------------------ According to the LIM 4.0 specification, an EMS page can also reside in conventional memory (0-640K). The EMM386 EMS line starts at 256K by default. If the NOEMS option is specified, all the holes in the adapter region A000-FFFF are used for UMBs, and EMM386.EXE does not provide any EMS. Once Windows 3.0 is started and an MS-DOS session is started, EMM386.EXE may or may not be able to provide EMS. If Windows is running in 386 enhanced mode, EMM386.EXE can provide EMS in an MS-DOS session; however, the EMS pages are in conventional memory. This can cause problems because of the behavior of LIM 3.2 applications as described above. In a Windows 3.1 386 enhanced mode MS-DOS session, EMS is not provided. EMM386.EXE VERSION HISTORY ========================== MS-DOS 5.0 4.20 MS-DOS 5.00a 4.33 MS-DOS 6.0 4.45 MS-DOS 6.2 4.48 MS-DOS 6.21 4.48 MS-DOS 6.22 4.49 Windows 3.1 4.44 Windows 3.11 4.44 Windows for Workgroups 3.1 4.44 Windows for Workgroups 3.11 4.48 Some of the products included here are manufactured by vendors independent of Microsoft; we make no warranty, implied or otherwise, regarding the performance or reliability of these products. KBCategory: kb3rdparty kbdisplay kbtshoot kbtlc KBSubcategory: msdos wfwg wfw win31 Additional reference words: 6.22 5.00 5.00a 6.00 6.20 3.10 tshoot 3rdparty freeze stop lock conflict Windows 3.1 Setup Error Codes (S208 through S214) Article ID: Q82771 ---------------------------------------------------------------- The information in this article applies to: - Microsoft Windows operating system versions 3.1, 3.11 ---------------------------------------------------------------- SUMMARY ======= When a Setup error message contains an error code, it also includes some text indicating what Setup was trying to do, for example, copying a file. The text of the error message indicates whether the error is fatal or not. In some nonfatal cases, Setup may be performing an operation (such as copying a file) that is needed to run Microsoft Windows. Other times the error may prevent some specific feature of Windows from operating properly. In many cases, the error code is an MS-DOS extended error code. These error codes are between 0 and 100. Setup-specific error codes have two different formats, depending on whether the error occurs during the character (MS- DOS) mode or the Windows graphical user interface (GUI) mode portion of Setup. The character mode Setup-specific error numbers are in the format "Snnn", where "nnn" is any three-digit number. The GUI mode error numbers are codes greater than 200. MORE INFORMATION ================ GUI Mode Setup Error Codes -------------------------- 208 Out of disk space during file copy in VerInstallFile. Because of the disk space checks that Setup does, this problem should occur only if you have upgraded over an invalid Windows installation (that is, files have been deleted manually). Make sure there is enough disk space and then run Setup again. Also make sure that VER.DLL does not exist in the WINDOWS directory. It should only be in the WINDOWS\SYSTEM directory. 209 File in use. This error occurs if some file that needs to be replaced by Setup is in use or opened by another some other software. Make sure Setup is the only application running or exit Windows and run Setup from the MS-DOS prompt. 210 Destination file is write-protected. Type ATTRIB -r at the MS-DOS prompt, where is the indicated file and run Setup again. This problem may also be caused by virus- protection software, in which case, this software should be disabled while running Setup. 211 Buffers allocated for file expansion operations are too small. This error should never occur. If it does, free up some memory and run Setup again. 212 Unknown version mismatch happened during attempt to install file. This problem can be caused by the incorrect version of VER.DLL running or by corrupt files. Make sure you do not have VER.DLL in your WINDOWS directory. It should only be in the WINDOWS\SYSTEM directory. 213 File expansion initialization failed. This problem is probably due to insufficient memory. 214 Source file is unreadable. This problem is probably due to drive hardware problems, corrupt files or disks, or, if you are setting up from a network, network problems. Setup error 214 can also be caused by incorrect CMOS settings for floppy drives or third party extended memory managers. KBCategory: kbsetup kberrmsg KBSubcategory: win31 Additional reference words: 3.10 3.11 qemm winfest Windows 3.1 Hardware Compatibility List Article ID: Q83210 ---------------------------------------------------------------- ---- The information in this article applies to: - Microsoft Windows operating system version 3.1 ---------------------------------------------------------------- ---- SUMMARY ======= The Hardware Compatibility Test (HCT) is a series of tests run from a shell within Microsoft Windows version 3.1. The tests are run in standard mode only for 80286-based systems, and in both standard and 386 enhanced mode for 80386- or 80486-based systems. The tests evaluate such things as: - Memory-resident programs - Screen display - Interpretation of keystrokes and mouse actions - Performance of selected tasks within Windows File Manager and Windows Print Manager The HCT includes additional tests for computers with math coprocessors and multimedia capabilities. If the results of the HCT show that the system has satisfactorily passed compatibility requirements, the system may be added to the Windows HCL and can display the Windows Compatible logo. The following computers, displays, printers, networks, pointing devices and keyboards have been certified for use with Microsoft Windows version 3.1. This list was current at the time it was published (4/92). Additional systems may have been certified subsequent to publication and may not be listed below. MORE INFORMATION ================ Computers Compatible with Windows Version 3.1 --------------------------------------------- :3C! PRO 3 :3C! PRO4 :3C! Slim 386 C :3C! Slim 386 X :3C! Slim 486 C :3C! Slim 486 X Acer 1100/33 Acer 1120SX Acer 1125E AcerAnyware 386S AcerFrame 3000SP AcerMate 386/33 AcerPower 386SX AcerPower 486/33 AcerPower 486SX AcerPower 500/20 AcerPower 500/33 Acros 340 Acros 400 Acros 525 Acros 615 Acros 620 Acros 723 Add-X AS 316sx Add-X AS 320sx Add-X AS 450 ADLER ROYAL P45 AEG Olystar 70 H20V Alcatel 701/33 Alcatel 701/33 Alcatel 7100/33 Alcatel 7100/33 Alcatel 801/20 Alcatel 801/20 Alcatel 8100/20 Alcatel 8100/20 Alcatel 8551 Alcatel 8551 Alcatel