VIC-20 BASIC programs


(This page is "work in progress", so please come back again to check new improvements! Thanks!)
In this section you'll find BASIC programs for the VIC-20 computer made by (4)Seasons.
HAVE A GOOD TIME!

Use these programs at your own risk! We're not responsible of any damage to your computer (emulated or not).




VIC-20 Find the heart - "Three-cards trick" game by BCO!
A simple "Three-card trick" game for our favourite friendly computer.

10 a=65:b=83:c=65:ca=0:cb=2:cc=0:v1=7680:v2=38400:gosub 10000
20 print rnd(-time):print chr$(147)
30 gosub 5000
40 for t=1 to 1000:next
50 for n=1 to sn
60 gosub 4000
70 for t=1 to p*2:next
80 r=int(rnd(1)*3)+1
90 if r=1 then gosub 1000
100 if r=2 then gosub 2000
110 if r=3 then gosub 3000
120 next
130 gosub 4000
140 print "1 2 3"
150 input "wich one";i$
160 if i$<>"1" and i$<>"2" and i$<>"3" then goto 150
165 w=0
170 if i$="1" and a=83 then w=1
180 if i$="2" and b=83 then w=1
190 if i$="3" and c=83 then w=1
200 gosub 5000
210 if w=0 then print "you lose!"
220 if w=1 then print "you win!"
230 input "again (y/n)";r$
240 if r$="y" then run
250 if r$="n" then print "have a nice day!":end
260 goto 230
1000 s=a:a=b:b=s: s=ca:ca=cb:cb=s
1010 poke v2, 1:poke v2+1,  0:poke v2+2, 1:poke v2+3, 1:poke v2+4,  0
1015 poke v1,32:poke v1+1,102:poke v1+2,32:poke v1+3,32:poke v1+4,102
1020 for t=1 to p:next
1030 return
2000 s=b:b=c:c=s: s=cb:cb=cc:cc=s
2010 poke v2,  0:poke v2+1, 1:poke v2+2, 1:poke v2+3,  0:poke v2+4, 1
2015 poke v1,102:poke v1+1,32:poke v1+2,32:poke v1+3,102:poke v1+4,32
2020 for t=1 to p:next
2030 return
3000 s=a:a=c:c=s: s=ca:ca=cc:cc=s
3010 poke v2,  1:poke v2+1,  0:poke v2+2,  0:poke v2+3,  0:poke v2+4,  1
3020 poke v1, 32:poke v1+1,102:poke v1+2,102:poke v1+3,102:poke v1+4, 32
3030 for t=1 to int(p/3):next
3040 poke v2,  1:poke v2+1,  1:poke v2+2,  0:poke v2+3,  1:poke v2+4,  1
3050 poke v1, 32:poke v1+1, 32:poke v1+2,102:poke v1+3, 32:poke v1+4, 32
3060 for t=1 to int(p/3):next
3070 poke v2,  1:poke v2+1,  0:poke v2+2,  0:poke v2+3,  0:poke v2+4,  1
3080 poke v1, 32:poke v1+1,102:poke v1+2,102:poke v1+3,102:poke v1+4, 32
3090 for t=1 to int(p/3):next
3100 return
4000 poke v2,0:poke v2+1,1:poke v2+2,0:poke v2+3,1:poke v2+4,0
4010 poke v1,102:poke v1+1,32:poke v1+2,102:poke v1+3,32:poke v1+4,102
4020 return
5000 poke v2, ca:poke v2+1,  1:poke v2+2, cb:poke v2+3,  1:poke v2+4, cc
5010 poke v1,  a:poke v1+1, 32:poke v1+2,  b:poke v1+3, 32:poke v1+4,  c
5020 return
10000 print chr$(147)+"find the 'S'!"
10020 l=1:input "wich level (1-3)";l$
10030 if l$<>"1" and l$<>"2" and l$<>"3" then goto 10020
10040 sn=7:p=300
10050 if l$="1" then sn=7:p=300
10060 if l$="2" then sn=12:p=150
10070 if l$="3" then sn=17:p=75
10080 print "hit a key to start!"
10090 get a$:if a$<>"" then return
10100 goto 10090

Click the link below to see the video that shows the program running on the VICE emulator!
http://youtu.be/CVx8c8xdveo

VIC-20 Find the heart - Three-cards trick game by BCO

VIC-20 Find the heart - Three-cards trick game by BCO

VIC-20 Find the heart - Three-cards trick game by BCO




BCO76 VIC-20 Slot - Slot-Machine Game
A minimal slot-machine game for our friendly computer.

10 print rnd(-time):poke 36879,8
20 ca=5
30 v1=int(rnd(1)*5)
40 v2=int(rnd(1)*5)
50 v3=int(rnd(1)*5)
60 dim ch(6,2)
70 ch(0,0)=81:ch(0,1)=4
80 ch(1,0)=65:ch(1,1)=6
90 ch(2,0)=90:ch(2,1)=3
100 ch(3,0)=88:ch(3,1)=5
110 ch(4,0)=83:ch(4,1)=2
120 ch(5,0)=55:ch(5,1)=7
130 sp=7680:sc=38400
140 print chr$(147):print chr$(5)+chr$(18)+"bco76 vic20-slot":goto 1000
150 print chr$(147):ca=ca-1
160 for t=1 to 20
170 v1=int(rnd(1)*6)
180 v2=int(rnd(1)*6)
190 v3=int(rnd(1)*6)
200 poke sp,ch(v1,0):poke sc,ch(v1,1)
210 poke sp+1,ch(v2,0):poke sc+1,ch(v2,1)
220 poke sp+2,ch(v3,0):poke sc+2,ch(v3,1)
230 for w=1 to t*15:nextw
240 next t
250 pz=0
260 if v1=0 then pz=5
270 if (v1=0 and v2=0) then pz=10
280 if (v1=0 and v2=0 and v3=0) then pz=20
290 if (v1=1 and v2=1 and v3=1) then pz=30
300 if (v1=2 and v2=2 and v3=2) then pz=50
310 if (v1=3 and v2=3 and v3=3) then pz=100
320 if (v1=4 and v2=4 and v3=4) then pz=200
330 if (v1=5 and v2=5 and v3=5) then pz=1000
340 ca=ca+pz
350 if pz>0 then gosub 3000
1000 print chr$(30)+chr$(18)+"you hold $"ca
1010 if ca=0 then end
1020 print chr$(158)+"press space to roll"
2000 get a$
2010 if a$="" then 2000
2020 if a$=" " then 150
2030 goto 2000
3000 print chr$(5)+chr$(18)+"you win $"pz
3010 for t=1 to 30
3020 poke 36879,(int(rnd(1)*256))
3030 next t
3040 poke 36879,8
3050 return

Click the link below to see the video that shows the program running on the VICE emulator!
http://youtu.be/7D7znC5C4ok

BCO76 VIC-20 Slot - Slot-Machine Game




VIC-20 - Kaleidoscope 2.1 (80's Disco-Music Style with music!)
New version of the second program of the VIC-20's kaleidoscope with the addition of music.

10 print chr$(147)
20 poke 36878,15
30 poke 36879,14
40 for y=0 to 22
50 for x=0 to 21
60 pa=7680+x+22*y
70 ca=38400+x+22*y
80 poke pa,81
90 poke ca,0
100 next x
110 next y
120 for x=0 to 15
130 read d
140 pa=7680+22*22+x
150 ca=38400+x+22*22
160 poke pa,d
170 poke ca,1
180 next x
190 data 22,9,3,50,48,32,56,48,39,19,32,4,9,19,3,15
200 dim n(8)
210 n(0)=195: n(1)=207: n(2)=215: n(3)=225
220 n(4)=209: n(5)=219: n(6)=225: n(7)=232
230 r = int(rnd(1)*8)
240 poke 36874,n(r)
250 c = int(rnd(1)*8)
260 x = int(rnd(1)*11)
270 y = int(rnd(1)*11)
280 ca=38400+x+22*y
290 cb=38400+21-x+22*y
300 cc=38400+x+462-22*y
310 cd=38400+21-x+462-22*y
320 poke ca,c
330 poke cb,c
340 poke cc,c
350 poke cd,c
360 poke 36874,0
370 goto 230

Click the link below to see the video that shows the program running on the VICE emulator!
http://youtu.be/wZnpTGjiNJU




VIC-20 - Kaleidoscope 1.1
New version of the first program of the VIC-20's kaleidoscope with the addition of music.

10 print chr$(147)
20 poke 36878,15
30 for x=0 to 21
40 read d
50 pa=7680+22*11+x
60 ca=38400+x+22*11
70 poke pa,d
80 poke ca,0
90 next x
100 data 32,32,22,9,3,50,48,32,11,1,12,5,9,4,15,19,3,15,16,5,32,32
110 dim n(8)
120 n(0)=175: n(1)=195: n(2)=207: n(3)=215
130 n(4)=225: n(5)=232: n(6)=237: n(7)=240
140 r = int(rnd(1)*8)
150 poke 36874,n(r)
160 c = int(rnd(1)*8)
170 x = int(rnd(1)*11)
180 y = int(rnd(1)*11)
190 pa=7680+x+22*y
200 ca=38400+x+22*y
210 pb=7680+21-x+22*y
220 cb=38400+21-x+22*y
230 pc=7680+x+484-22*y
240 cc=38400+x+484-22*y
250 pd=7680+21-x+484-22*y
260 cd=38400+21-x+484-22*y
270 r1=int(rnd(1)*2)*10
280 r2=int(rnd(1)*2)*128
290 poke pa,95+r1+r2
300 poke ca,c
310 poke pb,105-r1+r2
320 poke cb,c
330 poke pc,105-r1+128-r2
340 poke cc,c
350 poke pd,95+r1+128-r2
360 poke cd,c
370 poke 36874,0
380 goto 140

Click the link below to see the video that shows the program running on the VICE emulator!
http://youtu.be/rMVyr8JWJq0




VIC-20 - Kaleidoscope 3.0 (VIC-20 Oldie but goldie!)
The third version of the VIC-20 BASIC program which produces a colorful kaleidoscope.

10 poke 36879,14
20 a$="vic20 - oldie but goldie! "
30 print chr$(147)+chr$(18)+a$
40 l=len(a$)
50 c=0
60 for x=0 to 483
70 a=peek(7680+c)
80 c=c+1
90 if c=l then c=0
100 poke 7680+x,a
110 poke 38400+x,1
120 next x
130 print s2$
140 c = int(rnd(1)*7)+1
150 x = int(rnd(1)*11)
160 y = int(rnd(1)*11)
170 ca=38400+x+22*y
180 cb=38400+21-x+22*y
190 cc=38400+x+462-22*y
200 cd=38400+21-x+462-22*y
210 poke ca,c
220 poke cb,c
230 poke cc,c
240 poke cd,c
250 goto 140

VIC-20 - Kaleidoscope 3.0 (BASIC)




VIC-20 - Kaleidoscope 2.0 (80's Disco-Music Style!)
The second version of the VIC-20 BASIC program which produces a colorful kaleidoscope.

10 print chr$(147)
20 poke 36879,14
30 for y=0 to 22
40 for x=0 to 21
50 pa=7680+x+22*y
60 ca=38400+x+22*y
70 poke pa,81
80 poke ca,0
90 next x
100 next y
105 for x=0 to 15
110 read d
120 pa=7680+22*22+x
125 ca=38400+x+22*22
130 poke pa,d
135 poke ca,1
140 next x
145 data 22,9,3,50,48,32,56,48,39,19,32,4,9,19,3,15
150 c = int(rnd(1)*8)
160 x = int(rnd(1)*11)
170 y = int(rnd(1)*11)
180 ca=38400+x+22*y
190 cb=38400+21-x+22*y
200 cc=38400+x+462-22*y
210 cd=38400+21-x+462-22*y
220 poke ca,c
230 poke cb,c
240 poke cc,c
250 poke cd,c
260 goto 150

VIC-20 - Kaleidoscope 2.0 (BASIC)




VIC-20 - Kaleidoscope 1.0
A small VIC-20 BASIC program which produces a colorful kaleidoscope.

10 print chr$(147)
20 for x=0 to 21
30 read d
40 pa=7680+22*11+x
50 ca=38400+x+22*11
60 poke pa,d
70 poke ca,0
80 next x
90 data 32,32,22,9,3,50,48,32,11,1,12,5,9,4,15,19,3,15,16,5,32,32
100 c = int(rnd(1)*8)
110 x = int(rnd(1)*11)
120 y = int(rnd(1)*11)
130 pa=7680+x+22*y
140 ca=38400+x+22*y
150 pb=7680+21-x+22*y
160 cb=38400+21-x+22*y
170 pc=7680+x+484-22*y
180 cc=38400+x+484-22*y
190 pd=7680+21-x+484-22*y
200 cd=38400+21-x+484-22*y
210 r1=int(rnd(1)*2)*10
220 r2=int(rnd(1)*2)*128
230 poke pa,95+r1+r2
240 poke ca,c
250 poke pb,105-r1+r2
260 poke cb,c
270 poke pc,105-r1+128-r2
280 poke cc,c
290 poke pd,95+r1+128-r2
300 poke cd,c
310 goto 100

VIC-20 - Kaleidoscope 1.0 (BASIC)




The famous Vic-labyrinth! (code)

The famous Vic-labyrinth!

The famous Vic-labyrinth!




Mr.Vic does exercises! (code)

Mr.Vic does exercises!





italiano   english


You like 4S?

Insert coin!

Buy us a coffee
or
a piece of pizza!


Insert coin!



Link to us!
(4)Seasons games





(4)Seasons software
Powered by BCO and Altervista.

Privacy Policy

Valid XHTML 1.0 Transitional CSS Valido!