STOS BASIC
# STOS BASIC

STOS BASIC ist eine Skriptsprache für den Atari ST. Erstmals herausgegeben wurde es im Oktober 1989 von Ariolasoft. Produziert wurde STOS-Basic von Francois Lionet, Constantin Sotiropolus und Frédéric Pinlet unter der Leitung von Jacues Fleurance bei der Firma Mandarin Software. STOS Basic läuft nicht unter GEM und beinhaltet 340 Befehle.

Die Programmiersprache, ein BASIC-Dialekt, ist auf die Spiele-Entwicklung spezialisiert und stellt Befehle für die Verwendung von Grafischen Benutzeroberflächen, Grafiken, Musik, und Sprites zur Verfügung. Animationen und Musik können dabei unabhängig vom Hauptprogramm ablaufen. Teile des Arbeitsspeichers werden als sogenannte Speicherbänke verwaltet, die es erlauben, mit einem Befehl den Bildschirminhalt oder Teile davon zu sichern und später wiederherzustellen. Einzelne Bänke sind reserviert für Daten wie Sprites, Icons, Musik oder Zeichensätze.

## Programmierbeispiel Screen

Dieses Beispiel kopiert den Bildschirminhalt sowie einen Ausschnitt in die Speicherbank und wieder zurück.

## Programmierbeispiel Sprites

Dieses Beispiel stellt ein Sprite dar, animiert und bewegt es auf dem Bildschirm.

## Grafikbefehle

STOS BASIC stellt 32 Befehle für die Erstellung von Grafiken zur Verfügung, darunter:

* ARC (Kreisbogen)
* EARC (Ellipsenbogen)
* BOX (leeres Rechteck)
* RBOX (leeres Rechteck mit runden Ecken)
* PIE (Kreisausschnitt)
* BAR (Balken)
* SET LINE (Linienform festlegen)

## Programmablauf-Befehle

* GOTO
* GOSUB
* FOR/NEXT
* WHILE/WEND
* REPEAT/UNTIL
* IF/THEN/ELSE
* ON var GOTO/GOSUB (Sprung abhängig vom Wert der Variablen)
* ON ERROR GOTO (für die Fehlerbehandlung)
* INKEY$ (Tastaturabfrage)
* INPUT

## Trigonometrische und Mathematische Funktionen

Gleitkommazahlen werden bei STOS-Basic auf 16 Nachkommastellen genau berechnet. Um die Geschwindigkeit der Programme zu erhöhen, kann man die Genauigkeit auf 7 Nachkommastellen reduzieren.

* DEG
* RAD
* SIN/ASIN/HSIN
* COS/ACOS/HCOS
* TAN/ATAN/HTAN
* PI
* LOG
* EXP
* SQR
* ABS
* INT
* MAX/MIN
* RND

Zusätzlich kann man bei STOS-Basic auch direkte Maschinenbefehle verwenden oder die STOS-Funktionen über Maschinensprache-Befehle direkt aufrufen. Somit kann man den Prozessor auch bitweise beeinflussen. Möglich ist es auch, komplexere Maschinenprogramme in den Speicher zu laden und aus dem Basic-Programm heraus aufzurufen.

Zum STOS-Basic gibt es auch einen Compiler, der in BASIC geschriebene Programme in lauffähige Maschinencode-Programme umwandelt.

