8-Bit Software Online Conversion
:0.$.XMAS2 - Listing
20MODE2:GCOL0,129:CLG:VDU5:GCOL0,2
30MOVE120,600:PRINT"MERRY CHRISTMAS"
40GCOL0,7:MOVE128,604:PRINT"MERRY CHR
ISTMAS"
50W%=INKEY(500)
60R$="2,1630,2,1720,4,1810,3,1840"
70MODE1:V%=0:S%=1:PROCrestore
90VDU23,224,&FFFF;&FFFF;&FFFF;&FFFFF;
100VDU23,225,&0;&2020;&3030;&7870;
110VDU23,226,&FCF8;&7CFC;&3C7C;&1818;
120VDU23,227,&0;&0404;&0C0C;&1E0E;
130VDU23,228,&3F1F;&3E3F;&3C3E;&1818;
140VDU23,229,&1000;&3010;&7830;&FCFC;
150VDU23,230,&7EFE;&3E7E;&1C3C;&1818;
160VDU23,231,&800;&C08;&1E0C;&3F3F;
170VDU23,232,&7E7F;&7C7E;&383C;&1818;
180VDU23,233,&1808;&3C18;&7C3C;&FE7E;
190VDU23,234,&FFFF;&FFFF;&3E7F;&181C;
200DIMF$(5),Q%(35),R%(35),S%(35),S(7),
C(7)
220FORI%=1TO5:F$(I%)=CHR$(223+I%*2)+CH
R$(10)+CHR$(8)+CHR$(224+I%*2):NEXT
230ONERRORGOTO830
240VDU19,3,2,0,0,0,23;11,0;0;0;0
250PROCHOLLY(1000,950,140,50,0.8)
260PROCHOLLY(1200,820,60,100,1.3)
270PROCBERRY(1050,880,24)
280PROCBERRY(1100,850,24)
290PROCBERRY(1040,825,20)
300COLOUR1
310FORY%=30TO10STEP-1
320X%=0:REPEAT:X%=X%+5
330PRINTTAB(X%,Y%)CHR$(224)
340UNTILX%DIV5=(Y%-7)DIV3:NEXT
350PROCMUSIC:COLOUR3
370FORX%=1TO38:PRINTTAB(X%,31)CHR$(224
);:NEXT
380COLOUR2:REPEAT:PROCMUSIC
390PROCFLAME(7)
400UNTILADVAL(-6)=15
410W%=INKEY(20):SOUND0,-8,4,25
420FORL%=7TO1STEP-1
430FORM%=0TO3:PROCFLAME(L%):NEXT
440PROCSNUFF(L%):NEXT
450CLS:W%=INKEY(100):PROCrestore
460A%=0:I%=20:C(1)=1:C(2)=2:C(3)=3:PRO
CMUSIC
470REPEAT:PROCMUSIC
490X%=RND(1279):Y%=RND(1023):Z%=RND(60
)+30
500PROCSTAR(X%,Y%,Z%,RND(3))
510I%=I%-1:IFI%=0THENI%=RND(25)+5:REPE
AT:C%=RND(7):K%=RND(3):UNTIL(C%<>C(1)AND
C%<>C(2)ANDC%<>C(3)):VDU19,K%,C%,0,0,0:C
(K%)=C%
520PROCSTAR(Q%(A%),R%(A%),S%(A%)+12,0)
530Q%(A%)=X%:R%(A%)=Y%:S%(A%)=Z%
540A%=A%+1:IFA%>35THENA%=0
550UNTILADVAL(-6)=15
560FORA%=0TO35:PROCSTAR(Q%(A%),R%(A%),
S%(A%)+12,0):NEXT
570PROCrestore
580VDU26,20,19,1,4,0,0,0,19,2,2,0,0,0
590GCOL0,129:CLG:GCOL0,2
600MOVE0,650:DRAW300,680:DRAW550,680:D
RAW850,740:DRAW900,740:DRAW1279,690
610FORY%=0TO740STEP4
620PLOT77,900,Y%:NEXT
630PROCSTAR(300,950,50,3)
640FORY%=580TO140STEP-40
650PROCSHEEP(150+RND(950),Y%+RND(50),2
*RND(2)-3):NEXT
660C%=1:REPEAT:PROCRAY:PROCMUSIC:UNTIL
ADVAL(-6)=15
670CLS:A=-PI/3:W%=INKEY(100):PROCresto
re
680FORI%=0TO7:S(I%)=SIN(A):C(I%)=COS(A
):A=A+PI/3:NEXT
690VDU20,19,1,6,0,0,0:X%=350:Y%=750
700REPEAT:VDU29,X%;Y%;
710A%=250:B=RND(1)*0.4+0.3
720FORI%=0TO240STEP15:FORK%=1TO6
730MOVE0,0:MOVEI%*S(K%),I%*C(K%)
740PLOT1,A%*S(K%-1),A%*C(K%-1)
750PLOT1,-A%*S(K%-1),-A%*C(K%-1)
760PLOT1,A%*S(K%+1),A%*C(K%+1):NEXT
770PROCMUSIC:A%=RND(240-I%)*B:NEXT
780X%=X%+500+RND(100):IFX%>1000THENX%=
300+RND(100)
790FORI%=0TO7:W%=INKEY(15):PRINTTAB(0,
0);:VDU11:NEXT
800GCOL0,RND(3):UNTILFALSE
810END
830MODE7
840IFERR=17ELSEREPORT:PRINT'"Error no.
";ERR;" in line ";ERL
850END
860DEFPROCHOLLY(X%,Y%,E%,F%,R)
870VDU29,X%;Y%;:GCOL0,3:L%=8
880MOVE0,0:MOVE0.9*E%,0
890FORA=0TO6.4STEP0.2
900PROCMUSIC:MOVE0,0
910X%=E%*COS(A)-R*E%/L%*COS(A*L%)
920Y%=F%*SIN(A)+1.04/R*F%/L%*SIN(A*L%)
930PLOT85,X%,Y%:NEXT
940ENDPROC
960DEFPROCBERRY(X%,Y%,B%)
970GCOL0,1:VDU29,X%;Y%;
980FORA=0TO6.5STEP0.5:PROCMUSIC
990MOVE0,0:MOVEB%*1.2*SINA,B%*COSA
1000PLOT85,B%*1.2*SIN(A+0.5),B%*COS(A+0
.5)
1010NEXT:ENDPROC
1030DEFPROCSTAR(X%,Y%,Z%,C%)
1040VDU29,X%;Y%;:GCOL0,C%
1050MOVE-0.59*Z%,-0.8*Z%:MOVE0,Z%:PLOT8
5,0,-0.37*Z%:PLOT85,0.59*Z%,-0.8*Z%
1060MOVE0.95*Z%,0.3*Z%:MOVE-0.95*Z%,0.3
*Z%:PLOT85,0,-0.37*Z%
1070ENDPROC
1090DEFPROCMUSIC
1100IFADVAL(-6)<3ORV%=0THENENDPROC
1110READP%,Q%,R%,D%
1120IFD%>50THENPRINTTAB(0,20)P%,Q%,R%,D
%:STOP
1130IFD%>1THEN1150ELSESOUND1,0,0,(1+30*
D%)
1140IFD%=1THENPROCrestore:ENDPROC
1150SOUND&201,-5,P%,D%:SOUND&202,-3,Q%,
D%:SOUND&203,-2,R%,D%
1160ENDPROC
1180DEFPROCrestore
1190IFV%<>0THEN1230
1200B$=MID$(R$,S%,2):V%=VAL(B$)+1
1210B$=MID$(R$,S%+2,5):T%=VAL(B$)
1220S%=S%+7
1230V%=V%-1
1240RESTORET%:ENDPROC
1260DEFPROCFLAME(K%)
1270IFK%=0THENENDPROC
1280FORJ%=7TO8-K%STEP-1
1290PRINTTAB(J%*5,5+J%*3)F$(RND(5))
1300NEXT:ENDPROC
1320DEFPROCSNUFF(K%)
1330COLOUR0
1340PRINTTAB((8-K%)*5,(8-K%)*3+5)CHR$(2
24):PRINTTAB((8-K%)*5,(8-K%)*3+6)CHR$(22
4)
1350COLOUR2:ENDPROC
1370DEFPROCSHEEP(X%,Y%,H%)
1380VDU29,X%;Y%;:E%=40+RND(20)+(13E3)DI
VY%:F%=E%/2+RND(10):L%=11
1390X0%=E%:Y0%=-F%/4:MOVEX0%,Y0%
1400FORA=0TO6.3STEP0.15:PROCMUSIC
1410X%=E%*COSA+E%/L%*COS(A*L%):Y%=F%*SI
NA+F%/L%*SIN(A*L%)
1420GCOL0,3:MOVE0,0:PLOT85,X%,Y%
1430MOVEX0%,Y0%:GCOL0,0:DRAWX%,Y%
1440X0%=X%:Y0%=Y%:NEXT
1450PROCMUSIC:FORZ%=0TO16STEP4
1460IFZ%=0ORZ%=16THENGCOL0,0ELSEGCOL0,3
1470MOVE0.65*E%+Z%,-0.7*F%:DRAW0.8*E%+Z
%,-1.4*F%
1480MOVE-0.65*E%-Z%,-0.7*F%:DRAW-0.8*E%
-Z%,-1.4*F%
1490MOVEH%*(-E%+4-Z%),0:DRAWH%*(-E%-Z%)
,-F%/3
1500NEXT:PROCMUSIC
1510GCOL0,3:E%=E%-6:F%=F%/2.3
1520MOVEH%*(E%-6),F%:MOVEH%*(E%+F%),8+F
%:PLOT85,H%*(E%-6),0
1530PLOT85,H%*(E%+2*F%),0:PLOT85,H%*(E%
+F%),-F%:PLOT85,H%*(E%+2*F%),-6-F%
1540GCOL0,0:MOVEH%*E%,F%:DRAWH%*(E%+F%)
,8+F%:DRAWH%*(E%+2*F%),0:DRAWH%*(E%+2*F%
),-6-F%:DRAWH%*(E%+F%),-F%
1550PLOT69,H%*(E%+F%*1.2),0
1560PROCMUSIC:ENDPROC
1580DEFPROCRAY
1590C%=(C%+2)MOD4:GCOL0,C%:VDU29,300;90
0;
1600MOVE0,0:DRAW0,-180:MOVE20,10:DRAW60
,-100:MOVE-20,10:DRAW-60,-100
1610ENDPROC
1630DATA117,117,69,7,117,81,69,7,145,12
9,69,7,145,125,77,7,137,113,97,7,129,117
,97,7,125,109,97,7,117,101,81,7
1640DATA109,97,81,7,117,117,81,7,125,11
3,97,7,129,117,97,7,137,117,69,7,145,113
,77,21
1650DATA117,117,69,7,117,81,69,7,145,12
9,69,7,145,125,77,7,137,113,97,7,129,117
,97,7,125,109,97,7,117,101,81,7
1660DATA109,97,81,7,117,117,81,7,125,11
3,97,7,129,117,97,7,137,117,69,7,145,113
,77,21
1670DATA145,117,85,7,149,117,89,7,137,1
09,89,7,145,109,81,7,149,129,81,7,157,12
1,81,7,165,117,81,7,145,109,81,7
1680DATA137,113,77,7,129,117,81,7,117,1
05,81,7,125,109,89,7,129,129,109,7,137,1
25,109,7,137,125,101,7
1690DATA129,129,97,7,137,109,89,7,145,1
09,81,14,149,117,81,7,145,109,81,7,145,1
29,109,7,137,125,101,7,129,117,97,7,125,
113,97,7,117,117,81,14,129,97,81,4,125,9
7,81,4,117,105,81,7
1700DATA137,109,77,7,137,109,89,7,129,1
17,109,7,137,125,101,7,145,129,97,7,149,
129,81,7,157,129,109,7,165,129,101,7,145
,129,109,7,137,125,101,7,129,117,97,7,12
5,113,97,7,117,117,81,21,0,0,0,1
1720DATA101,81,69,12,121,101,89,12,121,
109,93,12,121,101,89,12,129,109,93,6,129
,117,93,6,137,121,101,6,129,121,101,6,13
7,121,73,6,141,121,73,6,149,117,81,12
1730DATA137,109,73,12,141,109,93,12,137
,121,101,6,121,121,101,6,129,121,109,12,
129,117,101,6,129,117,93,6,121,89,73,36,
0,0,0,0
1740DATA101,81,69,12,121,101,89,12,121,
109,93,12,121,101,89,12,129,109,93,6,129
,117,93,6,137,121,101,6,129,121,101,6,13
7,121,73,6,141,121,73,6,149,117,81,12
1750DATA137,109,73,12,141,109,93,12,137
,121,101,6,121,121,101,6,129,121,109,12,
129,117,101,6,129,117,93,6,121,89,73,36,
0,0,0,0
1760DATA121,89,61,6,137,89,61,6,149,117
,89,18,157,109,73,6,149,117,101,6,141,11
7,101,6,137,101,61,6,129,101,97,6,121,10
1,89,6,129,101,89,6,137,121,73,6,141,121
,73,6,149,117,81,12
1770DATA101,69,53,6,101,69,45,6,121,101
,73,12,137,101,73,12,129,93,61,6,129,93,
69,6,121,89,73,6,121,93,73,6,101,69,53,2
4,0,0,0,0
1780DATA101,73,61,12,101,81,69,12,121,1
01,89,12,121,109,93,12,121,101,89,12,129
,109,93,6,129,117,93,6,137,121,101,6,129
,121,101,6,137,121,73,6,141,121,73,6,149
,117,81,12
1790DATA137,109,73,12,141,109,93,12,137
,121,101,6,121,121,89,6,129,121,101,12,1
29,117,101,6,129,117,93,6,121,89,73,36,0
,0,0,1
1810DATA121,101,89,12,137,121,101,18,13
7,121,101,6,129,117,101,12,121,109,89,12
,141,109,93,12,141,121,109,12,137,121,10
1,12,129,117,101,12,137,121,101,12,149,1
17,101,12,149,129,109,12,145,129,109,12,
149,117,101,36
1820DATA137,121,101,12,157,121,93,18,14
9,121,89,6,141,121,93,12,137,121,101,12,
129,117,101,12,121,109,89,12,117,105,89,
12,137,101,89,12,129,117,101,12,121,109,
89,12,121,109,93,12,117,101,81,12,121,10
1,89,36,0,0,0,1
1840DATA129,97,81,18,137,97,81,6,129,10
1,81,12,125,109,61,12,117,81,69,12,117,8
9,77,6,109,89,73,6,109,97,81,12,109,101,
89,12
1850DATA129,109,97,12,137,109,77,12,149
,129,117,12,145,129,109,12,145,129,109,1
2,145,129,105,6,137,129,105,6,137,125,10
9,24
1860DATA129,109,81,12,129,97,81,6,137,9
7,81,6,129,101,81,12,125,109,61,12,117,8
1,69,12,117,89,77,6,109,89,77,6,109,97,8
1,12,109,89,73,12
1870DATA129,97,81,12,137,101,81,12,145,
109,81,12,149,117,81,12,137,101,81,12,13
7,101,77,6,129,101,77,6,129,97,81,24,157
,129,97,17,0,0,0,0
1880DATA157,129,97,6,149,129,117,12,145
,129,109,12,137,109,101,12,129,109,97,12
,125,109,89,24,157,109,81,17,0,0,0,0,157
,129,81,6,149,129,117,12,145,129,109,12,
137,117,101,12,129,109,97,12,125,109,89,
24
1890DATA129,97,81,18,137,97,81,6,129,10
5,69,12,125,109,69,12,117,109,97,12,117,
101,89,6,109,101,81,6,109,77,61,12,109,7
7,53,12,157,109,81,18,145,109,81,6,129,1
17,81,12,149,129,117,12,145,125,109,12,1
37,125,101,12,129,97,33,24,0,0,0,1