OMIKRON-Basic im EPROM - Allzeit Bereit

Eine neue Basic-Version auf dem Softwaremarkt: Wegen seiner längeren Entwicklungszeit ist der Basic Interpreter von OMIKRON nur zweiter Sieger - zumindest zeitlich gesehen. Markus Nerding hat untersucht, welche Qualitäten das Produkt auszeichnen.

Das erste auffällige Merkmal des neuen OMIKRON Basic-Interpreters ist sein Konzept. Anders als bisher üblich wird dieses Programm als Modul geliefert, das seinen Platz im ROM-Port des ST findet. Basic belegt dadurch keinen Speicherplatz - interessant besonders für Besitzer eines 'kleinen' Rechners mit 512 K. Es besteht aus drei 32K-Eproms, die mit einer Demo-Diskette und einem umfangreichen Handbuch für 229 DM erhältlich sind. Das Handbuch enthält viele Beispiele und bietet auch dem Basic-Neuling einen leichten Einstieg. Um Programme auch an Personen weitergeben zu können, die das Modul nicht besitzen, liefert OMIKRON einen RUN-ONLY INTERPRETER, mit dessen Hilfe ein Basic-Programm ablaufen kann. Das Editieren ist selbstverständlich nur mit dem Modul möglich.

Harte Bits

Das Prinzip des Moduls hat natürlich einige grundlegende Vorzüge gegenüber einer Diskettenversion: Es ist ständig verfügbar und muß nicht nachgeladen werden. Wichtig ist, daß man sich nach einem Systemabsturz oder nach einem RESET in Basic wiederfindet, der Neustart wird damit meist abgefangen. Störend ist dabei allerdings, daß einige Programme den Modulschacht als Kopierschutz mißbrauchen und auf diese Weise ein ständiges Wechseln der Module erforderlich machen, was der Portbuchse sicherlich nicht gut tut. Das liegt natürlich nicht am OMIKRON-Basic - doch was mag passieren, wenn mehrere Softwarehersteller sich entschließen, ihre Produkte auf ROMS zu liefern.

Standard oder mehr?

Um es gleich vorweg zu nehmen: OMIKRON-Basic kann wesentlich mehr als der 'Basic-Standard'. Wer möchte sich schon mit dem Standard zufrieden geben?
Die Zeiten der wilden Sprünge und unübersichtlichen Programme sollten als Relikte der Vergangenheit bezeichnet werden. OMIKRON-Basic schafft Abhilfe mit vielen Befehlen, die das 'strukturierte Programmieren' unterstützen. Dies sind vor allem die Schleifensteuerungen, die verblüffende Ähnlichkeit mit denen von Pascal aufweisen. Dazu gehören REPEAT...UNTIL und WHILE...WEND, die einen Block durchlaufen und das Abbruchkriterium entweder am Anfang oder am Ende eines Programmblocks abfragen. Im Minimalbasic erfolgte dies durch wüste 'IF Abfragen' und ebensolche 'GOTO'-Sprünge. Die Möglichkeit der ebengenannten Blöcke, ist eine wichtige Eigenschaft, die vor allem die 'IF...THEN...ELSE...ENDIF'-Abfrage wesentlich leistungsfähiger macht. Wie Sie sicher schon feststelklten, sind wir nicht gerade Freunde der unstrukturierten Programmierung, wie sie im alten Basic kaum vermeidbar war. Zwei wichtige Fähigkeiten, die dem OMIKRON-Basi sogar eine gewisse Ähnlichkeit mit Pascal bescheren, sind die Prozeduren und mehrzeiligen Funktionen. Sie ermöglichen es, komplexe Unterprogramme zu erstellen, die sogar die Parameterübergabe unterstützen. Wie aus dem Beispielprogramm ersichtlich, liefert die Prozedur sogar Werte zurück. Die so entstehenden Möglichkeiten sind erheblich sie zu erläutern, wäre hier zu langwierig. Kurz gesagt: Sie bringen wieder Licht ins Leben eines Basic Programmierers.

Genauigkeit ist Trumpf

Mathematik, ein in der Schule meist wenig geliebtes Kapitel, erhält beire Programmieren wieder Bedeutung. Hier liegt auch eine Stärke des OMIKRON-Basics. Einmalig sind die hohe Genauigkeit und die vielen mathematischen Funktionen. Doch alles der Reihe nach. OMIKRON-Basic beherrscht doppelt genaue Zahlen, und zwar bis zu 19 Stellen. Dabei handelt es sich nicht um einen 'FLOP' wie bei ST-Basic, sondern alle Stellen werden genau berechnet. Die möglichen Exponenten umfassen dabei einen Bereich von + - 4931.

Verfügbare Variablen-Typen
Boolean 0, -1
Byte 0...255
Integer - 32768... + 32767
Long-Integer -2147483658 ... + 2147483657
Real + - 5 E+ - 4931 (9 Stellen)
Double + - 5 E+ - 4931 (19 Stellen)
String 32766 Zeichen

Bei den mathematischen Befehlen legt OMIKRON besonderen Wert auf die trigonometrischen Funktionen, logischen Verknüpfungen und die Matrizenalgebra. Gerade sie ist, z. B. bei der Lösung von Gleichungssystemen und vor allem bei der Berechnung von 3-D Grafiken, ein wichtiges Mittel zur Vereinfachung und Beschleunigung eines Programms.

Grafische Fähigkeiten

OMIKRON beherrscht alle gängigen Grafik-Befehle (Line, Circle, Box, Pbox, Point, Fill, Color, ...). Ein besonderer Leckerbissen ist die Spritefunktion: Sie erzeugt Sprites in jeder Auflösungsstufe - und das in zwei Formten (16 * 16 und 32 * 32 Pixel). Wem diese vordefinierten Größen nicht ausreichen, dem steht durch BITBLT die Möglichkeit offen, beliebige Bildschirmbereiche schnell, entweder, innerhalb des Bildschirms oder in den Speicher, zu kopieren - eine wichtige Grundlage für bewegte Grafik und Fensterverwaltung.
Die Funktion wurde nicht dem VDI entnommen und erreicht somit eine wesentlich höhere Geschwindigkeit.

Leckerbissen

Ergänzend zu den Mathematik- und den Strukturbefehlen verfügt OMIKRON-Basic noch über einige leistungsstarke Befehle, so z. B. der SORT-Befehl. Er sortiert ein Feld in kürzester Zeit und verwendet dabei den Quicksort-Algorithmus.
Zur Dateieingabe gibt es komfortable INPUT-Befehle, so der Befehl FORMINPUT, der zum leichten Eingeben von Zahlen oder Text dient.
Die Fehlersuche wird durch TRON, ON ERROR GOSUB, ON TRACE GOSUB und GUMP (Variablenliste) unterstützt.
Der Editor arbeitet bildschirmorientiert und erlaubt das Scrollen des Textes nach oben und unten. Zusätzlich können die Funktionstasten frei belegt werden, also an persönliche Bedürfnisse angepaßt werden.

Bibliotheken

Sozusagen als Zugabe liefert OMIKRON eine umfangreiche GEM- und ISAM-Bibliothek auf Diskette mit. Die GEM Bibliothek enthält die Systemaufrufe des VDI und AES und vereinfacht auf diese Weise den Umgang mit GEM. Die ISAM-Bibliothek (Index Sequentielle Datei) unterstützt, zusätzlich zu den direkt implementierten Befehlen, die komfortable Dateiverwaltung und nimmt dem Programmierer einige Arbeit ab.
Als Beispiel und Hilfestellung zu GEM und ISAM enthält die beigefügte Diskette ein langes, ausführlich dokumentiertes Listing, anhand dessen die Bibliotheksfunktionen erklärt werden.

Konkurrenz belebt das Geschäft

Zwangsläufig kommt ein Vergleich mit GFA-Basic auf - und zwar nur mit GFA-Basic (oder ist das neue STBasic vielleicht schon lieferbar?) Obwohl wir keinen Vergleich beabsichtigen, wollen wir einige Fakten erläutern. Auf den ersten Blick fällt OMIKRON-Basic durch seine Zeilennummern auf. Das ist bei Basic zwar normal, doch GFA zeigt, daß es auch anders geht. Zwar ist fraglich, ob man es dann überhaupt noch BASIC nennen sollte, aber praktisch ist es schon. Das automatische Einrücken des GFA-Editors zeigt überhaupt deutlich Vorteile.
Im Gegensatz zu GFA-Basic erlaubt OMIKRON die Ausführung mehrerer Befehle im Direktmodus und das Anspringen von Zeilen mit 'CONT Zeilennummer`, was besonders beim Austesten nützlich ist.

Bei der GEM-Programmierung liegt das GFA-Basic durch die vordefinierten Befehle zur Drop-Down-Menü Steuerung und durch Alert-Boxen, die besonders dem Einsteiger den Einstieg in GEM erleichtert, besser im Rennen. Natürlich betrifft dies nur einen Teil der GEM-Fähgikeiten; die Dialogboxen, Fensterprogrammierung und vieles mehr ist bei beiden Interpretern nicht direkt vorhanden. Omikron Basic besticht dabei durch seine beigelegte GEM-Bibliothek.

Bei Prozeduren bietet OMIKRON-Basic die einfachere Parameterrückgabe. Funktionen können sich, im Gegensatz zu GFA-Basic auch über mehrere Zeilen erstrecken.
Der große Trumpf des neuen OMIKRON-Basic sind ohne Zweifel die mathematischen Befehle. In Sachen Genauigkeit, bei trigonometrischen Befehlen und Matrizenrechnung hat OMIKRON die Nase deutlich vorn. Beim Benchmarktest zur Ermittlung der Geschwindigkeit ergaben sich annähernd die gleichen Zeiten, mit einem leichten Vorteil für OMIKRON-Basic, wobei das abweichende Zahlenformat und die unterschiedlichen Befehle natürlich eine große Rolle spielen, und deshalb ein direkter Geschwindigkeitsvergleich recht umfangreich ist. Eine Leerschleife wird in OMIKRON-Basic etwa doppelt so schnell abgearbeitet.

Fazit

OMIKRON-Basic kann man als einen überdurchschnittlich leistungsstarken Basic-Interpreter bezeichnen. Seine Vorzüge liegen im mathematischen Bereich. Durch das Modulkonzept eröffnet sich sogar die in Basic völlig neue Möglichkeit, Accessories zu erstellen.

Bezugsquelle: OMIKRON Software Erlachstr. 15

Omikron-BASIC-Befehle

ABS, AES, AND, ARCCOS, ARCCOT, ARCOTH, ARCSIN, ARSINH, ARTANH, ASC, ATN, BACKUP, BIN$, BIOS, BIT, BIT =, BITBLT, BLOAD, BSAVE, BOX, CALL, CDBL, CHAIN, CHDIR, CHR$, CINTL, CINT, CIRCLE, CLEAR, CLIP, CLOSE, CMD, COMMON, CONT, COPY, COSECH, COSEC, COSH, COS, COTH, COT, CSNG, CSRLIN, CVD, CVIL, CVI, CVS, DATA, DATE$ =, DATE$, DEF FN, DEF PROC, DEF SPRITE, DEF USR, DEFDBL, DEFINT, DEFINTL, DEFSNG, DEFSTR, DEG, DET DIM, DRAW, DUMP, EDIT, ELLIPSE, END, ENDIF, EOF, EQV, ERL, ERR$, ERROR, ERR, EXIT, EXIT, TO, EXP, FACT, FIELD ...AS, FILES, FILL, FILL COLOR =, FILL STYLE =, FIX, FN, FOR...TO...STEP...NEXT, FRAC, FRE, GEMDOS, GET, GOSUB GOTO, HEX$, HIGH, IF...THEN...ELSE...ENDIF, IMP, ENKEY$, INPUT, INPUT USING, INPUT$, INPUT, INSTR, INT, KEY KEY, LIST, KILL, LDUMP, LEFT$, LEN, LET, LINE COLOR =, LINE INPUT, LINE STYLE =, LIST, LLIST, LN, LOAD, LOCAL, LOCATE, LOC, LOF, LOG, LOW, LOWER$, LPEEK, LPOKE, LPOS, LPRINT, LSET, MAT = 1, MAT *, MAT CLEAR, MAT INV, MAX, MEMORY, MERGE, MID$ =, MID$, MIN, MIRROR$, MKD$, MKDIR, MKI$, MKIL$, MKS$, MOD, MODE, MODE =, MOUSEBUT, MOUSEX, MOUSEY, NAME, ...AS, NAND, NEW, NEW "NAME", NEXT, NOR, NOT, OCT$, ON ERROR GOTO, ON HELP GOSUB, ON KEY GOSUB, ON MOUSEBUT GOSUB, ON TIMER GOSUB, ON TRON GOSUB, ON ...GOSUB, ON ...GOTO, ON ...RESTORE, OPEN, OR, PALETTE, PBOX, PCIRCLE, PEEK, PELLIPSE, PI, POINT(), POKE, POS, PRBOX, PRINT, PRINT, PRINT USING, PRINT #, PROC, PUT, RAD, RBOX, READ, REM, RENUM, REPEAT...UNTIL, RESTORE, RESUME, RETURN, RIGHT$, RMDIR, RND, RSET, RUN, RUN, "NAME", SAUE, SAVE, SYSTEM, SAVE,A, SCREEN, SECH, SEC, SEGPTR, SGN, SHL, SHR, SINH, SIN, SORT, SPACE$, SPC, SPRITE, SQR, STOP, STR$, STRING$, SWAP, SYSTEM, TAB, TANN, TAN, TEXT, TEXT COLOR =, TEXT HEIGHT =, TEXT STYLE =, TIME$ =, TIME$, TIMER, TROFF, TRON, UPPER$, USING, USR(), VAL, VARPTR, VDI, WHILE...WEND, WPEEK, WPOKE, WRITE, WRITE, XBIOS, XOR



Aus: ST-Computer 12 / 1986, Seite 79

Links

Copyright-Bestimmungen: siehe Über diese Seite