Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Amiga Basic
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|BASIC programming language implementation for Amiga computers}} {{Use mdy dates|date=June 2013}} {{Infobox software | name = Amiga Basic | logo = <!-- Image name is enough --> | logo alt = | screenshot = AmigaBASIC.png | caption = Running the "Demo" program | screenshot alt = | collapsible = | author = | developer = [[Microsoft]] | released = {{Start date and age|1985}} | discontinued = yes | latest release version = 1.2 | latest release date = {{Start date and age|1988}} | latest preview version = | latest preview date = <!-- {{Start date and age|YYYY|MM|DD|df=yes/no}} --> | programming language = | operating system = [[AmigaOS]] 1.1 to 1.3 | platform = [[Amiga]] | replaces = ABasiC | replaced_by = [[ARexx]] | size = | language = | language count = <!-- Number only --> | language footnote = | genre = [[Microsoft BASIC]] | license = | alexa = | website = <!--{{URL|example.org}}--> | standard = | AsOf = }} '''Amiga Basic''' is an [[Interpreter (computing)|interpreted]] implementation of the [[BASIC]] [[programming language]] for the [[Amiga]]. It was designed and written by [[Microsoft]]. Amiga Basic shipped with [[AmigaOS]] versions 1.1 to 1.3. It succeeded [[MetaComCo]]'s ABasiC included in AmigaOS 1.0 and 1.1 and was superseded by [[ARexx]], a [[REXX]]-style scripting language, from AmigaOS version 2.0 onwards. ==History and description== Amiga Basic 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. <code>OBJECT</code> commands, for example, made it easy to create moving objects β [[Sprite (computer graphics)|sprites]] and [[blitter object|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 (data type)|word]] boundary, as required by the Amiga's native [[MC68000]] processor.{{citation needed|date=February 2018}} ''[[Compute!]]'', a popular computer magazine published while Amiga Basic was still being shipped, included many AmigaBASIC [[type-in program]]s in their articles. These were typically implementations of simple programs such as rudimentary games, system and file [[utilities]] and [[desk accessories]] such as analog clocks and address books. Amiga Basic 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.{{citation needed|date=July 2015}} However, there were a number of third-party compiled BASIC languages released for the Amiga that could compile Amiga Basic 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 Amiga Basic 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 [[Script (computing)|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]], Amiga Basic was the first [[BASIC interpreter]] from Microsoft to not require [[line number]]s,<ref>{{cite web|url=http://www.atarimagazines.com/compute/issue74/getting_down_to_basics.php|title=Getting Down to BASICs COMPUTE! July 1986|quote=The Macintosh and the Amiga have BASIC languages that are almost identical, both created by Microsoft...Both Amiga BASIC and Macintosh BASIC abandon the line numbers used in previous BASICs.}}</ref><ref>{{cite web|url=http://www.atarimagazines.com/compute/issue76/AmigaBASIC.php|title=Amiga BASIC Style, COMPUTE! September 1986|quote=There's a different style to BASIC programming on the Amiga. You should take a close look at new features; you'll discover concepts that lead to a radically different style of programming and user interaction...there are no line numbers in Amiga BASIC. They are not needed. Even with GOTO or GOSUB, it's usual to identify a line with a label, not a number. (You may include line numbers if you like-a feature included for the sake of compatibility with other BASICs-but since the line numbers are treated simply as labels, numeric order is irrelevant.}}</ref> adopting instead a top-down approach to executing the [[lines of code]], and [[labels]] to indicate the <code>GOTO</code> 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 <code>LIBRARY</code>. For example: <code>LIBRARY Graphics.library</code> command invokes the standard Amiga Graphics.library from which to call functions. ==Hello World in Amiga Basic== <syntaxhighlight lang="qbasic"> ' Hello World for Amiga Basic PRINT "Hello world!" </syntaxhighlight> You can go one better by adding the following line: <syntaxhighlight lang="qbasic"> SAY TRANSLATE$ ("HELLO WORLD") </syntaxhighlight> The Amiga will then say "Hello world" using [[speech synthesis]] in addition to displaying it on screen. ==References== {{Reflist}} ;Notes {{refbegin}} * Amiga Basic by [[Paul Fellows]], published by [[Dabs Press]], December 1992, {{ISBN|978-1-870336-87-1}} * Amiga Basic by [[Henning Horst Rainer]], published by [[Jackson Libri]], 1989, {{ISBN|978-88-7056-966-7}} * Amiga Basic Inside and Out, by [[Christian Spanik]] and [[Hannes Rugheimer]] published by [[Abacus Books]] (Abacus Software Inc.), Jan 1988, {{ISBN|978-0-916439-87-3}} * Elementary Amiga BASIC by C. Regena, published by [[Compute!]] (Compute! Publications Inc., U.S.), April 1987, {{ISBN|978-0-87455-041-2}} *Advanced Amiga basic by ~ [[Tom R. Halfhill]] and Charles Brannon, published by [[Compute!]] (Compute Library Selection) July 1986, {{ISBN|978-0-87455-045-0}} {{refend}} ==External links== {{Portal|Amiga}} * [https://archive.org/details/AmigaBasic/ Manual] * [http://www.atarimagazines.com/compute/issue87/Fractal_Mountains_For_Amiga.php ''COMPUTE!'', August 1987, pg 89 ''Fractal Mountains For Amiga''], Source code for a fractal mountain generator. * [http://www.atarimagazines.com/compute/issue89/Button_Command.php ''COMPUTE!'', October 1987, pg 71 ''A Button Command''], Source code for enhanced buttons, such as radio-style buttons. * [http://www.atarimagazines.com/compute/issue90/Masked_Input_For_The_Amiga.php ''COMPUTE!'', November 1987, pg 86 ''Masked Input For The Amiga''], Source code for a masked text input box. * [http://www.amigacoding.com/index.php/AmigaBASIC ''Amiga Coding!''] {{Webarchive|url=https://web.archive.org/web/20101231023954/http://www.amigacoding.com/index.php/AmigaBASIC |date=December 31, 2010}} {{AmigaOS}} {{BASIC}} {{DEFAULTSORT:Amiga Basic}} [[Category:Discontinued Microsoft BASICs]] [[Category:Amiga development software]] [[Category:AmigaOS]] [[Category:BASIC interpreters]] [[Category:CBM software]] [[Category:BASIC programming language family]] [[Category:Microsoft programming languages]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:AmigaOS
(
edit
)
Template:BASIC
(
edit
)
Template:Citation needed
(
edit
)
Template:Cite web
(
edit
)
Template:ISBN
(
edit
)
Template:Infobox
(
edit
)
Template:Infobox software
(
edit
)
Template:Main other
(
edit
)
Template:Portal
(
edit
)
Template:Refbegin
(
edit
)
Template:Refend
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Template other
(
edit
)
Template:Use mdy dates
(
edit
)
Template:Webarchive
(
edit
)