Microsoft BASIC is the foundation
software
Software consists of computer programs that instruct the Execution (computing), execution of a computer. Software also includes design documents and specifications.
The history of software is closely tied to the development of digital comput ...
product of the
Microsoft
Microsoft Corporation is an American multinational corporation and technology company, technology conglomerate headquartered in Redmond, Washington. Founded in 1975, the company became influential in the History of personal computers#The ear ...
company and evolved into a line of
BASIC interpreter
A BASIC interpreter is an Interpreter (computing), interpreter that enables users to enter and run programs in the BASIC programming language, language and was, for the first part of the microcomputer era, the default Application software, applica ...
s and
compiler
In computing, a compiler is a computer program that Translator (computing), translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primaril ...
(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 (P ...
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 B ...
, which was the first version of
BASIC
Basic or BASIC may refer to:
Science and technology
* BASIC, a computer programming language
* Basic (chemistry), having the properties of a base
* Basic access authentication, in HTTP
Entertainment
* Basic (film), ''Basic'' (film), a 2003 film
...
published by Microsoft as well as the first
high-level programming language
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 ''elements'', be ea ...
available for the
Altair 8800
The Altair 8800 is a microcomputer introduced in 1974 by Micro Instrumentation and Telemetry Systems (MITS) based on the Intel 8080 CPU. It was the first commercially successful personal computer. Interest in the Altair 8800 grew quickly after i ...
microcomputer.
During the
home computer
Home computers were a class of microcomputers that entered the market in 1977 and became common during the 1980s. They were marketed to consumers as affordable and accessible computers that, for the first time, were intended for the use of a s ...
craze of the late-1970s and early-1980s, Microsoft 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 (computing), dialect of the BASIC programming language used in Commodore International's 8-bit home computer line, stretching from the Commodore PET, PET (1977) to the Commodore ...
and
Atari Microsoft BASIC.
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 ...
and
Macintosh
Mac is a brand of personal computers designed and marketed by Apple Inc., Apple since 1984. The name is short for Macintosh (its official name until 1999), a reference to the McIntosh (apple), McIntosh apple. The current product lineup inclu ...
, 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), the current version of Visual Basic launched in 2002 which runs on .NET
* Visual Basic (classic), the original Visual Basic suppo ...
rebooted its popularity and it remains in wide use on
Microsoft Windows
Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
platforms in its most recent incarnation,
Visual Basic .NET
Visual Basic (VB), originally called Visual Basic .NET (VB.NET), is a multi-paradigm, object-oriented programming language developed by Microsoft and implemented on .NET, Mono, and the .NET Framework. Microsoft launched VB.NET in 2002 as the ...
.
Altair BASIC and early microcomputers

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 B ...
interpreter
Interpreting is translation from a spoken or signed language into another language, usually in real time to facilitate live communication. It is distinguished from the translation of a written text, which can be more deliberative and make use o ...
was developed by Microsoft founders
Paul Allen
Paul Gardner Allen (January 21, 1953 – October 15, 2018) was an American businessman, computer programmer, and investor. He co-founded Microsoft, Microsoft Corporation with his childhood friend Bill Gates in 1975, which was followed by the ...
and
Bill Gates
William Henry Gates III (born October 28, 1955) is an American businessman and philanthropist. A pioneer of the microcomputer revolution of the 1970s and 1980s, he co-founded the software company Microsoft in 1975 with his childhood friend ...
using a self-written
Intel 8080
The Intel 8080 is Intel's second 8-bit computing, 8-bit microprocessor. Introduced in April 1974, the 8080 was an enhanced successor to the earlier Intel 8008 microprocessor, although without binary compatibility.'' Electronic News'' was a week ...
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 type of general-purpose computer mostly developed from the mid-1960s, built significantly smaller and sold at a much lower price than mainframe computers . By 21st century-standards however, a mini is ...
.
[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 until ...
'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-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 ...
, which Gates had used in
high school
A secondary school, high school, or senior school, is an institution that provides secondary education. Some secondary schools provide both ''lower secondary education'' (ages 11 to 14) and ''upper secondary education'' (ages 14 to 18), i.e., ...
. 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 Harv ...
convinced them that
floating-point arithmetic
In computing, floating-point arithmetic (FP) is arithmetic on subsets of real numbers formed by a ''significand'' (a Sign (mathematics), signed sequence of a fixed number of digits in some Radix, base) multiplied by an integer power of that ba ...
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 languages, including MBASIC, GW-BASIC and QuickBASIC prior to version 4.00.
There are two main versions of the format. The or ...
.
Microsoft BASIC family of 8-bit interpreters (
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 B ...
,
TRS-80 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 ...
, etc), features and commands inspired by DEC's
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 ...
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 ...
include: the single byte tokens for keywords, % for integers, $ for strings, 4-byte floating points
Microsoft Binary Format
In computing, Microsoft Binary Format (MBF) is a format for floating-point numbers which was used in Microsoft's BASIC languages, including MBASIC, GW-BASIC and QuickBASIC prior to version 4.00.
There are two main versions of the format. The or ...
, : statement separator, # for file handles, random file access (FIELD, GET, PUT, LSET, RSET), and more. Microsoft's BASIC builtin line editor, the EDIT command, was inspired by the
TOPS-10
TOPS-10 System (Timesharing / Total Operating System-10) is a discontinued operating system from Digital Equipment Corporation (DEC) for the PDP-10 (or DECsystem-10) mainframe computer family. Launched in 1967, TOPS-10 evolved from the earlier "Mo ...
EDIT text editor's Alter subcommand.
[Martin S. Fridson, ''How to be a billionaire: proven strategies from the titans of wealth'', John Wiley and Sons, 1999 pages 116-120]
Altair BASIC was delivered on
paper tape
Five- and eight-hole wide 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 st ...
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 or BASIC may refer to:
Science and technology
* BASIC, a computer programming language
* Basic (chemistry), having the properties of a base
* Basic access authentication, in HTTP
Entertainment
* Basic (film), ''Basic'' (film), a 2003 film
...
.
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 formalizations of concatenati ...
. 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), and ported into BASIC-68 (
6800), BASIC-69 (
6809), 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 ...
-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 more human occupants, and sometimes various companion animals. Homes provide sheltered spaces, for instance rooms, where domestic activity can be p ...
and other
personal computer
A personal computer, commonly referred to as PC or computer, is a computer designed for individual use. It is typically used for tasks such as Word processor, word processing, web browser, internet browsing, email, multimedia playback, and PC ...
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 fro ...
of many home computers' rudimentary
operating system
An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ...
s.
Microsoft used its
DECsystem-20
The DECSYSTEM-20 was a family of 36-bit Digital Equipment Corporation PDP-10 mainframe computers running the TOPS-20 operating system and was introduced in 1977.
PDP-10 computers running the TOPS-10 operating system were labeled ''DECsystem ...
to produce assembly code for dozens of different computer systems and CPUs from the same
source code
In computing, source code, or simply code or source, is a plain text computer program written in a programming language. A programmer writes the human readable source code to control the behavior of a computer.
Since a computer, at base, only ...
, using
conditional compilation
In computer programming, conditional compilation is a compilation technique which results in differring executable programs depending on parameters specified. This technique is commonly used when these differences in the program are needed to r ...
.
By 1981, Microsoft BASIC was so popular that even companies that already had a BASIC licensed the language, such as
IBM
International Business Machines Corporation (using the trademark IBM), nicknamed Big Blue, is an American Multinational corporation, multinational technology company headquartered in Armonk, New York, and present in over 175 countries. It is ...
for its
Personal Computer
A personal computer, commonly referred to as PC or computer, is a computer designed for individual use. It is typically used for tasks such as Word processor, word processing, web browser, internet browsing, email, multimedia playback, and PC ...
, 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 holding company Atari SA (formerly Infogrames) and its focus is on "video games, consumer hardware, licensing and bl ...
, which sold both
Atari Microsoft BASIC and its own
Atari BASIC.
IBM's
Don Estridge 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 ori ...
to makers of
PC clones, and sold copies to retail customers.
The company similarly licensed an
Applesoft-compatible BASIC to
VTech for its
Laser 128 clone.
Extended BASIC-80
*
Tangerine Microtan 65
*
Spectravideo
Spectravideo International Limited (SVI) (printed as Spectra Video, with the space, in game manuals) was an American computer manufacturer and software house. It was originally called SpectraVision, a company founded by Harry Fox in 1981. The ...
SV-318 and
SV-328
Known variants:
* ''NCR Basic Plus 6'', released in the first quarter of 1977 for the
NCR 7200 model VI
NCR may refer to:
Arts, entertainment and media
* ''A Nature Conservation Review'', a 1977 book known as NCR
* National Catholic Reporter, an American newspaper
* New California Republic, a fictional faction in '' Fallout''
* '' NCR: Not Criminal ...
data-entry terminal. The adaptation of Microsoft's Extended BASIC-80 was carried out by
Marc McDonald in 1976/1977.
Disk BASIC-80
MBASIC
MBASIC is the Microsoft BASIC, 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 o ...
is available for
CP/M-80 and
ISIS-II. Also available for
TEKDOS.
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 and was the default file system for the MS-DOS and Windows 9x operating systems. Originally developed in 1977 for use on floppy disks, it was adapted for use on Ha ...
(FAT) was a BASIC adaptation
for an
Intel 8080
The Intel 8080 is Intel's second 8-bit computing, 8-bit microprocessor. Introduced in April 1974, the 8080 was an enhanced successor to the earlier Intel 8008 microprocessor, although without binary compatibility.'' Electronic News'' was a week ...
-based
NCR 7200,
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 by Dennis Allison and the People's Computer Company (PCC) in response to the open letter published by Bi ...
(
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 int ...
); 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. Founded in 1978, SCP began shipping its first S ...
S-100 bus
The S-100 bus or Altair bus, later standardized as IEEE 696-1983 ''(inactive-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 in ...
8086 CPU card in 1979. It was utilizing an
8-bit FAT
File Allocation Table (FAT) is a file system developed for personal computers and was the default file system for the MS-DOS and Windows 9x operating systems. Originally developed in 1977 for use on floppy disks, it was adapted for use on ...
file system.
Microsoft also offered a version of Standalone BASIC-86 for SBC-86/12 for Intel's 8086
Single Board Computer 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 (TI) in 1979 and 1981, respectively.
Based on TI's own TMS9900 microprocessor originally used in minicomputers, the TI-99/4 was the first 16-bit home computer. The assoc ...
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 Model 500 and
KIM-1
The KIM-1, short for ''Keyboard Input Monitor'', is a small MOS Technology 6502, 6502-based single-board computer developed and produced by MOS Technology, MOS Technology, Inc. and launched in 1976. It was very successful in that period, due to ...
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
Memory footprint refers to the amount of main memory that a program uses or references while running.
The word footprint generally refers to the extent of physical dimensions that an object occupies, giving a sense of its size. In computing, t ...
; 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 character string, single precision floating point, and 16-bit signed integer (saves space in arrays, otherwise useless and slower than floating point, as all calculations are done in floating point anyway).
* Long variable names can be used, but only the first two characters are significant.
* 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–) had many vendor specific improvements; for example later versions of Commodore BASIC had the following:
* 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
.
* 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
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 microprocessor designed and first manufactured by Motorola in 1974. The MC6800 microprocessor was part of the M6800 Microcomputer System (later dubbed ''68xx'') that also included serial and parall ...
and
6809 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 that was founded in 1937 and originally focused on precision optics. Over the years it went into and out of several different businesses via acquisitions and di ...
,
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 HX-20 (also known as the HC-20) was an early laptop computer released by Epson, Seiko Epson in July 1982. It was the first Notebook (laptop), notebook-sized portable computer, occupying roughly the footprint of an A4 paper, A4 notebook while ...
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 on the
TRS-80 Color Computer
The RadioShack TRS-80 Color Computer, later marketed as the Tandy Color Computer, is a series of home computers developed and sold by Tandy Corporation. Despite sharing a name with the earlier TRS-80, the Color Computer is a completely different ...
. Not to be confused with
BASIC09, 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 boug ...
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, a ...
, 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 f ...
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,
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 ori ...
,
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 BASIC interpreter, interpreter for a variety of dialects of BASIC which are based on QuickBASIC. Code entered into the IDE is compiled into an intermediate representation (IR), and this ...
) is currently distributed with
Microsoft Windows
Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
or
DOS
DOS (, ) is a family of disk-based operating systems for IBM PC compatible computers. The DOS family primarily consists of IBM PC DOS and a rebranded version, Microsoft's MS-DOS, both of which were introduced in 1981. Later compatible syste ...
. 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 (VB), originally called Visual Basic .NET (VB.NET), is a multi-paradigm, object-oriented programming language developed by Microsoft and implemented on .NET, Mono, and the .NET Framework. Microsoft launched VB.NET in 2002 as the ...
, which incorporates some features from
C++ and
C# and can be used to develop Web forms, Windows forms,
console applications 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.
In October 2008, Microsoft released
Small Basic. 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, where they can continue to build on the foundation by learning
Visual C#,
VB.NET, and
Visual C++
Microsoft Visual C++ (MSVC) is a compiler for the C, C++, C++/CLI 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 ...
.
Graduating from Small Basic
/ref>
Source Code Released
Bill Gates released Microsoft's original source code, written in BASIC with Paul Allen on a PDP-10 mainframe at Harvard, to celebrate Microsoft's 50th anniversary. This code, which Gates considers his "coolest," was inspired by the Altair 8800 and involved creating a BASIC interpreter and simulating the Intel 8080 chip. The 157-page PDF of the scanned code is available for viewing, offering a glimpse into Microsoft's early history.
Sources and related content
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 B ...
(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 Apple II computers. It supersedes Integer BASIC and is the BASIC in Read-only memory, ROM in all Apple II series computers after the ori ...
(Apple II family)
* Atari Microsoft BASIC I and II (Atari 8-bit computers)
* Basic 1.0 (Thomson computer family)
* BASICA ("BASIC Advanced") (PC DOS, on IBM PC)
* Canon X-07 (Canon portable pocket computer)
* Color BASIC (TRS-80 Color Computer)Canon X-07
* Color BASIC and Disk Extended Color BASIC (TRS-80 Color Computer and Dragon 32/64
The Dragon 32 and Dragon 64 are 8-bit 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 mo ...
)
* Commodore BASIC
Commodore BASIC, also known as PET BASIC or CBM-BASIC, is the Dialect (computing), dialect of the BASIC programming language used in Commodore International's 8-bit home computer line, stretching from the Commodore PET, PET (1977) to the Commodore ...
(Commodore 8-bit family, incl. C64)
* FreeBASIC
FreeBASIC is a FOSS, free and open source multiplatform compiler and programming language based on BASIC licensed under the GNU General Public License, GNU GPL for Microsoft Windows, protected-mode MS-DOS (DOS extender), Linux, FreeBSD and Xbox ...
a free implementation inspired by QuickBASIC
* Galaksija BASIC (Galaksija home computer)
* Gambas 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 ori ...
(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 Computer terminal, terminals produced by Hewlett-Packard using the Intel 8008 and Intel 8080, 8080 microprocessors.
History
The HP 2640A was in ...
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, 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 o ...
(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 binary floating point ...
(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 f ...
(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 Eng ...
( NEC PC-8201/8201A, TRS-80 Model 100
The TRS-80 Model 100 is a Notebook form factor, notebook-sized portable computer introduced in April 1983. It was the first commercially successful notebook computer, as well as one of the first notebook computers ever released. It features a k ...
)
* Oric Extended Basic ( Oric 8-bit family)[
* ]QBasic
QBasic is an integrated development environment (IDE) and BASIC interpreter, interpreter for a variety of dialects of BASIC which are based on QuickBASIC. Code entered into the IDE is compiled into an intermediate representation (IR), and this ...
(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)
* QB64
QB64 (originally QB32) is a self-hosting BASIC compiler for Microsoft Windows, Linux and Mac OS X, designed to be compatible with Microsoft QBasic and QuickBASIC. QB64 is a transpiler to C++, which is integrated with a C++ compiler to provide ...
a free clone of QBasic
* Small Basic (MS Windows on IBM PC and compatibles)
* T-BASIC (Toshiba Pasopia) and T-BASIC7 (Toshiba Pasopia 7)
* TRS-80 Level II BASIC (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 developed by American company Tandy Corporation and sold through their Radio Shack stores. Launched in 1977, it is ...
)
* Visual Basic (classic
A classic is an outstanding example of a particular style; something of Masterpiece, lasting worth or with a timeless quality; of the first or Literary merit, highest quality, class, or rank – something that Exemplification, exemplifies its ...
and .NET
The .NET platform (pronounced as "''dot net"'') is a free and open-source, managed code, managed computer software framework for Microsoft Windows, Windows, Linux, and macOS operating systems. The project is mainly developed by Microsoft emplo ...
) (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-o ...
(pre- VBA) (MS Windows)
See also
* Atari BASIC
* BBC BASIC
BBC BASIC is an interpreted version of the BASIC programming language. It was developed by Acorn Computers Ltd when they were selected by the BBC to supply the computer for their BBC Literacy Project in 1981.
It was originally supplied on ...
* Integer BASIC
Integer BASIC is a BASIC interpreter written by Steve Wozniak for the Apple I and Apple II computers. Originally available on Cassette tape, cassette for the Apple I in 1976, then included in Read-only memory, ROM on the Apple II from its release ...
* Locomotive BASIC
* An Open Letter to Hobbyists
* 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 by Dennis Allison and the People's Computer Company (PCC) in response to the open letter published by Bi ...
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 specif ...
file system. According to Stephen Manes
Stephen Manes (born January 8, 1949) is an American author, magazine columnist, and screenwriter known for the 2011 nonfiction book ''Where Snowflakes Dance and Swear: Inside the Land of Ballet.'' Its subject, the workings of a ballet company, ma ...
and Paul Andrews, "Gates", development was for a NCR 8200 in late 1977, incorrectly classified as a floppy-based upgrade to the NCR 7200, which had been released in 1975-11 and was built around an Intel 8080
The Intel 8080 is Intel's second 8-bit computing, 8-bit microprocessor. Introduced in April 1974, the 8080 was an enhanced successor to the earlier Intel 8008 microprocessor, although without binary compatibility.'' Electronic News'' was a week ...
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 even remembered a NCR 8500, 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 series was released in 1978, based on a similar 8080 hardware, but now including NCR 7520 and 7530 models featuring 8-inch diskettes. NCR Basic +6
NCR may refer to:
Arts, entertainment and media
* '' A Nature Conservation Review'', a 1977 book known as NCR
* National Catholic Reporter, an American newspaper
* New California Republic, a fictional faction in '' Fallout''
* '' NCR: Not Crimina ...
, a precursor or adaptation of Microsoft Standalone Disk BASIC-80 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 or BASIC may refer to:
Science and technology
* BASIC, a computer programming language
* Basic (chemistry), having the properties of a base
* Basic access authentication, in HTTP
Entertainment
* Basic (film), ''Basic'' (film), a 2003 film
...
BASIC
Basic or BASIC may refer to:
Science and technology
* BASIC, a computer programming language
* Basic (chemistry), having the properties of a base
* Basic access authentication, in HTTP
Entertainment
* Basic (film), ''Basic'' (film), a 2003 film
...
BASIC programming language family
Computer-related introductions in 1975
Programming languages created in 1975