BASIC-Compiler

Konstanten

Konstanten enthalten einen numerischen Wert, der sich während der Programmlaufs nicht verändern kann. Es ist aber möglich, dass der Wert einer Konstante von einem zum anderen Zielsystem unterschiedlich ist (z.B. bei den Farben) oder auch von einem zum nächsten Compiler-Lauf (z.B. bei den Adressen).


1. Boolsche Werte

KonstanteWertBedeutung
FALSE 0 Wert für "falsch" (kein Bit gesetzt)
TRUE -1 Wert für "wahr" (alle Bits gesetzt)

2. Farben

Die Konstanten für die Farben sind für die Anwendung bei den Anweisungen BORDER, COLOR, INK und PAPER gedacht. Damit muss man zumindest für die acht Hauptfarben nicht die konkreten Farbnummern des Zielsystems kennen und kann somit plattformübergreifende BASIC-Programme schreiben.

KonstanteBedeutung
BLACK Code für die Farbe schwarz
BLINKING Code für Blinken,
BLINKING wird nur in Verbindung mit einer Vordergrundfarbe eingesetzt, z.B.:

 INK RED+BLINKING:  PRINT "Ich blinke rot";
 INK WHITE:  PRINT "weiss ohne blinken";
BLUE Code für die Farbe blau
CYAN Code für die Farbe türkis
GREEN Code für die Farbe grün
MAGENTA Code für die Farbe magenta
RED Code für die Farbe rot
WHITE Code für die Farbe weiß
YELLOW Code für die Farbe gelb

3. Grafikstifte

Die Konstanten für die Grafikstifte werden als Parameter für die PEN-Anweisung verwendet. und sind auch dort beschrieben.

KonstanteBedeutung
PEN_NONE Stift angehoben
PEN_NORMAL normaler Zeichenmodus
PEN_RUBBER Löschmodus
PEN_XOR XOR-Modus

4. Joystick

Die Joystick-Konstanten dienen zur Auswertung des Rückgabewertes der JOYST-Funktion. Dazu ist der Rückgabewert mit der jeweiligen Konstante mit AND zu verknüpfen.

KonstanteBedeutung
JOYST_LEFT Joystick nach links gedrückt
JOYST_RIGHT Joystick nach rechts gedrückt
JOYST_UP Joystick nach nach oben gedrückt
JOYST_DOWN Joystick nach nach unten gedrückt
JOYST_BUTTON1 Aktionsknopf 1 gedrückt
JOYST_BUTTON2 Aktionsknopf 2 gedrückt
JOYST_BUTTONS Aktionsknopf 1 oder 2 gedrückt

5. Fehlercodes

Die Fehlercodekonstanten dienen zur Auswertung der Systemvariable ERR.

KonstanteBedeutung
E_CHANNEL_ALREADY_OPEN Es wurde versucht, einen Ein-/Ausgabekanal zu öffnen, der bereits offen ist.
E_CHANNEL_CLOSED Es wurde eine Anweisung oder eine Funktion zur Ein-/Ausgabe an einem Kanal aufgerufen, der nicht offen ist.
E_DEVICE_LOCKED Das Ein-/Ausgabegerät ist bereits in Benutzung und kann nicht gleichzeitig mehrfach benutzt werden.
E_DEVICE_NOT_FOUND Das angegebene Ein-/Ausgabegerät wurde nicht gefunden. Entweder ist das Gerät nicht vorhanden oder nicht betriebsbereit oder für das Zielsystem wird das Gerät nicht unterstützt oder der Gerätename wurde falsch geschrieben.
E_DISK_FULL Die Datei konnte nicht zum Schreiben geöffnet oder die Ausgabeoperation nicht ausgeführt werden, weil das Speichermedium voll ist.
E_EOF Es wurde versucht, über das Dateiende hinaus zu lesen.
E_ERROR Es ist ein allgemeiner bzw. nicht näher spezifizierter Fehler aufgetreten.
E_FILE_NOT_FOUND Die angegebene Datei wurde nicht gefunden.
E_INVALID Die Operation ist nicht erlaubt oder ein Parameter enthält einen ungültigen Wert.
E_IO_ERROR Die Ein-/Ausgabeoperation ist fehlgeschlagen.
E_IO_MODE Die Operation ist mit der Betriebsart nicht möglich, mit der der Kanal geöffnet wurde. Der Fehler tritt z.B. auf, wenn versucht wird, von einem Ausgabekanal zu lesen oder in einen Eingabekanal zu schreiben.
E_NO_DISK Das Speichermedium ist nicht vorhanden, z.B. Diskette nicht eingelegt oder USB-Speicher nicht angeschlossen.
E_OK Die betreffende Anweisung oder Funktion wurde erfolgreich ausgeführt, d.h., es ist kein Fehler aufgetreten. E_OK hat den numerischen Wert 0. Dadurch kann auf einen Fehler auch ohne Vergleichsoperator getestet werden:

IF ERR THEN PRINT "Fehler"
E_OVERFLOW Es ist ein numerischer Überlauf aufgetreten.
E_PATH_NOT_FOUND Der angegebene Pfad wurde nicht gefunden.
E_READ_ONLY Es wurde versucht, eine schreibgeschützte Datei oder eine Datei auf einem schreibgeschützten Speichermedium zum Schreiben zu öffnen.

6. Konstanten für Zielsysteme

KonstanteZielsystem
TARGET_AC1 AC1-2010, AC1-SCCH mit optionaler Farbgrafikkarte
TARGET_CPM CP/M-kompatibel
TARGET_HUEBLER Hübler-Grafik-MC
TARGET_KC85 KC85/2..5, HC900
TARGET_KC85_4 KC85/4..5 mit Unterstützung beider Bildspeicher
TARGET_KRAMER Kramer-MC
TARGET_LLC2 LLC2 mit HIRES-Grafik
TARGET_SCCH SCCH (AC1-2010, AC1-SCCH, LLC2)
TARGET_Z1013 Z1013
TARGET_Z1013_64X16 Z1013 mit Peters-Platine
TARGET_Z9001 KC85/1, KC87, Z9001
TARGET_Z9001_KRT KC85/1, KC87, Z9001 mit KRT-Grafik

7. Systemkonstanten

KonstanteBedeutung
GRAPHICSCREEN Die Konstante ist als Parameter für die SCREEN-Anweisung gedacht und enthält die Nummer des grafikfähigen Bildschirms. Unterstützt das Zielsystem keine Grafik, hat die Konstante den Wert -1.
LASTSCREEN Höchstmögliche Bildschirmnummer, die mit der SCREEN-Anweisung eingestellt werden kann
TOP Adresse des ersten freien Bytes hinter dem vom compiliertem BASIC-Programm belegten bzw. benutzten Speicher