home *** CD-ROM | disk | FTP | other *** search
/ Microsoft Programmer's Library 1.3 / Microsoft-Programers-Library-v1.3.iso / sampcode / prof_c / 05oslib / bios / equipchk.c < prev    next >
Encoding:
C/C++ Source or Header  |  1988-08-11  |  712 b   |  30 lines

  1. /*
  2.  *    equipchk -- get equipment list
  3.  */
  4.  
  5. #include <dos.h>
  6. #include <local\bioslib.h>
  7. #include <local\equip.h>
  8.  
  9. struct EQUIP Eq;
  10.  
  11. int
  12. equipchk()
  13. {
  14.     union REGS inregs, outregs;
  15.  
  16.     /* call BIOS equipment check routine */
  17.     int86(EQUIP_CK, &inregs, &outregs);
  18.  
  19.     /* extract data from returned data word */
  20.     Eq.nprint  = (outregs.x.ax & 0xC000) / 0x8000;    
  21.     Eq.game_io = ((outregs.x.ax & 0x1000) / 0x1000) ? 1 : 0;
  22.     Eq.nrs232  = (outregs.x.ax & 0x0E00) /0x0200;
  23.     Eq.ndrive  = ((outregs.x.ax & 0x00C0) / 0x0040) + 1;
  24.     Eq.vmode   = (outregs.x.ax & 0x0030) / 0x0010;
  25.     Eq.basemem = ((outregs.x.ax & 0x000C) / 0x0004) + 1;
  26.     Eq.disksys = outregs.x.ax & 0x0001 == 1;
  27.  
  28.     return (outregs.x.cflag);
  29. }
  30.