Turbo Pascal v1 and Delphi 2009 - it's still all about Native Code!

Posted by on in Blogs
Turbo Pascal version 1.0 was a native code compiler for Z-80 (CP/M) and Intel 8086 (CP/M-86 and PC-DOS/MS-DOS).  Back in 1983 computers had very little memory. The Zilog Z80 supported 64k bytes of memory unless you were using bank switched memory cards. The first IBM PCs also came with 64k bytes on the motherboard for programs.

Even though PC-DOS came with BASICA and MS-DOS came with GW-BASIC, most "real" programmers chose to build applications using Assembler or programming language compilers for smaller size, faster speed, operating system calls, and hardware interfaces.  The same is true today.  While we hear, talk, and write about managed code and dynamic programming languages, the world is still dominated by native code applications.

Delphi 2009 continues the focus on building native code applications.  Programmers still care about using native code compilers to build applications that are small, fast, close to the operating system and computer hardware.  Using (mostly) native code, we build operating systems, business applications, personal utilities, mobile/embedded applications, device drivers, DLLs, shared libraries, COM/ActiveX objects, web applications shrink wrapped software, open-source, shareware, freeware, and more.

The Turbo Pascal version 1.0 floppy disk shipped with the following files (total # of bytes for all files - 131,297 bytes):

  • TURBO.COM (33,280 bytes) - Turbo Pascal: the main program menu,  compiler, integrated editor, etc

  • TURBOMSG.OVR ( 1,408 bytes) - The compiler error messages file

  • TLIST.COM (17,271 bytes)- A program to print listings of Pascal source files (writes directly to the PRN device).   Looks for "{.PA}" page advance comment tags to start a new page of the listing.

  • TINST.COM (16,313 bytes) - Turbo Pascal installation program.  Allows you to set Turbo's display screen type (Default display mode, Monochrome display, Color 80x25, Color 40x25, Black & White 80x25, Black & White 40x25). Also allows you to set the editor keyboard command installation bindings for Cursor Movement, Insert & Delete, Block Commands, and Miscellaneous Editing Commands. These settings were stored right in the TURBO.COM file.

  • TINSTMSG.OVR (1,792 bytes)- Turbo Pascal  installation program strings and messages.

  • ERROR.DOC (9,803 bytes) - Addendum to the printed Turbo Pascal Reference Manual.

  • CALC.PAS (34,087 bytes) - The MicroCalc spreadsheet example source code. A note at the beginning of the source file declares: "This program is hereby donated to the public domain for non commercial use only"

  • CALCMAIN.PAS (780 bytes) - main program for the MicroCalc spreadsheet. Compile this file if you get the error message: "Compiler overflow" when compiling the file CALC.PAS. Uses $I include directive to bring in CALC.PAS. A comment in the CALCMAIN.PAS file says: "If you have more than 128K RAM it is possible to have the following in RAM at the same time: Compiler and Editor, CALC.PAS, Object code generated for CALC.PAS, Data area for CALC.PAS"

  • CALC.HLP (4,803 bytes) - online help file for the MicroCalc example

  • CALCDEMO.MCS (11,760 bytes) - example spreadsheet for MicroCalc

While there are some Turbo Pascal version 1.0 programs that need to be modified to work in Delphi 2009, many Turbo Pascal and Pascal text book applications will compile and work nicely using Delphi 2009's support for command line programs.

Gold User, Rank: 1, Points: 2466
David Intersimone (known to many as David I.) is a passionate and innovative software industry veteran-often referred to as a developer icon-who extols and educates the world on Embarcadero developer tools. He shares his visions as an active member of the industry speaking circuit and is tapped as an expert source by the media. He is a long-standing champion of architects, developers and database professionals and works to ensure that their needs are folded into Embarcadero's strategic product plans. David holds a bachelor's degree in computer science from California Polytechnic State University at San Luis Obispo, California.


  • Guest
    Alan Fletcher Monday, 3 November 2008

    Cool look into the past!
    Now, what lies ahead? Anything cool up CG's sleeves that we (community) may look forward to?
    Please talk about the future too.



  • Guest
    Lars D Monday, 3 November 2008

    One thing I did not like about Turbo Pascal 1.0 for CP/M-80, was it's incompatibility with Compas Pascal and Poly Pascal. For instance, Turbo Pascal used the "else" keyword in case...else...end, where Compas Pascal used "otherwise".

    Turbo Pascal 1.0 was not really a successor of Compas Pascal and Poly Pascal. Turbo Pascal 1.0 was the international version, and Compas Pascal and Poly Pascal were the Danish versions, on Anders's "home market", and I continued to use those instead of Turbo Pascal, until Borland also invaded the Danish market.

    David, do you know some of the thoughts behind the changes in the syntax for Turbo Pascal 1.0?

  • Guest
    David Heffernan Monday, 3 November 2008

    If it's really all about native code, then what about an x64 version? After all Xp 64 was released over 3 years ago now.

  • Guest
    Lars D Monday, 3 November 2008

    Modern computing is like Onions. It stinks? Yes. No. They make you cry? Yes. NO. Layers. Onions have layers. Modern IT has layers. Onions have layers. You get it?

    I'm very happy that Delphi keeps being a productive tool without all the dependency-generated bloat and layer-generated latency.

  • Please login first in order for you to submit comments
  • Page :
  • 1

Check out more tips and tricks in this development video: