Das Locomotive-Basic der Schneider-CPCs gehört zu den leistungsfähigsten Basic-Dialekten. Trotzdem gibt es eine wahre Flut von Basic-Erweiterungen, die den Programmierkomfort erhöhen sollen. Was ist davon zu halten!
Wenn Sie Vorhaben, bestimmte Anwendungen selbst in Basic zu programmieren, gibt es unterstützende Hilfsprogramme, die Ihre Arbeit erleichtern sollen.
Aus der Fülle der angebotenen Basic-Erweiterungen haben wir vier Programmpakete herausgegriffen, um deren Leistungen zu vergleichen.
Das Maschinenprogramm des »Profi Basic« umfaßt 46 neue RSX-Befehle und belegt den Speicher ab der Adresse 34400. Somit bleiben für Ihre eigenen Programme noch knapp 34 KByte frei. Das reicht wohl für die meisten Anwendungen aus. Die Befehle dienen hauptsächlich der Grafik- und Musikprogrammierung und sind in 100 Seiten Anleitung sehr ausführlich erläutert. Das Handbuch ist übersichtlich und klar gegliedert in einen Lern- und einen Nachschlageteil. Im Lernteil sind die Befehle nach Sachgruppen geordnet, im Nachschlageteil alphabetisch. Zu jedem Befehl stellten die Autoren ein kurzes, aber dennoch prägnantes Beispielprogramm.
Neben »normalen« Grafikbefehlen wie FILL, CIRCLE (Kreise ziehen), ARC (Kreissegmente), ELLIPSE, BOX (Rechteck) und AXES (Koordinatenkreuze) erleichtert »Profi Basic« dem Programmierer die Darstellung von dreidimensionalen Grafiken: TDA legt den Winkel der z-Achse des Koordinatensystems im dreidimensionalen Raum fest. Die neuen Grafikbefehle TDRAW, TDRAWR, TPLOT, TPLOTR, TMOVE, TMOVER, TTEST und TTESTR berechnet »Profi Basic« automatisch für die dritte Dimension. Das zugehörige Demonstrationsprogramm zeigt die Pseu-do-3D-Grafik sehr schön anhand eines gezeichneten Diskettenlaufwerks, das in verschiedenen Richtungen auf dem Bildschirm rotiert. Der Entwicklung eines kleinen CAD-Systems steht so nichts mehr im Wege.
Zudem stellt »Profi Basic« RSX-Kommandos zur Verfügung, mit denen sich Bildschirmausschnitte in beliebige Richtungen scrollen lassen. Der Befehl ZOOM stellt einen Bildschirmausschnitt vergrößert dar.
Doch nicht nur Grafikanwendungen werden leicht gemacht, der Befehl PLAY gestattet die Musikprogrammierung in emer Art »Makro-Sprache«. Der Anwender muß sich nicht mehr mit Formeln zur Berechnung der Tbnperiode beziehungsweise Frequenz einer Note und ähnlichen Dingen herumplagen. Statt dessen kann er ganz einfach die Notennamen nach den italienischen Notenbezeichnungen, zum Beispiel »D« für Do, »R« für Re, »M« für Mi, und entsprechende Kennbuchstaben und Zahlen für die Lautstärke, Oktave, eventuelle Pausen und die Notenlänge eingeben.
Das Programm ist also eine Fundgrube für alle Programmierer von Spielen und auch »sinnvoller« Grafiksoftware. Einer allzu großen Verbreitung dürfte allerdings der recht hohe Preis von immerhin 199 Mark entgegenstehen, auch wenn in »Profi Basic« sicherlich eine enorme Programmierarbeit steckt.
Aus einem wesentlich kürzeren Maschinencode, nämlich exakt 2870 Byte (so steht es jedenfalls in der Anleitung). besteht »X-Basic«. Es ist aber auch erheblich billiger zu haben (Kassette 49,50 Mark, Diskette 65,50 Mark). »X-BASIC« stammt aus Großbritannien, wird jedoch in Deutschland vertrieben.
Diese Basic-Erweiterung umfaßt insgesamt 58 RSX-Befehle. Man darf nicht allein auf die absolute Zahl der neuen Kommandos sehen, denn eine Reihe davon führt ziemlich einfache Aufgaben aus und kann im Standard-Basic durch CALL-Aufrufe von Systemroutinen ersetzt werden. So bewirkt etwa FRAME dasselbe wie »CALL&BD19«, und MOTOR.ON, das den Motor des Kassettenrecorders einschaltet, kann man ohne »X-BA-SIC« durch »CALL &BC6E« simulieren. Interessanter sind da schon Funktionen wie LINE.W.LEFT, LINE,W,RIGHT, WINDOWUP und WINDOW.DOWN, die diverse Bildschirmausschnitte über den Monitor bewegen. Ganz witzig ist die RSX-Erweiterung SLOW, die sämtliche Aktivitäten des Computers verlangsamt. Die Geschwindigkeit ist frei einstellbar. SLOW ist sehr nützlich, um zum Beispiel Programme im Trace-Modus in Ruhe anzusehen. Bei einem hohen Wert für SLOW (je höher der Wert, desto langsamer der Ablauf) lassen sich sogar die einzelnen Funktionen des Betriebssystems — wie etwa die Bildschirmausgabe — verfolgen.
Einer guten Idee des Programmautors sind auch die Befehle INSERT und CALL.LINE entsprungen. Sie erlauben die Integration von Maschinencode in Basic-REM-Zeilen — ein Verfahren, das bisher hauptsächlich vom ZX81 bekannt war. Ein einfaches Beispiel zur Verdeutlichung: »IINSERT,3,&BB6C,100« fügt drei Byte ab der Adresse BB6C hex in die Basic-Zeile 100 ein. »ICALL.LI-NE,100« ruft dann dieses Maschinencode-Programm auf, ohne daß der Benutzer die tatsächliche Startadresse im Speicher kennen muß: 10 I CALL.LINE,1000 20 END 100 REM ***
Nach der Eingabe des RSX-Befehls INSERT erscheint die Zeile 100
so:
100 REM SYMBOL@DRAWR.
Der Computer versucht nämlich bei »LIST« den Maschinencode als Basic-Befehle zu interpretieren.
Vor allem für Kassetten-Benutzer sind die RSX-Kommandos SAVE .SCREEN und LOADSCREEN von Bedeutung: Sie speichern und laden den Bildschirm-Inhalt in einem einzigen Block. Damit benötigt dieser sonst recht langsame Datenträger bei SPEED WRITE 0 nur noch etwa 100 Sekunden statt der üblichen drei Minuten.
Sehr angenehm macht sich die Eigenschaft bemerkbar, daß »X-Basic« im RAM-Speicher frei verschiebbar ist. So kann das Programm zusammen mit anderen Maschinencode-Routinen, ja sogar anderen Basic-Erweiterungen, gestartet werden. Theoretisch läßt sich »X-BASIC« mit allen getesteten Programmen kombinieren! Das mitgelieferte Anleitungsheft ist vorerst noch in englischer Sprache gehalten, aber jeder Käufer bekommt das deutsche Handbuch sofort nach Erscheinen kostenlos zugesandt.
Fazit: Zu einem durchaus vertretbaren Verkaufspreis von 50 bis 65 Mark (je nach Datenträger) ist »X- Basic« eine nützliche Allzweck-Erweiterung, wenn man die Ansprüche nicht allzu hoch schraubt.
»BizBasic« richtet sich an eine ganz andere Zielgruppe als die übrigen Befehlserweiterungen im Test. Es will die ansprechen, die sich mit »ernsthaften« Programmen befassen. »BizBasic« soll also das Schreiben von Anwender-Programmen vereinfachen.
Kernstück dieser Erweiterung ist eine relative Dateiverwaltung, die bekanntlich dem Disketten-Betriebssystem Amsdos fehlt. Sie funktioniert folgendermaßen: Die gesamte Diskette wird speziell formatiert und nimmt dann die Datei auf. Dadurch steigert sich die Geschwindigkeit des Dateizugriffs erheblich. Die Länge der Datensätze (Records) ist frei wählbar zwischen 63,127 und 255 Zeichen. Größere Datensätze lassen sich selbstverständlich durch Zusammenfassen mehrerer Records verarbeiten.
Bei ACCEPT handelt es sich um eine verbesserte Version des Basic-Befehls INPUT. Es besitzt eine ganze Reihe von praktischen Erweiterungen. So läßt sich im ACCEPT-Kommando die Länge der Eingabezeile vorgeben. Es ist nicht möglich, mit dem Cursor das Eingabefeld zu verlassen und damit etwa die Büd-schirmmaske zu zerstören. In einem String können diejenigen Tasten angegeben werden, die bei der Eingabe zugelassen sind. »JN« akzeptiert zum Beispiel nur das Drücken der J-und N-Taste. Ein Programmabbruch, der beim CPC 464 aufgrund eines Fehlers im Betriebssystem bei INPUT auch durch ON BREAK GO-SU B nicht abgefangen werden kann, ist unmöglich.
Zur Auflockerung der Bildschirmausgabe lassen sich die Befehle CENTRE (zentrierte Taxtausgabe), WALK (Laufschrift) und RBOUND (rechtsbündige Ausgabe) einsetzen. TSAVE und TLOAD speichern den Textbildschirm auf einem Datenträger. Der Vorteil gegenüber dem normalen Binär-SAVE liegt darin, daß die Datei nur ein bis zwei KByte groß wird. SCOPY gibt eine Text-Hardcopy auf jedem beliebigen Drucker aus, egal ob es sich dabei um einen Matrix-, Typenrad-, Thermodrucker oder ein sonstiges Ausgabegerät handelt. GERMAN und ENGLISH schalten blitzschnell zwischen deutschem und internationalem Zeichensatz um.
Sehr praktisch für druckintensive Programme ist der eingebaute Drucker-Spooler. Denn »BizBasic« fängt alle Ausgaben an den Drucker ab und speichert sie vorübergehend im RAM. Sie werden dann unabhängig vom laufenden Programm per Interrupt ausgedruckt: So muß der Computer nicht mehr auf den Drucker warten. Die Startadresse und Länge dieses Pufferspeichers lassen sich beim Aufruf der Routine angeben. Je größer der Bereich, desto effektiver kann der Spooler arbeiten. Doch auch schon eine Größe von zwei bis drei KByte schafft bei Wartezeiten spürbar Abhilfe.
»BizBasic«, das zu einem Preis von 98 Mark angeboten wird, ist also für Spieleprogrammierer aufgrund der Ausrichtung seiner Befehle nicht zu empfehlen, ansonsten aber dem Anwendungszweck angemessen.
»Power-Basic« richtet sich vorrangig an Programmierer, die an Spielen und Grafik interessiert sind. Es bietet 47 neue Befehle, die — wie bei allen getesteten Basic-Erweiterungen — als RSX ins System eingebunden sind.
Hervorstechendste Eigenschaft des Programms ist die sogenannte Rasterzeilengrafik. Durch eine sehr schnelle Interruptsteuerung lassen sich sämtliche 27 Farben des Video-Chips auf einmal darstellen, mehrere Modi gleichzeitig auf den Bildschirm bringen und Teile des Randes (BORDER) in verschiedenen Farben leuchten. Von der Programmierung her ist das ein Meisterstück. Diese Art der Grafikdarstellung verringert aber die Arbeitsgeschwindigkeit des Betriebssystems und aller laufenden Programme um rund 40 Prozent. Außerdem flimmern die Bildschirmzonen an ihren Grenzen doch erheblich, so daß der Bereich für sinnvolle Anwendung deutlich eingeschränkt wird.
Weitere Grafikbefehle heißen CIRCLE, CHAR (Darstellung von Riesenbuchstaben), SCREEN (zweiter Bildschirmspeicher ab der Speicheradresse 16384), LINE (Linien mit Anfangs- und Endkoordinaten zeichnen), BOX (Rechteck) und BLOCK (ausgefülltes Rechteck). Mit einigen Kommandos ist sogar die softwaremäßige Darstellung von Sprites möglich.
Auch der Drucker wurde nicht vergessen: Mit SCOPY und HCOPY läßt sich eine Taxt- beziehungsweise Grafik-Hardcopy ausgeben. Doch es finden sich auch Befehle, die wohl hauptsächlich dazu dienen, das Programm zu »strecken«: DISPRO hebt den Listschutz von mit »SAVE ”xx",P gespeicherten Programmen auf, und TURBO erhöht die Aufzeichnungsgeschwindigkeit des Kassettenrecorders. Diese beiden Kommandos waren in den letzten Monaten weit und breit in nahezu allen Computer-Zeitschriften zu finden.
Das Programm ist sehr gut gegen Raubkopierer geschützt. Allerdings verwehrt dieser Schutz auch die Anfertigung von Sicherheitskopien. Die getestete Version läuft nur auf dem CPC 464 und kostet auf Kassette 49, auf Diskette 69 Mark.
Die Bedienungsanleitung zum »Power-Basic« ist mit acht Seiten sehr knapp gehalten. So müßte vor allem die Rasterzeilengrafik ausführlicher erläutert werden. Auch beim Befehl AFRAME kann man nur raten, was er eigentlich bewirkt. Einige Formulierungen erinnern eher an die Anleitung für ein japanisches Transistorradio als für ein deutsches Software-Produkt. Bleibt nur zu hoffen, daß das Heftchen überarbeitet wird, weil schließlich zum guten Programm auch ein entsprechendes Handbuch gehört!
Vom Preis-/Leistungsverhältnis her ist »Power-Basic« dem »X-BASIC« eigentlich vorzuziehen. Wer aber seine mit der Basic-Erweiterung geschriebenen Programme weitergeben oder kommerziell verwerten will, sollte dennoch auf »X-BASIC« zurückgreifen. Der Hersteller erlaubt nämlich die Verbreitung von Programmen zusammen mit »X-BA-SIC« ohne irgendwelche Lizenzgebühren.
Betrachtet man die Programme, muß man zugestehen, daß in allen eine Menge Arbeit steckt. Eine Allzweck-Erweiterung für den Schneider gibt es aber nicht. Jeder muß sich die Basic-Erweiterung heraussuchen, die seinen Vorstellungen möglichst nahe kommt. Eine Anregung für die Software-Häuser: Der Clou wäre eine Basic-Erweiterung, die man nach persönlichem Geschmack aus einem Gesamtpaket zusammenstellen kann. So hätte man für jede Gelegenheit den passenden Befehlssatz. Etwas Ähnliches gibt es ja schon für Commodore-Computer. (Martin Kotulla/ja)