VC-20 intern

Aus C64-Wiki
Zur Navigation springenZur Suche springen


VC-20 intern - Betriebssystem und Technik des VC-20
Cover/Buchdeckel
Sprache deutsch
Autor(en) Michael Angerhausen, Lothar Englisch, Rolf Brückmann und Klaus Gerits
Verlag Data Becker
Jahr 1983
ISBN ISBN 3-89011-002-9
Neupreis DM 49.-
Datenträger
Seitenzahl 208
letzte Auflage 2. erweiterte und überarbeitete Auflage
Genre Profi, Programmieren, Hardware
Information ausklappbarer VC-20 Schaltplan im Buch




Vorwort[Bearbeiten | Quelltext bearbeiten]

Wer tiefer in Geheimnisse und Fähigkeiten des Commodore VC-20 eindringen möchte, muss sich mit Maschinensprache befassen. Wir gaben zur Unterstützung der ernsthaften Maschinensprache-Programmierer im vorigen Jahr ein ROM-Listing des VC-20 heraus, das schnell vergriffen war.

Die folgende Auflage bekam den Namen VC-20 intern. Sie wurde erheblich erweitert und überarbeitet. Wir hatten eine Einführung in die Maschinensprache hinzugefügt, da sich mehr und mehr VC-20 Besitzer für dieses Thema interessierten.

Die nun vorliegende 2. Auflage wurde wiederum erweitert, da uns das Echo aus dem Leserkreis zeigte, dass zur intimen Kenntnis und effektiven Nutzung des VC-20 gerade unter Gebrauch von Maschinenspracheprogrammen der Einstieg in die Hardware des Gerätes unumgänglich ist. Sie finden daher in dieser Auflage sowohl den vollständigen Schaltplan des VC-20, wofür wir an dieser Stelle der Commodore Büromaschinen GmbH für die Erlaubnis zum Abdruck danken möchten, als auch eine ausführliche Beschreibung desselben, sowie Registerbeschreibungen des VIC-Chip und der VIA.

Einführung[Bearbeiten | Quelltext bearbeiten]

Es gibt viele neue Programmiersprachen für Computer — warum beschäftigt man sich da noch mit einer Sprache, die Ihre Wurzeln in den ersten Tagen der "Computerei" hat?

Die Sprache des VC-20 ist BASIC, das ist allen bekannt. Aber wie kann der Computer die Befehle, die Sie ihm geben, verstehen und eine bestimmte Aufgabe lösen? Dazu gehört schon etwas mehr als BASIC. Um das zu verstehen, muss man sich mit den Grundlagen der Programmierung befassen. Das wollen wir in diesem Kapitel nun machen.

Die Programmiersprache BASIC wird vom Computer eigentlich überhaupt nicht verstanden. Der Programmierer, also Sie, können zwar in BASIC programmieren, der Computer muss jeden Befehl aber erst in eine für ihn verständliche "Sprache" übersetzen (interpretieren). Aus diesem Grund nennt man die BASIC Version des VC-20 auch BASIC INTERPRETER. Jeder Befehl wird also auf eine ganz bestimmte Art und Weise dekodiert und so die Informationen für den Computer aufbereitet. Die Sprache in der dies geschieht nennt man MASCHINEN-SPRACHE. Nun wird schon deutlich warum man diese Sprache einsetzt:

Zur Programmierung von Betriebssystemen und deren Erweiterungen und Hilfen und vor allen Dingen für Programme die sehr schnell sein müssen (z.B. für die Steuerung von Anlagen von einem Computer aus). Auch wenn die Maschinensprache schon etwas alt ist: Jeder professionelle Programmierer sollte sich in der Maschinensprache auskennen.

Warum programmiert man dann nicht einfach gleich in Maschinensprache? Ganz einfach. Die Programmierung in Maschinensprache ist bei weitem nicht so komfortabel wie die Programmierung in BASIC. Sie ist bedeutend zeitaufwendiger und schwieriger.

Inhaltsverzeichnis[Bearbeiten | Quelltext bearbeiten]

Anmerkung: Nicht im Buch enthalten!

Vorwort

1   Maschinenprogrammierung auf dem VC-20
1.1 Einführung...................................................   1
1.2 Wie versteht der Computer unsere Befehle? ...................   2 
1.3 Der Monitor - und was steckt dahinter .......................   4
1.4 Wie gehe ich bei der Maschinenprogrammierung vor? ...........   9

2   Der nächste Schritt - Die Assemblerprogrammierung
2.1 Warum Assembler .............................................  13
2.2 Tabelle der 6502 Befehle ....................................  14
2.3 Mein erstes Assemblerprogramm ...............................  16
2.4 Noch mehr über den Assembler ................................  20
2.5 Basic - Maschinensprache - Assembler ........................  24

3   Die Belegung der Zeropage und weitere wichtige Bereiche .....  25  

4   Die Routinen des BASIC-Interpreters .........................  29

5   Die Routinen des VC20 Betriebssystems .......................  33

6   Nützliche Adressen des VC20 Betriebssystems .................  35

7   VC 20 ROM-Listing - Basic-Interpreter und Betriebssystem ....  38

8   Hardware
8.1 VC-20 Blockbild ............................................. 175
8.2 Einleitung .................................................. 176
8.3 Die Stromversorgung ......................................... 177
8.4 Die Takterzeugung ........................................... 178
8.5 Der Prozessor 6502 .......................................... 179
8.6 Der Video Interface Chip 6561 ............................... 183
8.7 Das RAM, der Arbeitsspeicher ................................ 189
8.8 Das ROM, das Langzeitgedächtnis des VC-20 ................... 192
8.9 Die Schnittstellenbausteine VIA 6522 ........................ 193

9   Registerbeschreibung des VIC 6561 ........................... 200

10  Die Betriebsarten des VIC ................................... 202

11  Registerbeschreibung des VIA 6522 ........................... 204

12  Schaltplan

Leseprobe[Bearbeiten | Quelltext bearbeiten]

Seite 202, Die Betriebsarten des VIC


Die Betriebsarten des VIC

Der VIC kennt zwei Arten der Darstellung, nämlich Hi-Res-Mode und Multicolor-Mode. Die beiden Betriebsarten unterscheiden sich lediglich in der Interpretation des Inhaltes des Zeichengenerators. Ausgewählt werden die Betriebsarten durch den Zustand des höchstwertigen Bits (Bit 3) im Farbram (im Farbram sind ja jeder Position des Videorams vier Bits zugeordnet).


Hi-Res-Mode (Farbbit 3 =0)

Diese Betriebsart ist normalerweise nach dem Einschalten des VC-20 (oder nach STOP/RESTORE) eingestellt. Hierbei besteht eine eins zu eins Zuordnung der Bits des Zeichengenerators mit den Punkten auf dem Bildschirm. Das bedeutet, dass alle 1-Bits des Zeichengenerators in einer von den Farbbits 0-2 abhängigen Farbe dargestellt werden, und alle 0-Bits in der Hintergrundfarbe (REG 15). Beachten Sie, dass Bit 3 in REG 15 diese Verhältnisse umkehren kann. Normalerweise besteht das dargestellte Bitmuster aus lesbaren Zeichen, die im Hardware-Charactergenerator des VC-20 festgelegt sind, jedoch ist ohne weiteres ein Zeichnen auf dem Bildschirm möglich, wenn Sie die Startadresse des Zeichengenerators ins Ram verlegen. Die Bildschirmspiele arbeiten auch so.


Multi-Color-Mode (Farbbit 3 =1)

Diese Betriebsart ist ein wenig trickreicher als die vorige. Hier werden zur Darstellung eines Punktes (in Wirklichkeit sind es zwei) gleich zwei Bits aus dem Zeichengenerator herangezogen. Die Farbe des Punktepaares wird indirekt durch eben diese zwei Bits bestimmt, mit deren Hilfe eine aus vier Farbquellen ausgewählt wird. Da jedoch zur Farbbestimmung eines Punktes zwei Bits aus dem Zeichengenerator herangezogen werden, beträgt die horizontale Auflösung nur die Hälfte des Hi-Res-Mode, d.h. ein 8x8-Block (die Größe eines 'normalen' Zeichens) ruft auf dem Bildschirm nur einen 8x4-Block hervor, wobei die Punkte doppelt breit sind, also dennoch einen vollständigen Zeichenplatz belegen. Auf diese Weise ist der Speicherbedarf für beide Betriebsarten gleichgroß. Die beiden Bits des Zeichengenerators bestimmen, woher die Farbe für einen solchen doppelt breiten Punkt genommen werden soll. Folgende Kombinationen sind möglich:

00 REG 15 Bit 4-7  (Hintergrundfarbe)
01 REG  15 Bit 0-2  (Rahmenfarbe)
10 Farbbits 0-2 aus dem korrespondierenden Farbram
11 REG  14 Bit 4-7

Es muss noch einmal betont werden, dass die beiden Bits aus dem Zeichengenerator nicht unmittelbar die Farbe bestimmen, sondern nur die Quelle angeben, aus der die Farbe entnommen werden soll. Wenn Sie die Farbe eines Bildschirmpunktes bei einer gegebenen Bitkombination, z.B. 00, ändern wollen, so müssen Sie die Bits 4-7 in REG 15 manipulieren.

Sonstiges[Bearbeiten | Quelltext bearbeiten]

Auflage von 1983.

Das Vorgänger-Buch hieß VC-20 intern: ausführlich dokumentiertes ROM-Listing mit einer Einführung in die Maschinenprogrammierung.

Meinung[Bearbeiten | Quelltext bearbeiten]

Werner: "Nichts für Einsteiger! In diesem Buch werden sehr gute Kenntnisse in Assembler vorausgesetzt, um das dokumentierte VC20 ROM-Listing lesen zu können. Die detaillierte Hardwarebeschreibung und der 3-seitige Schaltplan zum Herausklappen sind positiv zu erwähnen. Parallelen zu 64 intern sind deutlich zu erkennen."

Jodigi: "Ein sehr interessantes Buch für Fortgeschrittene, die nicht nur den VC-20 mit BASIC beherrschen wollen... Hauptbestandteil des Buches ist das ROM-Listing, sowie die Einführung in die Maschinensprache bzw. der Assembler-Programmierung."


Weblinks[Bearbeiten | Quelltext bearbeiten]