Eine kleine weihnachtliche Computer-Nostalgie
Stand dieses Dokuments: 30.12.2001
Autor: Prof. Dr. Florian
Matthes <matthes@in.tum.de>
Copyright: 1985-2004, Florian Matthes, alle Rechte vorbehalten.
Während des Informatik-Grundstudiums entwickelte ich 1985 (dem Vorbild Niklaus Wirth folgend [1]) mit einem auf 32KB RAM aufgerüsteten VC-20 von Commodore("Volkscomputer" in Deutschland, VIC-20 in den USA) einen Pascal-Compiler. Das Ergebnis dieses Projekts bot ich dem Markt&Technik-Verlag zur Publikation mit einem Pascal-Kurs in einer der damaligen Szene-Computerzeitschriften (z.B. 64er) an. Stattdessen erhielt ich das Angebot, den Compiler an den Commodore 64 (C64) anzupassen und mit einem selbst geschriebenen Pascal-Buch zu veröffentlichen.
Das Buch Pascal mit dem C64 [2] erschien 1986 im Markt&Technik-Verlag, Haar bei München mit dem folgenden Klappentext:
Dem Buch liegt ein leistungsfähiges Pascal-System mit Beispiel-Programmen auf Diskette bei.
Buch und Compiler ermöglichen jedem Besitzer eines C64 den Einstieg in die moderne Programmierspraceh Pascal.
Dem Anfänger wird ein Einführungskurs in Pascal geboten, wobei viele überschaubare Beispiele aus der Praxis und Übungsaufgaben zum aktiven Lernen mit dem C64 auffordern. Beim Programmieren wird er durch eine ausführliche Bedienungsanleitung des Systems unterstützt. Für den Pascal-Profi gibt es neben nützlichen Beispielprogrammen ein spezielles Kapitel mit Tips und Tricks.
Der Compiler akzeptiert den gesamten Sprachumfang mit einigen Erweiterungen. Der Compiler bildet mit seinem sehr komfortablen Full-Screen-Editor eine schnelle Einheit, so daß der Programmentwicklungsaufwand minimal ist. Übersetzte Programme laufen ohne weitere Hilfsprogramme auf jedem C64, nutzen den gesamten Programmspeicher des C64 und sind 3-4mal schneller als vergleichbare Programme in BASIC.Hardwareanforderungen: C64 mit Floppy 1541-Laufwerk.
Nach dem wirklich überwältigenden Erfolg des Buchs und der Software schrieb ich dann 1987 noch ein zweites (verbessertes) Pascal-Lehrbuch für den C128 mit einem erweiterten Pascal-Compiler für den C128, die gemeinsam unter dem Titel Pascal mit dem C128 [3] 1987 im gleichen Verlag veröffentlicht wurden.
Auf die Anregung von Spiro Trikaliotis per E-Mail im Sommer 2001 habe ich als einen kleinen Dienst für die immer noch aktive Commodore-Community (z.B. Project 64 oder iDOC) an zwei Tagen umWeihnachten 2001 herum die alten Commodore-Disketten gesichtet, dokumentiert und die Ergebnisse der alten Projekte auf diese Weise ins Internet gestellt.
Der Text und die Bilder des Buchs Pascal mit dem C128 wurde mit einem Atari ST erstellt und konnten relativ leicht in HTML-Texte und GIF-Bilder konvertiert werden.
Ich freue mich über Kommentare oder Feedback per E-Mail.
Wenn Sie den Pascal-Compiler ausprobieren wollen, gehen Sie wie folgt vor:
x64.exe
durch Doppelklick starten.
File - Attach Disk Image - Drive 8 ...
wählen.
Diskettenabbilder/PAS64.D64
wählen.
LOAD "*",8,1
eingeben, um das Pascal-System vor Diskette zu lesen.RUN
eingeben, um das
Pascal-System zu starten.
QUEEN.P
eingeben
und mit der RETURN-Taste bestätigen (Kleinbuchstaben eingeben, Großbuchstaben
werden angezeigt).
CANCEL
eingeben, um den Texteditor ohne Speichern
zu verlassen (s. Bild)Options
- Maximum Speed - No limit
wählen, um die Übersetzung
erheblich zu beschleunigen.
READY
.) ausgegeben.
RUN
ein, um das übersetzte
Programm auszuführen.
ESC
-Taste im Emulator entspricht der RUN/STOP
-Taste
des C64 und unterbricht die Ausführung des Programms.Tipp: Das hier veröffentlichte Pascal-System hat die Versionsnummer 1.4A und wurde als Vorlage für die Disketten der Neuauflagen des Buchs verwendet. Es besitzt einige kleineVerbesserungen gegenüber der ursprünglich veröffentlichten Programmversion.
Wenn Sie mehr mit dem Pascal-System anfangen möchten, finden Sie auf den
Diskettenabbildern C2 und C5 den kompletten
Text des Buchs Pascal mit dem C64, den Sie mit dem C64-Programm Vizawrite
(Diskettenabbild VIZAWRITE) angesehen oder ausdrucken
können. Über die Zusendung einer in HTML konvertierten Textversion
dieser Vizawrite-Dateien würde ich mich sehr freuen. Natürlich würde
ich das Ergebnis an dieser Stelle mit Nennung des Spenders veröffentlichen.
Inhaltsverzeichnis | |
Vorwort | |
1 | Die Werkzeuge |
7 Unterkapitel | |
2 | Einführung in Pascal |
45 Unterkapitel | |
3 | Tipps und Tricks |
2 Unterkapitel | |
4 | Dokumentation Pascal-System |
36 Unterkapitel | |
Anhang | |
A | Syntaxdiagramme Pascal 1.4 (SYNTAX1_1.4.E.txt und SYNTAX2_1.4.E.txt) |
B | Fehlernummern Pascal 1.4 (ERRORS.E.TXT und DMESSAGE1.4.E.txt) |
C | Laufzeitfehler |
D | Operatoren in Pascal |
E | Literaturhinweise |
F | Index |
Zusätzlich zu den im Buch beschriebenen Beispielprogrammen finden sich auf den folgenden Diskettenabbildern Beispiele für in sich geschlossene Pascal-Programme, die mit dem Pascal-Compiler übersetzt werden können.
Für den C64: PAS64 konvertiert, AI konvertiert, W6 konvertiert
Für den C128 zusätzlich: PAS128 konvertiert, W7 konvertiert, W5 konvertiert
Ein größeres Programmbeispiel ist der ein Pascal realisierter Assembler für den 6502 Microprozessor-Befehlssatz (1B konvertiert). Dieses Programm zeigt zum Beispiel, wie man Include-Dateien verwendet, und wie man aus Pascal heraus Unterprogramme in Maschinensprache aufruft.
Schließlich wurde (natürlich) der Pascal-Compiler selbst in Pascal realisiert. Die Quelltexte des Compilers finden sich auf dem Diskettenabbild R1 (R1 konvertiert).Das Hauptprogramm main.e verwendet verschiedene Include-Dateien. Der Quelltext kann gleichermaßen für den VC-20, C64 und den C128 verwendet werden. Die hierzu notwendigen Änderungen an die systemspezifischen Maschinenadressen sind im Quelltext mit strukturierten Kommentaren markiert. Die Dokumentation zum Programm findet sich auf dem Diskettenabbild C3 (C3 konvertiert).
Vielleicht haben Sie ja auch selbst noch das eine oder andere Pascal-Programm für den C64 oder C128 in der Schublade, die ich gerne hier veröffentliche.
Die vollständige Dokumentation für das Pascal-System (ursprünglich 355 Seiten Buchtext) ist auch im HTML-Format verfügbar. Die ersten Schritte unter Windows sind hier kurz zusammengefaßt:
x128.exe
durch Doppelklick starten.
File - Attach Disk Image - Drive 8 ...
wählen.
Diskettenabbilder/PAS128.D64
wählen.
LOAD "*",8,1
eingeben, um das Pascal-System vor Diskette zu lesen.RUN
eingeben, um das
Pascal-System zu starten.
EPIZYKLOIDE.P
eingeben
und mit der RETURN-Taste bestätigen (Kleinbuchstaben eingeben, Großbuchstaben
werden angezeigt).
CANCEL
eingeben, um den Texteditor ohne Speichern
zu verlassen (s. Bild)Options
- Maximum Speed - No limit
wählen, um die Übersetzung
erheblich zu beschleunigen.
READY
.) ausgegeben. RUN
ein, um das übersetzte
Programm auszuführen.
ESC
-Taste im Emulator entspricht der RUN/STOP
-Taste
des C64 und unterbricht die Ausführung des Programms.Die Diskettenabbilder wurden am 8.9.2001 von Spiro Trikaliotis mit StarCommander von den Originaldisketten erzeugt (s.a Originalbeschriftung). Einige der Disketten sind Backup-Disketten und besitzen daher einen redundanten Inhalt.
Mit einem aktuellen Beta-Release des Programms StarCommander wurden alle Dateien der Diskettenabbilder in eigenständige Windows-Dateien exportiert. Anschließend wurden mit einem kleinen Java-Programm am 26.11.2001 alle Quelltexte unter diesen Dateien (Endung ".P" für Pascal und Endung ".E" für Editor) in Standard-Windows-Textdateien umgewandelt und ein Gesamtindex aller exportierten und konvertierten Textdateien erstellt.
Das Ziel der Umwandlung war es, mit einem Web-Browser einen schnellen Überblick über die Inhalte der Originaldisketten zu erhalten. Für die Arbeit mit dem Emulator müssen natürlich die Originaldisketten im d64- und im d71-Format verwendet werden.
Originaldisketten mit Originalbeschriftung |
Disketteninhalt |
1A.D71 |
|
1B.D64 |
|
AI.D64 |
|
AI2.D64 |
|
C2.D64 |
|
C3.D64 |
|
C4.D64 |
|
C5.D64 |
|
LL.D64 |
|
PAS128.D64 |
|
PAS64.D64 |
|
R0.D64 |
|
R1.D64 |
|
R4.D64 |
|
VIZAWRITE.D64 |
|
W1.D64 |
|
W2.D64 |
|
W3.D64 |
|
W4.D71 |
|
W5.D71 |
|
W6.D64 |
|
W7.D64 |
|
W8.D71 |
|
W9.D64 |
|
WA.D71 |
[1] Niklaus Wirth: Compilerbau, Teubner, 1981.
[2] Florian Matthes: Pascal mit dem C64: Compiler-Beschreibung, Pascal-Kurs, Tips und Tricks für Fortgeschrittene, ISBN 3-89090-222-7, Markt&Technik-Verlag, Haar bei München, 1986, 215 S. : graph. Darst. ; 24 cm + 1 Diskette.
[3] Florian Matthes: Pascal mit dem C128: Compiler-Beschreibung, Pascal-Kurs, Tips und Tricks für Fortgeschrittene, ISBN 3-89090-386-X, Markt&Technik-Verlag, Haar bei München, 1987, 355 S. ; 24 cm + 1 Diskette. (HTML-Version)
[4] Niklaus Wirth: Algorithmen und Datenstrukturen, LAMM Studienbücher Informatik, Teubner, 1979.