VIA 6522

Der 6522 Versatile Interface Adapter (VIA) ist ein sehr flexibler Ein/Ausgabekontrollbaustein. Außerdem verfügt er über zwei sehr mächtige 16-Bit Intervalltimer, ein seriell-nach-parallel/parallel-nach-seriell Schieberegister und zwei individuell Programmierbare I/O Ports mit je 8 Bit. Um die Kontrolle über diese ganzen Fähigkeiten zu haben, gibt es ein Interruptflagregister, ein Interrupt-Enable-Register und ein Paar Funktionskontrollregister.

Das Schieberegister des Chips sollte beim VC-20 für den Seriellen Bus eingesetzt werden. Es sollte beim Datenempfang etwa so funktionieren: Wenn der Chip die richtigen Data und Clock Signale empfing, "sammelte" er 8 Datenbits und speicherte sie in einem seiner Register. Wenn das geschehen war signalisierte er der CPU, dass Daten angekommen sind und des Abholens bedürfen. Das ganze ging auf ähnliche Weise beim Datensenden.

In der Zeit des PET wurde mittels des Schieberegisters der 6522 VIA oft Musik gemacht. Dabei stellte sich heraus, dass das Register einen Fehler aufwies, der darin bestand dass das Register mit anderen Chip-Funktionen interferierte. Commodore wußte das nicht, da das Schieberegister damals noch nicht verwendet wurde. Beim VC20 wurde es jedoch für den Seriellen Bus verwendet, um daraus einen Byte-Schieber statt einem Bit-Schieber zu machen. Als das Problem bekannt wurde, waren die Rechner bereits in Produktion, also mußte eine Softwarelösung her. DIese Softwarelösung funktionierte zwar, hatte jedoch den Nachteil, dass die Geschwindigkeit brutal in den Keller ging.

Bei den 6526 VIAs des C64 wurde das besagte Problem zwar behoben, aber da die Floppy 1540 (und später die 1541) immer noch die 6522-Chips verwendete und die VC-20 Kompatibilität den CBM-Ingenieuren damals wichtiger war als die Floppygeschwindigkeit wurde dieselbe Technik beibehalten. Erst beim C128 in Verbindung mit der Floppy 1571 wurde die ursprünglich geplante Technik realisiert: der sogenannte Burst-Modus.