Quick BASIC
Home Up x86 Assembly Quick BASIC MSVC 1.52C

 

QBASIC+Assembly
Floating Point
Maze Generation
Modules
Parsing
EMS
Game Writing

BASIC has been a lot of fun for me.  The HP 2000F version of it was the second language I learned, after assembly language.  I had a chance to actually get the complete source code listings for the HP 2000F timesharing system (still have the main processor listings, though I cannot seem to find the I/O processor side of them) and later write my own version.  From those listings, I learned about the use of Chebychev polynomials for computing transcendentals and pre-compiling the code for line and variable references before beginning the process of interpreting it.

I own my own legal copies of QB 4.5 and VB-DOS 1.0 and PDS 7.0 and 7.1.  I've also used versions of the QB compiler that are other than these, namely, 2.0, 3.0, 4.0, and 6.0. I still use QB 4.5, PDS 7.1, and VB-DOS for professional programming of various PC-based commercial instruments and testers, because of the rapid development and the ability to use them in DOS-only environments.  I also use VC++ 1.52c and the MASM/ML assembler tool for DOS programming and, not infrequently, write programs that mix all of these into a single program.

QBASIC

As it is commonly found today, QBASIC comes as part of your DOS and/or Windows 9x licence (for PCs.)  It will either be found on the DOS disks or else on the Windows 9x CD-ROM under the directory \tools\oldmsdos, I think.

If, for some reason, you don't have the QBASIC interpreter on your system, you can get it from Microsoft at:

Self-extracting ZIP file: olddos.exe
This self-extracting ZIP file has a number of files in it, including QBASIC.EXE and QBASIC.HLP. It also includes the DOS HELP program (handy for those changing CONFIG.SYS or writing batch files, for example) and a few other "old" MS-DOS utilities (that, I believe, Microsoft didn't really want you installing, but knew they had to provide for those who knew they wanted them.)

Normally, the windows installation program doesn't copy them so it is common to discover that you need to manually place them onto your system. When Microsoft put out their Win95 operating system, it was made available on floppy and CD, but the floppy installion didn't include these tools. This is why Microsoft put up the above link and tools.

Anyway, I usually put QBASIC.EXE and QBASIC.HLP into the \windows\command directory. That way, it's usually in the path and it's also located in good company with other "old" MS-DOS tools from Microsoft.

Keep in mind that QBASIC is not a compiler in the usual sense.   You cannot make stand-alone programs with it, for example.  However, it remains a useful tool that is widely available.  Sometimes, I use it as a fancy macro language to get a quick task done, throwing away the code after I'm done.  Sometimes, I use it for more durable jobs.

For those interested in getting one of the Microsoft Quick BASIC compilers (or their Professional Development System 7.1 compiler), it's apparently the case that Microsoft is no longer making an issue of those offering downloadable archives of their tools. QB Cafe offers several versions, freely available, at:

QBCafe Compiler Download Page
I was honestly surprised to find this site and to find these so readily available. I have NOT downloaded any of these files or bothered to check them out against my own personal versions I own. However, I've no reason to believe there is a problem with them, either.

I hope it is the case that Microsoft understands the value in allowing people to continue learning from and using these compilers and is accepting this site on those grounds. I'm fairly certain that they are quite adept at monitoring such sites.

Short History (as I remember it)

Microsoft had earlier written BASICA (under contract for IBM, if I recall) and MSBASIC (to compete later with IBM.)  Microsoft also wrote DOS under contract for IBM and they also later came out with their own versions, as IBM clones came on to the scene in enough numbers to represent a viable market.  In fact, Microsoft did quite well coming out with their own DOS and MSBASIC.  So well, that I think few people even remember the IBM versions of it, today.

Even before that, Microsoft had written several versions of BASIC for the 8080 processor, going back to a small, 4kbyte "paper tape" BASIC back in the early days (when the Altair 8800 was still in use.)   These BASIC interpreters were the earliest products from Microsoft (then just Paul Allen and Bill Gates who founded it in 1975.)  Well before DOS came onto the scene.

I hate to admit it, but I built my own Altair 8800 from a kit in 1975 and later, two 4k dynamic ram cards (which weren't designed right and needed debugging and patching.)  I used Microsoft's first "paper tape" basic and their later versions.  (Interesting FOR loop bug that had continued into several later versions caused me some trouble, once.)

Quick BASIC Compilers

Microsoft produced quite a few Quick BASIC compiler versions, as time went by.  Looking back on that history now, I tend to look at all of the DOS-based BASIC compiler tools from Microsoft as being of the same ilk.  They are all part of the "Quick BASIC" family -- perhaps with the possible exception of VB-DOS 1.0.  Although even that could be considered just a weird branch, but still part of the same group of tools.  This includes their "professional development system" set of tools, in my mind, although there are a lot of folks who might disagree with me about this.

In any case, there is also some confusion about the names and history of these.  So here are a few links:

Microsoft's own Quick BASIC history
A history of the versions of Microsoft's QuickBasic for MS-DOS, but without any information on their later professional development systems or VB-DOS 1.0.  Differences between them are also briefly mentioned.
Microsoft's own BASIC compiler history
A history of the versions of Microsoft's BASIC compiler and professional development systems (aka PDS).  Differences between them are also briefly mentioned.
Microsoft's own Visual BASIC history
This page included history on their Visual BASIC tools and included a note about VB-DOS 1.0, which is why I included it here, in an earlier version of this page.  The link is now broken, but I'm leaving it here just in case it returns or if someone can provide the new link to it (one can only hope.)

Most folks today will be thinking about QB 4.5 when Quick BASIC is mentioned.  Although it is probably illegal in every case, there are lots of copies of this compiler available on the web.  I've always been able to find a copy when I've bothered with even the most rudamentary searches for it.  (I own my own legal copy, so I've only done this just to see what is out there.)

The PDS 7.1 version (and I do consider it a follow-on version) of Quick BASIC is much better, though.  QB 4.5 has some cases where it generates the wrong stand-alone program when it compiles and in these cases just using PDS 7.1 on the same source code has always fixed the problem.

If you want to stay with DOS, but enjoy using text windows, control buttons, drop down lists, and the like, and yet still want a familiar QB style language when you don't need these features, VB-DOS 1.0 is nice.  It also has some interesting features that simply didn't exist before, such as UEVENTs.

Notes

Here's a few interesting Microsoft web sites on Quick BASIC:

Answers to Common Questions with Quick BASIC 4.5
Memory Management in Quick BASIC

It's also my fervent wish that Microsoft will open its hand and put QB 4.5 into the public domain. In any case, I hope my pages may be of some help for those using the QBASIC interpreter or else the QB compilers.

 

Last updated: Wednesday, January 04, 2006 00:58