CPC Locomotive BASIC
Die meisten Befehle entsprechen dem
Standard-BASIC, wie es auf Heimcomputern
seiner Zeit üblich war.
Das Locomotive-BASIC des CPC geht aber an vielen Stellen weit darüber
hinaus.
Die mathematischen Befehle des Standard-BASIC werden durch folgende
Befehle erweitert bzw. geändert:
\ | ganzzahlige Division ohne Rest |
MOD | Der Rest, der nach der ganzzahligen Division bleibt |
SQR | Quadratwurzel |
^ | Potenz (auch mit gebrochenen Exponenten!) |
Der CPC besitzt mit der Fähigkeit die Interrupts des Timers
zu bearbeiten, die Möglichkeit mehrere Aufgaben parallel zu
bearbeiten und damit eine Art Multithreading durchzuführen.
Es gibt vier Zeitgeber durchnummeriert von 0 bis 3. Dabei ist die
Priorität mit dem Wert steigend.
- AFTER Intervall[,ZeitgeberNr] GOSUB Zeilennummer
-
ruft zeitversetzt nach einem Intervall ein Unterprogramm auf.
Intervall ist in Einheiten je 50stel Sekunden.
- DI und EI
- Disable und Enable Interrupt.
- EVERY Intervall[,ZeitgeberNr] GOSUB Zeilennummer
-
Ruft wiederkehrend ein Unterprogramm auf.
Intervall ist in Einheiten je 50stel Sekunden.
- CLS
- löscht den Bildschirm und bringt den Cursor nach
links oben
- DEFINT C-R
-
Legt fest, dass alle Variablen, die mit C bis R anfangen, ganzzahlige
Werte aufnehmen (INTEGER).
- DEFSTR S
-
Legt fest, dass alle Variablen, die mit S anfangen, Stringvariablen sind.
Es ist kein $ notwendig.
- EDIT Zeilennummer
-
Bearbeitet die Zeile. Links- und Rechtscursor funktionieren und die CLR-Taste
löscht einzelne Zeichen unter dem Cursor.
- JOY(Welcher)
-
liefert die Position des Joysticks 0 oder 1. Die zurückgegebenen Werte sind:
1 | oben |
2 | unten |
4 | links |
8 | rechts |
16 | Feuer 2 |
32 | Feuer 1 |
Kombinationen ergeben sich durch Addition. Links-oben gibt also 5.
Bei meinen Tests habe ich Feuer 1 nicht erzeugen können. Vielleicht
ist aber auch der Joystick defekt.
- WHILE logischer Ausdruck ... WEND
-
Wiederhole bis-Schleife mit der Abfrage am Schleifenkopf.
BASIC-Erweiterung
- WINDOW [#-Stream,] links, rechts, oben, unten
-
Beschränkt die Umleitung des Ausgabestroms auf einen Bildschirmausschnitt.