CBASIC
Encyclopedia
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.
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. Seymour Rubinstein, the marketing director of IMSAI contacted Eubanks and asked him to create a saleable version under contract for the IMSAI 8080
microcomputer
. 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.
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:
BASIC
BASIC is a family of general-purpose, high-level programming languages whose design philosophy emphasizes ease of use - the name is an acronym from Beginner's All-purpose Symbolic Instruction Code....
programming language
Programming language
A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely....
written for the CP/M
CP/M
CP/M was a mass-market operating system created for Intel 8080/85 based microcomputers by Gary Kildall of Digital Research, Inc...
operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...
by Gordon Eubanks
Gordon Eubanks
Gordon Eubanks is a microcomputer industry pioneer who worked with Gary Kildall in the early days of Digital Research. Eubanks attended Oklahoma State University. Dr. Kildall was his graduate thesis advisor at the Naval Postgraduate School in Monterey, California...
in 1976–77. It is an enhanced version of BASIC-E, his master's thesis project.
History
BASIC-E was developed in PL/MPL/M
The PL/M programming languageis a high-level language developed byGary Kildall in 1972 for Intel for its microprocessors....
by Eubanks for Gary Kildall
Gary Kildall
Gary Arlen Kildall was an American computer scientist and microcomputer entrepreneur who created the CP/M operating system and founded Digital Research, Inc....
's new CP/M operating system while both men were at the Naval Postgraduate School
Naval Postgraduate School
The Naval Postgraduate School is an accredited research university operated by the United States Navy. Located in Monterey, California, it grants master's degrees, Engineer's degrees and doctoral degrees...
in Monterey, California
Monterey, California
The City of Monterey in Monterey County is located on Monterey Bay along the Pacific coast in Central California. Monterey lies at an elevation of 26 feet above sea level. As of the 2010 census, the city population was 27,810. Monterey is of historical importance because it was the capital of...
. Because it was developed at public expense, BASIC-E is in the public domain
Public domain
Works are in the public domain if the intellectual property rights have expired, if the intellectual property rights are forfeited, or if they are not covered by intellectual property rights at all...
and could not be marketed exclusively. Seymour Rubinstein, the marketing director of IMSAI contacted Eubanks and asked him to create a saleable version under contract for the IMSAI 8080
IMSAI 8080
The IMSAI 8080 was an early microcomputer released in late 1975, based on the Intel 8080 and later 8085 and S-100 bus. It was a clone of its main competitor, the earlier MITS Altair 8800. The IMSAI is largely regarded as the first "clone" computer. The IMSAI machine ran a highly modified version of...
microcomputer
Microcomputer
A microcomputer is a computer with a microprocessor as its central processing unit. They are physically small compared to mainframe and minicomputers...
. Eubanks developed CBASIC in his spare time while he was still a naval officer stationed on the submarine USS George Washington
USS George Washington (SSBN-598)
USS George Washington , the lead ship of her class of nuclear ballistic missile submarines, was the third United States Navy ship of the name, in honor of George Washington , first President of the United States, and the first of that name to be purpose-built as a warship.-Construction and...
at Vallejo, California
Vallejo, California
Vallejo is the largest city in Solano County, California, United States. The population was 115,942 at the 2010 census. It is located in the San Francisco Bay Area on the northeastern shore of San Pablo Bay...
. 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
Digital Research
Digital Research, Inc. was the company created by Dr. Gary Kildall to market and develop his CP/M operating system and related products. It was the first large software company in the microcomputer world...
in 1981.
Features
BASIC-E and early versions of CBASIC compiled source codeSource code
In computer science, source code is text written using the format and syntax of the programming language that it is being written in. Such a language is specially designed to facilitate the work of computer programmers, who specify the actions to be performed by a computer mostly by writing source...
into an intermediate p-code
P-Code machine
In computer programming, a p-code machine, or portable code machine is a virtual machine designed to execute 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
Binary-coded decimal
In computing and electronic systems, binary-coded decimal is a digital encoding method for numbers using decimal notation, with each decimal digit represented by its own binary sequence. In BCD, a numeral is usually represented by four bits which, in general, represent the decimal range 0 through 9...
(BCD) math which eliminated MBASIC
MBASIC
MBASIC is the Microsoft BASIC implementation of BASIC for the CP/M operating system. MBASIC is a descendant of the original Altair BASIC interpreters that were among Microsoft's first products. MBASIC was one of the two versions of BASIC bundled with the Osborne 1 computer...
'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
External links
- Gordon Eubanks own story of BASIC-E and CBASIC, Computer World oral history transcript, November 2000
- BASIC-E Reference Manual (December 1976)
- CBASIC 2 Reference Manual (Table of contents on p. 115) November, 1981
- Another CBASIC description
- Alternate CBASIC history
- cbc – a CBASIC to C converter
- Interpreter in 6502 assembler
- CBASIC 2.8 = CBASIC-86 1.00 Posting by Emmanuel Roche