VIC 20

Deel dit artikel

,

Commodore VIC20

De VIC 20, de kleurige toekomst van Commodore. De VIC-20 was de eerste computer van Commodore die beschikte over kleur. In 1980 gaf de president - directeur van Commodore (Jack Tramiel) zijn ontwerpers de opdracht om een goedkope computer te ontwerpen. Jack vreesde enorme concurrentie uit Japan op het gebied van de goedkope homecomputer. En i.p.v. af te wachten waarmee de Japaners zouden komen ging hij alvast in de aanval. Hij gaf zijn team de opdracht een computer te ontwerpen voor maximaal $300,-- en deze moest over 9 maanden klaar zijn.

De VIC-20 werd ontworpen door Commodore in Japan. In 1981 rolde de eerste VIC-20's van de productie lijnen. Vreemd genoeg kreeg de VIC-20 niet overal dezelfde naam. In Japan heet de VIC-20 de VIC-1001, in Duitsland de VC-20 en in de rest van de wereld VIC-20. Waarom de VIC-20 in Duitsland de VC-20 heet is niet helemaal duidelijk maar de meest logische reden is dat de afkorting stond voor Volks Computer.

De VIC-20 was een succes vanaf de introductie. De productie kon de vraag amper bijhouden. Op het hoogtepunt werden er per dag 9000 VIC-20's geproduceerd. De concurrentie wist niet wat ze overkwam en konden de prijs van $300,-- niet geloven. De concurrentie werd steeds verder weg gedrukt doordat de prijs in 2 jaar daalde tot slechts $130,--.

Met de VIC-20 veroverde Commodore de homecomputer markt. De VIC-20 werd geproduceerd vanaf 1980/1981 tot en met 1984. Op de foto de VIC-20 PAL versie, deze vroege versie heeft nog een externe RF modulator en een simpele voeding.

Technische specificaties:

 Processor  MOS 6502, 1MHz
 RAM geheugen  5 KB
 ROM geheugen  20 KB (Basic, Kernal, Karakters)
 Co-Processor  VIC
 Aansluitingen  Uitbreidingsslot, Gebruikerspoort, Seriele poort, Datasette, Joystick, TV, Video, Geluid, Voeding

 

Het gebruik

Door de beperkte hoeveelheid karakters op het scherm (22) was de VIC-20  niet geschikt voor bedrijfstoepassingen. De meest gebruikte software zijn altijd spellen geweest. De mogelijkheid van het aansluiten van een joystick en de mogelijkheden van kleur waren de perfecte combinatie voor een spelcomputer. Maar omdat de VIC-20 een echte computer was werd hij ook gebruikt door vele elektronica liefhebbers.

Spellen: Iedereen heeft wel een favoriet spel, bekende spellen zijn o.a. Space Invaders, Radar Rat Race, Alpha Alarm, Centipede, Crazy Kong, Gridrunner, Muchman, Paratrooper, Attack of the Mutant Camels, Choplifter, Galaxian, Gorf, Frogger. Er zijn vele honderden spellen uitgebracht voor de VIC-20.

Grafische programma's: Door de nieuwe mogelijkheden van Bitmap en veranderbare karakterset werden ook tekenprogramma's populair. Enkele bekende zijn: Best Paint, FCD, Picasso, Artist.

Muziek programma's: De VIC is niet alleen verantwoordelijk voor het beeldscherm maar doet ook het geluid. Enkele muziek programma's zijn: Fisichella, Victracker, Loop arranger.

Tekst verwerkers: De VIC-20 als tekstverwerker is wel een beetje behelpen omdat het scherm slechts 22 karakters breed is. Voorbeelden van tekst verwerkers zijn: HesWriter, Wordcraft 20, Write Now!, Speed Script, Quick Brown Fox

Kantoor pakketten: In de tijd van de VIC-20 waren kantoorpakketten alleen beschikbaar voor de professionele computers zoals mainframes. Maar enkele toepassingen waren: Personal Finance, Practicalc

Utility's: Voor specifieke taken zijn speciale programma's beschikbaar. Kopieer programma's voor de Datassette en Diskdrive zijn er in vele soorten. Communicatie software voor modems, maar ook packet radio zijn beschikbaar. Meeste utility's waren voor het werken met machinetaal, cassette snelladers extra BASIC commando's e.d.

Demo's: Het fenomeen demo's is pas met de Commodore 64 goed van start gegaan maar de echte "scener" is ook niet vies van een demo op de VIC-20. De VIC-20 is natuurlijk niet zo geschikt voor grafische en muziek demo's maar de beperkingen zijn juist een uitdaging voor de echte "coder". Enkele bekende demo's zijn: Veni vidi Vic! (Marko Mäkelä, Anders Carlsson, Bergström's ), VICI ITERUM MM (Pasi Ojala, Anders Carlsson), Victoria (Dekadence). Honderden demo's zijn gemaakt en er zijn websites die deze demo's voor downloaden beschikbaar stellen.

Cartridges: Iedere VIC-20 had wel een cartridge. Meestal is dat een verzameling van handige software. Zoals extra BASIC commando's, Tape-Turbo's, Disk-Turbo's, Machinetaal monitors, Printscreen programma's. Maar vooral geheugen uitbreidingen waren populair. De originele VIC-20 had slechts 5 kbyte aan RAM geheugen. Je had geheugen uitbreidingen van 3, 8, 16 en zelfs 24 kbyte voor de VIC-20. Maar omdat sommige programma's problemen hadden met geheugen uitbreidingen waren de meeste uitbreidingen uitgevoerd met een aantal schakelaars om zo de juiste hoeveelheid geheugen in te schakelen. Bekende cartidges zijn: HesMon, Programmer's Aid Cartridge, Super Expander.

Randapparatuur: Een enorme verscheidenheid aan apparaten is gemaakt voor de VIC-20 door Commodore maar zeker ook door andere bedrijven. Een paar voorbeelden: Datassette, Diskdrives, Joysticks, Printers, Monitors, Modems, Touchpads, Eprombranders, Geheugen uitbreidingen (RAM en ROM). Besturingen voor robot armen, model treinen, licht shows, dia shows.

Een VIC-20 bestaat uit vele onderdelen die samen een werkende computer maken. We zullen de belangrijkste onderdelen hier behandelen.

 

De Central Processing Unit 6502

De rekenkracht van de VIC-20 wordt verzorgt door de 6502. Dit was de eerste microprocessor die de firma MOS op de markt bracht. Na het uitbrengen van de bijbehorende "computer" de KIM-1 werd de gehele firma overgenomen door Commodore.

Technische specificaties:

 Databus 8 bits
Adresbus 16 bits
 Interrupts IRQ, NMI, RDY
 Kloksnelheid 1 MHz
 Instructies  151

 

Databus: De 6502 werkt, net zoals alle processors, met het binaire systeem. Dat wil zeggen er zijn maar 2 mogelijkheden aan of uit, dit wordt aangeduid met een 0 of een 1. Dit wordt een bit genoemd. Als je een 8 bits brede data bus hebt dan zijn dit de mogelijkheden: 00000000 t/m 11111111. Een waarde van 8 bit breed wordt een byte genoemd. In ons decimale getallen stelsel is dat van 0 t/m 255. Alle verwerkingen zijn dan ook beperkt tot getallen van 0 t/m 255, wil je grotere getallen verwerken dan moet je het getal in meerdere stukken hakken en apart verwerken.

Adresbus: Met de adresbus kan de processor iets kan aanwijzen in het geheugen. De beperking is de breedte van de bus, met 16 bits kan je een getal maken tussen 00000000 00000000 t/m 11111111 11111111 of te wel tussen 0 en 65536. De 6502 kan dus 64 kbyte adresseren.

Interrupts: Een interrupt is een onderbreking. Via deze ingang kan het in de processor lopende programma worden onderbroken.

Snelheid: De systeem snelheid van de VIC-20 is 1 MHz wat wil zeggen dat er 1 miljoen acties per seconden worden uitgevoerd. De processor voert dus 1.000.000 acties uit per seconden. De snelste instructie heeft aan 2 actie genoeg maar de langzaamste heeft 7 acties nodig.

Instructies: Het aantal instructies is 151 maar in theorie zijn er 255 mogelijk. Programmeurs hebben door experimenteren extra instructies gevonden. Maar dit zijn eigenlijk ingebakken fouten en horen niet tot de echte instructie. Er zijn instructie die alleen maar data verplaatsen zoals LDA (Laad de accu met een waarde) maar ook reken instructie zoals ADD (tel bij de accu een waarde op) ook instructie die "rommelen" met een waarde zoals ROR die de bits een plekje naar rechts opschuift.

Op de foto de VIC-1001. Hier is het moederbord te zien. Het grote zwarte gedeelte rechts is een koellichaam voor de 5 volt spanningsregelaar. In latere modellen verhuisde dit onderdeel naar de extern voeding en werd het moederbord een stuk kleiner.

De VIC (6560 / 6561)

De VIC chip is het centrale onderdeel van de VIC-20. VIC is de afkorting van Video Interface Chip. De VIC zorgt voor de hartslag (timing) van het systeem. De VIC doet het geluid, het inlezen van de paddles en lightpen maar natuurlijk ook de weergave op het scherm. Om problemen met geheugen schrijven en lezen tussen de CPU en de VIC te voorkomen is er een slim systeem bedacht. Het kloksignaal voor de CPU en de VIC bestaat uit een blokvorm met een "hoog" en "laag" niveau. De VIC gebruikt het geheugen alleen op het ene niveau en de CPU op het andere niveau. Omdat de VIC-20 voornamelijk werd gebruikt met een televisie is het uitgangssignaal van de VIC-20 ook afgestemd op de televisie standaard. Dit had als gevolg dat er verschillende VIC's zijn geproduceerd.

6560 - NTSC (Noord Amerika, Zuid Amerika, Japan)

6561 - PAL-B (Europa, Afrika, Asië, Australië)

Technische specificaties:

 Tekst 22 x 23 karakters met 8 x 8 pixels of 16 x 8 pixels
 Hires 176 x 184 pixels
 Kleuren tekst 8
 Kleuren achtergrond 16
 Lightpen  
 Geluid 4 stemmen / volume regeling
 Geheugen bereik 16 Kb

Tekst: Op het scherm kan je 506 karakters plaatsen. De karakters komen normaal gesproken uit het CHAR ROM maar je kan de ook een eigen ontworpen karakters gebruiken. In tekst modus zijn er slechts 2 kleuren, de achtergrond en de karakter-kleur. 

Hires: In plaats van karakters wordt nu het scherm gevuld met 176 x 184 = 32384 pixels dit neemt echter wel een behoorlijk stuk van het geheugen in beslag (4 kbyte). En aangezien het totale geheugen maar 5  kbyte is, is dit niet echt een optie in de VIC-20 zonder geheugen uitbreiding.

Kleuren: Er zijn 8 verschillende kleuren voor de karakters en de schermrand. En er zijn 16 verschillende kleuren voor de achtergrond.

Lightpen: Als je met een "light-gun" of "light-pen" op het scherm schiet of klikt dan kan de VIC je vertellen welke positie op het scherm dat was.

Geluid: De VIC-20 beschikt over 4 stemmen. Stem 1 t/m 3 zijn blokvormige signalen met een frequentie range van 7 bit (128-255). Stem 1 is laag, stem 2 is midden en stem 3 is hoog. De laatste stem (4) is witte ruis

Volume regeling: Het volume van het geluid kan geregeld worden in 16 stappen (0-15)

Geheugen: Vreemd is dat de VIC slechts 16 kbyte kan bereiken, dit werd opgelost door de VIC verplaatsbaar te maken. Je kan aangeven welke van de 4 blokken van 16 kbyte de VIC zich mee bezighoudt.

De VIC chip is echter slimmer dan de originele specificaties. Een van de leuke dingen aan de VIC is dat veel parameters van het weer te geven beeld hun waarden halen uit registers. Door deze registers aan te passen kan je bijvoorbeeld de resolutie van 176 x 184 pixels uitbreiden naar 224 × 256 pixels. Ook zijn door slim programmeren scrollen en rasterbalken mogelijk.

De VIA

VIA staat voor Versatile Interface Adapter. En is een in en uitgangen regelunit. De VIC-20 heeft twee van deze chips.

Technische gegevens:

 Programmeerbare I/O  16 bit
 Timers  2 (16 bit op/neer tellers)
 Schuifregister  1 x 8 bit

Programmeerbare I/O: I/O staat voor Input / Output of te wel Ingangen / Uitgangen. Een paar toepassingen van deze I/O zijn het inlezen van het toetsenbord, inlezen van de joystick en inlezen of aansturen van de userport.

Timers: Met deze timers kan een signaal worden gemaakt van een bepaalde tijdsduur. Dit wordt bijvoorbeeld gebruikt om een RS-232 signaal te maken.

Schuifregister: Dit wordt gebruikte voor het omzetten van paralelle (byte) data naar seriële (bit) data voor de IEC bus (printer / diskdrive) en omgekeerd.

De software bestond uit serieuze software en spellen. Omdat voor de meeste gebruikers een diskdrive te duur was werden veel programma's uitgebracht op cassette of op cartridges.

 

De ROM's

In de VIC-20 zitten een aantal ROM's dit zijn geheugens met een vaste inhoud, je kan er wel uit lezen maar niet in schrijven.

KERNAL: Belangrijkste ROM is de KERNAL ($E000-$FFFF - 8 kbyte), daarin zit het operating system van de VIC-20. In de kernal zit bijvoorbeeld het gedeelte wat programma's van en naar de diskdrive en datassette kan sturen het printen van tekst op het scherm of de printer enz.

BASIC: Een andere ROM is de BASIC ($C000-$DFFF - 8 kbyte). Hierin zit de BASIC interpreter. De BASIC interpreter vertaald de BASIC commando's naar machinetaal. Machinetaal is de enige taal die de processor van de VIC-20 verstaat.

CHAR: De tekens die je op het scherm ziet komen uit de CHARacter ROM. ($8000-$8FFFF - 4 kbyte)

De ROM's kunnen vervangen worden door eigen gemaakte (EP)ROM's.

Op de foto een voorbeeld van cartridges voor de VIC-20. Links Serpentine, in de voorgrond Las Vegas en rechts Kats und Mause (Radar Rat Race). Cartridges waren zeer populair omdat het direct toegang gaf tot een spel zonder het eerst hoeven te laden. Op deze manier was de VIC-20 gelijk aan een spelcomputer.

 

De aansluitingen

De VIC-20 beschikt over diverse aansluitingen. Alle hebben hun eigen functie, maar zijn niet altijd nodig voor elke toepassing.

Userport: De userport is een gebruikerspoort om externe apparatuur buiten de VIC-20 te kunnen aansturen, voorbeelden zijn: Modems, Parallelle printers, relais, robots, EPROM programmers en nog veel meer. Opvallend is dat je elke ingang ook als uitgang kan gebruiken en dat ook nog onafhankelijk van elkaar.

Datassette: De Datassette is de cassetterecorder ingang van de VIC-20. Omdat diskdrives vrij duur waren werden computers meestal voorzien van een cassette recorder aansluiting. Bij de Commodore computers was dit geen willekeurige cassette recorder. Omdat daardoor alle datasettes gelijk waren waren er weinig problemen met inlezen van software. Voorwaarde was wel dat de lees / schrijfkop van de datassette correct stond afgesteld. Het gebruik van cassettes werd nog populairder nadat de tape-turbo's waren ontwikkeld. Cassette software kon daarmee sneller worden geladen dan met een standaard diskdrive.

IEC: De IEC poort is een seriële verbinding met randapparatuur zoals de diskdrive en printer. De seriële poort was beperkt in snelheid.

Video: Via de video wordt het beeld-signaal naar een monitor verstuurt, tevens is het geluid via deze aansluiting beschikbaar. Met de video aansluiting wordt meestal een beter beeld verkregen dan via de RF aansluiting.

RF: Dit is ook een video en audio signaal maar dan geschikt voor de televisie.

Expansionport: De expansionport is de uitbreidingspoort. De aansluitingen van deze poort zijn verbonden met de adres- en databus. De toepassing zijn meestal ROM's of te wel programma's die in een EPROM zijn opgeslagen en direct beschikbaar zijn zonder in te laden. De meeste ROM's waren spellen of geheugen uitbreidingen. Maar ook waren er bijvoorbeeld cartridges om een IEEE diskdrive aan een VIC-20 te kunnen aansluiten of cartridges met machinetaal monitors of BASIC uitbreidingen.

Voeding: Vanzelfsprekend heeft de VIC-20 voeding nodig om zijn elektronische onderdelen te laten werken. Het eerste model had slechts een voedingsspanning (9 volt wisselspanning) maar het latere model had 5 volt gelijkspanning en 9 volt wisselspanning, zoals de vodeing voor de C64

Joystick: Waarschijnlijk de meest belangrijkste aansluiting. De joystick is onmisbaar voor het spelen van spellen maar de aansluiting kan ook gebruikt worden voor de licht-pen en paddles.

Met paddles (analoge input) kon men bijvoorbeeld een onderzeeer besturen in een spel. Paddles komen altijd in een setje van twee. Deze paddles zijn overigens ook compatible met de C64.

De VIC-20 modellen reeks:

  • VIC 1001 - 1980 - Alleen bedoeld voor de Japanse markt. 
  • VIC-20 - 1981 - Het bekenste en meest verkochte model.
  • VC-20 - 1981 - De Duitse versie van de VIC-20.

 

Actueel

'Meld je aan voor de nieuwsbrief' van HCC!commodore

'Abonneer je nu op de nieuwsbrief en blijf op de hoogte van onze activiteiten!'

Aanmelden