commodore buttonIl Commodore 64 fu concepito piuttosto rapidamente e nell'ottica di un home computer piuttosto alla portata di tutti; pertanto si preferì implementare in Rom un basic piuttosto snello e poco ingombrante come il V2.

Tale linguaggio però non era particolarmente efficace nel gestire il nuovo hardware grafico e sonoro di cui era dotato ampiamente il C64. Solo più tardi si cercò di colmare il gap con l'introduzione sul mercato di una cartuccia di espansione con comandi aggiuntivi in grado di ampliare le possibilità di gestione dell'hardware.

Tale cartuccia venne trasportata dal mondo VIC nel mondo 64 essendo infatti una rivisitazione di una analoga cartuccia disponibile già per Vic-20....

Tale device fu denominato Super Expander 64 e di seguito trascrivo alcuni esempi di programmi scritti con il nuovo linguaggio aggiuntivo....

 

Crea il logo Commodore
10 color 3,6,,,4:graphic 2,1:poke49168,1:scale 0
20 circle 1,158,102,60,52,160,19,,1
30 circle 1,160,102,36,32,150,30,,1
40 draw 1,177,54 to 177,74:draw 1,178,130 to 178,151
50 color ,2: draw 1,182,122 to 182,104 to 202,104 to 266,122 to 182,122
60 color ,1:draw 1,182,81 to 182,99 to 202,99 to 226,81 to 182,81
70 poke49168,0:color ,6:paint ,102,102
80 color ,2:paint ,184,118:color ,1:paint ,184,90
90 goto 90
Disegno di poligoni

10 color 15,14,,,3:graphic 2,1:scale 0:poke 49168,1
20 box 1,318,158,0,0:box 1,316,156,2,2:box 1,314,154,4,4
30 color ,11:char 1,2,20,"Puoi utilizzare il comando BOX per disegnare"
40 char 1,4,22,"rettangoli di ogni forma e dimensione"
50 char 1,3,24,"ruotarli o colorarli"
60 poke 49168,0:color ,1:box 1,12,12,64,320,1
70 color ,7:box 1,180,48,,,1
80 color ,11:box 1,120,16,300,48
90 xa=12:xb=28:ya=46:yb=136:poke 49168,1
100 for j=1 to 8:color ,j*2-2+(j>5)
110 box 1,xa,ya,xb,yb,0,1:xa<+24
120 xb=xb+24:ya=ya+yb:yb=yb-10:next j
130 color ,12:box ,128,112,160,144,45:box ,128,112,160,144
140 color ,5:box 1,128,24,196,40,,1
150 color ,0:box ,224,16,256,48,45
160 xa=240:ya=60:xb=261:yb=140:d=30:n=150:color ,0
170 poke49168,0:for z=o to n step d
180 box ,xa,ya,xb,yb,z:next z
190 goto 190

Archi, circonferenze ed ellissi

10 color 7,9,,,14:graphic 2,1:scale 0:poke 49168,1
20 char 1,1,1,"Il comando CIRCLE ti può far disegnare facilmente"
30 char ,1,3,"archi, circonferenze"
40 draw ,20,80 to 100,80:draw ,60,80 to 60,40
50 r=40:circle ,60,50,r,r,130,230
60 circle ,40,80,r,r,0,110
70 circle ,80,80,r,r,250,0
80 xa=160:ya=68:for r=6 to 30 step 6
90 circle ,xa,ya,r*1.35,r:next r
100 char 1,21,3,"ellissi ruotate"
110 poke49168,0:for r=0 to 150 step 30
120 circle 1,260,72,32,12,,,r:next r
130 char ,1,13,"o qualsiasi poligono regolare"
140 poke49168,1:xa=-20:ya=140:d=360
150 for j=3 to 7:xa=xa+j:n=j:if j=7 then n=8
160 if j=7 then n=8:ya=ya-4
170 circle ,xa,ya+(j and 1)*32,30,25,,,,d/n:next j
180 goto 180