Microsoft® BASIC Version Information

This document lists brief descriptions of current and older MS-BASIC® development tools for the PC, along with a brief list of features and notes. While you may find older versions of development tools in many places, links to the old/used programming tools sales pages of EMS Professional Software, this page's sponsor, are provided for your convenience. Other Microsoft version information. Information on other vendors' products. For technical questions, we recommend you ask on news:comp.lang.basic.misc All terms on this page are trademarks of Microsoft Corporation. Microsoft's licensing spokesperson "Rich H." told me, on 2-8-00, that anyone with a valid license to use any recent version of Visual Basic is also licensed to use any older version of Microsoft Basic products. I haven't heard this before, so you should confirm this for yourself. Previously, Microsoft representatives had stated that you could downgrade only two version levels.

Early history:

From an old MS Software Catalog (before the introduction of the IBM PC):

In 1975, Microsoft wrote the first BASIC interpreter for the 8080. The Microsoft family of BASICs includes the following configurations:

BASIC-80 Interpreter. 8K, Extended, Disk, and Standalone Disk versions are available. Versions were available for 8080 and Z80 microprocessors using CP/M, ISIS-II, and TEKDOS operation systems. At the time the catalog was produced, BASIC-80 was in Release 5.0, its fifth major release.

The BASIC programming language was developed at Dartmouth College in the mid-1960's by professors John Kemeny and Thomas Kurtz, as a vehicle to be used to teach programming. Paul Allen and Bill Gates developed a version of BASIC for the Altair computer, being built by MITS of Albuquerque, NM, in themid-1970's. Their first version of BASIC ran entirely in 4Kb of memory. By the late 1970's Microsoft (Allen and Gates' company) was developing a version of BASIC for virtually every new personal computer, including Apple, Commodore, and Atari. BASICA was a version of BASIC written by Microsoft for IBM's PC in 1981. Compared to the first Microsoft BASIC, BASICA required more than 40K of memory, and had part of the language written into the ROM of the computer. For IBM-compatible computers, Microsoft developed GW-BASIC. MS-DOS 5.0 was released in June 1991 with the successor to GW-BASIC, called QBasic. QBasic is an interpreter that has a subset of the QuickBASIC compiler's keywords. In March 1982, IBM released the 1st BASIC compiler for the IBM PC, called BASCOM 1.0. It was written by Microsoft for IBM, using code developed by Bill Gates, Greg Whitten, and others. Compilers for the AppleII, and CP/M computers had already been written by microSoft, but BASCOM 1.0 was the most powerful to date. In 1985, IBM released BASCOM 2.0, based on improvements made by microSoft. It included an ISAM file handler. When IBM released BASCOM 2.0, microSoft released essentially the same thing (but without the ISAM file handler) as QuickBASIC 1.0 at a list price of $99. In early 1986, microSoft released QuickBASIC 2.0. And in early 1987, they released QuickBASIC 3.0. By the time QuickBASIC 4.0 was announced in late 1987, hundreds of thousand's of copies of QuickBASIC were in use around the world. BASIC 6.0 was released in late 1987. Version 5.0 was never released. It also enabled the user to create programs for OS/2. QuickBASIC 4.5 was introduced in 1988 after BASIC 6.0. In late 1989, BASIC PDS (Professional Development System) 7.0 was released. Six months later, BASIC PDS 7.1 was released. The above details were gleaned from several BASIC books, including WINER.ZIP, available on my web page. I hope it helps.

This from Steve Rush:

The very first Microsoft BASIC was the Altair BASIC interpreter. It ran in 4 kilobytes (that's not a typo; *kilibytes*) on the Altair 8800, which was based on the Intel 8080A processor. There was no operating system outside the interpreter, and the term "personal computer" had not been coined. Versions of this interpreter were sold with various 8-bit computers, most notably the Radio Shack TRS-80. Eventually, microcomputer memories got big enough to run a rudimentary disk operating system, Gary Kildall's "Control Program for Microcomputers", CP/M. CP/M became the standard O/S for the 8080 / Z80 / 8085 generation of computers, except for Radio Shack systems, which had their own TRS-DOS and s succession of third-party replacements. With floppy disk storage, a DOS and enough memory (64K!), Microsoft developed the first Bascom compiler, which went through several revisions before IBM woke up and blew the eight-bit systems into history.

At the same time, Apple had commissioned Microsoft to write Applesoft, a BASIC interpreter for the Apple II, to replace the limited Apple Integer BASIC. The Apple II was an eight-bit system, but based on a different processor, the 6502. Other companies, such as Commodore, adopted this processor and licensed Microsoft's 6502 BASIC, but wrote their own operating systems, as did Apple.

The interpreter in the ROMs of the Z80-based TRS-80 systems was, IIRC, based on Microsoft BASIC 4.5. There was a *lot* of small - computer history before the IBM 5150.

According to Stephen J. Rush:
QuickBasic (last version 4.5) is actually older than QBasic. When the old GW-Basic interpreter began to show its age, Microsoft produced a stripped-down version of QuickBasic, essentially the IDE without the compiler and linker. This replaced GW-Basic in the later DOS versions. The decision to call it "QBasic", and to assign a version number lower than that of the current QuickBasic, has led to endless confusion.

QuickBasic itself was originally a variation on Microsoft's main BASIC product, BASCOM, which became the BASIC Professional Development System (last version 7.1), which was replaced by Visual Basic.

This from Derek Ross:

My first microcomputer, a Nascom II, had an 8K Microsoft BASIC interpreter ROM. This was indeed numbered version 4, and existed a few years before QuickBASIC was devised. In fact, as I remember, the Microsoft BASIC interpreter for CP/M was MBASIC 5. I'm fairly sure that this is the reason why the PDS compilers came out in versions 6 and 7. Microsoft only restarted the version numbering for QuickBASIC, not for their 'Professional'
compilers.

This from Ian Staples:

Thank you for the detail. I was curious about this because I had my (2nd hand) TRS-80 some years before I saw QuickBASIC 4.0 on the market. QB 4.5 was released fairly soon after 4.0 IIRC, then that line seemed
to die out. I got my copy of PDS 6.0 as a "special offer" in May 1990, which enabled me to upgrade cost effectively to 7.10 three months later.

Cassette BASIC

This is the ROM based BASIC that was included in the first IBM brand PCs and XTs. The boot screen would show "The IBM Personal Computer Basic Version C1.00 Copyright IBM Corp. 1981" if you attempted to boot the PC without a disk operating systems.

This version was released with IBM PC-DOS 1.10.
Total installed size: 27.5K

Advanced Disk BASIC

This is the BASICA.EXE provided with early DOS versions (for example, DOS 2.0). After typing BASICA, the screen would show "The IBM Personal Computer Basic Version A2.00 Copyright IBM Corp. 1981, 1982, 1983"

Basic Interpreter for Apple Macintosh
According to Al Staffieri Jr., MS-BASIC 1.0 came out on the Mac when the first Mac came out in 1984. The copyright date on it was actually 1983 so it was probably ready for a few months before the Mac was released. MS-BASIC went up to v3.0, but none of those versions had a compiler. When 3.0 was released in 1986, I think they also released a separate BASIC compiler made by AbSoft. In 1988, the AbSoft compiler was integrated into the editor and the name was changed to QuickBASIC. QuickBASIC 1.0 had several maintenance updates until 1992 when v1.0e, the last version, was released. None of the MS BASIC/QuickBASIC versions were ever 32 bit compatible so they had problems when Macs started getting past 16Mb of installed memory. Instead of rewriting the program, MS decided to abandon it. It was officially discontinued
in 1995.

BASIC Interpreter for Apple Macintosh
According to Al Staffieri Jr., MS-BASIC 1.0 came out on the Mac when the first Mac came out in 1984. The copyright date on it was actually 1983 so it was probably ready for a few months before the Mac was released. MS-BASIC went up to v3.0, but none of those versions had a compiler. When 3.0 was released in 1986, I think they also released a separate BASIC compiler made by AbSoft. In 1988, the AbSoft compiler was integrated into the editor and the name was changed to QuickBASIC. QuickBASIC 1.0 had several maintenance updates until 1992 when v1.0e, the last version, was released. None of the MS BASIC/QuickBASIC versions were ever 32 bit compatible so they had problems when Macs started getting past 16Mb of installed memory. Instead of rewriting the program, MS decided to abandon it. It was officially discontinued
in 1995.

Microsoft BASIC for ATARI 800

QBasic 1.0 - 1.1 QBASIC 1.1 was the last QBASIC version. It was succeeded by QuickBASIC. (We've been told this is wrong, and that " All of the QuickBasic versions prior to PDS 7.0 came before QBasic. PDS 7.0, 7.1 & VBDOS 1.0 all come after QBasic. QBasic would be roughly equivalent to QuickBasic 5.00, if it had ever existed."

In 1991 DOS was still King for personal computer use. Microsoft released MS-DOS 5.0. For years Microsoft had received criticism for the clunky text editor EDLIN, which had been essentially unchanged for years. They also wanted to update their old GWBASIC interpreter which had not been improved for years. Microsoft took the QuickBasic IDE, stripped out the compiler, de-tuned the threaded p-code interpreter so it was slower than QuickBasic's QB.EXE (I suspect that QBasic may be based on the QuickBasic 4.0 QB.EXE rather than 4.5), added the '/EDITOR' command line option so QBasic could double as a screen-based text editor, and released the result as QBasic 1.0 with MS-DOS 5.0. For easy user interface, Microsoft created a tiny program EDIT.COM which executed QBasic with the /EDITOR option, and passed it's own command line tail. The combo replaced GWBASIC and EDLIN with much improved products. When MS-DOS 6.0 was released in 1993, QBasic version 1.1 came with it, and with all 6.x versions of MS-DOS. QBasic 1.1 (QBASIC.EXE and QBASIC.HLP) also came with Windows 95 (look on the CD in \other\oldmsdos\) and Windows 98 (look on the CD in \tools\oldmsdos\). You can also download the contents of the \oldmsdos\ subdirectory from http://www.microsoft.com/windows/download/olddos.exe

The version 1.1 of QBasic which comes with Windows 9x is identical to the version 1.1 QBasic which came with DOS 6.x. But the EDIT.EXE which comes with Windows 9x is a completely rewritten editor, and does not use QBasic at all. The new EDIT can open multiple files and do other tricks. But alas, in the new EDIT.EXE Microsoft dropped the 'WordStar control diamond' control keys which had been standard across most text editors since the 70's.

QBASIC is a "lite" version of Microsoft's QuickBASIC. It serves as both a BASIC interpreter and as MS-DOS's editor for its Edit command in versions 5.0 to 6.22. QBASIC is a stripped-down QuickBASIC -- it lacks QuickBASIC's compiler which means it can only read, edit, debug, and run QBASIC source code. It also does not have QuickBASIC's Load, Unload, Create File, DOS Shell, Undo, some View, Search, Run, and Debug options, has no Calls function, or right-click options. It does come with mouse support and an extensive help file. This version was released with MS-DOS 6.0 - 6.22. Total installed size: 376K

Version History of Microsoft QuickBasic for MS-DOS

Dates taken from Microsoft version history. Dates are for US versions unless otherwise stated.

1.00 - 5.25" version was released on 8/18/85. In 1985 Microsoft released a new version of their command line PC BASIC compiler, and called it QuickBasic. QuickBasic 1.0 was just the old BASCOM compiler relabeled. The compiler was still named BASCOM.EXE, and came on one 360k 5.25" diskette. Disk is labeled: Program Disk D-226, 007-114-002, 007114.100. Manual rear labeled 0785 Part No. 007-114-001. System requirements are 256K memory, DOS 2.0 or higher, and one double sided disk drive.

1.00 for Apple Macintosh Systems. MS product number 025-096V100. Includes the following materials:
Manual labeled 0588 Part No. 04928. Document number 690700001-100-R00-0888.571 pages.
Registration/Repair and Replacement Order Card/Change of Address cards, 0588 Part no. 02754
Two 3.5" double density disks with label numbers "Program, 00631" and "Examples, 00632". I've seen a version of this with diskettes labeled Version 4.0, with no disk assembly Number.

1.01 - 5.25" version was released on in January 1986
Corrects problems known in Version 1.00. No major enhancements. Few copies of Version 1.01 were shipped due to a problem discovered with compiling medium-sized programs.

1.02 - 5.25" version was released on 02/06/86. 3.5" version was released on 05/07/86.
Corrects problems known in Version 1.01. No major enhancements.

2.00 - 5.25" version was released on 09/29/86. 3.5" version was released on 08/15/86.
Most recent file on disk 1, README.DOC, is dated 9/26/86 10:06:46am. Number printed on face of disk is 007114.200 (with D-270 if far upper right corner). Manual is MS Document number 990700003-200-R01-0486.

Major release. The following new features are added: Built-in editor environment. Support for dynamic numeric arrays using far heap (up to 64K each). Multiline block IF..THEN..ELSE..ENDIF statements. EGA graphics card support. BLOAD/BSAVE statements. Some programmers consider the built-in editor to be clunky.

2.01 - 5.25" version was released on 01/20/87. 3.5" version was released on 02/02/87.
Most recent file on disk 1, README.EXE, is dated 1/16/87 11:45:54am. Number printed on face of disk is 007114.201.
Corrects problems discovered in Version 2.00. Addition of keyboard driver for Tandy 1000 and IBM EXTENDED keyboard.

3.00 - 5.25" version released 04/13/87. Diskettes labeled 007-114-040, 007-114-041, 007-114-048 and 007-114-049. 3.5" version released on two 720K diskettes 04/13/87. Single paperback manual of 595 pages. Document No. 9909700011-300-R00-0487. Manual rear labeled 0387 Part No. 007-114-042. Requires 320K RAM and DOS 2.0 or later. Leader in BASICA compatibility.
Major release. Comes with QB.EXE and QB87.EXE, giving QuickBasic both a compiler and an interpreter for quick testing turn around. The QB87.EXE program supports the math coprocessor. The editor is significantly improved over 2.0. The following additional new language statements are added:
SELECT CASE
DO LOOP
CONST

The editor includes insert/overtype mode command. You can use the editor with SuperKey, Prokey, or Sidekick. Other features include a simple debugger to set breakpoints and watch variables. The editor can take advantage of 43-line mode on the Enhanced Graphics Adapter (EGA) card.

4.00 - 5.25" and 3.5" versions both released on 10/10/87.
Major release. Introduction of threaded p-code technology, which error-checks lines when typed and runs programs almost instantly in the editor environment. You can load multiple modules within the editing environment. The following new features are added: Hercules graphics support. Recursive SUBprogram procedures. User-defined TYPE variables (TYPE...END TYPE). Huge dynamic arrays (larger than 64K). Fixed-length strings. CALLs to high-level languages (Microsoft C, FORTRAN, Pascal). Enhanced debugger in editor allows setting breakpoints, watch points, and watch variables, plus MS CodeView compatibility. New on-line help for Basic syntax. Version 4.0is a favorite with some programmers, and some still the 4.0 manuals, because they are better than the 4.5 manual (much more detail, etc.).Manuals:
Programming in BASIC: Selected Topics, 322 pages, Document No. 410700014-400-R00-1087, 0987 Part No. 00619
Learning and Using Microsoft QuickBASIC, 386 pages, Document no. 410700001-400-R02-1087, 0987 Part No. 00618
BASIC Language Reference, Document No. 41070002-400-R00-1087, 533 pages, 0987 Part No. 00620

4.00a - 3.5" and 5.25" versions were released on 02/20/88
QuickBasic Version 4.00a was released with the Microsoft Basic Compiler Version 6.00. Version 4.00a provided corrections to problems discovered in Version 4.00. QuickBasic Version 4.00a was never sold as a product separate from the Microsoft Basic Compiler 6.00.

4.00b - 5.25" version released on 05-05-88. 3.5" version released on 06/01/88.
Version 4.00b is almost the same as Version 4.00a, except some memory-management and data-communications problems in Version 4.00a (and Version 4.00) are corrected. Version 4.00b is enhanced to support the AT&T and Olivetti high-resolution screens. (A copy of QuickBasic Version 4.00b is also distributed with the Microsoft Basic Compiler Version 6.00b package.) Three 360K diskettes with QB.EXE dated 4/26/88 5:33:46pm.

4.50 - 5.25" and 3.5" 720K (on three disks) versions both released on 10/21/88. A 720K disk version, on just two disks, is dated 1990, but doesn't appear to have changed.
New user interface with complete context-sensitive help that contains the entire language reference manual. On-line help system also contains examples that can be cut and pasted directly into programs. 4.50 provides corrections for some problems discovered in Version 4.00b. 4.5 was produced in both an early, boxed, two manual version with 3.5" or 5.25" diskettes, or a later, single manual with diskettes inside the cover and shrinkwrap around the book. Microsoft SKUs: retail 3.5" 007-095V450. NFR on 5.25" - 007-314V450. Requires 384K available user memory, DOS 2.1 or higher, two 360K drives (or hard drive). Version 4.5 has online help and a slightly improved IDE, but is mostly a major bug fix release. The online help has information not included in the 4.5 printed manuals. Many feel the 4.5 manual stinks when compared to the three volume 4.0 manuals.

Older style:Two manuals in box:Learning to Use Microsoft QuickBASIC, 307 pages, Document No. 410700001-450-R03-0988, book rear 0888 Part No. 04300.
Programming in BASIC, 458 pages, Document No. 410700014-450-R01-0988, book rear 0888 Part No. 04376Newer style:
Single manual (two manuals in a single binding): Final packaging is single manual with no box and 5.25" diskettes or two 720K diskettes within the manual. 0890 Part No. 14510. 458 pages, Document no. DB14510-1190. 1190 Part No. 19982. Another version of the manual, perhaps meant for international sales, is document no. DB14510-1190, OEM D707-4Z with rear cover labeled ????? Part No. 23080

Owners had an option to buy the QuickBASIC BASIC Language Reference (Document No. 410700018-450-R00-1188, Part No. 04301) in a three ring binder for $24.95. I think this was included in the "Professional" package originally sold before PDS 6.0 was released.

Euro Version 3.5" MS Part number 007-095ZV450

Microsoft BASIC 6.0 Compiler, MS Part number 007-014V600. Shipped on eighteen 360K 5.25" disks with 3.5" available by coupon. Let's you write programs for OS/2 or DOS. OS/2 allows up to 16MB of physical memory or 128MB of virtual memory. System requirements: 320K available memory. OS/2 1.0 or later. MS-DOS 2.1 or later. The original was 6.00. A later 6.00b version was also produced. No evidence that a 6.00a version ever shipped.

The big advantage of the PDS over QuickBasic 4.5 is that it has an option to put strings into FAR memory (outside the 64K data segment). This frees up a lot more memory for simple variables and allows you to build much bigger programs. There are one or two other enhancements to the language (such as DIR$ which allows you to check if a file exists before opening it) but these are minor league stuff compared to FAR strings. The package also comes with some Microsoft Development Tools including Programmers' Workbench (not useful), the CodeView debugger (very useful) a Cross-Reference utility and a Help file compiler. The version of LINK that's included allows you to use overlays so you can build programs bigger than 640K. Lastly the Extended QuickBASIC IDE (QBX) that comes with PDS is a bit more sophisticated and (IMO) nicer to use. Some prefer the PDS's IDE when programming in the environment. File dates are 8-19-92 and 11:59:00PM on the copy I've seen.

In 1987 QuickBasic 4.0 was released, and Microsoft also released another series of compilers called their 'Professional Development Systems'. The QuickBasic product was their 'personal' version of BASIC. You see that personal/professional pattern maintained even today in VB and C++. One of the features of the PDS compilers was their support for OS/2. Microsoft BASIC 6.0 was the first BASIC PDS release. I suppose they skipped version 5.0 to let us know this was a serious upgrade. :-) MS BASIC 6.0 came with QuickBasic 4.0 for an IDE (the QuickBasic 4.0 retail package was actually included with BASIC 6.0), and an enhanced command line compiler with a number of new features, some to support OS/2 protected mode stuff, like "OPEN PIPE:". In 1988 QuickBasic 4.5 was released, followed by PDS 7.0 in 1989, and the PDS product was essentially complete, with its own 'extended' IDE QBX.EXE, which, unlike QB 4.0 and PDS 6.0, was completely language compatible with the PDS 7.0 command line compiler. Many character based professional debugging tools came with 7.1, including Programmer's WorkBench, CodeView, etc., providing an IDE for editing, compiling and testing, even without QBX.EXE (but MUCH slower). The BASIC language wasn't enhanced in PDS 7.1 over 7.0, the improvements were in programming tools and OS/2 compatibility.
PDS 7.0/7.1 manuals are loose-leaf binders. I think they're the same for each, but the ones I've looked at say 7.0 inside their front covers. They are:
BASIC Language Reference, Document No. DB0118-700-R00-1089, 759 pages
Programmer's Guide, Document No. DB0114-700-R00-0390, 782 pages

From Thomas G. Hanlin III:
Microsoft's BASIC compilers, before the diversion of QB (meant to address the horror of Borland's wildly successful Turbo Pascal), were up to version 5.35 or so (also sold as IBM BASCOM in versions 1.0 and 2.0 before IBM dropped the line). The QuickBASIC versions were conceived as an entirely different product line, so it was no real jump for Microsoft to go from 5.35 to 6.0 for the main BASCOM release.

About the time the TRS-80 market died a sudden and horrible death, I moved to a Compaq portable (the old sewing-machine luggable, with monochrome CGA emulation, 256K RAM and dual floppies). The only decent BASIC available was IBM's BASCOM 1.0, a relabeled version of Microsoft's compiler. MS-DOS 2.0 had just come out, so BASCOM 1.0 didn't even support subdirectories. Combining that with the hideously slow INT 10h video services-- much slower than a TRS-80!-- I was obliged to start writing my own assembly-language routines to make the compiler relatively useful. ADVBAS was the result-- the first shareware library (and one of the first libraries of any sort) for the Microsoft BASIC compilers.