mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-26 23:23:41 +02:00
63 lines
2.8 KiB
TeX
63 lines
2.8 KiB
TeX
%
|
|
% $Id$
|
|
% This file is part of the FPC documentation.
|
|
% Copyright (C) 1997, by Michael Van Canneyt
|
|
%
|
|
% The FPC documentation is free text; you can redistribute it and/or
|
|
% modify it under the terms of the GNU Library General Public License as
|
|
% published by the Free Software Foundation; either version 2 of the
|
|
% License, or (at your option) any later version.
|
|
%
|
|
% The FPC Documentation is distributed in the hope that it will be useful,
|
|
% but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
% Library General Public License for more details.
|
|
%
|
|
% You should have received a copy of the GNU Library General Public
|
|
% License along with the FPC documentation; see the file COPYING.LIB. If not,
|
|
% write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
% Boston, MA 02111-1307, USA.
|
|
%
|
|
\chapter{The EMU387 unit}
|
|
The \file{emu387} unit was written by Pierre M\"uller for \dos. It
|
|
sets up the coprocessor emulation for FPC under \dos. It is not necessary to
|
|
use this unit on other OS platforms because they either simply do not run on
|
|
a machine without coprocessor, or they provide the coprocessor emulation
|
|
themselves.
|
|
|
|
It shouldn't be necessary to use the function in this unit, it should be
|
|
enough to place this unit in the \var{uses} clause of your program to
|
|
enable the coprocessor emulation under \dos. The unit initialization
|
|
code will try and load the coprocessor emulation code and initialize it.
|
|
|
|
\section{Functions and procedures}
|
|
\begin{function}{npxsetup}
|
|
\Declaration
|
|
procedure npxsetup(prog\_name : string);
|
|
\Description
|
|
\var{npxsetup} checks whether a coprocessor is found. If not, it loads the
|
|
file \file{wmemu387.dxe} into memory and initializes the code in it.
|
|
|
|
If the environment variable \var{387} is set to \var{N}, then the emulation
|
|
will be loaded, even if there is a coprocessor present. If the variable
|
|
doesn't exist, or is set to any other value, the unit will try to detect
|
|
the presence of a coprocessor unit.
|
|
|
|
The function searches the file \file{wmemu387.dxe} in the following way:
|
|
\begin{enumerate}
|
|
\item If the environment variable \var{EMU387} is set, then it is assumed
|
|
to point at the \file{wmemu387.dxe} file.
|
|
\item if the environment variable \var{EMU387} does not exist, then the
|
|
function will take the path part of \var{prog\_name} and look in that
|
|
directory for the file \file{wmemu387.dxe}.
|
|
\end{enumerate}
|
|
|
|
It should never be necessary to call this function, because the
|
|
initialization code of the unit contains a call to the function with
|
|
as an argument \var{paramstr(0)}. This means that you should deliver the
|
|
file \var{wmemu387.dxe} together with your program.
|
|
\Errors
|
|
If there is an error, an error message is printed to standard error, and
|
|
the program is halted, since any floating-point code is bound to fail anyhow.
|
|
\end{function}
|