Antique Software: Turbo Pascal v3.02

By: David Intersimone

Abstract: Turbo Pascal 3 was the first Turbo Pascal version to support overlays, the Intel 8087 math co-processor and BCD math.

    In the Museum: Turbo Pascal version 3.02

Ship date: 17-September-1986

Turbo Pascal 3 was the first Turbo Pascal version to support the Intel 8087 math co-processor (16-bit PC version).  It also included support for Binary Coded Decimal (BCD) math to eliminate round off errors in business applications. Turbo Pascal 3 also allowed you to build larger programs (> 64k bytes) using overlays. The PC version also supported Turtle Graphics, Color, Sound, Window Routines, and more.

    How to Download Turbo Pascal 3.02

Click through to the Turbo Pascal 3.02 download page to download the software. Note: the zip file is 170209 bytes.

When you are finished downloading the software, use your favorite zip utility (like PKZIP or WinZip) to decompress the zip file to a folder on your hard drive.

These historical files are provided to the Borland community free of charge. They may be downloaded and used "as is" for personal use only. No developer support is provided. Each individual product contains copyright notices that are still in force. These files may not be made available via the Internet or any hard copy media (e.g. diskette, CDROM). We make no claims about Year 2000 compatibility for our antique software. If you have technical questions, you should ask the questions on our Internet newsgroups (there may be someone who remembers these old tools).

    Manual Front and Back Cover

Below are scanned images of the front and back covers of the Turbo Pascal 3 manual.  Back in those days the manual was the product.  The floppy disk placed inside the manual cover along with the license agreement, invitation to join us on our CompuServer forums (now we use Internet newsgroups), and other paper marketing pieces.  Click on each image to display a larger version of each cover.

Hide image
Hide image

    Original Turbo Pascal 3 Fact Sheet

Version 3.0 with 8087 support and BCD reals
Free MicroCalc Spreadsheet With Commented Source Code!


One-Step Compile: No hunting and fishing expeditions! Turbo finds the errors, takes you to them, lets you correct them, and instantly recompiles. You're off and running in record time.

Built-in Interactive Editor: WordStar. -like easy editing lets you debug quickly.

Automatic Overlays: Fits big programs into small amounts of memory.

MicroCalc: A sample spreadsheet on your disk with ready-to-compile source code.

IBM PC Version: Supports Turtle Graphics, color, sound, full tree directories, window routines, input/output redirection, and much more.


"Language deal of the century . . . Turbo Pascal: it introduces a new programming environment and runs like magic." Jeff Duntemann, PC Magazine

"Most Pascal compilers barely fit on a disk, but Turbo Pascal packs an editor, compiler, linker, and run-time library into just 39K bytes of random access memory." Dave Garland, Popular Computing

"What I think the computer industry is headed for: well-documented, standard, plenty of good features, and a reasonable price." Jerry Pournelle, BYTE

  • More than 500,000 users worldwide.
  • Turbo Pascal is the de facto industry standard.
  • Turbo Pascal wins PC Magazine's award for technical excellence.
  • Turbo Pascal named "Most Significant Product of the Year" by PC Week.
  • Turbo Pascal 3.0 - the fastest Pascal development environment on the planet, period.
Suggested Retail Price: $99.95; CP/M.-80 version without 8087 and BCD: $69.95

Features for 16-bit Systems: 8087 math co-processor support for intensive calculations. Binary Coded Decimals (BCD): eliminates round-off error! A must for any serious business application.

Minimum system configuration: 128K RAM minimum. Includes 8087 & BCD features for 16-bit MS-DOS 2.0 or later and CP/M-86 1.1 or later. CP/M-80 version 2.2 or later 48K RAM minimum (8087 and BCD features not available). 8087 version requires 8087 or 80287 co-processor.

Hide image

Turbo Pascal is a registered trademark of Borland International, Inc. CP/M is a registered trademark of Digital Research Inc. IBM is a registered trademark of International Business Machines Corp. MS-DOS is a registered trademark of Microsoft Corp. WordStar is a registered trademark of MicroPro International.

    Turbo Pascal 3.02 Readme File

The following is the Readme file that came with Turbo Pascal 3.02. Please notice that any mention of support, references to phone numbers or addresses are here for historical purposes. Since this is antique software, there is no developer support for this product. If you have questions, you should ask them on our Internet newsgroups. You might find an old timer who still remembers using this version of Turbo Pascal.

                     WELCOME TO TURBO PASCAL 3.0

This file contains important information not found in the Reference
Manual.  Included is information on how to get technical help, a
description of differences between Turbo Pascal 2.0 and 3.0,
corrections to the Reference Manual, and a complete list of files on
the distribution disk.  Since this file contains information important
to you, please read it in its entirety; hopefully it will answer any
questions you may have.

Special Note:  Turbo Pascal now comes complete with three versions of
the compiler.  The standard compiler: TURBO.COM, the compiler with
support for the optional 8087 math coprocessor: TURBO-87.COM, and the
compiler with BCD (Binary Coded Decimal) real number support for precise,
business oriented computations: TURBOBCD.COM.  Simply recompile your
source code with one of the compilers to take advantage of the optional
real number support.  Please note that to use TURBO-87.COM you must
have an 8087 coprocessor chip installed in your computer.  Most
computers do not come with the 8087 chip installed.


  1. How to Get Help
  2. Differences between Turbo Pascal 2.0 and 3.0
  3. Corrections to the Reference Manual
  4. File List


  If you need help with Turbo Pascal, please read this help file and
  the Reference Manual thoroughly. Also, see Appendix N of the Turbo
  Pascal Reference Manual for common questions and answers.

  If you still have a question and need technical assistance, please
  have the following information ready before calling our technical
  support department:

  1. Product name and version number.  (The version number of Turbo
     Pascal appears above the "Include error messages?" prompt when the
     program is first loaded.)
  2. Computer name, model and any additional hardware.
  3. Operating system and version number.  (The version number
     generally is displayed when your system is first booted.)

  Technical assistance is also available from the following sources:

    1.  Type GO BORLAND on the CompuServe bulletin board system.
    2.  Check with your local software dealer or user group.
    3.  Write to:  Borland International
                   Turbo Pascal Technical Support
                   4585 Scotts Valley Drive
                   Scotts Valley, CA  95066


General Differences

  1. Turbo Pascal no longer does a ClrScr when your program first begins.
  2. Turbo Pascal no longer does a GoToXY(1, 25) when your program
  3. The use of file handles now necessitates closing all files, even
     if they were not modified.  You should also place a "FILES = 20"
     statement in your CONFIG.SYS file.  Note that DOS always uses five
     file handles (standard input, output, error, auxiliary, standard
     printer).  Please refer to your DOS technical reference manual for
     more information about DOS file handles.
  4. The handling of some logical devices has been changed to conform
     with standard Pascal and with Turbo Pascal's handling of other
     a. A read statement using the logical device TRM is now buffered
        and terminates with a .      b. The KBD device is not buffered.  For this reason, look-ahead         functions (EOF, EOLN, readln) used on the KBD device will         always "wait" for a key to be pressed.   TINST Installation ------------------    1. TINST now allows you to install a pathname which is used by Turbo      Pascal when loading the error message file (TURBO.MSG).   2. In the screen installation, after choosing your display type, the      following question will appear:        Does your screen blink when the text scrolls? (Y/N);      If the screen is "snowy" in the Turbo Pascal editor, answer "Y" to      this question.   Chain and Execute -----------------    1. Heap preserved during Chain.   2. Chain and Execute no longer set a flag in the command line      parameter.   Inline ------    A constant identifier used in an INLINE statement does not always   generate two bytes of code.   New File Oriented Procedures and Functions ------------------------------------------    1. Append procedure.   2. Full DOS path-name supported.   3. I/O re-direction.   4. New FIB formats.   5. Optional parameter on text file declaration sets buffer size.   6. Optional  parameter  on Reset/ReWrite sets block size  for      untyped files.   7. Optional 4th parameter on BlockRead/BlockWrite returns the number      of blocks processed.   8. Read and ReadLn work with array of char.   9. LongFileSize function.  10. LongFilePosition function.  11. LongSeek procedure.  12. SeekEoln function.  13. SeekEof function.  14. Truncate procedure.   Other New Procedures and Functions ----------------------------------    1. ChDir procedure.   2. Command line parameters on Options menu.   3. Delay procedure independent of processor speed.   4. Exit procedure.   5. Extended  graphics procedures & functions  (see page 309  in      manual for overview).   6. GetDir procedure.   7. MkDir procedure.   8. Multiple EXTERNAL subprograms in one file.   9. Optional parameter on Halt to return error code.  10. OvrPath procedure.  11. ParamCount function.  12. ParamStr function.  13. RmDir procedure.  14. Turtlegraphics procedures, functions, and constants (see      page 309-310 in manual for overview).   Overlays --------    1. Overlays can be run in Memory mode.   2. Overlay files are opened and closed every time they are accessed.      Therefore, there is never a need to specifically close an overlay      file.   3. The Y compiler directive is no longer supported. Instead, the      OvrPath standard procedure may be used to specify the drive and      subdirectory in which overlay files reside.    3. CORRECTIONS TO THE MANUAL ----------------------------  Page 168: Text Windows ----------------------   Add the following text:    The maximum number of rows in a text window has been expanded in   order to support video adapters such as the EGA which support screens   of up to 43 lines.   Page 189: ChDir ---------------   Add the following text:    ChDir also changes the logged drive if St contains a DRIVE name   followed by a colon.   Page 241 & 273: ---------------   Add the following section:    User Written Error Handlers   ---------------------------      In Turbo Pascal 3.0 you may write your own error handler, which      is called in case of an I/O or Run-time error. The procedure must      have the following header:            procedure Error(ErrNo, ErrAddr: Integer);       The name of the procedure and its parameters are unimportant, as      long as it is a procedure with two value parameters of type      Integer.       The value passed in ErrNo is the error type and number. The most      significant byte, i.e. "Hi(ErrNo)", contains the error type, and      the least significant byte, i.e. "Lo(ErrNo)", contains the error      number (see Appendix F or G in the Turbo Pascal Reference  Manual).       The following error types are defined:            0   User Break (Ctrl-C).           1   I/O error.           2   Run-time error.       In case of a user interrupt (Ctrl-C), the low byte of "ErrNo" is      always 1. "ErrAddr" contains the address (offset in Code Segment      for 16 bit versions) of the error.       To activate the error handler, assign its offset address to the      standard variable "ErrorPtr", i.e.            ErrorPtr:=Ofs(Error);  { 16 bit }  or           ErrorPtr:=Addr(Error); {  8 bit }       There are no limits to what an error handler may do. Typically it      will close all open files, output an error message, and call the      Halt standard procedure to terminate the program.  If an error      handler returns, i.e. if it does not call Halt, or if an error      occurs within an error handler, Turbo Pascal will itself output      the error message and terminate the program.   Page 325: Run-Time Error Messages ---------------------------------   Error 91, add the following text:    Error also occurs when you do a Dispose(p), where p is a nil   pointer.   Page 328: I/O Error Messages ----------------------------   Error F1, add the following text:    Error F1 also occurs when an illegal file name is specified.   Page 365: Compile/Run-Time/I/O Errors -------------------------------------   First question    A: You can do two things: break your code into smaller segments      and use the $1 compiler directive or compile to a .COM or .CMD      file.  should be:    A: You can do two things: break your code into smaller segments      and use the $I compiler directive or compile to a .COM or .CMD      file.   Page 374: Keyboard ------------------   Third question, add the following text:    Make sure the C compiler directive is turned off before using the   KeyPressed function.  For information in the C compiler directive,   see Appendix C in the Reference  Manual.   Page 375 - File I/O -------------------   First question, add the following text:    Notice that Function Exist should also close the file it just opened   in order to conserve DOS file handles:    Add the following line of code after Reset(Fil);       Close(fil);    4. FILE LIST ------------        File                          Description   --------------------------------------------------------------------   README   COM   - a program that displays this file    TURBO    COM   - Turbo Pascal compiler   TURBO-87 COM   - Turbo Pascal compiler with 8087 support   TURBOBCD COM   - Turbo Pascal compiler with BCD reals   TURBO    MSG   - text file containing error messages    TINST    COM   - installation program   TINST    MSG   - messages for the installation program    GRAPH    P     - external declarations for use with routines in                    GRAPH.BIN   GRAPH    BIN   - extended graphics and turtlegraphics machine                    language routines    CALC     PAS   - sample spreadsheet program   CALC     INC   - include file for CALC.PAS   CALC     HLP   - spreadsheet help file   CALCDEMO MCS   - spreadsheet data file (not for use with TURBO-87                    or TURBOBCD)    ART      PAS   - sample graphics program   CMDLINE  PAS   - get parameters from the command line   COLOR    PAS   - sample color program   DEMO-BCD PAS   - demonstrates increased precision of TURBOBCD   DEMO1-87 PAS   - demonstrates increased speed and precision of                    TURBO-87   DEMO2-87 PAS   - demonstrates increased speed and precision of                    TURBO-87   GETDATE  PAS   - get the date from DOS   GETTIME  PAS   - get the time from DOS   LISTER   PAS   - simple program to list your Pascal source   SOUND    PAS   - sample sound program   SUBDIR   PAS   - demonstrates Turbo Pascal directory procedures   TURTLE   PAS   - demonstrates Turtlegraphics   WINDOW   PAS   - demonstrates windowing   EXTERNAL DOC   - sample program using externals    ACCESS3  BOX   - for DATABASE TOOLBOX users only: ACCESS.BOX update    README         - this file ========================================================================= 

Server Response from: ETNASC03