AMOS (programming language)

AMOS

Paradigm| Imperative, Procedural
Developer| François Lionet and Constantin Sotiropoulos
First appeared| 1990; 35 years ago (1990)
Typing discipline| Static
OS| AmigaOS
License| BSD style license
Website| AMOS and STOS
Dialects
AMOS, Easy AMOS, AMOS Professional
Influenced by
STOS BASIC
Screenshot of the AMOS Professional user interface and code editor, displaying the start of a program included with the language

AMOS BASIC is a dialect of the BASIC programming language for the Amiga computer. Following on from the successful STOS BASIC for the Atari ST, AMOS BASIC was written for the Amiga by François Lionet with Constantin Sotiropoulos and published by Europress Software in 1990.

The language was notable for its focus on media and game development capabilities, allowing users to easily create demanding multimedia software and games. It featured full structured code and numerous high-level functions for loading and manipulating images, animations, and sounds. These capabilities made it a popular choice among Amiga enthusiasts, particularly beginners, for creating video games (especially platformers and graphical adventures), multimedia applications, and educational software.

## History

[edit]

AMOS competed on the Amiga platform with Acid Software's Blitz BASIC. Both BASICs differed from other dialects on different platforms, in that they allowed the easy creation of fairly demanding multimedia software, with full structured code and many high-level functions to load images, animations, sounds and display them in various ways.

The original AMOS was a BASIC interpreter which, whilst working fine, suffered the same disadvantages of any language being run interpretively. By all accounts, AMOS was extremely fast among interpreted languages, being speedy enough that an extension called AMOS 3D could produce playable 3D games even on plain 7 MHz 68000 Amigas. Later, an AMOS compiler was developed that further increased speed. AMOS could also run MC68000 machine code, loaded into a program's memory banks.[1]

To simplify animation of sprites, AMOS included the AMOS Animation Language (AMAL), a compiled sprite scripting language which runs independently of the main AMOS BASIC program.[2] It was also possible to control screen and "rainbow" effects using AMAL scripts. AMAL scripts in effect created CopperLists, small routines executed by the Amiga's Agnus chip.

After the original version of AMOS, Europress released a compiler (AMOS Compiler), and two other versions of the language: Easy AMOS, a simpler version for beginners, and AMOS Professional, a more advanced version with added features, such as a better integrated development environment, ARexx support, a new user interface API and new flow control constructs. Neither of these new versions was significantly more popular than the original AMOS.[citation needed]

AMOS was used mostly to make multimedia software, video games (platformers and graphical adventures) and educational software.

The language was mildly successful within the Amiga community. Its ease of use made it especially attractive to beginners.

One of AMOS BASIC's disadvantages, stemming from its Atari ST lineage, was its incompatibility with the Amiga's operating system functions and interfaces. Instead, AMOS BASIC controlled the computer directly, which caused programs written in it to have a non-standard user interface, and also caused compatibility problems with newer versions of hardware.

Today, the language has declined in popularity along with the Amiga computer for which it was written. Despite this, a small community of enthusiasts are still using it. The source code to AMOS was released around 2001 under a BSD style license by Clickteam, a company that includes the original programmer.[3][4]

## Software

[edit]

Software written using AMOS BASIC includes:

* AQUABYSS by Aged Code, is a 2022 strategy trading game for the Amiga[5]
* Miggybyte
* Scorched Tanks
* Games by Vulcan Software, amongst which was the Valhalla trilogy
* Amiga version of Ultimate Domain (called Genesia) by Microïds
* Flight of the Amazon Queen, by Interactive Binary Illusions[6]
* Extreme Violence, included on an Amiga Power cover disk
* Jetstrike, a commercial game by Rasputin Software
* Black Dawn, a 1993 game for the Amiga personal computer[7]

## References

[edit]

1. ^ The Creator, by François Lionet, 1990, "AMOS Basic includes special facilities which allow you to combine assembly language routines with your Basic programs."
2. ^ "Computers". Archived from the original on 2010-12-08. Retrieved 2010-11-22.
3. ^ "Amos & Stos » Main Download". Archived from the original on 2007-11-30.
4. ^ Lionet, François (2020-04-26). "AOZ-Studio/AMOS-Professional-Official: The official source code of AMOS Professional on the Amiga". GitHub. Retrieved 2024-11-29 - via AOZ Studio.
5. ^ "AQUABYSS (2022) at LemonAmiga.com". Retrieved 8 August 2024.
6. ^ "Making of Flight of the Amazon Queen: A 20th Anniversary Retrospective". Gamasutra. June 2015. Archived from the original on June 2, 2015. Retrieved 1 January 2016.
7. ^ "Game 487: Black Dawn (1993)". March 2023. Retrieved 1 March 2023.

## External links

[edit]

Wikiversity has learning resources about AMOS programming language

* Source code for AMOS and STOS
* The AMOS Factory (an AMOS support/community site)
* History of STOS and AMOS: how they came to be published in the UK

* v
* t
* e

Dialects of the BASIC programming language (list)

Classic|

| Microsoft|

* Microsoft BASIC
* TRS-80 BASICs (Level I, Level II/III)
* Thomson BASIC 1.0

|

Texas Instruments|

* TI-BASIC (calculators)
* TI Extended BASIC (aka XBasic)
* TI-BASIC 83

Hewlett-Packard|

* HP Time-Shared BASIC
* Rocky Mountain BASIC
* HP Basic

Locomotive Software|

* Locomotive BASIC
* Mallard BASIC

Microcomputers|

* Atom BASIC
* Integer BASIC
* North Star BASIC
* SCELBAL

Minicomputers|

* BASIC-11
* Business Basic (B32, Data General)
* Data General Extended BASIC
* Southampton BASIC System
* Wang BASIC

Time-sharing computers|

* BASIC-PLUS
* Extra! Basic Macro Language
* VSI BASIC for OpenVMS
* SUPER BASIC
* CALL/360:BASIC

Other|

* AlphaBasic
* Astro BASIC
* BASICODE
* BAL
* Casio BASIC
* CBASIC
* PBASIC
* SDS BASIC
* Tiny BASIC
* UBASIC
* ZBasic
* ETBASIC [zh]

Extenders|

* BASIC 8
* Graphics BASIC
* Simons' BASIC
* Super Expander
* Super Expander 64
* YS MegaBasic

Procedure-
oriented|

| Proprietary|

* AmigaBASIC
* AMOS BASIC
* ASIC
* BasicX
* Beta BASIC
* FutureBASIC
* GRASS
* Liberty BASIC
* LSE
* MapBasic
* Mobile BASIC
* OWBasic
* PowerBASIC
* PureBasic
* SmileBASIC
* Tiger-BASIC
* True BASIC
* Turbo Basic
* WordBASIC

|

Free and
open source|

* Basic-256
* Basic4GL
* BBC BASIC V
* DarkBASIC
* Euphoria
* Indic BASIC
* Open Programming Language
* SdlBasic
* SmallBASIC
* QB64
* wxBasic
* XBasic
* Xblite
* Yabasic

With object
extensions|

| Proprietary|

* AutoIt
* Chipmunk Basic
* GLBasic
* LotusScript
* Morfik
* PowerBASIC
* ProvideX
* Run BASIC
* VBA
* VBScript
* VB 5 for Microsoft Excel 5.0
* VSTO
* VSTA
* Embedded Visual Basic
* WinWrap Basic

|

Free and
open source|

* BlitzMax
* FreeBASIC
* Microsoft Small Basic
* Mono-Basic
* OpenOffice Basic
* ScriptBasic
* Roslyn

RAD
designers|

| Proprietary|

* CA-Realizer
* Visual Basic (classic)
* NS Basic
* RapidQ
* Visual Basic .NET (Mercury)
* Xojo

|

Free and
open source|

* B4X (Basic4android, Basic4ppc)
* Gambas
* WinFBE, Visual FB Editor

Defunct|

* Altair BASIC
* Applesoft BASIC
* Apple Business BASIC
* Atari BASIC
* Atari Microsoft BASIC
* Atari ST BASIC
* BASIC A+
* BASIC XE
* BASIC XL
* BASIC Programming (Atari 2600)
* BBC BASIC
* Benton Harbor BASIC
* Chinese BASIC
* Commodore BASIC
* Color BASIC
* Dartmouth BASIC
* Disk Extended Color BASIC
* Extended Color BASIC
* Family BASIC
* GFA BASIC
* GW-BASIC
* IBM BASIC
* JR-BASIC
* MacBASIC
* MBASIC
* MSX BASIC
* MS BASIC for Macintosh
* QBasic
* QuickBASIC
* S-BASIC
* Sinclair BASIC
* STOS BASIC
* SuperBASIC
* TI BASIC (TI 99/4A)
* Turbo-BASIC XL
* Vilnius BASIC

*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template