home *** CD-ROM | disk | FTP | other *** search
/ Stars of Shareware: Programmierung / SOURCE.mdf / programm / msdos / basic / siqb10 / sysinfo.doc < prev    next >
Encoding:
Text File  |  1994-03-08  |  71.7 KB  |  2,222 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.                       S Y S T E M  I N F O  L I B R A R Y
  18.                               For QuickBASIC 4.0+ 
  19.                                   Version 1.0
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.                      Copyright (C) 1994 By Paul Lapsansky
  54.                               ALL RIGHTS RESERVED
  55.  
  56.  
  57.  
  58.  
  59.  
  60.          i. CONTENTS
  61.  
  62.              i.   CONTENTS. . . . . . . . . . . . . . . . . . . . . . 2 
  63.  
  64.              I.   INTRODUCTION. . . . . . . . . . . . . . . . . . . . 5
  65.                   A.  What is supported . . . . . . . . . . . . . . . 5
  66.                   B.  Registration. . . . . . . . . . . . . . . . . . 5
  67.                   C.  Disclaimer. . . . . . . . . . . . . . . . . . . 5
  68.  
  69.              II.  SYSTEM FUNCTIONS. . . . . . . . . . . . . . . . . . 6
  70.  
  71.                   A. DISPLAY. . . . . . . . . . . . . . . . . . . . . 7
  72.                      1. GETCRT. . . . . . . . . . . . . . . . . . . . 7
  73.                      2. GETVESA . . . . . . . . . . . . . . . . . . . 7
  74.                      3. GETVIDEO. . . . . . . . . . . . . . . . . . . 7
  75.  
  76.                   B. DOS. . . . . . . . . . . . . . . . . . . . . . . 9
  77.                      1. CHKANSI . . . . . . . . . . . . . . . . . . . 9
  78.                      2. CHKAPPEND . . . . . . . . . . . . . . . . . . 9
  79.                      3. CHKASSIGN . . . . . . . . . . . . . . . . . . 9
  80.                      4. CHKDISPLAY. . . . . . . . . . . . . . . . . . 9
  81.                      5. CHKDOSHIGH. . . . . . . . . . . . . . . . . .10
  82.                      6. CHKDOSKEY . . . . . . . . . . . . . . . . . .10
  83.                      7. CHKDRIVER . . . . . . . . . . . . . . . . . .10
  84.                      8. CHKEGA. . . . . . . . . . . . . . . . . . . .11
  85.                      9. CHKGRAFTABL . . . . . . . . . . . . . . . . .11
  86.                      10. CHKGRAPHICS. . . . . . . . . . . . . . . . .11
  87.                      11. CHKKEYB. . . . . . . . . . . . . . . . . . .11
  88.                      12. CHKNLSFUNC . . . . . . . . . . . . . . . . .12
  89.                      13. CHKPRINT . . . . . . . . . . . . . . . . . .12
  90.                      14. CHKSHARE . . . . . . . . . . . . . . . . . .12
  91.                      15. CHKSHELLB. . . . . . . . . . . . . . . . . .12
  92.                      16. CHKXMA2EMS . . . . . . . . . . . . . . . . .13
  93.                      17. GET4DOSV . . . . . . . . . . . . . . . . . .13
  94.                      18. GETDOSOEM. . . . . . . . . . . . . . . . . .13
  95.                      19. GETDOSV. . . . . . . . . . . . . . . . . . .14
  96.                      20. GETDRDOSV. . . . . . . . . . . . . . . . . .14
  97.                                                                         
  98.                   C. DRIVES . . . . . . . . . . . . . . . . . . . . .16
  99.                      1. CDROM . . . . . . . . . . . . . . . . . . . .16
  100.                      2. CHKREMOTE . . . . . . . . . . . . . . . . . .16
  101.                      3. CHKREMOVABLE. . . . . . . . . . . . . . . . .16
  102.                      4. GETAVAILDRVS. . . . . . . . . . . . . . . . .17
  103.                      5. GETDRVINFO. . . . . . . . . . . . . . . . . .17
  104.                      6. GETDRVSPACE . . . . . . . . . . . . . . . . .17
  105.                      7. GETFLOPPY . . . . . . . . . . . . . . . . . .18
  106.                      8. GETFLOPTYPE . . . . . . . . . . . . . . . . .18
  107.                      9. ISCDROM . . . . . . . . . . . . . . . . . . .18
  108.                      10. ISDBLSPACE . . . . . . . . . . . . . . . . .19
  109.                      11. ISSTACKER. . . . . . . . . . . . . . . . . .19
  110.  
  111.                                   - 2 -
  112.  
  113.  
  114.  
  115.  
  116.  
  117.                   D. HARDWARE . . . . . . . . . . . . . . . . . . . .21
  118.                      1. BIOSDATE. . . . . . . . . . . . . . . . . . .21
  119.                      2. CHKENHKEYB. . . . . . . . . . . . . . . . . .21
  120.                      3. GETCOM. . . . . . . . . . . . . . . . . . . .21
  121.                      4. GETCPU. . . . . . . . . . . . . . . . . . . .21
  122.                      5. GETFEATURES . . . . . . . . . . . . . . . . .22
  123.                      6. GETID . . . . . . . . . . . . . . . . . . . .22
  124.                      7. GETLPT. . . . . . . . . . . . . . . . . . . .23
  125.                      8. GETNPU. . . . . . . . . . . . . . . . . . . .23
  126.  
  127.                   E. MEMORY . . . . . . . . . . . . . . . . . . . . .24
  128.                      1. CHKDPMI . . . . . . . . . . . . . . . . . . .24
  129.                      2. CHKEMS. . . . . . . . . . . . . . . . . . . .24
  130.                      3. CHKVCPI . . . . . . . . . . . . . . . . . . .24
  131.                      4. CHKXMS. . . . . . . . . . . . . . . . . . . .24
  132.                      5. GETAVAILEXT . . . . . . . . . . . . . . . . .25
  133.                      6. GETDPMIV. . . . . . . . . . . . . . . . . . .25
  134.                      7. GETEMM. . . . . . . . . . . . . . . . . . . .25
  135.                      8. GETEMS. . . . . . . . . . . . . . . . . . . .26
  136.                      9. GETEMSI . . . . . . . . . . . . . . . . . . .26
  137.                      10. GETEMSV. . . . . . . . . . . . . . . . . . .27
  138.                      11. GETEXT . . . . . . . . . . . . . . . . . . .27
  139.                      12. GETRAM . . . . . . . . . . . . . . . . . . .28
  140.                      13. GETVCPIV . . . . . . . . . . . . . . . . . .28
  141.                      14. GETXMSA. . . . . . . . . . . . . . . . . . .28
  142.                      15. GETXMSI. . . . . . . . . . . . . . . . . . .29
  143.                      16. GETXMSV. . . . . . . . . . . . . . . . . . .29
  144.  
  145.                   F. MOUSE. . . . . . . . . . . . . . . . . . . . . .30
  146.                      1. CHKMOUSE. . . . . . . . . . . . . . . . . . .30
  147.                      2. GETMOUSEI . . . . . . . . . . . . . . . . . .30
  148.                      3. GETMOUSEV . . . . . . . . . . . . . . . . . .30
  149.                                                                          
  150.                  G. NETWORK . . . . . . . . . . . . . . . . . . . . .32  
  151.                      1. CHKIPX. . . . . . . . . . . . . . . . . . . .32
  152.                      2. GETLOGINTIME. . . . . . . . . . . . . . . . .32
  153.                      3. GETNETNAME. . . . . . . . . . . . . . . . . .32
  154.                      4. NETBIOS . . . . . . . . . . . . . . . . . . .33
  155.                      5. NETSHELL. . . . . . . . . . . . . . . . . . .33
  156.                                                                        
  157.                   H. TSR'S, DRIVERS AND SHELLS. . . . . . . . . . . .34
  158.                      1. CPTASK. . . . . . . . . . . . . . . . . . . .34
  159.                      2. DBLSPACE. . . . . . . . . . . . . . . . . . .34
  160.                      3. DOSSHELL. . . . . . . . . . . . . . . . . . .34
  161.                      4. GETDESQV. . . . . . . . . . . . . . . . . . .34
  162.                      5. GETWINV . . . . . . . . . . . . . . . . . . .35
  163.                      6. HYPERDISK . . . . . . . . . . . . . . . . . .35
  164.                      7. MSCDEX. . . . . . . . . . . . . . . . . . . .36
  165.                      8. NCACHE. . . . . . . . . . . . . . . . . . . .36
  166.                      9. PCCACHE . . . . . . . . . . . . . . . . . . .36
  167.                
  168.                                   - 3 -
  169.  
  170.  
  171.  
  172.  
  173.  
  174.                      10. PCKWIK . . . . . . . . . . . . . . . . . . .37
  175.                      11. SMARTDRV . . . . . . . . . . . . . . . . . .37
  176.                      12. SPACEMAN . . . . . . . . . . . . . . . . . .37
  177.                      13. STACKER. . . . . . . . . . . . . . . . . . .38
  178.                      14. TASKMAX. . . . . . . . . . . . . . . . . . .38
  179.                                                                         
  180.              III. REGISTRATION FORM . . . . . . . . . . . . . . . . .39  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213.       
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.                                   - 4 -
  226.  
  227.  
  228.  
  229.  
  230.  
  231.          I.  INTRODUCTION
  232.                              
  233.              The SYSTEM INFO LIBRARY provides 80 functions to access     
  234.              system information such as CPU or display type from         
  235.              within a QuickBASIC programs.  I have included the BASIC    
  236.              source and executable for a program that demonstrates most  
  237.              of the functions available in the SYSTEM INFO LIBRARY.      
  238.              This "demo" program was compiled with Microsoft BASIC       
  239.              compiler 6.0 but should compile with other versions.        
  240.                        
  241.              1.  What is supported.
  242.  
  243.                  QuickBASIC 4.x and Microsoft BASIC compiler 6.0 and     
  244.                  higher.
  245.  
  246.                  Note:  This library should work with all versions of    
  247.                         QuickBASIC 4.x, BASIC compiler 6.0 or higher     
  248.                         including PDS 7.x (Professional Development      
  249.                         System), but, as of this documentation, it has   
  250.                          only been tested with Microsoft BASIC compiler  
  251.                          6.0.  Please let me know how this library works 
  252.                          with other versions so that I can update this   
  253.                          documentation or make changes to the library.
  254.                         
  255.               2.  Registration.                 
  256.  
  257.                  It is expected that if you find the SYSTEM INFO LIBRARY
  258.                  useful, you will register your copy.  You may not use
  259.                  SYSTEM INFO LIBRARY functions in programs intended for  
  260.                  sale unless you have registered.  Upon registration,    
  261.                  you will receive the latest version of the SYSTEM INFO  
  262.                  LIBRARY.  Registration also entitles you to receive     
  263.                  updates (hardware and software are constantly changing) 
  264.                  for $10.00.  Registered users may then distribute       
  265.                  programs linked with the SYSTEM INFO LIBRARY without    
  266.                  further royalties.
  267.  
  268.              3.  Disclaimer
  269.  
  270.                  USE THIS LIBRARY AT YOUR OWN RISK.  I have made great
  271.                  efforts to test this library on as many different 
  272.                  computers as possible, but, I will not assume any 
  273.                  responsibility for any problems which this library may
  274.                  cause you.  If you do run into a problem, please let me 
  275.                  know about it and I will do my best to respond to it.
  276.     
  277.  
  278.  
  279.  
  280.  
  281.  
  282.                                   - 5 -
  283.  
  284.  
  285.  
  286.  
  287.  
  288.          II.  SYSTEM FUNCTIONS
  289.  
  290.               This section lists all the functions available in the      
  291.               SYSTEM INFO LIBRARY as well as a brief description, any    
  292.               parameters required or returned and an example of how to   
  293.               use the function.  Also listed is any hardware or software 
  294.               that the function is applicable with as well as any        
  295.               hardware or software that must be installed for the        
  296.               function to work correctly.
  297.  
  298.               If you wish to compile and test with this library from     
  299.               within the QuickBASIC environment then you need to create 
  300.               a .QLB version of the SYSTEM INFO LIBRARY.  To create this 
  301.               do the following:
  302.  
  303.               LINK SYSINFO.LIB/Q/SE:1024,SYSINFO.QLB,NUL,BQLB4x;
  304.  
  305.               Note:  Replace BQLB4x with the version that came with your 
  306.                      compiler.  (BQLB40 or BQLB41 for QuickBASIC 4.0 and 
  307.                      BASCOM 6.0, BQLB45 for QuickBASIC 4.5 and QBXQLB    
  308.                      for PDS 7.x)
  309.  
  310.               The SYSTEM INFO LIBRARY uses near strings.  Make sure if   
  311.               you are using PDS 7.x that you have it set to use near     
  312.               strings. 
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338.  
  339.                                   - 6 -
  340.  
  341.  
  342.  
  343.  
  344.  
  345.               A.  DISPLAY     
  346.  
  347.                   1.  GETCRT                                             
  348.  
  349.                       Returns the type of display attached to an EGA or
  350.                       VGA card.
  351.  
  352.                                0 - Color monitor attached
  353.                                1 - Monochrome monitor attached
  354.  
  355.                       usage:  ret% = getCRT
  356.  
  357.                       argument list:  none
  358.  
  359.                       return value:   int          the display type
  360.  
  361.                       available on:   EGA or higher.
  362.  
  363.                       restrictions:   none.
  364.  
  365.                   2.  GETVESA   
  366.  
  367.                       Returns if a VESA BIOS extension is installed.  
  368.                       If installed, then it returns the VESA version 
  369.                       and total video RAM installed.
  370.  
  371.                       usage:  ret% = getVESA(major%,minor%,vram%)
  372.  
  373.                       argument list:  major%       major VESA version
  374.                                       minor%       minor VESA version
  375.                                       vram%        total video RAM
  376.  
  377.                       return value:   int          if VESA installed
  378.                                                    (1 - Yes, 0 - No)
  379.                       available on:   VGA display.
  380.  
  381.                       restrictions:   none.
  382.  
  383.                   3.  GETVIDEO
  384.  
  385.                       Returns the type of video card installed.
  386.  
  387.                              1 - MDA  (Monochrome Display Adapter)  
  388.                              2 - HGA  (Hercules Graphics Adapter)   
  389.                              3 - CGA  (Color Graphics Adapter)      
  390.                              4 - EGA  (Enhanced Graphics Adapter)   
  391.                              5 - MCGA (Multi-Color Graphics Array)
  392.                              6 - VGA  (Video Graphics Array)        
  393.  
  394.                       usage:  ret% = getVideo
  395.                            
  396.                                   - 7 -
  397.  
  398.  
  399.  
  400.  
  401.  
  402.                       argument list:  none                               
  403.  
  404.                       return value:   int          video card type  
  405.  
  406.                       available on:   all machines.
  407.  
  408.                       restrictions:   none.
  409.  
  410.  
  411.  
  412.  
  413.  
  414.  
  415.  
  416.  
  417.  
  418.  
  419.  
  420.  
  421.  
  422.  
  423.  
  424.  
  425.  
  426.  
  427.  
  428.  
  429.  
  430.  
  431.  
  432.  
  433.  
  434.  
  435.  
  436.  
  437.  
  438.  
  439.  
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.                                   - 8 -
  454.  
  455.  
  456.  
  457.  
  458.  
  459.               B.  DOS
  460.  
  461.                   1.  CHKANSI
  462.  
  463.                       Returns whether ANSI.SYS is installed.
  464.  
  465.                       usage:  ret% = chkAnsi
  466.                             
  467.                       argument list:  none                               
  468.  
  469.                       return value:   int          if ANSI.SYS installed
  470.                                                      (1 - Yes, 0 - No)
  471.                       available on:   DOS 4.0 or higher.
  472.  
  473.                       restrictions:   none.
  474.  
  475.                   2.  CHKAPPEND
  476.  
  477.                       Returns whether APPEND is installed.
  478.  
  479.                       usage:  ret% = chkAppend                           
  480.  
  481.                       argument list:  none                               
  482.  
  483.                       return value:   int          if APPEND installed  
  484.                                                     (1 - Yes, 0 - No)
  485.                       available on:   all machines.
  486.  
  487.                       restrictions:   none.
  488.  
  489.                   3.  CHKASSIGN
  490.  
  491.                       Returns whether ASSIGN is installed.
  492.  
  493.                       usage:  ret% = chkAssign                           
  494.  
  495.                       argument list:  none                               
  496.  
  497.                       return value:   int          if ASSIGN installed   
  498.                                                     (1 - Yes, 0 - No)
  499.                       available on:   DOS 3.0 or higher.
  500.  
  501.                       restrictions:   none.
  502.  
  503.                   4.  CHKDISPLAY
  504.  
  505.                       Returns whether DISPLAY.SYS is installed.
  506.  
  507.                       usage:  ret% = chkDisplay                        
  508.  
  509.  
  510.                                   - 9 -
  511.  
  512.  
  513.  
  514.  
  515.  
  516.                       argument list:  none      
  517.                      
  518.                       return value:   int         if DISPLAY installed
  519.                                                    (1 - Yes, 0 - No)
  520.                       available on:   DOS 3.3 or higher.
  521.  
  522.                       restrictions:   none.
  523.  
  524.                   5.  CHKDOSHIGH
  525.  
  526.                       Returns whether DOS is loaded high.
  527.  
  528.                       usage:  ret% = chkDosHigh
  529.                          
  530.                       argument list:  none                               
  531.  
  532.                       return value:   int          if DOS is loaded high 
  533.                                                      (1 - Yes, 0 - No)
  534.                       available on:   DOS 5.0+ or DR-DOS 6.0+
  535.  
  536.                       restrictions:   none.                            
  537.  
  538.                   6.  CHKDOSKEY
  539.  
  540.                       Returns whether DOSKEY is installed.
  541.  
  542.                       usage:  ret% = chkDoskey
  543.                           
  544.                       argument list:  none                               
  545.  
  546.                       return value:   int          if DOSKEY installed  
  547.                                                     (1 - Yes, 0 - No)
  548.                       available on:   DOS 5.0 or higher.
  549.  
  550.                       restrictions:   none.                            
  551.  
  552.                   7.  CHKDRIVER
  553.  
  554.                       Returns whether DRIVER.SYS in installed.
  555.  
  556.                       usage:  ret% = chkDriver
  557.                           
  558.                       argument list:  none                               
  559.  
  560.                       return value:   int          if DRIVER installed
  561.                                                     (1 - Yes, 0 - No)
  562.                       available on:   DOS 3.3 or higher.
  563.  
  564.                       restrictions:   none.                        
  565.  
  566.  
  567.                                  - 10 -
  568.  
  569.  
  570.  
  571.  
  572.  
  573.                   8.  CHKEGA
  574.  
  575.                       Returns whether EGA.SYS in installed.
  576.  
  577.                       usage:  ret% = chkEGA
  578.                              
  579.                       argument list:  none                              
  580.  
  581.                       return value:   int          if EGA.SYS installed 
  582.                                                     (1 - Yes, 0 - No)
  583.                       available on:   all machines.
  584.  
  585.                       restrictions:   none.                              
  586.  
  587.                   9.  CHKGRAFTABL
  588.  
  589.                       Returns whether GRAFTABL is installed.
  590.  
  591.                       usage:  ret% = chkGraftabl
  592.                         
  593.                       argument list:  none                               
  594.  
  595.                       return value:   int          if Graftabl installed 
  596.                                                      (1 - Yes, 0 - No)
  597.                       available on:   DOS 3.3 or higher.
  598.  
  599.                       restrictions:   none.                           
  600.  
  601.                   10. CHKGRAPHICS
  602.  
  603.                       Returns whether GRAPHICS.COM is installed.
  604.  
  605.                       usage:  ret% = chkGraphics
  606.                         
  607.                       argument list:  none                               
  608.  
  609.                       return value:   int          if GRAPHICS installed
  610.                                                      (1 - Yes, 0 - No)
  611.                       available on:   DOS 4.0 or higher.
  612.  
  613.                       restrictions:   none.                             
  614.  
  615.                   11. CHKKEYB
  616.  
  617.                       Returns whether KEYB.COM is installed.
  618.  
  619.                       usage:  ret% = chkKeyb
  620.                             
  621.                       argument list:  none                               
  622.  
  623.  
  624.                                  - 11 -
  625.  
  626.  
  627.  
  628.  
  629.  
  630.                       return value:   int          if KEYB.COM installed 
  631.                                                      (1 - Yes, 0 - No)
  632.                       available on:   DOS 3.3 or higher.
  633.  
  634.                       restrictions:   none.                        
  635.  
  636.                   12. CHKNLSFUNC
  637.  
  638.                       Returns whether NLSFUNC.COM is installed.
  639.  
  640.                       usage:  ret% = chkNlsfunc
  641.                          
  642.                       argument list:  none                               
  643.  
  644.                       return value:   int          if NLSFUNC installed
  645.                                                     (1 - Yes, 0 - No)
  646.                       available on:   DOS 3.3 or higher.
  647.  
  648.                       restrictions:   none.     
  649.                       
  650.                   13. CHKPRINT
  651.  
  652.                       Returns whether PRINT is installed.
  653.  
  654.                       usage:  ret% = chkPrint
  655.                            
  656.                       argument list:  none                               
  657.  
  658.                       return value:   int          if PRINT installed    
  659.                                                     (1 - Yes, 0 - No)
  660.                       available on:   DOS 3.0 or higher.
  661.  
  662.                       restrictions:   none.     
  663.  
  664.                   14. CHKSHARE
  665.  
  666.                       Returns whether SHARE.EXE
  667.  
  668.                       usage:  ret% = chkNlsfunc
  669.                          
  670.                       argument list:  none                               
  671.  
  672.                       return value:   int          if SHARE installed   
  673.                                                     (1 - Yes, 0 - No)
  674.                       available on:   DOS 3.0 or higher.
  675.  
  676.                       restrictions:   none.     
  677.  
  678.                   15. CHKSHELLB
  679.  
  680.  
  681.                                  - 12 -
  682.  
  683.  
  684.  
  685.  
  686.  
  687.                       Returns whether SHELLB.COM
  688.  
  689.                       usage:  ret% = chkShellb
  690.                           
  691.                       argument list:  none                               
  692.  
  693.                       return value:   int          if SHELLB installed  
  694.                                                     (1 - Yes, 0 - No)
  695.                       available on:   DOS 4.0 or higher.
  696.  
  697.                       restrictions:   none.
  698.      
  699.                   16. CHKXMA2EMS
  700.  
  701.                       Returns whether XMA2EMS.SYS
  702.  
  703.                       usage:  ret% = chkXMA2EMS
  704.                          
  705.                       argument list:  none                               
  706.  
  707.                       return value:   int          if XMA2EMS installed 
  708.                                                     (1 - Yes, 0 - No)
  709.                       available on:   DOS 4.0 or higher.
  710.  
  711.                       restrictions:   none.     
  712.  
  713.                   17. GET4DOSV
  714.  
  715.                       Returns whether 4DOS is installed.  If installed,
  716.                       then the 4DOS version is returned.
  717.  
  718.                       usage:  ret% = get4DosV(major%,minor%)             
  719.           
  720.                       argument list:  major%       major version     
  721.                                       minor%       minor version      
  722.  
  723.                       return value:   int          if 4DOS installed
  724.                                                    (1 - Yes, 0 - No)
  725.                       available on:   4DOS 1.0 or higher.
  726.  
  727.                       restrictions:   none.
  728.  
  729.                   18. GETDOSOEM
  730.  
  731.                       Returns the DOS OEM number.
  732.  
  733.                       usage:  ret%= getDosOem                            
  734.     
  735.                       argument list:  none.                              
  736.  
  737.  
  738.                                  - 13 -
  739.  
  740.  
  741.  
  742.  
  743.  
  744.                       return value:   int          DOS OEM number   
  745.  
  746.                       available on:   DOS 2.0 or higher.                 
  747.  
  748.                       restrictions:   none.
  749.  
  750.                   19. GETDOSV
  751.  
  752.                       Returns the DOS version.
  753.  
  754.                       Note:  OS/2 v1.x returns major version 10
  755.                              OS/2 v2.x returns major version 20
  756.                              DOS 4.01 and 4.02 return version 4.00       
  757.                              IBM DOS 6.1 returns version 6.0 (use DOS 
  758.                              OEM number to distinguish it from           
  759.                              MS-DOS 6.0)                
  760.  
  761.                       usage:  getDosV major%,minor%                      
  762.              
  763.                       argument list:  major%       major version     
  764.                                       minor%       minor version      
  765.  
  766.                       return value:   none                               
  767.  
  768.                       available on:   All machines.                      
  769.  
  770.                       restrictions:   none.
  771.  
  772.                   20. GETDRDOSV
  773.  
  774.                       Returns the version I.D. of DR-DOS installed.
  775.                                                                       
  776.                            00h - DR-DOS not installed                    
  777.                            01h - Multi-User DR-DOS                       
  778.                            60h - DOS Plus                                
  779.                            63h - DR-DOS 3.41                             
  780.                            64h - DR-DOS 3.42                             
  781.                            65h - DR-DOS 5.0                              
  782.                            67h - DR-DOS 6.0                              
  783.                            70h - PalmDOS                                 
  784.                            71h - DR-DOS 6.0 (March 1993 Update)          
  785.                            72h - Novell DOS 7.0                          
  786.          
  787.                       usage:  ret% = getDrDosV                           
  788.        
  789.                       argument list:  none
  790.                              
  791.                       return value:   int          DR-DOS version I.D.
  792.  
  793.                 
  794.  
  795.                                  - 14 -
  796.  
  797.  
  798.  
  799.  
  800.  
  801.                       available on:   DR-DOS 3.41 or higher.             
  802.  
  803.                       restrictions:   none.
  804.  
  805.  
  806.  
  807.  
  808.  
  809.  
  810.  
  811.  
  812.  
  813.  
  814.  
  815.  
  816.  
  817.  
  818.  
  819.  
  820.  
  821.  
  822.  
  823.  
  824.  
  825.  
  826.  
  827.  
  828.  
  829.  
  830.  
  831.  
  832.  
  833.  
  834.  
  835.  
  836.  
  837.  
  838.  
  839.  
  840.  
  841.  
  842.  
  843.  
  844.  
  845.  
  846.  
  847.  
  848.  
  849.  
  850.  
  851.  
  852.                                  - 15 -
  853.  
  854.  
  855.  
  856.  
  857.  
  858.               C.  DRIVES
  859.  
  860.                   1.  CDROM
  861.  
  862.                       Returns whether a CD-ROM drive is installed.  
  863.                       If installed, then the number of CD-ROM drive  
  864.                       letters and the starting drive letter is returned.
  865.  
  866.                       usage:  ret% = CDROM(num%,drive$)                  
  867.                      
  868.                       argument list:  num%         number of drives  
  869.                                       drive$       starting drive letter
  870.  
  871.                       return value:   int          if CD-ROM installed   
  872.                                                     (1 - Yes, 0 - No)
  873.                       available on:   all machines.                      
  874.  
  875.                       restrictions:   none.
  876.  
  877.                   2.  CHKREMOTE
  878.  
  879.                       Returns if a given drive remote (networked) or 
  880.                       local.  
  881.                                        0 - Local
  882.                                        1 - Remote
  883.  
  884.                       usage:  ret% = chkRemote(drive$,remote%)           
  885.                      
  886.                       argument list:  drive$       drive letter      
  887.                                       remote%      remote status        
  888.  
  889.                       return value:   int          0 - if no errors      
  890.         
  891.                       available on:   DOS 3.1 or higher.                 
  892.  
  893.                       restrictions:   none.
  894.  
  895.                   3.  CHKREMOVABLE
  896.  
  897.                       Returns if a given drive is removable or fixed.
  898.  
  899.                                        0 - Removable
  900.                                        1 - Fixed
  901.  
  902.                       usage:  ret% = chkRemovable(drive$,removable%)     
  903.                      
  904.                       argument list:  drive$        drive letter      
  905.                                       removable%    removable status    
  906.  
  907.                       return value:   int          0 - if no errors      
  908.          
  909.                                  - 16 -
  910.  
  911.  
  912.  
  913.  
  914.  
  915.                       available on:   DOS 3.0 or higher.                 
  916.  
  917.                       restrictions:   none.
  918.  
  919.                   4.  GETAVAILDRVS
  920.  
  921.                       Returns the number of available drives.
  922.  
  923.                       usage:  ret% = getAvailDrvs                        
  924.                 
  925.                       argument list:  none                     
  926.  
  927.                       return value:   int          available drives      
  928.                                             
  929.                       available on:   all machines.                      
  930.  
  931.                       restrictions:   none.
  932.  
  933.                   5.  GETDRVINFO
  934.  
  935.                       Returns various information for a given drive.
  936.  
  937.                       usage:  ret% = getDrvInfo(drive$,cyl%,heads%,sec%) 
  938.                      
  939.                       argument list:  drive$        drive letter      
  940.                                       cyl%          number of cylinders
  941.                                       heads%        number of heads
  942.                                       sec%          number of sectors
  943.  
  944.                       return value:   int          0 - if no errors      
  945.                                
  946.                       available on:   DOS 3.2 or higher.                 
  947.  
  948.                       restrictions:   none.
  949.                     
  950.                   6.  GETDRVSPACE
  951.  
  952.                       Returns various drive space information for a 
  953.                       given drive.
  954.  
  955.                       Cluster Size = Bytes Per Sec * Sectors Per Cluster 
  956.                       Free Space = Free Clusters * Cluster Size          
  957.                       Total Space = Total Clusters * Cluster Size        
  958.                       Used Space = Total Space - Free Space              
  959.       
  960.                       usage:  ret% = getDrvSpace(drive$,SecPerClus&,     
  961.                                                FreeClus&,BytesPerSec&,   
  962.                                                TotalClus&)
  963.  
  964.            
  965.  
  966.                                  - 17 -
  967.  
  968.  
  969.  
  970.  
  971.  
  972.                       argument list:  drive$           drive letter      
  973.                                       SecPerClus&      sec per cluster
  974.                                       FreeClu&         free clusters
  975.                                       BytesPerSec&     bytes per sector
  976.                                       TotalClus&   total clusters
  977.  
  978.                       return value:   int          0 - if no errors      
  979.                                                                          
  980.                       available on:   DOS 2.0 or higher.                 
  981.  
  982.                       restrictions:   none.
  983.  
  984.                   7.  GETFLOPPY
  985.  
  986.                       Returns the number of floppy drives installed.
  987.  
  988.                       usage:  ret% = getFloppy                           
  989.         
  990.                       argument list:  none.                              
  991.  
  992.                       return value:   int          floppy drives
  993.  
  994.                       available on:   all machines.                      
  995.  
  996.                       restrictions:   none.
  997.  
  998.                   8.  GETFLOPTYPE
  999.  
  1000.                       Returns the drive type for floppy drives A and B.
  1001.                                                                       
  1002.                                   0 - No drive installed                 
  1003.                                   1 - 360K DD Drive                      
  1004.                                   2 - 1.2M HD Drive                      
  1005.                                   3 - 720K DD Drive                      
  1006.                                   4 - 1.44M HD Drive                     
  1007.                                   5 - 2.88M ED Drive                     
  1008.                                                                          
  1009.                        usage:  ret% = getFlopType(a%,b%)                 
  1010.                      
  1011.                       argument list:  a%            drive A type      
  1012.                                       b%            drive B type        
  1013.  
  1014.                       return value:   int          0 - if no errors      
  1015.                                                   
  1016.                       available on:   AT or higher. (some XT's)
  1017.  
  1018.                       restrictions:   none.
  1019.  
  1020.                   9.  ISCDROM
  1021.  
  1022.  
  1023.                                  - 18 -
  1024.  
  1025.  
  1026.  
  1027.  
  1028.  
  1029.                       Returns if a given drive is an MSCDEX CD-ROM       
  1030.                       drive.
  1031.  
  1032.                       Note: This function expects a Microsoft CD-ROM 
  1033.                             extension version 2.00 or higher to be 
  1034.                             installed.  Use MSCDEX to ensure that one
  1035.                             is installed.
  1036.  
  1037.                       usage:  ret% = iscdrom(drive$)                     
  1038.                   
  1039.                       argument list:  drive$       drive letter      
  1040.  
  1041.                       return value:   int          if drive is a CD-ROM  
  1042.                                                      (1 - Yes, 0 - No)
  1043.                       available on:   all machines.                      
  1044.  
  1045.                       restrictions:   CD-ROM extension 2.00 or higher.
  1046.  
  1047.                   10. ISDBLSPACE
  1048.  
  1049.                       Returns if a given drive is a DBLSPACE compressed
  1050.                       drive. 
  1051.  
  1052.                       Note: This function expects DBLSPACE.BIN to be 
  1053.                             installed.  Use chkDblSpace() to ensure
  1054.                             that it is installed.
  1055.  
  1056.                       usage:  ret% = isdblspace(drive$)                  
  1057.                      
  1058.                       argument list:  drive$       drive letter      
  1059.  
  1060.                       return value:   int          if a DBLSPACE drive   
  1061.                                                     (1 - Yes, 0 - No)
  1062.                       available on:   DOS 6.0 or higher.                 
  1063.  
  1064.                       restrictions:   DBLSPACE.BIN must be installed.
  1065.  
  1066.                   11. ISSTACKER
  1067.  
  1068.                       Returns if a given drive is a Stacker compressed
  1069.                       drive.  
  1070.  
  1071.                       usage:  ret% = isstacker(drive$)                   
  1072.               
  1073.                       argument list:  drive$       drive letter      
  1074.  
  1075.                       return value:   int          if a Stacker drive    
  1076.                                                     (1 - Yes, 0 - No)
  1077.   
  1078.  
  1079.  
  1080.                                  - 19 -
  1081.  
  1082.  
  1083.  
  1084.  
  1085.  
  1086.                      available on:   all machines.                       
  1087.    
  1088.                      restrictions:   none.
  1089.  
  1090.  
  1091.  
  1092.  
  1093.  
  1094.  
  1095.  
  1096.  
  1097.  
  1098.  
  1099.  
  1100.  
  1101.  
  1102.  
  1103.  
  1104.  
  1105.  
  1106.  
  1107.  
  1108.  
  1109.  
  1110.  
  1111.  
  1112.  
  1113.  
  1114.  
  1115.  
  1116.  
  1117.  
  1118.  
  1119.  
  1120.  
  1121.  
  1122.  
  1123.  
  1124.  
  1125.  
  1126.  
  1127.  
  1128.  
  1129.  
  1130.  
  1131.  
  1132.  
  1133.  
  1134.  
  1135.  
  1136.  
  1137.                                  - 20 -
  1138.  
  1139.  
  1140.  
  1141.  
  1142.  
  1143.               D.  HARDWARE
  1144.  
  1145.                   1.  BIOSDATE
  1146.  
  1147.                       Returns a string containing the BIOS date.
  1148.  
  1149.                       usage:  ret% = biosDate                            
  1150.                                
  1151.                       argument list:  none                        
  1152.  
  1153.                       return value:   string       BIOS date             
  1154.            
  1155.                       available on:   all machines.                      
  1156.  
  1157.                       restrictions:   none.
  1158.  
  1159.                   2.  CHKENHKEYB
  1160.  
  1161.                       Returns if an enhanced 101-Key keyboard is         
  1162.                       detected.
  1163.  
  1164.                       usage:  ret% = chkEnhKeyB                          
  1165.               
  1166.                       argument list:  none                       
  1167.  
  1168.                       return value:   int          if enhanced keyboard  
  1169.                                                      (1 - Yes, 0 - No)
  1170.                       available on:   all machines.                      
  1171.  
  1172.                       restrictions:   none.
  1173.  
  1174.                   3.  GETCOM
  1175.  
  1176.                       Returns the number of serial ports installed.
  1177.  
  1178.                       usage:  ret% = getCOM                              
  1179.               
  1180.                       argument list:  none                            
  1181.  
  1182.                       return value:   int          serial ports          
  1183.    
  1184.                       available on:   all machines.                      
  1185.  
  1186.                       restrictions:   none.
  1187.  
  1188.                   4.  GETCPU
  1189.  
  1190.                       Returns the type of CPU installed.
  1191.  
  1192.  
  1193.  
  1194.                                  - 21 -
  1195.  
  1196.  
  1197.  
  1198.  
  1199.  
  1200.                              1 - NEC V20 or V30                          
  1201.                              2 - 8088 or 8086                            
  1202.                              3 - 80186                                   
  1203.                              4 - 80286                                   
  1204.                              5 - 80386                                   
  1205.                              6 - 80486                                   
  1206.            
  1207.                       usage:  ret% = getCPU                              
  1208.               
  1209.                       argument list:  none                            
  1210.  
  1211.                       return value:   int          CPU type              
  1212.             
  1213.                       available on:   all machines.                      
  1214.  
  1215.                       restrictions:   none.
  1216.  
  1217.                   5.  GETFEATURES
  1218.  
  1219.                       Returns various information from the BIOS feature
  1220.                       byte.
  1221.  
  1222.                       usage:  ret% = getFeatures(DMA3%,s8259%,realtime%,
  1223.                                           keyint%,extint%,extbios%,mca%)
  1224.                                                   
  1225.                       argument list:  DMA3%        DMA chan 3 used by HD
  1226.                                       s8259%       2nd 8259 installed
  1227.                                       realtime%    real-time clock       
  1228.                                       keyint%      INT 15/AH=4Fh avail   
  1229.                                       extint%      INT 15/AH=41h avail   
  1230.                                       extbios%     extended BIOS area    
  1231.                                       mca%         Micro Channel bus
  1232.  
  1233.                       return value:   int          0 - if supported      
  1234.                                                    1 - if not supported
  1235.                       available on:   all machines.                      
  1236.  
  1237.                       restrictions:   none.
  1238.  
  1239.                   6.  GETID
  1240.  
  1241.                       Returns the model, submodel and revision I.D.
  1242.  
  1243.                       usage:  getID(model%,submodel%,rev%)               
  1244.        
  1245.                       argument list:  model%       BIOS model I.D.       
  1246.                                       submodel%    BIOS submodel I.D.    
  1247.                                       rev%         BIOS revision level   
  1248.           
  1249.                       return value:   none                               
  1250.                         
  1251.                                  - 22 -
  1252.  
  1253.  
  1254.  
  1255.  
  1256.  
  1257.                       available on:   all machines.                      
  1258.  
  1259.                       restrictions:   none.
  1260.  
  1261.                   7.  GETLPT
  1262.  
  1263.                       Returns the number of parallel ports installed.
  1264.  
  1265.                       usage:  ret% = getLPT                              
  1266.               
  1267.                       argument list:  none                            
  1268.  
  1269.                       return value:   int          parallel ports        
  1270.    
  1271.                       available on:   all machines.                      
  1272.  
  1273.                       restrictions:   none.
  1274.  
  1275.                   8.  GETNPU
  1276.  
  1277.                       Returns the type of math co-processor installed.
  1278.  
  1279.                           0 - Math co-processor not installed            
  1280.                           1 - 8087                                       
  1281.                           2 - 80287                                      
  1282.                           3 - 80387                                      
  1283.        
  1284.                       Note: An 80486DX internal math co-processor        
  1285.                             appears as an 80387.
  1286.  
  1287.                       usage:  ret% = getNPU                              
  1288.               
  1289.                       argument list:  none                            
  1290.  
  1291.                       return value:   int          co-processor type     
  1292.              
  1293.                       available on:   all machines.                      
  1294.  
  1295.                       restrictions:   none.
  1296.  
  1297.  
  1298.  
  1299.  
  1300.  
  1301.  
  1302.  
  1303.  
  1304.  
  1305.  
  1306.  
  1307.  
  1308.                                  - 23 -
  1309.  
  1310.  
  1311.  
  1312.  
  1313.  
  1314.               E.  MEMORY
  1315.     
  1316.                   1.  CHKDPMI
  1317.  
  1318.                       Returns whether a DOS Protected Mode Interface
  1319.                       is installed.
  1320.  
  1321.                       usage:  ret% = chkDPMI                             
  1322.          
  1323.                       argument list:  none                           
  1324.  
  1325.                       return value:   int          if DPMI installed     
  1326.                                                    (1 - Yes, 0 - No)
  1327.                       available on:   80286 or higher.                   
  1328.   
  1329.                       restrictions:   none.
  1330.  
  1331.                   2.  CHKEMS
  1332.  
  1333.                       Returns whether an Expanded Memory Manager is 
  1334.                       installed.
  1335.  
  1336.                       usage:  ret% = chkEMS                              
  1337.               
  1338.                       argument list:  none                            
  1339.  
  1340.                       return value:   int          if EMS installed      
  1341.                                                    (1 - Yes, 0 - No)
  1342.                       available on:   all machines.                      
  1343.   
  1344.                       restrictions:   none.
  1345.  
  1346.                   3.  CHKVCPI
  1347.  
  1348.                       Returns whether a Virtual Control Program          
  1349.                       Interface is installed.
  1350.  
  1351.                       usage:  ret% = chkVCPI                             
  1352.               
  1353.                       argument list:  none                           
  1354.  
  1355.                       return value:   int          if VCPI installed     
  1356.                                                    (1 - Yes, 0 - No)
  1357.                       available on:   80386 or higher.                   
  1358.   
  1359.                       restrictions:   '386 Extended Memory Manager       
  1360.                                       installed 
  1361.  
  1362.                   4.  CHKXMS
  1363.  
  1364.  
  1365.                                  - 24 -
  1366.  
  1367.  
  1368.  
  1369.  
  1370.  
  1371.                       Returns whether an Extended Memory Manager is 
  1372.                       installed.
  1373.  
  1374.                       usage:  ret% = chkXMS                              
  1375.               
  1376.                       argument list:  none                            
  1377.  
  1378.                       return value:   int          if XMS installed      
  1379.                                                    (1 - Yes, 0 - No)
  1380.                       available on:   80286 or higher.                   
  1381.   
  1382.                       restrictions:   none.
  1383.  
  1384.                   5.  GETAVAILEXT
  1385.  
  1386.                       Returns the amount of available extended memory.
  1387.  
  1388.                       usage:  ret& = getAvailExt                         
  1389.               
  1390.                       argument list:  none                       
  1391.  
  1392.                       return value:   long         avail extended memory 
  1393.               
  1394.                       available on:   80286 or higher.                   
  1395.   
  1396.                       restrictions:   none.
  1397.                   
  1398.                   6.  GETDPMIV
  1399.  
  1400.                       Returns the DPMI version.  
  1401.  
  1402.                       Note: This function expects a DPMI to be           
  1403.                             installed.  Use chkDPMI() to ensure that a   
  1404.                             DPMI is installed.
  1405.  
  1406.                       usage:  ret% = getDPMIv(major%,minor%)             
  1407.                 
  1408.                       argument list:  major%       major version
  1409.                                       minor%       minor version
  1410.  
  1411.                       return value:   int          0 - if no errors      
  1412.                                                    1 - if errors
  1413.                       available on:   80286 or higher.                   
  1414.   
  1415.                       restrictions:   DPMI driver installed.
  1416.  
  1417.                   7.  GETEMM
  1418.  
  1419.                       Returns '386 Extended Memory Manager type.  This
  1420.                       function expects an Extended Memory Manager to be
  1421.               
  1422.                                  - 25 -
  1423.  
  1424.  
  1425.  
  1426.  
  1427.  
  1428.                       installed.  Use chkXMS() to ensure that an         
  1429.                       Extended Memory Manager is installed.
  1430.  
  1431.                       Note: This function expects an XMS Memory Manager
  1432.                             to be installed.  Use chkXMS() to ensure     
  1433.                             that one is installed.
  1434.  
  1435.                       0 - Not installed or unknown Memory-Manager        
  1436.                       1 - Quadtel's QMAPS and Hewlett-Packard's HPMM.SYS 
  1437.                       2 - Microsoft's EMM386.EXE                         
  1438.                       3 - Windows 3.x WIN386.EXE                         
  1439.                       4 - DR-DOS 6.0 EMM386.SYS                          
  1440.                       5 - Qualitas' 386MAX                               
  1441.                       6 - V Communication's Memory Commander             
  1442.                       7 - Quarterdeck's QEMM-386                         
  1443.                       8 - Helix's Netroom RM386                          
  1444.      
  1445.                       usage:  ret% = getEMM                              
  1446.               
  1447.                       argument list:  none                            
  1448.  
  1449.                       return value:   int       '386 Memory Manager type 
  1450.                                                                   
  1451.                       available on:   80386 or higher.                   
  1452.   
  1453.                       restrictions:   XMS memory manager installed.
  1454.  
  1455.                   8.  GETEMS
  1456.  
  1457.                       Returns the total and available 16K pages of EMS
  1458.                       memory.
  1459.  
  1460.                       Note: This function expects an EMS Memory Manager
  1461.                             to be installed.  Use chkEMS() to ensure
  1462.                             that one is installed.
  1463.  
  1464.                       usage:  ret% = getEMS(total%,avail%)               
  1465.                 
  1466.                       argument list:  total%       total 16K pages
  1467.                                       avail%       available 16K pages
  1468.  
  1469.                       return value:   int          0 - if no errors      
  1470.      
  1471.                       available on:   all machines.                      
  1472.   
  1473.                       restrictions:   EMS memory manager installed.     
  1474.  
  1475.                   9.  GETEMSI
  1476.  
  1477.                       Returns the number of available EMS handles and
  1478.  
  1479.                                  - 26 -
  1480.  
  1481.  
  1482.  
  1483.  
  1484.  
  1485.                       the page frame address.
  1486.  
  1487.                       Note: This function expects an EMS memory manager
  1488.                             to be installed.  Use chkEMS() to ensure
  1489.                             that one is installed.
  1490.  
  1491.                       usage:  ret% = getEMSi(handles%,address%)          
  1492.                                      
  1493.                       argument list:  handles%     available handles
  1494.                                       address%     page frame address 
  1495.  
  1496.                       return value:   int          0 - if no errors      
  1497.                                              
  1498.                       available on:   all machines.                      
  1499.   
  1500.                       restrictions:   EMS memory manager installed.
  1501.  
  1502.                   10. GETEMSV
  1503.  
  1504.                       Returns the EMS memory manager version.
  1505.  
  1506.                       Note: This function expects an EMS memory manager
  1507.                             to be installed.  Use chkEMS() to ensure
  1508.                             that one is installed.
  1509.  
  1510.                       usage:  ret% = getEMSv(major%,minor%)              
  1511.                                                        
  1512.                       argument list:  major%       EMS major version
  1513.                                       minor%       EMS minor version  
  1514.  
  1515.                       return value:   int          0 - if no errors      
  1516.                                             
  1517.                       available on:   all machines.                      
  1518.   
  1519.                       restrictions:   EMS memory manager installed.
  1520.  
  1521.                   11. GETEXT
  1522.  
  1523.                       Returns the total amount of extended memory     
  1524.                       installed.
  1525.  
  1526.                       usage:  ret& = getEXT                              
  1527.             
  1528.                       argument list:  none                       
  1529.  
  1530.                       return value:   long         total extended memory 
  1531.                                              
  1532.                       available on:   80286 or higher.                   
  1533.   
  1534.                       restrictions:   none.                             
  1535.  
  1536.                                  - 27 -
  1537.  
  1538.  
  1539.  
  1540.  
  1541.  
  1542.                   12. GETRAM
  1543.  
  1544.                       Returns the total amount of conventional memory
  1545.                       installed.
  1546.  
  1547.                       usage:  ret% = getRAM                              
  1548.               
  1549.                       argument list:  none                       
  1550.  
  1551.                       return value:   int          conventional memory  
  1552.  
  1553.                       available on:   all machines.                      
  1554.   
  1555.                       restrictions:   none.                              
  1556.                      
  1557.                   13. GETVCPIV
  1558.  
  1559.                       Returns the VCPI version.
  1560.  
  1561.                       Note: This routine expects a VCPI driver to be
  1562.                             installed.  Use chkVCPI() to ensure that 
  1563.                             one is installed.
  1564.  
  1565.                       usage:  getVCPIv major%,minor%                     
  1566.                                                
  1567.                       argument list:  major%       VCPI major version
  1568.                                       minor%       VCPI minor version  
  1569.  
  1570.                       return value:   none                               
  1571.                                         
  1572.                       available on:   80386 or higher.                   
  1573.   
  1574.                       restrictions:   VCPI driver installed.       
  1575.  
  1576.                   14. GETXMSA
  1577.  
  1578.                       Returns the total available XMS memory and the
  1579.                       largest available block.
  1580.  
  1581.                       Note: This function expects an XMS Memory Manager
  1582.                             to be installed.  Use chkXMS() to ensure
  1583.                             that one is installed.
  1584.  
  1585.                       usage:  ret% = getXMSa(total&,avail&)              
  1586.                  
  1587.                       argument list:  total&       available XMS memory
  1588.                                       avail&       largest XMS block
  1589.  
  1590.                       return value:   int          0 - if no errors 
  1591.                                                    1 - if errors     
  1592.     
  1593.                                  - 28 -
  1594.  
  1595.  
  1596.  
  1597.  
  1598.  
  1599.                       available on:   80286 or higher.                   
  1600.   
  1601.                       restrictions:   XMS memory manager installed.     
  1602.  
  1603.                   15. GETXMSI
  1604.  
  1605.                       Returns if HMA exists and A20 status.
  1606.  
  1607.                             0 - HMA does not exist                       
  1608.                             1 - HMA exists                               
  1609.                                                                          
  1610.                             0 - A20 disabled                             
  1611.                             1 - A20 enabled                              
  1612.       
  1613.                       Note: This function expects an XMS Memory Manager
  1614.                             to be installed.  Use chkXMS() to ensure
  1615.                             that one is installed.
  1616.  
  1617.                       usage:  ret% = getXMSi(HMA%,A20%)                  
  1618.                  
  1619.                       argument list:  HMA%        HMA status             
  1620.                                       A20%        A20 status             
  1621.           
  1622.                       return value:   int          0 - if no errors 
  1623.                                                    1 - if errors     
  1624.                       available on:   80286 or higher.                   
  1625.   
  1626.                       restrictions:   XMS memory manager installed.     
  1627.  
  1628.                   16. GETXMSV
  1629.  
  1630.                       Returns XMS memory manager version.
  1631.  
  1632.                       Note: This function expects an XMS Memory Manager
  1633.                             to be installed.  Use chkXMS() to ensure
  1634.                             that one is installed.
  1635.  
  1636.                       usage:  ret% = getXMSv(major%,minor%)              
  1637.                  
  1638.                       argument list:  major%      XMS major version      
  1639.                                       minor%      XMS minor version      
  1640.   
  1641.                       return value:   int          0 - if no errors 
  1642.                                                    1 - if errors     
  1643.                       available on:   80286 or higher.                   
  1644.   
  1645.                       restrictions:   XMS memory manager installed.     
  1646.  
  1647.  
  1648.  
  1649.  
  1650.                                  - 29 -
  1651.  
  1652.  
  1653.  
  1654.  
  1655.  
  1656.               F.  MOUSE
  1657.  
  1658.                   1.  CHKMOUSE
  1659.  
  1660.                       Returns the number of mouse buttons, zero if     
  1661.                       a mouse is not installed.                       
  1662.  
  1663.                       usage:  ret% = chkMouse                            
  1664.                
  1665.                       argument list:  none                               
  1666.  
  1667.                       return value:   int          number of buttons
  1668.                                         
  1669.                       available on:   all machines.                      
  1670.   
  1671.                       restrictions:   none.                              
  1672.  
  1673.                   2.  GETMOUSEI
  1674.  
  1675.                       Returns the type of mouse and IRQ.
  1676.  
  1677.                         Type:                                            
  1678.                               1 - Bus mouse                              
  1679.                               2 - Serial mouse                           
  1680.                               3 - Inport mouse                           
  1681.                               4 - PS/2 mouse                             
  1682.                               5 - Hewlett-Packard mouse                  
  1683.                                 
  1684.                         IRQ:                      
  1685.                               PS/2 mouse returns an IRQ of 0.            
  1686.          
  1687.                       Note: This routine expects a mouse driver
  1688.                             to be installed.  Use chkMouse() to 
  1689.                             ensure that one is installed.
  1690.  
  1691.                       usage:  getMouseI port%,irq%)                      
  1692.                      
  1693.                       argument list:  port%        mouse type
  1694.                                       irq%        mouse IRQ
  1695.  
  1696.                       return value:   none                          
  1697.                                         
  1698.                       available on:   all machines.                      
  1699.   
  1700.                       restrictions:   Microsoft or compatible mouse      
  1701.                                       driver.
  1702.  
  1703.                   3.  GETMOUSEV
  1704.  
  1705.                       Returns the mouse driver version.
  1706.  
  1707.                                  - 30 -
  1708.  
  1709.  
  1710.  
  1711.  
  1712.  
  1713.                       Note: This routine expects a mouse driver
  1714.                             to be installed.  Use chkMouse() to 
  1715.                             ensure that one is installed.
  1716.  
  1717.                       usage:  getMouseV major%,minor%                    
  1718.                     
  1719.                       argument list:  major%       major version
  1720.                                       minor%       minor version
  1721.  
  1722.                       return value:   none                       
  1723.                                         
  1724.                       available on:   all machines.                      
  1725.   
  1726.                       restrictions:   Microsoft or compatible mouse      
  1727.                                       driver.
  1728.  
  1729.  
  1730.  
  1731.  
  1732.  
  1733.  
  1734.  
  1735.  
  1736.  
  1737.  
  1738.  
  1739.  
  1740.  
  1741.  
  1742.  
  1743.  
  1744.  
  1745.  
  1746.  
  1747.  
  1748.  
  1749.  
  1750.  
  1751.  
  1752.  
  1753.  
  1754.  
  1755.  
  1756.  
  1757.  
  1758.  
  1759.  
  1760.  
  1761.  
  1762.  
  1763.  
  1764.                                  - 31 -
  1765.  
  1766.  
  1767.  
  1768.  
  1769.  
  1770.               G.  NETWORK
  1771.  
  1772.                   1.  CHKIPX
  1773.  
  1774.                       Returns whether Novell NetWare IPX installed.
  1775.  
  1776.                       usage:  ret% = chkIPX                              
  1777.                     
  1778.                       argument list:  none                              
  1779.  
  1780.                       return value:   int          if IPX installed   
  1781.                                                    (1 - Yes, 0 - No)
  1782.                       available on:   all machines.                      
  1783.   
  1784.                       restrictions:   none.                              
  1785.     
  1786.                   2.  GETLOGINTIME
  1787.  
  1788.                       Returns login date, time and day of the week.
  1789.  
  1790.                       usage:  ret% = getLoginTime(year%,month%,day%,
  1791.                                                hour%,min%,sec%,weekday%)
  1792.  
  1793.                       argument list:  year%        (80-99 = 1980-1999)
  1794.                                                    (00-79 = 2000-2079)
  1795.                                       month%       (1-12) 
  1796.                                       day%         (1-31)
  1797.                                       hour%        (0-23)
  1798.                                       min%         (0-59)
  1799.                                       sec%         (0-59)
  1800.                                       weekday%     (0 = Sunday)   
  1801.  
  1802.                       return value:   int          0 - no errors      
  1803.                                         
  1804.                       available on:   Advanced NetWare 1.0 or higher.    
  1805.    
  1806.                       restrictions:   none.                              
  1807.      
  1808.                   3.  GETNETNAME
  1809.  
  1810.                       Returns the Novell NetWare file server name and 
  1811.                       various file server information.
  1812.  
  1813.                       usage:  ret$ = getNetName(ver%,sub%,conn%,use%,
  1814.                                                vol%,peak%)
  1815.  
  1816.                       argument list:  ver%         NetWare version       
  1817.                                       sub%         NetWare subversion    
  1818.                                       conn%        connections supported
  1819.                                       use%         connections in use
  1820.  
  1821.                                  - 32 -
  1822.  
  1823.  
  1824.  
  1825.  
  1826.  
  1827.                                       vol%         maximum volumes
  1828.                                       peak%        peak connections used
  1829.  
  1830.                       return value:   string       server name        
  1831.                                         
  1832.                       available on:   Advanced NetWare 2.1 or higher.    
  1833.    
  1834.                       restrictions:   none.                              
  1835.          
  1836.                                                  
  1837.                   4.  NETBIOS
  1838.  
  1839.                       Returns whether Novell's NetBIOS emulator is 
  1840.                       installed.
  1841.  
  1842.                       usage:  ret% = NetBIOS                             
  1843.                      
  1844.                       argument list:  none
  1845.                               
  1846.                       return value:   int          if NetBIOS installed
  1847.                                                     (1 - Yes, 0 - No)
  1848.                       available on:   all machines.                      
  1849.   
  1850.                       restrictions:   none.                              
  1851.     
  1852.                   5.  NETSHELL
  1853.  
  1854.                       Returns whether Novell NetWare Shell installed.
  1855.                       If installed, then the shell version and type 
  1856.                       are returned.
  1857.  
  1858.                                type - shell type (v3.01+)                
  1859.                                   0 - conventional memory                
  1860.                                   1 - expanded memory                    
  1861.                                   2 - extended memory                    
  1862.        
  1863.                       usage:  ret% = NetShell(major%,minor%,rev%,mem%)
  1864.  
  1865.                       argument list:  major%       major version         
  1866.                                       minor%       minor version         
  1867.                                       rev%         revision              
  1868.                                       mem%         shell type            
  1869.  
  1870.                       return value:   int          if NetShell installed
  1871.                                                      (1 - Yes, 0 - No)
  1872.                       available on:   Advanced NetWare 1.0 or higher.    
  1873.    
  1874.                       restrictions:   none.                              
  1875.  
  1876.  
  1877.  
  1878.                                  - 33 -
  1879.  
  1880.  
  1881.  
  1882.  
  1883.  
  1884.                H.  TSR'S, DRIVERS, SHELLS and TASK SWAPPERS
  1885.  
  1886.                   1.  CPTASK
  1887.  
  1888.                       Returns whether PCTools V8.0 or higher CPTASK
  1889.                       is resident.  
  1890.  
  1891.                       usage:  ret% = CPTask                              
  1892.                      
  1893.                       argument list:  none                              
  1894.  
  1895.                       return value:   int          if CPTask resident  
  1896.                                                     (1 - Yes, 0 - No)
  1897.                       available on:   all machines.                      
  1898.   
  1899.                       restrictions:   none.                              
  1900.     
  1901.                   2.  DBLSPACE
  1902.  
  1903.                       Returns whether DOS 6.0 DBLSPACE is installed.
  1904.  
  1905.                       usage:  ret% = DblSpace                            
  1906.                      
  1907.                       argument list:  none
  1908.                              
  1909.                       return value:   int          if DBLSPACE installed
  1910.                                                     (1 - Yes, 0 - No)
  1911.                       available on:   DOS 6.0 or higher.                 
  1912.   
  1913.                       restrictions:   none.                              
  1914.     
  1915.                   3.  DOSSHELL
  1916.  
  1917.                       Returns whether DOS 5.0 or higher DOSSHELL task
  1918.                       switcher is resident.  
  1919.  
  1920.                       Note: This check is also supported by PCTools
  1921.                             CPTASK v8.0+ and DR-DOS 6.0 TaskMax.
  1922.  
  1923.                       usage:  ret% = DosShell
  1924.  
  1925.                       argument list:  none
  1926.                              
  1927.                       return value:   int          if DOSSHELL resident 
  1928.                                                      (1 - Yes, 0 - No)
  1929.                       available on:   all machines.                      
  1930.   
  1931.                       restrictions:   none.                              
  1932.     
  1933.                   4.  GETDESQV
  1934.  
  1935.                                  - 34 -
  1936.  
  1937.  
  1938.  
  1939.  
  1940.  
  1941.                       Returns whether DESQview is running.  If 
  1942.                       running, then the DESQview version is 
  1943.                       returned.
  1944.  
  1945.                       usage:  ret% = getDesqV(major%,minor%)
  1946.  
  1947.                       argument list:  major%       major version
  1948.                                       minor%       minor version
  1949.  
  1950.                       return value:   int          if DESQview running
  1951.                                                      (1 - Yes, 0 - No)
  1952.                       available on:   all machines.                      
  1953.   
  1954.                       restrictions:   none.                              
  1955.     
  1956.                   5.  GETWINV
  1957.  
  1958.                       Returns whether Windows 3.0 or higher is 
  1959.                       running.  If running, then the version 
  1960.                       and model are returned.
  1961.  
  1962.                       Mode:  0 - Standard (or Real on Windows 3.0)       
  1963.                              1 - Enhanced                                
  1964.                                                                    
  1965.                       Note: Will detect Windows/386 2.x but only returns 
  1966.                             the major version.                           
  1967.            
  1968.                       usage:  ret% = getWinV(major%,minor%,mode%)
  1969.  
  1970.                       argument list:  major%       major version
  1971.                                       minor%       minor version
  1972.                                       mode%        Windows mode
  1973.  
  1974.                       return value:   int          if Windows running
  1975.                                                     (1 - Yes, 0 - No)
  1976.                       available on:   all machines.                      
  1977.   
  1978.                       restrictions:   none.                              
  1979.     
  1980.                   6.  HYPERDISK
  1981.  
  1982.                       Returns whether HyperDisk disk cache v4.20+ 
  1983.                       or higher is installed.
  1984.  
  1985.                       usage:  ret% = HyperDisk
  1986.  
  1987.                       argument list:  none
  1988.                             
  1989.                       return value:   int         if HyperDisk installed
  1990.                                                     (1 - Yes, 0 - No)
  1991.  
  1992.                                  - 35 -
  1993.  
  1994.  
  1995.  
  1996.  
  1997.  
  1998.                       available on:   all machines.                      
  1999.   
  2000.                       restrictions:   none.                              
  2001.     
  2002.                   7.  MSCDEX
  2003.  
  2004.                       Returns whether a Microsoft CD-ROM extension 
  2005.                       version 2.00 or higher installed.  If installed, 
  2006.                       then the version is returned.
  2007.  
  2008.                       usage:  ret% = MSCDEX(major%,minor%)
  2009.  
  2010.                       argument list:  major%       major version
  2011.                                       minor%       minor version
  2012.  
  2013.                       return value:   int          if MSCDEX installed  
  2014.                                                     (1 - Yes, 0 - No)
  2015.                       available on:   all machines.                      
  2016.   
  2017.                       restrictions:   none.                              
  2018.     
  2019.                   8.  NCACHE
  2020.  
  2021.                       Returns whether Norton NCACHE v5.0 or higher
  2022.                       is installed.
  2023.  
  2024.                       usage:  ret% = Ncache  
  2025.  
  2026.                       argument list:  none                              
  2027.  
  2028.                       return value:   int          if NCACHE installed  
  2029.                                                     (1 - Yes, 0 - No)
  2030.                       available on:   all machines.                      
  2031.   
  2032.                       restrictions:   none.                              
  2033.     
  2034.                   9.  PCCACHE
  2035.  
  2036.                       Returns whether PCTools PC-Cache v6.x or
  2037.                       PC-Cache v7.x is installed.
  2038.  
  2039.                       usage:  ret% = PcCache  
  2040.  
  2041.                       argument list:  none
  2042.                               
  2043.                       return value:   int          if PC-Cache installed
  2044.                                                      (1 - Yes, 0 - No)
  2045.                       available on:   all machines.                      
  2046.   
  2047.                       restrictions:   none.                              
  2048.     
  2049.                                  - 36 -
  2050.  
  2051.  
  2052.  
  2053.  
  2054.  
  2055.                   10. PCKWIK
  2056.  
  2057.                       Returns whether PC-Kwik v3.20 or higher 
  2058.                       disk cache is installed.
  2059.  
  2060.                       Note:  PC-Cache v5.x and Qcache v4.00 are
  2061.                              OEM versions of PC-Kwik v3.20.
  2062.  
  2063.                       usage:  ret% = PCKwik  
  2064.  
  2065.                       argument list:  none                              
  2066.  
  2067.                       return value:   int          if PC-Kwik installed 
  2068.                                                      (1 - Yes, 0 - No)
  2069.                       available on:   all machines.                      
  2070.   
  2071.                       restrictions:   none.                              
  2072.     
  2073.                   11. SMARTDRV
  2074.  
  2075.                       Returns whether SMARTDrive disk cache is 
  2076.                       installed.
  2077.  
  2078.                       Note:  Also returns if PC-Cache v8.0 or higher
  2079.                              is installed.
  2080.  
  2081.                       usage:  ret% = SmartDrv
  2082.  
  2083.                       argument list:  none
  2084.                              
  2085.                       return value:   int        if SMARTDrive installed 
  2086.                                                     (1 - Yes, 0 - No)
  2087.                       available on:   all machines.                      
  2088.   
  2089.                       restrictions:   none.                              
  2090.     
  2091.                   12. SPACEMAN
  2092.  
  2093.                       Returns whether Vertisoft SPACEMANager 
  2094.                       (DoubleSpace enhancement) is installed.
  2095.  
  2096.                       usage:  ret% = SpaceMan
  2097.  
  2098.                       argument list:  none
  2099.                              
  2100.                       return value:   int      if SPACEMANager installed
  2101.                                                    (1 - Yes, 0 - No)
  2102.                       available on:   DOS 6.0 or higher and DoubleSpace  
  2103.   
  2104.                       restrictions:   none.                              
  2105.     
  2106.                                  - 37 -
  2107.  
  2108.  
  2109.  
  2110.  
  2111.  
  2112.                   13. STACKER
  2113.  
  2114.                       Returns whether Stacker disk compression
  2115.                       is installed. 
  2116.  
  2117.                       usage:  ret% = Stacker  
  2118.  
  2119.                       argument list:  none
  2120.                               
  2121.                       return value:   int          if Stacker installed 
  2122.                                                      (1 - Yes, 0 - No)
  2123.                       available on:   all machines.                      
  2124.   
  2125.                       restrictions:   none.                              
  2126.     
  2127.                   14. TASKMAX
  2128.  
  2129.                       Returns whether DR-DOS 6.0 TaskMax task swapper
  2130.                       is resident.
  2131.  
  2132.                       usage:  ret% = TaskMax 
  2133.  
  2134.                       argument list:  void                               
  2135.  
  2136.                       return value:   int          if TaskMax installed 
  2137.                                                      (1 - Yes, 0 - No)
  2138.                       available on:   all machines.                      
  2139.   
  2140.                       restrictions:   none.                              
  2141.     
  2142.  
  2143.  
  2144.  
  2145.  
  2146.  
  2147.  
  2148.  
  2149.  
  2150.  
  2151.  
  2152.  
  2153.  
  2154.  
  2155.  
  2156.  
  2157.  
  2158.  
  2159.  
  2160.  
  2161.  
  2162.  
  2163.                                  - 38 -
  2164.  
  2165.  
  2166.  
  2167.  
  2168.  
  2169.                               SYSTEM INFO LIBRARY
  2170.                               For QuickBASIC 4.0+
  2171.                                   Version 1.0
  2172.                                Registration Form
  2173.                                -----------------
  2174.  
  2175.  
  2176.          Name:________________________________________________________
  2177.  
  2178.          Address:_____________________________________________________
  2179.  
  2180.          City:____________________________ State:____ Zip:____________
  2181.  
  2182.          Media size:
  2183.                                 [  ] 360k  5.25"
  2184.                                 [  ] 1.2M  5.25"
  2185.  
  2186.                                 [  ] 720k   3.5"
  2187.                                 [  ] 1.44M  3.5"
  2188.  
  2189.          Where did you obtain this library from:______________________
  2190.  
  2191.          Comments:____________________________________________________
  2192.  
  2193.          _____________________________________________________________
  2194.  
  2195.          _____________________________________________________________
  2196.  
  2197.  
  2198.  
  2199.          Send check or money order (U.S. Banks only) for $39 to:         
  2200.                           
  2201.            
  2202.  
  2203.                                 Paul Lapsansky
  2204.                              1905 Beech St. #317
  2205.                              Valparaiso, IN 46383
  2206.  
  2207.                            Genie I.D. is P.LAPSANSKY
  2208.                          Compuserve I.D. is 70713,3343
  2209.  
  2210.  
  2211.  
  2212.  
  2213.  
  2214.  
  2215.  
  2216.  
  2217.  
  2218.  
  2219.  
  2220.                                  - 39 -
  2221. 
  2222.