AmigaBASIC was an
interpretedIn computer science, an interpreter is a computer program which reads source code written in a high-level programming language, transforms the code to machine code, and executes the machine code. Using an interpreter, a single source file can produce equal results even in vastly different systems...
BASICIn computer programming, BASIC is a family of high-level programming languages. The original BASIC was designed in 1964 by John George Kemeny and Thomas Eugene Kurtz at Dartmouth in New Hampshire, USA to provide computer access to non-science students...
programming languageA programming language is an artificial language designed to express computations that can be performed by a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine, to express algorithms precisely, or as a mode of human...
implementation for the
AmigaThe Amiga was a family of personal computers originally developed by Amiga Corporation. Development on the Amiga began in 1982 with Jay Miner as the principal hardware designer. Commodore International bought Amiga Corporation and introduced the machine to the market in 1985...
, designed and written by
MicrosoftMicrosoft Corporation is a multinational computer technology corporation that develops, manufactures, licenses, and supports a wide range of software products for computing devices...
. AmigaBASIC shipped with
AmigaOSAmigaOS 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 ABasiC, which was included in AmigaOS 1.0 and 1.1, and it was replaced with
ARexxARexx 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
REXXREXX is an interpreted programming language which was developed at IBM. It is a structured high-level programming language which was designed to be both easy to learn and easy to read...
-style scripting language, from AmigaOS version 2.0 onwards.
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.
AmigaBASIC was an
interpretedIn computer science, an interpreter is a computer program which reads source code written in a high-level programming language, transforms the code to machine code, and executes the machine code. Using an interpreter, a single source file can produce equal results even in vastly different systems...
BASICIn computer programming, BASIC is a family of high-level programming languages. The original BASIC was designed in 1964 by John George Kemeny and Thomas Eugene Kurtz at Dartmouth in New Hampshire, USA to provide computer access to non-science students...
programming languageA programming language is an artificial language designed to express computations that can be performed by a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine, to express algorithms precisely, or as a mode of human...
implementation for the
AmigaThe Amiga was a family of personal computers originally developed by Amiga Corporation. Development on the Amiga began in 1982 with Jay Miner as the principal hardware designer. Commodore International bought Amiga Corporation and introduced the machine to the market in 1985...
, designed and written by
MicrosoftMicrosoft Corporation is a multinational computer technology corporation that develops, manufactures, licenses, and supports a wide range of software products for computing devices...
. AmigaBASIC shipped with
AmigaOSAmigaOS 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 ABasiC, which was included in AmigaOS 1.0 and 1.1, and it was replaced with
ARexxARexx 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
REXXREXX is an interpreted programming language which was developed at IBM. It is a structured high-level programming language which was designed to be both easy to learn and easy to read...
-style scripting language, from AmigaOS version 2.0 onwards.
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 -
spritesIn computer graphics, a sprite is a two-dimensional/three-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 languageAssembly languages are a family of low-level languages for programming computers, microprocessors, microcontrollers, and other integrated circuits. They implement a symbolic representation of the numeric machine codes and other constants needed to program a particular 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! 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, 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 by being incompatible with AmigaOS 2.0 and also hardware based on successors to the
Motorola 68000The Motorola 68000 is a 16/32-bit
CISC microprocessor core designed and marketed by Freescale Semiconductor...
CPU due to its neglect of some 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, 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, so it is not exactly correct to say that ARexx "replaced" AmigaBASIC.
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 actually say "Hello, world." in addition to displaying it on screen.
Other BASIC languages for AmigaOS
- 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...
ABasiC was a non-Microsoft Basic 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 IntuitionThe Amiga computer was launched by Commodore in 1985 with a GUI called Workbench based on an internal engine which drives all the input events called Intuition, and developed almost entirely by RJ Mical. Users may remember the initial releases for their garish blue/orange/white/black palettes,...
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
The Motorola 68000 is a 16/32-bit
CISC microprocessor core designed and marketed by Freescale Semiconductor...
assembly languageAssembly languages are a family of low-level languages for programming computers, microprocessors, microcontrollers, and other integrated circuits. They implement a symbolic representation of the numeric machine codes and other constants needed to program a particular 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.
- 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.
- Cursor was another AmigaBASIC editor and compiler.
- 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 80's, 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 STThe Atari ST is a home/personal computer that was commercially available from 1985 to the early 1990s. It was released by Atari Corporation in 1985...
, was ported to the Amiga platform by its author, Frank OstrowskiFrank 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.
- AMOS BASIC
AMOS BASIC is a dialect of the BASIC programming language implemented on the Amiga computer. AMOS BASIC was published by Europress Software and originally written by François Lionet with Constantin Sotiropoulos.- History :...
, developed by François LionetFranç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 is a commercial compiler for the BASIC programming language. Originally developed on the Amiga, Blitz BASIC compilers are now available on several platforms...
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 Team17Team17 Software is a video game company currently based in Ossett, West Yorkshire, United Kingdom. They are best known for developing the Worms series of games , but they have made many other games, notably Superfrog and the Alien Breed series...
game WormsWorms 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...
.
Example AmigaBASIC code