home *** CD-ROM | disk | FTP | other *** search
- {*********************************************************************
- (C) Copyright 1983-1992 MetaWare Incorporated; Santa Cruz, CA 95060.
- *********************************************************************}
-
- Export(System,MSDOS,Fileh_type);
- pragma include('STATUS.pf');
- pragma include('SYSTEM.pf');
- pragma include('MSDOS.pf');
- pragma fragmented_implementation(System);
- pragma fragmented_implementation(MSDOS);
- with System,Status;
- pragma off(emit_names); pragma on(optimize_for_space);
-
- program Implement_DOS_interface;
- pragma Alias(Implement_DOS_interface,Implement.RTE || 'DOS_interface7');
-
- with Registers;
- with Loopholes:[Address,Adr,Retype,&];
-
- procedure File_times(F: File_handle; var Date,Time: Cardinal);
- begin
- AX.L := 0; BX.R := F;
- DOS(87);
- Time := CX.R; Date := DX.R;
- end;
-
- procedure Set_file_times(F: File_handle; Date,Time: Cardinal);
- begin
- AX.L := 1; BX.R := F;
- CX.R := Time; DX.R := Date;
- DOS(87);
- end;
-
- procedure Switch_char(var C:char; Set_it:Boolean);
- begin
- if Set_it then begin AX.L := 1; DX.L := ord(C); end else AX.L := 0;
- DOS(55);
- if not Set_it then C := chr(DX.L);
- end;
-
- function Dup(F: File_handle): File_handle;
- begin
- BX.R := F; DOS(69); Dup := AX.L;
- end;
-
- procedure Dup2(F,Newfh: File_handle);
- begin
- BX.R := F; CX.R := Newfh; DOS(70);
- end;
-
- procedure Set_DMA(A:Address);
- begin
- { Set disk transfer address to DS:DX. }
- Load_DS_DX(A);
- DOS(26);
- end;
-
- procedure Find_next(var S: Find_buffer);
- begin
- Set_DMA(Adr(S));
- DOS(79);
- end;
-
- -- (C) Copyright 1983,84,85 MetaWare Incorporated; Santa Cruz, CA 95060.
-