I have friends who own (dare I say it?) that other computer. They poke fun at Atari BASIC with its lack of string asrrays and its snail-like math package.
"Why don't you get yourself a real computer?" they scoff.
"Your mama," I retort. My quick wit is legend in these parts.
Those of us who've been with Atari BASIC for any length of time know pretty much how to work around these limitations. Besides, with its error checking, graphics and sound commands, plus its easy interface with assembly language routines, its benefits far outweigh its detriments.
Still, there are times when I've looked wistfully at some of the neat commands and functions available in CP/M's M-BASIC and in versions of BASIC for the Atari other than Atari BASIC.
When you need such things as renumbering, block delete, trace, renaming variables, accessing DOS functions, and so on, the lack of these fosters a study in frustration. True, there are external programs which will accomplish these things, but it involves saving the program you are working on, loading up the utility, reloading your program and then doing it to it. Not exactly the epitome of efficiency. In fact, it's a real pain.
A company called First Byte now produces Enhancements to BASIC: A Better BASIC for your Atari. It is just that. A better BASIC. It's a program which creates a boot disk with all of the above (and more) integrated into Atari BASIC, so that the additional functions are acailable on command - without changing disks or loading programs.
To use it, simply boot it up without the BASIC cartridge or by holding down OPTION on the XLs. ETB takes the place of the BASIC cartridge or the built-in BASIC in the XL machines.
ETB supports forty new commands, only two of which are program mode commands. The other thirty-eight are immediate mode commands, which are used for help in programming. Some perform functions available elsewhere, but which require external programs to implement.
A number of the commands supported are: NUM-automatic line numbering; REN-renumber program lines; DEL-is to delete a block of program lines; LVAR-list the variables in a BASIC program; SVAR-search for lines containing a specific variable; CVAR-change a variable name; DUMP-send anything which goes to the screen editor to the printer instead; and SCREEN-cancels the DUMP command.
In addition to the above, there are commands which allow you to access DOS functions directly through BASIC, instead of having to load in the DUP.SYS as you would normally. All of the DOS functions are available except the duplicating, binary functions, writing DOS files and, of course, run cartridge. (How many times have you wanted to check out the disk directory on a disk during a heavy programming session?) This alone is worth the price of ETB, but there's a lot more.
What makes this such a great little program is that it's both upward and downward compatible. Since the new commands with exception of TRON (trace on) and TROFF (trace off) are immediate mode, there's no trouble at all with using ETB with old or new programs, and then running them with ETB or Atari BASIC.
One of the nifty features available to CP/M and M-DOS users is the ability to program individual keys to perform certain functions. ETB sort of provides the same feature.
I say "sort of" because in essence, you can assign strings to some of the number keys (4 through 0). There are default values assigned to these keys to start with, but they can be redefined to any string up to thirty characters long. (The 0 key can be defined as a string of up to sixty-two characters).
For instance, CTRL-4's default value is LOAD "D:, and the default value for SHIFT CTRL-7 is POSITION. Simply pressing the appropriate key(s) will print the command to the screen at the cursor position.
I always hated typing a lot of PRINT #6; or OPEN #1,4,0,0,"WITCHES.DAT", so I just assigned them to keys. When I need either one, I press the appropriate key and presto! Believe me, the saving in keystrokes in a coding session is enormous.
Another great feature is the TRON command. Again, this is one of the two program mode commands, TROFF being the other. TRON, when implemented, will trace through the program line by line, and you can choose from a variety of displays, as well as dumping the trace to a printer.
The last option is invaluable if you've got a particularly knotty bug in a program and need a hard copy of the program flow. Multiple nested loops with outside subroutines - or, for that matter, any convoluted algorithm - benefit a great deal from this feature.
ETB is not perfect. There are a number of commands which take up valuable memory space and are of rather limited value. For instance, ETB provides you with the ability to adjust the keystroke and repeat timing. Also, for those of you with XLs, you can shut off the keyclick.
There's more, but I'm sure you get the idea. ETB does provide you with the option to use differing levels of the commands available, thereby freeing memory if you need it. This is definitely a smart feature.
ETB comes with a program disk and documentation which, though complete, reminds me of the old APX documentation. Let's say it's without frills.
The reason for this is probably the same reason that ETB impressed me so much. You get this professional-level program and the no-frills documentation for a measly $14.95, including shipping and handling! I don't care who you are; that's a deal in anyone's book.
If you want to make your life easier, save yourself countless hours of programming time, and can part with the price of a bottle of scotch, Enhancements to BASIC is for you.