Graphics-Basic
Ein neuer Stern am Himmel der Befehlserweiterungen. Obwohl der Name sich auf die Grafik bezieht, gehen die zusätzlichen Befehle weit über diesen Bereich hinaus.
Wie die Königstochter im Märchen, so bedarf es bei der Programmierung des Commodore 64 fast eines Prinzen, um seine schlummernden Fähigkeiten zu wecken. Unser Prinz heißt Graphic-Basic und kommt von HESware.
Haben Sie sich in Anbetracht eines perfekten Spielprogramms, schon gefragt: Wie machen die das? Die Antwort ist relativ einfach, denn durch konsequentes Ausnutzen aller verfügbaren Hilfsroutinen und vieler Programmiertricks gelingen solche Meisterstücke. Einige dieser Tricks und Hilfen sind in Graphic-Basic zusammengefaßt. Das Resultat sind Graphic-Basic-Programme, einfach programmiert, kurz und leistungsfähig. Das Beste aber ist, daß kaum jemand den Unterschied zu reinen Maschinenprogrammen feststellen kann. Von der Leistungsfähigkeit dieser zirka 90 Mark teuren Befehlserweiterung kann man sich sofort überzeugen, denn viele Beispielprogramme (Bild 1 und 2) werden auf der Diskette mitgeliefert. Damit die Lektüre der Anleitung (in Buchform, 116 Seiten) etwas abwechslungsreicher wird, findet der Anwender noch zusätzliche Beispiele zum Abtippen im Handbuch. Auf diese Weise bleibt das gerade gelernte nicht nur Theorie, sondern kann am Bildschirm mit eigenen Augen verfolgt werden.
Eines sei vorweggenommen, der Befehlssatz des »Graphic-Basic« läßt kaum einen Wunsch offen. Vergessen sie den POKE-Befehl, denn von der einfachen Farbänderung bis zur imposantesten Grafik- und Tonprogrammierung, stehen für alle Zwecke eigene Befehle zur Verfügung. Einfach und einprägsam, aber leistungsfähig, das sind die »Graphic-Basic«-Befehle. Das gilt auch für die Spriteprogrammierung. Denn hier haben sich die Programmierer selbst übertroffen. Bereits die Spriteerstellung geht mit dem eingebauten Sprite-Editor fast wie von selbst, der Eingabekomfort ist beispielhaft. So ist beispielsweise das Sprite, das gerade entworfen wird, in wirklicher Größe, in Y-Richtung und in X-Richtung vergrößert, abgebildet.
Ebenso besteht die Möglichkeit, die ganze 24x21 Punktmatrix um beliebig viele Spalten beziehungsweise Reihen zu verschieben. Wer schon früher mit ähnlichen Programmen gearbeitet hat, wird diesen Vorteil zu schätzen wissen. Selbstverständlich können sowohl Single- als auch Multicolorsprites definiert werden, die Vorder und Hintergrundabfrage, sowie die Kollisionserkennung sind eingebaut. Ein Sprite-Editor wie dieser wird noch lange Zeit seinesgleichen suchen.
Doch was kann man nun mit seinem eben erstellten Sprite-Kunstwerk alles anfangen? Sehr viel, denn dem Benutzer steht eine Vielzahl von neuen, sinnvollen Befehlen zur Verfügung. Diese Befehle zeichnen sich durch eine interessante Besonderheit aus, denn sie sind allesamt Interrupt-gesteuert. Das heißt, Sprites bewegen sich nach einmaligem Aufruf selbständig. Der Effekt ist, daß jedes Basic-Programm mit höherer Geschwindigkeit weiterläuft. Mancher Befehlserweiterung geht hier schon langsam die »Luft« aus, nicht so »Graphic-Basic«. Diese Supererweiterung sammelt weitere Pluspunkte, etwa durch die Befehle »Copy Hires To Sprite, Copy Sprite To Hires«. Zeitlupengrafiken und Bewegungsstudien wie etwa der Flug eines Vogels, werden innerhalb weniger Minuten zur Realität. Wesentlich unterstützt wird der Programmierer bei seinen Entwürfen durch wichtige Befehle wie »Dot, Line, Box, Circle« und andere bekannte Grafikhilfen.
Weil die Programmierer bei HESware mit Vorliebe die Interrupttechnik verwendet haben, lassen sich Text und Grafik beliebig mischen. Zusammen mit der umfangreichen Farbgebung sind so Bilder auf der Diskette speicherbar und stehen bei Bedarf, beispielsweise in einem Adventure, rasch zur Verfügung.
Fast ebenso umfangreich wie der Befehlssatz für die Sprite-Programmierung sind die neuen Kommandos zur Tonerzeugung. Alle Musikfunktionen werden wie die Sprites interruptgesteuert. Man kann sich sogar beim Programmieren mit Musik unterhalten lassen. Alle wichtigen Parameter wie Attack, Sustain, Release, Decay und Wellenform werden über simple Basic-Befehle eingestellt.
Nach all diesen Erläuterungen entsteht vielleicht der Eindruck, bei »Graphic-Basic« handle es sich um eine reine Grafikerweiterung. Weit gefehlt!. Es gibt Befehle zur Funktionstastenbelegung, ebenso wie solche zur Abfrage der Joysticks und zur Diskettenhandhabung (Dir, Disk). Auch über die typischen Befehle vieler Erweiterungen für bedingte Sprünge (If-Then-Else oder On-Error-Goto) verfügt die Hes-Grafik. Am ungewöhnlichsten ist aber der »Window«-Befehl, der es erlaubt, den Bildschirm in mehrere »Aktivitätszonen« zu unterteilen. Abschließend soll noch angemerkt werden, daß sowohl Text als auch Grafik auf verschiedenen Druckern (Copy) ausgegeben werden kann.
Wer die Grafik- und Tonprogrammierung zu seinem Lieblingsthema gewählt hat, aber auf den Komfort einiger Hilfen zur strukturierten Programmierung nicht verzichten möchte, findet in der Hes-Grafik den richtigen Partner. Für relativ wenig Geld erhält er ein Werkzeug, mit dem der eigenen Kreativität keine Grenzen mehr gesetzt sind. Für meinen C 64 ist »Graphic-Basic« jedenfalls zum gern gesehenen Prinzen geworden.
(Arnd Wängler/Martin Gaksch/ev)