C64: Der ShellEditor – ein mysteriöses Interface (aus Darthmouth?) – Starting up mit Basic für alles

Viele der 8Bit-Homecomputer kamen mit einem Basic als Entwicklungsumgebung und auch als eine Art Betriebssystem daher. Disketten ansehen & Programme laden lief letztlich alles über Basic. [Siehe auch andere BlogEinträge in diesem Blog] So auch beim C64.

Basic war so quasi ein Verkaufsargument: Du kannst auch selber etwas mit dem Computer machen. Vergleichweise gut kann man das gerade beim ZX81 sehen. Da wird der Rechner als erweiterter Taschenrechner verkauft vom Design bis zur mitgelieferten Anleitung.

Das Basic ist beim C64 im ROM vorhanden und wird in den Speicher geladen beim Aufstarten. Und ist anscheinend 64k – 38911 Byte gross. Es ist ein schon damals uraltes Basic von Microsoft (siehe dazu Blogeintrag um Jack Tramiel).

Computer Handling in Basic

Der Text-Bildschirmspeicher (Textmode) ist dabei eine Art Editor. Lädt man etwa das Listing einer Diskette mit

LOAD "*",8,1

So befindet sich danach das Listing im Speicher. Und mit List lässt es sich ausgeben.

LOAD "TEST.PRG",8,1

Danach tippt man ein load „test.prg“,8,1 und lädt das Programm oder man fährt mit dem Cursor zur entsprechenden Zeile und hängt davor ein ‚load „‚ und danach ein ‚“,8,1″ und drückt RETURN. Schon wird das PRG geladen.

RUN

Mit dem ebenfalls Basic-Befehl RUN startet man das Programm. Und zwar egal ob, eine EXE oder ein Basic-Programm. Letztlich sind alle Binaries Basic Programme.

Mischung aus Shell und Editor (ShEd)

Das C64 Basic Interface ist eine Mischung aus Shell und Editor. Es ist eine Art Shell, weil man Befehle eingeben kann überall. Ein Editor, weil man konkret editieren kann. Dennoch ist es keine reine Shell (wie bei Unix, Apple II, MS-DOS, die ja eigentlich nur eine Zeile ist, in der Befehle eingeben werden können. Das Davor und das Danach ist der Output der Shell. Das ist im C64 Basic Editing fundamental anders. Hier ist alles gemischt. Hier führt das Return die aktuellste Zeile aus. Ein ähnliches Konzept findet sich auch noch in der Oberfläche der LILITH, wo auch jeder Text ausgeführt werden kann (soweit ich weiss, unabhängig vom Prg).

Tastatur

Im der Prä-GUI-Zeitalter ist die Tastatur, das wichtigste Eingabegerät. Sie ist tatsächlich qualitativ recht hochwertig für einen so ‚billigen‘ Computer (was ja im Design berücksichtigt wurde). Erinnert an die PC1-Tastatur. Auch die Höhe wirkt sich nicht, wie erwartet negativ aus, man kann damit gut arbeiten. Allerdings gibt es auch Unverzeihlichkeiten: etwa kein Cursorfeld (dadurch ist es wirklich schwierig zu navigieren auf der Oberfläche). Es muss mit Shift-Pfeil-Rechts nach links navigiert werden und dasselbe nach oben.

Die Tastatur übernimmt auch viele Dinge, die später dann ins GUI ausgelagert wurden und so strotzt sie wie fast alle 8Bit-Tastaturen vor Spezialktasten (Ebene Grafikblöcke, RUN/STOP etc).

Editing Basic

Das Basic nutzt nun diesen ShellEditor-Komplex auch massiv. Zusätzlich kommt hinzu, dass beim Editieren des Sourcecodes die Zeilennummern wichtig sind. Damit scheint der Editor zu erkennen: „Aha es gehört zum Source-Code“.

Editieren

Eine neue Zeile kann man immer erstellen (oder eine Zeile löschen) mit

REM Zeilennummer PRINT "HALLO"
15 PRINT "HALLO"

Dies kreiert gleichzeitig eine Zeile und löscht eine möglich existierende. Will man also eine Zeile löschen tipp man einfach:

15 [Return]

Und schon ist sie überschrieben.

RUN

Mit RUN in einer neuen Zeile startet man das Programm.
Mit der RUN/STOP-Taste kann man das Programm im Notfall abbrechen.

LIST

Mit LIST kann nun das aktuelle Listing angeschaut werden.
Mit List X-Y kann ein Ausschnitt dargestellt werden.

Editing: Nun kann man in die Zeile gehen und dort was ändern und mit RETURN bestätigen und das ganze ist ‚gesichert‘

Demo-Programm Nr. 1

Hängt man eine weitere Zeile an, hat man schon das vermutlich meist getippte Prg der 8bit Generation überhaupt.

Eine endlose Wiederholung. Nichts wurde mehr in eingetippt auf Ausstellungscomputern in Warenhäusern als das. Nichts zeigt mehr den Sinn und die Sinnlosigkeit von Algorithmen: Endlos und mächtig.

Speichern & Laden

Speichern und laden funktioniert analog zum Laden von Prg.

LOAD "test.bas",8,1
SAVE "test.bas",8,1

Hier muss selbstverständlich ein Diskettenlaufwerk mit eingelegter Diskette vorhanden sein. „,8“ gibt an, dass es auf Diskettenlaufwerk gespeichert werden soll.

Entwickeln in einem Emulator wie VICE

Wer auf einem modernen Computer entwickelt, wird einen Emulator wie etwa VICE benutzen. Dabei ist wichtig zu verstehen, dass Copy&Paste nicht so einfach ist. Da der C64 ein anderes Ascii benutzt (PESCI) und deswegen beim Rein- und Rauskopieren zumindest alles in Kleinbuchstaben sein sollte.

Die Einstellungen von VICE findet man mit F10.

Hier findet man auch die Möglichkeit Text zu ex- und importieren mit Copy&Paste. Beim Mac gibt es nur diese Möglichkeit Text zu in- und exportieren – anders bei Windows, da gibt es auch Short-Cuts.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert