MOS Technology VIA

MOS 6522 (VIA)
Rockwell 6522 (VIA)

Der Versatile Interface Adapter 6522 (VIA) ist ein flexibler Ein-/Ausgabebaustein der Firma MOS Technology, der ursprünglich für 8-Bit-Mikroprozessorsysteme der 6500-Familie entwickelt wurde. Er verfügt über zwei 16-Bit-Intervalltimer, ein seriell-nach-parallel/parallel-nach-seriell-Schieberegister und zwei individuell programmierbare I/O-Ports mit je 8 Bit. Zur Kontrolle dieser Funktionen gibt es ein Interrupt-Flag-Register, ein Interrupt-Enable-Register und ein Paar Funktionskontrollregister.

VIA-Bausteine wurden in vielen Personal Computern der 1980er Jahre eingesetzt, außerdem in industriellen Steuercomputern und Einplatinencomputern.

Der 6522 wurde auch von Rockwell Semiconductor[1], Synertek[2], GTE/CMD[3], Western Design Center[4] und UMC in Lizenz gefertigt.

Registersatz

Ein VIA enthält einen Registersatz, der bei der Kommunikation zwischen VIA und Prozessor über einen Datenbus mit 8 Bit und einen Adressbus mit 4 Bit (also über 16 Adressen) angesprochen wird.[5]

Der Schieberegister-Fehler

Pin-Belegung

Das im VIA enthaltene Schieberegister, welches 8 aufeinander folgende Bits ohne CPU-Unterstützung hätte senden bzw. empfangen können, weist einen Designfehler auf,[6] weshalb es nicht, wie ursprünglich geplant, zur Implementierung des CBM-Busses („seriellen IEC-Busses“) im Commodore VC 20 eingesetzt werden konnte. Stattdessen wurde diese Funktionalität komplett in Software implementiert.[7] Das hatte zur Folge, dass dieser Bus nur mit ca. 1/4 der Geschwindigkeit arbeiten konnte, als wenn man auf das Schieberegister hätte zurückgreifen können.[8]

Bei den CIAs 6526 des Nachfolgemodells C64 wurde das besagte Problem zwar behoben, aber in der Floppy VC1540 (und später der VC1541) wurden immer noch die VIA-Chips verwendet. Außerdem entschied sich das damalige Commodore-Marketing, die Rückwärtskompatibilität zum VC 20 wichtiger als die Floppygeschwindigkeit einzustufen, und so wurde dieselbe Technik mit ihrer geringen Geschwindigkeit beibehalten.[9] Erst beim C128 in Verbindung mit den Floppys VC1570 und VC1571 wurde die ursprünglich geplante Technik realisiert, die dann als Fast-Serial-Bus bezeichnet wurde.[10] Zusätzlich wurde mit diesen beiden Floppys der von Commodore sogenannte Burstmodus eingeführt, der ebenfalls das Schieberegister verwendete.[11]

In den CMOS-Ausführungen von GTE/CMD (G65SC22) und Western Design Center (W65C22) wurde der Fehler ebenfalls behoben.

Einzelnachweise

  1. R6522 Versatile Interface Adapter (VIA). (PDF; 8,5 MB) Abgerufen am 7. September 2020 (englisch). 
  2. SY6522 Versatile Interface Adapter. (PDF; 5,9 MB) Abgerufen am 7. September 2020 (englisch). 
  3. G65SC22 CMOS Versatile Interface Adapter With Interval Timer/Counters. (PDF; 13,6 MB) Abgerufen am 1. Januar 2021 (englisch). 
  4. W65C22 Versatile Interface Adapter (VIA). (PDF; 727,4 KB) Abgerufen am 1. Januar 2021 (englisch). 
  5. MCS6522 Versatile Interface Adapter. (PDF; 10,2 MB) S. 3, abgerufen am 7. September 2020 (englisch). 
  6. SY6522 Versatile Interface Adapter. (PDF; 5,9 MB) S. 7, abgerufen am 7. September 2020 (englisch). 
  7. Commodore Peripheral Bus: Part 4: Standard Serial. Abgerufen am 7. September 2020 (englisch): „The fact that it was now a pure software protocol ...“ 
  8. Brian Bagnall: Commodore. Variant Press (englisch): “... the only way for him to make the disk drive work was to slow down the transfer speed by four times.” 
  9. Brian Bagnall: Commodore. Variant Press (englisch): “... but marketing really forced us into it.” 
  10. Commodore Electronics Limited: 1571 Disk Drive User's Guide. APPENDIX F SERIAL INTERFACE INFORMATION (englisch). 
  11. Commodore Electronics Limited: 1571 Disk Drive User's Guide. CHAPTER 10 BURST COMMANDS (englisch). 
PET/CBM

KIM-1PET 2001CBM 3000CBM 4000CBM 8000CBM 8032MMF 9000

CBM II

CBM 500CBM 600CBM 700CBM 900

Heimcomputer

VC 10VC 20C64 (SX, GS) • 264-Reihe (C16, C116, Plus/4) • C128C65

Amiga

1000Sidecar500500 Plus2000CDTV6003000/T/UX12004000CD³²

IBM-kompatibel

PC-1 PC-10 bis PC-70x86LTA1060

Peripherie
Laufwerke

DatasetteCBM-DiskettenlaufwerkeVC15xx (VC1540/41, VC1551, VC1570/71, VC1581) • SFD100x (SFD1001, SFD1002) • CBM 2020 bis 8250CBM 4040A570 • A590 • A3070

Drucker

MPS-SerieMPS 801MPS 802MPS 803MPS 1000MPS 1270MPS 1500 CMPS 1550 CVC1520 • CBM-8000-Serie • CBM 4022CBM 4023

Sonstige Hardware

CBM-BusZorro-BusUhrenportWOMRAM Expansion UnitTurbokarte • Mäuse: Commodore 1350/1351 • Monochrom- und Farb-Monitore: 1701 • 1702 • 1703 • 1801 • 1802 • 1081 • 1084/1084S • 1085 • 1901 • 1942 • Lautsprecher A10 • Mehrfachbenutzersysteme (MBS)

Historische Hardware

Schreib- und Tischrechenmaschinen • LED-Uhren • 2000K/3000HChessmate

Chips

MOS Technology65026510VICVIC IITEDVDCSIDPIA • VIA • RIOTTPICIAACIA • Agnus (Blitter, Copper) • Paula • EHB-ModusHAM-Modus

Chipsätze

OCSECSAGAAAAChip-RAM und Fast-RAM

Software

Commodore BASICCommodore Basic V2KernalCBM-ASCII (PETSCII) • GEOS • Commodore DOSAmigaOSKickstartWorkbenchARexxAmigaGuideAMIX

†: Spielkonsole ‡: nur Prototyp