Microsoft BASIC is the foundation
software
Software is a set of computer programs and associated documentation and data. This is in contrast to hardware, from which the system is built and which actually performs the work.
At the lowest programming level, executable code consists ...
product of the
Microsoft
Microsoft Corporation is an American multinational technology corporation producing computer software, consumer electronics, personal computers, and related services headquartered at the Microsoft Redmond campus located in Redmond, Washing ...
company and evolved into a line of
BASIC interpreter
A BASIC interpreter is an interpreter that enables users to enter and run programs in the BASIC language and was, for the first part of the microcomputer era, the default application that computers would launch. Users were expected to use the BAS ...
s and
compiler
In computing, a compiler is a computer program that translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primarily used for programs that ...
(s) adapted for many different
microcomputer
A microcomputer is a small, relatively inexpensive computer having a central processing unit (CPU) made out of a microprocessor. The computer also includes memory and input/output (I/O) circuitry together mounted on a printed circuit board (PC ...
s. It first appeared in 1975 as
Altair BASIC
Altair BASIC is a discontinued interpreter for the BASIC programming language that ran on the MITS Altair 8800 and subsequent S-100 bus computers. It was Microsoft's first product (as Micro-Soft), distributed by MITS under a contract. Altair BASI ...
, which was the first version of
BASIC
BASIC (Beginners' All-purpose Symbolic Instruction Code) is a family of general-purpose, high-level programming languages designed for ease of use. The original version was created by John G. Kemeny and Thomas E. Kurtz at Dartmouth College ...
published by Microsoft as well as the first
high-level programming language
In computer science, a high-level programming language is a programming language with strong Abstraction (computer science), abstraction from the details of the computer. In contrast to low-level programming languages, it may use natural language ...
available for the
Altair 8800
The Altair 8800 is a microcomputer designed in 1974 by MITS and based on the Intel 8080 CPU. Interest grew quickly after it was featured on the cover of the January 1975 issue of Popular Electronics and was sold by mail order through advertiseme ...
microcomputer.
During the
home computer craze during the late-1970s and early-1980s, BASIC was ported to and supplied with many home computer designs. Slight variations to add support for machine-specific functions, especially graphics, led to a profusion of related designs like
Commodore BASIC
Commodore BASIC, also known as PET BASIC or CBM-BASIC, is the dialect of the BASIC programming language used in Commodore International's 8-bit home computer line, stretching from the PET of 1977 to the C128 of 1985.
The core is based on 6502 M ...
and
Atari Microsoft BASIC
The ''Atari Microsoft BASIC'' and ''Atari Microsoft BASIC II'' variants of the MOS 6502, 6502-version of Microsoft BASIC Porting, ported to the Atari 8-bit family, Atari 8-bit machines. The first version, released 1981, required 32 KB of rand ...
.
As the early home computers gave way to newer designs like the
IBM Personal Computer
The IBM Personal Computer (model 5150, commonly known as the IBM PC) is the first microcomputer released in the IBM PC model line and the basis for the IBM PC compatible de facto standard. Released on August 12, 1981, it was created by a team ...
and
Apple Macintosh
The Mac (known as Macintosh until 1999) is a family of personal computers designed and marketed by Apple Inc. Macs are known for their ease of use and minimalist designs, and are popular among students, creative professionals, and software en ...
, BASIC was no longer as widely used, although it retained a strong following. The release of
Visual Basic Visual Basic is a name for a family of programming languages from Microsoft. It may refer to:
* Visual Basic .NET (now simply referred to as "Visual Basic"), the current version of Visual Basic launched in 2002 which runs on .NET
* Visual Basic (cl ...
reboosted its popularity and it remains in wide use on
Microsoft Windows
Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for serv ...
platforms in its most recent incarnation,
Visual Basic .NET
Visual Basic, originally called Visual Basic .NET (VB.NET), is a multi-paradigm, object-oriented programming language, implemented on .NET, Mono, and the .NET Framework. Microsoft launched VB.NET in 2002 as the successor to its original Visua ...
Altair BASIC and early microcomputers
![Altair 8800 and Model 33 ASR Teletype](https://upload.wikimedia.org/wikipedia/commons/d/d7/Altair_8800_and_Model_33_ASR_Teletype_.jpg)
The
Altair BASIC
Altair BASIC is a discontinued interpreter for the BASIC programming language that ran on the MITS Altair 8800 and subsequent S-100 bus computers. It was Microsoft's first product (as Micro-Soft), distributed by MITS under a contract. Altair BASI ...
interpreter was developed by Microsoft founders
Paul Allen
Paul Gardner Allen (January 21, 1953 – October 15, 2018) was an American business magnate, computer programmer, researcher, investor, and philanthropist. He co-founded Microsoft Corporation with childhood friend Bill Gates in 1975, which h ...
and
Bill Gates
William Henry Gates III (born October 28, 1955) is an American business magnate and philanthropist. He is a co-founder of Microsoft, along with his late childhood friend Paul Allen. During his career at Microsoft, Gates held the positions ...
using a self-written
Intel 8080
The Intel 8080 (''"eighty-eighty"'') is the second 8-bit microprocessor designed and manufactured by Intel. It first appeared in April 1974 and is an extended and enhanced variant of the earlier 8008 design, although without binary compatibil ...
emulator running on a
PDP-10
Digital Equipment Corporation (DEC)'s PDP-10, later marketed as the DECsystem-10, is a mainframe computer family manufactured beginning in 1966 and discontinued in 1983. 1970s models and beyond were marketed under the DECsystem-10 name, especi ...
minicomputer
A minicomputer, or colloquially mini, is a class of smaller general purpose computers that developed in the mid-1960s and sold at a much lower price than mainframe and mid-size computers from IBM and its direct competitors. In a 1970 survey, ...
.
[Martin S. Fridson, ''How to be a billionaire: proven strategies from the titans of wealth'', John Wiley and Sons, 1999 pages 116-120] The MS dialect is patterned on
Digital Equipment Corporation
Digital Equipment Corporation (DEC ), using the trademark Digital, was a major American company in the computer industry from the 1960s to the 1990s. The company was co-founded by Ken Olsen and Harlan Anderson in 1957. Olsen was president unt ...
's
BASIC-PLUS
BASIC-PLUS is an extended dialect of the BASIC programming language that was developed by Digital Equipment Corporation (DEC) for use on its RSTS/E time-sharing operating system for the PDP-11 series of 16-bit minicomputers in the early 1970s thro ...
on the
PDP-11
The PDP-11 is a series of 16-bit minicomputers sold by Digital Equipment Corporation (DEC) from 1970 into the 1990s, one of a set of products in the Programmed Data Processor (PDP) series. In total, around 600,000 PDP-11s of all models were sold, ...
, which Gates had used in
high school
A secondary school describes an institution that provides secondary education and also usually includes the building where this takes place. Some secondary schools provide both '' lower secondary education'' (ages 11 to 14) and ''upper seconda ...
. The first versions supported integer math only, but
Monte Davidoff
Monte Davidoff (; born 1956) is an American computer programmer.
Davidoff is from Glendale, Wisconsin. He graduated from Nicolet High School in 1974, and went on to Harvard College, where he majored in applied mathematics, the department at Harva ...
convinced them that
floating-point arithmetic
In computing, floating-point arithmetic (FP) is arithmetic that represents real numbers approximately, using an integer with a fixed precision, called the significand, scaled by an integer exponent of a fixed base. For example, 12.345 can be ...
was possible, and wrote a library which became the
Microsoft Binary Format
In computing, Microsoft Binary Format (MBF) is a format for floating-point numbers which was used in Microsoft's BASIC language products, including MBASIC, GW-BASIC and QuickBASIC prior to version 4.00.
There are two main versions of the format ...
.
Altair BASIC was delivered on
paper tape
Five- and eight-hole punched paper tape
Paper tape reader on the Harwell computer with a small piece of five-hole tape connected in a circle – creating a physical program loop
Punched tape or perforated paper tape is a form of data storage ...
and in its original version took 4
KB of memory. The following functions and statements were available:
LIST, NEW, PRINT, INPUT, IF...THEN, FOR...NEXT, SQR, RND, SIN, LET, USR, DATA, READ, REM, CLEAR, STOP, TAB, RESTORE, ABS, END, INT, RETURN, STEP, GOTO, and
GOSUB
BASIC (Beginners' All-purpose Symbolic Instruction Code) is a family of general-purpose, high-level programming languages designed for ease of use. The original version was created by John G. Kemeny and Thomas E. Kurtz at Dartmouth College ...
.
There were no string variables in 4K BASIC and single-precision 32-bit floating point was the only numeric type supported. Variable names consisted of one letter (A–Z) or one letter followed by one digit (0–9), thus allowing up to 286 numeric variables.
For machines with more memory, the 8 KB version added 31 additional statements and support for string variables and their related operations like MID$ and
string concatenation
In formal language theory and computer programming, string concatenation is the operation of joining character strings end-to-end. For example, the concatenation of "snow" and "ball" is "snowball". In certain formalisations of concatenat ...
. String variables were denoted with a $ suffix, which remained in later versions of the language. Later on, Microsoft released the 12K Extended BASIC, which included double precision 64-bit variables,
IF
...
THEN
...
ELSE
structures, user defined functions, more advanced program editing commands, and descriptive error messages as opposed to error numbers. Numeric variables now had three basic types, % denoted 16-bit integers, # denoted 64-bit doubles, and ! denoted 32-bit singles, but this was the default format so the ! is rarely seen in programs.
The extended 8 KB version was then generalized into BASIC-80 (8080/85,
Z80
The Z80 is an 8-bit microprocessor introduced by Zilog as the startup company's first product. The Z80 was conceived by Federico Faggin in late 1974 and developed by him and his 11 employees starting in early 1975. The first working samples were ...
), and ported into BASIC-68 (
6800), BASIC-69 (
6809
The Motorola 6809 ("''sixty-eight-oh-nine''") is an 8-bit microprocessor with some 16-bit features. It was designed by Motorola's Terry Ritter and Joel Boney and introduced in 1978. Although source compatible with the earlier Motorola 6800, the ...
), and
6502
The MOS Technology 6502 (typically pronounced "sixty-five-oh-two" or "six-five-oh-two") William Mensch and the moderator both pronounce the 6502 microprocessor as ''"sixty-five-oh-two"''. is an 8-bit microprocessor that was designed by a small te ...
-BASIC. The 6502 had somewhat less dense
assembler code and expanded in size to just under 8K for the single precision version, or 9K for a version using an intermediate 40-bit floating point format in place of the original 32-bit version. This new 40-bit format became the most common as it was used on most 6502-based machines of the era. It was also ported to the 16-bit BASIC-86 (
8086/88).
The final major release of BASIC-80 was version 5.x, which appeared in 1981 and added support for 40-character variable names,
WHILE
...
WEND
loops, dynamic string allocation, and several other features. BASIC 5.x removed the ability to crunch program lines.
The core command set and syntax are the same in all implementations of Microsoft BASIC and, generally speaking, a program can be run on any version if it does not use hardware-specific features or double precision numbers (not supported in some implementations).
Licenses to home computer makers
After the initial success of Altair BASIC, Microsoft BASIC became the basis for a lucrative software licensing business, being ported to the majority of the numerous
home
A home, or domicile, is a space used as a permanent or semi-permanent residence for one or many humans, and sometimes various companion animals. It is a fully or semi sheltered space and can have both interior and exterior aspects to it. H ...
and other
personal computer
A personal computer (PC) is a multi-purpose microcomputer whose size, capabilities, and price make it feasible for individual use. Personal computers are intended to be operated directly by an end user, rather than by a computer expert or tec ...
s of the 1970s and especially the 1980s, and extended along the way. Contrary to the original Altair BASIC, most home computer BASICs are resident in
ROM
Rom, or ROM may refer to:
Biomechanics and medicine
* Risk of mortality, a medical classification to estimate the likelihood of death for a patient
* Rupture of membranes, a term used during pregnancy to describe a rupture of the amniotic sac
* ...
, and thus are available on the machines at power-on in the form of the characteristic "
READY.
" prompt. Hence, Microsoft's and other variants of BASIC constitute a significant and visible part of the
user interface
In the industrial design field of human–computer interaction, a user interface (UI) is the space where interactions between humans and machines occur. The goal of this interaction is to allow effective operation and control of the machine f ...
of many home computers' rudimentary
operating system
An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs.
Time-sharing operating systems schedule tasks for efficient use of the system and may also in ...
s.
By 1981, Microsoft BASIC was so popular that even companies that already had a BASIC licensed the language, such as
IBM for its
Personal Computer
A personal computer (PC) is a multi-purpose microcomputer whose size, capabilities, and price make it feasible for individual use. Personal computers are intended to be operated directly by an end user, rather than by a computer expert or tec ...
, and
Atari
Atari () is a brand name that has been owned by several entities since its inception in 1972. It is currently owned by French publisher Atari SA through a subsidiary named Atari Interactive. The original Atari, Inc. (1972–1992), Atari, Inc., ...
, which sold both
Atari Microsoft BASIC
The ''Atari Microsoft BASIC'' and ''Atari Microsoft BASIC II'' variants of the MOS 6502, 6502-version of Microsoft BASIC Porting, ported to the Atari 8-bit family, Atari 8-bit machines. The first version, released 1981, required 32 KB of rand ...
and its own
Atari BASIC
Atari BASIC is an interpreter (computing), interpreter for the BASIC programming language that shipped with the Atari 8-bit family of MOS Technology 6502, 6502-based home computers. Unlike most American BASICs of the home computer era, Atari BAS ...
.
IBM's
Don Estridge
Philip Donald Estridge (June 23, 1937 – August 2, 1985), known as Don Estridge, was an American computer engineer who led development of the original IBM Personal Computer (PC), and thus is known as the "father of the IBM PC". His decisions dra ...
said, "Microsoft BASIC had hundreds of thousands of users around the world. How are you going to argue with that?"
Microsoft licensed similar versions to companies that competed with each other. After licensing
IBM Advanced BASIC (BASICA) to IBM, for example, Microsoft licensed the compatible
GW-BASIC
GW-BASIC is a dialect of the BASIC programming language developed by Microsoft from IBM BASICA. Functionally identical to BASICA, its BASIC interpreter is a fully self-contained executable and does not need the Cassette BASIC ROM found in the or ...
to makers of
PC clones, and also sold copies to retail customers.
The company similarly licensed an
Applesoft-compatible BASIC to
VTech for its
Laser 128
The Laser 128 is an Apple II clone, released by VTech in 1986 and comparable to the Apple IIe and Apple IIc.
Description
VTech Laser 128 has 128 kB of RAM. Like the Apple IIc, it is a one-piece semi-portable design with a carrying handle and ...
clone.
Extended BASIC-80
*
Tangerine Microtan 65
The Tangerine Computer Systems, Tangerine Microtan 65 (sometimes abbreviated M65) was a MOS Technology 6502, 6502 based single board microcomputer, first sold in 1979, which could be expanded into, what was for its day, a comprehensive and powerfu ...
*
Spectravideo
Spectravideo International (SVI) was an American computer manufacturer and software house. It was originally called SpectraVision, a company founded by Harry Fox in 1981. The company produced video games and other software for the VIC-20 home c ...
SV-318
The SV-318 is the basic model of the Spectravideo range. It was fitted with a chiclet style keyboard, difficult to use, alongside which sat a combination cursor pad/joystick. This is a disc-shaped affair with a hole in the centre; put a red plast ...
and
SV-328
The SV-328 is an 8-bit home computer introduced by Spectravideo in June 1983. It was the business-targeted model of the Spectravideo range, sporting a compact full-travel keyboard with numeric keypad. It had 80 KB RAM (64 KB available ...
Known variants:
* ''NCR Basic Plus 6'', released in the first quarter of 1977 for the
NCR 7200 model VI
NCR Corporation, previously known as National Cash Register, is an American software, consulting and technology company providing several professional services and electronic products. It manufactures self-service kiosks, point-of-sale termin ...
data-entry terminal. The adaptation of Microsoft's Extended BASIC-80 was carried out by
Marc McDonald
Marc B. McDonald is an American who was Microsoft's first salaried employee (not counting Monte Davidoff, who wrote the math package for BASIC for a flat fee).
He is credited with designing and implementing the 8-bit File Allocation Table file sy ...
in 1976/1977.
Disk BASIC-80
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 w ...
is available for
CP/M-80 and
ISIS-II. Also available for
TEKDOS
Tektronix, Inc., historically widely known as Tek, is an American company best known for manufacturing test and measurement devices such as oscilloscopes, logic analyzers, and video and mobile test protocol equipment.
Originally an independent c ...
.
MBASIC is a stripped-down BASIC-80 with only hardware-neutral functions. However, due to the popularity of CP/M, the great majority of Z80 machines ran MBASIC, rather than a version customized for specific hardware (TRS-80 BASIC was one of the few exceptions). Microsoft's CP/M card for the Apple II included a modified version of MBASIC that incorporated some of the graphics commands from Applesoft BASIC, such as
HPLOT
, but the full command set is not supported.
Standalone Disk BASIC-80
The first implementation to use an
8-bit variant of the
File Allocation Table
File Allocation Table (FAT) is a file system developed for personal computers. Originally developed in 1977 for use on floppy disks, it was adapted for use on hard disks and other devices. It is often supported for compatibility reasons by ...
was a BASIC adaptation
for an
Intel 8080
The Intel 8080 (''"eighty-eighty"'') is the second 8-bit microprocessor designed and manufactured by Intel. It first appeared in April 1974 and is an extended and enhanced variant of the earlier 8008 design, although without binary compatibil ...
-based
NCR 7200
NCR Corporation, previously known as National Cash Register, is an American software, consulting and technology company providing several professional services and electronic products. It manufactures self-service kiosks, point-of-sale termin ...
,
7520,
or
7530 data-entry terminal with 8-inch floppy disks in 1977/1978.
Basic compiler
Microsoft offered a BASIC compiler for BASIC-80 under CP/M, by 1980 or before. The compiler executable was named BASCOM or BASCOM32.
TRS-80 Level II/III BASIC
The TRS-80 computer was offered initially with an adaption of Li-Chen Wang's
Tiny BASIC
Tiny BASIC is a family of dialects of the BASIC programming language that can fit into 4 or fewer KBs of memory. Tiny BASIC was designed in response to the open letter published by Bill Gates complaining about users pirating Altair BASIC, which ...
(
Level I BASIC
Level I BASIC is a dialect of the BASIC programming language that shipped with the first TRS-80, the TRS-80 Model I.
Background
Tandy-employee Steve Leininger had written the first draft of the NIBL (National Industrial Basic Language) BASIC in ...
); within a few months this was replaced by a port of BASIC-80 which incorporated some of Level I BASIC's command set, particularly the commands for setting graphics characters. Level II BASIC contained some of the features of Extended BASIC, although due to the need to include Level I commands such as
SET
and
PSET
, other features such as descriptive error messages still had to be left out; these were subsequently added into TRS-80 Disk BASIC.
The TRS-80 Model 4 had a newer disk-based BASIC that utilized the BASIC-80 5.x core, which included support for 40-character variable names. Thus the ability to crunch program lines (without spaces between keywords and arguments) was no longer possible as it had been in Level II. It was no longer necessary to reserve string space. New features included user defined functions (
DEF FN
) and access to TRSDOS 6 system functions via a
SYSTEM
keyword. A modified version published later by OS provider Logical Systems, in the LS-DOS Version 6.3 update, added single-letter access to BASIC control functions (like
LIST
and
EDIT
) and direct access to LS-DOS supervisor calls. The program edit environment was still line-oriented. The facility available in Level II to sort arrays (
CMD"O"
) was not available; programmers and users had to devise their own workarounds.
BASIC-86
The first implementation as a standalone disk-based language system was for
Seattle Computer Products
Seattle Computer Products (SCP) was a Tukwila, Washington, microcomputer hardware company which was one of the first manufacturers of computer systems based on the 16-bit Intel 8086 processor. SCP began shipping its first S-100 bus 8086 CPU bo ...
S-100 bus
The S-100 bus or Altair bus, IEEE 696-1983 ''(withdrawn)'', is an early computer bus designed in 1974 as a part of the Altair 8800. The bus was the first industry standard expansion bus for the microcomputer industry. computers, consisting of ...
8086 CPU card in 1979. It was utilizing an
8-bit FAT
In computer architecture, 8-bit Integer (computer science), integers or other Data (computing), data units are those that are 8 bits wide (1 octet (computing), octet). Also, 8-bit central processing unit (CPU) and arithmetic logic unit (ALU) arc ...
file system.
Microsoft also offered a version of Standalone BASIC-86 for SBC-86/12 for Intel's 8086
Single Board Computer
A single-board computer (SBC) is a complete computer built on a single circuit board, with microprocessor(s), memory, input/output (I/O) and other features required of a functional computer. Single-board computers are commonly made as demonstrat ...
platform in 1980.
Texas Instruments BASIC
This is the version of BASIC used on the
TI-99/4A
The TI-99/4 and TI-99/4A are home computers released by Texas Instruments in 1979 and 1981, respectively. Based on the Texas Instruments TMS9900 microprocessor originally used in minicomputers, the TI-99/4 was the first 16-bit home computer. ...
home computer. Although very similar to Microsoft BASIC, it was not written by Microsoft as was widely rumored. According to TI Engineer H. Schuurman, "They (in the form of Bob Greenberg of Microsoft) were contracted to develop BASIC for the SR-70 (which is also sometimes referred to as the 99/7), but the BASIC for the 99/4 was developed in-house." TI-99/4 BASIC was based on Dartmouth BASIC and complies to the American National Standard for minimal BASIC (ANSI X3.60-1978).
6502 BASIC
Microsoft ported BASIC-80 to the 6502 during the summer of 1976; it was mostly a straight port of the 8K version of BASIC-80 and included the same prompts asking for memory size and if the user wanted floating point functions enabled or not (having them active used an extra 135 bytes of memory). The earliest machines to use 6502 BASIC were the
Ohio Scientific
Ohio Scientific Inc. (also known as Ohio Scientific Instruments) was an Ohio-based computer company that built and marketed microcomputers from 1975 to 1981. Their best-known products were the Challenger series of microcomputers and Superboard sin ...
Model 500 and
KIM-1
The KIM-1, short for ''Keyboard Input Monitor'', is a small 6502-based single-board computer developed and produced by MOS Technology, Inc. and launched in 1976. It was very successful in that period, due to its low price (thanks to the inexpe ...
in 1977.
6502 BASIC included certain features from Extended BASIC such as user-defined functions and descriptive error messages, but omitted other features like double precision variables and the
PRINT
USING
statement. As compensation for not having double precision variables, Microsoft included 40-bit floating point support instead of BASIC-80's 32-bit floating point and string allocation was dynamic (thus the user did not have to reserve string space like in BASIC-80). However, vendors could still request BASIC with 32-bit floating point for a slightly smaller memory footprint; as one example, Disk BASIC for the Atari 8-bits used 32-bit floating point rather than 40-bit.
Standard features of the 9K version of Microsoft 6502 BASIC included:
*
GET
statement to detect a key press.
* Line crunching program lines do not require any spaces except between the line number and statement.
* Only supported variable types are string, single precision, and integer (arrays only).
* Long variable names are not supported and only the first two characters are recognized.
* Dynamic string allocation.
6502 BASIC lacked a standardized set of commands for disk and printer output; these were up to the vendor to add and varied widely with each implementation.
Later implementations of 6502 Basic (1983–) were improved in many aspects.
While early
Commodore
Commodore may refer to:
Ranks
* Commodore (rank), a naval rank
** Commodore (Royal Navy), in the United Kingdom
** Commodore (United States)
** Commodore (Canada)
** Commodore (Finland)
** Commodore (Germany) or ''Kommodore''
* Air commodore ...
machines (
VIC-20
The VIC-20 (known as the VC-20 in Germany and the VIC-1001 in Japan) is an 8-bit home computer that was sold by Commodore Business Machines. The VIC-20 was announced in 1980, roughly three years after Commodore's first personal computer, the PE ...
,
C64) had a BASIC very close to 6502 MS BASIC, later Commodore 8-bit machines (TED series,
PET
A pet, or companion animal, is an animal kept primarily for a person's company or entertainment rather than as a working animal, livestock, or a laboratory animal. Popular pets are often considered to have attractive appearances, intelligence, ...
, and
C128; named as V3.5, V4.0, and V7.0) had numerous improvements to make BASIC more useful and user friendly:
* Disk commands (
DIRECTORY
,
DSAVE
,
DLOAD
,
BACKUP
,
HEADER
,
SCRATCH
,
COLLECT
,
DVERIFY
,
COPY
,
DELETE
,
RENAME
, etc.)
* Graphics commands (
CIRCLE
,
DRAW
,
BOX
,
COLOR
(of background, border, etc.),
PAINT
,
SCALE
)
* Graphics block copy and logical operation with the existing graphical screen (
SSHAPE
and
GSHAPE
with
OR
,
AND
,
XOR
, etc.)
* Sprite definition, displaying and animation commands on C128, even saving sprites to binaries
* Sound commands (
VOL
,
SOUND
), later on at C=128 Music commands (ADSR and SID filter programming (
ENVELOPE
and
FILTER
),
PLAY
,
TEMPO
commands)
* Signs of more structured programming:
IF
–
THEN
–
ELSE
,
DO
–
LOOP
–
WHILE
/
UNTIL
–
EXIT
,
ON
–
GOSUB
* Extended I/O commands for special features:
JOY
, function keys
* Debugging commands:
STOP
,
CONT
,
TRON
,
TROFF
,
RESUME
* Extended handling of character screen:
WINDOW
* Support easier program development:
RENUMBER
,
NEW
,
MONITOR
,
RREG
*
Spectravideo
Spectravideo International (SVI) was an American computer manufacturer and software house. It was originally called SpectraVision, a company founded by Harry Fox in 1981. The company produced video games and other software for the VIC-20 home c ...
CompuMate on the
Atari 2600
The Atari 2600, initially branded as the Atari Video Computer System (Atari VCS) from its release until November 1982, is a home video game console developed and produced by Atari, Inc. Released in September 1977, it popularized microprocessor- ...
's
MOS Technology 6507
The 6507 (typically "''sixty-five-oh-seven''" or "''six-five-oh-seven''") is an 8-bit microprocessor from MOS Technology, Inc. It is a version of their 40-pin 6502 packaged in a 28-pin DIP, making it cheaper to package and integrate in systems ...
CPU in 1983
[(Advertisement) CompuMate Basic Keyboard Enhancer]
Page 7, Electronic Games Magazine (August 1983), Internet Archive
BASIC-68 and BASIC-69
Microsoft catalogs from the 1980s also showed the availability of BASIC-68 and BASIC-69 for the
Motorola 6800
The 6800 ("''sixty-eight hundred''") is an 8-bit computing, 8-bit microprocessor designed and first manufactured by Motorola in 1974. The MC6800 microprocessor was part of the Motorola 6800 family, M6800 Microcomputer System (latter dubbed ''68xx' ...
and
6809
The Motorola 6809 ("''sixty-eight-oh-nine''") is an 8-bit microprocessor with some 16-bit features. It was designed by Motorola's Terry Ritter and Joel Boney and introduced in 1978. Although source compatible with the earlier Motorola 6800, the ...
microprocessors respectively, running the
FLEX operating systems, and also mention OEM versions for
Perkin-Elmer
PerkinElmer, Inc., previously styled Perkin-Elmer, is an American global corporation focused in the business areas of diagnostics, life science research, food, environmental and industrial testing. Its capabilities include detection, imaging, inf ...
,
Ohio Nuclear,
Pertec and
Societe Occitane d'Electronique systems.
It seems likely this is what is also the basis for the Microsoft/Epson BASIC in the
Epson HX-20
The Epson HX-20 (also known as the HC-20) was the first "true" laptop computer.Michael R. Peres''The Focal Encyclopedia of Photography'', page 306 Taylor & Francis It was invented in July 1980 by Yukio Yokozawa, who worked for Suwa Seikosha, a bra ...
portable computer, which has two Hitachi 6301 CPUs, which are essentially a "souped up" 6801. Most of the core features in BASIC-68 and BASIC-69 were copied directly from BASIC-80.
BASIC-69 was notably also licensed to Tandy, where it formed the nucleus of
Color BASIC
Color BASIC is the implementation of Microsoft BASIC that is included in the Read-only memory, ROM of the Tandy/Radio Shack TRS-80 Color Computers manufactured between 1980 and 1991. BASIC (Beginner's All-purpose Symbolic Instruction Code) is a hi ...
on the
TRS-80 Color Computer
The RadioShack TRS-80 Color Computer, later marketed as the Tandy Color Computer and sometimes nicknamed the CoCo, is a line of home computers developed and sold by Tandy Corporation. Despite sharing a name with the earlier TRS-80, the Color Co ...
. Not to be confused with
BASIC09
BASIC09 is a structured BASIC programming language dialect developed by Microware on behalf of Motorola for the then-new Motorola 6809 CPU and released in February 1980. It is primarily used with the OS-9 operating system, released in 1979. Microwa ...
, a very different BASIC created by
Microware
Microware Systems Corporation was an American software company based in Clive, Iowa, that produced the OS-9 real-time operating system.
Microware Systems Corporation existed as a separate entity from 1977 until September 2001, when it was bought ...
as the main language for its
OS-9
OS-9 is a family of real-time, process-based, multitasking, multi-user operating systems, developed in the 1980s, originally by Microware Systems Corporation for the Motorola 6809 microprocessor. It was purchased by Radisys Corp in 2001, and ...
, the other OS available on the Color Computer (Microware also wrote version 2.0 of Extended Color BASIC when Microsoft refused to do it). Microsoft BASIC was also included in the Dragon 32 / 64 computers that were built in Wales and enjoyed some limited success in the UK home computer market in the early 1980s. Dragon computers were somewhat compatible with the Tandy TRS-80, as they were built on very similar hardware.
MSX
Microsoft produced a ROM-based
MSX BASIC
MSX BASIC is a dialect of the BASIC programming language. It is an extended version of Microsoft's MBASIC Version 4.5, adding support for graphic, music, and various peripherals attached to MSX microcomputers. Generally, MSX BASIC is designed to ...
for use in
MSX home computers, which used a Z80 processor. This version supported the graphics and sound systems of the MSX computers; some variants also had support for disk drives.
Modern descendants
No variety of Microsoft BASIC (
BASICA
The IBM Personal Computer Basic, commonly shortened to IBM BASIC, is a programming language first released by IBM with the IBM Personal Computer, Model 5150 (IBM PC) in 1981. IBM released four different versions of the Microsoft BASIC interpre ...
,
GW-BASIC
GW-BASIC is a dialect of the BASIC programming language developed by Microsoft from IBM BASICA. Functionally identical to BASICA, its BASIC interpreter is a fully self-contained executable and does not need the Cassette BASIC ROM found in the or ...
,
QuickBasic
Microsoft QuickBASIC (also QB) is an Integrated Development Environment (or IDE) and compiler for the BASIC programming language that was developed by Microsoft. QuickBASIC runs mainly on DOS, though there was also a short-lived version for the c ...
,
QBasic
QBasic is an integrated development environment (IDE) and interpreter for a variety of dialects of BASIC which are based on QuickBASIC. Code entered into the IDE is compiled to an intermediate representation (IR), and this IR is immediately e ...
) is currently distributed with
Microsoft Windows
Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for serv ...
or
DOS
DOS is shorthand for the MS-DOS and IBM PC DOS family of operating systems.
DOS may also refer to:
Computing
* Data over signalling (DoS), multiplexing data onto a signalling channel
* Denial-of-service attack (DoS), an attack on a communicat ...
. However, versions that will still run on modern machines can be downloaded from various Internet sites or be found on old DOS disks.
The latest incarnation of Microsoft BASIC is
Visual Basic .NET
Visual Basic, originally called Visual Basic .NET (VB.NET), is a multi-paradigm, object-oriented programming language, implemented on .NET, Mono, and the .NET Framework. Microsoft launched VB.NET in 2002 as the successor to its original Visua ...
, which incorporates some features from
C++
C++ (pronounced "C plus plus") is a high-level general-purpose programming language created by Danish computer scientist Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The language has expanded significan ...
and
C# and can be used to develop Web forms, Windows forms,
console application
A console application is a computer program designed to be used via a text-only computer interface, such as a text terminal, the command-line interface of some operating systems (Unix, DOS, etc.) or the text-based interface included with most gra ...
s and server-based applications. Most .NET code samples are presented in VB.NET as well as C#, and VB.NET continues to be favored by former Visual Basic
programmers
A computer programmer, sometimes referred to as a software developer, a software engineer, a programmer or a coder, is a person who creates computer programs — often for larger computer software.
A programmer is someone who writes/creates ...
.
In October 2008, Microsoft released
Small Basic
Microsoft Small Basic is a programming language, interpreter and associated IDE. Microsoft's simplified variant of BASIC, it is designed to help students who have learnt visual programming languages such as Scratch learn text-based programming ...
. The language has only 14 keywords. Small Basic Version 1.0 (12 June 2011) was released with an updated Microsoft MSDN Web site that included a full teacher curriculum, a Getting Started Guide, and several e-books. Small Basic exists to help students as young as age eight learn the foundations of computer programming and then graduate to Visual Basic via the downloadable software,
Visual Studio Express
Microsoft Visual Studio Express is a set of integrated development environments (IDEs) that Microsoft developed and released free of charge. They are function-limited version of the non-free Visual Studio and require mandatory registration. Exp ...
, where they can continue to build on the foundation by learning
Visual C#,
VB.NET
Visual Basic, originally called Visual Basic .NET (VB.NET), is a multi-paradigm, object-oriented programming language, implemented on .NET, Mono, and the .NET Framework. Microsoft launched VB.NET in 2002 as the successor to its original Visua ...
, and
Visual C++
Microsoft Visual C++ (MSVC) is a compiler for the C, C++ and C++/CX programming languages by Microsoft. MSVC is proprietary software; it was originally a standalone product but later became a part of Visual Studio and made available in both tria ...
.
Graduating from Small Basic
/ref>
Variants and derivatives of Microsoft BASIC
* Altair BASIC
Altair BASIC is a discontinued interpreter for the BASIC programming language that ran on the MITS Altair 8800 and subsequent S-100 bus computers. It was Microsoft's first product (as Micro-Soft), distributed by MITS under a contract. Altair BASI ...
(MITS Altair and other S-100 computers)
* Amiga BASIC (Commodore Amiga family)
* Applesoft BASIC
Applesoft BASIC is a dialect of Microsoft BASIC, developed by Marc McDonald and Ric Weiland, supplied with the Apple II series of computers. It supersedes Integer BASIC and is the BASIC in ROM in all Apple II series computers after the original ...
(Apple II family)
* Atari Microsoft BASIC
The ''Atari Microsoft BASIC'' and ''Atari Microsoft BASIC II'' variants of the MOS 6502, 6502-version of Microsoft BASIC Porting, ported to the Atari 8-bit family, Atari 8-bit machines. The first version, released 1981, required 32 KB of rand ...
I and II (Atari 8-bit family)
* Basic 1.0 (Thomson computer family)
* BASICA
The IBM Personal Computer Basic, commonly shortened to IBM BASIC, is a programming language first released by IBM with the IBM Personal Computer, Model 5150 (IBM PC) in 1981. IBM released four different versions of the Microsoft BASIC interpre ...
("BASIC Advanced") (PC DOS, on IBM PC)
* Color BASIC
Color BASIC is the implementation of Microsoft BASIC that is included in the Read-only memory, ROM of the Tandy/Radio Shack TRS-80 Color Computers manufactured between 1980 and 1991. BASIC (Beginner's All-purpose Symbolic Instruction Code) is a hi ...
(TRS-80 Color Computer)
* Color BASIC
Color BASIC is the implementation of Microsoft BASIC that is included in the Read-only memory, ROM of the Tandy/Radio Shack TRS-80 Color Computers manufactured between 1980 and 1991. BASIC (Beginner's All-purpose Symbolic Instruction Code) is a hi ...
and Disk Extended Color BASIC (TRS-80 Color Computer and Dragon 32/64
The Dragon 32 and Dragon 64 are home computers that were built in the 1980s. The Dragons are very similar to the TRS-80 Color Computer, and were produced for the European market by Dragon Data, Ltd., initially in Swansea, Wales before mov ...
)
* Commodore BASIC
Commodore BASIC, also known as PET BASIC or CBM-BASIC, is the dialect of the BASIC programming language used in Commodore International's 8-bit home computer line, stretching from the PET of 1977 to the C128 of 1985.
The core is based on 6502 M ...
(Commodore 8-bit family, incl C64)
* FreeBASIC
FreeBASIC is a free and open source multiplatform compiler and programming language based on BASIC licensed under the GNU GPL for Microsoft Windows, protected-mode MS-DOS (DOS extender), Linux, FreeBSD and Xbox. The Xbox version is no longer m ...
a free clone of the QuickBasic system
* Galaksija BASIC (Galaksija home computer)
* Gambas
Gambas is the name of an object-oriented dialect of the BASIC programming language, as well as the integrated development environment that accompanies it. Designed to run on Linux and other Unix-like computer operating systems, its name is a re ...
free implementation inspired by Visual Basic
* GW-BASIC
GW-BASIC is a dialect of the BASIC programming language developed by Microsoft from IBM BASICA. Functionally identical to BASICA, its BASIC interpreter is a fully self-contained executable and does not need the Cassette BASIC ROM found in the or ...
(BASICA for MS-DOS, on PC compatibles)
* HP2640
The HP 2640A and other HP 264X models were block-mode "smart" and intelligent ASCII standard serial terminals produced by Hewlett-Packard using the Intel 8008 and 8080 microprocessors.
History
The HP 2640A was introduced in November 1974 at a ...
HP2647 Programmable Terminal with AGL graphics extensions
* IBM Cassette BASIC
The IBM Personal Computer Basic, commonly shortened to IBM BASIC, is a programming language first released by IBM with the IBM Personal Computer, Model 5150 (IBM PC) in 1981. IBM released four different versions of the Microsoft BASIC interpre ...
(Original IBM PC, built into ROM)
* Microsoft Level III BASIC (Tandy/Radio-Shack TRS-80)
* 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 w ...
(CP/M, on 8080, 8085, and Z80-based computers)
* MS BASIC for Macintosh
MS BASIC for Macintosh was a dialect of Microsoft BASIC for Macintosh. It was one of the first Microsoft BASIC variants to have optional line numbering, predating QuickBASIC. It was provided in two versions, one with standard Floating point, binary ...
(Mac OS on Apple Macintosh)
* MSX BASIC
MSX BASIC is a dialect of the BASIC programming language. It is an extended version of Microsoft's MBASIC Version 4.5, adding support for graphic, music, and various peripherals attached to MSX microcomputers. Generally, MSX BASIC is designed to ...
(MSX standard home computers)
* N88-BASIC (NEC PC8801/9801)
* N82-BASIC N8 may refer to:
* N postcode area district of north London
* Number Eight (disambiguation)
* Nokia N8, 2010 smartphone model
* N8 (Long Island bus), bus route in Nassau County, New York
* N8 Group of research-intensive universities in northern En ...
( NEC PC-8201/8201A, TRS-80 Model 100
The TRS-80 Model 100 is a portable computer introduced in April 26th, 1983. It is one of the first notebook-style computers, featuring a keyboard and liquid crystal display, in a battery-powered package roughly the size and shape of a notepad or ...
)
* Oric Extended Basic (Oric
Oric was the name used by UK-based Tangerine Computer Systems for a series of 6502-based home computers sold in the 1980s, primarily in Europe.
With the success of the ZX Spectrum from Sinclair Research, Tangerine's backers suggested a hom ...
8-bit family)[
* ]QBasic
QBasic is an integrated development environment (IDE) and interpreter for a variety of dialects of BASIC which are based on QuickBASIC. Code entered into the IDE is compiled to an intermediate representation (IR), and this IR is immediately e ...
(PC DOS/MS-DOS on IBM PC and compatibles)
* QuickBASIC
Microsoft QuickBASIC (also QB) is an Integrated Development Environment (or IDE) and compiler for the BASIC programming language that was developed by Microsoft. QuickBASIC runs mainly on DOS, though there was also a short-lived version for the c ...
(PC MS-DOS on IBM PC and compatibles)
* Small Basic
Microsoft Small Basic is a programming language, interpreter and associated IDE. Microsoft's simplified variant of BASIC, it is designed to help students who have learnt visual programming languages such as Scratch learn text-based programming ...
(MS Windows on IBM PC and compatibles)
* T-BASIC (Toshiba Pasopia) and T-BASIC7 (Toshiba Pasopia 7)
* TRS-80 Level II BASIC
Microsoft BASIC is the foundation software product of the Microsoft company and evolved into a line of BASIC interpreters and compiler(s) adapted for many different microcomputers. It first appeared in 1975 as Altair BASIC, which was the first v ...
(Tandy/Radio-Shack TRS-80
The TRS-80 Micro Computer System (TRS-80, later renamed the Model I to distinguish it from successors) is a desktop microcomputer launched in 1977 and sold by Tandy Corporation through their Radio Shack stores. The name is an abbreviation of '' ...
)
* Visual Basic (classic
A classic is an outstanding example of a particular style; something of lasting worth or with a timeless quality; of the first or highest quality, class, or rank – something that exemplifies its class. The word can be an adjective (a ''c ...
and .NET) (PC DOS/MS-DOS/MS Windows on IBM PC and compatibles)
* Video Technology Basic (Laser 350/500/700)
* WordBasic
WordBASIC was a subset of Microsoft QuickBASIC customized for word-processing in Microsoft Word. It was replaced by Visual Basic for Applications (VBA) when Word 97 was released. Contrarily to VBA, WordBasic was not object-oriented
Object- ...
(pre- VBA) (MS Windows)
See also
* Atari BASIC
Atari BASIC is an interpreter (computing), interpreter for the BASIC programming language that shipped with the Atari 8-bit family of MOS Technology 6502, 6502-based home computers. Unlike most American BASICs of the home computer era, Atari BAS ...
* BBC BASIC
BBC BASIC is a version of the BASIC programming language released in 1981 as the native programming language for the BBC Micro home/personal computer, providing a standardized language for a UK computer literacy project of the BBC. It was wr ...
* Integer BASIC
Integer BASIC is a BASIC interpreter written by Steve Wozniak for the Apple I and Apple II computers. Originally available on cassette for the Apple I in 1976, then included in ROM on the Apple II from its release in 1977, it was the first ve ...
* Locomotive BASIC
Locomotive Basic is a proprietary dialect of the BASIC programming language written by Locomotive Software on the Amstrad CPC (where it was built-in on ROM) and the later Locomotive BASIC-2 as a GEM application on the Amstrad PC1512 and 1640. ...
* Open Letter to Hobbyists
Open or OPEN may refer to:
Music
* Open (band), Australian pop/rock band
* The Open (band), English indie rock band
* ''Open'' (Blues Image album), 1969
* ''Open'' (Gotthard album), 1999
* ''Open'' (Cowboy Junkies album), 2001
* ''Open'' ( ...
* Tiny BASIC
Tiny BASIC is a family of dialects of the BASIC programming language that can fit into 4 or fewer KBs of memory. Tiny BASIC was designed in response to the open letter published by Bill Gates complaining about users pirating Altair BASIC, which ...
Notes
[Sources differ in regard to the first NCR data entry terminal integrating support for the ]FAT
In nutrition science, nutrition, biology, and chemistry, fat usually means any ester of fatty acids, or a mixture of such chemical compound, compounds, most commonly those that occur in living beings or in food.
The term often refers spec ...
file system. According to Stephen Manes and Paul Andrews, "Gates", development was for a NCR 8200
NCR Corporation, previously known as National Cash Register, is an American software, consulting and technology company providing several professional services and electronic products. It manufactures self-service kiosks, point-of-sale termin ...
in late 1977, incorrectly classified as a floppy-based upgrade to the NCR 7200
NCR Corporation, previously known as National Cash Register, is an American software, consulting and technology company providing several professional services and electronic products. It manufactures self-service kiosks, point-of-sale termin ...
, which had been released in 1975-11 and was built around an Intel 8080
The Intel 8080 (''"eighty-eighty"'') is the second 8-bit microprocessor designed and manufactured by Intel. It first appeared in April 1974 and is an extended and enhanced variant of the earlier 8008 design, although without binary compatibil ...
8-bit processor, but was cassette-based only. However, the NCR Century 8200 was a 16-bit minicomputer, onto which several data entry terminals could be hooked up. Marc McDonald
Marc B. McDonald is an American who was Microsoft's first salaried employee (not counting Monte Davidoff, who wrote the math package for BASIC for a flat fee).
He is credited with designing and implementing the 8-bit File Allocation Table file sy ...
even remembered a NCR 8500
NCR Voyix Corporation, previously known as NCR Corporation and National Cash Register, is an American software, consulting and technology company providing several professional services and Electronics, electronic products. It manufactured Self ...
, a mainframe of the Criterion series, which can be ruled out as well. Other sources indicate that either the NCR 7200 itself or its successor were the actual target platform. The NCR 7500
NCR Corporation, previously known as National Cash Register, is an American software, consulting and technology company providing several professional services and electronic products. It manufactures self-service kiosks, point-of-sale termin ...
series was released in 1978, based on a similar 8080 hardware, but now including NCR 7520
NCR Corporation, previously known as National Cash Register, is an American software, consulting and technology company providing several professional services and electronic products. It manufactures self-service kiosks, point-of-sale termin ...
and 7530 models featuring 8-inch diskettes. NCR Basic +6, a precursor or adaptation of Microsoft Standalone Disk BASIC-80
Microsoft BASIC is the foundation software product of the Microsoft company and evolved into a line of BASIC interpreters and compiler(s) adapted for many different microcomputers. It first appeared in 1975 as Altair BASIC, which was the first v ...
was available for them at least since 1979. One source claims that a special NCR 7200 model variant with two 8-inch diskettes and Microsoft BASIC existed and was imported by NCR Sydney into Australia the least.
References
External links
Bill Gates' Personal Easter Eggs in 8 Bit BASIC
{{BASIC
BASIC
BASIC (Beginners' All-purpose Symbolic Instruction Code) is a family of general-purpose, high-level programming languages designed for ease of use. The original version was created by John G. Kemeny and Thomas E. Kurtz at Dartmouth College ...
BASIC
BASIC (Beginners' All-purpose Symbolic Instruction Code) is a family of general-purpose, high-level programming languages designed for ease of use. The original version was created by John G. Kemeny and Thomas E. Kurtz at Dartmouth College ...
BASIC programming language family
Computer-related introductions in 1975
Programming languages created in 1975