Ur: Radio & Telvision nr 2 1982.
[ Samma bild som ickedestruktiv PNG (561 Kbyte) ]
* Commodores nya dator VIC 20 är den första i en helt ny prisgrupp, kring 3 000 kronor med kassettspelare, vilket gör den attraktiv även för privatbruk.
* Färg, grafik och samma basic som i storebröderna PET och CBM lovar mycket.
Håller den måttet?
Läs om våra provningsresultat här!
Av GUNNAR LILLIESKÖLD
VIC - den första hemdatorn - står det i annonserna, och visst finns det fog för det. Det har sedan åtskilliga år tillbaka funnits datorer som kan vara lämpliga för lek och hobby men inga som så direkt har riktat sig till den här målgruppen, låt oss kalla den lekmännens! Vi skall dock inte glömma Sinclair ZX 81 som dock är betydligt enklare, men också avsevärt billigare.
Beteckningen VIC för kanske tankarna till en viss halstablett, men den står i själva verket för Visual Interface Computer. VIC 20 säljs som en leksak, är förpackad som en sådan och helt färdig att tas i bruk med den egna tv:n som bildskärm. Lika väl som ishockeyspelet kan bli en present för hela familjen kan datorn bli det. Vi skall redan nu nämna att en ypperlig anvisning om hur datorn skall programmeras i basic medföljer. Den är välillustrerad, pedagogisk och riktad till rena noviser och skriven på svenska. VIC är därför en utmärkt maskin för att tillägna sig datorkunskap men kan också användas för tv-spel. Prismässigt hamnar den mellan dagens smådatorer och avancerade tv-spel.
Vad skall man då ha en sådan här dator till, frågar sig kanske läsaren mot bakgrunden av våra kritiska inlägg mot hemdatorn som företeelse i RT:s stora datornummer (se RT 1981 nr 9, NCC-referatet och ledaren). Finns det över huvud några vettiga tillämpningar för en genuin hemdator?
Det här kan man förstås bara ge subjektiva svar på. Det viktigaste skälet för de flesta köpare är förmodligen den personliga utbildningen. Allt fler inser behovet av att ha erfarenheter av datorer, eftersom de flesta moderna yrken med teknikanknytning kräver det. Att starta med språket basic är det definitivt bästa.
Sedan kan man komplettera sina kunskaper i antingen programmeringsspråk på högre nivåer eller fördjupa sig i assembler liksom maskinspråk.
I mikrodatorns barndom startade man ofta just på maskinspråknivå och den första vägen mot ett fungerande program blev lång och svår. Med basic och den utmärkta handboken till VIC 20 dröjer det inte många minuter om man börjar från "scratch" innan man når resultat, vilket bör tilltala inte minst en yngre publik. Innan vi granskar möjligheterna till programmering skall vi dock se på själva datorn och dess utbyggnadsmöjligheter.
Själva datorn är liten. Det alfanumeriska tangentbordet dominerar synfältet när man ser datorn framifrån/uppifrån. På dess högra sida sitter kontakter för spänningsmatning; 9 V växelström som kommer från en separat transformator för nätanslutning. Här finns också nätströmbrytaren och en 9-polig kontakt för anslutning av en "joy stick", som användes vid spel.
På baksidan finns en 44-polig kontakt för anslutning av expansionsmoduler, en 5-polig DIN-kontakt för den utgående videosignalen, en 6-polig DIN-kontakt där serieporten mynnar, en kassettanslutning samt, slutligen, en 24-polig kontakt som är avsedd för speciella tillbehör.
Med datorn följer förstås transformator och en hf-modulator som ger en tv-signal på kanal 36. Däremot får man separat köpa den speciella bandspelare som passar Commodores alla datorer.
Tangentbordet är väl utfört med samma "känsla" som i de större maskinernas bord. Det är med andra ord helt tillfyllest, vilket är en egenskap att ta fasta på! I väldigt enkla hobbydatorer och datorkort använder man ibland bara en etsad platta, på vilken man berör det segment som svarar mot ett visst tecken. Ganska snart tröttnar man på den stumma ytan. Inte heller är det bra med för små tangenter, som fallet var med den första Commodoredatorn. VIC har alltså lagom stora tangenter.
Till höger om det alfanumeriska tangentbordet finns det fyra tangenter. Med deras hjälp, med och utan skifttangenten, kan man välja åtta tecken eller funktioner som man själv skapar. Man kan också tänka sig att tangenterna aktiverar funktioner i moduler som man pluggar in i datorn.
Att datorn har stora och små bokstäver har vi glömt att tala om, men det är väl rätt självklart numera? Det finns också några specialtecken som pund, pi, pil vänster, pil upp, större än, mindre än och hakparenteser.
Mikroprocessorn är av typen 6502. Det är samma processor som används i datorserierna Commodore PET och CBM. Det finns därför stora likheter mellan dem och VIC men också olikheter. VIC har t ex ingen IEEE-buss som PET och CBM har utan en egen buss. Maskinens interna RAM rymmer 5 k och det kan med yttre moduler byggas ut till maximalt 32 k. Med plug in-systemet kan man komplettera med 20 kbyte ROM.
Andra moduler, vars funktioner vi återkommer till, kallas Super Expander och Programming Aid Cartridge. En sådan kan fästas direkt på VIC. Alternativt kopplas de in i en expansionsenhet. Det finns också spelmoduler som givetvis utnyttjar maskinens färg-, grafik- och ljudmöjligheter. För att utöka möjligheterna kan man till apparatens ingångar koppla "joy stick" och ljuspennor.
Speciellt för VIC finns en skrivare (Seikosha) och en flexskivenhet. Intressant att notera är att formateringen på flexskivorna är samma som i de större maskinerna PET och CBM. Det innebär att vissa program, så långt minnesutrymmet räcker, kan vara gemensamma för de olika datortyperna.
PET och CBM har som sagt IEEE-buss, vilket gör att de direkt kan anslutas till en rad mätinstrument. Bussen kallas även GPIB-, HPIB- och IEC-buss. Till VIC finns det ett anpassningskort för IEEE, och därmed kan datorn anslutas till mätinstrumenten eller till alla de tillbehör som finns till de större datorerna.
[ Samma bild som ickedestruktiv PNG (380 Kbyte) ]
På skärmen, dvs tv-apparaten, presenteras 23×22 tecken vilket är ovanligt få och helt otillräckligt i kontorsdatorsammanhang där man gärna vill ha 80 tecken på en rad. I hem- och hobbysammanhang samt i vissa tekniska tillämpningar kan det dock räcka. Programraderna tillåts vara 4×22 = 88 tecken långa.
Det är svårt att få god upplösning när signalen förs över en hf-modulator till tv-mottagarens antenningång. Bland annat därför har man valt att använda stora och få tecken på skärmen.
Den första versionen av VIC som nådde Europa var byggd i Japan och konverterad för PAL. Det hade man dock inte riktigt lyckats med. Återgivningen var ganska suddig och särskilt gällde det gult, som flöt ut betänkligt. PAL-signalen var heller inte helt normenlig och det hände att tv-apparaterna ibland tappade färgen. En annan svaghet var färgerna: Blått t ex var så mörkt att man knappast såg någon skillnad mot svart.
I dag tillverkar man VIC i Tyskland för den europeiska marknaden. Apparaten har optimerats för användning tillsammans med tv-apparater enligt PAL-standard. Därför har man inte längre några problem med synkroniseringen av färginformationen. Nu återger den f ö utan svårighet färgerna svart, vitt (som kräver en mörk bakgrund), rött, cyan, purpur, grönt, blått och gult.
Hela videoprocessen försiggår i en specialutvecklad krets med typnumret 6561, vilken i sig är en mikrodator på en kiselbricka. Häri "tillverkas" bilden med dess beståndsdelar av alfanumeriska och grafiska tecken i olika färger.
I de åtta färgerna kan man skriva tecken och grafiska element. Det är också möjligt att göra reverserad skrift, dvs vita tecken på en färgad bakgrund. De första försöken gör man direkt på tangentbordet, men snart lär man sig att använda färger och grafik i programmen. Då använder man kommandot POKE.
Som exempel väljer vi POKE 36879, 125, vilket betyder att vi i minnescell nr 36879 lägger värdet 125. I den minnescellen lagrar datorn information om färg på skrivytan resp omgivande ram. Minnesinnehållet 125 betyder i det här fallet att skärmen är gul med ett omgivande grönt fält. Skärmen kan ha 16 färger (blandade färger är alltså möjliga) med åtta olika färgers omgivande fält. Totalt ger det 8×16 kombinationer, vilka motsvarar var sin kod. Den önskade koden lägger vi alltså i minnesadressen 36879.
Vi kan även använda POKE-kommandot för att adressera en speciell position på skärmen och där lägga önskad färg på ett alfanumeriskt eller grafiskt tecken. Det finns 60 grafiska tecken att välja på, vilket är detsamma som i CBM och PET.
Bildskärmens tecken lagras i ett 506 byte stort minne och i ett lika stort minne ligger färginformationen.
Att behöva använda POKE-kommandot för varje punkt i de figurer man önskar åstadkomma är förstås både tidsödande och besvärligt. Men det finns en enkel lösning som heter Super Expander. Med den tillsatsen ritar vi enkelt upp linjer på skärmen genom att ange start- och slutpunkt. Man kan också rita cirklar eller cirkelsegment genom att ange centrum, radie och vinklar för segmentet.
Super Expander finns i två versioner: Med eller utan 3 k RAM. Man måste välja den senare om man inte tidigare har expanderat minnet, eftersom de utökade grafikmöjligheterna i sig kräver 1 k RAM arbetsminne förutom datorns ordinarie 5 k (av vilka man kan använda 3,5 k för egna program).
Modulen ger också högupplösande grafik med 176×160 punkter. Då kan man bara nyttja två färger. Med flera färger begränsas upplösningen till 88×160 punkter. Högupplösningsgrafiken kommer man åt med ett särskilt basic-kommando: HIRES. Programpaketet innehåller även andra kommandon som t ex TEXT, med vilket man återgår till textmod. PLOT använder vi för att dra en linje mellan två punkter. Skriver vi BOX och anger två koordinater på skärmen ritar datorn helt sonika upp en rektangel där punkterna anger två hörn i den. CIRCLE gör vad namnet anger, men intressant är att man också kan åstadkomma ovaler. PAINT använder man för att fylla en yta, som man redan har ritat upp, med färg. Det finns också speciella kommandon för ljuspenna och joy stick liksom för ljudgenerering: SOUND, MUSIC, TEMPO och PIANO.
Musik- och ljudeffekter kan man skapa även utan Super Expander. Det blir förstås lite omständligare utan tillgång till de speciella programrutinerna. Med POKE får man bestämma tonhöjd och styrka. Man kan generera tre stämmor samtidigt. Dessutom finns det filtrerat brus i tonsteg att tillgå.
Det förefaller ju vara trevligt att kunna åstadkomma musik med sin dator, men det hela är diskutabelt, anser undertecknad. Den här datorn, liksom de flesta andra musikspelande små datorer, spelar helt enkelt falskt! Det rätta delningsförhållandet mellan halvtonerna är 12:e roten ur två, vilket motsvarar den tempererade stämning som tillämpas i dag. Se vidare Karmann, Ernst: "Välljudets matematik" i RT 1974 nr 4. Där framgår det, att en duktig pianostämmare skall kunna stämma inom +/- 10 cent. En cent motsvarar en tiondel av en halvton. I VIC noterade vi upp till 23 cents avvikelse, dvs nära ett kvarts tonsteg fel! Det låter faktiskt inte bra. Inte för att man skall vänta att det hela skulle vara något vackert instrument. Ett sådant ställer helt andra krav på klangbildning i form av anslag, övertonhalt, attack och avklingande. Men man kan anta, att den som ofta hör falska toner av det här slaget till slut genom vana, eller rättare sagt ovana, förstör sin eventuella musikalitet.
Att ställa musikaliska krav på en dator kanske låter överdrivet men så som tonerna troligen åstadkommes, genom en tabell i ett datorprogram, borde det vara möjligt att få ett perfekt delningsförhållande mellan frekvenserna, eftersom det finns snabba förlopp att utgå från i datorn. Tabellen är helt enkelt för grovt tillyxad!
Fig 4. Allt är förstås byggt på ett kort för att hålla priset nere.
Fig 5. VIC innehåller två mikroprocessorer: 6502 och, på bilden, 6561. Den senare hanterar alla terminalfunktioner som tecken-, grafikpresentation och färgåtergivning.
Det här är en annan användbar ROM-kassett till VIC. Innehållet är avsett att vara till hjälp vid programmeringsarbetet. Här finns basic-rutiner för att lägga till subrutiner till ett redan färdigt program, sökkommando (FIND och CHANGE), borttagning av rader (DELETE), automatisk numrering av rader (AUTO), exekvering rad för rad (TRACE och STEP) för avlusning av felaktiga program, och så finns det rena hjälprutiner som EDIT, PROG, DUMP, HELP samt KILL.
När man slår till datorn befinner den sig i programmeringsmod. Funktionstangenterna har då betydelse som RUN, LIST, GOTO m m. Går man över i redigeringsmod, betyder tangenterna i stället RENUMBER, MERGE, FIND, osv.
Med de här rutinerna blir datorn ännu användbarare. Dess Microsoft-basic är i grunden bra och allmänt accepterad.
+ Relativt lågt pris: 2 500 kr inkl moms
+ Utbyggbara minnen, programkassetter, flexskivminnen, skrivare, "joy stick"
och ljuspenna
+ Med komplettering av IEEE-anpassning kan VIC anslutas till tillbehör för
PET och CBM
+ Samma formatering på band och flexskiva som för de större datorerna PET
och CBM
+ Färg- och grafikmöjligheter
+ Ett mycket bra tangentbord samt funktionstangenter
+ Samma Microsoft-basic som i de större datorerna
+ Språket Forth kommer som tillsats i modulutförande.
På minussidan noterar vi:
- Priset inkluderar inte kassettbandspelaren, som kostar 700 kr
- Man kan inte använda vanliga kassettspelare
- Antalet tecken på skärmen är något begränsat (22 tecken och 23 rader)
- Upplösningen är något begränsad p g a överföring på tv-kanal över
modulator. Direktkoppling till eventuell videoingång ger ett bättre
resultat, och
- musikåtergivning sker med falska toner (tyvärr en generell företeelse i
smådatorer och tv-spel).
Tabell 2. Minneskarta för VIC
Decimal | Hex | |
---|---|---|
0 | Arbetsminne RAM 1k | 0000 |
1024 | Expansions-RAM 3k | 0400 |
4096 | Användarens basic-program RAM 3,5k | 1000 |
7680 | Bildskärmens minne | 1E00 |
8192 | Expansion RAM/ROM 8k | 2000 |
24576 | Teckengenerator ROM 4k | 6000 |
36864 | VIC-adress | 9000 |
37136 | I/O nr 1 | 9110 |
37888 | Färg-RAM | 9400 |
38912 | I/O nr 2 | 9800 |
39936 | I/O nr 3 | 9C00 |
40960 | Expansions-ROM 8k | A000 |
49152 | Basic-ROM | C000 |
57344 | Subrutiner i ROM | E000 |
Tabell 3. Test av snabbhet
I den amerikanska datortidsskriften Kilobauds juniutgåva 1977 finns sju program för test av datorers snabbhet. Programmen har blivit någon av en inofficiell standard. Vi redovisar här några tester av vanliga datorer. Sifferangivelserna avser tid i sek.
Program | Compucolor | ABC 80 | Apple II (integer basic) | ABC 800 | Genie II | VIC 20 |
---|---|---|---|---|---|---|
1 | 2,6 | 1,2 | 1,6 | 0,9 | 3,0 | 1,3 |
2 | 11,3 | 2,1 | 0,5 | 1,8 | 12 | 8 |
3 | 22 | 11 | 7,6 | 5,9 | 29 | 15 |
4 | 23 | 12 | 7,4 | 6 | 30 | 18 |
5 | 25 | 12 | 9,2 | 6 | 34 | 19 |
6 | 38 | 17 | 19 | 11 | 56 | 27 |
7 | 55 | 23 | 29 | 19 | 86 | 42 |
Tab 4. Priser inkl moms
VIC 20 inkl nättransformator, hf-modulator och användarhandbok: | 2 499 kr |
Handboken separat | 79 kr |
Programmeringspärm | 79 kr |
Skrivare | 3 249 kr |
Flexskivminne | 4 995 kr |
Expansionsbox med plats för 6 moduler | 1 650 kr |
RS 232-anpassare | 495 kr |
3k minnesmodul | 349 kr |
8k minnesmodul | 595 kr |
16k minnesmodul | 995 kr |
Super expander inkl 3k RAM | 595 kr |
"Programmers aid" | 395 kr |
Maskinspråksmonitor | 395 kr |
En modul för språket Forth kommer i början av året |
Åter till index | Åter till Softwolves Commodoresida | Peters hemsida