Alles über den VC20
Alles über den VC20 | |||
---|---|---|---|
Sprache | deutsch | ||
Autor(en) | |||
Verlag | Commodore | ||
Jahr | 1983 | ||
ISBN | ISBN 3-89133-004-9 | ||
Neupreis | |||
Datenträger | |||
Seitenzahl | 199 | ||
letzte Auflage | 1. Auflage | ||
Genre | Programmierung Einsteiger / Fortgeschrittener | ||
Information | ArtNr.:580020 ; Commodore Sachbuchreihe |
Einführung[Bearbeiten | Quelltext bearbeiten]
Dieses Handbuch geht davon aus, dass Sie als Anwender des VC20-Computers bereits über einige Grundkenntnisse der Programmiersprache BASIC verfügen und nun die vielfältigen Programmierungsmöglichkeiten des VC20 kennenlernen möchten.
Es handelt sich hierbei um ein vollständig in sich geschlossenes Programmierungshandbuch, das auch für den fortgeschrittenen Programmierer viele Anregungen und Hilfen bietet. Aber auch der Anfänger kann unter Verwendung dieses Handbuches sehr bald Programme schreiben und auf dem VC20 ausführen. VC20-BASIC ist eine leicht zu handhabende Programmiersprache, die die Welt der Farben und Töne in den Betrieb des Computers mit einbezieht.
Inhaltsverzeichnis[Bearbeiten | Quelltext bearbeiten]
1. Allgemeine Beschreibung 1 1.1 Einführung 1 1.2 Das VC-20-System 1 1.2.1 Eigenschaften 1 1.2.1.1 Farbe und Ton 2 1.2.1.2 Spezielle Schnittstellen 2 1.2.1.3 Speichererweiterung und Einsteckprogramme 3 2. Kommunikation mit dem VC20 4 2.1 Einführung 4 2.2 Programmierte Befehle. Ein kurzer Überblick 5 2.3 Programmierung des VC20 5 2.3.1 Direkt-Modus 5 2.3.2 Programm-Modus 7 2.3.3 Programmanzeige und Programmveränderungen 7 2.3.4 Anhalten des Programmablaufes 8 2.4 Zahlen und Datenformate 9 2.4.1 Gleitkommazahlen 9 2.4.2 Rundung 10 2.4.3 Wissenschaftliche Zahlendarstellung 10 2.4.4 Ganze Zahlen 12 2.4.5 Zeichenketten (Strings) 12 2.4.6 Variablen 13 2.4.6.1 Variablennamen 14 2.4.6.2 Gleitkommavariablen 14 2.4.6.3 Ganzzahl-Variablen (Integer-Variablen) 14 2.4.6.4 String-Variablen 15 2.4.6.5 Lange Variablennamen 15 2.4.7 Reservierte Wörter 16 2.4.8 Mathematische Operatoren 17 2.4.8.1 Arithmetische Operatoren 17 2.4.8.2 Rechenhierarchie 19 2.4.8.3 Vergleichsoperatoren 19 2.4.8.4 Boolesche Operatoren (logische Ausdrücke) 20 2.4.8.5 Bit-orientierte Boolesche Operationen 21 2.4.9 Felder 23 2.5 BASIC-Funktionen 24 2.6 Farbregulierung beim VC20 27 2.6.1 Hintergrundfarbe 27 2.6.2 Zeichenfarben 28 2.6.2.1 Direktdarstellung von Zeichen auf dem Bildschirm 29 2.6.3 Beispielprogramme für die farbige Zeichendarstellung 30 2.6.3.1 Auswahl von Farbkombinationen 30 2.6.4 Adressänderung bei Speichererweiterung 30 2.7 Tonregulierung beim VC20 31 2.7.1 Erzeugung von Tönen 31 2.7.1.1 Beispielprogramm für die Tonerzeugung 32 2.8 Der Bildschirmeditor 32 2.8.1 Cursor-Steuermodi 34 2.8.2 Inverse Zeichendarstellung 35 2.8.3 RUN/STOP-Taste 35 2.8.4 Zusammenstellung aller Steuertastenfunktionen 36 2.8.5 Zusätzliche Tastenfunktionen 37 3. VC20-BASIC 38 3.1 Überblick 38 3.2 CBM-BASIC 38 3.2.1 Initialisierung des Rechners 38 3.2.2 Bedienungsmodi 39 3.2.3 Zeilenformat 39 3.2.4 Zeilennummern 39 3.2.5 Zeichensatz des CBM-BASIC 39 3.2.6 Konstanten des CBM-BASIC 41 3.2.7 Variablen 41 3.2.7.1 Variablennamen und -kennzeichnung 41 3.2.7.2 Namen für Stringvariablen 42 3.2.7.3 Namen für numerische Variablen 42 3.2.8 Feldvariablen 42 3.2.9 Umwandlung von numerischen Variablen 42 3.2.10 Ausdrücke und Operatoren 43 3.2.10.1 Arithmetische Operatoren 44 3.2.10.2 Überlauf und Division durch Null 44 3.2.10.3 Vergleichsoperatoren 45 3.2.10.4 Logische Operatoren 45 3.2.10.5 Funktionsoperatoren 47 3.2.11 String-Operationen 47 3.2.12 Editieren (Eingeben) von Programmzeilen 47 3.2.13 Fehlermeldungen 48 3.3 BASIC-Anweisungen 48 3.3.1 Vereinbarung der Notation 49 3.3.2 CLOSE 50 3.3.3 CLR 51 3.3.4 CMD 52 3.3.5 CONT 53 3.3.6 DATA 54 3.3.7 DEF FN 55 3.3.8 DIM 56 3.3.9 END 57 3.3.10 FOR...NEXT 58 3.3.11 GET und GET# 61 3.3.12 GOSUB...RETURN 62 3.3.13 GOTO 63 3.3.14 IF...THEN und IF...GOTO 64 3.3.15 INPUT 65 3.3.16 INPUT# 67 3.3.17 LET 68 3.3.18 LIST 69 3.3.19 LOAD 70 3.3.20 NEW 71 3.3.21 ON...GOSUB und ON...GOTO 72 3.3.22 OPEN 73 3.3.23 POKE 74 3.3.24 PRINT und PRINT# 75 3.3.25 READ 77 3.3.26 REM 78 3.3.27 RESTORE 79 3.3.28 RUN 80 3.3.29 SAVE 81 3.3.30 STOP 82 3.3.31 SYS 83 3.3.32 VERIFY 84 3.3.33 WAIT 85 3.4 BASIC-Funktionen 86 3.4.1 ABS 87 3.4.2 ASC 88 3.4.3 ATN 89 3.4.4 CHR$ 90 3.4.5 COS 91 3.4.6 EXP 92 3.4.7 FRE 93 3.4.8 INT 94 3.4.9 LEFT$ 95 3.4.10 LEN 96 3.4.11 LOG 97 3.4.12 MID$ 98 3.4.13 PEEK 99 3.4.14 POS 100 3.4.15 RIGHT$ 101 3.4.16 RND 102 3.4.17 SGN 103 3.4.18 SIN 104 3.4.19 SPC 105 3.4.20 SQR 106 3.4.21 STATUS 107 3.4.22 STR$ 108 3.4.23 TAB 109 3.4.24 TAN 110 3.4.25 TIME 111 3.4.26 TIME$ 112 3.4.27 USR 113 3.4.28 VAL 114 4. Hardware und Betriebssystem des VC20 4.1 Aufbau des VC20 4.1.1 Mikroprozessor 115 4.1.1.1 Ein- und Ausgänge 116 4.1.1.2 Adressbus 116 4.1.1.3 Datenbus 116 4.1.1.4 Steuerbus 116 4.1.2 Speicher für das Betriebssystem (ROM) 116 4.1.3 Arbeitsspeicher (RAM) 117 4.1.4 Variabler Interface-Adapter (VIA) 117 4.1.5 Video-Interface-Chip (VIC) 117 4.1.6 Zeichengenerator 117 4.2 Speicherorganisation 118 4.2.1 Arbeitsspeicher und Anwenderprogramme 119 4.2.2 RAM- und ROM-Erweiterungen 120 4.2.3 Betriebssystem, Interpreter und Ein/Ausgabe 121 4.3. Der BASIC-Interpreter des VC20 121 4.3.1 Speicherung von BASIC-Anweisungen 122 4.3.2 Schlüsselwort-Codes 124 4.3.3 Leerstellen in Programmzeilen 124 4.3.4 Null-Bytes 124 4.3.5 Programmformat bei der Kassetten-Speicherung 124 4.3.6 Programmformat-Kompatibilität 125 4.4 Zugriff auf Farb- und Zeichenmatrizen 125 4.4.1 Zeichenzeiger 125 4.4.2 Anzeige von Zeichen 125 4.4.2.1 Bildschirmspeicher 125 4.4.3 Farbzeiger 127 4.4.4 Formatorganisation für die Bildschirmanzeige 127 Anhänge A Beschreibung der RS-232(V24)-Schnittstelle 129 B Routinen des Betriebssystems 138 C Umsetzung von fremden Programmen in VC20-BASIC 176 D Zusammenstellung der Fehlermeldungen 179 E Mathematische Funktionen und ASCII-Codes 185 F Beschreibung des 6561-Video-Interface-Chip (VIC) 187 Tabellen 2.1 Reservierte Namen 16 2.2 Mathematische Operatoren 20 2.3 Boolesche Wahrheitstabelle 21 2.4 Farbsteuerzahlen 28 2.5 Zahlenäquivalente für Musiknoten 31 3.1 Sonderzeichen und Cursorsteuerzeichen 40 3.2 BASIC-Schreibweise von algebraischen Ausdrücken 44 A.1 RS-232-Leitungen und -Anschlüsse 134 B.1 Aufrufbare Betriebssystem-Unterprogramme 138 C.1 Codes für VC20-BASIC-Anweisungen 178 D.1 Fehlermeldungen 179 Abbildungen 1.1 System-Blockschaltbild des VC20 2 2.1 Tastenfeld des VC20 4 3.1 Initialisierungsanzeige 38 4.1 Speicherorganisation des VC20 118 4.2 Aufteilung des Arbeitsspeichers 119 4.3 RAM/ROM-Speichererweiterungen 120 4.4 Speicherbereiche für Interpreter, Betriebssys. und E/Ausgabe 121 4.5 Adresszeiger für den Anwenderprogrammbereich 122 4.6 Speicherung von BASIC-Programmzeilen 123 4.7 Schema der Bildschirmzellen für die Zeichendarstellung 126 4.8 Video-Matrix 127 A.1 Kontrollregister für die RS-232-Schnittstelle 131 A.2 Befehlsregister für die RS-232-Schnittstelle 132 A.3 RS-232-Statusregister 135 F.1 Typische Video-Matrix 189 F.2 Kontroll-Register des VC20 190 F.3 Pinbelegung des VIC 6561 196
Leseprobe[Bearbeiten | Quelltext bearbeiten]
3.3.7 DEF FN (Seite 55) Format: DEF FN<Name>[(<Parameter>)]=<Funktionsdefinition> Zweck: Definiert und benennt eine vom Anwender program- mierte BASIC-Funktion. Bemerkungen: <Name> muss ein erlaubter Variablenname sein. Dieser Name, dem FN vorangestellt wird, wird als Name der Funktion betrachtet. <Parameter> ist das Argument der Funktion, das in der Funktionsdef- inition durch eine Gleitkommavariable bezeichnet wird. Letztere wird dann beim Aufruf der Funktion durch den aktuellen Parameter ersetzt. <Funktionsdefinition> ist ein beliebiger Ausdruck, der die Operation, die die Funktion ausführen soll, beinhaltet. Die Länge des Ausdrucks ist auf eine BASIC-Anweisungszeile (88 Zeichen) beschränkt. In diesem Ausdruck verwendete Variablennamen dienen nur der formalen Funktionsdefinition und sind nicht mit Programm- variablen desselben Namens zu verwechseln. Ein in einer Funktionsdefinition verwendeter Variablen- name kann als Parameter auftreten oder auch nicht. Ist er Parameter, so wird sein Wert beim Aufruf der Funktion ersetzt; andernfalls wird der derzeitige Wert der Variablen verwendet. Mit DEF FN können keine eigenen Stringfunktionen definiert werden. Wenn im Funktionsnamen ein Variablentyp spezifiziert wird, so wird der Wert des Ausdruckes diesem Typ angepasst, bevor er der aufrufenden Anweisung übergeben wird. Wenn ein Variablentyp im Funktionsnamen deklariert wurde, der nicht zu dem Typ passt, den der Ausdruck lie- fert, so wird eine TYPE MISMATCH-Fehlermeldung ausgegeben. Die DEF FN-Anweisung muss ausgeführt werden, ehe die dadurch definierte Funktion das erste mal aufgerufen wird, sonst wird eine UNDEFINED FUNCTION-Fehlermeldung ausgegeben. DEF FN kann nicht im Direkt-Modus verwendet werden. Beispiel: 410 DEF FNAB(X)=X↑3/Y↑3 420 T=FNAB(I) Zeile 410 definiert die Funktion, die in Zeile 420 aufgerufen wird. Dabei wird die Variable X durch den aktuellen Wert von I ersetzt. Die Variable Y behält den ihr zum Zeitpunkt des Funktionsaufrufes zugeordneten Wert.
Meinung[Bearbeiten | Quelltext bearbeiten]
Werner: "Eines der besseren Bücher für den VC20. Man erfährt nicht alles, jedoch eine ganze Menge über den VC20. Zuerst werden Zahlenformate, Operatoren und Variablen ausführlich beschrieben. Anschließend wird jeder Basic-Befehl detailliert beschrieben und durch kurze Beispiele demonstriert. Die (komplexe) Speicherorganisation des VC20 wurde verständlich erläutert. Im Anhang werden 36 aufrufbare Betriebssystem-Unterprogramme (z.B. CHROUT $FFD2) genau beschrieben. Am Ende werden noch die Register und die Anschlüsse des VICs beschrieben. Tolles Buch!"
Sonstiges[Bearbeiten | Quelltext bearbeiten]
Das englischsprachige Original-Buch ist unter "VIC-20 Programmers Reference Guide" erschienen.