Classic Computer Magazine Archive COMPUTE! ISSUE 61 / JUNE 1985 / PAGE 67

Enhancements To BASIC For Atari

Tom R. Halfhill, Editor

Requirements: Atari 400/800 with 48K RAM, a disk drive, and Atari BASIC cartridge; or a 1200XL with a disk drive and Atari BASIC cartridge; or a 600XL/800XL with 64K RAM and a disk drive.

Enhancements to BASIC is an impressive utility that provides more than 40 new commands for BASIC programming. It isn't an "extended BASIC"—that is, it doesn't add any special keywords for inclusion in your programs. Rather, it's a tool kit utility that makes programming and debugging easier and more efficient. Best of all, it frees you from worrying about the infamous lockup bug which has haunted Atari BASIC programmers for years.

Before using Enhancements to BASIC, you must follow a 25-step setup procedure carefully described in the manual. First, Enhancements copies your Atari BASIC cartridge (400/800/ 1200XL) or built-in BASIC (600XL/800XL) into Random Access Memory (RAM). Then it modifies BASIC, adding the new commands and fixing the bug which can unpredictably lock up the Atari during program editing. Finally, Enhancements copies itself onto another disk for future use. From then on, you simply boot up the modified BASIC from this disk, either removing the BASIC cartridge if you have a 400, 800, or 1200XL, or holding down OPTION to disable the built-in BASIC on the 600XL/800XL.

Most of the new features are fairly standard for utilities of this type. There are commands for automatic line-numbering and renumbering, deleting blocks of lines, listing all variables, searching for lines containing a certain variable, globally changing variable names, and sending screen output to a printer. There are disk commands which lessen the need to exit BASIC to DOS: You can call disk directories, rename files, lock and unlock files, delete files, format disks, and run a machine language program at a certain address.

That would be enough for most tool kit utilities. But Enhancements adds some more exotic features. There are commands to restore, rename, and call directories of deleted disk files. Another command protects BASIC programs by making the listings unreadable but executable. You can lock the keyboard to prevent tampering until a personal authorization code is entered. You can change screen margins and the delay period before keys begin repeating. On a 600XL/800XL, you can change the key-repeat rate and turn the keyboard click on and off. You can display numeric values in decimal or hexadecimal (try renumbering a BASIC program in hex!). There are even programmable function keys—for example, pressing CTRL-4 automatically prints LOAD"D: or anything you like.

But perhaps the most powerful enhancement is the tracer/debugger. Most TRON/TROFF (trace on/off) utilities simply display the line numbers being executed as the program runs. Enhancements displays the entire line, and lets you flip back and forth between the scrolling listing and the actual program running simultaneously on an alternate screen. Implementing this feature on a computer with only 48K or 64K of RAM is quite impressive. Memory conflicts sometimes prevent you from tracing very large or complex programs, but nevertheless, the tracer does a remarkable job of handling such memory-juggling challenges as player/missile graphics, custom character sets, and machine language subroutines. You can also disable the tracer to conserve memory.

There are still more features we don't have room to cover, such as a handy help screen. Enhancements is an exceptional product.

Enhancements to BASIC
FirstByte
P.O. Box 32
Rices Landing, PA 15357
$14.95 (includes shipping & handling)