BASICDie erste Programmiersprache, die Sie auf dem Schneider CPC kennenlernen werden, ist Einleitung: BASIC beginners all-purpose symbolic instruction code Auf Deutsch etwa: Symbolische Programmiersprache für Anfänger und alle Zwecke. Diese Sprache soll also einfach sein, für Anfänger geeignet. Gleichzeitig aber keine 'Spielsprache', mit der man nichts anfangen kann. Beides ist auch tatsächlich gegeben. Das 'symbolisch' deutet auf einen weiteren, leider nur für Englisch-kundige erfreulichen Aspekt hin: Die Befehlsworte in Einleitung: BASIC Das 'Einleitung: BASIC Außerdem müssen die Referenzen während des Programmlaufs ausgewertet werden. Einen Sprung zu einer bestimmten Zeilennummer ist nur eine Referenz zu dieser Zeile. Wo aber im Speicher steht sie? Einleitung: BASIC Ein wesentlicher Teil eines Interpreter-Lebens besteht so aus Suchen, Suchen und noch 'mal Suchen. Bedeutend schneller sind da Compiler. Bei dieser 'Technologie' wird der gesamte Programmtext nur einmal interpretiert und ein entsprechendes Maschinencode-Programm erzeugt. Das so gewonnene Programm kann dann von der Die ICs im Überblick: Die CPU Z80 Außerdem muss man nach der kleinsten Änderung im Programmtext das gesamte Programm neu compilieren und den so gewonnenen Maschinencode wieder neu einladen und starten. Vor allem für Anfänger ist das zu umständlich und erfordert auch bereits zuviel Kenntnisse darüber, wie ein Programm überhaupt abgearbeitet wird. Beim Locomotive Einleitung: BASIC Es ist aber nicht nur beeindruckend, wie schnell Locomotive Einleitung: BASIC Die Eingaben von der Tastatur können in jeder nur denkbaren Form verarbeitet werden. Man kann Erklärung der Anschlussbelegung: Testtesten, ob eine spezielle Taste gedrückt ist. Man kann aber auch Zeichen von der Tastatur 'abholen', wobei man sich nicht mehr um die Tastenbelegung zu kümmern brauch. Außerdem kann man mit INPUT und LINE INPUT den Zeileneditor für einfache Eingaben benutzen. Die Tastenbelegung ist in jeder Beziehung frei definierbar. Ebenso die Die Tastatur: ErweiterungszeichenErweiterungszeichen, mit denen man auf Tastendruck ein ganzes Wort oder noch mehr erhält. Auf dem Bildschirm kann man in jedem Die 3 verschiedenen Betriebsarten der PIO 8255: Modus 0 Man kann gleichzeitig in acht Textfenstern Text ausgeben. Dabei sind Textfenster Ausschnitte aus dem Bildschirm, die sich fast wieder wie kleine Bildschirme verhalten. Auch der Grafikausgabe ist ein Die Text-VDU: FensterFenster zugeordnet. Text kann in verschiedenen Die Grafik: Farben Zur Erstellung von Grafiken stehen Befehle zur Verfügung, die Punkte setzen oder ganze Linien zeichnen, in jeder nur möglichen Die Grafik: Farben Alle Die Fließkomma-Routinen: FunktionenFunktionen der Tonausgabe werden unterstuetzt: Drei Kanäle, Rauschen, je 15 Die Tonausgabe: Die möglichen Hüllkurvenformen (Reg. 13)Hüllkurven für Frequenz und Amplitude, Rendevous- und Interrupt-Technik. Gerade die Interrupt-Technik wurde auch für normale Unterbrechungen voll übernommen: Es gibt 4 interne Uhren, die nach einer einstellbaren Zeit eine Unterbrechung des Laufenden Programms auslösen und ein Grundlagen: UnterprogrammeUnterprogramm ausführen. Diese Timer sind dabei mit AFTER für einen einmaligen Aufruf, mit EVERY aber auch für ständig wiederholte Unterbrechungen programmierbar. Weitere Sonderfälle können zu Unterbrechungen führen: Der Linien-Algorithmus: Fehler 3Fehler sind mit ON ERROR GOTO in eigenen Routinen abfangbar, außer den Diskettenfehlern Garbage Collection: ... beim CPC 464beim CPC 464. Auch ein Druck auf die ESC-Taste (Break) kann zum Bearbeiten eines dafür vorgesehenen Grundlagen: UnterprogrammeUnterprogramms führen. Auch hier tanzt der 464 wieder unangenehm aus der Reihe: Bei ihm sind Breaks Breaks während eines INPUTs oder LINE INPUTs nicht abfangbar. Zur Fehlersuche stehen die Befehle TRON und TROFF zur Verfügung. Nach TRON werden immer die Zeilennummern der gerade bearbeiteten Zeile im Die Text-VDU: FensterFenster 0 ausgegeben. Leider ist diese Ausgabe nicht so ohne weiteres zu einem anderen Die Text-VDU: FensterFenster oder gar dem Drucker umzuleiten. Die selben Probleme hat man beim Ausgeben des Inhaltsverzeichnisses von Disketten oder Kassetten. Auch größere Programmpakete können auf dem CPC entwickelt werden: Grundlagen: UnterprogrammeUnterprogramme sind mit Datenspeicherung und Datenstrukturen: ChainsCHAIN oder Datenspeicherung und Datenstrukturen: ChainsCHAIN MERGE jederzeit nachladbar. Bei den Unterprogramme: VariablenVariablen werden drei verschiedene Typen unterschieden: Integer (kleine, ganze Zahlen), Datentypen: RealReal (große und Kommazahlen) und Datentypen: StringsStrings (Zeichenketten). Für die Variablennamen sind dabei allgemeine Einstellungen möglich, um bestimmten Variablennamen aufgrund ihres ersten Buchstabens einem Typ zuzuordnen. Der Typ lässt sich aber auch noch explizit durch einen Postfix, also einen AnhangAnhang am Variablennamen bestimmen: '!' für Datentypen: RealReal, '%' für Integer und '$' für Datentypen: StringsStrings. Diese Regelungen gelten übrigens auch für die selbstdefinierbaren Die Fließkomma-Routinen: FunktionenFunktionen. Zur Erstellung eines Programms steht eine Mischung aus Zeilen- und Bildschirmeditor zur Verfügung. Ein Text (im Normalfall eine Programmzeile) kann bis zu 255 Zeichen lang sein. Mit der COPY-Taste kann man Buchstaben von jeder Stelle des aktiven Textfensters in die Programmzeile übernehmen. Das ist sehr praktisch, wenn man größere Umstellungen innerhalb des Programmes vornehmen will. Zur Textaufbereitung stehen außerdem Befehle wie Editor: BD3A / BD5B / BD5E: EDITEDIT, AUTO, Trees: ListenLIST und RENUM zur Verfügung. Mit Editor: BD3A / BD5B / BD5E: EDITEDIT übernimmt man eine existierende Programmzeile in den Zeileneditor, kann sie dort bearbeiten und wieder abspeichern. AUTO erspart das Eintippen der Zeilennummern, die nun automatisch erzeugt werden. Mit Trees: ListenLIST kann man sich den aktuellen Inhalt der Programmdatei anzeigen lassen: Auf dem Bildschirm, Drucker oder (manchmal sehr nützlich) auch in eine Datei auf Kassette oder Diskette hinein. Mit RENUM schließlich kann man die Zeilennummern wieder in ein gleichmäßiges Raster bringen. Das ist zum Beispiel sinnvoll, wenn durch ständiges Einfügen an einer Stelle keine Zeilennummern mehr verfügbar sind. Auch eine komfortable Schnittstelle zu Maschinencode-Programmen wurde dankbarerweise ins Einleitung: BASIC Eine spezielle Form der Maschinenprogramme sind die RSX-Befehlserweiterungen. Diese Programme sind meist zu Mehreren in Programm-Paketen zusammengefasst und müssen initialisiert werden. Dann stehen Sie dem Anwender aber mit einem Namen zur Verfügung. In Einleitung: BASIC |