AmigaBASIC
   HOME

TheInfoList



OR:

AmigaBASIC is an interpreted
BASIC BASIC (Beginners' All-purpose Symbolic Instruction Code) is a family of general-purpose, high-level programming languages designed for ease of use. The original version was created by John G. Kemeny and Thomas E. Kurtz at Dartmouth College ...
programming language A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language. The description of a programming ...
implementation for the
Amiga Amiga is a family of personal computers introduced by Commodore in 1985. The original model is one of a number of mid-1980s computers with 16- or 32-bit processors, 256 KB or more of RAM, mouse-based GUIs, and significantly improved graphi ...
, designed and written by
Microsoft Microsoft Corporation is an American multinational technology corporation producing computer software, consumer electronics, personal computers, and related services headquartered at the Microsoft Redmond campus located in Redmond, Washing ...
. AmigaBASIC shipped with
AmigaOS AmigaOS is a family of proprietary native operating systems of the Amiga and AmigaOne personal computers. It was developed first by Commodore International and introduced with the launch of the first Amiga, the Amiga 1000, in 1985. Early version ...
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 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. Program ...
, a
REXX Rexx (Restructured Extended Executor) is a programming language that can be interpreted or compiled. It was developed at IBM by Mike Cowlishaw. It is a structured, high-level programming language designed for ease of learning and reading. ...
-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 An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how ...
for the Amiga's unique graphics and sound capabilities. OBJECT commands, for example, made it easy to create moving objects – sprites 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 In computer programming, assembly language (or assembler language, or symbolic machine code), often referred to simply as Assembly and commonly abbreviated as ASM or asm, is any low-level programming language with a very strong correspondence be ...
subprograms; however, this feature never worked because of a bug that failed to align the assembly language instructions correctly on a
word A word is a basic element of language that carries an semantics, objective or pragmatics, practical semantics, meaning, can be used on its own, and is uninterruptible. Despite the fact that language speakers often have an intuitive grasp of w ...
boundary, as required by the Amiga's native
MC68000 The Motorola 68000 (sometimes shortened to Motorola 68k or m68k and usually pronounced "sixty-eight-thousand") is a 16/32-bit complex instruction set computer (CISC) microprocessor, introduced in 1979 by Motorola Semiconductor Products Sector ...
processor. ''
Compute! ''Compute!'' (), often stylized as ''COMPUTE!'', was an American home computer magazine that was published from 1979 to 1994. Its origins can be traced to 1978 in Len Lindsay's ''PET Gazette'', one of the first magazines for the Commodore PET c ...
'', a popular computer magazine published while AmigaBASIC was still being shipped, included many AmigaBASIC type in programs in their articles. These were typically implementations of simple programs such as rudimentary games, system and file
utilities A public utility company (usually just utility) is an organization that maintains the infrastructure for a public service (often also providing a service using that infrastructure). Public utilities are subject to forms of public control and r ...
and
desk accessories A desk accessory (DA) in computing is a small transient or auxiliary application that can be run concurrently in a desktop environment with any other application on the system. Early examples, such as Sidekick and Macintosh desk accessories, used s ...
such as analog clocks and address books. AmigaBASIC itself was rendered obsolete because of incompatibilities with AmigaOS 2.0 and the hardware successors to the
Motorola 68000 The Motorola 68000 (sometimes shortened to Motorola 68k or m68k and usually pronounced "sixty-eight-thousand") is a 16/32-bit complex instruction set computer (CISC) microprocessor, introduced in 1979 by Motorola Semiconductor Products Sector ...
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 AmigaOS 2.0's release and were more likely to be interested in scripting existing third party applications than in writing new programs entirely from scratch. ARexx was seen as better fitting their needs than BASIC. Along with Microsoft's very similar BASIC for the
Macintosh The Mac (known as Macintosh until 1999) is a family of personal computers designed and marketed by Apple Inc., Apple Inc. Macs are known for their ease of use and minimalist designs, and are popular among students, creative professionals, and ...
, AmigaBASIC was the first
BASIC interpreter A BASIC interpreter is an interpreter that enables users to enter and run programs in the BASIC language and was, for the first part of the microcomputer era, the default application that computers would launch. Users were expected to use the BAS ...
from Microsoft to not require
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 increm ...
s, adopting instead a top-down approach to executing the
lines of code Source lines of code (SLOC), also known as lines of code (LOC), is a software metric used to measure the size of a computer program by counting the number of lines in the text of the program's source code. SLOC is typically used to predict the am ...
, and
labels A label (as distinct from signage) is a piece of paper, plastic film, cloth, metal, or other material affixed to a container or product, on which is written or printed information or symbols about the product or item. Information printed dir ...
to indicate the GOTO instruction where to jump. However programs that contained line numbers were able to run; the line numbers were simply treated as labels for the purpose of flow control. 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 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 products. A text-to-speech (TTS) system converts normal languag ...
in addition to displaying it on screen.


References

;Notes * Amiga Basic by Paul Fellows, published by
Dabs Press dabs.com was an e-commerce retailer in the United Kingdom. It was one of the UK's largest internet retailers of IT and technology products. From 2006 until its closure in 2016, it was a subsidiary of BT Group. History As an independent compan ...
, December 1992, * Amiga Basic by Henning Horst Rainer, published by Jackson Libri, 1989, * Amiga Basic Inside and Out, by Christian Spanik and Hannes Rugheimer published by
Abacus Books Little, Brown and Company is an American publishing company founded in 1837 by Charles Coffin Little and James Brown in Boston. For close to two centuries it has published fiction and nonfiction by American authors. Early lists featured Emily ...
(Abacus Software Inc.), Jan 1988, * Elementary Amiga BASIC by C. Regena, published by
Compute! ''Compute!'' (), often stylized as ''COMPUTE!'', was an American home computer magazine that was published from 1979 to 1994. Its origins can be traced to 1978 in Len Lindsay's ''PET Gazette'', one of the first magazines for the Commodore PET c ...
(Compute! Publications Inc.,U.S.), April 1987, *Advanced Amiga basic by ~ Tom R. Halfhill and Charles Brannon, published by
Compute! ''Compute!'' (), often stylized as ''COMPUTE!'', was an American home computer magazine that was published from 1979 to 1994. Its origins can be traced to 1978 in Len Lindsay's ''PET Gazette'', one of the first magazines for the Commodore PET c ...
(Compute Library Selection) July 1986,


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.
AmigaBASIC manual
{{DEFAULTSORT:Amigabasic Discontinued Microsoft BASICs Amiga development software AmigaOS BASIC interpreters CBM software BASIC programming language family Microsoft programming languages