Presentation
I believe it is important and only right to pay a well-deserved tribute to the late Frank Ostrowski. Working voluntarily in his spare time, Frank wrote an alternative to Atari BASIC of exceptional quality: Turbo-BASIC XL.
Turbo-BASIC XL:
- Works on all XL or XE computers, provided they have 64 KiB of RAM
- Is fully retro‑compatible with Atari BASIC programs
- Runs Atari BASIC programs much faster — by a factor of 3 or 4, or even more
- Fixes several known Atari BASIC bugs
- Provides more free space for BASIC programs
- Offers a whole range of additional new features to extend BASIC, to interact with disks without leaving BASIC for DOS, and so on
Turbo-BASIC XL was published as a type-in listing several times in the German magazine Happy Computer, with the first appearance in December 1985. It was also possible to purchase a disk directly from the magazine containing the listing already typed in.
As if that were not enough, Frank later released a BASIC compiler that could compile not only Turbo-BASIC XL programs but also Atari BASIC programs, providing an additional speed-up by a factor of 15-20.
Frank was subsequently hired by GfA-Systemtechnik GmbH to develop the well-known GFA BASIC for the Atari ST. Frank passed away in 2011, aged 50.
Original German Dec-1985 "Happy Computer" article, translated
Happy Computer, Dec-1985 is available on Internet Archive.
I OCRed the document, and had the first original German article — introducing Frank and his fantastic Turbo-BASIC XL — translated into English. It is reproduced below.
2,000 Deutsche Marks for a hot program: Turbo-Basic
A fantastic BASIC interpreter was programmed by Frank Ostrowski from Hodenhagen (district of Soltau-Falling-Bostel) for the Atari 800XL/130XE. With his prize he intends to buy an Atari 130XE so that he can write even better programs.
Technical interest has always been Frank Ostrowski's top priority. His favourite subject at school was physics. With his extraordinary technical talent, the 24-year-old has now hit the main prize in our "Listing of the Month" competition with Turbo-BASIC for the Atari 800XL/130XE. This awards him 2,000 Mark.
Since 1981 Frank has owned an Atari 400, upgraded to 48 KiB of RAM. He spends roughly three hours each day working with his computer. In addition to Turbo-BASIC he has written several games in machine language. However, programming languages fascinate him most. Consequently, his collection of self-written programs also includes a Forth compiler.
An irritating operating-system bug that frequently caused Atari computers to crash when editing BASIC programs gave him the idea to develop his own BASIC interpreter. At the same time, he set himself the goal of speeding up the rather slow Atari BASIC. Gradually, Turbo-BASIC was born.
On being asked what he intends to do with his winnings, Frank replied: "I want to acquire an Atari 130XE. The computer has 128 KiB of RAM, so programs can be larger, more demanding and therefore more user-friendly." He is also very interested in the 520ST, but adds: "Unfortunately I can't afford the 520ST at the moment; however, it would give me great pleasure to develop programs for that machine. The 68000 processor especially appeals to me."
Frank is still looking for an apprenticeship and a job. At present he is taking part in a military drill. He does not enjoy this at all; he has already been called up for the third time. For Turbo-BASIC Frank now wants to develop a compiler so that programs run even faster.
Frank does not make a great deal of fuss about himself or his passion for computers. He is a quiet, reclusive fellow. His hobbies, besides spending time with his Atari computer, are walking and reading.
When asked what his career aim and dream occupation are, his answer comes as if shot from a pistol: "Programmer." Perhaps he will now manage to find his dream job now that he has demonstrated his abilities with Turbo-BASIC. Experts from several software houses that examined the interpreter have already shown interest in Frank. No wonder - with his skill set he is a hot prospect for them. As we wish to help him fulfil his professional ambition, we will gladly forward any contact requests concerning this matter to him. (Eckard Schulz/wb)
Original German May-1986 "Happy Computer" article, translated
Happy Computer, May-1986 is available on Internet Archive.
I OCRed the document, and had the second original German article — giving an update on Frank, who has found a job as a programmer — translated into English. It is reproduced below.
The Interpreter as a Springboard to Success
Frank Ostrowski hadn't expected this. His Turbo-Basic XL shone as the Listing of the Month and earned him 2,000 Deutsche Marks. But that wasn't all: what began as a hobby even became the starting point for the long‑desired career.
A‑levels — military service — unemployment — no offers — no prospects. For three years, Frank Ostrowski waited in vain for his chance to work as a programmer. Despair began to set in. But resignation wasn't in his nature. He invested — namely, his skills. With that, he hoped to improve his prospects. In short: ambition, commitment, and a good dose of luck opened the door for the 25‑year‑old. His wish for a secure job with good prospects for a successful career became reality. And the fact that it finally worked out is thanks not least to his initiative in taking part in the Happy competition for Listing of the Month: after his "Turbo-Basic XL" appeared in the December issue of the previous year, the Düsseldorf‑based software company Integral Hydraulik took notice. They invited Frank Ostrowski by telephone to a personal meeting in Düsseldorf. They quickly reached an agreement.
Since the beginning of February, Frank has been sitting in his own office with a complete Atari ST system — the perfect environment for creative work. One of his first projects is a BASIC interpreter. At the moment, however, he is still trying to familiarise himself more thoroughly with the Atari ST, because: "My interpreter needs to be fast, which is why I'm programming it in assembler. It should also be able to work without line numbers, to allow structured programming."
In a personal conversation with Frank Ostrowski, his new boss Rolf Hilchner, and the head of industrial hydraulics development, Dr Horst Luhmer, it became clear that Frank has very good prospects at Integral Hydraulik. For example, the computer department is set to be expanded further. Good programmers are in demand. When asked about Frank's future within the company, Rolf Hilchner said: "It's not out of the question that Frank may, at a later stage, lead projects in order to realise specific software projects. Ultimately, that depends on his personal commitment and how he continues to develop." Frank therefore has excellent opportunities to make something of himself. He is being given the chance to take on responsibility and to influence the development of the software department. A truly excellent opportunity to seize the future by the forelock.
Integral Hydraulik currently employs around 470 people across two plants. However, only a small number of them work in Düsseldorf. That is where the "thinking machinery" is located. This is where prototypes and new hydraulic components are developed. Production of the parts — intended primarily for the automotive industry — takes place in Remagen.
Why did Integral Hydraulik actually enter the software business? Dr Horst Luhmer explains: "Integral Hydraulik is a modern and flexible company. Computers have played an important role in our development work for a long time. Because of our expertise, we eventually established our own software department." For which computers is software to be developed? Rolf Hilchner clarifies: "We have already completed several programs for Schneider computers, and now we are turning our attention to the Atari ST. Frank is already working on the BASIC interpreter."
At present, two full‑time programmers are working in the computer department, one of them being Frank. In addition, there are also freelance staff who work off‑site. Frank did not want to work as a freelancer, as after three years of unemployment he finally wanted solid ground under his feet. He has now achieved that, although it meant moving far away from home. Was it difficult for him to leave home? Frank Ostrowski reacts without hesitation: "No, not really. After all, I wanted to take up steady work with opportunities for development... and in the area around Hanover or Hamburg, I couldn't find anything suitable."
Frank's story shows that a competition like Listing of the Month is not only about prize money, but also a great opportunity to make a name for oneself as a programmer. And there are always companies looking for good programmers.
It was the large readership of Happy Computer that gave Frank Ostrowski his chance. Without his Listing of the Month, he would probably still be waiting in Hodenhagen. But Frank Ostrowski has no intention of resting on his laurels. He is already planning — once he has finished the interpreter — to write a matching compiler. We wish him the best of luck. (Werner Breuer)
Original German Wikipedia page, translated
Then I noticed that the German version of the Wikipedia page about Turbo-BASIC XL was the most interesting, as it provided the most technical details about what Turbo-BASIC XL can actually do much better than Atari BASIC. So I had the original German version translated into English. It is reproduced below.
Turbo-BASIC XL is a BASIC dialect developed for the Atari XL/XE that is backwards-compatible with Atari BASIC and is distinguished above all by its significantly faster processing speed and its commands for structured programming. The language was created by Frank Ostrowski, who later developed the GFA BASIC interpreter for the company GfA-Systemtechnik. Turbo-BASIC XL was first published in 1985 as the "Listing of the Month" in the magazine Happy Computer (Markt & Technik publishing house), and a compiler was later released as well.
Comparison with Atari BASIC > Backward compatibility with Atari BASIC
Turbo-BASIC XL implements all the commands of Atari BASIC and uses the same file format. As a result, Atari BASIC programs can usually be run directly under Turbo-BASIC XL without modification, but they execute roughly four times faster. This can mean that, for example, a game written in Atari BASIC may no longer be playable when run under Turbo-BASIC XL.
Another cause of incompatibilities is the different memory layout. At nearly 16 KiB, Turbo-BASIC XL is about twice the size of Atari BASIC. Nevertheless, around 34 KiB of program memory is available under Turbo-BASIC XL. This is roughly 2 KiB more than under Atari BASIC with DOS, because parts of Turbo-BASIC are stored in memory areas that Atari BASIC does not use. However, programmers often use these areas for machine-language subroutines. Such programs can only be made to run under Turbo-BASIC XL to a limited extent.
Comparison with Atari BASIC > Structured Programming
A major improvement over Atari BASIC is the introduction of commands for structured programming. Thus, REPEAT ... UNTIL, WHILE ... WEND, DO ... LOOP and IF ... ELSE ... ENDIF were added. With PROC name ... ENDPROC, you can define subroutines that are called using EXEC name.
In Turbo-BASIC XL, a program can be written entirely without GOTO statements. The few exceptional cases in which a direct jump within the program is still required can be handled using GO #label.
It is easy to recognise Turbo-BASIC XL as a clear precursor to GFA BASIC.
Comparison with Atari BASIC > Graphics Commands
Atari BASIC already included commands for setting the graphics mode and drawing points and lines. With Turbo-BASIC XL, you can also draw circles and ellipses, fill enclosed areas, and output text on the graphics screen. Using BPUT and BGET, memory blocks-such as images-can be saved to or loaded from an external storage device.
Turbo-BASIC XL likewise does not provide commands for programming player missiles (sprites), so as in Atari BASIC you must rely on PEEK and POKE instructions. However, the MOVE command allows entire memory blocks to be shifted, which at least simplifies the programming of player missiles to some extent.
Comparison with Atari BASIC > DOS Commands
With commands such as DIR, DELETE, RENAME, LOCK, and UNLOCK, Turbo-BASIC XL allows direct access to the disk drive without having to use the cryptic XIO calls (extended input/output, a special command in Atari BASIC). Being able to view the disk's directory directly is particularly helpful and makes program development considerably easier.
Comparison with Atari BASIC > General Commands and Functions
In Turbo-BASIC XL, you can work directly with hexadecimal numbers, and powerful commands for searching strings are available. There is also a range of commands and functions that, in Atari BASIC, can only be programmed through workarounds, such as DIV, MOD, CLS (clear screen), or PAUSE.
Comparison with Atari BASIC > Extended Editor
Turbo-BASIC XL uses the editor familiar from Atari BASIC, but it has been significantly expanded. By default, loops and IF-THEN-ELSE blocks are visually highlighted by being indented by two spaces, making programs easier to read. This feature can be disabled when printing listings on a printer or other external devices. Pressing one of the console keys (Option, Select, Start) can slow down the on-screen output of program code.
Additional commands have been added that allow entire program blocks to be deleted or renumbered, and DUMP can be used to output the variable table. With TRACE, the line numbers are displayed during program execution, making programs easier to debug.
AUTORUN.BAS
A BASIC program saved on the disk under the name AUTORUN.BAS is automatically loaded and started by Turbo-BASIC XL when the system boots. Under Atari BASIC, machine-language helper utilities were required for this. For the compiler (see below), compiled programs had to be saved under the name AUTORUN.CTB for the same 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 with Atari BASIC, this results in a speed increase by a factor of 10 to 12. In benchmarks, the Turbo-BASIC XL compiler was faster than all commercially available BASIC compilers for Atari home computers in 1986.
Distribution
Turbo-BASIC XL is one of the most successful programming languages and, after Atari BASIC, probably the most widespread BASIC dialect for Atari home computers. The commercial successors to Atari BASIC (BASIC A+, BASIC XL and BASIC XE) from Optimized Software Systems (OSS) were in some cases considerably more powerful in terms of available commands and, like Turbo-BASIC XL, relatively fast. However, these languages were only of limited use for commercial application development, as no compilers existed for them — and BASIC A+ did not even have a runtime library. In addition, these languages cost between 80 and 100 US dollars, whereas Turbo-BASIC XL and its compiler were practically free.
Trivia
At 18,108 bytes in length, Turbo-BASIC XL is one of the longest programs ever published by Happy Computer magazine for manual typing; normally, there was a size limit of around 10 KiB. Because the programs were printed in hexadecimal, more than 40,000 characters-including checksums-had to be entered for the interpreter. The compiler and runtime together were almost as large.
The interpreter listing was published three times by Happy Computer: first in issue 12/1985, then in the first Atari special issue (1986), and finally once more in the second Atari special issue (1988).
Because it was released as a type-in listing, Turbo-BASIC XL was mistakenly regarded as being in the public domain within the Atari community. However, there was never any official release by Markt & Technik. By the late 1980s, virtually every Atari user had a copy of Turbo-BASIC XL-very few of whom had typed in the program themselves or obtained it via a reader-service disk-so Turbo-BASIC XL is likely the most widely pirated program for the Atari XL/XE.
Frank Ostrowski originally developed his BASIC interpreter on an Atari 800. This version, however, was not released until 1986 under the name Turbo-BASIC v1.4 (without the "XL" suffix). It is of historical interest only, as by that time Atari 800 machines were rarely in use, and only about 23 KiB of memory was available for users' own programs.
Links & download section
From AtariWiki.org:
From Wikipedia:
- In German (most comprehensive article): Turbo-BASIC XL
- In English (focussing on performance): Turbo-BASIC XL
Knowledge base article: kb-software-0008-turbo-basic-xl-overview.html
REV. 001.
