programs
Musical Mosaic for the Uncxpanded VIC 20 by W. Anne Phillips
5 REM SET VALUES FOR P AND K FOR DIFFERENT
MEMORY CONFIG
URATIONS
10 P=256*PEEK(648):S2=36875:POKE S2+4,76:POKE S2+3,15 19
:K=30720:IF PEEK(648)=16 THEN K=33792 REM SET VALUES FOR MUSICAL NOTES
20 T(l)=191:T(2)=195:T(3)=201:T(4)=207:T(5)=209:T(6)=215 :T(7)=219:T(8)=223:T(9)=225
30 T(10)=228:T(0)=0:GOSUB 200:POKE S2+4,8:PRINT"[CLEAR]" 39
REM CHOOSE
40 49 50 59
X=INT(RND(1)*11):Y=INT(RND(1)*11):IF Y<X THEN 40 REM CHOOSE CHARACTER AND COLOR M=INT(RND(1)*2)*128+127:C=INT(RND(1)*8) REM CALCULATE LOCATIONS OF REFLECTIONS OF CHOSEN LOCAT
SCREEN
LOCATION
60
P(1)=P+22*Y+X:P(2)=P+22*X+Y:P(3)=P+22*X+21-Y
ION
70
:P(4)=P+22*Y+21-X P(5)=P+22*(21-Y)+21-X:P(6)=P+22*(21-XJ+21-Y :P(7)=P+22*(21-X)+Y:P(8)=P+22*(21-Y)+X REM CALCULATE CORRECT CHARACTER FOR THAT LOCATION FOR 1=1 TO 6:M(I)=-(M=127)*255-(M=255)*127:M(I+2)=M
75
NEXT
79
REM
80
IF
89
REM
90
POKE
65 69
:IF
1=2
THEN
CUT
CORNERS
X+Y<5 MAKE
100
REM
THEN
OFF
FOR
SOUND
AND
S2,T(Y):POKE
:POKE 99
1=4
TO
DRAW
8:M(I)=32:NEXT CHARACTER
S2+1,T(Y):FOR
1=1
TO
8:POKE
P(I)+K,C
P(I),M(I):NEXT
SEE
GET
DESIGN
1=1
IF A$:IF
ANY
FUNCTION KEY A$=CHR$(133)THEN
HAS BEEN PRESSED B=INT(RND(1)*8)
120
:POKE S2+4,17*B+8:REM CHANGE COLOR IF Fl IF A$=CHR$(134)THEN S = -(S = 0) :POKE S2 + 3 ,-15*(S = 0) :REM CHANGE SOUND MODE IF F3 IF A$=CHR$(135)THEN PRINT"[CLEAR]"
130
IF A$=CHR$(136)THEN
110
:REM :REM
CLEAR
SCREEN
FREEZE
IF
S2,0:POKE
S2+1,0:GOTO
150
IF F7
140 150
GOTO 40 GET A$:IF
160
IF A$=CHR$(136)THEN
170
GOTO
116
F5
POKE
A$=""THEN
150
COMMODORE: POWER/PLAY Winter 1983
150
40:REM
UNFREEZE
IF
Fl
HIT AGAIN