+ Initial check-in

This commit is contained in:
michael 2004-09-13 19:30:56 +00:00
parent 9968b42c63
commit fc43868dd4
2 changed files with 152 additions and 0 deletions

70
docs/dxeload.xml Normal file
View File

@ -0,0 +1,70 @@
<?xml version="1.0" encoding="ISO8859-1"?>
<fpdoc-descriptions>
<!--
$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.
-->
<package name="rtl">
<module name="dxeload">
<short>Load DXE file in to memory</short>
<descr>
<p>
The <file>dxeload</file> unit was implemented by Pierre M\"uller for dos,
it allows to load a DXE file (an object file with 1 entry point)
into memory and return a pointer to the entry point.
</p>
<p>
It exists only for dos.
</p>
</descr>
<element name="DXE_MAGIC">
<short> Magic number, found in the header of a DXE file.</short>>
</element>
<element name="dxe_header">
<short>Record with header of DXE file</short>
<descr>
The <var>dxe_header</var> record describes the header of a DXE file. It is used to
determine the magic number of the DXE file and number of relocations that
must be done when the object file is loaded in memory.
</descr>
</element>
<element name="dxe_load">
<short>Load DXE file in memory</short>
<descr>
<p>
<var>dxe_load</var> loads the contents of the file <var>filename</var> into memory.
It performs the necessary relocations in the object code, and returns then
a pointer to the entry point of the code.
</p>
<p>
For an example, see the <link id="#rtl.emu387">emu387</link> unit in the RTL.
</p>
</descr>
<errors>
If an error occurs during the load or relocations, <var>Nil</var> is returned.
</errors>
</element>
</module>
</package>
</fpdoc-descriptions>

82
docs/emu387.xml Normal file
View File

@ -0,0 +1,82 @@
<?xml version="1.0" encoding="ISO8859-1"?>
<fpdoc-descriptions>
<!--
$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.
-->
<package name="rtl">
<module name="emu387">
<short>Load coprocessor emulation support</short>
<descr>
<p>
The <file>emu387</file> unit was written by Pierre Mueller 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.
</p>
<p>
It shouldn't be necessary to use the function in this unit, it should be
enough to place this unit in the <var>uses</var> 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.
</p>
</descr>
<element name="npxsetup">
<short>Set up coprocessor emulation.</short>
<descr>
<p>
<var>npxsetup</var> checks whether a coprocessor is found. If not, it loads the
file <file>wmemu387.dxe</file> into memory and initializes the code in it.
</p>
<p>
If the environment variable <var>387</var> is set to <var>N</var>, 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.
</p>
<p>
The function searches the file <file>wmemu387.dxe</file> in the following way:
</p>
<ol>
<li> If the environment variable <var>EMU387</var> is set, then it is assumed
to point at the <file>wmemu387.dxe</file> file.
</li>
<li> if the environment variable <var>EMU387</var> does not exist, then the
function will take the path part of <var>prog_name</var> and look in that
directory for the file <file>wmemu387.dxe</file>.
</li>
</ol>
<p>
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)</var>. This means that you should deliver the
file <var>wmemu387.dxe</var> together with your program.
</p>
</descr>
<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.
</errors>
</element>
</module>
</package>
</fpdoc-descriptions>