Chapter 1 Advanced Information 1.1 IRQ conflicts: Or why your system acts like it has the shakes. IRQ conflicts are a hidden source of numerous nasty problems with running DOS. As more and more hardware is installed in the backplane, the chances of a conflict are very high. Herewith follow Firefly Software's "rules of thumb". Get rid of internal fax and modem cards. Make external any hardware that can be. Turn OFF the IRQ for LPT1 & 2. The IRQ is not needed unless you use the printer ports for 2 way processing, and very few installations do. Ordinary printing does not use bi-directional transmissions. Remove the IRQ from COM2. Since I use COM2 only for a debug dump line, consequently it does not seem to suffer from having the IRQ turned off. These measures will free IRQs 3,5,7. Consult your hardware manual for instructions on how to disable the IRQ's. Usually they are turned on/off by dip switches. 1.2 Expanded Memory (EMS): Or how to get along without knowing what you are doing until the hair is all gone. This comes under the heading of topics that you think you know, what is going on. But in reality the tip of the iceberg is all that is really visible. Stand here at the edge, and peer down into the depths. The wonders to behold. There are basically 3 memory managers. 1. 386Max 2. QEMM 3. EMM386 The following information is NOT inclusive, in that the material will be confined as much as possible to EMS, and only 386 machines. These memory manager provide control of EMS, XMS and UMB. 1. Expanded Memory 2. Extended Memory 3. Upper Memory Blocks In general, if the memory manager provides EMS, it will also provide the same total space as XMS memory, if requested. This means that 1 meg of space can be used as EMS or XMS. Requests for both being drawn from the same pool, up to a combined total of 1 meg. If EMS is turned off, or inactive, there will not be any XMS. If the UMB is turned on then the manager will provide upper memory blocks for use by DOS. If the memory manager is not loaded into memory it is the same as if the manager were turned off. Except, in some cases EMS API calls will appear to succeed, if loaded but not active. If MS Windows is loaded after these memory managers, it turns them off and provides the support. Except, there will no UMB support if it was turned off prior to Windows' loading. This means that Windows will provide EMS and XMS even when the other memory managers were not loaded or active before Windows started up. If the NoEMMDriver switch is TRUE in system.ini, then Windows will not provide EMS or XMS support. Even if a PIF file provides such. A DOS application which fails to open "EMMXXXX0" and check the returned file handle to see if it is a device, and subsequently attempts to make EMS calls may experience calls that may or MAY NOT fail. Some older EMS using programs do not check this properly. When they fail, it is likely to be with a General Protection Fault! - 2 - A DOS application running in Windows, where the PIF did not provide any EMS will sometimes report a page frame segment of B000 hex! Configuration parameters in effect before Windows starts will be taken over by Windows. You can not override these parameters with those in system.ini. ************************************************* There may be mistake in the text above, in that Windows will not provide EMS if there was no EMS frame enabled before Windows was started. - 3 - Contents Chapter 1 Advanced Information 1 1.1 IRQ conflicts: Or why your system acts like it has the shakes. . . . . . . . . . . . . . . . 1 1.2 Expanded Memory (EMS): Or how to get along without knowing what you are doing until the hair is all gone. . . . . . . . . . . . . . . 1 i