Skip to content

GFA BASIC

The structured BASIC that ran the Atari ST

Frank Ostrowski's GFA BASIC, from GFA Systemtechnik of West Germany, arrived on the Atari ST in 1986. It had no line numbers, named procedures with local variables, full GEM access and remarkable speed for an interpreter, and it became one of the ST's most widely used languages. Version 3 followed on the ST and the Amiga, then versions for MS-DOS and Windows.

In late 1986 a hobbyist in the Netherlands sent two programs to an American Atari ST programming contest. The magazine running it, COMPUTE!’s Atari ST, had never heard of the language they were written in: a German BASIC called GFA BASIC, whose manual and even error messages were still in German. The editors wrote to the publisher for a copy and were, in their words, “impressed”. When the English version came out a few months later, George Miller’s review called it “an astonishing language, beyond BASIC in many ways”. GFA BASIC had no line numbers, named procedures with their own local variables, direct access to the ST’s GEM windows and menus, and an interpreter so fast that Miller thought it matched some compiled languages. Within two years Antic called it “one of the most widely used languages for the ST, particularly by hobbyist programmers”.

Fast facts

  • Author: Frank Ostrowski, of West Germany.
  • Publisher: GFA Systemtechnik, Germany. Distributed in Britain by the Glentop Press and later GFA Data Media (UK), and in the United States by MichTron and later Antic Software.
  • Released: 1986, on the Atari ST.
  • Prices: £59.95 in Britain in 1987, with a compiler at £69.95; $79.95 in the United States.
  • Later versions: GFA BASIC 3.0 for the ST and the Amiga (both on sale by 1989), 3.5 on the ST (by 1993), and versions for MS-DOS and Windows.

Frank Ostrowski

Ostrowski was already known on Atari’s 8-bit machines. His Turbo-BASIC XL, for XL and XE machines with 64K, was a free public domain language passed around by user groups and bulletin boards, with features “somewhere between Atari BASIC and BASIC XL”. It had a compiler that would also compile ordinary Atari BASIC programs, and because Turbo-BASIC itself was free, programs needed no paid run-time package. Antic told beginners in 1987 to get Atari BASIC Rev. C and Turbo-BASIC XL, and added that “Ostrowski is also the author of GFA BASIC for the Atari ST”.

For the ST, according to COMPUTE!’s Atari ST, Ostrowski wanted “an entirely new form of BASIC”, not “simply another version of an old language”. He took structured statements from Pascal and Modula-2, but kept what made BASIC pleasant: you could type a line, run the program at once and see what happened.

What made it different

The ST came with Atari’s own ST BASIC, which gave few ways to use the machine’s windows, menus, alerts and mouse without “a lot of strange POKEs”. GFA BASIC did away with most of that. Its features, as COMPUTE!’s Atari ST described them in 1987:

  • No line numbers. GOTO and GOSUB jumped to named labels instead.
  • Procedures. PROCEDURE defined a named routine that took parameters and could have local variables, so a useful routine could be dropped into any program “without fear of variable conflicts”.
  • Loops. As well as FOR–NEXT, there were DO–LOOP, WHILE–WEND and REPEAT–UNTIL.
  • One statement per line, with indentation to show structure.
  • Syntax checking as you typed. A mistake rang a bell and had to be fixed before the editor let you move on.
  • The whole machine. Commands built menus and read the mouse, and BIOS, XBIOS, GEMDOS, VDISYS and GEMSYS reached the operating system underneath. Other commands flipped between screens, moved blocks of memory and set up raster interrupts, which Miller called “unheard-of in BASIC or any other high-level interpreted language”.

It was small and quick. The interpreter took about 55K of memory, against about 150K for ST BASIC, and an empty FOR–NEXT loop of 10,000 passes ran in under half a second with 11-digit accuracy. Miller described an arcade game written in it that had “vertical fine scrolling, simulated multicolor sprites, multiple-object animation, you name it”. Finished programs ran through a run-time module that GFA placed in the public domain, so anyone could run them. A compiler, announced for $79.95, produced stand-alone programs and promised speeds 30 to 300 times faster.

A GFA BASIC 3 program looks like this. The % suffix marks an integer variable, a line starting with ' is a comment, and @ calls a procedure:

BASIC
' count down using a procedure with a local variable
@countdown(5)
PRINT "Lift off!"
END
'
PROCEDURE countdown(n%)
  LOCAL i%
  FOR i%=n% DOWNTO 1
    PRINT i%
  NEXT i%
RETURN

How it spread

By February 1987 Glentop’s British advertisements claimed “over 12,000 copies sold” across Europe and called GFA BASIC “rapidly becoming the accepted standard Basic for the Atari ST throughout Europe”. In France, the publisher Micro Application and ST Magazine ran a GFA programming competition with Ostrowski presiding over the jury. Antic made it its first choice for ST program listings, and published The GFA BASIC Book, a 306-page collection of Ostrowski’s own tips and example programs.

Games were written in it too. Slaygon, a 3D maze game from Microdeal at £19.95, was “written in GFA Basic”, Atari ST User noted in May 1988; its reviewer “wasn’t at all surprised to find it was written in GFA Basic and compiled”, given how little animation there was. Most GFA programs, though, were the utilities, type-in listings and hobby projects that filled the ST magazines.

The cover disk of the first issue of ST Format, in August 1989, carried the whole GFA BASIC 2 programming environment. GFA’s own later advertising described the strategy: GFA and ST Format gave away full versions of GFA BASIC, GFA Assembler and GFA Raytrace, a policy meant to “let ST Format readers decide which is the best programming language and CAD program”, and as a result “thousands of ST Format readers now use GFA-BASIC”. Version 2 went on circulating long after it was superseded: in 1993 the public domain library LAPD, with permission, was selling the full GFA BASIC 2 with a tutorial through Atari ST User, and by 1995 its disk included a compiler.

GFA BASIC 3 and the Amiga

Version 3.0 took the language further. GFA Data Media (UK)’s 1989 advertisements for the ST version, at £59.95, listed SELECT/CASE, multi-line FUNCTION definitions, EXIT IF, timed EVERY and AFTER interrupts, INLINE machine code and sorting commands. A compiler and an assembler followed that summer.

The same version came to the Amiga. Antic Software advertised Amiga GFA BASIC 3.0 in early 1989 at $99.95, with “over 300 powerful commands”, a 400-page manual, a run-time interpreter and “execution times comparable to C”. Ahoy!’s AmigaUser pointed out that because the Amiga version was compatible with the ST one, the books already written for ST owners served Amiga owners as well. On the Amiga, GFA BASIC competed with AMOS, HiSoft BASIC and later Blitz Basic 2. Reviewing Blitz in 1993, Amiga Computing’s Paul Overaa thought any newcomer faced “an uphill struggle given that Amos, HiSoft Basic and GFA Basic have already captured most of the potential market”.

MS-DOS, Windows and after

GFA also moved to the PC. In May 1992 the Greek magazine PC Master reviewed GFA BASIC for Windows, noting that programs written in it could be recompiled with the MS-DOS GFA BASIC compiler to run under DOS. On the ST, version 3.5 was on sale by 1993. According to later public accounts, the final 32-bit Windows version was released in 2001, and from the end of 2002 the company, by then GFA Software Technologies, stopped answering orders and customer enquiries. Groups of users have maintained both the Atari and the Windows versions since.

Sources

  • COMPUTE!’s Atari ST Disk & Magazine, vol. 2 no. 4, April 1987, from p. 16: George Miller, “GFA BASIC” (the Dutch contest entries, MichTron, Ostrowski’s aims, features, memory use, speed, the run-time module, the compiler, $79.95).
  • Atari ST User: February 1987 (Glentop Press advertisement, 12,000 copies, £59.95, compiler £69.95); May 1988 (Slaygon review, Microdeal, £19.95); July 1989, p. 118 (GFA Data Media (UK) advertisement for GFA BASIC 3.0, £59.95, and its command list; compiler and assembler due in July); November 1993 (LAPD library advertisement: the full GFA BASIC 2, distributed with permission).
  • Antic: June 1987 (Turbo-BASIC XL, and Ostrowski as author of GFA BASIC); August 1988 (The GFA BASIC Book, and GFA BASIC as “one of the most widely used languages for the ST”).
  • ST Magazine (France) issue 12, September 1987: the Micro Application and ST Magazine GFA competition, its jury presided over by Ostrowski.
  • The Games Machine issue 5, April 1988: Slaygon, with a note that GFA BASIC “was created by GFA Systemtechnik”.
  • Ahoy!’s AmigaUser issue 6, February 1989: Amiga GFA BASIC 3.0, $99.95, compatibility with the ST version.
  • AmigaWorld, March 1989: Antic Software advertisement for Amiga GFA BASIC 3.0.
  • ST Format: issue 3, October 1989 (GFA BASIC 2 “given away free on Cover Disk 1”); issue 47, June 1993 (GFA Data Media UK advertisement for GFA-BASIC 3.5 on the cover-disk giveaways); issue 68, March 1995 (LAPD advertisement: GFA BASIC 2 with tutorial and compiler).
  • Amiga Computing, July 1993: Paul Overaa’s Blitz Basic 2 review (AMOS, HiSoft Basic and GFA Basic).
  • PC Master (Greece) issue 29, May 1992: GFA BASIC for Windows and the DOS compiler.
  • Wikipedia (German), “GFA-BASIC” (web, secondary): the final Windows versions, the company’s silence from late 2002, and the community versions. https://de.wikipedia.org/wiki/GFA-BASIC

See also

Checked. Verified against primary sources and signed off by a person.