Welches Basic für meinen MZ-700?

Der MZ-700 hat kein fest eingebautes Basic. Neben dem serienmäßigen S-Basic kann man verschiedene andere Interpreter kaufen. Zwei Versionen auf Kassette bieten sich an.

Basic-Dialekte gibt es wie Sand am Meer. Als die Sprache vor zwanzig Jahren entwickelt wurde, stand die Computertechnik am Anfang ihrer Entwicklung. Routinen, mit denen heute jeder Heimcomputer arbeitet, waren unbekannt oder konnten nur auf sehr großen Anlagen realisiert werden. Unter diesen Bedingungen wurde Basic als Sprache für Einsteiger geschrieben und das Grundgerüst beschränkte sich auf damals notwendige Befehle.

Da Basic direktes Programmieren ohne Variablendefinition oder gar Flußplan erlaubt, bot es sich für die Heimcomputer geradezu an. Damit konnten erstmals Laien ohne Ausbildung in Datenverarbeitung programmieren. Aber die neuen Geräte leisteten viel mehr als ursprünglich in der Sprache vorgesehen war. Jeder Hersteller baute deshalb in sein Basic spezielle Befehle ein. An eine Norm dachte dabei niemand und schnell war das bekannte Sprachdurcheinander da.

Der Sharp MZ-700 ist einer der wenigen Heimcomputer, die im ROM keinen Basic-Dialekt fest eingebaut haben. Zwar wird mit dem Computer das S-Basic — eine spezielle Basic-Version von Sharp für den MZ-700 — geliefert, aber der Interpreter muß jedesmal von Kassette neu geladen werden. Der MZ-700 bietet sich deshalb für andere Sprachen, auch für andere Basic-Dialekte, direkt an.

So kann man das S-Basic mit BAS MOD 700 um viele Befehle zur strukturierten Programmierung erweitern. Die Erweiterung für den Interpreter wird für 100 Mark auf Kassette geliefert. Das Laden dieser Erweiterung ist etwas umständlich, da man zuerst das S-Basic im Computer speichern und anschließend in den Monitor zurückkehren muß. Dann erst darf man BAS MOD 700 laden. Allerdings wird im mitgelieferten Handbuch beschrieben, wie man sich die so erweiterte Basic-Version auf Band speichern kann.

Besonders Freunde strukturierter Sprachen, wie beispielsweise Pascal, werden über die neuen Befehle, die das erweiterte Basic zur Verfügung stellt, begeistert sein. »REPE-AT...UNTIL...« und »WHILE...WEND« bearbeiten eine Schleife solange bis eine Bedingung erfüllt ist. Bei »REPEAT..UNTIL...« steht diese Bedingung am Ende der Schleife, bei »WHILE...WEND« am Anfang. Hieraus folgt, daß jede »REPEAT...UNTIL...«-Schleife mindestens einmal, die »WHILE.. .WEND«-Schleife manchmal aber gar nicht abgearbeitet wird. GOTO- und GOSUB-Sprünge müssen nicht auf eine bestimmte Zeilennummer erfolgen, es dürfen Labels gesetzt werden.

Auch Bedingungen können übersichtlicher gestaltet werden. Die »IF...THEN...«-Anweisung ist um ELSE erweitert. Nicht erfüllte Bedingungen können damit auch eine bestimmte Befehlsfolge aufrufen. Weitere Befehle helfen bei Druckersteuerung, Tonerzeugung oder der Arbeit mit Maschinensprache. Einzelne Zeichen werden auf Bildschirm, Band oder Drucker ausgegeben und eine Hardcopy wird ganz einfach mit COPY geplottet.

Boolsche Algebra ist für den MZ-700 mit BAS MOD 700 kein Fremdwort mehr. AND, OR und NOT erlauben eine Verknüpfung verschiedener Bedingungen und die entsprechende Bearbeitung.

Alle Befehle können abgekürzt werden. Maximal drei Buchstaben sind notwendig, um einen Befehl eindeutig zu charakterisieren.

Trotz vieler neuer Befehle belegt der erweiterte Interpreter nicht mehr Speicherplatz als das Original-S-Basic. Eine Lücke im Interpreter haben die Entwickler für ihre Erweiterung genutzt. Das S-Basic ist auch schon für viele zusätzliche Befehle vorbereitet, wie ELSE, Labels und boolsche Algebra. Der neue Interpreter ist ein Beispiel dafür, wie man ungenutzte Fähigkeiten optimal ins Spiel bringt.

Der zweite Basic-Interpreter (Preis: 160 Mark) wird auch auf Kassette geliefert. Er benötigt aber nicht das S-Basic als Grundlage, sondern ist vollständig unabhängig. Ein Handbuch mit mehr als 200 Seiten erklärt alle Befehle, auch schon bekannte Standardanweisungen.

Ein wichtiges Merkmal ist die doppelte Rechengenauigkeit, mit der das HuBasic arbeitet. Ähnlich wie bei Pascal werden Variablen mit bestimmten Eigenschaften am Anfang des Programms vereinbart. Die Zahlen werden bis zu einem Absolutwert von 1038 korrekt behandelt. Klein eingegebene Buchstaben werden in große umgewandelt, sofern sie nicht Teil eines Strings sind.

Der Basic-Interpreter belegt die Tastatur automatisch mit verschiedenen Funktionen für Cursor-, Bildschirm- und Textsteuerung. Fehler werden in Deutsch und nicht in Englisch angezeigt. Damit erklären sie sich meist selbst, aber sicherheitshalber werden sie im Handbuch noch einmal beschrieben.

Wie BAS MOD 700 kennt auch HuBasic Befehle für strukturierte Programme und boolsche Algebra. Überhaupt sind fast alle Befehle des erweiterten S-Basic vorhanden. Eingaben des Benutzers können direkt vom Bildschirm gelesen werden.

Der Befehlssatz des HuBasic ist sehr umfangreich. Neben den üblichen Befehlen erhält man mit SE-ARCH einen speziellen Suchbefehl für Zeichenketten. Daten können direkt von Kassette auf den Bildschirm oder den Plotter ausgegeben werden. Den Plotter — oder auch einen Drucker — spricht man übrigens mit den gängigen Befehlen LLIST und LPRINT an und nicht wie im S-Basic üblich mit dem Zusatz /P.

Spezielle Befehle für Bildschirmsteuerung, Datei- und Fehlerbearbeitung machen, neben Anweisungen für den Plotter beziehungsweise Drucker, den Interpreter zu einer runden Sache. Viele Funktionen, wie Befehle zur Konvertierung verschiedener Zahlentypen oder zur Spiegelung einer Binärzahl (aus 00111001 wird dann 10011100), sind sonst in Basic-Dialekten unbekannt.

Mit Sicherheit gewinnt der MZ-700, wenn man ihn mit einem verbesserten Basic-Interpreter betreibt. HuBasic ist für den MZ-700-Besitzer geeignet, der sich die Arbeit mit anspruchsvollen Programmen erleichtern will. Allerdings geht ein großes Maß an Kompatibilität verloren. Da das BAS MOD 700 auf das S-Basic zurückgreift, sind seine Programme leichter auf fremde Sharp-Computer zu übertragen. Dafür ist aber der Befehlssatz nicht so umfangreich. Eine Empfehlung wäre hier fehl am Platze, da jeder andere Ansprüche an seinen Interpreter stellt. (hg)

Befehlssatz der Erweiterung BAS MOD 700

AND OR NOT DEEK PUT ELSE TONE QUIET BEEP LABEL DOKE WHILE WEND REPEAT UNTIL COPY CALL

Befehlssatz des HuBasic

ABS AND ASC ATN AUTO AXIS BEEP BIN$ BOOT CALL CINT/CSNG/CDBL CHAIN CHARACTER$ CHR$ CIRCLE CLEAR CLICK ON/OFF CLOSE CLS COLOR CONSOLE CONT COS CSRLIN CURSOR/LOCATE CVI/CVS/CVD DATA DEF FN DEF TYP DEF KEY DEF USR DELETE DEVICE DEVI$ DEVO$ DIM DTL EDIT END EOF ERL ERR ERROR EXP FAC FILES FIX FN FOR...TO...STEP FPOS FRAC FRE GOSUB GOTO GPRINT HEX$ HSET IF...THEN...ELSE INIT INKEY$ INP INPUT INPUT# INPUT$ INSTR INT KEY KEYLIST KEYO LABEL LEFT$ LEN LET LFILES LIMIT LINE LINPUT/LINE INPUT LINPUT#/LINE INPUT LIST LLIST LOAD/LOADM LOAD?/VARIFY LOC LOCATE LOF LOG LPOS LPRINT MAXFILES MEM$ MERGE MID$ MIRRORS MKI$/MKS$/MKD$ MON MODE MOVE MUSIC NEW NEWON NEXT NOT OCT$ ON..GOTO/GOSUB/RETURN/ RESTORE/RESUME ON ERROR GOTO OPEN OPTION BASE OR OUT PAGE PAI PAUSE PCOLOR PEEK PEEK$ PHOME PLAY POKE POKE$ POS PRESET PRINT PRINT# PRINT USING PSET RAD RANDOMIZE READ REM RENUM REPEAT REPEAT ON/OFF RESTORE RESUME RETURN RLINE RMOVE RIGHT$ RND RUN SAVE/SAVEM SCRN$ SEARCH SGN SIN SIZE SKIP SPACE$/SPC SQR STOP STRING$ STRPTR STRS SUM SWAP TAN TEMPO TEST TIME$ TRON/TROF UNTIL USR VAL VARPTR WAIT WHILE/WEND WRITE WRITE#



Aus: Happy Computer 02 / 1985, Seite 48

Links

Copyright-Bestimmungen: siehe Über diese Seite