home *** CD-ROM | disk | FTP | other *** search
/ Frostbyte's 1980s DOS Shareware Collection / floppyshareware.zip / floppyshareware / GLEN / INFOP140.ZIP / PAGE_14.INC < prev    next >
Text File  |  1990-11-12  |  3KB  |  113 lines

  1. procedure page_14;
  2.  
  3. var
  4.   i : byte;
  5.   xbool : boolean;
  6.   xbyte1 : byte;
  7.   xbyte2 : byte;
  8.  
  9.   begin
  10.   caption2('BIOS disk parameters');
  11.   xbool:=true;
  12.   for i:=$00 to $FF do
  13.     with regs do
  14.       begin
  15.       AH:=$08;
  16.       DL:=i;
  17.       intr($13, regs);
  18.       if nocarry and ((BL > $00) or (i >= $80)) then
  19.         begin
  20.         if xbool then
  21.           begin
  22.           xbool:=false;
  23.           writeln;
  24.           caption3('Unit');
  25.           writeln;
  26.           caption3('Type');
  27.           writeln;
  28.           caption3('Drives');
  29.           writeln;
  30.           caption3('Heads');
  31.           writeln;
  32.           caption3('Cylinders');
  33.           writeln;
  34.           caption3('Sectors/track');
  35.           writeln;
  36.           caption3('Specify bytes');
  37.           writeln;
  38.           caption3('Off time (s)');
  39.           writeln;
  40.           caption3('Bytes/sector');
  41.           writeln;
  42.           caption3('Sectors/track');
  43.           writeln;
  44.           caption3('Gap length');
  45.           writeln;
  46.           caption3('Data length');
  47.           writeln;
  48.           caption3('Gap length for format');
  49.           writeln;
  50.           caption3('Fill byte for format');
  51.           writeln;
  52.           caption3('Head settle time (ms)');
  53.           writeln;
  54.           caption3('On time (ms)');
  55.           writeln;
  56.           xbyte1:=27;
  57.           end;
  58.         if xbyte1 + 10 > twidth then
  59.           begin
  60.           pause1;
  61.           if endit then
  62.             Exit;
  63.           xbyte1:=27;
  64.           window(xbyte1, 4, twidth, tlength - 2);
  65.           clrscr
  66.           end;
  67.         window(xbyte1, 4, xbyte1 + 11, tlength - 2);
  68.         writeln(i);
  69.         if i < $80 then
  70.           case BL of
  71.             $01 : writeln('360KB 5¼"');
  72.             $02 : writeln('1.2MB 5¼"');
  73.             $03 : writeln('720KB 3½"');
  74.             $04 : writeln('1.44MB 3½"')
  75.           else
  76.             writeln('(', hex(BL, 2), ')')
  77.           end
  78.         else
  79.           writeln('fixed disk');
  80.         writeln(DL);
  81.         writeln(DH + 1);
  82.         writeln(cbw(CH, CL shr 6) + 1);
  83.         writeln(CL and $3F);
  84.         if i < $80 then
  85.           begin
  86.           writeln('$', hex(mem[ES : DI], 2), ' $'
  87.             , hex(mem[ES : DI + $0001], 2));
  88.           writeln(longint(mem[ES : DI + $0002]) shl 16 / tick1 : 0
  89.             : 1);
  90.           xbyte2:=mem[ES : DI + $0003];
  91.           case xbyte2 of
  92.             $00 : writeln('128');
  93.             $01 : writeln('256');
  94.             $02 : writeln('512');
  95.             $03 : writeln('1024')
  96.           else
  97.             writeln('(', hex(xbyte2, 4), ')')
  98.           end;
  99.           writeln(mem[ES : DI + $0004]);
  100.           writeln(mem[ES : DI + $0005]);
  101.           writeln(mem[ES : DI + $0006]);
  102.           writeln(mem[ES : DI + $0007]);
  103.           writeln('$', hex(mem[ES : DI + $0008], 2));
  104.           writeln(mem[ES : DI + $0009]);
  105.           writeln(125 * mem[ES : DI + $000A])
  106.           end;
  107.         inc(xbyte1, 13)
  108.         end
  109.       end;
  110.   if xbool then
  111.     writeln('(no disks)')
  112.   end;
  113.