Viele Spectrum-Besitzer schreiben sich ihre Spiele selbst. Für diese Programmierer wird jetzt ein Basic-Dialekt angeboten: Das RGH-Basic. Es soll angeblich schneller und übersichtlicher sein, als das Sinclair-Basic. Wir haben es getestet.
Dieses RGH-Basic mußte in einigen Punkten eingeschränkt werden; denn Schnelligkeit und Komfort schließen sich leider gegenseitig aus.
Der Interpreter kann auf Microdrive gespeichert werden, die Vorgehensweise ist im Handbuch beschrieben. Damit geschriebene Programme können jedoch nur auf Kassette abgelegt werden (als Headerless-Files, für die Kenner). Eine Kopie auf Cartridge lohnt sich nicht denn der Basic-Interpreter ist sehr kurz.
Die Programme können auf Drucker gelistet werde, doch wenn der Druck eingeschaltet ist, gibt man die weiteren Anweisungen bis zum nächsten ENTER im Blindflug ein. Der Bildschirm ist dann abgeschaltet. Das Listen funktioniert mit dem ZX-Drucker und allen RS232-Druckern. Eine Ausgabe über Centronics-Schnittstelle wird nicht erwähnt. Teile dieses Basics erinnern sehr an Commodore, wie beispielsweise die Stringablage, oder das Speichern. Es hat mit dem gewohnten, freundlichen Sinclair-Basic nicht mehr viel zu tub. Es gibt auch keine Tokens mehr, wer viele Programme auf dem Spectrum geschrieben hat, wird sich umgewöhnen müssen.
Der Editor ist ebenfalls nicht mehr vorhanden. Eine fehlerhafte Zeile muß neu getippt werden Glücklicherweise kann man aber mit »DELETE« in der Zeile zurückgehen, solange man noch nicht »ENTER« gedrückt hat. Dennoch: bei längeren Programmen dürfte dieser Mangel doch sehr frustrieren.
Die anderen Einschränkungen fallen nicht so sehr ins Gewicht: Nur ganzzahlige Werte bis 32768 werden verarbeitet. Die Benennung der Variablen erlaubt nur noch Buchstabe und Buchstabe + Ziffer, dafür werden aber Groß- und Kleinschreibung bei den Namen fein unterschieden.
Auffallend ist die komplizierte Syntax der Befehle. Die verhältnismäßig bequemen Grafik- und Farbbefehle des Spectrum fielen recht umständlich aus. Man muß nämlich plötzlich vorher rechnen; genauso als ob man die Farben durch POKEn der Systemvariablen ändern wollte. Das macht das Programm vermutlich auch nach der Eingabe der Farbwerte.
Bei PRINT ist das AT weggefallen: Die Positionen werden 0 (oben links) bis 703 (unten rechts) durchnumeriert und mit »POS stelle« angesprochen. Das Umrechnen ist nicht schwer: Zeile = INT (Stelle/32), Spalte = Stelle (INT (Stelle/32)). Diese Form kommt manchem bestimmt recht bekannt vor. Dies sind nur einige Punkte. Man vergißt also am besten das Sinclair-Basic.
Die neue Syntax hat aber auch erhebliche Vorzüge: Beispielsweise ist die Definition der benutzerdefinierten Grafikzeichen jetzt ohne FOR-NEXT-Schleife vorgesehen: »CHAR(144) = 0,0,24,24,126,24,24,0,0.«
Es gibt auch besondere Funktionen, die speziell für Spiele gedacht sind, etwa »SCOREO« oder »DEC Pl«. Auch bei den Tönen gibt es einiges zusätzlich, beispielsweise werden mit »SOUND (5 Parameter)« Schußoder Quietschgeräusche erzeugt. Außerdem heißt der Grafikbefehl für »DRAW 0,160« jetzt »GRAPH160«.
Bleibt die Frage, ob der Geschwindigkeitsvorteil so groß ist, wie die Zeittests in der Mitte der Anleitung erwarten lassen. Also wurden einige der Beispiele abgetippt, ausprobiert und nochmal gestartet, und in »normales« Basic übersetzt. Es gibt keine großen Unterschiede. Allerdings sprach beim »normalen« Spiel die Tastatur wesentlich besser und nicht so verzögert an. Vorsichtshalber habe ich dann noch ein anderes Programm ausprobiert, Pac-Man. Auch hier fand ich keineswegs, daß das Spiel gegenüber der Sinclair-Basic-Version besser war. Nun will ich aber auch nicht behaupten, daß die Beispiele im Handbuch optimal ausgewählt sind. Bei anders aufgebauten Programmen stellt sich dann vielleicht doch die größere Geschwindigkeit ein.
Noch mehr probiert wurde nicht; denn schon das Eintippen des Mini-Mac ist eine Strafe, ohne Editier-Möglichkeiten und ohne Repeat-Funktionen. Das Fehlen der Key-words erhöht die Tippfehlerwahrscheinlichkeit erheblich.
Einige der Zusatzbefehle sind dennoch recht gut, auch wenn eine Maschinencode-Routine diese ersetzen kann. Insbesondere für Geräusche sind schon etliche veröffentlicht worden. Das Programm arbeitet aber einwandfrei, das Handbuch erklärt alle Befehle in alphabetischer Reihenfolge und auf deutsch, ein Interessierter wird keine übermäßigen Probleme damit haben.
Trotzdem werde ich solche Programme, die schnell sein müssen, lieber weiter in Pascal schreiben. Die sind nämlich wirklich schnell. Ich glaube nicht, daß die Vorteile des Programms, die es in einigen Punkten sicher hat, den nicht vorhandenen Editor auf die Dauer vergessen lassen können, zumal das Programm 79 Mark kostet.