BASIC XL / programming / commercial
From: Michael Current (aa700@cleveland.Freenet.Edu)
Date: 01/18/92-12:39:26 PM Z
- Next message by date: Michael Current: "BASIC Turbocharger, Enhancements to BASIC / utilities / commercial"
- Previous message by date: Michael Current: "Alternate Reality: The City / game / commercial"
- Return to Index: Sort by: [ date ] [ author ] [ thread ] [ subject ]
From: aa700@cleveland.Freenet.Edu (Michael Current) Subject: BASIC XL / programming / commercial Date: Sat Jan 18 12:39:26 1992 Reprinted from A.C.E.C. BBS (614)-471-8559 Software Review -- BASIC XL by Dr. Warren G. Lieuallen Reprinted from Fuji Facts the newsletter of the Atari Computer Enthusiasts of Columbus At one point or another, most Atari owners end up delving into Atari BASIC for the purpose of writing a program to accomplish a certain task. Some of them become quite good, almost professional, while others barely get past the first few chapters of whichever book they happened to pick up. Here in Columbus, we are rather lucky, because Charles Brown is teaching Atari BASIC to a devoted group at each SIG meeting. This makes learning BASIC much less painful. But, as Charles himself will tell you, there is a better way. There is another dialect of Atari BASIC, available from OSS, Inc., called BASIC XL. This version is specifically for the 800 XL computer; another modification called BASIC XE is available for the 130 XE. As has been stated in reviews in several of the popular magazines, BASIC XL is the language which should have been built into our machines in the first place. Why such high praise? Read on and see. As a program, and the programmer with it, develops, certain functions are thought of as an entire subroutine, rather than the individual commands. In Atari BASIC, there are a number of instances where to accomplish what seems like a simple operation requires a subroutine composed of several lines of complicated and confusing code. BASIC XL solves this problem, mostly by expanding the number and range of available commands. Ever tried to use player/missle graphics? I did, once. Although there are several good sources for learning how to correctly set all the memory locations, and appropriately use the players and missles, it is overly disorganized and "user-unfriendly". In BASIC XL, however, there are extra commands to take all the work out of it, such as: PMGRAPHICS to automatically perform all of the mystic POKE's required, and set aside the necessary memory space; PMMOVE to easily move the player to any desired location (and quickly, too), which is a programming feat unto itself in Atari BASIC; and others, such as MOVE, or BGET to simplify the definition of the shape of the player, and BUMP to detect collisions. Related to the use of player/missles is the use of the joysticks. While the series of numbers needed in Atari BASIC to determine the position of the joystick aren't that bad, wouldn't it be simpler to just use a command like IF HSTICK=1, or IF VSTICK=0? There is also built-in support of the light pen via the PEN() command. Tired of typing all of those line numbers (and often making mistakes along the way!)? BASIC XL will automatically generate the line numbers for you, as well as providing other commands to renumber part or all of the program. Defined blocks of the program can also be deleted, which can be a real time-saver. Going crazy trying to format your screen output correctly and aesthetically? BASIC XL supports the powerful PRINT USING command, with which pre-defined "masks" are used to characterize the type of printing to be done. A wide variety of both numeric and string definitions are possible, again allowing for maximum flexibility. A full-featured TAB command is also provided, adding to the usefulness of this system. How about those frequent needs to return to DOS for a little disk maintenance? Many of the DOS commands are included as BASIC statements, including: RENAME, PROTECT and UNPROTECT, DIR, and ERASE (Delete). Now there's no reason to bother with MEM.SAV, and you don't have to worry about saving your creation every time you exit to DOS, because now you won't have to exit nearly as much. And let's not forget the feeling of frustration when we realize that our masterpiece contains at least one bug (and almost always more!). Debugging is never pleasant, but with BASIC XL, it's less painful. Commands such as TRACE, to trace the program's path through the execution of each and every line allows specific localization of errors (By the way, the error messages are in English, rather than the cryptic "ERROR 83".). In addition, the LVAR command will produce a list of all the variables used in a program, and the lines where each variable is used. This command alone has been sold as a complete debugging utility program. If that weren't enough, the listings produced are also easier to read, due to indentation of structured statements such as FOR/NEXT, or IF...ELSE...ENDIF. There are many more commands in BASIC XL which make programming more enjoyable and understandable. But there are two more features which I would like to mention, which deal less with programming, and more with using programs. Unlike some other supplementary BASIC's for the Atari, BASIC XL is compatible with Atari BASIC. So all of the programs which you already are using will run under BASIC XL. There is even a specific command to insure this compatibility. So, the programs which you currently have can be used and improved easily. The final feature which I would like to present is one of the more exciting. There is a command which seems rather bland on the surface, but which is surprisingly valuable. This command is FAST. As you might guess, it acts to speed up the running of BASIC XL programs. It does this by "remembering" the location of each line number by doing a quick pre-compilation of the code. What this really means is that each time there is a GOTO, GOSUB or FOR/NEXT statement executed, it is not necessary to start from line 1 and search all the way through to the finish, thereby cutting the time required to execute all GOSUBs and GOTOs to a bare minimum. This feature, combined with all the others, makes BASIC XL an excellent value and a "must" for anyone interested in serious BASIC programming. Since this article's writing, Turbo BASIC has appeared. While limited to XL and XE machines, Turbo BASIC, while different, is just as fantastic as BASIC XL. And the price just can't be beat (it's on CompuServe in DL 3, and on an ACEC Disk of the Month!). -- Michael Current, Cleveland Free-Net 8-bit Atari SIGOp -->> go atari8 <<-- The Cleveland Free-Net Atari SIG is the Central Atari Information Network Internet: currentm@carleton.edu / UUCP: ...!umn-cs!ccnfld!currentm BITNET: currentm%carleton.edu@interbit / Cleveland Free-Net: aa700
- Next message by date: Michael Current: "BASIC Turbocharger, Enhancements to BASIC / utilities / commercial"
- Previous message by date: Michael Current: "Alternate Reality: The City / game / commercial"
----------------------------------------- Return to message index