Jump to content

Pascal/MT+

From EDM2
Revision as of 07:22, 5 February 2015 by Reiknir (talk | contribs)

Pascal/MT+ is a Pascal compiler originally introduced for CP/M in 1979 by MicroSYSTEMS as Pascal/MT targeting 8080 and Z80 processors and later also targeting MOSTEK 6502 processors. In 1981 the distribution rights were acquired by Digital Research (the company behind CP/M) who published it until the latter half of the 80's in an improved version called Pascal/MT+. Over time the system was made available in versions that had MC68000 and i8086 back ends, and ran under CP/M-68k, CP/M-86, PC-DOS and RMX-86.

History

Although by now largely forgotten, Pascal/MT+ was in its day a highly influential product. Prior to the release of the system it you wanted to use a compiler on microcomputer system you were forced to use overlays due to the extremely limited working memory the systems offered. This in turn meant disk swaps as the compiler moved data temporarily from memory to a disk, making the development of a compiled program a pain, you had to open an editor, write the program, then close the editor, run the text file through a compiler with associated multiple disk swaps and then repeat the same process with the debugger and linker, compiling a large program took literally hours.

Most people do not realise that the bulk of commercial software for early 8 and 16 bit computers was in fact written on mini or mainframe systems, lone wolfs did indeed develop on the same systems as their software was deployed on, but they invariably used either interpreters or machine code assemblers, usually the BASIC interpreter that came with each system. But commercial concerns like Microsoft for instance wrote all their systems on a VAX, and in the UK when the CEO's of the larger game publishers met in the pub it was not the brand of their sports car that they used to boast about, but the fact that their company was developing their games on a mainframe complete with an software emulated Sinclair Spectrums and Commodore 64's, while their less successful counterparts had to make do with a VAX or Data General mini computers and had to to the software testing on actual hardware and not on emulators.

This changed to a degree with the introduction of BDS C, a C compiler that was written in assembly language that was so small and efficient that it allowed you to compile and link in memory, shortening your development time by factors of 10 to 100, depending on set-up. Or it should have, were it not for the fact that the BDS compiler only supported a C subset that made ports of UNIX C code very difficult, it also had an unbelievable array of bugs and bizarre design choices made by someone that had obviously no prior development expertise, that combined to make life with it anywhere from difficult to unbearable, and the company selling it had no apparent interest in providing bug fixes or improvements.

Or in other words if you wanted to program your CP/M system in C in the late 70's, you had a choice of either wasting your life on endless disk swaps, opening and closing editors, compilers and linkers or other utilities or you wasting your life writing around the seemingly endless incompatibilities and bugs the BDS C system offered. This was one of the things that drove people from C and to battle hardened interpreters such as UCSD Pascal on small microcomputer systems, despite them having considerably slower execution speed and potential software distribution and compatibility problems.

Initially a Pascal subset, Pascal/MT leveraged the fact that it was much easier to write a compiler for the highly structured Pascal language than it was for the unstructured C or classic languages like Fortran, in addition to the fact that Pascal is a much smaller language. Written in assembly language it performed the same trick as BDS C of actually performing the compilation inside available memory and unlike the BDS product, the Pascal/MT system was relatively bug free, the documentation was clear and concise, if a tad Spartan, and the company did actively develop upgrades and bug fixes.

This seemingly impossible trick of having a large high level language compile inside an available heap space is something that Turbo Pascal replicated a few years later but with the addition of an IDE that further cut down the time it took to develop software with the system. But unlike the later Borland product that notoriously put out sloppy code, Pascal/MT's code output was good enough for the company to ditch assembly language and actually rewrite the toolkit from scratch in Pascal and compile the program in itself, which lead to the release of Pascal/MT+ in 1980 that was much closer to being a full Pascal development system.

Brisk sales and rave reviews lead to the company being bought by systems house Digital Research in 1981 and under their auspices the system was enhanced and ported to 16 bit architectures and to operating systems such as CP/M68k and MS-DOS. As a testament to its popularity, although UCSD Pascal and other p-code interpreters were still more popular than Pascal compilers at the time, by 1983 there were more books available on Pascal/MT+ that on other Pascal compilers combined. The company also placed emphasis on standards compliance, the compiler had ISO 7185 support, although it should be noted that the package was never 100% ISO Pascal compatible.

This changed overnight in 1983 when a Danish company called Borland entered the US market with a Pascal development kit called Turbo Pascal, while the Turbo compiler itself was not of the same quality as Pascal/MT+, offered only a subset of the language and differed quite a bit from the official standard it had a somewhat unique feature in being offered for sale for only 49.95 US$ vis a vis the around 400 US$ that the Digital Research product came in at. Although a number of companies had previously offered high level language tools for as low as 20 US$ and a number of companies offered compilers, including Pascal compilers at just under the magical 50 US$ threshold, the difference was that it was always obvious that these were inferior products that often came without editors, debuggers or linkers even, while Turbo Pascal with its IDE and unusually extensive documentation, at first glance appeared if anything to be superior to more expensive offerings.

Initially decimating the sales of Pascal/MT+ for 8 bit CP/M, a few months later the release of the DOS version of Turbo Pascal did the same for the 16 bit version of P/MT+, RMX-86, CP/M68k and CP/M86 were too much of niche operating systems to allow the Pascal/MT+ ports on them to make up for lost sales of the system on the mainstream OS's. Digital Research persevered with development of the system, but to no avail, by 1985 it had been completely forgotten and DR in a panic move responded by offering the package at the same price as Turbo Pascal for DOS, and the CP/M version for 30% less than TP, but to no avail as by that time the Borland product was too well entrenched. Despite being decidedly superior in most ways to Turbo Pascal the low cost version of Pascal/MT+ did not even make a dent in the marketplace and the company dropped all marketing of the system in the latter half of the 80's.

The DOS version of the tool runs fine under the DOS subsystem of OS/2 or eComStation if you can find a copy, the CP/M-86 version can be coaxed to run by running DOS+ as an original DOS from floppy image.

Links

Authors