Dies ist eine alte Version des Dokuments!
Basic Programmierung auf dem Portfolio
Die Diskussion über Vor- und Nachteile von Interpretern oder Semicompilern soll hier nicht wieder aufgerollt werden. Es soll aber sehr wohl eine kurze Beschreibung folgen, um denen, die noch keine Programmier-Erfahrung auf dem Portfolio haben, die Unterschiede der einzelnen Basic-Dialekte und Plattformen darzustellen, um sich für die richtige zu entscheiden.
Viele haben bereits ihre Favoriten aus früheren Zeiten und von anderen Plattformen. Der Portfolio kann auch da mithalten, wenn auch oft mit ein paar Nachteilen.
Speziell für den Portfolio gibt es sechs Dialekte, die aber auch unterschiedliche Philosofien vertreten.
Portfolio Basics
Der bekannteste und warscheinlich meist verbreitetste Interpreter ist PBasic von B.J. Glaeson. Der Interpreter liest ASCII-Quelldateien, die mit dem eingebauten Editor geschrieben wurden. Anders als beim guten alten Microsoft Basic oder BASICA des IBM PC, gibt es keine Kommando-Zeile, es werden nur Dateien interpretiert.
Wie es sich für ein Portfolio-Programm gehört, unterstützt PBasic Portfolios eigene Funktionen, wie z.B.: AES-Fenster, Telefon-Wählfunktionen und vieles mehr, sogar das auslesen von WKS-Dateien! Der größte Nachteil ist, dass PBasic keine Random Access Files kennt. Wer also Datenbanken programmieren will wird Schwierigkeiten bekomen.
PBasic ist Freeware und läuft auf einem standard-Portfolio. Wer große Basic-Programme schreiben will sollte aber eine Speicherweiterung verwenden, sonst bekommt man schnell die Meldung „Out of Memory“.
Die Syntax ist jedem der BASICA auf dem PC kennt sehr vertraut.
An zweiter Stelle sollte PowerBasic erwähnt werden. Es ist in gewisserweise DIE Programmiersprache für den Portfolio, sie ist dem Portfolio maßgeschneidert.
PowerBasic ist ein Basic-Compiler der, wie auch PBasic, ASCII Text-Dateien als Quelle nimmt, diese aber nicht Zeile für Zeile interpretiert und ausführt, sondern sie in ausführbare Programme umwandelt. Um wertvollen Speicher zu sparen, werden aber häufig verwendete Funktionen in einer Runtime-Library (wie die DLLs bei Windows) abgelegt, so sind die kompilierten Programme immer klein und der Code liegt nicht mehrfach auf dem Datenträger.
Programme die mit PowerBasic geschrieben wurden sind natürlich wesentlich schneller, und anders als PBasic, beherrscht PowerBasic Random Access Files. Wer also Datenbanken schreiben will, sollte PowerBasic wählen. Es gibt einen weiteren Grund: die mit PowerBasic kompilierten Programme können die Dateiendung „.RUN“ haben, das bedeutet, dass diese Programme direkt auf einer Speicherkarte in Laufwerk A ausgeführt werden können, ohne dass sie in den Speicher geladen werden müssen. Somit steht der gesamte vorhandene Arbeitsspeicher für Daten zur Verfügung.
PowerBasic ist keine Freeware, sie ist von Spectra Publishing und wurde von Atari vertrieben.
Auch Swift!Basic erzeugt ausführbare Programme und lagert häufig verwendete Funktionen in eine Runtime-Library aus. Random Access Files sind auch kein Problem. Mit Swift!Basic kompilierte Programme können aber nicht als „.RUN“-Datei auf einer Speicherkarte ausgeführt werden. Dafür hat Swift!Basic ein paar Grafik-Befehle mehr, wie zum Beispiel Ellipsen und Füllen von Flachen.
Auch Swift!Basic ist keine Freeware und auch nicht billig. Es stammt von Weber/Zemanek aus Wien.
Es gibt drei weitere Basic-Dialekte für den Portfolio, die aber weniger bekannt sind:
Portfolio Basic von Sjoerd Spoelstra (Niederlande)
PBAS (Frankreich)
Pofo Basic (PFBAS.COM) von Harun Scheutzow (Deutschland)
Fremde Basics
Wer keinen neuen Dialekt lernen will, oder die Programme verwenden will, die er bereits vor Jahren geschrieben hat, wird auch seinen gewohnten Interpreter verwenden wollen. Von diesen wurden einige, mehr oder weniger erfolgreich, auf dem Portfolio getestet.
Der beliebteste oder meist verbreitetste wird wohl Microsofts GW-Basic sein. Wer behauptet, GW-Basic laufe nicht auf dem Portfolio, der hat recht. Man kann es aber zum Laufen bringen. Eine Anleitung dazu gibt es hier . Trotzdem muss man von Einschränkungen ausgehen, vor allem bei Hardwarezugriffen sollte man vorsichtig sein. Ein Überarbeiten der Quelldateien wird in den meisten Fällen unumgänglich sein.
ZBASIC von Li-Chen Wang bzw. Michael E. Sullivan läuft auf dem Portfolio, aber auch nicht ohne Probleme:
Der Bildschirm-Editor (F10) hakt manchmal, besonders wenn der Cursor über das Datei-Ende hinaus bewegt wird. Man sollte ein paar Leerzeilen am Ende einfügen und sehr oft speichern.
Grafik-Routinen dürfen nur die BIOS-Funktionen verwenden, und keine Hardwarezugriffe machen.
ZBASIC geht von einem Farbbildschirm aus und verwendet Attribute, manche Meldungen sieht man einfach nicht. Um dies etwas in den Griff zu bekommen sollte man den CONFIG-Befehl ausführen. Die normale Konfiguration ist:
14,6,6,2,0,49,I,n,y,y,y, BAS,25,300,n,n,n,y,y.
ändern sie die Werte um:
14,6,6,1,0,49,I,n,n,n,y,BAS,25,300,n,y,n,y,y.
Es gibt ein vor-konfiguriertes Programm namens ZDEMO.COM für den Portfolio von Skipp Miller.
TBASIC läuft prinzipiell auch. Es gibt aber kleinere Probleme, TBASIC kann zum Beispiel auf dem Portfolio keine Zufallszahlen generieren (RND(n) liefert immer 1). TBASIC ist mit 3KB der kleinste aller Interpreter, hat aber einen sehr eingeschränkten Umfang.
Wer Erfahrungen mit weiteren Basic Interpretern oder Compilern auf dem Portfolio macht, kann diese hier bekannt geben.