• [FAQ] mini-FAQ V2.07 - essential reading for those new to the newsgroup

    From Robert Prins@21:1/5 to All on Wed Oct 18 16:53:40 2017
    Subject: CLPB Mini FAQ

    Archive-name: pascal/borland-minifaq
    Posting-Frequency: Every month
    Last-modified: 2014-05-19
    Version: 2.07

    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'


    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.

    Due to the demise of Garbo, all links to that site have been changed
    to that of one of its still active mirrors,


    as the Internet Archive does not seem to archive ftp sites and ZIP

    Update: A copy of Garbo *is* available @


    Robert AH Prins also has a full image of Garbo, be it that most
    .ZIP files have been converted to .RAR files and that most .GIF
    files have been converted to highly optimized .PNG files.

    The ftp server is ordinarily off-line, but if you send an email to


    he can put it online. The URL is ftp://prino.selfip.org and the
    userid is "garbo". No password is required.

    UnRAR programs for about every OS in existence can be found on
    the official WinRAR site, http://www.rarlab.com/rar_add.htm

    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:


    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


    Also there is the Turbovision group described as "Borland's text
    application libraries." It is C-biased, but Pascal does get a


    Please do not post to the obsolete groups:

    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:


    1.2 Posting Guidelines **********************************************************************

    a) "A problem well stated is a problem half solved" Charles F.

    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


    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

    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:

    The rest of that very useful FAQ is worth a read also. You can
    find it here:

    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

    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,

    John's program only changes indentation, nothing else!

    Other fuller featured pretty-printers are available on Garbo:

    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
    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

    - 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

    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.

    Garbo is dead. Mirrors can be found with Google:


    For ease of use, all links in this FAQ have been replaced
    by links to http://sunsite2.icm.edu.pl/pub/garbo/pc/
    {turbopa* directories}

    'Oulu' Lots of files related to game (and demo?) programming.
    ftp://x2ftp.oulu.fi/pub/msdos/programming/ (*DEAD?*)

    'Simtel' Enormous MS-DOS archive

    TV site Turbovision source/applications ?
    The old Turbo Vision site is gone, try Google:

    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


    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://swag.outpostbbs.net/

    Coders Knowledge Base


    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:

    inter61a.zip x86/MS-DOS Interrupt List, 1/4, Ralf Brown, impressive

    inter61b.zip x86/MS-DOS Interrupt List, 2/4, Ralf Brown, impressive

    inter61c.zip x86/MS-DOS Interrupt List, 3/4, Ralf Brown, impressive

    inter61d.zip x86/MS-DOS Interrupt List, 4/4, Ralf Brown, impressive

    inter61e.zip Utility programs/source code for interrupt list, R.Brown

    inter61f.zip WinHelp conversion programs for interrupt list, R.Brown

    An on-line fully-indexed HTML version can be found here:

    helppc21.zip Advanced Programmer's Quick Reference Utility (good)

    The PCGPE 'PC Games Programmers Encyclopaedia'


    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

    Glenn Grotzinger's Turbo Pascal Tutor


    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


    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


    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%

    Turbo Pascal 6

    Borland Pascal 7

    TurboVision (possibly newer versions of Brad Williams's TV bug list)

    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

    Garbo is dead, see above

    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

    It contains source for a Turbo 4.0 through 7.0 compatible unit
    designed to prevent the "Divide by 0" error encountered on fast

    Osmo Ronkanen has produced a Loader program for those programs that
    cannot be patched. His newsgroup posting is available from

    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*)

    Andreas Bauer has produced a patch for an executable program.
    Available from

    This program can be installed as a tool in the Pascal IDE:

    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,
    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


    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

    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


    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


    Also look at the drop-in replacement by Andreas Killer at


    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
    you program may be referring to "pascal~3"

    How do I make EXE files with Turbo Pascal?

    In Turbo Pascal, in the compile menu, make sure that the COMPILE TO
    option is set to COMPILE TO DISK. When you compile, make or build
    your program then you will create the file XXX.EXE, where XXX is the
    name of your .PAS file.

    Will Delphi V2/3/4/5/6/7/.net/D2005 do DOS programs as well as

    Delphi V2 and later are for Windows 9x and Windows NT/XP. They are
    not DOS products. They can create 32-bit console mode apps, but
    they will not create DOS apps.

    If you want DOS apps from a Delphi Product then Delphi V1 can do
    them with some work on the RTL. See


    DCC32 -cc program.pas
    is worth trying on some BP/TP programs mainly computational in

    There is also wdosx, a winapi emulating dos-extender. Afaik this
    also works for 32-bits Delphi's. [MvdV]

    Is there a Borland Pascal Mailing list?

    No, there is not.

    There is a mailing list for Virtual Pascal (see below) on Yahoo.
    Read access is here: http://tech.groups.yahoo.com/group/vpascal/
    The old Topica list is still readable at

    Is it possible to 'decompile' Pascal EXEs or TPUs?

    No. Too much information is lost in the compiling process. For a
    more detailed explanation see Prof. Timo Salmi's FAQ.

    It is possible to get a *reasonable* disassembly to assembly
    language only

    - try http://www.hex-rays.com/idapro/

    The FLIRT technology that comes with IDA will identify most routines
    of the _original_ Borland RTLs. It will 'miss' interrupt routines,
    but due to its interactive nature, these can be added very easily.

    What were the Borland Pascal Products?

    In essence, Borland Pascal was the 'professional' product, whilst
    the Turbo Pascals were 'hobbyist' products.

    Discontinued versions
    Turbo Pascal 7 (Dos)
    Turbo Pascal for Windows 1.5 (Win)
    Borland Pascal 7 (DOS, WIN 3.1, Pmode)

    Borland Pascal could do everything that both Turbo Pascals could
    do, plus:

    . Compile for 16 bit DOS Protected mode (less memory constraints)
    . Full Run Time Library Source code
    . Lots of assorted debugging and programming tools

    There was an update to TP and BP to v7.01, but this is no longer
    available. V7.01 still has VER70 defined. If you really want to
    pay big bucks for an old version, you might try here


    for the possibilities of obtaining a used copy of the various
    versions of the Pascal compilers produced by Borland. You may also
    find copies of BP7 for sale on Ebay at http://www.ebay.com/
    Needlessly to say, there are also other options...

    Are there any freeware Pascal compilers?

    - FPC Pascal
    Free Pascal (aka FPK Pascal) is a 32 and 64 bit professional Pascal
    compiler. It can target multiple processor architectures: Intel x86,
    AMD64/x86-64, PowerPC, PowerPC64, SPARC, and ARM. Supported operating
    systems include Linux, FreeBSD, Haiku, Mac OS X/iOS/Darwin, DOS,
    Win32, Win64, WinCE, OS/2, MorphOS, Nintendo GBA, Nintendo DS, and
    Nintendo Wii. Additionally, JVM, MIPS (big and little endian variants)
    and Motorola 68k architecture targets are available in the development

    It comes with a cross-platform Run-Time Library, many interfaces to
    existing libraries, and a large set of non-visual classes in the
    Free Component Library. Last but not least, a text-mode IDE exists
    on various platforms, and FPC comes with 1800 pages of documentation.

    The compiler is licensed under the GNU General Public License. The
    Run-Time code is licensed under a modified version of the Library
    General Public License, which allows to use it in a commercial

    Comes with full Pascal source and compiles itself.


    - GNU Pascal

    GNU Pascal is a portable 32/64 bit compiler system. It supports the
    language of Borland Pascal V7 as well as ISO Standard Pascal, a
    large subset of ISO Extended Pascal and other extensions (see


    GNU Pascal is part of the GNU family of compilers, runs on all
    platforms supported by GNU C, including DOS, OS/2 and MS-Windows
    9x/NT, Linux, *BSD and other Unix-compatible systems and can cross-
    compile between these platforms.

    Full C source and precompiled binaries for several platforms are
    available from:

    http://www.gnu-pascal.de/alpha/ (Sources)
    http://www.gnu-pascal.de/binary/ (Binaries)

    There is a GNU Pascal mailing list, gpc@gnu.de. To subscribe, write
    an email with the body "subscribe gpc your@email.address" to the
    list robot, gpc-request@gnu.de.

    Framework Pascal (Formerly TMT Pascal)

    Framework Pascal, now at Version 6.1, is a 32-bit compiler with Turbo
    Pascal syntax and is quite compatible with Turbo Pascal.

    Framework Pascal is available from


    - Virtual Pascal

    Virtual Pascal, now at Release V2.1 is free. It fully supports DOS
    and Delphi plus Turbo Vision has been ported to 32 bits. There is
    incomplete support for (x86 architecture only) Linux.


    On 22 August 2003 Allan Mertner made the modified-for-VP sources
    of TurboPower's Object Professional libraries available on the VP
    site. Legal uncertainties have led to their removal.

    On 24 August 2003 Allan Mertner announced that he is looking into
    Open Sourcing the compiler. More info and discussion about this
    can be found on the Virtual Pascal mailing list, which is archived
    on Topica, http://lists.topica.com/lists/virtualpascal/read
    A direct link to the post that kicked off the discussion is

    On 3 April 2005, Allan Mertner announced the death of Virtual
    Pascal. He will continue to run vpascal.com for "a few more years",
    but development will cease - the main reason for doing so is the
    fact that the compiler is written in assembler and it cannot
    realistically be changed to add new features. Due to copyright
    restrictions, the source will not be made available. There is a
    small possibility that Allan might produce one more maintenance

    See Also Section 4 on Borland's release of TP compilers.

    How should I unsubscribe from the INFO-PASCAL mailing list?

    Send the message "unsubscribe INFO-PASCAL" to


    Please do not send such requests (or others) to info-Pascal@brl.mil


    [continued in next message]

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)