Tiny Pascal

written by Matthew Reed

Cover of Radio Shack Tiny Pascal

The cover of Radio Shack’s Tiny Pascal manual

Tiny Pascal, also known as “Tiny” Pascal, was a popular programming language for microcomputers. It was created by Kin-Man Chung and Herbert Yuen in 1978 and first described in a three-part series of articles published in BYTE. There were at least four different versions of Tiny Pascal for the TRS-80, although the version sold by Radio Shack was the most popular.

Tiny Pascal was a subset of the programming language Pascal. It contained most of the features of Pascal but was small enough to run well on a cassette-based TRS-80. Tiny Pascal was often used to teach Pascal programming and the Radio Shack catalog described it as a “great introduction to structured programming.”

“Tiny” Pascal

The first version of Tiny Pascal appeared in a three-part series of articles in BYTE titled “A ‘Tiny’ Pascal Compiler.” They were written by Kin-Man Chung and Herbert Yuen and appeared in the September, October, and November 1978 issues. Those articles were also later published in The BYTE Book of Pascal that was published in 1980.

This version of Tiny Pascal was written in North Star BASIC. According to the articles, it implemented most of Pascal with some limitations:

  • the GOTO statement was missing
  • only integers and one-dimensional integer arrays were allowed for variable types
  • there was no “structured data type, pointer type, user defined type, and file type”
  • parameters were passed by value only

On the other hand, Tiny Pascal did add some extensions to standard Pascal, such as else clauses in case statements.

People’s Pascal I

People’s Pascal I was a version of Tiny Pascal for the TRS-80 which was introduced in 1979. It was sold by Computer Information Exchange of San Luis Rey, California, who were also the publishers of the TRS-80 Computing newsletter.

People’s Pascal I was written by John Alexander of Pipe Dream Software in Berwick, Australia. It wasn’t a port of the Kin-Man Chung and Herbert Yuen Tiny Pascal, but a completely new version written in TRS-80 BASIC. It was estimated that programs written in People’s Pascal I were three times faster than programs written in Level II BASIC. People’s Pascal I cost $15.50 (later $19.95) and required a 16K Model I.

Almost all Tiny Pascal versions (and most Pascal implementations) didn’t generate object code directly, but instead generated p-code. The p-code consisted of instructions for a somewhat standardized virtual machine that were executed by a separate p-code interpreter. A unique feature of People’s Pascal I (among Tiny Pascal versions) was its ability to generate native Z80 code directly from p-code.

People’s Pascal II

Computer Information Exchange also sold another version of Tiny Pascal known as People’s Pascal II. It cost $23.50 and required a 16K or 32K Model I.

People’s Pascal II was written in machine language and also generated p-code. Its p-code interpreter was somewhat faster than People’s Pascal I (generating programs that ran four to eight times faster as Level II BASIC), but it had no option to compile to Z80 code.

Both People’s Pascal I and People’s Pascal II were no longer being sold by 1983.

SuperSoft Tiny Pascal

Another version of Tiny Pascal was introduced in 1980 by SuperSoft, a company based in Champaign, Illinois. The SuperSoft Tiny Pascal, also known as ‘Tiny’ Pascal, cost $40.00 for a cassette version and $45.00 for a disk version. It was described as the only “authorized version” of Tiny Pascal for the TRS-80.

Here is a description from an advertisement in the June 1980 issue of Kilobaud Microcomputing:

Now you too can have Pascal! The famous Chung/Yuen ‘Tiny’ Pascal has been specially designed for the TRS-80. The full power and elegance of ‘Tiny’ Pascal is at your command. Programs written in ‘Tiny’ Pascal run at least four times faster than the same programs in BASIC! ‘Tiny’ Pascal is also a great way to learn Pascal programming and fun too.

A good resource for the SuperSoft Tiny Pascal is Pascal, a book written by David L. Heiserman and published by TAB Books in 1980.

SuperSoft also sold versions of Tiny Pascal for North Star DOS and and CP/M. In addition, Abacus Software of Grand Rapids, MI sold licensed versions for the Commodore PET and Apple II.

Radio Shack Tiny Pascal

The most popular version of Tiny Pascal for the TRS-80 was Tiny Pascal (catalog number 26-2009). It was introduced in 1980 and cost $19.95. The Radio Shack Tiny Pascal was licensed from SuperSoft and was nearly identical to the SuperSoft version. Radio Shack introduced a Model III version of Tiny Pascal (catalog number 26-2020) in May 1982. It also cost $19.95.

Radio Shack’s Tiny Pascal wasn’t as powerful as full-featured Pascal compilers, such as Pascal 80 from New Classics Software or Alcor Pascal from Alcor Systems. But unlike the larger packages, it ran fine on a 16K cassette-based TRS-80. Mark Renne in 80-U.S. Journal described Tiny Pascal as “an excellent choice for the tape user or those not sure of their interest in Pascal.”

Radio Shack never sold a version of Tiny Pascal for disk. But there were many articles written describing different approaches to convert the cassette version to disk. A few examples include:

  • “Pascal Patches” by Jonathan Yarden in the Volume III, Number 6 issue of The Alternate Source
  • “Modify Tiny Pascal for Disk” by John B. Harrell in the July 1981 issue of 80 Microcomputing
  • “Tiny Pascal for Disk” by David Goben in the book The Rest of 80
  • “Disk Tiny Pascal” by David M. Silver in the 1983 Anniversary issue of 80 Micro

Radio Shack continued to sell Tiny Pascal for almost as long as the TRS-80 itself. It appeared for the last time in a 1987 Radio Shack catalog but was still available from Radio Shack for some time after that.

Comments

JD says:

The Model I Radio Shack version included the source code for the compiler itself, in Tiny Pascal, which was very educational to read. The Model III version did not.

Looking at the source code, it’s clear that the P-Code for the Radio Shack version was very different from the BYTE version, although both written by the same authors. (The BYTE version’s uses 4-byte fixed-sized instructions, while Radio Shack’s varies between 1, 2, and 3-byte instructions.) Reading the BYTE articles do not help much with understanding the Radio Shack one.