MS-DOS-Tools, WINI-Tools - Konvertierung nach Windows

Der ATARI ist ein Allround-Künstler, wenn es um Betriebssysteme geht. Kaum ein anderer Rechner kann mit so vielen Betriebssystemen begeistern wie er. Dennoch ist dieser Rechner in vielen Bereichen (z.B. im kaufmännisch-wirtschaftlichen Bereich) leider nicht so vertreten, wie man es sich wünschen würde. Aus diesem Grunde war ich gezwungen, Programme, die ich auf dem ST entwickelt hatte, auf einen PC zu übertragen. Mit Freude hörte ich daher von GFA Systemtechnik, daß meine Sprache nun auf MS-DOS und sogar auf Windows übertragen worden ist. In Zeitschriften las ich viel Positives - also die Lösung meiner Probleme?

Bestellt - bekommen - probiert -frustriert, so kann man schnell meine Erfahrungen mit dem GFA-BASIC für den PC beschreiben. Obwohl mittlerweile bessere Releases der Implementierungen für Windows und MS-DOS auf dem Markt sind, muß ich sagen, daß es nahezu unmöglich ist, ATARI-GFA-Programme unverändert auf den PC zu übertragen. Kaum ein Grafikbefehl, der die gleichen Eigenschaften wie auf dem ATARI hat. Kein schlechtes BASIC - doch keine Lösung, geschweige denn eine betriebssystemunabhängige Programmiersprache.

Der BASIC-Konverter nach C für Microsoft Windows

Nachdem ich auf der ATARI-Messe 1991 hörte, daß es CICERO Innovative System-Software gelungen ist, über den direkten Weg der BASIC-Konvertierung nach C Programme auf den PC zu übertragen, wagte ich noch einen Versuch: Also bestellte ich den BASIC-Konverter nach C inklusive MS-DOS- und WINI-Tools, die für PCs ohne Windows oder mit Windows die Lauffähigkeit meiner Programme erzeugen sollten.

Bedienung und Oberfläche...

... des Konverters sind das genaue Abbild des ATARI-Konverters, jedoch die Möglichkeit, auf die Konvertierung Einfluß zu nehmen ist wesentlich größer. Dieser Konverter versteht eine sogenannte Initialisierungs-Datei. In dieser lassen sich z.B. eigene Funktionen und Konstanten angeben. Befehle aus der Source herausnehmen, Parameterstellen von Funktionen und Such-Strings festlegen. Sogar die Umdefinition der Variablentypen durch Neuzuweisung der Endungen oder zusätzliche Zeilenendekennungen wie z.B. der von anderen Dialekten gewohnte ist möglich - eine sehr flexible und offene Konvertierungshilfe. Zum Spaß habe ich mir in 10 Minuten einen Pascal-nach-C-Konverter zurechtprogrammiert. Eine Eigenschaft dieses Konverters ist noch besonders zu erwähnen: Schreibt man hinter REM den Ausdruck: "BNC-GFA:", kann man Code hineinschreiben, der zwar von GFA-BASIC überlesen, vom Konverter jedoch übersetzt und übernommen wird. Schreibt man stattdessen hinter REM den Ausdruck „BNC-C:“, fügt der Konverter den dahinter stehenden C-Code direkt ohne Übersetzung in die Source ein. Durch diesen Trick lassen sich viele Teile, die nur in C möglich sind, in die GFA-Source einfugen, ohne daß sich der Interpreter beschwert.

Ein GEM-Sourcecode in GFA-BASIC vor...

Grafik?

Stichwort: Betriebssystemunabhängige (Grafik- )Programmierung: CICERO Innovative System-Software proklamiert ein hehres Ziel, auf dem ATARI in BASIC oder C zu programmieren und die Programme auf andere Betriebssysteme wie MS-DOS, Windows, UNIX und Apple übertragen zu können. Doch die Behauptung kannte ich schon von anderen Firmen. Lassen sich also auf dem ATARI in C erstellte Programme oder konvertierte GFA-BASIC-Programme auf MS-DOS-Rechner oder nach Windows übertragen?

Zum Test stand mir die Version 3.1 des Windows-Konverters und 1.1 der ATARI-, MS-DOS- und WINI-Tools zur Verfügung. Generell: C-Programme, die mit den ATARI-Tools, dem Pendant zu den MS-DOS-Tools und WINI-Tools für den ATARI ST, geschrieben wurden lassen sich tatsächlich übertragen, wenn diese sich nicht zu nah an ATARI-eigene Betriebssystemaufrufe (z.B. LineA, XIOS, BIOS, GEMDOS) halten. Bei konvertierten GFA-BASIC-Programme hatte ich es sogar noch einfacher, da der Konverter Syntax und C-Konvention genau auf die Portierung abrichtet. Kompatibel vorhanden sind alle an GFA BASIC angelehnten Grafikfunktionen von Linien über Boxen bis zu gefüllten Ellipsen, soweit ich dies feststellen konnte. Befehle wie PUT und GET geben zum Glück, wie auf dem ATARI gewohnt, Strings zurück und können beliebig große Bildausschnitte bearbeiten. Auch bei der Textausgabe entsprechen die Koordinaten im Gegensatz zu „GFA-BASIC PC“ den ATARI-Gewohnheiten. Besonders erstaunt hat mich, daß alle gewohnten Füllmuster und Mauszeiger vorhanden waren und funktionierten. Selbst die ATARI-eigenen Füllmuster lassen sich also übertragen. Einen Fehler fand ich jedoch bei der farbigen Ausgabe selbstdefinierter Muster. Während sonst alle Muster mit Farben korrekt auf den PC übertragen wurden, färbte Windows nur den äußeren Rand dieser Muster. Ebenso können nur 16 der 32 Bytes der selbstdefinierten Füllmuster gesetzt werden. Da dies bei den MS-DOS-Tools korrekt funktioniert, tippe ich auf eine Windows-Eigenart.

Schriften

Im gesamten Grafikbereich konnte ich lediglich bei der Schriftenausgabe der WINI-Tools und bei der Abrundung der Linienenden Inkompatibilitäten bemerken, die laut Herstellerangaben auf die Eigenarten von Windows zurückgehen. Vorteil zu diesem Nachteil: durch die Vielzahl der Windows-Fonts (z.B. True Type) lassen sich die Programme mit ansprechenden Schriften, die neuerdings seit Windows 3.1 auch in allen Größen und Richtungen skalierbar sind, verschönern. Gelungen nach meiner Meinung ist die Möglichkeit, durch ein vorgeschaltetes Menü den Lieblings-Font vom Benutzer wählen zu lassen - dies legt man durch Hinzu-Linken einer besonderen Bibliothek fest. Bei den MS-DOS-Tools ist das Problem der Schriften dadurch gelöst, daß immer mit dem original ATARI-Zeichensatz ausgegeben wird, d.h. alle vom ATARI gewohnten Bilder sind auch identisch auf dem PC. Gestört hat mich hier jedoch, daß die Schriftausgabe beim Bildschirm-Scrollen relativ langsam ist. Bei CICERO hat man mir versprochen, die Ausgabe des Scrollings so weit wie möglich zu optimieren.

Generell kann ich zum Vergleich GFA-BASIC PC mit WINI-Tools und MS-DOS-Tools von CICERO im Grafikbereich feststellen, daß eine 1 zu 1 Programmübertragung, sei es mit konvertierten GFA-BASIC oder selbst geschriebenen C-Programmen, zur Zeit nur mit den Tools von CICERO tatsächlich möglich ist. Zur Demonstration ist ein kleines Grafikbeispiel angefügt.

Jeder ATARIaner, der zum PC überwechseln muß, kennt das typische PC-Problem: die MS-DOS-Speicherverwaltung. Bei den IBM-kompatiblen PCs gibt es selbst bei den heute gebräuchlichen 386ern und 486ern immer noch die Beschränkung des Speichers auf 640 KByte und der auf 64 KByte beschränkten Seitengröße des Speichers - keine Chance also für einen linearen Speicher. Dies bedeutet, daß es nicht möglich ist, größere Felder und Variablen als 64 KByte anzulegen. Für den nicht gerade verwöhnten GFA-BASIC-Programmierer mit den auf 32 KByte beschränkten Strings mag dies zuerst nicht sehr bedeutsam erscheinen. Da jedoch Bilder und ganz besonders VGA-Farbbilder leicht in der Größenordnung von mehreren hundert KByte liegen, ist dies das ,Aus‘ für Befehle wie SGET und SPUT. Die gleiche Schwierigkeit hatten schon die GFA-BASIC-Programmierer auf dem TT. Die MS-DOS-Tools, die dieses Problem am härtesten trifft, helfen sich dadurch, daß sie große Bilder auf Festplatte oder EMS auslagern. Die WINI-Tools erlauben jedoch wie die ATARI-Tools die Programmierung von sogenannten "Großen Strings", die nicht mehr in der Größe beschränkt sind. In diese Strings können durchaus Bilder von der Größe eines Megabytes eingelagert und wieder auf den Bildschirm gezaubert werden.

Bei diesem Test habe ich aus Platzgründen nur die oben beschriebenen beiden Programmierbereiche darstellen können. Die Möglichkeiten der Tools hier auch nur annähernd vollständig darzustellen, würde den Rahmen sprengen. Insgesamt machen die Tools von CICERO jedoch bisher einen soliden und gut durchdachten Eindruck. Wenn auch nicht alle meine GFA-BASIC- Programme sofort auf dem PC liefen oder ich doch einiges an Eingewöhnungszeit benötigte, muß ich sagen, daß die MS-DOS- und WINI-Tools die Einarbeitung in die Grafikprogrammierung des IBM-kompatiblen PCs vollständig erübrigen, was besonders bei Windows ein nicht zu unterschätzender Vorteil ist. Mit den Tools ist eine enorme Zeitersparnis bei der Portierung von Programmen auf andere Betriebssysteme gegeben. C-Programmierer, die ihre Programme auf der Grundlage der Tools schreiben, können gewiß sein, daß die Portierung mühelos automatisiert abläuft, da alle CICERO-Tools kompatible Bibliotheksfunktionen festlegen. Wenn CICERO das Vorhaben wahrmachen sollte, die Tools auch für UNIX und Apple herauszugeben, wäre dies möglicherweise endlich die Lösung für eine über alle Systeme kompatible Grafikprogrammierung.

Preise:

BASIC nach C MS Windows 549, -
Wini-Tools (einzeln) 249,-
MS-Tools (einzeln) 249.-

Bezugsquelle:

Cicero Innovative System-Software Ballweilerstraße 7 6676 Mandelbachtal

... und nach der Konvertierung

Michael Regitz
Aus: ST-Computer 09 / 1992, Seite 44

Links

Copyright-Bestimmungen: siehe Über diese Seite