💾 Archived View for uscoffings.net › retro-computing › systems › Tandy › oldskool › qbasic.txt captured on 2023-07-10 at 15:12:11.

View Raw

More Information

-=-=-=-=-=-=-

QuickBASIC 2.0 and the Tandy 1000
==================================

    Some of you with Tandy 1000's may have been contemplating the 
purchase of Microsoft's new BASIC compiler, as well you might. 
More than just a compiler for interpreted BASIC programs, this 
new product transforms BASIC into a serious program development 
system.  Just consider these new features :

 1) A complete programming environment with integrated editor, 
    debugger, and "compile to memory" options.
 2) The elimination of mandatory line numbers in the BASIC source 
    code. Line numbers are now optional; needed only for GOTO or 
    GOSUB statements. In fact, in lieu of line numbers, alpha 
    labels may be substituted, thus allowing for easily 
    recognizable routines.  (E.G. GOSUB HEADER for a routine that 
    clears the screen and prints a title for the option selection 
    instead of, say, GOSUB 40000.) The system even comes with a 
    utility (written in QB 2.0 and provided in source code form) 
    which will remove unneeded line numbers from old interpreted 
    programs.
 3) Multi-line IF statements.  This function, combined with the 
    already available WHILE ... WEND statement (which, for the first 
    time, can be executed without line numbers) at last gives 
    BASIC a structured look and "feel" similar to languages like 
    PASCAL while still retaining compatibility with older 
    interpreted programs.
 4) The availability of SUB-PROGRAMS to further aid modular 
    programming completes BASIC's graduation to adulthood.  
    Variables assigned within a sub-program are "private" to that 
    section of code. This allows BASIC to become a serious 
    development system since a main program can be written with 
    calls to sub-program "stubs", and various programmers can be 
    assigned responsibility for each stub.
 5) As in Turbo Pascal, the compiler can call up the built-in 
    editor and position the cursor at the source of a possible 
    compile error. Unlike Turbo, however, the compiler will make 
    a complete run through the source code, noting errors as they 
    occur, (up to a maximum of 25) and then present them one by 
    one for correction via the editor. As each error is 
    encountered, a "Error-Message" window opens at the bottom of 
    the screen with a (usually) comprehensive explanation of the 
    error.
 6) The built-in debugger (activated with our old friends TRON 
    and TROFF) provides a variable DEBUG WINDOW at the bottom of 
    the screen which indicates the currently executing line of 
    source code.  The speed of the debugging action can be 
    continuously varied, and the size of the debug window can be 
    increased to show additional lines of code.
 7) The system comes with a beautiful 600 page manual outlining 
    all the new features and providing a "Statement and Function 
    Reference" that clearly lists all compiler deviatons from the 
    interpreter on a statement by statement basis. And the whole 
    package lists for only $99.95 retail.

 There are also a number of additional enhancements (such as 
support for EGA graphics, LOCK and UNLOCK functions for the Tandy 
VIANET and IBM NET, a fix for the notorious QB 1.0  "Child of 
Basic" bug, etc.) which are too numerous to go into here. In 
short, this is the BASIC everybody has dreamed of since that 
first 4K paper tape Microsoft "Tiny BASIC" was loaded into the 
Altair 8800's shaky Parisitic Engineering memory board some 10 
years ago.

Ah, but for us Tandy 1000 owners, has this BASIC really arrived ?

  The fact of the matter is that trying to run this system on a 
1000 amounts to masochistic torture.  Here are the main problems 
which constitute the proverbial "flys in the ointment" for our 
machine :
 1) There is no support for the Tandy's arrow keys from within 
    the editor.  Instead, the 8-2-4-6 diamond on the numeric 
    keypad must be substituted.
 2) The QB editor doesn't recognized the status of the Tandy CAPS 
    LOCK key. The only way to tell if one is in caps mode is to 
    reference the on-screen indicator in the upper right-hand 
    corner of the screen. If one is in CAPS, and then switches to 
    lowercase, it will generally take several presses of the CAPS 
    key to finally get back to uppercase.
 3) If SideKick is called upon while working from within the QB 
    2.0 environment and the Tandy arrow keys are used to, for 
    example, page through the ASCII table, one will find QB 2.0 
    totally locked-up upon leaving SideKick.  This condition can 
    sometimes be cured by pressing ALT-SPACEBAR and then ESC.
 4) Many of you will also be upset by the lack of support for the 
    Tandy's (and, incidentally, PC Jr's) enhanced CGA graphics
    modes.

    These all seem like minor problems, and, in fact, if an 
outboard editor more compatible with the T1K is utilized in lieu 
of the QB 2.0's built-in editor, then the problems disappear 
entirely. The problem is that if you opt to do that then you lose 
the integrated programming enviornment you thought you had 
purchased. Also, Turbo Pascal (which Microsoft has obviously 
aimed this product at) has no problems with any aspect of the T1K 
keyboard, and, of course, works well with SideKick.   
     Why should the large body of Tandy 1000 owners have to put 
up with these anomalies when it's obvious that we don't have to ?  
And why has Microsoft (seemingly) forgotten its roots ?  Before 
there was an IBM PC there was the TRS-80 MODEL I with Microsoft 
BASIC in ROM.  That's right !  Radio Shack was the _very first_ 
company to include MS BASIC in ROM. (The original Apple II came 
with a Woz-produced integer BASIC in ROM; MS BASIC was available 
only on cassette tape until the advent of the II+). Indeed, the 
popularity of the Model I helped propel Microsoft BASIC to its 
dominant position as the standard BASIC for micro-computers, and 
thereby eventually led to its liaison with IBM.  THIS COMPANY
OWES US ONE !
     I suggest that we let Microsoft know, in no uncertain terms, 
that we are very displeased with the current implementation of 
this package on the Tandy 1000 and that we want a QB 2.0 tailored 
for our machines.  Current estimates indicate that there are now 
close to as many Tandy 1000 owners as there are owners of the 
Macintosh.  If we all get together on this it's quite possible 
that we can persuade Microsoft of the economic feasibility of 
releasing a Tandy 1000 QuickBASIC 2.0.  --- Joseph