10 REM *-------------------------------------------* 20 REM ! Coffee.Bas Written by Mike Alling ! 30 REM ! The Lone Ranger was written by Tom Sorber ! 40 REM *-------------------------------------------* 50 KEY OFF:CLS:WIDTH 40:SCREEN 1,0:COLOR 0,0 60 DIM X(100),Y(100) 70 FOR I=1 TO 100 80 LET Y(I)=-I 90 NEXT I 100 FOR J=0 TO 90 STEP 10 110 FOR I=1 TO 10 120 LET X(I+J)=I 130 NEXT I 140 NEXT J 150 FOR J=10 TO 90 STEP 20 160 FOR I=1 TO 10 170 LET X(I+J)=10-I 180 NEXT I 190 NEXT J 200 DIM PFACESL(250),CFACESL(150),CFACESL1(150),PERKA(100),PERKA2(100) 210 DIM PFACEST(250) 220 DIM PFACEAW(350),CFACEAW(200),CFACEAW1(250) 230 DIM CFACECR(150) 240 DIM PFACEOP(350),CFACEOP(200) 250 GOSUB 1530 ' Draw the empty pot/cups 260 REM *--- SLEEPING FACE ON POT ---* 270 DRAW "s4" ' Reset scale back to normal 280 DRAW "BM200,70" 290 DRAW "R12 BM+16,+0 R12" ' Eyebrows 300 DRAW "BM195,75" ' Now the eyes 310 DRAW "R16 M-2,+32 L12 R2 M-4,-32" 320 DRAW "BM+28,+0 M+2,+32 R12 L2 M+4,-32 L16" 330 DRAW "BM-2,+28 M+6,+20 M-6,+6 M-6,-6 M+2,-2" ' Here's the nose 340 DRAW "BM-15,+4 M-4,+8 M+2,-4 M+4,+8 R25 M+12,-8 M-4,-4 M+8,+8" ' Mouth 350 REM *--- SLEEPING FACE ON CUPS ---* 360 DRAW "S2" 370 DRAW "BM100,114" 380 DRAW "R12 BM+16,+0 R12" ' Eyebrows 390 DRAW "BM-46,+8" ' Now the eyes 400 DRAW "R16 M-2,+32 L12 R2 M-4,-32" 410 DRAW "BM+28,+0 M+2,+32 R12 L2 M+4,-32 L16" 420 DRAW "BM-2,+28 M+6,+20 M-6,+6 M-6,-6 M+2,-2" ' Here's the nose 430 DRAW "BM-15,+4 M-4,+8 M+2,-4 M+4,+8 R25 M+12,-8 M-4,-4 M+8,+8" ' Mouth 440 REM *--- SLEEPING FACE ON CUPS ---* 450 DRAW "BM20,114" 460 DRAW "R12 BM+16,+0 R12" ' Eyebrows 470 DRAW "BM-46,+8" ' Now the eyes 480 DRAW "R16 M-2,+32 L12 R2 M-4,-32" 490 DRAW "BM+28,+0 M+2,+32 R12 L2 M+4,-32 L16" 500 DRAW "BM-2,+28 M+6,+20 M-6,+6 M-6,-6 M+2,-2" ' Here's the nose 510 DRAW "BM-15,+4 M-4,+8 M+2,-4 M+4,+8 R25 M+12,-8 M-4,-4 M+8,+8" ' Mouth 520 REM *---------------------------* 530 REM *--- SAVE THE POT SLEEPY FACES ---* 540 GET (195,70)-STEP(50,70),PFACESL 550 REM *--- SAVE CUPS SLEEPY FACE ---* 560 GET (15,110)-STEP(32,40),CFACESL1 570 GET (96,110)-STEP(32,40),CFACESL 580 PLAY "MBO2L16AP1AP16FP16AP1" 590 GOSUB 2580 600 FOR I=1 TO 1750:NEXT 610 GOSUB 2670 620 PLAY "MBO2L16FP16AO3P16CP1" 630 GOSUB 2670:FOR I=1 TO 1500:NEXT 640 GOSUB 2670:FOR I=1 TO 100:NEXT 650 GOSUB 2670:FOR I=1 TO 2000:NEXT 660 PLAY "MBO2L16AP2FP16AO3P16CP1" 670 GOSUB 2670:FOR I=1 TO 100:NEXT 680 GOSUB 2670:FOR I=1 TO 100:NEXT 690 GOSUB 2670:FOR I=1 TO 100:NEXT 700 REM *--- POT NUMBER 2 START WAKE UP ---* 710 DRAW "S4" ' Normal Scale. 720 PUT (195,70),PFACESL ' Erase current 730 DRAW "BM200,70" 740 DRAW "R12 NM+2,+2 BM+16,+0 R12 NM+2,+2" ' Eyebrows 750 DRAW "BM195,75" ' Now the eyes 760 DRAW "R16 M-2,+32 L10 M-4,-32" 770 DRAW "BM+28,+0 M+2,+32 R10 M+4,-32 L16" 780 DRAW "BM-30,20 R17 L9 D12" 790 PAINT STEP(+1,-1) 800 DRAW "BM+22,-11 R17 L9 D12" 810 PAINT STEP(-1,-1) 820 DRAW "BM-11,-03 M+6,+20 M-6,+6 M-6,-6 M+2,-2" ' Here's the nose 830 DRAW "BM-15,+4 M-6,+4 M+2,-2 M+16,+8 R12 M+14,-12 NM-3,-3 M+3,+3" 'Mouth 840 GET (193,70)-STEP(50,70),PFACEST 850 PLAY "MBL8O2AFAFO3DP8CP4O2L8FAO3CDP8L8DP8" 860 FOR I=1 TO 5:GOSUB 2670:FOR K=1 TO 500 :NEXT:NEXT 870 PLAY "MBL8O3AFAFO4DP8CP4O3L8FAO4CDP8L8DP8" 880 FOR I=1 TO 5:GOSUB 2670:FOR K=1 TO 300 :NEXT:NEXT 890 PLAY "MBL16O3AFAFO4DP16CP8O3L16FAO4CDP16L16DP16" 900 FOR I=1 TO 5:GOSUB 2670:NEXT 910 REM *--- SCREEN...POT NUMBER 3..WAKE UP ---* 920 REM *--- FIRST WAKE UP THE POT.... ---* 930 DRAW "S4" ' Normal scale. 940 PUT (193,70),PFACEST 950 DRAW "BM195,70" 960 DRAW "R10 NM+3,-3 BM+23,+0 NM-3,-3 R10 " ' Eyebrows 970 DRAW "BM195,75" ' Now the eyes 980 DRAW "R16 M-2,+32 L10 M-4,-32 NM-4,-4" ' Draw the eyelash and eye 990 DRAW "BM+28,+0 M+2,+32 R10 M+4,-32 NM+4,-4 L16" 1000 DRAW "BM+8,+0 D17 L7 " 1010 PAINT STEP(+1,-1) 1020 DRAW "BM-15,+1 L7 U17" 1030 PAINT STEP(+1,+1) 1040 DRAW "BM+14,+28 M+6,+20 M-6,+6 M-6,-6 M+2,-2" ' Here's the nose 1050 DRAW "BM-15,+4 M-2,+8 M+1,-4 M+32,+15 M+10,-16 NM-3,-3 M+3,+3" 'Mouth 1060 GET (185,65)-STEP(60,80),PFACEAW 1070 PLAY "O4L2CO3P4L4BL2O4CO3P4L4AL4BO4CO3BGL2EP4" 1080 FOR I=1 TO 5:GOSUB 2670:FOR K=1 TO 500 :NEXT:NEXT 1090 PLAY "P4O3L2AP4L4G#L2AG-L2G#" 1100 REM *--- NOW WAKE UP THE CUPS ---* 1110 PLAY "MBL8O3AFAFO4DP8CP4O3L8FAO4CDP8L8DP8" ' Slow low 1120 FOR I=1 TO 5:GOSUB 2670:FOR K=1 TO 500 :NEXT:NEXT 1130 DRAW "S2" ' Set small scale 1140 PUT (96,110),CFACESL 1150 DRAW "BM100,114" 1160 DRAW "R12 BM+16,+0 R12" ' Eyebrows 1170 DRAW "BM-46,+8" ' Now the eyes 1180 DRAW "R16 M-2,+32 L12 R2 M-4,-32" 1190 DRAW "BM+28,+0 M+2,+32 R12 L2 M+4,-32 L16" 1200 DRAW "BM-2,+28 M+6,+20 M-6,+6 M-6,-6 M+2,-2" ' Here's the nose 1210 DRAW "BM-15,+6 M-4,+8 M+2,-4 R40 M-4,-4 M+8,+8" ' Mouth 1220 DRAW "BM96,118 R8 ND16 R8 NM+4,-4 M-1,+16 NL8" ' Draw left eye 1230 PAINT STEP(-1,-1) ' Paint left eye 1240 DRAW "BM+16,-14 R16 NM+4,-4 L12 D16 R8" ' Draw right eye 1250 PAINT STEP(-1,-1) ' Paint it 1260 GET (96,110)-STEP(32,40),CFACEAW 1270 REM *--- WAKE UP THE LEFT CUP ---* 1280 PLAY "MBL16O3AFAFO4DP16CP8O3L16FAO4CDP16L16DP16" ' Fast high 1290 FOR I=1 TO 5:GOSUB 2670:NEXT 1300 PUT (15,110),CFACESL1 1310 DRAW "BM20,114" 1320 DRAW "R12 BM+16,+0 R12" ' Eyebrows 1330 DRAW "BM-46,+8" ' Now the eyes 1340 DRAW "R16 M-2,+32 L12 R2 M-4,-32" 1350 DRAW "BM+28,+0 M+2,+32 R12 L2 M+4,-32 L16" 1360 DRAW "BM-2,+28 M+6,+20 M-6,+6 M-6,-6 M+2,-2" ' Here's the nose 1370 DRAW "BM-15,+6 M-4,+8 M+2,-4 R40 M-4,-4 M+8,+8" ' Mouth 1380 DRAW "BM17,118 R8 ND16 R8 NM+4,-4 M-1,+16 NL8" ' Draw left eye 1390 PAINT STEP(-1,-1) ' Paint left eye 1400 DRAW "BM+17,-15 R16 NM+4,-4 L12 D16 R8" ' Draw right eye 1410 PAINT STEP(-1,-1) ' Paint it 1420 GET (15,110)-STEP(32,40),CFACEAW1 1430 PLAY "MBL16O3AFAFO4DP16CP8O3L16FAO4CDP16L16DP16" ' Fast high 1440 FOR I=1 TO 5:GOSUB 2670:NEXT 1450 PLAY "O4L2CO3P4L4BL2O4CO3P4L4AL4BO4CO3BGL2EP4" 1460 FOR I=1 TO 5:GOSUB 2670:NEXT 1470 PLAY "P4O3L2AP4L4G#L2AG-L2G#" 1480 GOSUB 1770 ' Last screen . . . 1490 GOSUB 2340 1500 PLAY "MBO4L2CO3P4L4BL2O4CO3P4L4AL4BO4CO3BGL2EP4" 1510 PLAY "MBP4O3L2AP4L4G#L2AG-L2G#" 1520 GOTO 2840 1530 REM *--- POT NUMBER 1 ---* 1540 DRAW "BM177,168" 1550 DRAW "R82 M+4,-4 M-10,-112 M-70,+0 M-10,+112 M+4,+4" 1560 REM *--- SPOUT ---* 1570 DRAW "BM-3,-48 M+5,-56 M-25,+0 M+20,+56" 1580 REM *--- HANDLE ---* 1590 DRAW"BM+88,+8 M+16,-32 M+0,-24 M-20,+0 M+0,-8 M+30,+0 M+0,+36 M-24,+46 M-1,-16" 1600 REM *--- LID OF POT ---* 1610 DRAW "BM185,50" 1620 DRAW "R66 U10 M-2,-2 L62 M-2,+2 D10" 1630 DRAW "BM+25,-14 R16 M+2,-2 U14 L20 D14 M+2,+2" 1640 REM *--- CUP 2 *---* CLOSE TO POT ---* 1650 DRAW "BM90,160" 1660 DRAW "S2" 1670 DRAW "R82 M+4,-4 M-10,-112 M-70,+0 M-10,+112 M+4,+4" 1680 REM *--- HANDLE ---* 1690 DRAW"BM+88,-30 M+16,-32 M+0,-24 M-20,+0 M+0,-8 M+30,+0 M+0,+36 M-24,+46 M-1,-16" 1700 REM *--- CUP 1 ---* 1710 DRAW "BM10,160" 1720 DRAW "S2" 1730 DRAW "R82 M+4,-4 M-10,-112 M-70,+0 M-10,+112 M+4,+4" 1740 REM *--- HANDLE CUP 1 ---* 1750 DRAW"BM+88,-30 M+16,-32 M+0,-24 M-20,+0 M+0,-8 M+30,+0 M+0,+36 M-24,+46 M-1,-16" 1760 RETURN 1770 REM *--- THIS IS THE LAST SCREEN. ---* 1780 REM *--- POT NUMBER 4 ---* 1790 REM *--- FIRST WAKE UP THE POT... ---* 1800 DRAW "S4" ' Normal scale. 1810 PUT (185,65),PFACEAW 1820 DRAW "BM195,70" 1830 DRAW "R10 NM+3,+3 BM+23,+0 R10 NM+3,+3" ' Eyebrows 1840 DRAW "BM195,75" ' Now the eyes 1850 DRAW "R16 M-2,+32 L10 M-4,-32 " ' Draw the eyelash and eye 1860 DRAW "BM+28,+0 M+2,+32 R10 M+4,-32 L16" 1870 DRAW "BM-2,+28 M+6,+20 M-6,+6 M-6,-6 M+2,-2" ' Here's the nose 1880 DRAW "BM-15,+6 M-2,+8 M+1,-4 M+32,+15 M+10,-16 NM-3,-3 NM+3,+3" 'Mouth 1890 DRAW "L40" 1900 DRAW "BM197,84 L6 R20 BM+12,+0 R20" 1910 DRAW "BM-16,+07 D16 R6 U16 L6 " ' Left eyeball 1920 PAINT STEP(+1,+1) 1930 DRAW "BM-27,-1 D16 R6 U16 L6 " ' Right eyeball 1940 PAINT STEP(+1,+1) 1950 GET (185,65)-STEP(60,80),PFACEOP 1960 REM *--- PUT OUT THE WIDE AWAKE CUPS..... ---* 1970 DRAW "S2" ' Scale down for cups 1980 PUT (96,110),CFACEAW 1990 PUT (15,110),CFACEAW1 2000 REM *--- DRAW RIGHT HAND CUP....WIDE AWAKE ---* 2010 DRAW "BM100,114" 2020 DRAW "R10 NM+3,+3 BM+23,+0 R10 NM+3,+3" ' Eyebrows 2030 DRAW "BM98,118" 'NOW THE EYES 2040 DRAW "R16 M-2,+32 L10 M-4,-32 " ' Draw the eyelash and eye 2050 DRAW "BM+28,+0 M+2,+32 R10 M+4,-32 L16" 2060 DRAW "BM-2,+28 M+6,+20 M-6,+6 M-6,-6 M+2,-2" ' Here's the nose 2070 DRAW "BM-15,+6 M-2,+8 M+1,-4 M+32,+15 M+10,-16 NM-3,-3 NM+3,+3" 'Mouth 2080 DRAW "L40" 2090 DRAW "BM100,122 L6 R20 BM+12,+0 R20" 2100 DRAW "BM-16,+07 D16 R6 U16 L6 " ' Left eyeball 2110 PAINT STEP(+1,+1) 2120 DRAW "BM-27,-1 D16 R6 U16 L6 " ' Right eyeball 2130 PAINT STEP(+1,+1) 2140 REM *--- LEFT CUP....WIDE AWAKE ---* 2150 DRAW "BM20,114" 2160 DRAW "R10 NM+3,+3 BM+23,+0 R10 NM+3,+3" ' Eyebrows 2170 DRAW "BM18,118" ' Now the eyes 2180 DRAW "R16 M-2,+32 L10 M-4,-32 " ' Draw the eyelash and eye 2190 DRAW "BM+28,+0 M+2,+32 R10 M+4,-32 L16" 2200 DRAW "BM-2,+28 M+6,+20 M-6,+6 M-6,-6 M+2,-2" ' Here's the nose 2210 DRAW "BM-15,+6 M-2,+8 M+1,-4 M+32,+15 M+10,-16 NM-3,-3 NM+3,+3" 'Mouth 2220 DRAW "L40" 2230 DRAW "BM20,122 L6 R20 BM+12,+0 R20" 2240 DRAW "BM-16,+07 D16 R6 U16 L6 " ' Left eyeball 2250 PAINT STEP(+1,+1) 2260 DRAW "BM-27,-1 D16 R6 U16 L6 " ' Right eyeball 2270 PAINT STEP(+1,+1) 2280 RETURN 2290 J=0 2300 PLAY "L8O4EE-EE-EO3BO4DCO3A" 2310 PLAY "O2L16AP1AP16FP16AP1" 2320 PLAY "O2L16P2FP16AO3P16CP1" 2330 PLAY "O2L16AP2FP16AO3P16CP1" 2340 PLAY "L8O2AFAFO3DP8CP4O2L8FAO3CDP8L8DP8" 2350 LEN1=70:ROW1=168:COL1=60:GOSUB 2740 2360 LEN1=60:ROW1=25:COL1=95:GOSUB 2740 2370 LEN1=70:ROW1=105:COL1=95:GOSUB 2740 2380 LEN1=100:ROW1=28:COL1=95:GOSUB 2740 2390 PLAY "L8O3AFAFO4DP8CP4O3L8FAO4CDP8L8DP8" 2400 LEN1=50:ROW1=168:COL1=60:GOSUB 2740 2410 LEN1=60:ROW1=25:COL1=95:GOSUB 2740 2420 LEN1=70:ROW1=105:COL1=95:GOSUB 2740 2430 PLAY "L16O3AFAFO4DP16CP8O3L16FAO4CDP16L16DP16" 2440 PLAY "MBL8O3AFAFO4DP8CP4O3L8FAO4CDP8L8DP8" 2450 LEN1=60:ROW1=25:COL1=95:GOSUB 2740 2460 LEN1=70:ROW1=105:COL1=95:GOSUB 2740 2470 LEN1=40:ROW1=105:COL1=95:GOSUB 2740 2480 PLAY "MBO4L2CO3P4L4BL2O4CO3P4L4AL4BO4CO3BGL2EP4" 2490 LEN1=60:ROW1=25:COL1=95:GOSUB 2740 2500 LEN1=70:ROW1=105:COL1=95:GOSUB 2740 2510 LEN1=40:ROW1=105:COL1=95:GOSUB 2740 2520 PLAY "MBP4O3L2AP4L4G#L2AG-L2G#" 2530 LEN1=90:ROW1=168:COL1=60 :GOSUB 2740 2540 LEN1=60:ROW1=25:COL1=95:GOSUB 2740 2550 LEN1=70:ROW1=105:COL1=95:GOSUB 2740 2560 LEN1=40:ROW1=168:COL1=60 :GOSUB 2740 2570 RETURN 2580 REM *--- PERK-A-PERK ---* 2590 GET (200,19)-(230,37),PERKA 2600 PAINT (212,22) 2610 GET (200,19)-(230,37),PERKA2 2620 FOR I=1 TO 200:NEXT 2630 PUT (200,19),PERKA2 2640 PUT (200,19),PERKA 2650 RETURN 2660 REM *--- SECOND TIME THRU..PERKAPERKA ---* 2670 PUT (200,19),PERKA 2680 PUT (200,19),PERKA2 2690 FOR J=1 TO 500:NEXT 2700 PUT (200,19),PERKA2 2710 PUT (200,19),PERKA 2720 FOR J=1 TO 100:NEXT 2730 RETURN 2740 REM *--- STEAM FOR COFFEE CUP ---* 2750 REM *--- THREE VARIABLES SENT..ROW,COL,LEN ---* 2760 REM *--- STARTING ROW,COL PASSED TO THIS ROUTINE IN COL,ROW ---* 2770 FOR I=1 TO LEN1 2780 PSET(ROW1+X(I),COL1+Y(I)) 2790 NEXT I 2800 FOR I=1 TO LEN1 2810 PRESET(ROW1+X(I),COL1+Y(I)) 2820 NEXT I 2830 RETURN 2840 DEFINT A-Z 2850 DOTSIZE=1:WIDTH 80 2860 DOT$=STRING$(DOTSIZE,219) 2870 DEF SEG=&HF000 2880 BASEADR=&HFA6E 2890 CLS 2900 FOR I=1 TO 6 2910 CHAR$=MID$("COFFEE",I,1) 2920 CODE=ASC(CHAR$) 2930 IF CODE >= 128 THEN BEEP: GOTO 2890 2940 ADR=BASEADR+(CODE*8) 2950 IF X=0 THEN X=2 2960 Y=Y+10 2970 GOSUB 3130 2980 NEXT I 2990 X=10:Y=5 3000 FOR I=1 TO 5 3010 CHAR$=MID$("BREAK",I,1) 3020 CODE=ASC(CHAR$) 3030 ADR=BASEADR+(CODE*8) 3040 Y=Y+10 3050 GOSUB 3130 3060 NEXT I 3070 X=18:Y=35 3080 CHAR$=CHR$(2) 3090 CODE=ASC(CHAR$) 3100 ADR=BASEADR+(CODE*8) 3110 GOSUB 3130 3120 GOTO 3260 3130 FOR ROW=1 TO 8 3140 ROWVAL=PEEK(ADR+(ROW-1)) 3150 FOR COL=1 TO 8 3160 COLMASK=2^(7-(COL-1)) 3170 IF (ROWVAL AND COLMASK) <> 0 THEN GOSUB 3220 3180 NEXT COL 3190 NEXT ROW 3200 LOCATE 1,1 3210 RETURN 3220 REM *--- Display Character ---* 3230 LOCATE X+(ROW-1),Y+(COL-1)*DOTSIZE 3240 PRINT LEFT$(DOT$,DOTSIZE); 3250 RETURN 3260 REM *--- THE LONE RANGER ---* 3270 REM *--- ARRANGED BY TOM SORBER ---* 3280 CLS:LOCATE 10,10:PRINT"THE LONE RANGER" 3290 LOCATE 12,10:PRINT"Arranged by Tom Sorber" 3300 LOCATE 14,10:PRINT"Played by the I B M PERSONAL COMPUTER ORCHESTRA 3310 LOCATE 16,10:PRINT" Conducted by Tom Sorber 3320 A$ = "t255msO2L8DDL4DL8DDL4DL8DDL4GAB" 3330 B$ = "O2 L8DDL4DL8DDL4GL8GBL4AF+D" 3340 C$ = "o2l8gbo3d2p8l8co2bal4gbg" 3350 PLAY "xa$;xb$;xa$;xc$; 3360 PLAY "xa$;xb$;xa$;xc$; 3370 D$ = "o2l16dd+ef+l2gl4bp8l8agf+ged 3380 E$ = "o2l8ef+gco1bo2l16def+go1l8bal16bo2cc+d 3390 F$ = "O1L4AGA 3400 G$ = "O2L16 DD-DEF+DEF+L8GL16GGL8G 3410 H$ = "O2L4BF+GABF+GA 3420 PLAY "xd$;xe$;xf$;xd$;xe$;xg$; 3430 PLAY "P8xa$;xb$;xa$;xc$; 3440 PLAY "p8xa$;xb$;xa$;xc$; 3450 PLAY "xd$;xe$;xf$;xd$;xe$;xg$; 3460 I$ = "l8o2bo1bo2f+o1f+o2go1go2ao1a 3470 J$ = "o2l2b-p8l16b-ge-o1b-o2e-g 3480 K$ = "o2l2bp8l16bcdo1bo2dg 3490 L$ = "o2l2bp8l16bg+eo1bo2eg+ 3500 M$ = "o3l2c+p8l16c+o2a+f+c+f+a+ 3510 N$ = "o3l8dd-co2bagf+e 3520 O$ = "o2l16dd-dedd-dedd-def+def+ 3530 P$ = "o2l4gp8l16ggl32ggggggggl16gggg 3540 Q$ = "l8gdgbgdgb 3550 R$ = "l4gp8l16ggl32gggggggggggggggg 3560 S$ ="l1go1MLl1gL1G 3570 PLAY "P8xi$;xi$;xj$;xk$;xl$;xm$;xn$;xo$;xp$;xq$;xr$;xs$; 3580 SYSTEM