AmigaBASIC
Encyclopedia
AmigaBASIC was an interpreted
Interpreter (computing)
In computer science, an interpreter normally means a computer program that executes, i.e. performs, instructions written in a programming language...

 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....

 implementation for the Amiga
Amiga
The Amiga is a family of personal computers that was sold by Commodore in the 1980s and 1990s. The first model was launched in 1985 as a high-end home computer and became popular for its graphical, audio and multi-tasking abilities...

, designed and written by 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...

. AmigaBASIC shipped with AmigaOS
AmigaOS
AmigaOS is the default native operating system of the Amiga personal computer. It was developed first by Commodore International, and initially introduced in 1985 with the Amiga 1000...

 versions 1.1 to 1.3. It succeeded Metacomco's ABasiC, which was included in AmigaOS 1.0 and 1.1, and was superseded by ARexx
ARexx
ARexx is an implementation of the REXX language for the Amiga, written in 1987 by William S. Hawes, with a number of Amiga-specific features beyond standard REXX facilities. Like most REXX implementations, ARexx is an interpreted language...

, a REXX
REXX
REXX is an interpreted programming language that was developed at IBM. It is a structured high-level programming language that was designed to be both easy to learn and easy to read...

-style scripting language, from AmigaOS version 2.0 onwards.

History and description

AmigaBASIC provided not only the common BASIC language, but also attempted to provide an easy-to-use API for the Amiga's unique graphics and sound capabilities. OBJECT commands, for example, made it easy to create moving objects – sprites
Sprite (computer graphics)
In computer graphics, a sprite is a two-dimensional image or animation that is integrated into a larger scene...

 and bobs that could be drawn with an external drawing program, Object editor, that was supplied with AmigaBASIC. An unusual feature of the language is that it theoretically allowed the calling of handwritten assembly language
Assembly language
An assembly language is a low-level programming language for computers, microprocessors, microcontrollers, and other programmable devices. It implements a symbolic representation of the machine codes and other constants needed to program a given CPU architecture...

 subprograms; however, this feature never worked because of a bug that failed to align the assembly language instructions correctly on a word boundary, as required by the Amiga's native MC68000 processor.

Compute!
COMPUTE!
Compute! was an American computer magazine that was published from 1979 to 1994, though it can trace its origin to 1978 in Len Lindsay's PET Gazette, one of the first magazines for the Commodore PET computer. In its 1980s heyday Compute! covered all major platforms, and several single-platform...

, a popular computer magazine published while AmigaBASIC was still being shipped, included many AmigaBASIC programs in their articles. Compute! readers could type the source code into the AmigaBASIC editor to add new software to their Amiga. The source code listings were typically implementations of simple programs such as rudimentary games, system and file utilities and desk accessories such as analog clocks and address books.

Many of today's successful computer programmers got their start on AmigaBASIC, including a few that work at Valve Software, the company that makes the Half-Life series of games.

AmigaBASIC itself was rendered obsolete because of incompatibilities with AmigaOS 2.0 and the hardware successors to the Motorola 68000
Motorola 68000
The Motorola 68000 is a 16/32-bit CISC microprocessor core designed and marketed by Freescale Semiconductor...

 CPU. Some incompatibilities were due to the disregard of programming guidelines set forth by Commodore. However, there were a number of third-party compiled BASIC languages released for the Amiga that could compile AmigaBASIC programs with minimal changes, like A/C BASIC or Cursor (see below). Some of these compiled BASICs continued to work with AmigaOS 2.0, and as they were compiled rather than interpreted, they generally ran much faster than the original.

Although AmigaBASIC was superseded by ARexx in AmigaOS 2.0, the two languages had very different functions and capabilities. Hobbyist programmers had changed by the time of this release and were more likely to be interested in incorporating existing third party applications into their programs than in writing new programs entirely from scratch. ARexx was seen as better fitting their needs than the older BASIC interpreter.

Noteworthy to say, the AmigaBasic was the first basic interpreter not to using line number
Line number
In computing, a line number is a method used to specify a particular sequence of characters in a text file. The most common method of assigning numbers to lines is to assign every line a unique number, starting at 1 for the first line, and incrementing by 1 for each successive line.In the C...

ing method, and adopting instead of it a more practical direct top-down approach of executing the instructions, and labels to indicate the GOTO instruction where to jump. It was also the first Microsoft interpreted language capable of calling OS functions and dynamic libraries through the command "LIBRARY". For example: LIBRARY Graphics.library command invokes the standard Amiga Graphics.library from which to call functions.

Hello World in AmigaBASIC


' Hello World for AmigaBASIC
PRINT "Hello world!"

You can go one better by adding the following line:

SAY TRANSLATE$ ("HELLO WORLD")

The Amiga will then say "Hello world" using speech synthesis
Speech synthesis
Speech synthesis is the artificial production of human speech. A computer system used for this purpose is called a speech synthesizer, and can be implemented in software or hardware...

 in addition to displaying it on screen.

Other BASIC languages for AmigaOS

  • A/C Basic by Absoft was a compiler for AmigaBASIC programs that turned them into native executables that could be run without AmigaBASIC or the program's source code being present.
  • ABasiC was a non-Microsoft Basic produced by Metacomco
    MetaComCo
    MetaComCo was a computer systems software company started in 1981 and based in Bristol, England by Peter Mackeonis and Derek Budge.MetaComCo's first product was an MBASIC compatible interpreter for IBM PC's, which was licensed by Peter Mackeonis to Digital Research in 1982, and issued as the...

     that was shipped with Amiga 1000 systems with Workbench 1.0, before AmigaBasic was available. ABasiC provided a more traditional Basic programming environment, requiring numbered lines and lacking support for Intuition
    Intuition (Amiga)
    Intuition is the windowing system and user interface engine of AmigaOS. It was developed almost entirely by RJ Mical. Intuition should not be confused with Workbench, the AmigaOS spatial file manager, which relies on Intuition for handling windows and input events.Users may remember the initial...

     windowing. ABasiC did provide very good support for Amiga graphics and sound features otherwise, however.
  • ACE was an AmigaBASIC compiler, written by David Benn. The compiler produced Motorola 68000
    Motorola 68000
    The Motorola 68000 is a 16/32-bit CISC microprocessor core designed and marketed by Freescale Semiconductor...

     assembly language
    Assembly language
    An assembly language is a low-level programming language for computers, microprocessors, microcontrollers, and other programmable devices. It implements a symbolic representation of the machine codes and other constants needed to program a given CPU architecture...

     which could be assembled and linked into native Amiga executables. The primary benefits were performance, lower run-time memory requirements, the ability to execute software without AmigaBASIC, and the ability to distribute software without having to release the actual source code. ACE also provided additional language constructs to expand upon the capability of the AmigaBASIC language.
  • AMOS BASIC, developed by François Lionet
    François Lionet
    François Lionet is a French programmer, best known for having written AMOS BASIC on the Amiga and STOS BASIC on the Atari ST . He has also written several games on these platforms....

    , was a commercial language which provided extensive support for the Amiga's graphics hardware and was designed primarily for games programming. It was used to write several commercial games and educational software.
  • Blitz BASIC
    Blitz BASIC
    Blitz BASIC refers to the programming language dialect that was interpreted by the first Blitz compilers, devised by New Zealand-based developer Mark Sibly. Being derived from BASIC, Blitz syntax was designed to be easy to pick-up for beginners first learning to program...

     was a direct commercial competitor to AMOS, published by Acid Software. Like AMOS, it was targeted at games programming. Its successor, Blitz Basic 2, was used to write several commercial games, including the popular Team17
    Team17
    Team17 Software Ltd. is a video game company best known for developing the Worms series of games , but it has made many other games, notably Superfrog and the Alien Breed series. Most of its early releases were on the Amiga home computer system and featured trademark smooth scrolling, and detailed...

     game Worms
    Worms (computer game)
    Worms is a series of turn-based computer games developed by British company Team17 Software. Players control a small platoon of earthworms across a deformable landscape, battling other computer- or player-controlled teams...

    .
  • Cursor was another AmigaBASIC editor and compiler.
  • GFA BASIC
    GFA BASIC
    GFA BASIC is a dialect of the BASIC programming language, by Frank Ostrowski. The first version was finished in 1986. In the mid and late 80s, it became very popular for the Atari ST homecomputer range . Later, ports for the Commodore Amiga, DOS and Windows were marketed...

    , originally developed for 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...

    , was ported to the Amiga platform by its author, 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...

    .
  • HiSoft BASIC was another BASIC variant ported from the Atari ST to the Amiga.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK