Browse Source

* 1.0.2 (merged)

peter 25 years ago
parent
commit
1cb73cf1e9

+ 3 - 3
install/debian/README.Debian

@@ -4,7 +4,7 @@ Free Pascal for DEBIAN
 No changes were necessary to the source tree as checked out from
 No changes were necessary to the source tree as checked out from
 CVS at cvs.freepascal.org by
 CVS at cvs.freepascal.org by
  cvs -d :pserver:[email protected]:/FPC/CVS -z3 co -r FIXES_1_0_0 fpc
  cvs -d :pserver:[email protected]:/FPC/CVS -z3 co -r FIXES_1_0_0 fpc
-The Debian Build Directory was created by 'make debcopy FPC_VERSION=1.0.1'
+The Debian Build Directory was created by 'make debcopy FPC_VERSION=1.0.2'
 and then duplicated to .orig before 'dpkg-buildpackage -sa -rfakeroot' was
 and then duplicated to .orig before 'dpkg-buildpackage -sa -rfakeroot' was
 run.
 run.
 
 
@@ -18,9 +18,9 @@ As shipped, only the .pdf docs are built. You may want to make the HTML
 files with latex2html by yourself, and eventually adapt the doc-base file.
 files with latex2html by yourself, and eventually adapt the doc-base file.
      
      
 To create a new config file for fpc (/etc/ppc386.cfg) use the command:
 To create a new config file for fpc (/etc/ppc386.cfg) use the command:
- /usr/lib/fpc/1.0.1/samplecfg /usr/lib/fpc/1.0.1
+ /usr/lib/fpc/1.0.2/samplecfg /usr/lib/fpc/1.0.2
 However, you should be aware, that said file /etc/ppc386.cfg is
 However, you should be aware, that said file /etc/ppc386.cfg is
-declared as a conffile since version 1.0.1.
+declared as a conffile since version 1.0.2.
 
 
 Free Vision (fp-fv) had to be removed due to licesing issues.
 Free Vision (fp-fv) had to be removed due to licesing issues.
 It will return into the distribution as soon as these issues are resolved.
 It will return into the distribution as soon as these issues are resolved.

+ 6 - 0
install/debian/changelog

@@ -1,3 +1,9 @@
+fpc (1.0.2-0) unstable; urgency=low
+  
+  * New Upstream Release
+
+ -- Peter Vreman <[email protected]>  Tue, 10 Oct 2000 12:00:00 +0200
+
 fpc (1.0.1-0.20000811.1) unstable; urgency=low
 fpc (1.0.1-0.20000811.1) unstable; urgency=low
 
 
   * Built for `official' upload. CVS as of 2000/08/11 - NMU.
   * Built for `official' upload. CVS as of 2000/08/11 - NMU.

+ 1 - 1
install/debian/copyright

@@ -2,7 +2,7 @@ The package was originally put together by:
   Peter Vreman <[email protected]>
   Peter Vreman <[email protected]>
 
 
 From sources obtained from:
 From sources obtained from:
-  ftp://ftp.freepascal.org/pub/fpc/dist/linux/fpc-0.99.15.tar.gz
+  ftp://ftp.freepascal.org/pub/fpc/dist/linux/fpc-1.0.2.tar.gz
 
 
 The files and libraries are released under the terms of the GNU Library
 The files and libraries are released under the terms of the GNU Library
 General Public License, which can be found in the file
 General Public License, which can be found in the file

+ 145 - 58
install/doc/faq.htm

@@ -1,6 +1,6 @@
+<HTML>
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
 "http://www.w3.org/TR/REC-html40/loose.dtd">
 "http://www.w3.org/TR/REC-html40/loose.dtd">
-<HTML>
 <HEAD>
 <HEAD>
 <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
 <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
 <META NAME="Author" CONTENT="Free Pascal Web Team">
 <META NAME="Author" CONTENT="Free Pascal Web Team">
@@ -9,24 +9,23 @@
 <TITLE>Free Pascal - FAQ</TITLE>
 <TITLE>Free Pascal - FAQ</TITLE>
 </HEAD>
 </HEAD>
 <BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF8080">
 <BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF8080">
-<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0 WIDTH="100%">
 <OL>
 <OL>
 <!-- IDXSTART -->
 <!-- IDXSTART -->
 <LI><A HREF="#WhatIsFP">What is Free Pascal (FPC)?</A></LI>
 <LI><A HREF="#WhatIsFP">What is Free Pascal (FPC)?</A></LI>
 <LI><A HREF="#versions">Which versions exist, and which one should I use?</A></LI>
 <LI><A HREF="#versions">Which versions exist, and which one should I use?</A></LI>
 <LI><A HREF="#FPandGNUPascal">Free Pascal and GNU Pascal - a comparison</A></LI>
 <LI><A HREF="#FPandGNUPascal">Free Pascal and GNU Pascal - a comparison</A></LI>
-<LI><A HREF="#WhereToGetFP">Where can I get the compiler?</A></LI>
+<LI><A HREF="#WhereToGetFP">Where can I get the compiler ?</A></LI>
 <LI><A HREF="#PortabilityTips">What are the considerations in porting</A></LI>
 <LI><A HREF="#PortabilityTips">What are the considerations in porting</A></LI>
 <LI><A HREF="#OOP">I tried to compile my Delphi code with the Free Pascal</A></LI>
 <LI><A HREF="#OOP">I tried to compile my Delphi code with the Free Pascal</A></LI>
 <LI><A HREF="#HOMEWORK">I have to write a program for homework. Can you help?</A></LI>
 <LI><A HREF="#HOMEWORK">I have to write a program for homework. Can you help?</A></LI>
 <LI><A HREF="#HowcanIbuildaunit">How can I build a unit?</A></LI>
 <LI><A HREF="#HowcanIbuildaunit">How can I build a unit?</A></LI>
 <LI><A HREF="#TurboVision">Will Free Pascal support TV (Turbo Vision) in the future?</A></LI>
 <LI><A HREF="#TurboVision">Will Free Pascal support TV (Turbo Vision) in the future?</A></LI>
 <LI><A HREF="#CompileSystemUnit">How can I compile the system unit?</A></LI>
 <LI><A HREF="#CompileSystemUnit">How can I compile the system unit?</A></LI>
-<LI><A HREF="#Internalerror9999">I get an internal error 9999</A></LI>
+<LI><A HREF="#Internalerror9999">I get an internal error 9999 or 10?</A></LI>
 <LI><A HREF="#Howdoesfunctionoverloadingwork">How does function overloading work?</A></LI>
 <LI><A HREF="#Howdoesfunctionoverloadingwork">How does function overloading work?</A></LI>
 <LI><A HREF="#HowToCallCFuncuntions">How can I call C functions?</A></LI>
 <LI><A HREF="#HowToCallCFuncuntions">How can I call C functions?</A></LI>
-<LI><A HREF="#DJGPP2support">When will Free Pascal use DJGPP 2.0 under DOS/Windows?</A></LI>
 <LI><A HREF="#HowToUseGraph">How can I use the graph unit with Free Pascal?</A></LI>
 <LI><A HREF="#HowToUseGraph">How can I use the graph unit with Free Pascal?</A></LI>
+<LI><A HREF="#WrongColors">Why do I get wrong colors when using the graph unit?</A></LI>
 <LI><A HREF="#IntegratedAssemblerSyntax">Integrated Assembler syntax</A></LI>
 <LI><A HREF="#IntegratedAssemblerSyntax">Integrated Assembler syntax</A></LI>
 <LI><A HREF="#HowToAccessDosMemory">How can I access DOS memory / How can I do graphics programming?</A></LI>
 <LI><A HREF="#HowToAccessDosMemory">How can I access DOS memory / How can I do graphics programming?</A></LI>
 <LI><A HREF="#FPwithoutfpu">How can I run Free Pascal without a math coprocessor?</A></LI>
 <LI><A HREF="#FPwithoutfpu">How can I run Free Pascal without a math coprocessor?</A></LI>
@@ -35,10 +34,10 @@
 <LI><A HREF="#ImusingWin95">I'm using the Dos compiler under Windows 95</A></LI>
 <LI><A HREF="#ImusingWin95">I'm using the Dos compiler under Windows 95</A></LI>
 <LI><A HREF="#ImusingOS2">I'm using OS/2</A></LI>
 <LI><A HREF="#ImusingOS2">I'm using OS/2</A></LI>
 <LI><A HREF="#dpmi">INSTALL.EXE of Dos version 0.99.10 reports "Load error: no DPMI"</A></LI>
 <LI><A HREF="#dpmi">INSTALL.EXE of Dos version 0.99.10 reports "Load error: no DPMI"</A></LI>
-<LI><A HREF="#winnt">INSTALL.EXE of Dos version 0.99.10 does not run in Windows NT</A></LI>
+<LI><A HREF="#instal10NT">INSTALL.EXE of version 1.0 for Dos returns an error (-2) in Windows NT 4.0</A></LI>
 <LI><A HREF="#snapshot">I want a new version NOW</A></LI>
 <LI><A HREF="#snapshot">I want a new version NOW</A></LI>
 <LI><A HREF="#ideinst">Where can I find a text mode IDE?</A></LI>
 <LI><A HREF="#ideinst">Where can I find a text mode IDE?</A></LI>
-<LI><A HREF="#ideconfig">How do I configure the IDE?</A></LI>
+<LI><A HREF="#ideconfig">How do I configure the Dos IDE?</A></LI>
 <LI><A HREF="#binariesbig">Why are the generated binaries so big?</A></LI>
 <LI><A HREF="#binariesbig">Why are the generated binaries so big?</A></LI>
 <LI><A HREF="#systemnotfound">Unit system, syslinux, sysos2 or syswin32 not found errors</A></LI>
 <LI><A HREF="#systemnotfound">Unit system, syslinux, sysos2 or syswin32 not found errors</A></LI>
 <LI><A HREF="#KnownBugs">Known bugs</A></LI>
 <LI><A HREF="#KnownBugs">Known bugs</A></LI>
@@ -50,7 +49,8 @@
 <P>
 <P>
 Originally named FPK-Pascal, the Free Pascal compiler is a 32 bit Turbo
 Originally named FPK-Pascal, the Free Pascal compiler is a 32 bit Turbo
 Pascal compatible Pascal compiler for DOS, Linux, Win32, OS/2 and (based on
 Pascal compatible Pascal compiler for DOS, Linux, Win32, OS/2 and (based on
-an older version) the AmigaOS. More operating systems are in the works.
+an older version) the AmigaOS. More operating systems (BeOS and FreeBSD/ELF are in
+advanced stages of development) are in the works.
 </P>
 </P>
 <P>
 <P>
 The compiler is written in Pascal and is able to compile its own sources.
 The compiler is written in Pascal and is able to compile its own sources.
@@ -62,6 +62,7 @@ the Intel version and ideally a 68020 processor for the Motorola
 version). At least 2 megabytes of RAM are required. To remake the compiler
 version). At least 2 megabytes of RAM are required. To remake the compiler
 more than 16MB is recommended.
 more than 16MB is recommended.
 </P>
 </P>
+<p>
 Short history:
 Short history:
 <UL>
 <UL>
 <LI>6/1993: project start
 <LI>6/1993: project start
@@ -69,42 +70,70 @@ Short history:
 <LI>3/1995: the compiler compiles the own sources
 <LI>3/1995: the compiler compiles the own sources
 <LI>3/1996: released to the internet
 <LI>3/1996: released to the internet
 <LI>7/2000: 1.0 version
 <LI>7/2000: 1.0 version
-</UL><BR>
+</UL> 
+</p>
 <LI><A NAME="versions"></A><H3>Which versions exist, and which one should I use?</H3>
 <LI><A NAME="versions"></A><H3>Which versions exist, and which one should I use?</H3>
+<p>
+FPC's version numbering changed a few times over the years. Versions before 0.99.5 are considered archaic.
+After the release of 0.99.5 a system in version numbering was introduced, and that system was changed slightly changed after the
+1.0 release.
+</p>
+<b>Versioning for versions 0.99.5 - 1.0</b>
 <P>
 <P>
-Compilers with an <b>even</b> last number are <b>release</b> versions(e.g. 0.99.8, 0.99.10, 0.99.12, 0.99.14 and 1.00)<br>
-Compilers and packages with an <b>odd</b> last number are <b>development</b> versions (e.g. 0.99.9, 0.99.11, 0.99.13, 0.99.15 and 1.0.9).
+Compilers with an <b>even</b> last number are <b>release</b> versions(e.g. 0.99.8, 0.99.10, 0.99.12, 0.99.14 1.0.0)<br>
+Compilers and packages with an <b>odd</b> last number are <b>development</b> versions (e.g. 0.99.9, 0.99.11, 0.99.13, 0.99.15)
 </P>
 </P>
 <P>
 <P>
-0.99.5 is an exception to this rule, since <b>0.99.5 IS a release</b> (a release prior to the introduction of this odd/even system)
+0.99.5 is an exception to this rule, since <b>0.99.5 IS a release</b> (a release prior to the introduction of this odd/even system).
 </P>
 </P>
 <P>
 <P>
-Letters behind the version number (0.99.12b, 0.99.5d) indicate release versions with some bugs and problems in the original release (respectively 0.99.12 and 0.99.5) fixed.
+Letters behind the version number (0.99.12b, 0.99.5d) indicate release versions with some bugs and problems in the original release 
+(respectively 0.99.12 and 0.99.5) fixed.
 </P>
 </P>
+<p>
+<b>Versioning after 1.0</b>
+</p>
+<P>
+Together with the release of 1.0 the version numbering has been slightly changed, 
+and a system in versioning resembling the Linux kernel's has been introduced.
+The main difference is that the difference between a release version is now in the 
+second number (1.0.x vs 1.1.x) instead of the third number (0.99.14 vs 0.99.15), and
+the third number now becomes the patch level, replacing the postfixed letter in the old system.
+</p>
+<p>
+<ul>
+<li>Releases that only fix bugs in version 1.0 will be numbered 1.0.x</li>
+<li>New development (the so called snapshots) have version number 1.1.x. The meaning
+of the third version number x in the new development branch is not defined yet, it could be used for test releases or to signal major changes. </li>
+<li>Eventually the 1.1.x versions, when stabilized will be released as version 1.2. Fixes on the 1.2 release will be numbered 1.2.x</lI>
+<li>The new development after the 1.2 release will be numbered 1.3.x and so on</li>
+<li>When really big changes are implemented, the version will be updated in the major number. This could be case with
+e.g. a codegenerator rewrite with support for other processors</li>
+</ul>
+</P
 <P>
 <P>
 Normally you would want to use a release. Releases are considered stable, and
 Normally you would want to use a release. Releases are considered stable, and
 easier to support (the bugs, quirks and unintended &quot;features&quot; are well
 easier to support (the bugs, quirks and unintended &quot;features&quot; are well
-known after a period of time,
-and workarounds exist).
+known after a period of time, and workarounds exist). 
 </P>
 </P>
 <P>
 <P>
 Development snapshots (which are generated daily) reflect the current status of the compiler.
 Development snapshots (which are generated daily) reflect the current status of the compiler.
 Development versions probably have new features and larger bugs fixed since the last release,
 Development versions probably have new features and larger bugs fixed since the last release,
-but might have some temporary stability drawbacks (which are usually fixed by the
-next day)
+but might have some temporary stability drawbacks (which are usually fixed by the next day). 
 </P>
 </P>
 <P>
 <P>
 Most support for development snapshots are basically the advise to
 Most support for development snapshots are basically the advise to
 upgrade to newer snapshot in which the bugs are hopefully fixed.
 upgrade to newer snapshot in which the bugs are hopefully fixed.
 Since version 0.99.8 the stability of the compiler steadily increased
 Since version 0.99.8 the stability of the compiler steadily increased
-and development
-snapshots are often quite useful for certain categories of users. Ask in the maillists if it is worth the trouble in your case if you're not sure.
-</P>
-<P>
-The current release version is 1.00 for the OS/2, Linux, Windows and Dos (Go32V2) targets and 0.99.5d for the 680x0 based systems (Amiga and Atari ST)
+and development snapshots are often quite useful for certain categories of users. Ask in the maillists if it  
+is worth the trouble in your case if you're not sure.
 </P>
 </P>
 <P>
 <P>
-The current development snapshot version is 1.0.9.
+<b>The current release version is 1.00</b> for the OS/2, Linux, Windows and Dos (Go32V2) targets and 0.99.5d for the 680x0 based systems (Amiga and Atari ST).
+The development versions (snapshots) are numbered 1.1.x at the moment</b>
+</p>
+<p>
+We advise all users to upgrade to the newest version for their target. (1.0 for intel processors, and 0.99.5d for Motorola)
 </P>
 </P>
 <LI><A NAME="FPandGNUPascal"></A><H3>Free Pascal and GNU Pascal - a comparison</H3>
 <LI><A NAME="FPandGNUPascal"></A><H3>Free Pascal and GNU Pascal - a comparison</H3>
 <DL>
 <DL>
@@ -128,7 +157,7 @@ OS/2 and AmigaOS and is for the moment limited to the Intel and Motorola
 architectures. GNU Pascal runs basically on any system that can run GNU C.
 architectures. GNU Pascal runs basically on any system that can run GNU C.
 </DD>
 </DD>
 <DT><B>Sources:</B></DT>
 <DT><B>Sources:</B></DT>
-<DD>Free Pascal is entirely written in Pascal (about 4 Mb of source code),
+<DD>Free Pascal is entirely written in Pascal (about 6 Mb of source code),
 while GNU Pascal is written in C (it's an adaptation of the GNU C compiler:
 while GNU Pascal is written in C (it's an adaptation of the GNU C compiler:
 2.8 Mb code + 8 MB of GNU C code)</DD>
 2.8 Mb code + 8 MB of GNU C code)</DD>
 <DT><B>Language:</B></DT>
 <DT><B>Language:</B></DT>
@@ -136,7 +165,7 @@ while GNU Pascal is written in C (it's an adaptation of the GNU C compiler:
 the Delphi Object Pascal language. GNU Pascal supports ISO 7185, ISO 10206,
 the Delphi Object Pascal language. GNU Pascal supports ISO 7185, ISO 10206,
 (most of) Borland Pascal 7.0</DD>
 (most of) Borland Pascal 7.0</DD>
 <DT><B>Extensions:</B></DT>
 <DT><B>Extensions:</B></DT>
-<DD>Free Pascal implements function overloading and operator overloading.
+<DD>Free Pascal implements method, function and operator overloading.
 GNU Pascal implements operator overloading.</DD>
 GNU Pascal implements operator overloading.</DD>
 <DT><B>License:</B></DT>
 <DT><B>License:</B></DT>
 <DD>Both compilers come under the GNU GPL.</DD>
 <DD>Both compilers come under the GNU GPL.</DD>
@@ -157,28 +186,30 @@ important to take a few precautions so that your code will execute
 correctly on all processors.
 correctly on all processors.
 </P>
 </P>
 <UL>
 <UL>
-<LI>Limit your use of asm statements unless it is time critical code
+<LI>Limit your use of asm statements unless it is time critical code</LI>
 <LI>Don't use the packed directive unless you know exactly what you are
 <LI>Don't use the packed directive unless you know exactly what you are
 doing. Most processors require alignment of data, and using packed on
 doing. Most processors require alignment of data, and using packed on
 objects,classes and records may break this requirement. If this is the
 objects,classes and records may break this requirement. If this is the
-case your code will simply crash on the target processors.
+case your code will simply crash on the target processors.</LI>
 <LI>Clean up at the end of your program, i.e. close all files on exit,
 <LI>Clean up at the end of your program, i.e. close all files on exit,
-as some operating systems don't like it when some files are left opened. 
+as some operating systems don't like it when some files are left opened. </LI>
 <LI>Try not to rely on the endian of the specific machines when doing
 <LI>Try not to rely on the endian of the specific machines when doing
 arithmetic operations. Furthermore, reading and writing of binary data
 arithmetic operations. Furthermore, reading and writing of binary data
 to/from files will probably require byte swaps across different endian
 to/from files will probably require byte swaps across different endian
-machines (swap is your friend in this case) 
+machines (swap is your friend in this case). This is even more important
+if you write binary data to files. </LI>
 <LI>Try limiting your local variables in subroutines to 32K, as this
 <LI>Try limiting your local variables in subroutines to 32K, as this
-is the limit of some processors, use dynamic allocation instead. 
+is the limit of some processors, use dynamic allocation instead. </LI>
 <LI>Try limiting the size of parameters passed to subroutines to 32K,
 <LI>Try limiting the size of parameters passed to subroutines to 32K,
 as this is the limit of some processors, use const or var parameters
 as this is the limit of some processors, use const or var parameters
-instead. 
+instead. </LI>
 </UL><BR>
 </UL><BR>
 <LI><A NAME="OOP"></A><H3>I tried to compile my Delphi code with the Free Pascal
 <LI><A NAME="OOP"></A><H3>I tried to compile my Delphi code with the Free Pascal
 Compiler, but it seems that it doesn't recognize Delphi style OOP.</H3>
 Compiler, but it seems that it doesn't recognize Delphi style OOP.</H3>
 <P>
 <P>
 The compiler supports the Delphi OOP. Make sure you use
 The compiler supports the Delphi OOP. Make sure you use
 the -S2 or -Sd switches (see the manuals for the meaning of these switches).
 the -S2 or -Sd switches (see the manuals for the meaning of these switches).
+For a list of Delphi incompabilities also check the manual.
 </P>
 </P>
 <LI><A NAME="HOMEWORK"></A><H3>I have to write a program for homework. Can you help?</H3>
 <LI><A NAME="HOMEWORK"></A><H3>I have to write a program for homework. Can you help?</H3>
 <P>
 <P>
@@ -215,7 +246,7 @@ and do a 'make' there.
 It is possible to do all this manually, but you need more detailed knowledge
 It is possible to do all this manually, but you need more detailed knowledge
 of the RTL tree structure for that.
 of the RTL tree structure for that.
 </P>
 </P>
-<LI><A NAME="Internalerror9999"></A><H3>I get an internal error 9999</H3>
+<LI><A NAME="Internalerror9999"></A><H3>I get an internal error 9999 or 10?</H3>
 <P>
 <P>
 The latest versions of the Free Pascal Compiler come with an error handling
 The latest versions of the Free Pascal Compiler come with an error handling
 routine which catches the segmentation fault and lets the compiler to exit
 routine which catches the segmentation fault and lets the compiler to exit
@@ -228,7 +259,9 @@ a bug report.
 terminates if during compiling a certain condition is not met, which can be
 terminates if during compiling a certain condition is not met, which can be
 caused by several bugs. So if you report the bug, and get IE 9999 later in
 caused by several bugs. So if you report the bug, and get IE 9999 later in
 a different piece or part of sourcecode, it could be a completely different
 a different piece or part of sourcecode, it could be a completely different
-bug.)
+bug. <b>IE 10</b> is something similar. It is a safety measure that is triggered
+when the estimated number of registers needed to evaluate an expression proves 
+wrong. Just like IE 9999, two IE 10 problems are often independant of eachother.)
 </P>
 </P>
 <LI><A NAME="Howdoesfunctionoverloadingwork"></A><H3>How does function overloading work?</H3>
 <LI><A NAME="Howdoesfunctionoverloadingwork"></A><H3>How does function overloading work?</H3>
 <P>
 <P>
@@ -263,11 +296,6 @@ For calling the C function strcmp declare the following:
 function strcmp(s1 : pchar;s2 : pchar) : integer;cdecl;external;
 function strcmp(s1 : pchar;s2 : pchar) : integer;cdecl;external;
 Since 0.99.5, the older [C]; won't work!
 Since 0.99.5, the older [C]; won't work!
 </PRE>
 </PRE>
-<LI><A NAME="DJGPP2support"></A><H3>When will Free Pascal use DJGPP 2.0 under DOS/Windows?</H3>
-<P>
-As of version 0.99.0 Free Pascal uses DJGPP 2.0. DJGPP v1.2 support has
-been removed since version FPC 0.99.8.
-</P>
 <LI><A NAME="HowToUseGraph"></A><H3>How can I use the graph unit with Free Pascal?</H3>
 <LI><A NAME="HowToUseGraph"></A><H3>How can I use the graph unit with Free Pascal?</H3>
 <P>
 <P>
 Since 0.99.12, the graph unit is available both for Dos and Linux. Under Dos,
 Since 0.99.12, the graph unit is available both for Dos and Linux. Under Dos,
@@ -275,6 +303,37 @@ it only supported VESA modes though. Since version 0.99.14, a new more system
 independant graph unit is included (although the only extra supported OS is
 independant graph unit is included (although the only extra supported OS is
 Win32 and this is only rudimentary support) which also supports standard VGA.
 Win32 and this is only rudimentary support) which also supports standard VGA.
 </P>
 </P>
+<P>
+Since version 1.0, we also have a completely platform independent way of selecting
+resolutions and bitdepths. You are strongly encouraged to use it, because other ways
+will probably fail on one or other platform. See the documentation of the graph unit
+for more information.
+<LI><A NAME="WrongColors"></A><H3>Why do I get wrong colors when using the graph unit?</H3>
+<P>
+If you use <TT>detect</TT> as graphdriver, you will end up with the highest supported
+bitdepth. Since the graph unit currently only supports up to 16 bits per pixel modes and
+since this bitdepth is supported by all graphics cards made in at least the last 5 years, you
+will most likely get a 16 bit mode.
+</P>
+<P>
+The main problem is that in 16 (and 15, 24, 32, ...) bit modes, the colors aren't set anymore
+using an index in a palette (the palettized way is called "indexed color"). In these modes, the
+color number itself determines what color you get on screen and you can't change this color. The
+color is encoded as follows (for most graphics cards on PC's at least):
+</P>
+<UL>
+<LI>15 bit color: lower 5 bits are blue intensity, next come 5 bits of green and then 5 bits of red. The
+highest bit of the word is ignored.
+<LI>16 bit color: lower 5 bits are blue intensite, next come *6* bits of green and then 5 bits of red.
+</UL>
+<P>
+This means that either you have to rewrite your program so it can work with this so-called "direct color"
+scheme, or that you have to use <TT>D8BIT</TT> as graphdriver and <TT>DetectMode</TT> as graphmode. This will ensure that
+you end up with a 256 (indexed) color mode. If there are no 256 color modes supported, then graphresult
+will contain the value <TT>GrNotDetected</TT> after you called InitGraph and you can retry with graphdriver <TT>D4BIT</TT>. Make sure you use
+the constant names (D8BIT, D4BIT, ...) and not their actual numeric values, because those values can
+change with the next release! That the very reason why such symbolic constants exist.
+</P>
 <LI><A NAME="IntegratedAssemblerSyntax"></A><H3>Integrated Assembler syntax</H3>
 <LI><A NAME="IntegratedAssemblerSyntax"></A><H3>Integrated Assembler syntax</H3>
 <P>
 <P>
 The default assembler syntax (AT&amp;T style) is different from the
 The default assembler syntax (AT&amp;T style) is different from the
@@ -305,11 +364,13 @@ dosmemput/dosmemget routines in Go32 unit.
 On the Intel version the emulator is automatically loaded by the compiler
 On the Intel version the emulator is automatically loaded by the compiler
 if you add the following commands to your autoexec.bat:
 if you add the following commands to your autoexec.bat:
 </P>
 </P>
+<P>
 <PRE>
 <PRE>
 SET 387=N
 SET 387=N
 SET EMU386=C:\PP\BIN\GO32V2\WEMU387.DXE
 SET EMU386=C:\PP\BIN\GO32V2\WEMU387.DXE
 </PRE>
 </PRE>
 (don't forget to replace the <TT>C:\PP</TT> with the directory where you installed FPC)
 (don't forget to replace the <TT>C:\PP</TT> with the directory where you installed FPC)
+</P>
 <LI><A NAME="AccessingMoreThan4MB"></A><H3>How do I reserve more than 2 megabytes of RAM?</H3>
 <LI><A NAME="AccessingMoreThan4MB"></A><H3>How do I reserve more than 2 megabytes of RAM?</H3>
 <P>
 <P>
 By default Free Pascal allocates only 2MB of RAM for your application. If it just allocated all
 By default Free Pascal allocates only 2MB of RAM for your application. If it just allocated all
@@ -342,6 +403,10 @@ procedures of the go32 unit.
 Since version 0.99.8, the Port array is supported like in TP, as long as you
 Since version 0.99.8, the Port array is supported like in TP, as long as you
 use the ports unit in your program (not available under Win32).
 use the ports unit in your program (not available under Win32).
 </P>
 </P>
+<P>
+I/O port access is possible under Linux, but that requires root privileges. Check
+the manuals for the IOPerm, ReadPort and WritePort procedures. (Unit Linux)
+</P>  
 <LI><A NAME="ImusingWin95"></A><H3>I'm using the Dos compiler under Windows 95</H3>
 <LI><A NAME="ImusingWin95"></A><H3>I'm using the Dos compiler under Windows 95</H3>
 <P>
 <P>
 There is a problem with the Dos compiler and Win 95 on computers with less
 There is a problem with the Dos compiler and Win 95 on computers with less
@@ -368,12 +433,29 @@ You can either extract that file from basego32.zip or download it from
 http://www.brain.uni-freiburg.de/%7Eklaus/cwsdpmi.exe</a>.
 http://www.brain.uni-freiburg.de/%7Eklaus/cwsdpmi.exe</a>.
 Put it into the same directory as install.exe and run install again.
 Put it into the same directory as install.exe and run install again.
 </p>
 </p>
-<LI><A NAME="winnt"></A><H3>INSTALL.EXE of Dos version 0.99.10 does not run in Windows NT</H3>
-<P>
-This is an incompatibility of the mouse driver.
-Use this new version of install.exe instead:
-<a href="ftp://ftp.freepascal.org/pub/fpc/snapshot/install.exe">
-ftp://ftp.freepascal.org/pub/fpc/snapshot/install.exe</a>
+<LI><A NAME="instal10NT"></A><H3>INSTALL.EXE of version 1.0 for Dos returns an error (-2) in Windows NT 4.0</H3>
+<P>
+This is caused by long file names in some of the .ZIPs of the dosversion. A new installer 
+will be generated that ignores the packages with long file names in it. Currently it is still being tested.
+Alternatively, one could use the installer from the Win32 1.0 version under NT. This has the additional benefit 
+that the archives with long filenames can be selected and installed too.
+</P>  
+<P>
+The exact cause of this problem is that a NT 4.0 dosbox doesn't support long file names for dos programs.
+Windows 95,98 and 2000 don't exhibit this problem.
+</P>  
+<P>
+<ul>
+<li>The current ZIPs on ftp have been updated with the new installer.</lI>
+<lI>Dosw32100.zip, has now default the win32 installer, and the go32v2
+installer packaged as installd.exe.
+<li>If you already downloaded one of the large Dos zips, repeated downloading 
+is not necessary, just download a new installer:<ul>
+<li><a href="ftp://ftp.freepascal.org/pub/fpc/dist/dos-1.00/separate/install.exe">Plain dos installer. For dos without a 32-bit windows loaded or OS/2</a></lI>
+<li><a href="ftp://ftp.freepascal.org/pub/fpc/dist/win32-1.00/separate/install.exe">Win32 installer, for all win32 targets (win 95,98,NT en 2000) including their dosboxes</a></li>
+</ul></lI>
+<li>If you downloaded an OS/2 version, and experience problems, you can try to download the new dos installer</lI>
+</ul>
 </P>
 </P>
 <LI><A NAME="snapshot"></A><H3>I want a new version NOW</H3>
 <LI><A NAME="snapshot"></A><H3>I want a new version NOW</H3>
 <P>
 <P>
@@ -442,6 +524,7 @@ try again one or two days later or ask for help on one of the
 <p>
 <p>
 There are several reasons and remedies for this:
 There are several reasons and remedies for this:
 </p>
 </p>
+<p>
 <ol>
 <ol>
 <li>
 <li>
 <p>If you are using 0.99.12: Due to some problems with the binary writer, 0.99.12 wasn't
 <p>If you are using 0.99.12: Due to some problems with the binary writer, 0.99.12 wasn't
@@ -451,22 +534,23 @@ functions and constants to be linked in.</p>
 You can remedy this by using a development version and creating a smartlinking
 You can remedy this by using a development version and creating a smartlinking
 RTL. See the <a href="makecyc.html">make cycle faq</a> or use a later release if available (0.99.14 and later do include a smartlinkable RTL). To turn on the generation of smartlinkable units, use the -Cx command line option when compiling
 RTL. See the <a href="makecyc.html">make cycle faq</a> or use a later release if available (0.99.14 and later do include a smartlinkable RTL). To turn on the generation of smartlinkable units, use the -Cx command line option when compiling
 your units. To turn on the linking of previously generated smarlinkable units, use the -XX (-XS in 0.99.12 and earlier) command line option when compiling a program.
 your units. To turn on the linking of previously generated smarlinkable units, use the -XX (-XS in 0.99.12 and earlier) command line option when compiling a program.
-</p>
+</p></li>
 <li>Normally, all symbol information is included in the resulting program (for
 <li>Normally, all symbol information is included in the resulting program (for
 easier debugging). You can remove this by using the -Xs command line
 easier debugging). You can remove this by using the -Xs command line
 option when compiling your program (it won't do anything when compiling
 option when compiling your program (it won't do anything when compiling
-units)
+units)</li>
 <lI>You can use UPX to pack the .EXEs (just like e.g. pklite) for Dos (GO32v2)
 <lI>You can use UPX to pack the .EXEs (just like e.g. pklite) for Dos (GO32v2)
 and Windows targets. Look <A HREF="http://wildsau.idv.uni-linz.ac.at/mfx/upx.html">here</A> for
 and Windows targets. Look <A HREF="http://wildsau.idv.uni-linz.ac.at/mfx/upx.html">here</A> for
-more info.
+more info.</lI>
 <lI>You can use LXLITE for packing EMX binaries, but you won't be able to run
 <lI>You can use LXLITE for packing EMX binaries, but you won't be able to run
 them under DOS (with extender) any more then. It might even not be possible
 them under DOS (with extender) any more then. It might even not be possible
 to use them on lower OS/2 versions (like 2.x) depending on chosen type
 to use them on lower OS/2 versions (like 2.x) depending on chosen type
 of compression. LXLITE can be found e.g. on <A HREF="http://hobbes.nmsu.edu">Hobbes</A>, search
 of compression. LXLITE can be found e.g. on <A HREF="http://hobbes.nmsu.edu">Hobbes</A>, search
-for LXLITE.</li>
+for LXLITE.</li></li>
 <li>Turn on optimalisations, both for supplied packages (RTL, API, FV, FCL) and for
 <li>Turn on optimalisations, both for supplied packages (RTL, API, FV, FCL) and for
 your own code, this will also decrease the code size. 
 your own code, this will also decrease the code size. 
 </ol>
 </ol>
+</p>
 <LI><A NAME="systemnotfound"></A><H3>Unit system, syslinux, sysos2 or syswin32 not found errors</H3>
 <LI><A NAME="systemnotfound"></A><H3>Unit system, syslinux, sysos2 or syswin32 not found errors</H3>
 <p>
 <p>
 System (syslinux, sysos2 or syswin32, depending on platform) is Pascal's base unit which is implicitely used
 System (syslinux, sysos2 or syswin32, depending on platform) is Pascal's base unit which is implicitely used
@@ -476,7 +560,7 @@ be found to be able to compile any pascal program by FPC.
 <p>
 <p>
 The location of the system.ppu and syslinux.o files are determined by the -Fu
 The location of the system.ppu and syslinux.o files are determined by the -Fu
 switch which can be specified commandline, but is usually in the ppc386.cfg
 switch which can be specified commandline, but is usually in the ppc386.cfg
-(Win32: ppc386w.cfg) configuration file.
+configuration file.
 </p>
 </p>
 <p>
 <p>
 If the compiler can't find this unit there are three possible causes:
 If the compiler can't find this unit there are three possible causes:
@@ -499,48 +583,51 @@ where the compiler is currently looking for
 the system unit's files. You might
 the system unit's files. You might
 want to pipe this through more (Dos, OS/2, Windows) or less (Linux), since it can generate more than one screen information:
 want to pipe this through more (Dos, OS/2, Windows) or less (Linux), since it can generate more than one screen information:
 </p>
 </p>
+<P>
 <pre>
 <pre>
 Dos, OS/2, Windows:
 Dos, OS/2, Windows:
 ppc386 programname -vt |more<br>
 ppc386 programname -vt |more<br>
 Linux:
 Linux:
 ppc386 programname -vt |less<br>
 ppc386 programname -vt |less<br>
 </pre>
 </pre>
+</P>
 <LI><A NAME="KnownBugs"></A><H3>Known bugs</H3>
 <LI><A NAME="KnownBugs"></A><H3>Known bugs</H3>
 <P>
 <P>
 Go to the <A HREF="bugs.html">bugs page</A>
 Go to the <A HREF="bugs.html">bugs page</A>
 </P>
 </P>
 <LI><A NAME="ErrorPos"></A><H3>How can I find where an error occurred using the addresses a crashed program prints?</H3>
 <LI><A NAME="ErrorPos"></A><H3>How can I find where an error occurred using the addresses a crashed program prints?</H3>
 <OL>
 <OL>
-<LI>Starting with version 1.00, the easiest possibility is to compile
+<LI>Starting with version 1.00, the easiest possibility is to recompile
 your program with -gl debugging option. This way unit LineInfo is
 your program with -gl debugging option. This way unit LineInfo is
 automatically linked in, and the printout after a program crash then
 automatically linked in, and the printout after a program crash then
-contains source line numbers in addition to addresses.
+contains source line numbers in addition to addresses. To see RTL functions in the backtrace
+with their real name, you have to recompile the RTL with -gl too.</LI>
 <LI>For older versions, or more comprehensive checking, compile the program
 <LI>For older versions, or more comprehensive checking, compile the program
-with debugging information (use the -g command line option)
+with debugging information (use the -g command line option)</LI>
 <LI>Load the program in the debugger (gdb(w) for 0.99.12b and earlier, gdbpas(w)
 <LI>Load the program in the debugger (gdb(w) for 0.99.12b and earlier, gdbpas(w)
 for 0.99.14 and later) using
 for 0.99.14 and later) using
 <pre>gdb(pas)(w) --directory=&LT;src dirs&GT; myprog.exe</pre>
 <pre>gdb(pas)(w) --directory=&LT;src dirs&GT; myprog.exe</pre>
 Notes:
 Notes:
 <UL>
 <UL>
-<LI>Under Linux, don't add the ".exe" after myprog
+<LI>Under Linux, don't add the ".exe" after myprog</LI>
 <LI>"<TT>src dirs</TT>" is a list of directories containing the source code
 <LI>"<TT>src dirs</TT>" is a list of directories containing the source code
 files of myprog and the units it uses seperated by semi-colons (";").
 files of myprog and the units it uses seperated by semi-colons (";").
-The current directory is automatically included.
+The current directory is automatically included.</LI>
 </UL>
 </UL>
 <LI>Once inside the debugger, you can (optionally) set the command line options
 <LI>Once inside the debugger, you can (optionally) set the command line options
 that will be passed to your program using the command "<TT>set args &LT;option1
 that will be passed to your program using the command "<TT>set args &LT;option1
-option2 ...&GT;</TT>"
-<LI>To start the program, type "<TT>run</TT>" and press enter
+option2 ...&GT;</TT>"</LI>
+<LI>To start the program, type "<TT>run</TT>" and press enter</LI>
 <LI>After the program has crashed, the address of the instruction where the crash
 <LI>After the program has crashed, the address of the instruction where the crash
 occurred will be shown.
 occurred will be shown.
 The debugger will try to display the source code line corresponding with this
 The debugger will try to display the source code line corresponding with this
 address. Note that this can be inside a procedure of the RTL, so the source
 address. Note that this can be inside a procedure of the RTL, so the source
 may not always be available and most likely the RTL wasn't compiled with
 may not always be available and most likely the RTL wasn't compiled with
-debugging information.
+debugging information.</LI>
 <LI>If you then type "<TT>bt</TT>" (BackTrace), the addreses in the call stack will
 <LI>If you then type "<TT>bt</TT>" (BackTrace), the addreses in the call stack will
 be shown (the addresses of the procedures which were called before the program
 be shown (the addresses of the procedures which were called before the program
 got to the current address). You can see which source code lines these present
 got to the current address). You can see which source code lines these present
-using the command <pre>info line *&LT;address&GT;</pre>For example:<pre>info line *0x05bd8</pre>
+using the command <pre>info line *&LT;address&GT;</pre>For example:<pre>info line *0x05bd8</pre> </LI>
 </OL>
 </OL>
 </ol>
 </ol>
 <BR></TD>
 <BR></TD>

+ 222 - 46
install/doc/faq.txt

@@ -1,10 +1,46 @@
-                                               Frequently Asked Questions
-                                                                         
+
+    1. [1]What is Free Pascal (FPC)?
+    2. [2]Which versions exist, and which one should I use?
+    3. [3]Free Pascal and GNU Pascal - a comparison
+    4. [4]Where can I get the compiler ?
+    5. [5]What are the considerations in porting
+    6. [6]I tried to compile my Delphi code with the Free Pascal
+    7. [7]I have to write a program for homework. Can you help?
+    8. [8]How can I build a unit?
+    9. [9]Will Free Pascal support TV (Turbo Vision) in the future?
+   10. [10]How can I compile the system unit?
+   11. [11]I get an internal error 9999 or 10?
+   12. [12]How does function overloading work?
+   13. [13]How can I call C functions?
+   14. [14]How can I use the graph unit with Free Pascal?
+   15. [15]Why do I get wrong colors when using the graph unit?
+   16. [16]Integrated Assembler syntax
+   17. [17]How can I access DOS memory / How can I do graphics
+       programming?
+   18. [18]How can I run Free Pascal without a math coprocessor?
+   19. [19]How do I reserve more than 2 megabytes of RAM?
+   20. [20]How can I access I/O ports?
+   21. [21]I'm using the Dos compiler under Windows 95
+   22. [22]I'm using OS/2
+   23. [23]INSTALL.EXE of Dos version 0.99.10 reports "Load error: no
+       DPMI"
+   24. [24]INSTALL.EXE of version 1.0 for Dos returns an error (-2) in
+       Windows NT 4.0
+   25. [25]I want a new version NOW
+   26. [26]Where can I find a text mode IDE?
+   27. [27]How do I configure the Dos IDE?
+   28. [28]Why are the generated binaries so big?
+   29. [29]Unit system, syslinux, sysos2 or syswin32 not found errors
+   30. [30]Known bugs
+   31. [31]How can I find where an error occurred using the addresses a
+       crashed program prints?
+       
     1. What is Free Pascal (FPC)?
     1. What is Free Pascal (FPC)?
        Originally named FPK-Pascal, the Free Pascal compiler is a 32 bit
        Originally named FPK-Pascal, the Free Pascal compiler is a 32 bit
        Turbo Pascal compatible Pascal compiler for DOS, Linux, Win32,
        Turbo Pascal compatible Pascal compiler for DOS, Linux, Win32,
        OS/2 and (based on an older version) the AmigaOS. More operating
        OS/2 and (based on an older version) the AmigaOS. More operating
-       systems are in the works.
+       systems (BeOS and FreeBSD/ELF are in advanced stages of
+       development) are in the works.
        The compiler is written in Pascal and is able to compile its own
        The compiler is written in Pascal and is able to compile its own
        sources. The source files are included.
        sources. The source files are included.
        Free Pascal is modest regarding its minimal system requirements
        Free Pascal is modest regarding its minimal system requirements
@@ -18,15 +54,42 @@
           + 3/1996: released to the internet
           + 3/1996: released to the internet
           + 7/2000: 1.0 version
           + 7/2000: 1.0 version
     2. Which versions exist, and which one should I use?
     2. Which versions exist, and which one should I use?
+       FPC's version numbering changed a few times over the years.
+       Versions before 0.99.5 are considered archaic. After the release
+       of 0.99.5 a system in version numbering was introduced, and that
+       system was changed slightly changed after the 1.0 release.
+       Versioning for versions 0.99.5 - 1.0
        Compilers with an even last number are release versions(e.g.
        Compilers with an even last number are release versions(e.g.
-       0.99.8, 0.99.10, 0.99.12, 0.99.14 and 1.00)
+       0.99.8, 0.99.10, 0.99.12, 0.99.14 1.0.0)
        Compilers and packages with an odd last number are development
        Compilers and packages with an odd last number are development
-       versions (e.g. 0.99.9, 0.99.11, 0.99.13, 0.99.15 and 1.0.9).
+       versions (e.g. 0.99.9, 0.99.11, 0.99.13, 0.99.15)
        0.99.5 is an exception to this rule, since 0.99.5 IS a release (a
        0.99.5 is an exception to this rule, since 0.99.5 IS a release (a
-       release prior to the introduction of this odd/even system)
+       release prior to the introduction of this odd/even system).
        Letters behind the version number (0.99.12b, 0.99.5d) indicate
        Letters behind the version number (0.99.12b, 0.99.5d) indicate
        release versions with some bugs and problems in the original
        release versions with some bugs and problems in the original
        release (respectively 0.99.12 and 0.99.5) fixed.
        release (respectively 0.99.12 and 0.99.5) fixed.
+       Versioning after 1.0
+       Together with the release of 1.0 the version numbering has been
+       slightly changed, and a system in versioning resembling the Linux
+       kernel's has been introduced. The main difference is that the
+       difference between a release version is now in the second number
+       (1.0.x vs 1.1.x) instead of the third number (0.99.14 vs 0.99.15),
+       and the third number now becomes the patch level, replacing the
+       postfixed letter in the old system.
+          + Releases that only fix bugs in version 1.0 will be numbered
+            1.0.x
+          + New development (the so called snapshots) have version number
+            1.1.x. The meaning of the third version number x in the new
+            development branch is not defined yet, it could be used for
+            test releases or to signal major changes.
+          + Eventually the 1.1.x versions, when stabilized will be
+            released as version 1.2. Fixes on the 1.2 release will be
+            numbered 1.2.x
+          + The new development after the 1.2 release will be numbered
+            1.3.x and so on
+          + When really big changes are implemented, the version will be
+            updated in the major number. This could be case with e.g. a
+            codegenerator rewrite with support for other processors
        Normally you would want to use a release. Releases are considered
        Normally you would want to use a release. Releases are considered
        stable, and easier to support (the bugs, quirks and unintended
        stable, and easier to support (the bugs, quirks and unintended
        "features" are well known after a period of time, and workarounds
        "features" are well known after a period of time, and workarounds
@@ -35,7 +98,7 @@
        current status of the compiler. Development versions probably have
        current status of the compiler. Development versions probably have
        new features and larger bugs fixed since the last release, but
        new features and larger bugs fixed since the last release, but
        might have some temporary stability drawbacks (which are usually
        might have some temporary stability drawbacks (which are usually
-       fixed by the next day)
+       fixed by the next day).
        Most support for development snapshots are basically the advise to
        Most support for development snapshots are basically the advise to
        upgrade to newer snapshot in which the bugs are hopefully fixed.
        upgrade to newer snapshot in which the bugs are hopefully fixed.
        Since version 0.99.8 the stability of the compiler steadily
        Since version 0.99.8 the stability of the compiler steadily
@@ -44,8 +107,10 @@
        the trouble in your case if you're not sure.
        the trouble in your case if you're not sure.
        The current release version is 1.00 for the OS/2, Linux, Windows
        The current release version is 1.00 for the OS/2, Linux, Windows
        and Dos (Go32V2) targets and 0.99.5d for the 680x0 based systems
        and Dos (Go32V2) targets and 0.99.5d for the 680x0 based systems
-       (Amiga and Atari ST)
-       The current development snapshot version is 1.0.9.
+       (Amiga and Atari ST). The development versions (snapshots) are
+       numbered 1.1.x at the moment
+       We advise all users to upgrade to the newest version for their
+       target. (1.0 for intel processors, and 0.99.5d for Motorola)
     3. Free Pascal and GNU Pascal - a comparison
     3. Free Pascal and GNU Pascal - a comparison
        
        
         Aim:
         Aim:
@@ -74,7 +139,7 @@
                 Pascal runs basically on any system that can run GNU C.
                 Pascal runs basically on any system that can run GNU C.
                 
                 
         Sources:
         Sources:
-                Free Pascal is entirely written in Pascal (about 4 Mb of
+                Free Pascal is entirely written in Pascal (about 6 Mb of
                 source code), while GNU Pascal is written in C (it's an
                 source code), while GNU Pascal is written in C (it's an
                 adaptation of the GNU C compiler: 2.8 Mb code + 8 MB of
                 adaptation of the GNU C compiler: 2.8 Mb code + 8 MB of
                 GNU C code)
                 GNU C code)
@@ -86,7 +151,7 @@
                 Pascal 7.0
                 Pascal 7.0
                 
                 
         Extensions:
         Extensions:
-                Free Pascal implements function overloading and operator
+                Free Pascal implements method, function and operator
                 overloading. GNU Pascal implements operator overloading.
                 overloading. GNU Pascal implements operator overloading.
                 
                 
         License:
         License:
@@ -98,7 +163,7 @@
                 Jukka Virtanen, Finland ([email protected]).
                 Jukka Virtanen, Finland ([email protected]).
                 
                 
     4. Where can I get the compiler ?
     4. Where can I get the compiler ?
-       Free Pascal is available for download from all [46]official
+       Free Pascal is available for download from all [32]official
        mirrors
        mirrors
     5. What are the considerations in porting code to other processors?
     5. What are the considerations in porting code to other processors?
        Because the compiler now supports processors other than the Intel,
        Because the compiler now supports processors other than the Intel,
@@ -118,7 +183,8 @@
             doing arithmetic operations. Furthermore, reading and writing
             doing arithmetic operations. Furthermore, reading and writing
             of binary data to/from files will probably require byte swaps
             of binary data to/from files will probably require byte swaps
             across different endian machines (swap is your friend in this
             across different endian machines (swap is your friend in this
-            case)
+            case). This is even more important if you write binary data
+            to files.
           + Try limiting your local variables in subroutines to 32K, as
           + Try limiting your local variables in subroutines to 32K, as
             this is the limit of some processors, use dynamic allocation
             this is the limit of some processors, use dynamic allocation
             instead.
             instead.
@@ -129,6 +195,7 @@
        but it seems that it doesn't recognize Delphi style OOP.
        but it seems that it doesn't recognize Delphi style OOP.
        The compiler supports the Delphi OOP. Make sure you use the -S2 or
        The compiler supports the Delphi OOP. Make sure you use the -S2 or
        -Sd switches (see the manuals for the meaning of these switches).
        -Sd switches (see the manuals for the meaning of these switches).
+       For a list of Delphi incompabilities also check the manual.
     7. I have to write a program for homework. Can you help?
     7. I have to write a program for homework. Can you help?
        No. Please, don't send us mail about homework, we are no teachers.
        No. Please, don't send us mail about homework, we are no teachers.
        The Free Pascal development team tries to give good support for
        The Free Pascal development team tries to give good support for
@@ -147,7 +214,7 @@
        lately. It's already very usable, we are even writing an IDE in
        lately. It's already very usable, we are even writing an IDE in
        it. Due to copyrights problem the FreeVision source code is not
        it. Due to copyrights problem the FreeVision source code is not
        available at the moment. You can download the IDE from the
        available at the moment. You can download the IDE from the
-       [47]development page. and get an idea of the look and feel though.
+       [33]development page. and get an idea of the look and feel though.
    10. How can I compile the system unit?
    10. How can I compile the system unit?
        To recompile the system unit, it is recommended to have GNU make
        To recompile the system unit, it is recommended to have GNU make
        installed. typing 'make' in the rtl source directory will then
        installed. typing 'make' in the rtl source directory will then
@@ -156,17 +223,21 @@
        a 'make' there.
        a 'make' there.
        It is possible to do all this manually, but you need more detailed
        It is possible to do all this manually, but you need more detailed
        knowledge of the RTL tree structure for that.
        knowledge of the RTL tree structure for that.
-   11. I get an internal error 9999
+   11. I get an internal error 9999 or 10?
        The latest versions of the Free Pascal Compiler come with an error
        The latest versions of the Free Pascal Compiler come with an error
        handling routine which catches the segmentation fault and lets the
        handling routine which catches the segmentation fault and lets the
        compiler to exit gracefully. This is reported as an internal error
        compiler to exit gracefully. This is reported as an internal error
-       9999. Please try to reproduce the error and send [48]us a bug
+       9999. Please try to reproduce the error and send [34]us a bug
        report.
        report.
        (For the curious, IE 9999 is not a specific bug. It is a safety
        (For the curious, IE 9999 is not a specific bug. It is a safety
        measure which terminates if during compiling a certain condition
        measure which terminates if during compiling a certain condition
        is not met, which can be caused by several bugs. So if you report
        is not met, which can be caused by several bugs. So if you report
        the bug, and get IE 9999 later in a different piece or part of
        the bug, and get IE 9999 later in a different piece or part of
-       sourcecode, it could be a completely different bug.)
+       sourcecode, it could be a completely different bug. IE 10 is
+       something similar. It is a safety measure that is triggered when
+       the estimated number of registers needed to evaluate an expression
+       proves wrong. Just like IE 9999, two IE 10 problems are often
+       independant of eachother.)
    12. How does function overloading work?
    12. How does function overloading work?
        function overloading is implemented, like in C++:
        function overloading is implemented, like in C++:
 procedure a(i : integer);
 procedure a(i : integer);
@@ -192,15 +263,44 @@ end.
        following:
        following:
 function strcmp(s1 : pchar;s2 : pchar) : integer;cdecl;external;
 function strcmp(s1 : pchar;s2 : pchar) : integer;cdecl;external;
 Since 0.99.5, the older [C]; won't work!
 Since 0.99.5, the older [C]; won't work!
-   14. When will Free Pascal use DJGPP 2.0 under DOS/Windows?
-       As of version 0.99.0 Free Pascal uses DJGPP 2.0. DJGPP v1.2
-       support has been removed since version FPC 0.99.8.
-   15. How can I use the graph unit with Free Pascal?
+   14. How can I use the graph unit with Free Pascal?
        Since 0.99.12, the graph unit is available both for Dos and Linux.
        Since 0.99.12, the graph unit is available both for Dos and Linux.
        Under Dos, it only supported VESA modes though. Since version
        Under Dos, it only supported VESA modes though. Since version
        0.99.14, a new more system independant graph unit is included
        0.99.14, a new more system independant graph unit is included
        (although the only extra supported OS is Win32 and this is only
        (although the only extra supported OS is Win32 and this is only
        rudimentary support) which also supports standard VGA.
        rudimentary support) which also supports standard VGA.
+       Since version 1.0, we also have a completely platform independent
+       way of selecting resolutions and bitdepths. You are strongly
+       encouraged to use it, because other ways will probably fail on one
+       or other platform. See the documentation of the graph unit for
+       more information.
+   15. Why do I get wrong colors when using the graph unit?
+       If you use detect as graphdriver, you will end up with the highest
+       supported bitdepth. Since the graph unit currently only supports
+       up to 16 bits per pixel modes and since this bitdepth is supported
+       by all graphics cards made in at least the last 5 years, you will
+       most likely get a 16 bit mode.
+       The main problem is that in 16 (and 15, 24, 32, ...) bit modes,
+       the colors aren't set anymore using an index in a palette (the
+       palettized way is called "indexed color"). In these modes, the
+       color number itself determines what color you get on screen and
+       you can't change this color. The color is encoded as follows (for
+       most graphics cards on PC's at least):
+          + 15 bit color: lower 5 bits are blue intensity, next come 5
+            bits of green and then 5 bits of red. The highest bit of the
+            word is ignored.
+          + 16 bit color: lower 5 bits are blue intensite, next come *6*
+            bits of green and then 5 bits of red.
+       This means that either you have to rewrite your program so it can
+       work with this so-called "direct color" scheme, or that you have
+       to use D8BIT as graphdriver and DetectMode as graphmode. This will
+       ensure that you end up with a 256 (indexed) color mode. If there
+       are no 256 color modes supported, then graphresult will contain
+       the value GrNotDetected after you called InitGraph and you can
+       retry with graphdriver D4BIT. Make sure you use the constant names
+       (D8BIT, D4BIT, ...) and not their actual numeric values, because
+       those values can change with the next release! That the very
+       reason why such symbolic constants exist.
    16. Integrated Assembler syntax
    16. Integrated Assembler syntax
        The default assembler syntax (AT&T style) is different from the
        The default assembler syntax (AT&T style) is different from the
        one in Borland Pascal (Intel style).
        one in Borland Pascal (Intel style).
@@ -208,13 +308,13 @@ Since 0.99.5, the older [C]; won't work!
        assembly syntax. See the documentation for more info on how to use
        assembly syntax. See the documentation for more info on how to use
        different assembler styles.
        different assembler styles.
        A description of the AT&T syntax can be found in the DJGPP FAQ
        A description of the AT&T syntax can be found in the DJGPP FAQ
-       [49]http://www.delorie.com/djgpp/v2faq/faq102.html#Syntax or in
+       [35]http://www.delorie.com/djgpp/v2faq/faq102.html#Syntax or in
        Brennan's Guide to Inline Assembly
        Brennan's Guide to Inline Assembly
-       [50]http://www.rt66.com/%7Ebrennan/djgpp/djgpp asm.html. The
+       [36]http://www.rt66.com/%7Ebrennan/djgpp/djgpp asm.html. The
        documentation also contains a chapter where the difference between
        documentation also contains a chapter where the difference between
        the Intel and AT&T style assembly is explained.
        the Intel and AT&T style assembly is explained.
        Or you can use the convertor program at
        Or you can use the convertor program at
-       [51]http://rcs.urz.tu-dresden.de/schoenfu/zip/asmtrans.zip .
+       [37]http://rcs.urz.tu-dresden.de/schoenfu/zip/asmtrans.zip .
    17. How can I access DOS memory / How can I do graphics programming?
    17. How can I access DOS memory / How can I do graphics programming?
        You can do like in TP, via absolute or mem[]. For larger memory
        You can do like in TP, via absolute or mem[]. For larger memory
        blocks use the dosmemput/dosmemget routines in Go32 unit.
        blocks use the dosmemput/dosmemget routines in Go32 unit.
@@ -249,6 +349,9 @@ SET EMU386=C:\PP\BIN\GO32V2\WEMU387.DXE
        Since version 0.99.8, the Port array is supported like in TP, as
        Since version 0.99.8, the Port array is supported like in TP, as
        long as you use the ports unit in your program (not available
        long as you use the ports unit in your program (not available
        under Win32).
        under Win32).
+       I/O port access is possible under Linux, but that requires root
+       privileges. Check the manuals for the IOPerm, ReadPort and
+       WritePort procedures. (Unit Linux)
    21. I'm using the Dos compiler under Windows 95
    21. I'm using the Dos compiler under Windows 95
        There is a problem with the Dos compiler and Win 95 on computers
        There is a problem with the Dos compiler and Win 95 on computers
        with less than 16 MB. First set in the properties of the DOS box
        with less than 16 MB. First set in the properties of the DOS box
@@ -268,12 +371,31 @@ SET EMU386=C:\PP\BIN\GO32V2\WEMU387.DXE
        available. Such services are for example available in a Dos window
        available. Such services are for example available in a Dos window
        of Windows. You can either extract that file from basego32.zip or
        of Windows. You can either extract that file from basego32.zip or
        download it from
        download it from
-       [52]http://www.brain.uni-freiburg.de/%7Eklaus/cwsdpmi.exe. Put it
+       [38]http://www.brain.uni-freiburg.de/%7Eklaus/cwsdpmi.exe. Put it
        into the same directory as install.exe and run install again.
        into the same directory as install.exe and run install again.
-   24. INSTALL.EXE of Dos version 0.99.10 does not run in Windows NT
-       This is an incompatibility of the mouse driver. Use this new
-       version of install.exe instead:
-       [53]ftp://ftp.freepascal.org/pub/fpc/snapshot/install.exe
+   24. INSTALL.EXE of version 1.0 for Dos returns an error (-2) in
+       Windows NT 4.0
+       This is caused by long file names in some of the .ZIPs of the
+       dosversion. A new installer will be generated that ignores the
+       packages with long file names in it. Currently it is still being
+       tested. Alternatively, one could use the installer from the Win32
+       1.0 version under NT. This has the additional benefit that the
+       archives with long filenames can be selected and installed too.
+       The exact cause of this problem is that a NT 4.0 dosbox doesn't
+       support long file names for dos programs. Windows 95,98 and 2000
+       don't exhibit this problem.
+          + The current ZIPs on ftp have been updated with the new
+            installer.
+          + Dosw32100.zip, has now default the win32 installer, and the
+            go32v2 installer packaged as installd.exe.
+          + If you already downloaded one of the large Dos zips, repeated
+            downloading is not necessary, just download a new installer:
+               o [39]Plain dos installer. For dos without a 32-bit
+                 windows loaded or OS/2
+               o [40]Win32 installer, for all win32 targets (win 95,98,NT
+                 en 2000) including their dosboxes
+          + If you downloaded an OS/2 version, and experience problems,
+            you can try to download the new dos installer
    25. I want a new version NOW
    25. I want a new version NOW
        In the time between the release of new official versions, you can
        In the time between the release of new official versions, you can
        have a look at and test developer versions (so-called
        have a look at and test developer versions (so-called
@@ -286,7 +408,7 @@ SET EMU386=C:\PP\BIN\GO32V2\WEMU387.DXE
        try again one or two days later. You're advised not to download
        try again one or two days later. You're advised not to download
        the GO32v1 version for Dos, since it's not supported any more.
        the GO32v1 version for Dos, since it's not supported any more.
        The latest snapshot can always be downloaded from the
        The latest snapshot can always be downloaded from the
-       [54]development web page.
+       [41]development web page.
        To install a snapshot, extract the zip archive into the existing
        To install a snapshot, extract the zip archive into the existing
        program directory of the last official version of Free Pascal
        program directory of the last official version of Free Pascal
        (after making a backup of the original of course). You can also
        (after making a backup of the original of course). You can also
@@ -305,7 +427,7 @@ SET EMU386=C:\PP\BIN\GO32V2\WEMU387.DXE
        particular platform (1.00 for GO32v2 or Win32). So if you have not
        particular platform (1.00 for GO32v2 or Win32). So if you have not
        already done that, first install the latest official version (e.g.
        already done that, first install the latest official version (e.g.
        file dos100.zip or dos100full.zip, you find these in the
        file dos100.zip or dos100full.zip, you find these in the
-       [55]download section).
+       [42]download section).
        Then get and extract the latest snapshot for your platform (e.g.
        Then get and extract the latest snapshot for your platform (e.g.
        snapshot.zip) into the directory containing the official version.
        snapshot.zip) into the directory containing the official version.
        Next, do the same with one of the IDE snapshots. For more details
        Next, do the same with one of the IDE snapshots. For more details
@@ -324,7 +446,7 @@ SET EMU386=C:\PP\BIN\GO32V2\WEMU387.DXE
        directory, usually c:\pp\rtl\go32v2. If you have done everything
        directory, usually c:\pp\rtl\go32v2. If you have done everything
        correct and it still doesn't work, you may have grabbed a snapshot
        correct and it still doesn't work, you may have grabbed a snapshot
        that has a bug; in this case try again one or two days later or
        that has a bug; in this case try again one or two days later or
-       ask for help on one of the [56]mailing lists.
+       ask for help on one of the [43]mailing lists.
    28. Why are the generated binaries so big?
    28. Why are the generated binaries so big?
        There are several reasons and remedies for this:
        There are several reasons and remedies for this:
          1. If you are using 0.99.12: Due to some problems with the
          1. If you are using 0.99.12: Due to some problems with the
@@ -332,7 +454,7 @@ SET EMU386=C:\PP\BIN\GO32V2\WEMU387.DXE
             RTLs. Smartlinking causes only actually used procedures,
             RTLs. Smartlinking causes only actually used procedures,
             functions and constants to be linked in.
             functions and constants to be linked in.
             You can remedy this by using a development version and
             You can remedy this by using a development version and
-            creating a smartlinking RTL. See the [57]make cycle faq or
+            creating a smartlinking RTL. See the [44]make cycle faq or
             use a later release if available (0.99.14 and later do
             use a later release if available (0.99.14 and later do
             include a smartlinkable RTL). To turn on the generation of
             include a smartlinkable RTL). To turn on the generation of
             smartlinkable units, use the -Cx command line option when
             smartlinkable units, use the -Cx command line option when
@@ -344,13 +466,13 @@ SET EMU386=C:\PP\BIN\GO32V2\WEMU387.DXE
             the -Xs command line option when compiling your program (it
             the -Xs command line option when compiling your program (it
             won't do anything when compiling units)
             won't do anything when compiling units)
          3. You can use UPX to pack the .EXEs (just like e.g. pklite) for
          3. You can use UPX to pack the .EXEs (just like e.g. pklite) for
-            Dos (GO32v2) and Windows targets. Look [58]here for more
+            Dos (GO32v2) and Windows targets. Look [45]here for more
             info.
             info.
          4. You can use LXLITE for packing EMX binaries, but you won't be
          4. You can use LXLITE for packing EMX binaries, but you won't be
             able to run them under DOS (with extender) any more then. It
             able to run them under DOS (with extender) any more then. It
             might even not be possible to use them on lower OS/2 versions
             might even not be possible to use them on lower OS/2 versions
             (like 2.x) depending on chosen type of compression. LXLITE
             (like 2.x) depending on chosen type of compression. LXLITE
-            can be found e.g. on [59]Hobbes, search for LXLITE.
+            can be found e.g. on [46]Hobbes, search for LXLITE.
          5. Turn on optimalisations, both for supplied packages (RTL,
          5. Turn on optimalisations, both for supplied packages (RTL,
             API, FV, FCL) and for your own code, this will also decrease
             API, FV, FCL) and for your own code, this will also decrease
             the code size.
             the code size.
@@ -361,7 +483,7 @@ SET EMU386=C:\PP\BIN\GO32V2\WEMU387.DXE
        be found to be able to compile any pascal program by FPC.
        be found to be able to compile any pascal program by FPC.
        The location of the system.ppu and syslinux.o files are determined
        The location of the system.ppu and syslinux.o files are determined
        by the -Fu switch which can be specified commandline, but is
        by the -Fu switch which can be specified commandline, but is
-       usually in the ppc386.cfg (Win32: ppc386w.cfg) configuration file.
+       usually in the ppc386.cfg configuration file.
        If the compiler can't find this unit there are three possible
        If the compiler can't find this unit there are three possible
        causes:
        causes:
          1. The ppc386.cfg isn't in the same path as the compiler
          1. The ppc386.cfg isn't in the same path as the compiler
@@ -369,12 +491,12 @@ SET EMU386=C:\PP\BIN\GO32V2\WEMU387.DXE
             "/etc/ppc386.cfg" or ".ppc386.cfg" in your homedirectory
             "/etc/ppc386.cfg" or ".ppc386.cfg" in your homedirectory
             (Linux).
             (Linux).
          2. The ppc386.cfg doesn't contain the -Fu line, or a wrong one.
          2. The ppc386.cfg doesn't contain the -Fu line, or a wrong one.
-            See the [60]make cycle faq, especially the chapters about the
+            See the [47]make cycle faq, especially the chapters about the
             ppc386.cfg and the directory structure.
             ppc386.cfg and the directory structure.
          3. The files ARE found but the wrong version or platform.
          3. The files ARE found but the wrong version or platform.
             Correct ppc386.cfg to point to the right versions or
             Correct ppc386.cfg to point to the right versions or
             reinstall the right versions (this can happen if you try to
             reinstall the right versions (this can happen if you try to
-            use a [61]snapshot compiler while the -Fu statemnt in the
+            use a [48]snapshot compiler while the -Fu statemnt in the
             used ppc386.cfg still points to the RTL that came with the
             used ppc386.cfg still points to the RTL that came with the
             official release compiler).
             official release compiler).
        A handy trick can be executing "ppc386 programname -vt", this
        A handy trick can be executing "ppc386 programname -vt", this
@@ -389,20 +511,22 @@ Linux:
 ppc386 programname -vt |less
 ppc386 programname -vt |less
 
 
    30. Known bugs
    30. Known bugs
-       Go to the [62]bugs page
+       Go to the [49]bugs page
    31. How can I find where an error occurred using the addresses a
    31. How can I find where an error occurred using the addresses a
        crashed program prints?
        crashed program prints?
          1. Starting with version 1.00, the easiest possibility is to
          1. Starting with version 1.00, the easiest possibility is to
-            compile your program with -gl debugging option. This way unit
-            LineInfo is automatically linked in, and the printout after a
-            program crash then contains source line numbers in addition
-            to addresses.
+            recompile your program with -gl debugging option. This way
+            unit LineInfo is automatically linked in, and the printout
+            after a program crash then contains source line numbers in
+            addition to addresses. To see RTL functions in the backtrace
+            with their real name, you have to recompile the RTL with -gl
+            too.
          2. For older versions, or more comprehensive checking, compile
          2. For older versions, or more comprehensive checking, compile
             the program with debugging information (use the -g command
             the program with debugging information (use the -g command
             line option)
             line option)
          3. Load the program in the debugger (gdb(w) for 0.99.12b and
          3. Load the program in the debugger (gdb(w) for 0.99.12b and
             earlier, gdbpas(w) for 0.99.14 and later) using
             earlier, gdbpas(w) for 0.99.14 and later) using
-gdb(pas)(w) --directory=<src dirs>; myprog.exe
+gdb(pas)(w) --directory=&LT;src dirs&GT; myprog.exe
             Notes:
             Notes:
                o Under Linux, don't add the ".exe" after myprog
                o Under Linux, don't add the ".exe" after myprog
                o "src dirs" is a list of directories containing the
                o "src dirs" is a list of directories containing the
@@ -411,7 +535,7 @@ gdb(pas)(w) --directory=<src dirs>; myprog.exe
                  automatically included.
                  automatically included.
          4. Once inside the debugger, you can (optionally) set the
          4. Once inside the debugger, you can (optionally) set the
             command line options that will be passed to your program
             command line options that will be passed to your program
-            using the command "set args <;option1 option2 ...>"
+            using the command "set args &LT;option1 option2 ...&GT;"
          5. To start the program, type "run" and press enter
          5. To start the program, type "run" and press enter
          6. After the program has crashed, the address of the instruction
          6. After the program has crashed, the address of the instruction
             where the crash occurred will be shown. The debugger will try
             where the crash occurred will be shown. The debugger will try
@@ -424,6 +548,58 @@ gdb(pas)(w) --directory=<src dirs>; myprog.exe
             were called before the program got to the current address).
             were called before the program got to the current address).
             You can see which source code lines these present using the
             You can see which source code lines these present using the
             command
             command
-info line *<address>
+info line *&LT;address&GT;
             For example:
             For example:
 info line *0x05bd8
 info line *0x05bd8
+
+References
+
+   1. file://localhost/home/pfv/html/faq.htm#WhatIsFP
+   2. file://localhost/home/pfv/html/faq.htm#versions
+   3. file://localhost/home/pfv/html/faq.htm#FPandGNUPascal
+   4. file://localhost/home/pfv/html/faq.htm#WhereToGetFP
+   5. file://localhost/home/pfv/html/faq.htm#PortabilityTips
+   6. file://localhost/home/pfv/html/faq.htm#OOP
+   7. file://localhost/home/pfv/html/faq.htm#HOMEWORK
+   8. file://localhost/home/pfv/html/faq.htm#HowcanIbuildaunit
+   9. file://localhost/home/pfv/html/faq.htm#TurboVision
+  10. file://localhost/home/pfv/html/faq.htm#CompileSystemUnit
+  11. file://localhost/home/pfv/html/faq.htm#Internalerror9999
+  12. file://localhost/home/pfv/html/faq.htm#Howdoesfunctionoverloadingwork
+  13. file://localhost/home/pfv/html/faq.htm#HowToCallCFuncuntions
+  14. file://localhost/home/pfv/html/faq.htm#HowToUseGraph
+  15. file://localhost/home/pfv/html/faq.htm#WrongColors
+  16. file://localhost/home/pfv/html/faq.htm#IntegratedAssemblerSyntax
+  17. file://localhost/home/pfv/html/faq.htm#HowToAccessDosMemory
+  18. file://localhost/home/pfv/html/faq.htm#FPwithoutfpu
+  19. file://localhost/home/pfv/html/faq.htm#AccessingMoreThan4MB
+  20. file://localhost/home/pfv/html/faq.htm#accessioports
+  21. file://localhost/home/pfv/html/faq.htm#ImusingWin95
+  22. file://localhost/home/pfv/html/faq.htm#ImusingOS2
+  23. file://localhost/home/pfv/html/faq.htm#dpmi
+  24. file://localhost/home/pfv/html/faq.htm#instal10NT
+  25. file://localhost/home/pfv/html/faq.htm#snapshot
+  26. file://localhost/home/pfv/html/faq.htm#ideinst
+  27. file://localhost/home/pfv/html/faq.htm#ideconfig
+  28. file://localhost/home/pfv/html/faq.htm#binariesbig
+  29. file://localhost/home/pfv/html/faq.htm#systemnotfound
+  30. file://localhost/home/pfv/html/faq.htm#KnownBugs
+  31. file://localhost/home/pfv/html/faq.htm#ErrorPos
+  32. file://localhost/home/pfv/html/download.html
+  33. file://localhost/home/pfv/html/develop.html#snapshot
+  34. file://localhost/home/pfv/html/bugs.html
+  35. http://www.delorie.com/djgpp/v2faq/faq102.html#Syntax
+  36. http://www.rt66.com/%7Ebrennan/djgpp/djgpp%A0asm.html
+  37. http://rcs.urz.tu-dresden.de/schoenfu/zip/asmtrans.zip
+  38. http://www.brain.uni-freiburg.de/%7Eklaus/cwsdpmi.exe
+  39. ftp://ftp.freepascal.org/pub/fpc/dist/dos-1.00/separate/install.exe
+  40. ftp://ftp.freepascal.org/pub/fpc/dist/win32-1.00/separate/install.exe
+  41. file://localhost/home/pfv/html/develop.html#snapshot
+  42. file://localhost/home/pfv/html/download.html
+  43. file://localhost/home/pfv/html/maillist.html
+  44. file://localhost/home/pfv/html/makecyc.html
+  45. http://wildsau.idv.uni-linz.ac.at/mfx/upx.html
+  46. http://hobbes.nmsu.edu/
+  47. file://localhost/home/pfv/html/makecyc.html
+  48. file://localhost/home/pfv/html/faq.htm#snapshot
+  49. file://localhost/home/pfv/html/bugs.html

+ 5 - 5
install/doc/readme.txt

@@ -107,7 +107,7 @@ All standard packages contain a part that is specific for the target platform
 and a few files which are target independent. All files are also available
 and a few files which are target independent. All files are also available
 as separate files to reduce file size if the default file is too big.
 as separate files to reduce file size if the default file is too big.
 
 
-dos100.zip specific:
+dos102.zip specific:
 ----------------------
 ----------------------
   basego32.zip    contains a DOS (Go32V2) compiler, runtime library and
   basego32.zip    contains a DOS (Go32V2) compiler, runtime library and
                   additional files
                   additional files
@@ -129,7 +129,7 @@ dos100.zip specific:
       UPX 1.01
       UPX 1.01
   gdbgo32.zip     contains the GNU Debugger 4.18 with pascal support for Go32V2
   gdbgo32.zip     contains the GNU Debugger 4.18 with pascal support for Go32V2
 
 
-w32100.zip specific:
+w32102.zip specific:
 ----------------------
 ----------------------
   basew32.zip     contains a Win32 compiler, runtime library and
   basew32.zip     contains a Win32 compiler, runtime library and
                   additional files
                   additional files
@@ -154,7 +154,7 @@ w32100.zip specific:
       UPX 1.01
       UPX 1.01
   gdbw32.zip      contains the GNU Debugger 4.18 with pascal support for Win32
   gdbw32.zip      contains the GNU Debugger 4.18 with pascal support for Win32
 
 
-os2100.zip specific:
+os2102.zip specific:
 ----------------------
 ----------------------
   baseemx.zip     contains an EMX (OS/2 and DOS) compiler, runtime library and
   baseemx.zip     contains an EMX (OS/2 and DOS) compiler, runtime library and
                   additional files
                   additional files
@@ -183,7 +183,7 @@ os2100.zip specific:
   gdbemx.zip      contains the GNU Debugger 4.16 for EMX,
   gdbemx.zip      contains the GNU Debugger 4.16 for EMX,
                   PMGDB (Presentation Manager add-on for GDB) and GPROF 2.9.1
                   PMGDB (Presentation Manager add-on for GDB) and GPROF 2.9.1
 
 
-common files in dos100.zip, w32100.zip and os2100.zip:
+common files in dos102.zip, w32102.zip and os2102.zip:
 ------------------------------------------------------------
 ------------------------------------------------------------
   demo.zip        contains some demo files
   demo.zip        contains some demo files
   doc-pdf.zip     contains the documentation in PDF format
   doc-pdf.zip     contains the documentation in PDF format
@@ -192,7 +192,7 @@ common files in dos100.zip, w32100.zip and os2100.zip:
   readme.txt      this readme file
   readme.txt      this readme file
   whatsnew.txt    what's been changed
   whatsnew.txt    what's been changed
 
 
-Optional source package src100.zip:
+Optional source package src102.zip:
 -------------------------------------
 -------------------------------------
   basesrc.zip     contains the basic Makefiles needed for the source tree
   basesrc.zip     contains the basic Makefiles needed for the source tree
   compsrc.zip     contains the compiler sources
   compsrc.zip     contains the compiler sources

+ 3 - 3
install/fpc-docs.spec

@@ -1,15 +1,15 @@
 Name: fpc-docs
 Name: fpc-docs
-Version: 1.0.1
+Version: 1.0.2
 Release: 1
 Release: 1
 Copyright: GPL
 Copyright: GPL
 Group: Development/Languages
 Group: Development/Languages
-Source: fpc-docs-1.0.1-src.tar.gz
+Source: fpc-docs-1.0.2-src.tar.gz
 Summary: Free Pascal Compiler Documentation
 Summary: Free Pascal Compiler Documentation
 Packager: Peter Vreman ([email protected])
 Packager: Peter Vreman ([email protected])
 URL: http://www.freepascal.org/
 URL: http://www.freepascal.org/
 BuildRoot: /tmp/fpc-docs-build
 BuildRoot: /tmp/fpc-docs-build
 
 
-%define fpcversion 1.0.1
+%define fpcversion 1.0.2
 %define fpcdir /usr/lib/fpc/%{fpcversion}
 %define fpcdir /usr/lib/fpc/%{fpcversion}
 %define docdir /usr/doc/fpc-%{fpcversion}
 %define docdir /usr/doc/fpc-%{fpcversion}
 
 

+ 3 - 3
install/fpc.spec

@@ -1,17 +1,17 @@
 Name: fpc
 Name: fpc
-Version: 1.0.1
+Version: 1.0.2
 Release: 1
 Release: 1
 ExclusiveArch: i386 i586 i686
 ExclusiveArch: i386 i586 i686
 Copyright: GPL
 Copyright: GPL
 Group: Development/Languages
 Group: Development/Languages
-Source: fpc-1.0.1-src.tar.gz
+Source: fpc-1.0.2-src.tar.gz
 Summary: Free Pascal Compiler
 Summary: Free Pascal Compiler
 Packager: Peter Vreman ([email protected])
 Packager: Peter Vreman ([email protected])
 URL: http://www.freepascal.org/
 URL: http://www.freepascal.org/
 BuildRoot: /tmp/fpc-build
 BuildRoot: /tmp/fpc-build
 BuildRequires: fpc
 BuildRequires: fpc
 
 
-%define fpcversion 1.0.1
+%define fpcversion 1.0.2
 %define fpcdir /usr/lib/fpc/%{fpcversion}
 %define fpcdir /usr/lib/fpc/%{fpcversion}
 %define docdir /usr/doc/fpc-%{fpcversion}
 %define docdir /usr/doc/fpc-%{fpcversion}
 
 

+ 1 - 1
install/install.sh

@@ -8,7 +8,7 @@
 #
 #
 
 
 # Release Version
 # Release Version
-VERSION=1.00
+VERSION=1.0.2
 
 
 # some useful functions
 # some useful functions
 # ask displays 1st parameter, and ask new value for variable, whose name is
 # ask displays 1st parameter, and ask new value for variable, whose name is

+ 2 - 2
install/makepack

@@ -5,7 +5,7 @@
 #
 #
 
 
 # Version
 # Version
-VERSION=1.00
+VERSION=1.0.2
 RELEASE=ELF
 RELEASE=ELF
 
 
 unset FPCDIR
 unset FPCDIR
@@ -17,7 +17,7 @@ make linuxzip
 make sourcezip
 make sourcezip
 make docsrc
 make docsrc
 make docs
 make docs
-make demo
+make demozip
 
 
 SOURCES=`/bin/ls *src.tar.gz`
 SOURCES=`/bin/ls *src.tar.gz`
 FILES=`/bin/ls *linux.tar.gz *exm.tar.gz`
 FILES=`/bin/ls *linux.tar.gz *exm.tar.gz`