home *** CD-ROM | disk | FTP | other *** search
/ Frostbyte's 1980s DOS Shareware Collection / floppyshareware.zip / floppyshareware / USCX / TURBO-06.ZIP / FILEIO.INC < prev    next >
Text File  |  1985-02-23  |  1KB  |  67 lines

  1. procedure set_dta;
  2. begin
  3. {-- Set DTA address --}
  4.   pointer := addr(dta_area);
  5.   r.ds := seg(pointer^);
  6.   r.dx := ofs(pointer^);
  7.   r.ax := $1A shl 8;
  8.   MsDos(R);
  9. end;
  10.  
  11. procedure get_dta;
  12. begin
  13. {-- Get DTA address in ES:BX --}
  14.   r.ax := 0;
  15.   r.es := 0;
  16.   r.bx := 0;
  17.   r.ax := $2F shl 8;
  18.   MsDos(R);
  19.   dta := ptr(r.es,r.bx);
  20. end;
  21.  
  22. procedure set_fcb;
  23. begin
  24. {-- Set up an unopened FCB --}
  25.   for x := -7 to 36 do fcb[x] := #0;
  26.   fcb[-7] := #255;
  27.   fcb[-1] := #0;
  28.   filez := '*.*' + #0;
  29.   pointer := addr(filez[1]);
  30.   r.ds := seg(pointer^);
  31.   r.si := ofs(pointer^);
  32.   pointer := addr(fcb[0]);
  33.   r.es := seg(pointer^);
  34.   r.di := ofs(pointer^);
  35.   r.ax := $29 shl 8;
  36.   msdos(R);
  37.   set_dta;
  38.   get_dta;
  39. end;
  40.  
  41. procedure msdos12;
  42. begin
  43.   set_dta;
  44.   pointer := addr(fcb[-7]);
  45.   r.ds := seg(pointer^);
  46.   r.dx := ofs(pointer^);
  47.   r.ax := $12 shl 8;         { go after the next matching entry }
  48.   msdos(R);
  49. end;
  50.  
  51. procedure msdos11(x : integer);
  52. begin
  53.   set_fcb;
  54.   fcb[-7] := #255;
  55.   fcb[-1] := chr(x);
  56.   pointer := addr(fcb[-7]);
  57.   r.ds := seg(pointer^);
  58.   r.dx := ofs(pointer^);
  59.   r.ax := $11 shl 8;
  60.   msdos(R);
  61. end;
  62.   dta_area                      : array [1..130] of byte;
  63.   fcb                           : array [-7..36] of char;
  64. type  mem_ptr      = ^pointer_type;
  65.   pointer_type = array [1..2] of integer;
  66. var  pointer,dta,fcb_addr          : mem_ptr;
  67.