Talk:Turbo Pascal

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
WikiProject Computing / Software (Rated B-class, Low-importance)
WikiProject iconThis article is within the scope of WikiProject Computing, a collaborative effort to improve the coverage of computers, computing, and information technology on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
B-Class article B  This article has been rated as B-Class on the project's quality scale.
 Low  This article has been rated as Low-importance on the project's importance scale.
Taskforce icon
This article is supported by WikiProject Software (marked as Low-importance).
 

"At the time 8080/Z80/8088/8086 machines had limited computing resources"[edit]

Has there ever been a time when computers didn't have limited computing resources? Should probably be re-worded. It's a bit like saying "Back in the 80's, when cars had round tires, ...." cbmeeks 14:16, 21 November 2019 (UTC) — Preceding unsigned comment added by Cbmeeks (talkcontribs)

Yes, you have a point. They weren't limited compared to the other PCs of the day. Bubba73 You talkin' to me? 16:29, 21 November 2019 (UTC)
The 8080 and Z80 were much more limited than the 8088 and 8086. I've looked at how to fix that paragraph, but I didn't see what to do. I think it might be best to eliminate that paragraph - it doesn't tie directly into Turbo Pascal. Bubba73 You talkin' to me? 23:38, 21 November 2019 (UTC)

"Turbo Pascal, also known as Borland Pascal"[edit]

I don't think this phrase is quite accurate. At least here in the UK they sold Turbo Pascal (in red box) for one price, and Borland Pascal (in a blue box) for a considerably higher price. I think the difference is that the latter had lots more libraries and other features (it was intended to be the "professional" product). I've not updated the article, as I'm not sure enough about the details to make a worthwhile addition. -- Finlay McWalter | Talk 11:59, 26 May 2004 (UTC)

  • Finlay is right, however BP is 100% TP compatible, it is more or less a more powerful "enterprise" version. It is (TP7 +TPW7 + TPX (protected mode IDE + compiler) + tasm + resource workshop + more goodies )
  • There maybe should be a small paragraph were the differences between TP and standard pascal are listed, I'll see if I can come up with something. It should be a line of 25, no more.
  • Turbo/Borland Pascal has been sold for years after 1995 (and maybe still). It is just that the main focus of Borland Pascal development department changed to Delphi. (TP/BP was and is still used heavily in dos software that is embedded or packaged with machines, and in education) -- Marco van de Voort.

Page move[edit]

Please discuss the reasons why you want to make a page move before doing so. This article was originally conceived as an article on Turbo Pascal. If you want to discuss its later differentiation into personal (Turbo) and enterprise (Borland) editions and the final amalgamation of those editions under the single name Borland Pascal, that's excellent but note that the rebranding of Turbo Pascal as Borland Pascal took place some time after the introduction of the product. It certainly was not known as Borland Pascal for the first few years of its life and that is why the most appropriate title for this article is Turbo Pascal, the name with which it was associated in the public mind throughout its product life. -- Derek Ross | Talk 04:10, Mar 24, 2005 (UTC)

That's not exactly correct differentiation. The package was sold on the streets under Turbo Pascal 7.0 name was a compiler (and IDE) which targeted DOS 16bit real-mode. Borland Pascal 7.0 street name has a considerably different meaning - it was a cross-platform (well, as cross-platform as Borland can) compiler (and IDE) targeting DOS 16bit real-mode, DOS 16bit protected-mode and Windows 16bit protected-mode, and it has real-mode compiler sold under Turbo Pascal name included in the package. That is, TP7 is a subset of BP7. Windows 16bit compiler which was sold under Turbo Pascal for Windows name was also included within BP7 package. What made BP7 special was multi-target compiler and IDE (which ran under DOS in protected-mode) not sold separately. -- (Wrote someone who didn't sign their comment with ~~~~)
No. It was sold as Turbo Pascal 1.0. Turbo Pascal 7.0 and Borland Pascal 7.0 came way later. -- Derek Ross | Talk 20:13, 12 September 2012 (UTC)

IMHO, don't. The product is fully the same base, and "turbo pascal" is also a very differentiated brand (think TP in 7 basic versions, and then with/without extender and -W versions). So simply keep both TP and BP here. -- Marco van de Voort

Turbo Pascal made a historic impact on the early personal computer worldwide. Borland Pascal was essentially a moderately successful attempt to segment the market and sell a similar product form a much higher price. Most programmers around the word have heard about Turbo Pascal, most wouldn't know what Borland Pascal was. In fact Borland itself (now Codegear) relaunched the "Turbo" brands because they are some of the most recognized brands in the developer community.

Bard's Tale[edit]

I removed this comment:

The IBM PC game The Bards Tale was written in Pascal.

from the article, becase:

  1. I've never heard it before
  2. It was out of place—it was in a paragraph by itself with no context
  3. It doesn't specify that it was written in Turbo Pascal, what this article is about
  4. It wasn't even wikilinked correctly (not a big deal, but there are several articles on The Bard's Tale).

To include the factoid in the article, I'm going to insist on a reference. If it was just written in Pascal, the factoid should go in the Pascal article. And lastly, if it was written with Turbo Pascal mention it and try to give it some context—like a bullet in a Trivia section.

I know Wizardry was written in Pascal, but I never heard that the MS-DOS version of The Bard's Tale was. Frecklefoot | Talk 14:29, Apr 27, 2005 (UTC)

The MS-DOS versions of Bard's tale and its sequel contain 1986 Microsoft C copyright messages. 2fort5r (talk) 05:29, 13 February 2014 (UTC)


Removed POV section[edit]

I removed the POV paragraph below. If someone wants to take a crack at NPOV'ing it and adding it back in, feel free. But I doubt it can be NPOV'ed. It's a rant. Frecklefoot | Talk 15:16, May 4, 2005 (UTC)

Many of these features are still not in the IDEs that followed. The documentation for most of the languages is often poorly written, disorganized, and incomplete. The code profilers work sporadically and its quite easy to crash your system trying to single step through code. Inlining assembler is considered something unusual and freakish to do. These problems are particularly painful in the 'open source' IDEs but even Microsoft Visual Studio is a morass of confusion in comparison to the old Borland product. IDEs of the later years may never achieve the level of simplicity or integration as Borland Pascal, simply because the underlying systems of the newer IDEs are thousands of times more complex than the system Borland Pascal was written on - the IBM PC hardware and MS DOS software.

IMHO not entirely a rant. I think one could summarize it "The maturity (seven full versions) and the simplicity of the system simply allowed a way better (and more complete) finishing touch. Also the limited number of options keeps the TP/BP7 managable for new developers"

This is btw one of the reasons why TP/BP was used so much longer in educational roles when the Dos platform was already replaced largely by Windows. Only when newer generations increasingly missed any Dos/console experience, this started to decline swiftly. 88.159.74.100 08:22, 2 August 2007 (UTC)

Competition with Microsoft Pascal[edit]

Then I (AntoineL, not Frecklefoot) also removed the section below. It was marked as unsourced in April [1], but nobody came. Since I was working on these tools then, I tried to modify it to make it NPOV'ed, but I fail. In fact it is just opinions, nothing here is really relevant about TP, it probably belongs to the Microsoft Pascal article (and I'll copy it to that talk page). The only real fact is that MS distributed the clone QP "for a while", but it is hardly relevant when looked at the whole picture of TP which spans more than 10 years; this information could be added to the Successors section, but I am myself non-neutral on this one and cannot resolve at doing it.

Of course you are free to disagree, to bring it back in and improve the article. AntoineL 16:55, 24 October 2007 (UTC)

===2.3 Competition with Microsoft Pascal===
It is likely that Microsoft Pascal was dropped because of the competition provided by Turbo Pascal's good quality and low price.[citation needed] Another theory is that Borland made an agreement with Microsoft to drop development of Turbo BASIC, a BASIC IDE that stems from Turbo Pascal, if Microsoft would stop developing Microsoft Pascal. For a while, Microsoft produced QuickPascal, which was almost 100% compatible with Turbo Pascal.[citation needed]

Original price[edit]

Having owned a copy of Turbo Pascal 1.0, I remember the original price as $29.95 rather than $49.95. Can anybody confirm?

A google search in the newsgroups resulted in several messages that say that it was $49.95. bogdan | Talk 18:01, 5 August 2005 (UTC)
They have the original advertising at Borland Museum and it was indeed $49.95. bogdan | Talk 18:02, 5 August 2005 (UTC)
Turbo Pascal $49.95 + $5 shipping and handling

I think you are thinking of another publisher of low priced languages that advertised a Pascal product for $29 shortly after Borland starting getting press for Turbo Pascal being a great value. The name was "USDC"? I believe they offered other languages too such as Basic and Fortran.

I do not think that this is correct. The original Turbo Pascal ad that ran in the November 1983 issue of Byte Magazine has a comparison chart. The two competitive offerings are a cheap one: JRT Pascal, selling for $29,95 and an expensive one, Pascal MT+ (The optimizing compiler that all pros of the time were using) selling for $495. The urban legend says that Turbo Pascal was the cheapest. That ad shows that it wasn't. JRT was. It was a decent compiler. In fact the compiler produced as adequate code as Turbo did, but it had no rapid edit->compile->debug cycle with a Wordstar editor that was "pascal-savvy".

See JRT for the reasons why JRT Pascal failed. With JRT out of the way, price was a major factor in TP's success.Chris Burrows 13:22, 19 November 2006 (UTC)

I checked the JRT page. It's not complete. JRT became Nevada Pascal and then Mystic Pascal. The reason that they failed was more business management than anything. They essentially charged customers and didn't ship products. After months of doing so, they eventually closed shop. Nevada and Mystic Pascal went the same way. So in many ways, Turbo, MT+ were "business-viable". JRT wasn't. That's the general recollection.

UCSD Pascal is a complete different subject and very relevant here. In fact this is a p-code system that was very efficient for interactive development. The compilation to p-code was very quick. UCSD was undoubtedly a key influence in the design of the Turbo development system (not the compiler). Remember that Niklaus Wirth and Philippe Kahn were both associated with these efforts when Anders was in grade school.

Philippe Kahn was not associated with the development of UCSD Pascal, nor have I ever found any evidence whatsoever that he studied under Niklaus Wirth, or made any contribution to the ETH-Zurich Pascal compilers. Kahn studied Maths at ETH - a different department from Wirth's altogether.Chris Burrows 13:22, 19 November 2006 (UTC)

That seems quite incorrect Chris. Some of us have seen Niklaus Wirth and Philippe Kahn interacting together first hand. Certainly when "The World of Objects" was filmed and Wirth was on video, he and Kahn were like the old professor and the old student.

You certainly have a vivid imagination, Mr Anon! You seem to be adding 2 and 2 together and getting 64. The video can be seen at http://www.turboexplorer.com/worldofobjects. Niklaus Wirth is not even acknowledged as being the creator of Pascal - "Leading Computer Scientist" indeed! Chris Burrows 00:14, 20 November 2006 (UTC)

In fact Wirth sees kahn as one of his brightest students. Apparently the ETH requires all first year students to take a programming class, that was true in teh 70s. the choices are the ETH were the traditional Fortran class or the new "Pascal class" with Wirth. That was apparently a very small class and that got involved in using and editing the user manual as well as improving and extending the first compiler.

OK. That is much closer to the truth than the sweeping generalisation "Niklaus Wirth and Philippe Kahn were both associated with these efforts" that could be interpreted as they were equally involved. Wirth's postgraduate students who are officially credited with actually implementing the compilers (not just dissecting them for class exercises) were Edouard Marmier (the first unsuccessful FORTRAN version), Urs Ammann and Rudy Schild (the CDC compiler) and Urs Ammann, Kesav Nori and Christian Jacobi (the P-Code compilers used as the basis for the UCSD Pascal compiler). Ref: "Recollections about the Development of Pascal" by N. Wirth (1993): http://portal.acm.org/citation.cfm?id=155378 Chris Burrows 00:14, 20 November 2006 (UTC)

In the 70s there was no such thing as "computer science". People were mathematicians, Physicists. That makes sense. On UCSD it seems that the connection is with Wirth. That needs to be double-checked.

Double-checking is not difficult. Google for "Ken Bowles ucsd" or http://www.threedee.com/jcm/psystem/ or http://ucsdnews.ucsd.edu/newsrel/science/Pascal.asp.

Understood. However there is nothing there that confirms or infirms anything. Clearly Kahn spent 3+ years in undergraduate days in Zurich starting in 69/70 and worked under Wirth. So surely an undergraduate student would work with/for the graduate students. that's all pretty reasonable.

IDE[edit]

I still have a copy of the original Nascom cassette based compiler and I have used the Compass compiler for CP/M. I can assure everyone that the user interface design of the IDE was basically the same for them as for Turbo Pascal proper. -- Derek Ross | Talk 17:59, 10 October 2005 (UTC)

Derek, that is not correct. All versions of Compass Pascal, early and late, had a command line interface integrated in them, which hardly made an IDE. To us developers in the early 80s the magic of Turbo Pascal was its IDE and in particular the "Wordstar Compatibe Editor". the compiler itself was fairly trivial in that it generated sloppy code and was limited to 64K for a long time. There was no real linker and the systems would link the whole runtime library...Hence, the smallest executable that you could build, "Hello World" was much bigger than what you could do with an optimizing compiler. In fact most of us would use Turbo for rapid development but do the final compile and linking with other tools. The magic of Turbo was it's edit->compile->debug fast cycle using a familiar and fast editor. That's something that none of the Compas and Poly tools could do and nothing that the optimizing compilers could do. The Poly/Compas tools failed in the market because they produced poor code, failed in the fast development cycle and yet were priced very high. Price was never an issue as for all of us pro developers we owned every tool and used the best one. Turbo was always used for rapid development. The optimizing compilers for final production and the others never used. Note that in the cycle described, "edit" comes first.....

BTW, that wordstar-compatible editor was actually written by Mogen Glad. Mogen Glad was an Borland employee and in some of the lore a co-founder of Borland. Heilsberg owned with a partner several computer stores in Cophenhagen called "Polydata Centers". He actually apparently only became part of Borland when he moved to the use in the later 80s, several years later. According to due diligence documents from the first Borland IPO, the contract between Polydata and Borland was "secret". In other words it seems to be that Polydata wanted to maintain their prices on Compass pascal for which they had a contract with the Danish education system and claim that the two products had nothing to do with each other. This would be the explanation why until the later 80s Heilsberg doesn't appear anywhere with Borland. Apparently the computert stores went bankrupt and then Heilsberg decided to join Borland. That's quite a colourful story!

Timer bug[edit]

It is a know fact that Turbo Pascal has a bug in the delay system call that causes programs compiled with it to crash in fast computers, and that a patch is available. However, I can't see any reference to it in the article. Somebody more knowledgeable than me should write it. --Pezezin 15:19, 20 November 2005 (UTC)

iirc it has something to do with the crt unit but i'm not entirely sure what. Plugwash 17:57, 20 November 2005 (UTC)
It was a bug in initialization section of Crt unit. This initialization was needed to make Delay procedure work properly -- you have to measure CPU speed for this. There are various ways to correct this. I used crtfix program. It allows you to patch already compiled exe programs (i.e. you don't have to recompile them from sources, which is handy when you don't have the sources :) ), it also allows you to patch your Crt unit so that future compiled programs are OK. And it comes with sources, freeware. Oh, and the readme for crtfix describes what's the cause of this bug in much greater detail. You can download crtfix e.g. from here. MichalisKamburelis 08:22, 5 December 2005 (UTC)
Various solutions are also discussed in http://www.merlyn.demon.co.uk/pas-r200.htm. 94.30.84.71 (talk) 20:06, 26 January 2011 (UTC)

usuing built-in assembler ?[edit]

Articles reads like one could use builtin assembler in Turbo Pascal since v.1.0 At least one could use integrated debugger to trace assembler parts of PAscal program. 1) AFAIR asm keyword introduced in TP7. At least TP 3.0 and 5.5 coud not use buiilt-in assebler. You had to use hex-coded x86 binary opcodes (Inline keyword) or link separately assembled .OBJ files. But then You could not debug then line-by-line. 2) Integrated debugger since beginning ? Did it appeared in TP4 ?

asm keyword introduced in TP7

IIRC so-called "BASM", the integrated assembler, came in with version 6.0 (1990). Before that, and at least it was there in version 3.0 (not sure about 2.0 or 1.0), there was the so-called "inline assembler", which was not a real assembler (since it did not understand mnemonics like MOV or CALL) but permitted insertion of any opcode bytes inside the code stream, and had a basic scheme to link with variable and similar symbols. It persisted until Delphi 1.0, and was not kept in the 32-bit rewrite of the compiler.

link separately assembled .OBJ files. But then You could not debug then line-by-line.

.OBJ linking of OMF files (traditional Intel-based format) was introduced in version 4.0; the debug informations (Borland dialect) inside the .OBJ file carried toward the debugger was possible with version 5.0.
Version 3.0 (and perhaps before) just permitted the linking in of raw chunk of bytes, so-called .BIN (graphics was added to Turbo 3.0 with this very hack.)

Integrated debugger

"Integrated debugging" is really a feature of the IDE: since it allows (from day 1) to run the compiled program from within Turbo, the first environment gaved some kind of support here. Then with TP4 came the windowed environment, much improved with TP5 (along with the standalone TurboDebugger which alleviates the memory constraints.)
Article could be rewritten to drop the bad impression you're felling, but there is no definitive milestone which can be marked as "introduction of assembler" or "debugger"; features were improved over versions. -- AntoineL 15:27, 21 August 2006 (UTC)

Turbo "Inline assember support" was an important part of its success. For example it allowed development of TSR products with a few hacks of the run-time libraries. That was unique to Turbo Pascal and much harder to do with Pascal MT+. Essentially impossible with the Microsoft compiler.

"version 1.0" section covers ALL versions[edit]

What's up with the version 1.0 section? It goes on to talk about inline assembler, the profiler -- the reader not already familiar with Turbo Pascal would think that all of this was available in 1983 with version 1.0! This needs to be fixed. Trixter 15:48, 13 January 2006 (UTC)

Well, it was a key part of the success of Turbo: The support of "inline assembler". That was key to building some of the more sophisticated applications of the time. Not to be overlooked.

Did Kahn devise the IDE ?[edit]

I'm not convinced. My copy of the Polydata Blue Label Software predecessor to Turbo Pascal has a very similar IDE. So did the Compas Pascal compiler that was sold for the Gemini CP/M systems and that was before he got involved. I get the feeling that this is one of these "deliberate mistakes" that people add to Wikipedia in order to test us out. -- Derek Ross | Talk 06:10, 26 April 2006 (UTC)

Derek, the Danish product has a command line interface... No integrated interactive Wordstar-compatible editor. The key to us Turbo programmers was that fast edit->compile->debug cycle. The compiler produced crappy code. There were no optimizations. In fact people such as myself used to do all development in Turbo and then use an optimizing compiler with a serious code generator to compile the final code.... So all the emphasis on the compiler being great is a bit absurd. As pro developers, we always disliked that compiler. In fact we couldn't even use overlays for a while. the genius of Turbo Pascal was the "Turbo Development Cycle", not the code generator! -- (unsigned by Anon)

Take a look at the BLS Pascal manual if you doubt the resemblance. The biggest differences of BLS from Turbo were that the built-in editor wasn't Wordstar-compatible and that you had to press Enter after entering the command letter (or command word if you wanted to type the whole command). However the edit->compile->debug cycle was identical for BLS and for Turbo. The "command line interface" was part of the program not part of the host operating system. So Kahn changed the editor to a WS-compatible one and changed the command line interface so that you didn't need to press Enter but that's about it. -- Derek Ross | Talk 00:27, 19 November 2006 (UTC)

That's not quite correct Derek. The wordstar editor is a a great piece of software. All writeen in assembler. This has nothing to do with the Danish product. Not a line in common. I would say that the Danish product is based on a fast compiler that produces adequate code, Turbo is based around a great program editor, with some knowledge of the Pasacl syntax, interfaced to the Danish compiler. I have them running boath side by side on my early PC. The differences from a conceptual model are obvious. I don't think that this takes away anything from the work that Anders did, but our goal here is to seek what is right and not take sides. -- (unsigned by Anon)

Fair enough. I don't mean to take sides nor to take anything away from the significant improvements made to the Wordstar-compatible Turbo editor. There's no doubt that the its editor was an excellent piece of work and a great improvement on the BLS editor. I just want to clarify the similarities and the differences between the two products. -- Derek Ross | Talk 08:13, 19 November 2006 (UTC)

I think that we agree. In fact I just checked and the Wordstar editor is 18K of assembler language. I also checked how complete it is and it's got 95% of Wordstar commands and Pascal-oriented extensions. That's quite an achievement! In any case, we pro developers spend most of our time staring at code.... The compiler is disposable and we'd trade anyone for one that will produce ultimately better code as the Wirth adage goes: "Software slows down much faster than hardware speeds up"! The point is that there are some very good reasons why Turbo became so successful. And I contend that it wasn't the compiler. As you point out that had been around for a couple of years and all pros knew about it. We all got a copy of it as well as JRT, MT+, MS, IBM and all others. We ended-up using what really worked. And it wasn't the cheapest as JRT was 2/3 of the price.... That's always surprised me the mis-conception that Borland was cutting prices. they weren't they came in 50+% higher priced than their competitor (JRT) and had with a compiler that had been around for a couple of years.

In fact I just checked and the Wordstar editor is 18K of assembler language.

The Editor toolbook shipped as an add-on for TP4, and it included so-called binary editor which was nothing else than the Wordstar editor repacked.
And the binary blob was 13K of code. AntoineL 15:21, 24 October 2007 (UTC)
See JRT for the reasons why JRT Pascal failed. With JRT out of the way, price was a major factor in TP's success.Chris Burrows 13:34, 19 November 2006 (UTC)

What was new was the incredible productivity that we all got from the edit->compile->debug cycles.

Run, not Debug, and hardly new - UCSD was several years ahead by way of integrating an Edit>Compile>Debug system. It was already at V4 when I started using it in 1983. However, UCSD's success on the IBM-PC was limited by its higher cost (about $400) and the relatively slow speed of the interpreted p-code executables compared with the TP COM files. Although UCSD Pascal was available on a very wide range of microcomputers (including non-Intel systems) this advantage over TP was soon eliminated when the IBM-PC became the dominant microcomputer systemChris Burrows 13:34, 19 November 2006 (UTC)

Actually not quite... Of course run... But one of the key features of Turbo Pascal is that when "Run fails" it pin-points an error message right into the source code with a line number.... That's something that the Danish product did not do... And a very key advantage of Turbo pascal for us pro developers. That's why we spend most of our time in the editor: We write and we debug in the editor. Turbo was the first system that was compiled to executable code and provided that facility. UCSD did in some ways but as discussed produced p-code. And you can't debug an executable or write low-level software like TSRs if you don't compile right to executable (and provide the ability to use inline assembler code)....

True enough. BLS Pascal jumps into the source code for compile errors but it only returns an error position in the object code for run time errors. -- Derek Ross | Talk 05:03, 24 November 2006 (UTC)

In other words, the editor (where you spend 95% of your time as a developer) was the central part of Turbo Pascal and all the effort was on thsat side as far as innovation was concerned. That's in IMHO the genius of Turbo Pascal. And that we need to surface in the article I think at least. If Turbo Pascal had just been a cheap good compiler it would have been forgotten like MT+, JRT, Compass etc.... It was a great productivity tool. We all found that to be true. -- (unsigned by Anon in 2006)

Turbo Pascal was not the first Pascal IDE, let alone the first IDE of any type. In Professor Wirth's 1984 ACM Turing Award lecture he said "But Pascal gained truly widespread recognition only after Ken Bowles in San Diego recognized that the P-system could well be implemented on the novel microcomputers. His efforts to develop a suitable environment with integrated compiler, filer, editor, and debugger caused a breakthrough: Pascal became available to thousands of new computer users who were not burdened with acquired habits or stifled by the urge to stay compatible with software of the past."Chris Burrows (talk) 23:57, 16 May 2010 (UTC)

Chris has deleted the "first IDE" statement—IMO correctly—and I've added & sourced Bill Gates concerns about the Turbo Pascal's compilation performance vs Microsoft Pascal. Reliable sources are needed for statements that IDE features were more important than compilation or execution speed, otherwise they are just opinions from c. 26 years ago! - Pointillist (talk) 00:24, 17 May 2010 (UTC)

Another version was available for the DEC Rainbow?[edit]

The DEC Rainbow ran CPM and (Microsoft) DOS, and had both a Z80 and an 8086 processor. Turbo Pascal 3.0 was available for Z-80 and 8088/8086, CPM and DOS. There were Graphics extensions for the IBM PC. Were there any specific extensions for the DEC Rainbow, or was that just an example of a DOS/CPM machine that could run Turbo Pascal? The normal Turbo Pascal IDE did not use hardware acceleration or direct graphics: it was a very simple text mode interface that used OS text display. BTW, for high speed compilation I used a Fujuitsu 80186 'DOS compatible' running DOS 2.11 I didn't have 'another version' for that platform either.

Turbo[edit]

Turbo Pascal compiled and ran entirely in memory. In contrast, MS Pascal needed at least a Compiler Disk, a linker disk, and a source disk. Running on a single disk machine, the operator needed to load the compiler disk, load the source disk, write to the object disk, load the compiler disk again, write to the object disk, load the linker disk, write to the target disk. And you typically finished by reloading the DOS disk. Even on a two disk machine, the three pass compiler required disk swapping of the compiler and linker disks. The massive productivity improvement of Turbo Pascal 2 and 3 came firstly from the elimiation of disk swapping.

A limitation was that Turbo Pascal would stop at the first compilation error. Without a seperate listing file (and disk), and with only a single pass compiler, Turbo Pascal was unable to understand and report multiple errors.

The difference favoured TP. Although the MS product was flexible and powerful, TP, which didn't wait till the end of the file to report an error, was part of the trend from 'computer centre' computing to cheap fast interactive personal computing.

Well the better optimizing compiler of the time was Pascal MT+ by Digital Research, not the Microsoft product. We pros used MT+ for the final compile and Turbo for the quick development. That's how it was.

Philippe Kahn's Role[edit]

Community, it is a bit absurd to have a Turbo pascal page that doesn't have Philippe Kahn's critical role brought out. This is a guy who is a key innovator in the high tech industry, who seems to have done it before, micral and after.... In reading this, there was the Danish offering, but nothing would have happened and it would have remained an obscure offering if Turbo Pascal had not come along. In fact the IDE in Compass pascal was super primitive, a simple command line interface. Many would say that the success of Turbo Pascal (over the Danish offering) was it's incredible edit->compile-> debug cycle. The Wordstar compatible editor was key at the time. I know that it was for me. The turbo Pascal compiler generated sloppy code compared to Pascal MT+ but the editor and the IDE turned it into a productivity machine. Un-matched today. That is I believe the key contribution of Philippe Kahn.

On another note, Kahn has continually stood up against Microsoft from day one. Unfortunately some of the key players in this story had switched sides and joined Microsoft (with huge signing bonuses...). Therefore there is huge pressure to rewrite history and minimize the contributions of anyone who stood up to the empire. Those dynamics are pretty obvious as history gets re-written. In fact even the person running Borland right now, Tod Nielsen, used to compete with Kahn in the early days. It's like a complete take-over. Our role here should be to get the facts correctly and not repeat re-written history by the "victorious empire". Just a word of caution. —Preceding unsigned comment added by 75.210.149.122 (talkcontribs) 00:19, 19 November 2006

Noted. It's not that we particularly want to minimise Phillipe's contribution. It's just that we write what we know about. I know a little about the relationship between BLS Pascal, Compas and Turbo Pascal which is why I brought up the connection between the products and the role of Anders. Since you know something about Phillipe's role you should add that. That's the way that Wikipedia works. Of course it's best if you can cite some book to avoid accusations of Original Research but that's another story. By the way could you add four tildes (~~~~) at the end of your comments. It signs them and more importantly shows where they stop and other peoples' replies start. Cheers -- Derek Ross | Talk 05:21, 24 November 2006 (UTC)

Hmm, this article promotes Kahn as the IDE innovator, while I've also seen this been credited to Borland co founder Niels Jensen (of JPI fame), at least the implementation. So what did Kahn do exactly? Btw note that the bad codegeneration and speed are somewhat linked. Optimization can take more time than the basic parsing+cg. 88.159.74.100 08:35, 2 August 2007 (UTC)

Better examples needed[edit]

The examples on the page "use crt;"; however, all the (three) functions/procedures in the example code are standard Pascal stuff and none of them are certainly in the crt module. However, I don't have TP anymore, so I cannot test better examples. --213.139.171.67 10:09, 22 July 2007 (UTC)

free versions[edit]

Afaik a French version of 7.01 was freely available for a while from (then) inprise.fr. It can still be dled from the net and considered legal in most NGs. 88.159.74.100 08:16, 2 August 2007 (UTC)

undid bubba[edit]

Generally, it made the article longer without adding something important, which is bad. But in particular, the MS compiler did not take up "two floppies, one for each pass of the compiler.". On a single floppy machine (standard at the time), the process was: save file to disk. take out disk. insert compiler disk. take out compiler disk, insert source disk again. take out source disk, insert target disk. take out target disk, insert compiler disk. take out compiler disk, insert target disk. take out target disk, insert linker disk. take out linker disk, insert target disk. See? You had to swap between program disks and data disks. That required multiple disk swaps (more than two), not a floppy for 'each pass'. Also, not all people who owned MS Pascal stopped using it.150.101.166.15 07:16, 13 November 2007 (UTC)

"Sample codes" section[edit]

Firstly, this should be "sample code" again. "Code" is not singular in programming; you don't have "a code".

Secondly, the new example rings some alarm bells. The original version contains the comments "Program 11 / Written by Hensley Bass"; the new one omits the name, but keeps this "program" comment. Was this copied from somewhere? In addition, it doesn't contain any comments which might help a non-expert reader to understand what it's doing, and seeing as what it is doing is farily routine mathematical crunching rather than something which really shows the language off, I still think it's largely inappropriate.

Chris Cunningham (not at work) - talk 08:47, 20 September 2008 (UTC)

The answer to the first issue is simple and has been dealt with. As for the example that I added, I have used the program myself, so it definitely works. The file was actually retrieved from http://pages.intnet.mu/jhbpage/main.htm, but I'm still sure that it can be used under fair use as it was already released as a zip file. As for the the difficulty of understanding it, that shouldn't be too bad. It uses standard codes for Turbo Pascal variables and data types. So, as I have already explained it on the bullet, it's really quite straightforward. ~ Troy (talk) 17:28, 20 September 2008 (UTC)
Ah. Please read Wikipedia:Non-free content. The example does not "significantly increase readers' understanding of the topic", so it fails our fair use criteria. It should be removed, and any replacement code should be appropriately licensed. Chris Cunningham (not at work) - talk 17:41, 20 September 2008 (UTC)
That sure sucks. In the meanwhile, I guess I'll have to look for a way to find an appropriate code. ~ Troy (talk) 17:45, 20 September 2008 (UTC)

Motivation and Release[edit]

In the second paragraph, first two sentences, it appears to state that IBM made a C compiler. I don't believe this is true, at least I don't ever recall that IBM had one. Can soeone please confirm this? Microsoft didn't really make one either for the first several version of the "Microsoft C Compiler" they used a rebranded version of the then leader, Lattice C. If IBM had a pascal compiler it was probably a rebranded version of the Microsoft Pascal Compiler. Thanks. —Preceding unsigned comment added by 24.118.183.63 (talk) 02:33, 2 October 2008 (UTC)

In later versions of Turbo Pascal.[edit]

With the Provision of Units from Turbo Pascal 4 Onwards it was possible to write Applications for GEM. A Series of Units were created for those versions of Turbo Pascal which came with instructions on building Applications which could be executed in GEM (an early Graphical User Interface written by Digital Research for the IBM PCs/XTs/286s & compatables). Not sure if this was something that Borland (the creators of Turbo Pascal) made or if Digital Reserch made it to allow applications to be written in Turbo Pascal or if it was from a 3rd party, however I think it was something one would purchase in order to do that. —Preceding unsigned comment added by Cpm22 user (talkcontribs) 22:55, 12 March 2010 (UTC)

File:Tp40 1987 01.jpg Nominated for speedy Deletion[edit]

Image-x-generic.svg

An image used in this article, File:Tp40 1987 01.jpg, has been nominated for speedy deletion for the following reason: Wikipedia files with no non-free use rationale as of 13 June 2012

What should I do?

Don't panic; you should have time to contest the deletion (although please review deletion guidelines before doing so). The best way to contest this form of deletion is by posting on the image talk page.

  • If the image is non-free then you may need to provide a fair use rationale
  • If the image isn't freely licensed and there is no fair use rationale, then it cannot be uploaded or used.
  • If the image has already been deleted you may want to try Deletion Review

To take part in any discussion, or to review a more detailed deletion rationale please visit the relevant image page (File:Tp40 1987 01.jpg)

This is Bot placed notification, another user has nominated/tagged the image --CommonsNotificationBot (talk) 09:53, 13 June 2012 (UTC)

This page needs screen shots[edit]

Only with screen shots can we get some idea of what it was actually like. Encyclopedant (talk) 22:56, 8 July 2014 (UTC)

Reference to Original documentation[edit]

There are a couple of places in the article that could be usefully referenced to the original Borland documentation -- which now exists as pdf files on the internet. Not sure about referencing to copyright pdfs though? — Preceding unsigned comment added by 203.206.162.148 (talk) 02:55, 22 August 2014 (UTC)

That would be okay. We reference copyright works all the time. -- Derek Ross | Talk 06:18, 22 August 2014 (UTC)

External links modified[edit]

Hello fellow Wikipedians,

I have just modified one external link on Turbo Pascal. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:

When you have finished reviewing my changes, please set the checked parameter below to true or failed to let others know (documentation at {{Sourcecheck}}).

As of February 2018, "External links modified" talk page sections are no longer generated or monitored by InternetArchiveBot. No special action is required regarding these talk page notices, other than regular verification using the archive tool instructions below. Editors have permission to delete these "External links modified" talk page sections if they want to de-clutter talk pages, but see the RfC before doing mass systematic removals. This message is updated dynamically through the template {{sourcecheck}} (last update: 15 July 2018).

  • If you have discovered URLs which were erroneously considered dead by the bot, you can report them with this tool.
  • If you found an error with any archives or the URLs themselves, you can fix them with this tool.

Cheers.—cyberbot IITalk to my owner:Online 04:11, 3 April 2016 (UTC)

Runtime Error 200[edit]

The link to the Runtime Error 200 page is now broken. The page was deleted by User:Explicit So either the page should be restored or the information should be integrated in to this page. AdamTheWebMan (talk) 04:54, 13 December 2018 (UTC)

version release dates[edit]

It would be good if the article had the dates of the various releases. Bubba73 You talkin' to me? 01:54, 27 April 2019 (UTC)

Turbo Pascal never supported the 8080[edit]

I can see a few references on this article that state that Turbo Pascal ran on the 8080, however this isn't true. I have tried running versions 1, 2 and 3 on 8080 hardware and it won't work. It needs a z80 to run on cp/m-80. Unfortunately, I can't find any reliable sources for this, but want to point it out as an area that needs improving if a good source can be found. LawrenceWoodman (talk) 08:36, 16 August 2020 (UTC)

I agree. The original Blue Label Software Pascal that Turbo Pascal was developed from was written for the Z80-based Nascom 2 microcomputer and then re-written as Compas for the Z80-based Gemini series of CPM microcomputers before being released as Turbo Pascal. None of these forebears were designed for or worked on 8080-based machines. That's not to say that Turbo Pascal couldn't have been rewritten to be 8080-compatible. It just seems unlikely. Hence references would be good. -- Derek Ross | Talk 14:13, 16 August 2020 (UTC)
I first ran it on an 8088. I knew there was a CP/M version. If what you say about the 8080 is right, then why not just take the 8080 out of the article? Someone may have jsut been assuming that it would run on CP/M on an 8080. Is there a reference that says that it will? Bubba73 You talkin' to me? 16:23, 16 August 2020 (UTC)
I found my Turbo Pascal 2.0 manual, complete with receipt for $49.95 (US) from 1984. Sadly, though this was a well-known property of Turbo Pascal, the manual makes no quickly-accessible mention of the requirement of a Z80 CPU. It mentions the IX and IY registers in an obscure appendix, even says that the "ports" array allows you access to the *Z80* I/O ports, but never explicitly states that a Z80 processor is required to run the CP/M version. Nor do the listed error messages even have a warning for the "wrong CPU". A quick dive into Google Books and it's needlessly "improved" interface gives nothing useful..all the BYTE articles must have got purged. Got to dig up my old paper BYTEs and see if I have a relevant issue. --Wtshymanski (talk) 02:00, 17 August 2020 (UTC)
It will be good to know, but probably hard to find out. Bubba73 You talkin' to me? 02:10, 17 August 2020 (UTC)
The back cover of the TP 3 manual found on Bitsavers lists under "minimum system requirements" the Z80 processor. They are pretty casual about this limitation, but at least it's something from Borland. --Wtshymanski (talk) 02:12, 17 August 2020 (UTC)

I used to run a very old CP/M system using an 8080 processor many years ago, and CP/M Turbo Pascal V5.5 ran just fine, though I never noticed what the claimed minimum processor was (or if I had, I have forgotten). Luckily: I still have the three CP/M manuals published by Digital Research Inc.

All versions of Turbo Pascal were specified as being CP/M applications. The BDOS of CP/M was written in 8080 and designed to run on an 8080 processor.[1] Any application claiming to be a CP/M application was officially required to run on an 8080 processor (though, I accept that some rogues may exist).[2] Both CP/M itself and the application would also run on a Z80 processor simply because the Z80 was binary code compatible with the 8080 (that is: every 8080 instruction worked exactly the same way on a Z80). For the same reason CP/M and its applications would also run on an 8085 processor.

Despite your manual, all versions of Turbo Pascal purporting to be CP/M do run on an 8080 based CP/M system as far as I am aware. However, it is worth noting as CP/M utilities appeared after the Z80 was introduced, that the 8080 as a processor (actually a three chip set) fell very quickly out of vogue due to their hardware complexity, not to mention the requirement for three power supply lines which had to be energised and de-energised in the correct sequence (Intel's 8085 probably accelerated this somewhat). Many utilities started to state a Z80 requirement if only because it was the CPU with which contemporary CP/M machines were equipped (also saved a shed load of cost because, apart from the single power supply, a Z80 would directly interface with the then new and comparatively cheap dynamic RAM chips, something the 8080 was never designed to do and the 8085 required an additional support chip [8202, 8203 or 8207]).

I should point out that it was Digital Research's BDOS part of CP/M that was exclusively written in 8080. The machine specific BIOS part (produced by the machine manufacturer or a third party) although required by the system guide to be written in 8080 was often written in Z80 for specific machines, and I am aware of at least one example written partly in Z80 and partly in 6502. Since the application never accessed the BIOS routines directly and since a machine specific BIOS would be unlikely to work with a dissimilar machine there was never any problem. -RFenergy (talk) 14:44, 17 August 2020 (UTC)

Frustratingly, checking the ads in 1984 and 1985 BYTE magazine gives no "system requirements" for the CPU, nor did the BYTE review mention a processor requirement. I'm bemused by the progress from version 1 to version 3 in about 2 years of BYTE ads; things moved fast in those days. And none of the 1985 or 1986 ads mention the Macintosh version at all! We claim there was one in this article, but where are the ads? --Wtshymanski (talk) 22:28, 18 August 2020 (UTC)
I've found what I think is pretty good proof that it required a Z-80 from the old Borland Museum. Two links: Back of the Turbo Pascal 3.0 Manual and Community release notes for Borland 1.0 by David Intersimone (previously of Borland). Is this sufficient? — Preceding unsigned comment added by LawrenceWoodman (talkcontribs) 15:55, 18 August 2020 (UTC)
I'm trying to source a review or something from 1983-1984 BYTE magazines that specifically mentioned this limitation. Yes, CP/M 80 was written for the 8080 processor but it was not uncommon for programmers to write Z80 code that ran under CP/M but which used Z80 operations internally. ZCPR replaced much of the CP/M internals with Z80-only versions to save memory space and add functionality. I don't think the CP/M version of Turbo Pascal made it as high as Version 5.5 - that was an MS DOS only release, according to the 5.5 user's guide and reference guide I have sitting next to me. By the time I came to the party, the 8080 was pretty much unavailable in affordable desktop machines and all the CP/M installations I ever had access to ran on Z80s. --Wtshymanski (talk) 21:17, 18 August 2020 (UTC)
You appear to be right about the version that I ran, because I managed to dig out the discs. It was version 3.05. However, it very definitely ran on an 8080 based system. Though I don't have the machine any more, I did keep the more useful chips (including the three chips that form the 8080) and the power supply (which supplies +5, +12 and -5 volts, which a Z80, would not require). I hate throwing out perfectly functional stuff!
One of your references stated that the V3 would only run with 5.25 inch discs under PC-DOS (aka MS-DOS). This is equally untrue. The disc formats were determined entirely by the BDOS part of either CP/M or MS-DOS and not the application. Both CP/M and MS-DOS are user customisable to practically any disc format. MS-DOS could easily by customised to use 8 inch floppy discs by adding its parameters to the format table. I myself customised my CP/M installation to read almost every available format of CP/M disc that there was.
Your comment about 8080 based machines matches, more or less, what I said about the systems. However, despite many applications no longer stating that they worked on 8080 processors, they did often state that the minimum requirement was a Z80 or a Z80 or 8085. Anything that will run on an 8085 will also run on an 8080 provided it does not use the RIM and SIM instructions (which is extremely unlikely as they only supported a very crude serial I/O capability for which a disk operating system would have no use).
Turbo Pascal V1 was released in 1983, when the majority of CP/M systems were still 8080 based. The Z80 was released as a chip in 1976 and made it into a handful of mainstream CP/M computers by 1978. However, Z80 based machines took a few more years to displace the 8080 based machines because, at that time, users were reluctant to replace relatively new machines (unlike today where a three year life or less is now considered the norm). Even in 1984, my university were still running 8080 based CP/M systems and microprocessor development units.
But the elephant in the room is that although all (so called) IBM compatible machines would run CP/M-86, some would also run the 8080 CP/M-80 and most of its associated application software. This was because rather than use the Intel 8088 or 8086 processors, they instead used the NEC V20 or V30 compatible processor. Though technically they were 80188 (V20) or 80186 (V30) compatible, both processors would also emulate the 8080. Since the 8088 was designed specifically to use, and did use 8080 support chips, virtually no fiddling was required to make it work though a 'wrapper' was required to switch the processor into 8080 mode as CP/M-80 booted up. -RFenergy (talk) 12:12, 19 August 2020 (UTC)
The 8080 along with all its support chips was still being manufactured as late as 1990. Its success and ubiquity was the reason why the 8086 was required to be source code compatible. That is: every 8080 instruction had an 8086 equivalent instruction or instructions, though not necessarily the same object code. -RFenergy (talk) 13:08, 19 August 2020 (UTC)
I have found a reference for Turbo Pascal V1.0 that states that it needs a Z-80 in Byte Magazine Volume 09 Number 02 Feb 1984. LawrenceWoodman (talk) 08:05, 20 August 2020 (UTC)
This article is not exclusively about Turbo Pascal V1.0. It is about Turbo Pascal in general. We need a reference that states than no version of Turbo Pascal would run on an 8080. I do not believe such a reference would exist because I know that it is not the case (see above). -RFenergy (talk) 13:52, 20 August 2020 (UTC)
The Magazine is dated February 1984 and hence before Turbo Pascal v2 was released so this is talking about the earliest release, v1 of TP. Also, it has been a long time and our memories are often not as accurate as we may hope. However, as I said at the start of this thread I can try this today with 8080 and Z80 and can confirm that it only works on the Z80. LawrenceWoodman (talk) 14:12, 20 August 2020 (UTC)
Well, we know version 5.5 would not have run on an 8080 because they dropped CP/M support from version 4 on. So that memory is inconsistent with the article. --Wtshymanski (talk) 02:40, 21 August 2020 (UTC)
Pity you didn't read the rest of the discussion before putting your brain into gear. -RFenergy (talk) 14:26, 21 August 2020 (UTC)
If V1, for any reason, does not run on an 8080, that proves nothing because that would be original research which is not allowed. As said: this article is still not exclusively about V1 anyway. -RFenergy (talk) 14:30, 21 August 2020 (UTC)
I'm confused, are you saying that the Byte magazine article that states that the first version of TP needed a Z80 and didn't run on an 8080/8085 is original research or are you referring to my mention of my experience of it. If it is the latter, I mentioned it as a spur to find the correct sources not as any evidence for the article. This is indeed no different than your bringing up your recollections of running TP 5.5, then TP 3.05, on an 8080 except that my experience is current and not relying on fading memories. As far as original research, I made it quite clear when I started this thread that my intention was to see reliable sources for my assertion. However, now that you mention original research it seems pretty clear to me that the mentions of 8080/8085 should be removed because no referenced sources support that, we have only been able to find references that support the Z80. LawrenceWoodman (talk) 15:01, 21 August 2020 (UTC)
Your original research is trying it on a Z80 and an 8080. Yes it would be true that my recollection is also original research. However: the default position is, that this article has claimed, for the last ten years, that Turbo Pascal has run on an 8080, Z80, 8085 and x86 (and prior to this, no specific claim that a Z80 is required has been made since the article was created). The version of the article that says it runs on an 8080 is therefore the established version and is the accepted version per established consensus (in that no one has claimed otherwise since the article was first written in 2002).
Along comes a user (with, I am reliably informed, a history of inaccurate, unresearched and unreferenced edits) who claims that it does not run on an 8080 but does run on an 8085 and so therefore requires a Z80 (which is nonsensical). This is because: if it will run on an 8085, it will also run on an 8080. But even if it ran on an 8085 but not an 8080 (which is highly unlikely), it still does not require a Z80. Because the consensual position has stood for so long, a specific secondary reference is required that some versions of Turbo Pascal ran on an 8085 but that none ran on an 8080. Such a reference has not yet been forthcoming. -RFenergy (talk) 16:36, 21 August 2020 (UTC)
I find what you said extraordinary. There is no need to resort to Ad hominem attacks by making things up about me because you disagree with what I said. My edits on Wikipedia have been minimal, are publicly viewable and have been maintained. It is clear that even here, I'm not just making a change to the article, but instead discussing what I think is an error and searching for good sources to clarify the situation. I may well be wrong, despite all evidence to the contrary, but the topic here is Turbo Pascal not me.
I want to keep this on topic. As far as running on an 8085, I have never said that it could. I have only ever said that it won't work on an 8080 and have produced three good references that state that it needs a Z80, one of which goes further by saying that not only does it require a Z80 but it won't work on an 8085 because of this requirement. With two references from Borland and one from Byte, how much more proof is needed? LawrenceWoodman (talk) 08:42, 22 August 2020 (UTC)
I haven't attacked you or made anything up about you. You have not edited the article and I have never claimed that you have.
You have produced references that claim that Turbo Pascal V1 will only run on a Z80 but nothing for any of the other versions. Wtshymanski produced a Turbo Pascal document that states that it requires a Z80, but it dates to a time when the 8080 was pretty well a dead duck and much software claimed a Z80 was required when it would run on an 8080 (though some also stated Z80 or 8085 without mentioning the 8080 although if it ran on an 8085 it would also run on an 8080).
The situation was rather a mess and today, it is difficult to work out if any particular software would work on an 8080/5 or if it really did require a Z80. As stated above, if software claimed to be CP/M[-80], it was required by the CP/M system guide to run on an 8080 (which automatically meant that it would run on a Z80 and an 8085). Borland marketed Turbo Pascal as a CP/M application which meant that Borland were officially claiming 8080 compatibility. Nevertheless: as said, software was produced that did not run on an 8080 or an 8085, and that should not officially have claimed to be a CP/M application though, in reality, it did and it would work with CP/M just fine as long as you had a Z80.
It also occurred to me that I couldn't recall a CP/M based computer that actually used an 8085 processor. I managed to find a list of all machines that ran CP/M (actually CP/M and CP/M-86). It turns out that there was. There was just one: the IMSAI VDP-40 and VDP-80 - the same machine differing only in the size of the built in video display.
It was a business oriented 'luggable portable' not unlike the Osborne 1 though larger and over four times the weight - it weighed nearly 1cwt (or just over a twentieth of a tonne). I have no idea what contributed to the weight. With 32 or 64kb of memory, assuming that this was dynamic RAM, it seemed to me to be a mystery why they didn't use a Z80 which would have been simpler to interface with the memory not needing the extra support chips plus refresh logic along with the required extra complexity of the PCB (which is probably why nobody else used the 8085).
However, I discovered that it was fitted with two power supplies one of which was a 7.5 Amp power supply, which strongly suggests that they used the more expensive static RAM (more expensive in cost, PCB area and power requirements) after all, nothing else could have consumed this much power. As even the 32kb VDP-40 IMSAI cost north of $10,000, it is not surprising that it did not sell well and why hardly anyone one has heard of it. IMSAI went bankrupt a year after releasing it.
Although listed as a CP/M machine, it turns out that it was not supplied with CP/M but with IMDOS (IMSAI Multi-Disk Operating System) supposedly compatible with CP/M. It would only have been able to run CP/M if someone produced a compatible BIOS for the machine. I can find no evidence that IMSAI ever did. -RFenergy (talk) 13:52, 22 August 2020 (UTC)

Just because something has been stated in a Wikipedia article for years, doesn't mean it's true. We've had entire imaginary physicists and other phantom topics in WP, let alone errors such as this. Where is it written that Digital Research prohibited advertising Z80 programs as CP/M ? --Wtshymanski (talk) 21:36, 23 August 2020 (UTC)

Whilst what you say is largely true: it is also true that Wikipedia is built on consensus. That the article has claimed that Turbo Pascal ran on 8080, 8085 and Z80 processors means that the claim has been accepted for over ten years as a de facto consensus. If it really is not true, then a reliable WP:SECONDARY source is required that definitively states that no version of Turbo Pascal would have been able to run on an 8080 processor is required. A Turbo Pascal manual for a single version stating that runs on a Z80 is a WP:PRIMARY source that does not meet the requirement precisely because it does not definitively state that it does not run on an 8080. RFenergy (talk) 17:00, 27 August 2020 (UTC)
Informed consensus would make this project more reliable. There is zero quality assurance going on here, so it doesn't mean 10 year old text is any more reliable. --Wtshymanski (talk) 00:06, 4 September 2020 (UTC)
Maybe not. But that is the way it works - by consensus right up until reliable sources are found to overrule it. Your opinion (which I have been informed is mostly suspect at the best of times), in spite of what you believe, does not supersede this principle. -RFenergy (talk) 13:47, 4 September 2020 (UTC)

A review of Turbo Pasal v2.0 by Richard Rodman in the Premier Issue of the magazine Computer Language, Sept 1984 states the following on Page 69: "And, if you're still running an antique 8080 or 8085 processor, you can't use Turbo Pascal. It is only available for Z80- or 8086-family machines." [3] The following quote from another reviewer is included in Borland's advertising for Turbo Pascal v2: "Finally, somebody has done it right. A powerful Pascal Z80 or 8086 / 88 single pass native code compiler together with a full screen editor and error checking to make a super programming development package." David Carroll, Microsystems, February 1984. [4]I haven't yet been able to obtain a copy of the full review. Chris Burrows (talk) 20:07, 31 August 2020 (UTC)

Thank you! --Wtshymanski (talk) 00:06, 4 September 2020 (UTC)
Another reminder is required that this article is about Turbo Pascal not Turbo Pascal V2.0 specifically. There is still no WP:SECONDARY reference stating that there was no version of Turbo Pascal that could run on an 8080. -RFenergy (talk) 13:47, 4 September 2020 (UTC)
So that we can narrow this down. Do we all agree, from the various sources given, that TP v1 and v2, at least, don't run on an 8080? LawrenceWoodman (talk) 15:23, 9 September 2020 (UTC)
That is what I think, based on the references I've read. Bubba73 You talkin' to me? 16:41, 9 September 2020 (UTC)
Certainly all the references presented support the support the idea. -RFenergy (talk) 16:49, 10 September 2020 (UTC)
I agree. I have located an additional reference [5] which states: "One potential problem is the fact that the CP/M 80 version is written in and generates Z80 machine code, which will not run on all CP/M systems, e.g. 8 bit Heath/zenith and CompuPro systems using the 8080/8085 CPU. The decision to use Z80 machine code was apparently a compromise based on the Z80' s more powerful instruction set and the fact that the majority of CP/M implementations (including Apples) use the Z80 CPU. Chris Burrows (talk) 22:42, 10 September 2020 (UTC)
I think that cinches it! Bubba73 You talkin' to me? 01:45, 11 September 2020 (UTC)
Er, No: it doesn't clinch anything. It's always a good idea to read the whole article before going off at half cock.
The article cited does not specify which version of Turbo Pascal that it is discussing. However, a read of the first paragraph of the article where it is discussing the "… recently announced by Borland International of Turbo Pascal …" [following the withdrawal of JRT Pascal], makes it obvious that it is discussing a brand new Pascal system and since the publication is the "Washington Apple Pi Journal", along with the rest of he piece, it is clearly discussing the (then new) 68000 processor version 1.0 for the Apple Macintosh machines (which, I believe, we all accept does not run on an 8080 - or a Z80 come to that).
Yes, the piece does make reference to Z80 only for "the CP/M 80 version", but no obvious clue is given as to which CP/M version it is discussing. However, a bit of detective work reveals that the issue date of the magazine predates Turbo Pascal V3.0 by nearly two and one half years. It also predates the release of V2.0 so it can only be discussing V1 (which we do know is the version from which the 68000 version was derived). The processor required for V1 is not in contention so there is nothing to clinch. -RFenergy (talk) 13:31, 11 September 2020 (UTC)
Are you suggesting that Borland initially only implemented the CP/M-80 version of Turbo Pascal for v1 and v2 to run on a Z80 and then two or three years later developed an 8080 version a year before they dropped support for CP/M altogether? That sounds very fanciful to me and to date I have found zero evidence apart from your recollections to support that theory. — Preceding unsigned comment added by Chris Burrows (talkcontribs) 20:32, 11 September 2020 (UTC)

References

  1. ^ Digital Research System Guide for CP/M V3.0 Section "1.7: Hardware Supported" states under section 1.7.1 and 1.7.2 [because there was a banked and a non-banked version of CP/M] "Processor: Intel 8080, Intel 8085 or Zilog Z80 or equivalent" The implication being that CP/M must run on any of the stated processors because there are no processor specific versions
  2. ^ Digital Research System Guide for CP/M V3.0 Section "5.2: Application Software" states under section 5.2.1 and 5.2.2 [again for both versions] "Application (sic) shall be assembled or compiled to run on an Intel 8080 or equivalent, such applications should also run on Intel 8085 or Zilog Z80 or equivalent without modification"
  3. ^ https://archive.org/details/Computer_Language_Issue_01_1984-09_CL_Publications_US
  4. ^ http://tech-insider.org/personal-computers/research/acrobat/8405-a.pdf
  5. ^ https://archive.org/details/washingtonapplepijournal198405/page/n49/mode/2up?q=turbo+pascal

TP 3.0 manual[edit]

FWIW, here is the TP 3.0 manual]. Bubba73 You talkin' to me? 19:48, 27 August 2020 (UTC)

I don't want to get in the middle of this, but...[edit]

I'm not taking sides because I don't know. I used a Z80 but with TRSDOS. The first version of TP I used was 2.0, but it was on a PC with DOS and an 8088.

The TP1 manual says that it runs on CP/M with a Z80 and on CP/M-86. (i.e. it doesn't say 8080).

There is a claim that it will run on an 8080. Is it possible that it will run on an 8080 as long as it doesn't use any of the Z80-specific instructions? (I don't know.) Bubba73 You talkin' to me? 01:22, 4 September 2020 (UTC)

That's kind of (8-bit) turbo Pascal's thing, though - it uses Z80 instructions in the generated code. So, TP projects don\t run on an 8080, though I don't kn ow what happens - it's not like CP/M could check for this before running the program. --Wtshymanski (talk) 01:58, 4 September 2020 (UTC)
CP/M of itself does not do this as far as I am aware (and my three volumes of CP/M documentation do not mention this) and why should it bearing in mind that it is a requirement of any application that claims to be a CP/M application that "Application shall be assembled or compiled to run on an Intel 8080 or equivalent". However, an application could achieve this as checking for a specific processor is relatively easy. Basically, you just need to execute a Z80 specific function and trap any error when the 8080 complains. Checking for the presence of the refresh counter would probably be the way that I would do it.
Someone had suggested to me that Turbo Pascal checks the processor and executes code to match (the suggestion was that even the Turbo Pascal itself executes code for the processor it is run on, but it would make obvious sense to make the difference solely at the object code level otherwise you have to write two editors, two compilers, two debuggers etc. etc.). I cannot find any documented evidence of this so it remains anecdotal which is why I had not previously mentioned it. In such circumstances, if this is the case, Borland are very likely to prefer users to compile code on a Z80 as it would certainly produce better benchmark timings. Thus it is quite possible that they state it runs on a Z80 and neglect to mention the 8080 as they don't want anyone running unflattering benchmarks. Manufacturers have been rigging benchmark figures since they started making marks on benches (I don't suppose anyone now knows what a benchmark really is!). I am trying to find some object code complied on an 8080 (and, ideally, the same code compiled on a Z80 - but that is probably far less likely). I no longer have mine, so I am still looking. -RFenergy (talk) 16:44, 4 September 2020 (UTC)
It is correct that CP/M doesn't check because it has no reason to. However, neither does TP, it just hangs when run on an 8080. LawrenceWoodman (talk) 06:19, 5 September 2020 (UTC)
Ran perfectly on my 8080 CP/M system (V 3.05 - Still got the discs but only some of the bits of the computer including the three chips of the 8080A processor chip set and the PSU). -RFenergy (talk) 12:56, 5 September 2020 (UTC)
If you have a version of TP that runs on an 8080 then it is incredibly rare and would therefore be valuable. I appreciate that you don't have the computer to run it but do you have or know someone else that has a drive to copy the program off the disk? This would be great for historical purposes and it could also then be tried on an 8080 cp/m machine or you could run it yourself on an 8080 emulator. LawrenceWoodman (talk) 18:30, 5 September 2020 (UTC)
Most versions of Turbo Pascal are now downloadable as (effectively) freeware. V3.05 does not appear to be in any way rare and was the last incarnation of the V3 series and the end of CP/M(-80) TPs. -81.157.153.155 (talk) 10:57, 6 September 2020 (UTC)
Yes they are available and none of them run on an 8080. RFenergy believes he has a version that does run on an 8080. If this is the case then his version would be incredibly rare. LawrenceWoodman (talk) 06:56, 7 September 2020 (UTC)
I have just had a really good look through the Turbo Pascal manual V3.0 (I cannot find my V3.05 manual at present - though it should not be any different as the '.05' increment suggests very minor bug fixes). However, the V3.0 manual states that it specifically covers the PC-DOS, MS-DOS, CP/M-86 and CP/M-80 versions (page 1). As noted above, per Digital Research's requirements, any CP/M[-80] application must be, "assembled or compiled to run on an Intel 8080 or equivalent". Since Borland marketed it as a CP/M application, it is required to run on any CP/M system (it would be a breach of the use of Digital Research's CP/M trademark otherwise). The manual makes no reference anywhere that a Z80 is specifically required. In particular, Appendix N (page 372 - effectively FAQs) has a section on compatibility. Once again no mention is made that a Z80 is specifically required nor is there any hint that it will not run on an 8080 based system clearly implying that it must be compatible with any CP/M system (therefore including 8080 based CP/M systems).
Turbo Pascal was sold here in the UK. If it really did not run on an 8080 then Borland (and any retailer selling it) committed an offence under Section 1 of the Trade Descriptions Act 1968. This is a strict liability offence. The only get out is: if the packaging containing the product had a statement on it, clearly visible to the purchaser at the point of sale, that it only ran on a specific sub-set of CP/M systems. That is: that the statement is not inside the shrink wrapping - which automatically excludes any statement or claim in the documentation anyway. The European Court of Justice have subsequently confirmed that this principle applies throughout the European Union. (This act does not apply to any of the currently available free downloads because no money changes hands.) -RFenergy (talk) 17:20, 6 September 2020 (UTC)
Maybe Borland were committing an offence. That wouldn't change whether it worked on an 8080 or not. Griffiths987 (talk) 16:31, 7 September 2020 (UTC)
In the Turbo Pascal Tutor (1985), there is a catalogue of Borland's products which has an advert for Turbo Pascal v3.0 which is very specific about which processors TP v3 supports: Z-80, 8088/8086, 80186 and 80286. Considering how specific they've been about the x86 processors it seems unlikely that for a few characters more they wouldn't be equally specific if it also supported the 8080.
Have you thought any more about making your TP v3.05 for 8080 files available? A version of TP that ran on an 8080 would be really well received by CP/M enthusiasts such as myself and others. Another thing that would be useful is if you could provide a picture of the disk labels to aid in the search LawrenceWoodman (talk) 10:15, 10 September 2020 (UTC)
I no longer have a machine capable of reading the discs. The only discs I have (that is: that I can find) are copies of the originals (because the originals though able to be read by my 8080 machine could not be read by the subsequent CP/M machine that I possessed - at least that was until I modified the BIOS to do so). I have no idea if the discs are even readable today because they have not been stored in the most ideal of places. -RFenergy (talk) 16:47, 10 September 2020 (UTC)
That's ok, it was a bit of a long shot. It does leave us with a bit of a problem as that was the only evidence of there ever being a possible 8080 version of TP. Multiple people have looked but all we have been able to find are sources that explicitly state that TP v1 and v2 don't support an 8080/8085 or sources that say that TP v3 requires a Z-80 (with the possibility that it may have supported an 8080 unstated). The requirement of a Z-80 is also attested by the available binaries for TP v1, v2 and v3. At this point we seem to have exhausted the search for an 8080 version of TP and therefore I think we should remove references to its running on an 8080 with the understanding that they can always be reinstated if a source becomes available. What do you think? LawrenceWoodman (talk) 12:14, 14 September 2020 (UTC)
I agree. Bubba73 You talkin' to me? 02:51, 15 September 2020 (UTC)
I agree. Chris Burrows (talk) 04:15, 15 September 2020 (UTC)
In appendix A of the manual the register usage of the CP/M version can be found: IX, IY and the alternate registers, i.e. AF', BC', DE', HL', which the 8080 and 8085 don't have, so I agree. Alex1 (talk) 13:51, 15 September 2020 (UTC)

Turtle graphics[edit]

RFenergy has switched their edit-warring target to now claiming that TP3 had built-in turtle graphics. Yet they still refuse to give a source for this. The source given did not make the TP version specific. It might have applied to 4 onwards.

Also, was the Graphix Toolkit bundled or a separate library product? Griffiths987 (talk) 16:26, 7 September 2020 (UTC)
The source provided specifically states V3.01 (a minor bug fix update to V3.0) had you bothered to read it. However, youre right that the Graphics (for those of us who can spell) Toolkit was not part of the original Turbo Pascal -RFenergy (talk) 16:34, 7 September 2020 (UTC)
Graphix Toolbox (it was spelled that way) was a separate package (I had it), along with a numerical analysis package (I had it) and I believe a package for games (which I didn't have). Bubba73 You talkin' to me? 17:30, 7 September 2020 (UTC)
Yes, just checked the manual again. 'Graphix' it is. -RFenergy (talk) 16:38, 10 September 2020 (UTC)

Turbo Pascal and the 8087 co-processor[edit]

Some editing has taken place on Turbo Pascal versions that operate with an 8087 coprocessor. An edit took place crediting V2 as being the first to have 8087 support as well as the BCD version. However, a subsequent flourish of edits has a reference present in the claim for V3 being first. My recollection is that V2 did offer 8087 and BCD versions. The reference does not look particularly good so does anyone have a better reference? -RFenergy (talk) 16:37, 10 September 2020 (UTC)