Subj : [FAQ] mini-FAQ V1.99.3 - essential reading for those new to the newsgro To : All From : Robert AH Prins Date : Thu May 17 2012 11:13:14 From: Robert AH Prins Subject: CLPB Mini FAQ Archive-name: pascal/borland-minifaq Posting-Frequency: Every week Last-modified: 2011-01-08 Version: 1.99.3 This document is (in general) posted every week 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 . 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: 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 ********************************************************************** 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 (see WWW section) 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, . ---------------------------------------------------------------------- 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://web.archive.org/web/*/http://www.geocities.com/SiliconValley/2926/tp.html 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. The link above accesses his pages via the Wayback machine, due to the disappearance of Geocities. Some links may no longer work! # 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 ---------------------------------------------------------------------- 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 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://web.archive.org/web/*/http://www.geocities.com/SiliconValley/2926/tp.html # 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#Delay 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 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 --- Internet Rex 2.31 * Origin: The gateway at Omicron Theta (1:261/20.999) .