Home
Home
Anfang Zurück Inhalt Weiter Ende
Anfang - Zurück - Inhalt - Weiter - Ende
English
English

Anhang D: VC-20 Spezialbausteine

Dieser Anhang beschreibt die Register der im VC-20 eingesetzten Spezialbausteine. Er richtet sich an interessierte Programmierer, die fremde VC-20 Programme analysieren oder selbst neue Programme erstellen wollen. Wenn Sie mit Power20 nur Ihre alten Programme nutzen wollen, brauchen Sie sich um diese Details nicht sorgen.

D.1 VIC (Video/Sound Controller) - 9000-900F

9000: Horizontale Bildzentrierung (Bits: 6…0, Bit 7: Interlace Mode)
9001: Vertikale Bildzentrierung
9002: Horizontale Bildgröße
       Bit 7: Bit 9 der VideoAdresse (siehe 9005)
       Bits 6…0: Anzahl der Spalten auf dem Bildschirm
9003: Vertikale Bildgröße
       Bit 7: Ungenutzt
       Bits 6…1: Anzahl der Zeilen auf dem Bildschirm
       Bit 0: Zeichengröße 0: 8x8 Pixel - 1: 16x8 Pixel
9004: Aktuelle Rasterzeile (Bits: 8…1 - Bit 0 nicht verfügbar!)
9005: Video Address Register
       Bit 7:    Bit  15 der VideoAddr - Negiert!
                 Bits 14…13 der VideoAddr sind 0
       Bits 6…4: Bits 12…10 der VideoAddr
                 Bit   9 der VideoAddr ist in 9002 gespeichert!
       Bit 3:    Bit  15 der CharSetAddr - Negiert!
                 Bits 14…13 der CharSetAddr sind 0
       Bits 2…0: Bits 12…10 der CharSetAddr
9006: Lightpen X-Pos. (Bits 8…1)
9007: Lightpen Y-Pos. (Bits 7…0)
9008: Paddle 1 Position
9009: Paddle 2 Position
900A: Stimme #1 (Tiefe Frequenzen)
       Bit 7: Stimme An/Aus
       Bits 6…0: Frequenz (negiert, *4)
900B: Stimme #2 (Mittlere Frequenzen)
       Bit 7: Stimme An/Aus
       Bits 6…0: Frequenz (negiert, *2)
900C: Stimme #3 (Hohe Frequenzen)
       Bit 7: Stimme An/Aus
       Bits 6…0: Frequenz (negiert, *1)
900D: Stimme #4 (Rauschen)
       Bit 7: Stimme An/Aus
       Bits 6…0: Frequenz (negiert)
900E: Lautstärke/Farbe
       Bits 7…4: Hilfsfarbe für Multicolor Zeichen (ColorRAM Bit 3:1)
       Bits 3…0: Lautstärke
900F: Rahmen-/Hintergrundfarbe
       Bits 7…4: Hintergrundfarbe
       Bit 3   : 1: Normale Darstellung - 0: Inverse Darstellung
       Bits 2…0: Rahmenfarbe und Hilfsfarbe für Multicolor Zeichen

D.2 VIA 6522 (Versatile Interface Adapter)
VIA1: 9110-911F / VIA2: 9120-912F

91x0: Port B Daten Register
91x1: Port A Daten Register
91x2: Port B Daten Richtung Register (0: Eingang ~ 1: Ausgang)
91x3: Port A Daten Richtung Register (0: Eingang ~ 1: Ausgang)
91x4: Zähler 1 Counter Register - Bits 7…0
       Lesen: Aktueller Stand des Zählers 1
       Schreiben: Jener Wert mit der der Zähler beim nächsten
       Nulldurchgang geladen wird.
91x5: Zähler 1 Counter Register - Bits 15…8
       Lesen: Aktueller Stand des Zählers 1
       Schreiben: Jener Wert mit der der Zähler beim nächsten
       Nulldurchgang geladen wird und sofortiger Reload des Zählers.
91x6: Zähler 1 Latch Register - Bits 7…0
       Jener Wert mit der der Zähler 1 beim nächsten Nulldurchgang
       geladen wird.
91x7: Zähler 1 Latch Register - Bits 15…8
       Jener Wert mit der der Zähler 1 beim nächsten Nulldurchgang
       geladen wird.
91x8: Zähler 2 Counter Register - Bits 7…0
       Lesen: Aktueller Stand des Zählers 2
       Schreiben: Jener Wert mit der der Zähler 2 beim nächsten
       Nulldurchgang geladen wird.
91x9: Zähler 2 Counter Register - Bits 15…8
       Lesen: Aktueller Stand des Zählers 2
       Schreiben: Jener Wert mit der der Zähler 2 beim nächsten
       Nulldurchgang geladen wird und sofortiger Reload des Zählers.
91xA: Serielles Daten Register
91xB: Auxiliary Control Register
       Bit 7: Unterläufe von Zähler 1 werden an Pin PB7 angezeigt.
       Bit 6: 0: Zähler 1 beginnt nach einem Unterlauf automatisch
                 von vorne
              1: Zähler 1 hält an, wenn er einmal fertig gezählt hat.
       Bit 5: Zähler 2 Signalquelle (1: Systemtakte - 0: PB6 Pulse)
       Bit 4…2: Steuerung des Seriellen Daten Registers
       Bit 1: Port B Latch Enable
       Bit 0: Port A Latch Enable
91xC: Periphery Control Register
       Bits 7…5: CB2 Handshake Steuerung
            000 ~ Eingang: Interr. bei neg. Flanke
                  Lesen oder Schreiben von Port B löscht den Interr.
            001 ~ Eingang: Interr. bei neg. Flanke
                  Zugriff auf Port B löscht den Interr. nicht
            010 ~ Eingang: Interr. bei pos. Flanke
                  Lesen oder Schreiben von Port B löscht den Interr.
            011 ~ Eingang: Interr. bei pos. Flanke
                  Zugriff auf Port B löscht den Interr. nicht
            100 ~ Ausgang: Schreiben des Port B Daten Reg. setzt
                           auf 0
                           Wechsel von CB1 setzt auf 1
            101 ~ Ausgang: Schreiben des Port B Daten Reg. setzt für
                           einen Taktzyklus auf 0
            110 ~ Ausgang Low
            111 ~ Ausgang High
       Bit 4: CB1 Eingang: 0: Interr. für neg. Flanke
                           1: Interr. für pos. Flanke
       Bits 3…1: CA2 Handshake Steuerung
            Wie Bits 7…5 aber Port A Daten Reg.
       Bit 0: CA1 Eingang: Wie Bit 4
       Es ist kein unmittelbarer Zugriff auf den Werte in Port C
       möglich. Nur Änderungen können per Interr. ermittelt werden.
91xD: Interrupt Flag Register
       Bit 7: Control Bit
       Bit 6: Timer 1 Unterlauf
       Bit 5: Timer 2 Unterlauf
       Bit 4: CB1 Interrupt
       Bit 3: CB2 Interrupt
       Bit 2: Serielle Datenübertragung fertig
       Bit 1: CA1 Handshake Interrupt
       Bit 0: CA2 Handshake Interrupt
91xE: Interrupt Control Register
       Bedeutung der Bits wie 91xD.
91xF: Port A Daten Register (wie 91x1 aber ohne Handshake)

9110: VIA1 Port B
      Bit 7: RS232: DSR (Data Set Ready)
      Bit 6: RS232: CTS (Clear to Send)
      Bit 5: Ungenutzt
      Bit 4: RS232: CF  (Receive Line Signal)
      Bit 3: RS232: RI  (Ring Indicator)
      Bit 2: RS232: DTR (Data Terminal Ready)
      Bit 1: RS232: RTS (Request to Send)
      Bit 0: RS232: RXD (Receive Data)

911C: VIA1 Port C
      CB2: RS232: SOut (Transmitted Data)
      CB1: RS232: SIn  (Interrupt for SIn)

9111: VIA1 Port A
      Bit 7: IEC-Bus: ATN Ausgang
      Bit 6: Kassetten Schalter Abfrage
      Bit 5: Joystick Feuer
      Bit 4: Joystick Links
      Bit 3: Joystick Hinunter
      Bit 2: Joystick Hinauf
      Bit 1: Ungenutzt
      Bit 0: Ungenutzt

9120: VIA2 Port B
      Bits 7…0: Tastatur Zeilenauswahl
      Bit 7: Joystick Rechts
      Bit 3: Kassetten Schreibleitung

9121: VIA2 Port A
      Bits 7…0: Tastatur Spaltenresultat

912C: VIA2 Port C
      CB2: IEC-BUS: Daten Ausgang
      CB1: IEC-BUS: Daten Eingang
      CA2: IEC-BUS: Takt Ausgang
      CA1: Kassetten Leseleitung
Home Anfang Zurück Inhalt Weiter Ende Top of Page

Quelle: http://www.infinite-loop.at/Power20/Documentation/Power20-LiesMich/AD-Spezialbausteine.html
Power20 Homepage: http://www.infinite-loop.at und http://www.salto.at - EMail:
© Roland Lieger, Goethegasse 39, A-2340 Mödling, Österreich
Letzte Änderung: 29. Feb. 2008
Valid HTML 4.01!