AmigaBASIC
Encyclopedia
AmigaBASIC was an interpreted
BASIC
programming language
implementation for the Amiga
, designed and written by Microsoft
. AmigaBASIC shipped with AmigaOS
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
, a REXX
-style scripting language, from AmigaOS version 2.0 onwards.
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
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!
, 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
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
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:
You can go one better by adding the following line:
The Amiga will then say "Hello world" using speech synthesis
in addition to displaying it on screen.
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 – spritesSprite (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 MetacomcoMetaComCoMetaComCo 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 IntuitionIntuition (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 68000Motorola 68000The Motorola 68000 is a 16/32-bit CISC microprocessor core designed and marketed by Freescale Semiconductor...
assembly languageAssembly languageAn 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 LionetFranç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 BASICBlitz BASICBlitz 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 Team17Team17Team17 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 WormsWorms (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 BASICGFA BASICGFA 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 STAtari STThe 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 OstrowskiFrank 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.
External links
- COMPUTE!, August 1987, pg 89 Fractal Mountains For Amiga – Source code listing of a fractal mountain generator.
- COMPUTE!, October 1987, pg 71 A Button Command – Source code listing for enhanced buttons, such as radio-style buttons.
- COMPUTE!, November 1987, pg 86 Masked Input For The Amiga – Source code listing for a masked text input box.
- Amiga Coding! – Extra information about AmigaBASIC.