From: Robert AH Prins <
spamtrap@prino.org>
Subject: CLPB Mini FAQ
Archive-name: pascal/borland-minifaq
Posting-Frequency: Every month
Last-modified: 2012-10-15
Version: 2.02
This document is (in general) posted every month as an aid to new
readers of these Newsgroups. It provides background knowledge of the
group, answers to the most frequently asked questions, a listing of
Pascal resources and netiquette in posting to the groups. Please do
take the time to read through this information.
Changes to the FAQ, giving a new version number will have a # in the
first column for the life of the version.
**********************************************************************
This is the comp.lang.pascal.borland Mini-FAQ, created by Tom Wheeley.
It was maintained by Chris Mathews until Feb 1998 and by Pedt Scragg
until February 2003. It's currently maintained by Robert AH Prins <mailto:clpbfaq at prino dot net>.
You can avoid seeing this Mini-FAQ again by killfiling on
'[FAQ] mini-FAQ V' _and_
'- essential reading for those new to the newsgroup'
**********************************************************************
Contents:
# 0 Dead links in the FAQ
1 What is comp.lang.pascal.borland?
1.1 History of the Group
1.2 Posting Guidelines
2 Where can I find {more?} Information - Pascal FAQ's?
2.1 FTP sites
2.2 Notable sources of information
2.3 Uploading your masterpieces to an FTP site
3 Very Frequently Asked Questions.
3.1 Pointers to info for assorted questions
3.2 Request for answers
4 Compiler and unit downloads
4.1 Borland compilers for download
4.2 Replacement units for download
4.2.1 Replacement SYSTEM units available for download
4.2.2 Replacement CRT units available for download
4.2.3 Replacement OVERLAY unit for download
4.2.4 Emulator sources for download
5 Using Borland compilers on modern Operating Systems
5.1 Windows 64-bit
5.2 Linux
5.3 Virtual Machines
APPENDIX A - FTP site mirrors
APPENDIX B - Credits **********************************************************************
0. Dead links in the FAQ **********************************************************************
# This FAQ contains a number of links that are dead. They are marked
# with (*W*) and by putting the URL into the search box on the
# Internet Archive website,
http://www.archive.org/ , many of them can
# still be retrieved.
**********************************************************************
1. What is comp.lang.pascal.borland? **********************************************************************
This is the Usenet newsgroup for discussion on Borland Pascal, Turbo
Pascal and Turbo Pascal for Windows systems. All users are welcome
and this group is not moderated. In order to keep Usenet confusion
down, we request that you post only questions or discussions
concerning Pascal on the Borland Pascal compilers.
You might also be interested in "what are the differences between
Borland/Delphi/Kylix languages and ISO 7185 standard Pascal", at:
http://www.moorecad.com/standardpascal/pascalfaq.html
Please note that Delphi does not belong in this group. There are
many groups for Delphi discussion. Until the beginning of March
2005, Prof. Timo Salmi used to post a weekly FAQ regarding the
newsgroup reorganization of comp.lang.pascal.*. The contents of this
FAQ can be found as the answer to Q 76 in
ftp://garbo.uwasa.fi/pc/link/tsfaqp.zip
Also there is the Turbovision group described as "Borland's text
application libraries." It is C-biased, but Pascal does get a
look-in:
comp.os.msdos.programmer.turbovision
Please do not post to the obsolete groups:
comp.lang.pascal
comp.lang.pascal.delphi.components
**********************************************************************
1.1 History of the Group **********************************************************************
comp.lang.pascal.borland was created by popular vote on
12 June 1995.
Historical information on this and other Usenet Pascal newsgroups
is available from:
ftp://garbo.uwasa.fi/pc/doc-net/pasgroup.zip
**********************************************************************
1.2 Posting Guidelines **********************************************************************
a) "A problem well stated is a problem half solved" Charles F.
Kettering
b) Put as much information as you can in the subject line.
*Subjects like "help me" or "question about Pascal" are silly.*
Also note that some newsreaders truncate the subject line early.
c) If you have used one of the RTE200 patches. You are unlikely to
get any useful help unless you tell us: whose patch; from where;
BP/TP; Version Number; Real or Protected Mode; DOS/Win3/Win9x/?;
and *exactly* what the symptoms were and what the output was.
d) Usually, it will be sufficient to post to a single one of the
Pascal groups. But if you ever need to post to more than one
group, be sure to use a single cross-posted article rather than
multiple postings. For more guidelines, see
http://en.wikipedia.org/wiki/Crosspost
e) Please do not request the answer to your question solely via
email! Someone else will be interested and it is only polite to
the readers of this newsgroup. Remember also that public replies
are subject to peer review in case corrections and/or additions
are needed.
f) A "Thank you" after an answer that solved your query is a lot
nicer than a TIA. Do you ever give a TIA in real life?
g) We will not do your homework for you! We will, however, give
advice on specific topics and look at code that you have a
problem with. Show us what you have done already and pointers and
fixes will be forthcoming. Don't just post your assignment!
h) Be aware of limits. Try to keep your posting text lines to 72
characters or FEWER. If you use more, your posts may well look
messy when quoted.
i) Please ignore trolls who post or crosspost articles of an
inflammatory nature deliberately to try and cause mischief for
the group. Watch out for Follow-up: headers set to a different
group - your reply then goes to the other group and not
comp.lang.pascal.borland.
j) *Binaries must NOT be posted to this group.* Nor MIME
Attachments. (Especially nasty are those mailers which convert '='
to '=3D', a very bad thing to do to *any* Pascal source code.)
If you are wondering *why* binaries are banned, read this:
http://lipas.uwasa.fi/~ts/http/nobin.html
The rest of that very useful FAQ is worth a read also. You can
find it here:
http://lipas.uwasa.fi/~ts/http/tsfaq.html
If you want to distribute binaries or large source files then you
could upload it to your own web site or to one of the FTP sites.
See the section
'Uploading your masterpieces to an FTP site'.
k) Do not post material that is not already in the public domain,
unless you have permission from the owner. If in doubt, quote
part of it and provide a link to the original.
l) Expressly forbidden is posting of any commercial material, for
example Turbo Pascal 7, or even just GRAPH.TPU. *This is illegal*
Do not even ask for these. Contact Borland if you have a problem.
Borland have released TP V1, V3.02 and V.5.5 for download. See
http://edn.embarcadero.com/museum/antiquesoftware - you may have
to register.
m) Please, when replying to an article, only quote *as much as
needed* to show the context of your answer.
n) Post your comments or answer *below* the previous poster's text
as this is both basic Netiquette and a valuable aid to keep track
of the thread.
o) When posting problem code, please keep to the problem areas and
their context *and* show Var and Type declarations that are
involved.
p) Please indent your code, it may make postings a fraction bigger,
but it will increase the readability by an order of magnitude!
One indenter can be found on John Stockton's site,
http://www.merlyn.demon.co.uk/programs/clean-tp.pas
John's program only changes indentation, nothing else!
Other fuller featured pretty-printers are available on Garbo:
ftp://garbo.uwasa.fi/pc/goldies/bp7sb101.zip
ftp://garbo.uwasa.fi/pc/turbopas/bp7sb104.zip
ftp://garbo.uwasa.fi/pc/turbopas/epb256.zip
ftp://garbo.uwasa.fi/pc/turbopas/tpbeaut.zip
For on-the-fly beautification of your Pascal programs and use of
higher resolutions than those offered as standard (up to 132x60),
you may want to have a look at Alexander Petrosyan's "Borland
Pascal Autocorrector". It's here:
http://paf.design.ru/bpr.html
q) Do *NOT* post in HTML format. Make sure you post only plain text.
r) Do *NOT* add source code using an attachment - merge your source
into the text of the article you are posting.
s) Please do not post source code that runs into many hundreds or
thousands of lines of code, the place for such code is on the Web
or at an FTP site.
t) If you want to post a follow-up via groups.google.com, don't use
the broken "Reply" link at the bottom of the article. Click on
"show options" at the top of the article, then click on the
"Reply" at the bottom of the article headers." - Keith Thompson
**********************************************************************
2. Where can I find more information? **********************************************************************
Pascal FAQs:
- The infamous, ubiquitous, mandatory and downright useful Timo
Salmi's 'Common Turbo Pascal Questions and Timo's answers' is
available at
ftp://garbo.uwasa.fi/pc/link/tsfaqp.zip
Note that this runs to over 150 questions and answers and a list
of Question Titles is posted monthly to comp.lang.pascal.borland
Be aware that it was last updated way back in January 2000...
- Jon Shemitz' original comp.lang.pascal FAQ
http://www.midnightbeach.com/jon/pubs/clp-faq.htm
- Pascal Turbo Vision FAQ
#
http://www.zeta.org.au/~grove/pasfhome.html (*W*)
A copy of this (not-updated-since-1995) FAQ can be found on the
pages of Dr John Stockton
http://www.merlyn.demon.co.uk/oldpfaqs/pastvfaq.txt
Learning Pascal
- If you are beginning Pascal, or want to learn some new
techniques, you could do far worse than take a look at Glenn
Grotzinger's TP Tutorial, in section 2.2
**********************************************************************
2.1 FTP sites: See Appendix A for *some* mirrors **********************************************************************
'Garbo' The primary Turbo Pascal source/unit site.
ftp://garbo.uwasa.fi/pc/ {turbopa* directories}
http://garbo.uwasa.fi/
'Oulu' Lots of files related to game (and demo?) programming.
ftp://x2ftp.oulu.fi/pub/msdos/programming/ (*DEAD?*)
'Simtel' Enormous MS-DOS archive
#
ftp://ftp.simtel.net/pub/simtelnet/
http://www.simtel.net/
TV site Turbovision source/applications ?
The old Turbo Vision site is gone, try Google:
http://www.google.com/search?q=%22turbo-vision%22
These may be referred to by the name in the left hand column, both in
this FAQ and on the newsgroup. For Simtel and Garbo at least, the
contents of the primary site are mirrored in a number of locations
throughout the world. Please use a mirror site close to you if
possible both to save load on the primary site and to keep the
distance between you and the download site as short as possible. Info
on Garbo and Simtel mirrors is in Appendix A.
**********************************************************************
2.2 WWW sites **********************************************************************
If you have a Web site concentrating on Pascal (esp. Borland), then
why not get it added to the list in the FAQ? Just send the URL and
a short description to me, <mailto:clpbfaq at prino dot net>.
----------------------------------------------------------------------
Pascal Central
http://pascal-central.com/
The intent of Pascal Central is to provide the Pascal community one
place to obtain Pascal technical information, Pascal source code and
Pascal-related internet links. Mainly Pascal for the MAC.
----------------------------------------------------------------------
Franz Glaser's TP Links
http://www.geocities.com/SiliconValley/2926/tp.html (*W*)
Franz Glaser had a very large number of resources available to Pascal
programmers available from the links page listed. Included a full set
of resources for the RunError 200 problem, which is a VFAQ in clpb.
An alternative for GeoCities sites is to use www.reocities.com. It
(seems to) work(s) for Franz Glaser's site.
----------------------------------------------------------------------
* SWAG.
Available from Garbo and Simtel directory turbopas/
get swaga-c.zip...swags-z.zip + swag.zip.
A free archive of Turbo Pascal code, produced by the 'Source Ware
Archival Group'. Note that the download is ~5Mb
Many people would consider SWAG essential before posting here!
The last SWAG Archive update SWAG9711.ZIP contains a new file:
LASTSWAG.TXT. They've decided to cease the current distribution and
move to a web-based library concentrating on Delphi.
The whole archive is now available on-line in HTML format at
#
http://www.bsdg.org/swag/index.html (*W*)
#
http://www.kd5col.info/swag/index.html
----------------------------------------------------------------------
Coders Knowledge Base
http://www.netalive.org/forums/programming
Aims to be the successor to SWAG but information quality is quite
variable at the present time.
----------------------------------------------------------------------
Ralf Brown's Interrupt List (Also known as RBIL)
The man himself:
http://www-2.cs.cmu.edu/afs/cs/user/ralf/pub/WWW/files.html
ftp://garbo.uwasa.fi/pc/programming/inter61a.zip
inter61a.zip x86/MS-DOS Interrupt List, 1/4, Ralf Brown, impressive
ftp://garbo.uwasa.fi/pc/programming/inter61b.zip
inter61b.zip x86/MS-DOS Interrupt List, 2/4, Ralf Brown, impressive
ftp://garbo.uwasa.fi/pc/programming/inter61c.zip
inter61c.zip x86/MS-DOS Interrupt List, 3/4, Ralf Brown, impressive
ftp://garbo.uwasa.fi/pc/programming/inter61d.zip
inter61d.zip x86/MS-DOS Interrupt List, 4/4, Ralf Brown, impressive
ftp://garbo.uwasa.fi/pc/programming/inter61e.zip
inter61e.zip Utility programs/source code for interrupt list, R.Brown
ftp://garbo.uwasa.fi/pc/programming/inter61f.zip
inter61f.zip WinHelp conversion programs for interrupt list, R.Brown
An on-line fully-indexed HTML version can be found here:
http://www.ctyme.com/rbrown.htm
284031 Apr 15 1991
ftp://garbo.uwasa.fi/pc/programming/helppc21.zip
helppc21.zip Advanced Programmer's Quick Reference Utility (good)
----------------------------------------------------------------------
The PCGPE 'PC Games Programmers Encyclopaedia'
http://www.filewatcher.com/_/?q=pcgpe10.zip
Version 1 contains lots of information on interfacing with games
related hardware - Mouse, joystick, Sound Cards, VGA specs.
Useful software techniques include BSP trees, 3d algorithms, a
starfield sim and fire effects. gfx file formats included too.
Includes Assembly and VGA tutorials by Asphyxia and VLA.
Thankfully, the author is a Pascal aficionado and so most of the
code is in Pascal or Pascal-style pseudocode. It also focusses on
techniques, rather than doling out code or units, aiding
understanding.
----------------------------------------------------------------------
Glenn Grotzinger's Turbo Pascal Tutor
ftp://garbo.uwasa.fi/pc/turbopas/tptutr11.zip
This tutor was written and posted to the comp.lang.pascal.borland
newsgroup. It contains tutorials, exercises and answers for all the
major areas in Turbo Pascal and most of the niches too.
----------------------------------------------------------------------
About.Com Pascal Programming Guide, Amit Chattopadhyay
http://search.about.com/fullsearch.htm?terms=pascal&IAM=URL_pascal
A fairly comprehensive portal site to popular Pascal source code,
documents, tutorials and programming resources. Features weekly
articles, chat area and discussion forum.
----------------------------------------------------------------------
Pascal.Sources.Ru, Valery Votintsev
http://pascal.sources.ru/
A big _RUSSIAN_ language site with a very large amount of Pascal
material, including a Russian version of SWAG, which contains a
substantial number of snippets that are not in SWAG.
----------------------------------------------------------------------
Bug Lists
Believe it or not, your favourite Borland products are not 100%
perfect.
Turbo Pascal 6
ftp://garbo.uwasa.fi/pc/turbopa6/tp6bugs7.zip
Borland Pascal 7
ftp://garbo.uwasa.fi/pc/turbspec/bp7bugs2.zip
TurboVision (possibly newer versions of Brad Williams's TV bug list)
ftp://garbo.uwasa.fi/pc/turbovis/tvbugs31.zip
**********************************************************************
2.3 Uploading your masterpieces to an FTP site **********************************************************************
If you upload your splendid TPU, program or source code, then it
doesn't clutter up the newsgroup and will be publicly available for
longer.
----------------------------------------------------------------------
Garbo
Make sure you get these files:
ftp://garbo.uwasa.fi/pc/UPLOAD.TXT (Info on uploading)
ftp://garbo.uwasa.fi/pc/UPTEXT.TXT (Questionnaire to fill in)
And remember to send an e-mailed announcement!
If you upload a unit, then you *must* also send a small
demonstration source program which uses your unit. You do not have
to send the actual source to your unit if you do not wish to.
----------------------------------------------------------------------
Simtel
Can authors of ShareWare, FreeWare and Public Domain programs upload
their programs to Simtel?
Yes. For details send e-mail to
listserv@Simtel.Net with this
command in the body of the message: get upload.info
----------------------------------------------------------------------
More could well follow. There are {nearly!} always helpful pointers
at other ftp sites saying what you should do. If in doubt, there
may be a .message in an incoming directory or you could politely
mail the site.
**********************************************************************
3. Very Frequently Asked Questions. **********************************************************************
Why do fast CPUs (Celeron, Pentium II and >200MHz) give problems
with Crt.Delay?
A problem may occur with a PP-200 (or better) CPU in that Runtime
Error 200 is generated in the start-up code of the CRT unit. This is
caused by division of a large number by 55 whose result won't fit
into a 16 bit register; the CPU generates an 'overflow' exception/
interrupt which is interpreted by the system library as "divide by
zero" exception/interrupt.
See Timo Salmi's FAQ #124 for details.
See Section 4.2 for replacement CRT units available for download.
Frank Heckenbach's remedy, for TP/BP 7.00/7.01, is
available at
#
http://fjf.gnu.de/bp-progs.html#NewDelay (*W*)
Or Roger Donais's remedy : Those without source, compiling DOS real
mode programs may find RDELAY.ZIP useful
ftp://ftp.uwasa.fi/pc/turbopas/rdelay10.zip
It contains source for a Turbo 4.0 through 7.0 compatible unit
designed to prevent the "Divide by 0" error encountered on fast
machines.
Osmo Ronkanen has produced a Loader program for those programs that
cannot be patched. His newsgroup posting is available from
ftp://garbo.uwasa.fi/pc/turbopa7/tfix.zip
There was a related problem in earlier TP version when the
initialisation code calibrated the delay to be too short without
generating an error. Frank Heckenbach's page has a fix and also see
Timo Salmi's FAQ, article #67. The replacement CRT units from Pedt
Scragg and Robert Prins also address the problems with the
incorrect delay on processors >200MHz for TP V5.0, V5.5 and V6.
Franz Glaser had collected a large number of patches for this and
they can be found via
http://www.geocities.com/SiliconValley/2926/tp.html (*W*)
http://www.reocities.com/SiliconValley/2926/tp.html
Andreas Bauer has produced a patch for an executable program.
Available from
ftp://garbo.uwasa.fi/pc/turbopa7/tppatch.zip
This program can be installed as a tool in the Pascal IDE:
~B~auer's TPPATCH / TPPATCH / $EXENAME
You can check by compiling to disk and running a program using Alt-R
R that uses a non-fixed CRT unit. After the RTE200, use Alt-T B then
run the program again - the error will be fixed.
Further discussions of timing and delays can be found in Prof.
Salmi's TurboPascal FAQ, in Kris Heidenstrom's Timing FAQ,
ftp://garbo.uwasa.fi/pc/programming/pctim003.zip
in the newsgroup comp.lang.pascal.borland - *read previous posts
# first*, and at
http://www.merlyn.demon.co.uk/pas-wait.htm
There has been a tentative suggestion that >450MHz CPU's could give
problems with *some* of the fixes available. This seems to be, at
the time of writing, affecting the programs that have used c't
magazine fix and related ones which patched the code to set the
divisor to 126 instead of 55. C't have now released a new patch that
will work above 450MHz. Obtainable from
ftp://ftp.heise.de/pub/ct/ctsi/ctbppat.zip
If you do use a fix for this error which does not work then please
post *which* fix with the file datestamp and place obtained, your
CPU / OS / Error Message returned.
Frank Heckenbach's fix is provided with the French TP7.01 free
download.
The same problem occurs with the TurboPower OpCrt & TpCrt units. The
patches that used to be available on their late ftp site have been
put onto SourceForge. The URL is
http://sourceforge.net/projects/tpopro/
and you need to look for bug #955482. (At this moment it is the only
bug report) The patches are in a (Win)RAR archive.
----------------------------------------------------------------------
Can I use Long File Names in Turbo Pascal?
Yes. There are units and source code available for dealing with long
file names in Turbo Pascal when the program is running in a Win95/98
DOS box. A full implementation is at
ftp://garbo.uwasa.fi/pc/turbspec/dos70p20.zip
Also look at the drop-in replacement by Andreas Killer at
ftp://garbo.uwasa.fi/pc/turbopa7/lfn110.zip
One caveat: be wary of mixing LFN files and 8.3 filename.ext - three
files called "pascal source" "pascal file" and "pascal text" would
be rendered as "pascal~1" "pascal~2" and "pascal~3". If you delete
"pascal file/pascal~2" and then copy the directory then "pascal
text" would have a new short name of "pascal~2" NOT "pascal~3" and
--- Internet Rex 2.31
* Origin: The gateway at Omicron Theta (1:261/20.999)