ZBASIC

written by Matthew Reed

Simutek advertisement

Simutek advertisement from the November 1982 issue of 80 Microcomputing

ZBASIC is probably the most popular BASIC compiler ever written for the TRS-80. It holds the distinction of being one of the few programs originally created for the TRS-80 that is still being developed in some form.

The first version of ZBASIC was written in 1979 by Andrew Gariepy for the Model I and sold by Simutek Computer Products. ZBASIC began appearing in Simutek advertisements in 1980. It originally cost $99.00 for the tape version and $129.00 for the disk version.

ZBASIC fell somewhere between a traditional compiler and an interpreter. As an early advertisement described it:

ZBASIC is an “Interactive Compiler.” This means it is resident while you write your BASIC programs. You may compile your program and run it or save it, without destroying your resident BASIC program! In fact, jumping back and forth between your compiled program and your BASIC program is one of its best features!

Despite its tight integration with interpreted BASIC, ZBASIC compiled to pure Z80 machine language. Compilation time was very fast, described as two seconds for a 4K program.

In contrast to many other compilers (most notably the Microsoft BASIC Compiler), Simutek charged no royalties on sales of programs compiled with ZBASIC. The only requirement was that this message had to be displayed for at least one second upon program start:

THIS PROGRAM WAS COMPILED USING THE ZBASIC COMPILER. COPYRIGHT SIMUTEX COMPUTER PRODUCTS INC. and ANDREW GARIEPY.

That message could be seen on a number of TRS-80 programs at the time. The most famous was probably the word processor CopyArt, written by Michael Gariepy and also sold by Simutek.

Simutek advertisement

Simutek advertisement from the November 1980 issue of 80 Microcomputing

Version 2

The best remembered TRS-80 version of ZBASIC was version 2, specifically 2.2, which was introduced in 1982. The price for the newer version was actually lower than the first: the disk version cost $89.95, the tape version cost $79.95, and both tape and disk versions together cost $99.99.

ZBASIC boasted speed increases of 10 to 100 times over interpreted BASIC. There were a number of new features, including:

  • both random and sequential disk I/O
  • a high-precision math package (with no rounding problems)
  • machine language commands
  • program chaining

ZBASIC supported most BASIC commands, with only a few exceptions. For obvious reasons, program editing commands such as AUTO, LIST, and EDIT were not supported. The only other major group of unsupported commands were mathematical functions such as SIN and COS, but there were substitutes for these functions in the ZBASIC manual.

I always liked the Simutek advertisements. They were quite informative and listed not only the features but also the unsupported BASIC commands.

Zedcor advertisment

Zedcor advertisement from the December 1985 issue of 80 Micro

Version 3

Version 3 of ZBASIC was a complete rewrite and there were a number of changes. Foremost among them was the company name: Simutek was now named Zedcor. There was no longer any tape version, but the disk version still cost $89.95. Also, ZBASIC was now a full-fledged compiler, not an “interactive compiler.” There was no longer any reliance on interpreted BASIC. Programs could now be written, edited, and compiled entirely within ZBASIC.

In addition to the TRS-80 version, there were also versions for the IBM PC, Apple II, CP/M, and the Macintosh. Platform compatibility was a highly touted feature. There were many other improvements, including:

  • the mathematical functions which were missing in previous versions
  • high resolution graphics commands, which even supported the Model 4 high-resolution board.
  • commands to support structured programming (“spaghetti optional,” as the advertisements put it)

There were future versions of ZBASIC, but version 3.1, released in August 1986, was the last to support the TRS-80.

In 1991, the MS-DOS version of ZBASIC was sold to 32 Bit Software. In 1992, Zedcor renamed the Macintosh version of ZBASIC to FutureBASIC. In 2008, Staz Software, the current owner of FutureBASIC, made it freeware and it is still being developed today.

Comments

Harvey Babb says:

I used ZBasic to create ROM based machine control programs on “STD Buss” computers. It was easy to create a header in assembly that would lead into the BASIC main routines, and ZBasic let me define the address of variables so they would wind up in the RAM of the boards. My most memorable program controlled a huge winch with a pair of 1200 Hp diesel engines and a line pull of 250,000 lbs. I took my TRS-80 Model 3 to Amsterdam to do the installation and final testing.

WOW! Talk about F U N ! ! !

Theuns Pienaar says:

I used the machine language feature of ZBASIC to write very fast code to execute binary searches on long lists of data. Also eventually I wrote my own Assembler Editor and compiler which could dynamically integrate the machine code into a ZBASIC module. What a lot of fun! Well, eventually with the introduction of VB we became more productive and today I still prefer VB6 to the .NET versions. I don’t see the so-called object orientation of the latter as much of an advantage). But then I’m old fashioned. I suppose.

Tony Robichaud says:

I purchased my first computer (a TRS-80) in 1978. All it had was a blinking cursor and no means to save programs or data. I had to type in a program after start-up and then lost it all after shut down. When ZBasic came out I had already been using Basic to write small accounting programs. During the 1980’s, having a position of Accounting Manager, I used Zbasic to write a complete set of accounting programs that were chained together. It included accounts payable and receivable, manufacturing inventory, production control, general ledger and much more including a 7 page monthly Income Statement with a table of contents. I stopped this in late 1980 and now in 2015, I am going back to those early programs and translating them for use in Liberty Basic for the Windows operating systems. Those old programs used line numbers and jumped around a lot. I don’t program with line numbers anymore and it creates a time consuming project to change them to my current way of writing software. It is all pure joy.

Michael E Fleming says:

I used Zbasic to implement and test a digital tracking filter that became standard equipment on all boeing 757 and 767 aircraft in 1981.

To this day I miss it!