Systemvariable
Eine Systemvariable ist eine Variable, die nicht frei benutzt werden kann, sondern spezielle Informationen des Systems liefert. Der Namen einer Systemvariablen kann wie der einer normalen Variablen beliebig lang sein, jedoch sind nur die ersten beiden Stellen signifikant.
BASIC V2[Bearbeiten | Quelltext bearbeiten]
Das BASIC V2 des C64 kennt 3 Systemvariablen:
- ST bzw. STATUS: Ein/Ausgabe-Status; nur lesen
- TI bzw. TIME: Zähler der internen Uhr in 1/60 Sekunden seit dem Systemstart (wenn nicht durch setzen von TIME$ geändert); nur lesen
- TI$ bzw. TIME$: Zeit im Format HHMMSS seit dem Systemstart (sofern zuvor nicht verändert); lesen und schreiben
BASIC 3.5 und höher[Bearbeiten | Quelltext bearbeiten]
Mit dem BASIC 3.5 der Commodore-264-Serie kamen folgende Systemvariablen hinzu:
- EL (ErrorLine): Nummer der BASIC-Zeile, in der der letzte Fehler aufgetreten ist; nur lesen
- ER (ERror): Nummer des letzten aufgetretenen Fehlers; nur lesen
- DS (DiskStatus): Fehlerstatuscode des zuletzt verwendeten Floppylaufwerks; nur lesen
- DS$ (DiskStatus): Fehlerstatus des zuletzt verwendeten Floppylaufwerks im Klartext; nur lesen
Die zusätzlichen Systemvariablen des BASIC 3.5 können zu Problemen beim Ausführen von BASIC V2-Programmen auf den Rechnern der C264-Serie oder dem C128 führen, da eine zuvor normale Zuweisung zu einem schreibenden Zugriff auf eine Systemvariable wird und zum Abbruch des Programms mit einem ?SYNTAX ERROR führt.
Simons' Basic und TSB[Bearbeiten | Quelltext bearbeiten]
Auch Simons' Basic und TSB kennen fest zugeordnete Variablen:
- DISPLAY: Liefert die Basisadresse des aktuellen Bildschirmspeichers.
- GRAPHICS: Liefert die Basisadresse für die Register des VIC-Chips des C64.
- ERRLN: Zeilennummer des zuletzt aufgetretenen Fehlers
- ERRN: Fehlernummer des zuletzt aufgetretenen Fehlers
- INKEY: Nummer der gedrückten F-Taste
- JOY: Abfragewert des Controlport 2
- LIN: Bildschirmzeile, in der der Cursor sich gerade befindet
- PENX: Lightpen X-Position
- PENY: Lightpen Y-Position
- SOUND: Liefert die Basisadresse für die Register des SID-Chips des C64.
- USE: Liefert die Gerätenummer des aktuellen Diskettenlaufwerks.