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.

10 reserve as datascreen 10
20 screen copy logic to 10 (Speichert den Bildschirminhalt in Bank 10)
30 screen copy 10 to logic (Holt den Inhalt aus Bank 10 und zeigt ihn auf dem Monitor an)
40 screen copy logic,0,0,100,100 to 10,0,0 (Speichert einen Bildschirm-Ausschnitt)

Programmierbeispiel Sprites

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

10 load "sprites.mbk" (Lädt eine ganze Gruppe Sprites in den Speicher)
20 sprite 1,100,100,6 (Zeigt Bild 6 als Sprite Nr.1 an)
30 anim 1,"(6,10)(7,10)(8,10)L" (Legt die Animationssequenz fest)
40 move x 1,"(1,3,50)(1,-3,50)" (Legt die Bewegungssequenz fest)
50 anim on
60 move on

Programmierbeispiel Sound

10 load "sound.mbk" (Lädt eine Datei mit Tondaten in den Speicher)
20 music 2 (Lässt die Melodie 2 abspielen)
30 tempo 10 (Reduziert die Abspielgeschwindigkeit)
40 transpose 30 (Erhöht die Tonhöhe)

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)

Programmierbeispiel Fenster

10 windopen 1,0,0,9,4,4,3 (Öffnet ein Fenster)
20 title "Window Nr.1" (Setzt den Titel für das Fenster)
40 window 1 (Aktiviert Fenster 1)
50 windmove 20,20 (Verschiebt das Fenster)

Programmierbeispiel Menü

10 menue$ (1)="Action"
20 menue$ (2)="Mouse"
30 menue$ (2,1)="Arrow"
40 menue$ (2,2)="Hand"
50 onmenue goto 10

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.

Weblinks

Siehe auch