This has been released as a public download licensed for use with Windows 95: OLDDOS.EXE from Microsoft includes QBasic 1.1 (and HELP.HLP from MS-DOS 6.22, and HELP.COM, but not EDIT.COM), licensed for use with Windows 95. Local copy is available from the MS-DOS page.
Although this only came with MS-DOS 5.0 and newer, an old Microsoft copyright page (as archived by the Wayback Machine) has a section for QBASIC.EXE and QBASIC.HLP which says “any machine with a valid licensed copy of MS-DOS (or Windows 95/98) is licensed to include a version of QBASIC.” Although Windows Millenium Edition isn't mentioned in the 2003 version of this page, the fact that Windows 95/98 was mentioned in parenthesis suggests that the inclusion of those operating systems is meant to be assumed when refrencing MS-DOS. Windows ME also sat on top of DOS like Windows 98 did, and its standard bootup file (COMMAND.COM) refers to itself as “MS-DOS Version 8”. On top of that logic, QBASIC.EXE comes on the WinME CD (in \Tools\OldMSDOS\.)
This program came with the later versions of MS-DOS, as well as at least some versions of OS/2. It is similar to QuickBASIC, but trimmed down (lacking some features). One key feature it does not have is the ability to compile BASIC programs into *.EXE files that any MS-DOS and compatible system can run (without the need for an executable that reads the QBASIC code).
The QBASIC.EXE executable was also the underlying technology of a couple of other programs. Running it with a parameter of the first three to seven characters of /EDITOR would cause it to identify itself as MS-DOS Editor (version 1.1, if in Win ME, or maybe older with some versions?). Running it with the parameter /QHELP would cause it to load HELP.HLP from the path and then identify itself as MS-DOS Help (Version 1.1, if in Win ME, perhaps older with some versions?).
See: MS-DOS downloads: QBASIC section. Some QBASIC files came with some versions of MS-DOS and not other versions of MS-DOS. They may be available from the MS-DOS supplemental disks.
There have been multiple versions of QuickBASIC, including at least one version for the Mac platform. The last version was QuickBASIC 4.5 for MS-DOS. There have not been any Windows versions (although its successor, Visual Basic, has been made for Windows.) This looks and feels very similar to QBASIC, but it has more features, such as creating stand-alone *.EXE files for DOS that do not require a separate file to interpret the BASIC commands.
Q35241 Using Dual Video Display Cards and Monitors with QuickBASIC (applies also to Microsoft BASIC Compiler 6.0, 6.0b, and Microsoft BASIC Professional Development System 7.0).
These notes may be common to multiple BASIC versions by Microsoft.
Q58567: “Any EGA/VGA Video RAM Above 256K Not Usable in Compiled Basic” applies to QuickBasic, Microsoft BASIC Compiler, Microsoft BASIC Professional Development System 7.0. “These compilers are compatible with video cards that conform to the IBM standard. Accessing video RAM above 256K is not part of this standard.”
Q48058: QuickBASIC optimizes graphics commands and may cause things to not look symetrical, different from GW-Basic.
From ftp.microsoft.com MSLFiles:
July 12 S12420 HMAKE100.EXE HELPMAKE for QuickBASIC 4.50
July 12 S12416 NOCOM450.EXE NOCOM.OBJ for QuickBASIC 4.50
July 12 S12320 QCARDS.EXE QuickBASIC 4.50 QCARDS.BAS Tutorial
This version of BASIC was a fairly well known version.
One thing which is probably useless to know in most cases, but could be very nice to know if needed, is that the NEW command removed easy access to just one copy of a program in memory. It could be possible to restore the program, or most of a program (perhaps all except for the first line or two), by using appropriate commands.
There are a few references that have been found over the years. At the time of this writing, none of this code has been recently tested by this text's author, so perform tests to determine the accuracy before relying on it.
Also, even if these techniques do work as described, there might not be any available solid details that have been identified (at the time of this writing) that thoroughly explain how these techniques work.
Some details may be in page about BASIC's PEEK and POKE commands. (See: "B. BASIC's Storage Area")
GWBASIC unprotecting provided a method of listing code. This involved using the LOAD command to load a program, then typing the NEW command (and pressing return). Then press zero, apostrophe, and hold the Alt key. With the alt key held, press 1 on the numpad, and then 5 on the numpad. Then release the Alt key. Then press return. This may cause the LIST command to be able to show the file (and the SAVE command). Actually, the first small bit (perhaps about two lines / 24 bytes) of the file may be corrupted, but most of the source code will be recovered.
The following input in DOS's “DEBUG” command could also perform similar type of results:
E100 FF 1B
That apparently would create a file named UNPROT.BAS (which is what shows up after the letter N), consisting of two bytes, 0xFF1B (which are values provided in the first line). If GWBASIC were to try to LOAD this as a BASIC file, the result would not be complete destruction of a previously loaded file. (Some programs could be loaded by GWBASIC, but then GWBASIC would not LIST the contents of those programs unless loading such a file, or doing the 0'(0x15) thing described earlier.
Google Groups cache: Usenet comp.lang.basic.misc page about BASIC provided source code to do a similar thing:
1 rem ***** Unlock.bas ******
10 open "R", #1,"unlock.bas",1
20 field #1,1 as Char$
30 for i=1 to 5
40 read a:lset Char$=chr$(a):put #1,i
50 next i
60 close #1:new
70 data 255,205,10,1,0
Interestingly, the line 60 has a command to run NEW.
Perhaps built into some ROM versions, or expected to use BASIC from ROM?
Some commands to know about are SYSTEM (quits BASIC to go back to the operating system) and SHELL (runs a sub-shell).
Visual Basic 6 had quite a few service packs. The Software Development page has a section for multi-language products like Visual Studio where some update information can be found, including Service Pack 5. Then Service Pack 6 can be obtained, along with the Merge Modules update, from the C Programming Page (Visual C++ section), since these updates are common for both of these programming languages.
Visual Basic 6.0 Service Pack 6 ("One-File" release) URL referenced in lengthier URL which was redirected to from download redirector found on the Visual Basic 6.0 Service Pack 6 (One-File release) Download/Info page which calls this version "NETFX3.0_0407". Service Pack 6 for Visual Basic 6.0 (Multi-Part Download) Info page
For the "Merge Modules for Service Pack 6 for Visual Basic 6.0 and Visual C++ 6.0", see the section about Visual C++.
Basically free for non-commercial use, this entry in the 7th International Obfuscated C Code Contest, which is dated from 1990, is described as a "basic interpreter, heavily compressed". The dds entry from the following year, the 8th International Obfuscated C Code Contest, is described as "basic compiler, heavily compressed." (The latter entry requires a C compiler called cc to do its thing.) This can be obtained from the IOCCC Winners (page with spoilers/descriptions) (North American mirror). All the files needed for the dds releases are available by downloading them individually from the IOCCC website, or by obtaining the *.tgz packages which have the same files (and more). The only files from the *.tgz packages that are listed on the website by the dds program are the dd* co* and *.BAS files, plus the ansi.mk (the only ans* file, and only *.mk file other than co*) from the 1991 release: The 1990 release did not have ansi.mk in the list of files related to dds.
The files can be obtained individually or they can be obtained by getting the year's (For the 1990 release, the files downloaded individually from the IOCCC page by dds are the same as the dd*, *.BAS, and common.mk files from the *.tgz files containing all the "goodies" from that year. For the 1991 release, the same is true except that it also has an ansi.mk that is identical.)
Author's FAQ has a FAQ: