VIC20 vs. C64

VIC20/C64 hastighetsjämförelse

Visste du att VIC20 (föregångaren till C64) faktiskt är snabbare än C64? Här har jag gjort ett omfattande test för att se hur mycket snabbare den egentligen är.

Testnamn
samt beskrivning av testet.
VIC20
(sekunder)
C64
(sekunder)
C64 + Final CartridgeIII
(sekunder)
Antal procent som VIC20 är snabbare än C64 (med FC3 innom parentes).
Tom FOR-loop
FOR T=1 to 10000 : NEXT
9,68 11,53 12,92 19,1%
(33,5%)
Textutskrift/rullning 1
PRINT "(CLRSCR)TEXT OUTPUT/SCROLLING"
FOR T=1 to 600 : PRINT "TESTING OUTPUT...";:NEXT
12,13 13,78 15,05 13,6%
(24,1%)
Textutskrift/rullning 2
PRINT "(CLRSCR)TEXT OUTPUT/SCROLLING2"
FOR T=1 to 600 : PRINT "TESTING OUTPUT..." : NEXT
13,97 25,22 26,50 80,5%
(89,7%)
Matematik
Y=34.23 : X=84.12
FOR T=1 to 500 : Y=X/1.02 : X=X*1.03 : J=(X+Y)*(X/Y) : NEXT
16.70 19.90 21.53 19,2%
(28,9%)
Nummer och Arrayer
DIM O(500) : FOR T=0 TO 500 : O(T)=T : NEXT
FOR T=1 TO 499 : O(T)=O(T)+O(T-1)+O(T+1) : NEXT
9,27 11,03 12,75 19,0%
(37,5%)
Stränghantering
E$=""
FOR T=1 TO 255 : E$=E$+CHR$(t) : NEXT
FOR T=1 TO 200 : R$=MID$(E$,T,50)+CHR$(T) : NEXT
FOR T=1 TO 200 : R$=RIGHT$(E$,T)+CHR$(T) : NEXT
5,82 6,98 7,95 19,9%
(36,6%)
Loop i maskinkod
7000 LDA #$30
7002 LDY #$FF
7004 LDX #$FF
7006 DEX
7007 BNE $7006
7009 DEY
700A BNE $7004
700C SBC #$1
700E BNE $7002
7010 RTS
14,03

(Ca. 0,45 MIPS*)
17,07

(Ca. 0,37 MIPS*)
17,08

(Ca. 0,37 MIPS*)
21,7%
(21,7%)
Disk Access
Inladdning av ett 19199 bytes stort program från en disk (med 20-30 program på) från en 1541-II. På VIC20n ställdes först driven om till VIC20-hastighet med:
OPEN 15,8,15,"UI-":CLOSE 15
43 52 10 20,9%
(-330%)
Programlistning
Listning av ett 118 rader långt basicprogram.
(CLR HOME)
LIST
5 6 7 20,0%
(40,0%)
TOTALT
(med disk access)

129,60 163.51 130,78 26,2%
Medeltal 26,0%

(0,9%)
(Medeltal -2,0%)
TOTALT
(utan disk access)

86,60 111.51 120,78 28,8%
Medeltal 26,6%

(39,5%)
(Medeltal 39,0%)
*MIPS = Miljoner instruktioner per sekund. Tänk på att alla interrupts är på, så egentligen har själva processorn ett högre MIPS-värde.

Hastighetsskillnaden mellan VIC20 och C64 beror tydligen på att PAL VIC20 har en högre klockfrekvens än PAL C64 samt att VIC-II chipet i 64an behöver tillgång till minnet mer än vad VIC-chipet i VIC20 behöver och på så sätt blockeras processorn i 64an längre tid.

Här är klockfrekvenserna:
PAL VIC20 1.11MHz
NTSC VIC20/C64 1,02MHz
PAL C64 0,98MHz

Skillnaderna i klockfrekvenserna gör betydligt mer än vad man kan tro om man jämför med dagens höga klockfrekvenser.


Fördelar med VIC20 gentemot C64

  • Runt 26% snabbare (som vi ser av det stora testet ovan).

  • Man kan ställa in skärmens storlek och skärmcentrering. Man kan göra skärmen så stor att ingen ram alls syns på monitorn. För att göra detta på 64an behövs tricks i maskinkod och processorkraft hela tiden. Dessutom är det då bara spritarna som kan visas utanför skärmen. På VIC20 blir skärmen så stor på riktigt, och detta går till och med att göra i basic.

  • Extra läge för 8x16 pixels stora tecken.

  • En ljudstämma mer än 64an (4 mot 3).

  • Skärmen stänger inte av sig när man laddar från band (eller disk). Då behöver man inte heller trycka på en tangent när den hittar något på bandet som man behöver på 64an.

  • Själva kvaliteten på bilden är bättre (skarpare) än på 64an. Displayen på 64an är ganska suddig om man jämför.

  • Bättre typsnitt. På 64an har de gjort om bokstäverna så de blir fetare. Antagligen för att displayen är suddigare...

  • Bättre färger som standard. Mörkblå text på vit bakgrund är standard på VIC20. På 64an är det ljusblå text på mörkblå bakgrund. Idag är det allmänt känt att det är behagligare att se på mörk text på ljus bakgrund. Så är det på de flesta program idag.

  • En del saker är enklare att programmera, t.ex att spela ljud eller att läsa av värdena för paddles.

  • Var betydligt billigare på sin tid. Kostade runt 2500kr när "VIC64" (som 64an kallades i början) kostade runt 6000kr (år 1983). Tänk på att kronan var värd mycket mer på den tiden också.

    Fördelar med C64 gentemot VIC20

  • Högre grafisk upplösning.

  • Sprites (grafiska objekt).

  • Mjuk scrollning.

  • Mer minne.

  • Bättre ljud.

  • Speciellt läge för grafik/bitmap (tror jag inte finns på VIC20).

  • Alla 16 färgerna kan användas till allt. På VIC20 kan färgerna 8-15 enbart användas som bakgrundsfärg.

  • Har två joystickportar (VIC20 har bara en).

  • Inbyggd RF-modulator

  • Det finns mer och bättre programvara till den.


    Designmissar på VIC20

  • För lite minne som standard. Inte nog med det. Om man sätter i mer än 3kb extraminne, så flyttas adressen för bildminnet. Detta leder till att program för oexpanderad VIC20 är okompatibla med program för expanderad VIC20. Om man hade satt i 8 eller 16kb "extraminne" redan från början så hade detta aldrig hänt.

  • Skärmen kunde ha gjorts något större som standard. Antagligen gjordes den inte det för att spara minne. Hårdvaran stödjer ju som sagt betydligt större skärm.


    Designmissar C64

  • För långsam. En dator som är långsammare än sin föregångare skulle aldrig kunna lanseras idag. Men hastighet var inget försäljningsargument på den tiden.

  • SID-chipet i nyare datorer är inte lika bra på att spela samplingar som det gamla chipet var.

  • VIC-II-chippet i nyare datorer är sämre än i gamla.

  • För stora "sorgkanter" (borders).


    Se även testet mellan VIC20 och Amiga500plus!

    Tillbaka till
    Anders Datormuseums meny