GFA BASIC
Encyclopedia
GFA BASIC is a dialect
Programming language dialect
A dialect of a programming language is a variation or extension of the language that does not change its intrinsic nature. With languages such as Scheme and Forth, standards may be considered insufficient, inadequate or even illegitimate by implementors, so often they will deviate from the...

 of the BASIC
BASIC
BASIC is a family of general-purpose, high-level programming languages whose design philosophy emphasizes ease of use - the name is an acronym from Beginner's All-purpose Symbolic Instruction Code....

 programming language
Programming language
A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely....

, by Frank Ostrowski
Frank Ostrowski
Frank Ostrowski is a German programmer.After his time with the German Federal Armed Forces, Frank Ostrowski was unemployed for three years. During this time, he developed Turbo-Basic XL for the Atari 8-bit family. It was published in the German language Happy Computer Magazine in December 1985...

. The first version was finished in 1986. In the mid and late 80s, it became very popular for the Atari
Atari
Atari is a corporate and brand name owned by several entities since its inception in 1972. It is currently owned by Atari Interactive, a wholly owned subsidiary of the French publisher Atari, SA . The original Atari, Inc. was founded in 1972 by Nolan Bushnell and Ted Dabney. It was a pioneer in...

 ST
Atari ST
The Atari ST is a home/personal computer that was released by Atari Corporation in 1985 and commercially available from that summer into the early 1990s. The "ST" officially stands for "Sixteen/Thirty-two", which referred to the Motorola 68000's 16-bit external bus and 32-bit internals...

 homecomputer range (since the ST BASIC shipped with them was more primitive). Later, ports for the Commodore Amiga, DOS
DOS
DOS, short for "Disk Operating System", is an acronym for several closely related operating systems that dominated the IBM PC compatible market between 1981 and 1995, or until about 2000 if one includes the partially DOS-based Microsoft Windows versions 95, 98, and Millennium Edition.Related...

 and Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

 were marketed. Although theoretically still available today, it has been superseded by several other programming languages.

GFA BASIC (as of version 2.0, the most popular one) was, by the standards of its time, a very modern programming language. It did without line numbers, one line was equivalent to one command, and the IDE, to greatly simplify maintenance of long listings, even allowed for code folding
Folding editor
A folding editor is a text editor which supports text folding or code folding, a mechanism allowing the user to hide and reveal blocks of text—usually named...

. It had a reasonable range of structured programming
Structured programming
Structured programming is a programming paradigm aimed on improving the clarity, quality, and development time of a computer program by making extensive use of subroutines, block structures and for and while loops - in contrast to using simple tests and jumps such as the goto statement which could...

 commands (procedures
Subroutine
In computer science, a subroutine is a portion of code within a larger program that performs a specific task and is relatively independent of the remaining code....

 with local variables and parameter passing by value or reference, loop constructs, etc.). Modularization was only rudimentary, making GFA BASIC 2.0 best suited for small and medium-sized projects.

GFA BASIC 3.0 included a number of improvements over 2.0 (including support for user-defined structures and other agglomerated data types), the final released version being 3.6.

The GFA BASIC interpreter was compact and reasonably fast, and was shipped with a runtime that could be distributed freely with your own programs. When a compiler was made available, execution speed could be increased by another factor of roughly 2. GFA BASIC allowed extreme optimisations for execution speed, supporting some direct assembler-level calls, and even the ability to embed sections of assembler code directly within the BASIC source code.
GFA BASIC integrated neatly into GEM
Graphical Environment Manager
GEM was a windowing system created by Digital Research, Inc. for use with the CP/M operating system on the Intel 8088 and Motorola 68000 microprocessors...

 and TOS
Atari TOS
TOS is the operating system of the Atari ST range of computers. This range includes the 520 and 1040ST, their STF/M/FM and STE variants and the Mega ST/STE. Later, 32-bit machines were developed using a new version of TOS, called MultiTOS, which allowed multitasking...

, the Atari ST
Atari ST
The Atari ST is a home/personal computer that was released by Atari Corporation in 1985 and commercially available from that summer into the early 1990s. The "ST" officially stands for "Sixteen/Thirty-two", which referred to the Motorola 68000's 16-bit external bus and 32-bit internals...

's operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

, providing menus, dialog boxes, and mouse control (see WIMP
WIMP (computing)
In human–computer interaction, WIMP stands for "windows, icons, menus and pointers", denoting a style of interaction using these elements. It was coined by Merzouga Wilberts in 1980...

 interface).

Although the source code was usually stored in a tokenized version to save room on disk, pieces of code could also be saved in ASCII
ASCII
The American Standard Code for Information Interchange is a character-encoding scheme based on the ordering of the English alphabet. ASCII codes represent text in computers, communications equipment, and other devices that use text...

 form, and as such made it possible to set up reusable libraries
Library (computer science)
In computer science, a library is a collection of resources used to develop software. These may include pre-written code and subroutines, classes, values or type specifications....

. The tokenized source files were a benefit in other ways too—for instance, GFA BASIC allowed users to include binary data in their BASIC code via an "INLINE" statement, and could even be integrated with the GFA Assembler to allow users to develop machine code programs inside INLINE statements in order to accelerate particular areas of a program. It also meant that the BASIC interpreter (and later the compiler) didn't need to tokenise a program when it was loaded, which would have been a significant load-time overhead for some of the larger GFA BASIC programs that were written.

Operating Systems

Atari

The Atari ST had an enthusiastic user-base in Germany, GFA's home market, where the ST was regarded as "the poor man's Apple Mac". The strength of this local market helped to encourage a number of German companies to develop sophisticated technically-oriented tools and applications for the ST (such as Calamus
Calamus (DTP)
Calamus is a desktop publishing application, built for Atari computer. The first version was released on July 1st, 1987 by the former German software company DMC GmbH...

, an advanced desktop publishing system almost unknown outside of Germany).

Many Atari ST users were introduced to GFA BASIC through magazine articles and tutorials in popular Atari magazines such as ST Format
ST Format
ST Format was a computer magazine in the UK covering the Atari ST during the late 1980s and early 1990s. Like other members of the Future Publishing Format stable - PC Format and Amiga Format, for instance, it combined software and hardware reviews with columnists, letters pages and a cover...

, and free copies were sometimes given away on these magazines' cover discs.

DOS

GFA BASIC for DOS allowed users to write programs that would run under DOS with crude Windows-like GUI interface support. This was useful for writing utilities for low-level disc operations, without the user being restricted to a command-line interface. Porting a GFA program to DOS usually required changing colour values to match the DOS system pallette.

Windows

GFA BASIC for Windows included a thorough implementation of the Windows API calls. Although the product had a number of technical advantages over some of the more popular products (the combination of an "easy" language with robust architecture and fast, compiled, reliable code), it didn't achieve great success in the Windows market. Software professionals who wanted high-performance code tended to stay with the more "technical" languages, and to regard BASICs as inferior. For professionals who didn't have a problem with BASIC, a number of well-established software tool vendors such as Microsoft
Microsoft
Microsoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...

 and Borland
Borland
Borland Software Corporation is a software company first headquartered in Scotts Valley, California, Cupertino, California and finally Austin, Texas. It is now a Micro Focus subsidiary. It was founded in 1983 by Niels Jensen, Ole Henriksen, Mogens Glad and Philippe Kahn.-The 1980s:...

 were actively promoting new "visual" programming systems such as Visual Basic
Visual Basic
Visual Basic is the third-generation event-driven programming language and integrated development environment from Microsoft for its COM programming model...

. These allowed users to create windows and dialog boxes populated by standard components (text, buttons, frame outlines) with the help of a drag-and-drop interface and object-oriented editing.

One of the advantages of GFA BASIC for Windows was that the compiler (sold separately) could create stand-alone .exe files, and also included a relatively easy option for creating Dynamic Link Library (.DLL) files for Windows. This allowed a user to write and test routines within GFA Basic, export them as functions to a Windows .DLL file, and then access those pre-compiled functions from within other tools or programs, such as Visual Basic 3.0 (which was unable to produce compiled code itself). This feature allowed GFA BASIC to be used as a "number-crunching" add-on product for Visual Basic, for writing high-speed routines for applications such as database sorting or media signal processing that would have been impractical under the then-current version of VB.

GFA BASIC did not have the company recognition or product recognition factors of companies such as Microsoft and Borland in the US market, and as a simple text-based code creation system, it lacked the exciting new "visual" user interfaces of its better-known competitors. Although GFAfW was developed further to include support for Visual Basic's components, their use under GFA was more technical than under VB. Without a large marketing budget, or a clear reason why journalists should write about it, GFA BASIC for Windows remained a comparatively obscure product.

Trivia

The name is derived from the company ("GFA Systemtechnik GmbH", in Kiel
Kiel
Kiel is the capital and most populous city in the northern German state of Schleswig-Holstein, with a population of 238,049 .Kiel is approximately north of Hamburg. Due to its geographic location in the north of Germany, the southeast of the Jutland peninsula, and the southwestern shore of the...

 and Düsseldorf
Düsseldorf
Düsseldorf is the capital city of the German state of North Rhine-Westphalia and centre of the Rhine-Ruhr metropolitan region.Düsseldorf is an important international business and financial centre and renowned for its fashion and trade fairs. Located centrally within the European Megalopolis, the...

), which distributed the software. GFA is an acronym for "Gesellschaft für Automatisierung" i.e. "Company for Automatization".

In a time before scanners and online help, some editions of the GFA manual came printed black on red paper, to avoid successful photocopying and bootlegging.

GFA Basic was widely used to quickly create editors by game developers. For example, Éric Chahi
Eric Chahi
Éric Chahi is a French computer game designer best known as the creator of Another World .- Career :Éric Chahi started programming on Oric Atmos and Amstrad during 1983 for the company Loriciels...

 wrote a game editor in GFA basic to create his game Another World
Another World (video game)
Another World, also known as Out of This World in North America and Outer World in Japan, is a 1991 cinematic platformer designed and developed by Eric Chahi...

, including scene design and game scripting; only the game engine (polygon rendering and music) was done in assembler. This editor was used to make all ports of the game, including console ones and the collector edition for Windows released in 2006.

External links

  • Official web site (off line since 2002). Archive.
  • GFA-Basic Community
  • GFA-BASIC 32 for Windows — Free Community version
  • Atari GFA Basic 3 (LST format) to Java 1.0 converter
  • The UnOfficial Home of GFA-Basic (Atari ST)
  • GokMasE´s GFA Page — links / source / manuals - Another site with resources and links for GFA Basic on the Atari ST
    Atari ST
    The Atari ST is a home/personal computer that was released by Atari Corporation in 1985 and commercially available from that summer into the early 1990s. The "ST" officially stands for "Sixteen/Thirty-two", which referred to the Motorola 68000's 16-bit external bus and 32-bit internals...

  • RUN! Software — comprehensive IDE, application builder, runonly interpreter, library with new features and bugfixes (site German, docs English)
  • X11-Basic — Interpreter and compiler with graphics and syntax similar to the Atari ST
    Atari ST
    The Atari ST is a home/personal computer that was released by Atari Corporation in 1985 and commercially available from that summer into the early 1990s. The "ST" officially stands for "Sixteen/Thirty-two", which referred to the Motorola 68000's 16-bit external bus and 32-bit internals...

     implementation of GfA Basic.
  • http://tigen.ti-fr.com/gfabasic/index.php — GFA Basic on TI89! (French)
  • http://www.people.freenet.de/p.hinz.kunz/index_e.html Code and downloads (GFA-Basic for Windows 32-Bit)
  • http://www.vistoso.de/jh/programmer.html Code and Downloads for Windows 16-bit and 32-bit (German)
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK