SuperBASIC
SuperBASIC | |
---|---|
Basisdaten
| |
Entwickler | Sinclair Research Ltd. |
Erscheinungsjahr | 1984 |
Betriebssystem | QDOS |
Kategorie | BASIC zweiter Generation |
Lizenz | Proprietär |
SuperBASIC ist eine erweiterte Variante der BASIC Programmiersprache mit vielen Erweiterungen im Bereich des strukturellen Programmierens. Sie wurde bei Sinclair Research von Jan Jones in den frühen 1980ern entwickelt.
Eigentlich war SuperBASIC als der BASIC-Interpreter für einen Heimcomputer mit dem Entwicklungsnamen SuperSpectrum gedacht, welcher sich zu der Zeit in Entwicklung befand. Jedoch wurde dieses Projekt später abgebrochen, SuperBASIC wurde folglich in der ROM-Firmware des Sinclair QL Mikrocomputer (im Januar 1984 vorgestellt) integriert, außerdem fungierend als Kommandozeileninterpreter für das QDOS-Betriebssystem[1][2] des QL.
SuperBASIC war eines der ersten BASICs der zweiten Generation, welche in einem Betriebssystem eines Mikrocomputers vorhanden war (nicht wie BBC BASIC, welches in 1981 erschien), was es möglich machte, das Betriebssystem vom Benutzer zu erweitern — wie erfolgt von Linus Torvalds in seinen frühen Jahren.
Erweiterte Funktionen
[Bearbeiten | Quelltext bearbeiten]- RESPR für Residenzprozesse, z. B. um QDOS zu erweitern
- Parameterwahl zu Prozessen weitergeleitet
- Prozesse geben Parameter wie gewählt aus
IF
-THEN
-ELSE
-END IF
(wenn - dann - sonst - beenden wenn)FOR
-NEXT
-EXIT
-END FOR
(für - nächste/s - beenden - beenden für)REPeat
-NEXT
-EXIT
-END REPeat
(wiederholen - nächste/s - beenden - Wiederholend beenden)SELect ON
-ON
-REMAINDER
-END REPeat
(auswählen an - an - Rest - wiederholen beenden)RETurn
(Ausgabe) von innerhalb Prozessen und Funktionen- Datentypzwang zwischen numerischen and Zeichenkettenvariablen
- Parameter geben Datentypen zu formalen Parametern weiter
- Arrayoperationen: Schneiden, verbinden etc.
LOCal
(lokale) Arrays & (Zeichenketten) VariablenAUTOmatic
(automatische) Zeilennummerierung- relative
RESTORE
&DATA
(wiederherstellen & Daten)
Die folgende Funktion zeigt die letzten 8 dieser genannten Merkmale. Nach der Ausführung des Codes mit RUN
und Eingabe von
PRINT weekdays$(Iso("19631122",1))
wird FRI als Ausgabe auf dem Bildschirm angezeigt. Bis zur Löschung (z. B. durch Eingabe von NEW
), wird sich die Funktion ISO
wie eine Erweiterung des Betriebssystems verhalten. Ähnlicherweise, laut dem QL-Benutzerhandbuch, "sind viele der Kommandos im Betriebssystems als Prozesse definiert."[3]
Beispiel
[Bearbeiten | Quelltext bearbeiten]AUTO 11,2
DEFine FN Iso(S,O) LOCal y%,m%,d%,i$,n%,w%
REM Step 0 - to isolate components of date-stamp S="YEARMoDa" LET y%=S(1TO 4) : m%=S(5TO 6) : d%=S(7TO 8)
REM Step 1 - to initiate Lachman's Congruence LET i$=m%*2.56+ 193 : S=S(1TO 6)- 3
REM Step 2 - to compute the day-number within the week LET w%=(S(1TO 2)&"32"DIV 16+ S(1TO 4)DIV 4+ y%+ i$(2TO 3)+ d%)MOD 7
REM Step 3 - to return result SELect ON O ON O= 5 : n%=i$(2TO 3) ON O= 4 : n%=y% ON O= 3 : n%=m% ON O= 2 : n%=d% ON O= 1 : n%=w% ON O= REMAINDER : n%=-1 END SELect RETurn n%
REM data statements DIM weekdays$(6,3) RESTORE 190 FOR count=0 TO 6 : READ weekdays$(count)
100 DIM month$(12,9)
110 RESTORE
120 REM QL User Guide's "Data Read Restore" example ii
130 REM appropriately amended relative to example i
140 FOR count=1 TO 12 : READ month$(count)
150 DATA "January","February","March"
160 DATA "April","May","June"
170 DATA "July","August","September"
180 DATA "October","November","December"
190 DATA "SUN","MON","TUE","WED","THU","FRI","SAT"
199 END DEFine Iso
Bücher
[Bearbeiten | Quelltext bearbeiten]- Donald Alcock: Illustrating Superbasic on the Sinclair QL. Cambridge University Press, 1985. ISBN 0-521-31517-4
- Roy Atherton: Good Programming with QL Superbasic. Longman Software, 1984. ISBN 0-582-29662-5
- A. A. Berk: QL SuperBasic. Granada Publishing, 1984. ISBN 0-246-12596-9* Dick Meadows, Robin Bradbeer, Nigel Searle: Introduction to Superbasic on the Sinclair QL. Hutchinson Computer Publishing, 1984. ISBN 0-09-158951-7
- Dick Meadows, Robin Bradbeer, Nigel Searle: Making the Most of the Sinclair QL: QL Superbasic and Its Applications. Hutchinson Computer Publishing, 1985. ISBN 0-09-160561-X
- Andrew Nelson: Exploring the Sinclair QL: An Introduction to SuperBasic. Interface Publications, 1984. ISBN 0-907563-84-8
- John K. Wilson: QL Superbasic: A Programmer's Guide. Micro Press, 1984. ISBN 0-7447-0020-5
Einzelnachweise
[Bearbeiten | Quelltext bearbeiten]- ↑ Illustrating Super-BASIC on the Sinclair QL. In: Computing History. Abgerufen am 6. Februar 2023 (englisch).
- ↑ Alberto Apostolo: Sinclair QL: mistakes, misfortune and so many regrets. In: RetroMagazineWorld. Abgerufen am 6. Februar 2023 (englisch).
- ↑ Stephen Berry: QL User Guide. 2nd Auflage. Sinclair Research Ltd, Cambridge 1984 (englisch, me.uk).
- The Quantum Leap - to where?: a chapter from Sinclair and the 'Sunrise' Technology