Jump to content

CBASIC

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Trembluer12 (talk | contribs) at 00:37, 22 April 2016. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

CBASIC
The workflow of compiler and interpreter
DeveloperGordon Eubanks
First appeared1976; 48 years ago (1976)
Implementation languagePL/M
OSCP/M

CBASIC is a compiled version of the BASIC programming language written for the CP/M operating system by Gordon Eubanks in 1976–77. It is an enhanced version of BASIC-E, his master's thesis project.

History

BASIC-E was developed in PL/M by Eubanks for Gary Kildall's new CP/M operating system while both men were at the Naval Postgraduate School in Monterey, California. Because it was developed at public expense, BASIC-E is in the public domain and could not be marketed exclusively.[1] Seymour Rubinstein, the marketing director of IMSAI contacted Eubanks and asked him to create a saleable version under contract for the IMSAI 8080 microcomputer.[2] Eubanks developed CBASIC in his spare time while he was still a naval officer stationed on the submarine USS George Washington at Vallejo, California. He retained joint ownership of the program with IMSAI, and sold the program through his own company, Compiler Systems, until it was acquired by Digital Research in 1981.

  • CBASIC COMPILER VER 2.07
  • CRUN VER 2.37 / COPYRIGHT (C) 1978, 1979, 1980 COMPILER SYSTEMS INC

Features

BASIC-E and early versions of CBASIC compiled source code into an intermediate p-code file, which was then executed by a separate run-time interpreter program. CBASIC could execute in a minimum of 24 KB of memory. Line numbers in the program source were optional, unless needed as a label for a program jump. CBASIC proved very popular because it incorporated 14-digit binary-coded decimal (BCD) math which eliminated MBASIC's rounding errors that were sometimes troublesome for accounting.

CBASIC2 adds the following features:

  • Integer variables
  • Chaining with common variables
  • Additional pre-defined functions
  • Cross reference capability

References

  1. ^ CPM User Group The source code can be found on Volume 30
  2. ^ Gordon Eubanks oral history transcript p. 9, November 2000, Computerworld Honors Program