home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / INFO / TURBOPAS / EQUIP.ZIP / EQUIP.PAS < prev   
Encoding:
Pascal/Delphi Source File  |  1986-02-13  |  4.0 KB  |  116 lines

  1. { ____________________________________________________________________________
  2.  |                                                                            |
  3.  | PROGRAM NAME: EQUIP                                  SHOW EQUIPMENT STATUS |
  4.  |____________________________________________________________________________|
  5.  |                                                                            |
  6.  | CREATION DATE: 02/12/86      VERSION: 1.0               COPYRIGHT (C) 1986 |
  7.  |____________________________________________________________________________|
  8.  |                                                                            |
  9.  | PROGRAMMER:   NICOLAS RICHARDS                                             |
  10.  |                                                                            |
  11.  | DESCRIPTION:  Prints information showing what equipment is loaded in the   |
  12.  |               computer.                                                    |
  13.  |                                                                            |
  14.  | NOTE:         You must compile this program with the BCD compiler from     |
  15.  |               Borland.  If you only have the regular Turbo compiler, remove|
  16.  |               the "FORM" statements from the end of the program.  The      |
  17.  |               numbers will not be formatted then, but it will compile!     |
  18.  |____________________________________________________________________________|}
  19.  
  20. TYPE 
  21.    REGS = RECORD
  22.       AX,BX,CX,DX,BP,SI,DI,DS,ES,FLAGS : INTEGER
  23.    END;
  24.  
  25. VAR 
  26.    REGISTER  : REGS;
  27.    FREE, TOT : REAL;
  28.    PATH      : STRING [64];
  29.  
  30. BEGIN
  31.    LOWVIDEO;
  32.    WRITELN;
  33.    WRITELN ('SYSTEM CONFIGURATION');
  34.    WRITELN ('--------------------');
  35.  
  36.    WITH REGISTER DO
  37.    BEGIN
  38.       WRITE ('System memory:         ');
  39.       INTR ($12,REGISTER);
  40.       WRITELN (AX,'K bytes');
  41.  
  42.       AX := $3000;
  43.       INTR ($21,REGISTER);
  44.       WRITELN ('Running DOS version:   ',LO(AX),'.',HI(AX));
  45.  
  46.       INTR ($11,REGISTER);
  47.       IF (AX AND $0030) = $30 THEN
  48.          WRITELN ('Monitor type:          Monochrome')
  49.       ELSE
  50.          WRITELN ('Monitor type:          Color');
  51.  
  52.       WRITE ('Diskette drive(s):     ');
  53.       IF (AX AND $0001) = $01 THEN
  54.       BEGIN
  55.          IF (AX AND $00C0) = $40 THEN
  56.             WRITELN ('2')
  57.          ELSE
  58.             WRITELN ('1');
  59.       END
  60.       ELSE
  61.          WRITELN ('0');
  62.  
  63.       WRITELN ('Number of RS232 cards: ',((AX AND $0E00) SHR 9));
  64.  
  65.       WRITE ('Game I/O attached:     ');
  66.       IF (AX AND $1000) = $00 THEN
  67.          WRITELN ('No')
  68.       ELSE
  69.          WRITELN ('Yes');
  70.  
  71.       WRITELN ('Printer cards:         ',((AX AND $C000) SHR 14));
  72.  
  73.       WRITE ('8087 math chip:        ');
  74.       IF (AX AND $0002) = $02 THEN
  75.          WRITELN ('Yes')
  76.       ELSE
  77.          WRITELN ('No');
  78.       WRITE ('DMA present on system: ');
  79.       IF (AX AND $0100) = $00 THEN
  80.          WRITELN ('Yes')
  81.       ELSE
  82.          WRITELN ('No');
  83.  
  84.       WRITELN;
  85.       WRITELN;
  86.       WRITELN ('DRIVE CONFIGURATION');
  87.       WRITELN ('-------------------');
  88.       GETDIR (0,PATH);
  89.       WRITELN ('Current directory:     ',PATH);
  90.       AX := $1900;
  91.       INTR ($21,REGISTER);
  92.  
  93.       DX := LO(AX) + 1;
  94.       AX := $3600;
  95.       INTR ($21,REGISTER);
  96.       FREE := AX;
  97.       FREE := FREE * CX;
  98.       FREE := FREE * BX;
  99.       TOT := AX;
  100.       TOT := TOT * CX;
  101.       TOT := TOT * DX;                            {If you do not have BCD }
  102.       WRITE ('Free disk space:       ');          { compiler, next line is: }
  103.       WRITE (FORM('##,###,###',(FREE / 1000)));   {WRITE (FREE / 1000); } 
  104.       WRITELN ('K bytes');
  105.       WRITE ('Total disk space:      ');
  106.       WRITE (FORM('##,###,###',(TOT / 1000)));    {or WRITE (TOT / 1000); }
  107.       WRITELN ('K bytes');
  108.    END;
  109.    NORMVIDEO;
  110. END.
  111.  
  112.  
  113.                                                                          │
  114. │CTRL-ENTER     - Deletes everything from the cursor position to the end of   │
  115. │                 the line.                                                   │
  116. └────