home *** CD-ROM | disk | FTP | other *** search
/ Black Box 4 / BlackBox.cdr / desqview / qwhite.arj / DRDOS6.TEC < prev    next >
Text File  |  1992-03-09  |  15KB  |  287 lines

  1. ID:DR DR-DOS 6 and Quarterdeck Products
  2. Quarterdeck Technical Note #215
  3. By:  Quarterdeck Testing & Compatibility Department 
  4. last revision:  13 February 1992
  5.  
  6.                        DR-DOS 6 & QUARTERDECK PRODUCTS
  7.  
  8.      DR-DOS 6 is an operating system alternative to MS-DOS 5.00.  It claims to 
  9. be completely compatible with MS-DOS 5.00 and offer enhancements.  Its memory 
  10. manager has more capabilities.  Quarterdeck has had no experiences that call 
  11. into question its MS-DOS compatibility.  This technote will only address the 
  12. issue of compatibility with Quarterdeck products.
  13.  
  14. QUARTERDECK MEMORY MANAGERS AND ENHANCER AND DR-DOS 6
  15.  
  16.      This section of the technote will address general features common to 
  17. memory management/enhancement of all three Quarterdeck memory manager/enhancer 
  18. products:  QEMM-386, QEMM-50/60, and QRAM.
  19.  
  20.          1)  HIDOS=ON is a CONFIG.SYS instruction in DR-DOS that causes 
  21.     the kernel to be loaded into a UMB or the HMA.  This instruction 
  22.     also allows the internal features of DR-DOS that load themselves 
  23.     high in the CONFIG.SYS (BUFFERS, Drive Specifiers, HISTORY, 
  24.     FASTOPEN) to do so as well.  This must be used with QEMM-386, QEMM 
  25.     50/60, or QRAM for the kernel and these features to be loaded high 
  26.     if you do not use DR's memory manager.  The default is HIDOS=OFF so 
  27.     HIDOS=ON must be used to load these features high.  The DR-DOS 
  28.     manual says that HIDOS=ON cannot be used with third-party memory 
  29.     managers but our experience at Quarterdeck is that it works just 
  30.     fine.
  31.          If you wish, you may use DEVICE=C:\DRDOS\HIDOS.SYS in the 
  32.     CONFIG.SYS in addition to HIDOS=ON.  This gives you the option of 
  33.     telling the kernel where to load:  
  34.        
  35.          device=c:\drdos\hidos.sys /bdos=auto 
  36.  
  37.     loads the kernel into the first UMB at least 37K large;
  38.       
  39.          device=c:\drdos\hidos.sys /bdos=xxxx
  40.  
  41.     where "xxxx" is a hexadecimal address below FFFF loads the kernel at 
  42.     that address;
  43.  
  44.          device=c:\drdos\hidos.sys /bdos=ffff
  45.  
  46.     loads the kernel into the HMA.  
  47.          HIDOS.SYS uses no memory to remain resident so no memory is 
  48.     lost by using it in addition to HIDOS=ON, nor is there any 
  49.     reason to load it high.  HIDOS.SYS must be loaded after QEMM-
  50.     386 to load the kernel into a UMB or the HMA.  It must be 
  51.     loaded after QEMM-50/60 or QRAM to load the kernel into a 
  52.     UMB.  It must be loaded after QEXT.SYS on a 286 system to 
  53.     load the kernel into the HMA. 
  54.  
  55.          DR-DOS has an advantage over MS-DOS 5 in that it allows the 
  56.     kernel to be loaded into a UMB as well as into the HMA.  Since the 
  57.     kernel does not use the whole HMA this allows users with HMA users 
  58.     that use a larger portion of the HMA (DESQview is the only program 
  59.     that uses the entire HMA.) to have more conventional memory if they 
  60.     load the kernel into a UMB rather than the HMA.
  61.  
  62.         2)  LOADHI.SYS will not load HISTORY or FASTOPEN because they 
  63.     are internal instructions to DR-DOS.  This causes no problems 
  64.     because OPTIMIZE makes not attempt to load them high.  DR-DOS can load 
  65.     them high itself
  66.  
  67.         3)  HIBUFFERS is the DR-DOS command to load buffers into the 
  68.     HMA.  It will use the HMA even if the kernel is not loaded in the 
  69.     HMA.  The BUFFERS command of DR-DOS causes the buffers to be loaded 
  70.     into UMBs (If HIDOS=ON is set.)  Each buffer takes an individual 
  71.     UMB.  The BUFFERS.COM program from Quarterdeck works with DR-DOS; 
  72.     using the LOADHI.COM program with BUFFERS.COM will cause the buffers 
  73.     to be loaded into a single UMB.  Use HIBUFFERS only if you are 
  74.     loading the DR-DOS kernel into the HMA, otherwise the HMA will be 
  75.     used for nothing but buffers.  
  76.  
  77.         4)  HILOAD, HIDEVICE, and HINSTALL are the DR-DOS internal 
  78.     commands that load TSRs and device drivers high.  They do not work 
  79.     with QEMM-386, QEMM-50/60, or QRAM.  LOADHI.COM, LOADHI.SYS, and 
  80.     INSTALL=LOADHI.COM/TSR, which, respectively, perform the same 
  81.     functions, should be used instead. 
  82.  
  83.         5)  SSTORDRV.SYS is a disk-compression utility that DR bundles 
  84.     with DR-DOS.  It loads part of itself high.  The remainder cannot be 
  85.     loaded high, either with QEMM-386, QEMM-50/60, QRAM, or DR-DOS's 
  86.     EMM386.SYS.  If you use EMM386.SYS it merely loads low without 
  87.     notification; if you use QEMM-386 and LOADHI.SYS it does not load at 
  88.     all.  OPTIMIZE will try to load it high, this must be reversed, or 
  89.     as an alternative, SSTORDRV.SYS may be entered in the file 
  90.     OPTIMIZE.EXC, keeping OPTIMIZE from trying to load it high.
  91.      
  92.        6)  There are other DR-DOS utilities that load themselves high, 
  93.     such as SUPER PC-KWIK and DELWATCH.  They are polite enough to allow 
  94.     LOADHI.COM to load them high in the same manner as they themselves 
  95.     would load themselves high; this allows them to be included by 
  96.     OPTIMIZE in its calculations.  This is done automatically and does 
  97.     not require any attention from the user.  
  98.  
  99. OPTIMIZE
  100.      Brilliant Quarterdeck technicians have discovered an easier method for 
  101. using OPTIMIZE with SUPERSTORE.  See below.     
  102.           
  103.         1)  There is a new command, CHAIN, in DR-DOS.  This command 
  104.     allows the CONFIG.SYS to pass control to another CONFIG.SYS-like 
  105.     file.  DR-DOS uses it on installation if you choose to install 
  106.     SUPERSTORE.  OPTIMIZE does not follow this passing of control to 
  107.     another file.  If you are using CHAIN you must combine the two (or 
  108.     more) CONFIG.SYS (or CONFIG.SYS-like) files into one for the 
  109.     duration of the OPTIMIZation process.
  110.  
  111.         2)  The kernel of DR-DOS, sstordrv.sys, and buffers load 
  112.     themselves high.  OPTIMIZE does not take the High RAM used by self-
  113.     loaders high into consideration in its calculations so this can 
  114.     throw it off making the best configuration.  See the READ.ME file 
  115.     for information on how best to accommodate self-high-loaders.  
  116.     Quarterdeck's BUFFERS.COM program works with DR-DOS 6 and OPTIMIZE 
  117.     will automatically try to use it to load BUFFERS high.  This is 
  118.     preferable because the memory used by BUFFERS will be included in 
  119.     OPTIMIZE's calculations.     
  120.  
  121.         3)  SUPERSTORE does work with OPTIMIZE, but SUPERSTORE adds a 
  122.     device driver to your CONFIG.SYS called DEVSWAP.COM.  The line 
  123.     typically reads: 
  124.  
  125.                      DEVICE=C:\DRDOS\DEVSWAP.COM 
  126.  
  127.          DEVSWAP.COM is a non-resident program that switches the drive 
  128.     designations. This is a convenience if you installed SUPERSTORE on a 
  129.     drive that already had programs so you don't have to re-write your 
  130.     batch files and reconfigure your software to run from a different 
  131.     drive.  See your DR-DOS manual for information on the use of 
  132.     DEVSWAP.COM.  Most commonly your hard disk originally was drive C:.  
  133.     SUPERSTORE creates a new, compressed drive, to which the letter D: 
  134.     is assigned.  DEVSWAP.COM switches these assignments.  This will be 
  135.     presumed for the rest of this section of this explanation of how to 
  136.     use OPTIMIZE with SUPERSTORE.   If you are compressing more than one 
  137.     physical drive you must modify this information in consideration of 
  138.     the compressed drives created and designations swapped.   
  139.          When running OPTIMIZE, DEVSWAP.COM must be remarked out or 
  140.     removed from the CONFIG.SYS.  Also all references to drives C: in 
  141.     the AUTOEXEC.BAT and in the CONFIG.SYS after the DEVSWAP.COM line 
  142.     need to be changed to drive D:.  Conversely, all references to drive 
  143.     D: should be changed to drive C:. 
  144.  
  145.          The next step is to create a QEMM sub-directory on the 
  146.     uncompressed drive.  This is typically drive D: when the DEVSWAP.COM 
  147.     device driver is loaded in your CONFIG.SYS.  The following files 
  148.     need to be in the QEMM sub-directory in order to run OPTIMIZE 
  149.     properly:  QEMM386.SYS (or QEMM.SYS if you are running QEMM-50/60 or 
  150.     QEMM-386 version 5.0, or QRAM.SYS if you are loading QRAM), 
  151.     OPTIMIZE.COM, LOADHI.SYS, LOADHI.COM, LOGOPT.COM, BUFFERS.COM (if 
  152.     you are using DOS 2.x or 3.x), RSTRCFG.SYS, MCA.ADL (if you are 
  153.     running on a Microchannel machine), and WINHIRAM.VXD if you are 
  154.     planning on running Windows 3.0 in enhanced mode.
  155.           Once you have done this, you should reboot before running 
  156.     OPTIMIZE so that the drives are set up correctly.  Now you will be 
  157.     able to run OPTIMIZE normally.  After OPTIMIZE has run, you may edit 
  158.     your CONFIG.SYS and restore the DEVSWAP.COM line.  After you do 
  159.     this, you must edit your CONFIG.SYS and AUTOEXEC.BAT to restore the 
  160.     drive specifications to what they were before; e.g. change all 
  161.     references to drive D: to drive C: and all references to drive C: to 
  162.     drive D:.  As mentioned above, if SSTORDRV.SYS is being loaded high, 
  163.     you must change  it to load low because it won't work when loaded 
  164.     high.  Reboot again.  You are now getting the most out of your 
  165.     conventional memory.
  166.  
  167. AN ALTERNATIVE METHOD FOR USING OPTIMIZE WITH DR-DOS'S SUPERSTOR
  168.  
  169. Start with QEMM386.SYS (or QEMM.SYS or QRAM.SYS) on an uncompressed drive.  
  170. Leave about one megabyte of space on the uncompressed drive.  No other 
  171. Quarterdeck files but QEMM386.SYS (or QEMM.SYS or QRAM.SYS) are needed from 
  172. the QEMM directory.
  173.  
  174. The first line in DCONFIG.SYS, which is the config.sys first read on bootup, 
  175. should be DEVICE=C:\QEMM\QEMM386.SYS RAM, assuming that QEMM386.SYS is in the 
  176. QEMM directory of the same drive that DCONFIG.SYS is on.  The entire 
  177. DCONFIG.SYS will normally be
  178.  
  179. DEVICE=C:\QEMM\QEMM386.SYS RAM
  180. DEVICE=C:\DRDOS\SSTORDRV.SYS
  181. DEVICE=C:\DRDOS\DEVSWAP.COM
  182. CHAIN=C:\CONFIG.SYS
  183.  
  184. Now, move DEVICE=C:\QEMM\QEMM386.SYS to the CONFIG.SYS chained to from 
  185. DCONFIG.SYS. 
  186.  
  187. MAKE CERTAIN THAT THE QEMM DEVICE LINE IS NO LONGER IN DCONFIG.SYS.
  188.  
  189. Run OPTIMIZE.
  190.  
  191. When you're through running OPTIMIZE, move the DEVICE=C:\QEMM\QEMM386.SYS line 
  192. back to the DCONFIG.SYS file. 
  193.  
  194. That's all there is to it.  You don't have to get rid of DEVSWAP or change the 
  195. drive mappings. 
  196.  
  197. GENERAL CONSIDERATIONS
  198.  
  199.     LASTDRIV.COM 
  200.          Lastdriv.com is a program that comes with QEMM-386, QEMM- 
  201.     50/60, and QRAM that allows drive specifiers to be loaded 
  202.     at the DOS prompt.  This allows QEMM-386, QEMM-50/60, and QRAM to 
  203.     load them high.  DR-DOS 6 does not seem to recognize drive 
  204.     specifiers loaded by Lastdriv.com, whether loaded high or low.
  205.          DR-DOS loads its drive specifiers high by itself, when 
  206.     the HIDOS=ON instruction is used, so Quarterdeck's 
  207.     Lastdriv.com is not necessary to load drive specifiers high.
  208.  
  209.     STACKS 
  210.         Unlike MS and IBM DOS, there are no DOS stacks in DR-DOS 6.  
  211.     There are programs that may malfunction when DOS does not allocate 
  212.     stacks, such as Ventura running in QEMM-386 with Stealth.  Such 
  213.     users must contact DR to request that they add a STACKS feature to their 
  214.     operating system. 
  215.  
  216. QEMM-386
  217.      QEMM-386 provides all the memory management capabilities of EMM386.SYS, 
  218. plus creating more High RAM through the Stealth feature, having OPTIMIZE to 
  219. automatically configure your system to use that High RAM most efficiently, and 
  220. Manifest, the system diagnostic utility.  Microsoft Windows can be run in 
  221. standard mode with QEMM-386 while QEMM creates High RAM and provides Expanded 
  222. memory.  Windows cannot run in standard mode with DR-DOS's EMM386.SYS if it 
  223. creates any High RAM, and its Expanded memory manager is turned off while you 
  224. are in standard mode.
  225.  
  226. QRAM
  227.      DR-DOS creates UMBs on the same hardware that QRAM creates them on: EMS 
  228. cards that map address space outside the page frame and above conventional 
  229. memory, and the same varieties of ShadowRAM (NEAT, LEAP, SCAT, and AT/386) so 
  230. that QRAM is not necessary to create UMBs or load anything high on DR-DOS.  
  231. QRAM does come with OPTIMIZE, which allows you to configure your config.sys 
  232. and autoexec.bat automatically so that the most possible resident programs are 
  233. loaded high and Manifest, Quarterdeck's system diagnostic utility.
  234.  
  235. QEMM-50/60
  236.      DR-DOS comes with an Expanded Memory Manager for XMA boards which creates 
  237. Expanded Memory on some of the same cards that QEMM-50/60 works on.  It does 
  238. not create any UMBs (High RAM) though so users of these boards need QEMM-50/60 
  239. in order to load programs high.  
  240.  
  241. VIDRAM
  242.      DR-DOS comes with a program called MEMMAX that allows the user to turn 
  243. off the extending of conventional memory into the video area if previously 
  244. mapped by their memory manager.  This feature does not work without their 
  245. memory manager.  VIDRAM works just fine.  Users of any Quarterdeck memory 
  246. manager or enhancer should use VIDRAM instead of MEMMAX.
  247.  
  248. MANIFEST
  249.         1)  For purposes of identifying its level of API support, DR-DOS 
  250.     reports itself as version 3.31 of DOS.  It loads an environment 
  251.     variable that causes VER to report that it is DR-DOS version 6 but 
  252.     MANIFEST reports its response to the DOS API call that identifies 
  253.     the version for API purposes.  For all programming purposes, DR-DOS 
  254.     6 is version 3.31.  There is no SETVER command, nor is it 
  255.     necessary.
  256.         2)  DR-DOS converts FCBS to FILE handles so MANIFEST and 
  257.     FILES.COM will report the total number of FILE handles to be the sum 
  258.     of the two.  The minimum number of FILE handles is 20 and the 
  259.     minimum number of FCBS is 4.  This conflation of FCBS and 
  260.     FILE handles causes Manifest to report that there is only one
  261.     FCB.  MANIFEST reports that there is only one FCBS but it is 
  262.     mistaken. 
  263.  
  264. DESQVIEW
  265.  
  266.         1)  The HISTORY feature does not work inside DESQview.  There 
  267.     is no work-around.
  268.         2)  DR-DOS allows the kernel and buffers to be loaded into UMBs. 
  269.     It also allows them to be loaded into the HMA.  DESQview uses the 
  270.     entire HMA while DR-DOS cannot.  (DR-DOS's kernel uses 37K, and 
  271.     HIBUFFERS can fit only 35 buffers into the HMA along with the 
  272.     kernel.  Each buffer uses .5K when loaded into a UMB or low, so DR-
  273.     DOS can use only 54.5K of the HMA, 9.5K less than DESQview.)  Since 
  274.     the HMA cannot be shared, any unused portion is wasted.  DESQview 
  275.     users will have more memory available if DESQview uses the HMA 
  276.     rather than DR-DOS.
  277.         3)  The task switcher, TaskMAX, will not run in DESQview.  
  278.     There is no work-around.
  279.         4)  There is no SETVER command, nor is it necessary, as 
  280.     explained in the MANIFEST section of this technote.
  281.  
  282.   ************************************************************************
  283.   *This technical note may be copied and distributed freely as long as it*
  284.   *is distributed in its entirety and it is not distributed for profit.  *
  285.   *         Copyright (C) 1991-2 by Quarterdeck Office Systems           *
  286.   ************************ E N D   O F   F I L E *************************
  287.