Turbo-BASIC XL

from Wikipedia, the free encyclopedia
Turbo-BASIC XL boot screen. The Happy Computer logo is incorporated by modifying the character set.

Turbo-BASIC XL is a BASIC dialect developed for Atari XL / XE , which is backwards compatible with Atari-BASIC and is characterized above all by a significantly faster processing speed and commands for structured programming. The language was developed by Frank Ostrowski , who later developed the GFA-BASIC interpreter for GfA-Systemtechnik . Turbo-BASIC XL was first published in 1985 as listing of the month in Happy Computer magazine ( Markt & Technik Verlag ), and a compiler was also published later.

Compared to Atari BASIC

Downward compatibility with Atari BASIC

Turbo-BASIC XL implements all Atari-BASIC commands and uses the same file format. This is why Atari-BASIC programs can usually be executed directly under Turbo-BASIC XL without adjustment, but run around four times faster. This can result in a game written in Atari-BASIC no longer being playable under Turbo-BASIC XL.

Another cause of incompatibilities is the different memory usage. Turbo-Basic XL is almost twice as big as Atari-BASIC with almost 16 KB. In spite of this, approx. 34 KB program memory is available under Turbo-Basic XL. That is approx. 2 KB more than under Atari-BASIC with DOS, because Turbo-BASIC z. T. is stored in memory areas that are not used by Atari BASIC. Nevertheless, programmers often use these memory areas for subroutines in machine language. Such programs can only be run to a limited extent under Turbo-BASIC XL.

Structured programming

The Euclidean algorithm in Turbo-BASIC XL using structured programming. The indentation is done by the editor.

A major improvement over Atari-BASIC is the introduction of commands for structured programming . So were REPEAT ... UNTIL, WHILE ... WEND, DO ... LOOPand IF ... ELSE ... ENDIFintroduced. With PROC name ... ENDPROCyou can define subroutines that are EXEC namecalled with.

In Turbo-BASIC XL a program can be written completely without GOTO statements. The few exceptional cases in which a direct jump in the program is still required can be GO #labelintercepted with .

You can clearly see the forerunner to GFA-BASIC in Turbo-BASIC XL .

Graphics commands

Atari-BASIC already had commands to set the graphics mode and to draw points and lines. With Turbo-BASIC XL you can also draw circles and ellipses, fill closed areas and output texts on the graphics screen. With BPUTand BGET, memory blocks, for example images, can be saved to an external storage medium or loaded from there.

Turbo-BASIC XL also does not have commands for programming player missiles (sprites), so that, as with Atari-BASIC, you have to rely on PEEK and POKE instructions . At least there is MOVEa command to move entire memory blocks, which at least simplifies the programming of player missiles a bit.

DOS commands

With commands like DIR, DELETE, RENAME, LOCKor UNLOCKyou can under Turbo-Basic XL directly access the disk drive without cryptic as under Atari BASIC XIOhaving to use invocations (extended input / output, a special instruction under Atari BASIC). In particular, the fact that you can look directly at the table of contents on the disk makes the work of program development much easier.

General commands and functions

Under Turbo-BASIC XL you can work directly with hexadecimal numbers and powerful commands for searching through strings are available. There is also a series of commands and functions that are to be programmed under Atari BASIC only over detours like DIV, MOD, CLS(Clear Screen) or PAUSE.

Advanced editor

Turbo-BASIC XL uses the editor known from Atari-BASIC, but this has been greatly expanded. By default, loops and IF-THEN-ELSE blocks are optically highlighted by indenting them by two spaces. This makes programs easier to read. However, this function can be deactivated for the output of listings on the printer or other external devices. The screen output of program code can be slowed down by pressing one of the console keys (Option, Select, Start).

There are also commands with which entire program blocks can be deleted or renumbered, with DUMPthe variable table can be output. With TRACEthe line numbers are output when the program is executed, programs can be debugged more easily.

AUTORUN.BAS

A basic program, which is saved on the floppy disk under the name "AUTORUN.BAS", is automatically loaded and started by Turbo-BASIC XL when booting. With Atari Basic, help programs in machine language were necessary. For the compiler (see below) the compilations had to be saved under the name "AUTORUN.CTB" for this purpose.

Compiler

In 1986 , the Turbo-BASIC-XL compiler was published in the first Atari-XL / XE special issue of Happy Computer magazine. Programs compiled with it run on average three times faster than under Turbo-BASIC XL. Compared to Atari-BASIC, this results in a speed gain of a factor of 10 to 12. In benchmarks, the Turbo-BASIC-XL compiler was faster than all commercial BASIC compilers available in 1986 for Atari home computers.

distribution

Turbo-BASIC XL is one of the most successful programming languages ​​and, after Atari-BASIC, the most popular BASIC dialect for Atari home computers. The commercial successors of Atari-BASIC ( BASIC A + , BASIC XL and BASIC XE ) from Optimized Software Systems (OSS) were in part clearly more powerful and comparatively fast than Turbo-BASIC XL in terms of their command scope, but these programming languages ​​could only be used to a limited extent commercial application development because there was no compiler for these and not even a runtime library for BASIC A +. In addition, these programming languages ​​cost between 80 and 100 US dollars, while Turbo-BASIC XL and compiler were practically free.

Trivia

With a length of 18108 bytes, Turbo-BASIC XL is one of the longest typing programs ever published by Happy Computer magazine, usually with a size limit of around 10 KB. Since the programs were printed in hexadecimal, you had to enter more than 40,000 characters including checksums for the interpreter. Compiler and runtime together were almost as extensive.

Happy Computer published the listing of the interpreter three times. For the first time in the 12/1985 issue, then in the 1st Atari special issue (1986) and finally again in the 2nd Atari special issue (1988).

Due to the publication as a tip listing , Turbo-BASIC XL was wrongly considered in the Atari scene as public domain . However, there was never an official approval by Markt & Technik. However, since almost every Atari user had a copy of Turbo-BASIC XL at the end of the 1980s - only a few of whom had typed the program or purchased it from a reader service diskette - Turbo-BASIC XL is likely to be the most frequently pirated program for the Atari XL / XE to be.

Frank Ostrowski originally developed his BASIC interpreter on an Atari 800 . However, this version was only published in 1986 under the name Turbo-BASIC v1.4 (without the addition XL). However, this is only of historical importance, since at that time the Atari 800 computers were only sparingly in use, and you only have about 23 KB of memory free for your own programs.

Web links