6 FOR I=1 TO 2400: NEXT I 10 DEFINT A-Z:KEY OFF:K=0:MN=0:Z=0 15 DEF SEG=&HB800 20 DIM ARA#(38),ARL#(50),ALA#(88),ALL#(88),BRA#(38),BLL#(88),CRL#(50),CLA#(88) 25 DIM AEYE#(4),ATAIL#(13),CEYE#(4),CTAIL#(13) 30 DIM A#(825) 35 GOSUB 1200 40 DIM TFT$(100):GOSUB 500:PLAY"MF O2;T255;L4" 100 CLS:COLOR 9:PUT(90,5),A# 105 GET(108,76)-(133,111),ARA#:GET(149,132)-(200,183),ALL# 110 GET(114,151)-(157,183),ARL#:GET(124,75)-(184,117),ALA# 115 GET(151,38)-(159,44),AEYE#:GET(196,159)-(217,173),ATAIL# 190 I=0:K=0 200 PLAY TFT$(K):K=K+1:IF K=MN THEN 1000 ELSE I=(I MOD 8)+1:ON I GOTO 220,240,260,280,300,320,340,360 205 BEEP:GOTO 200 220 PUT(149,132),BLL#,PSET:GOTO 200 240 PUT(108,76),BRA#,PSET:GOTO 200 260 PUT(149,132),ALL#,PSET:GOTO 200 280 PUT(108,76),ARA#,PSET:GOTO 200 300 PUT(114,151),CRL#,PSET:GOTO 200 320 PUT(124,75),CLA#,PSET:GOTO 200 340 PUT(114,151),ARL#,PSET:GOTO 200 360 PUT(124,75),ALA#,PSET:GOTO 200 500 READ TFT$(MN):IF TFT$(MN)<>"" THEN MN=MN+1:GOTO 500 ELSE RETURN 505 DATA "MLF2","MSFD" 510 DATA "MLE2","MSED" 515 DATA "F7F7F7","MLFMSF9D" 520 DATA "MLE2","MNE2" 525 DATA "MLE2","MSEC" 530 DATA "MLD2","MSDC" 535 DATA "E7E7E7","MLEMSE9C" 540 DATA "MLD2","MND2" 545 DATA "MLF2","MSFD" 550 DATA "MLE2","MSED" 555 DATA "F7F7F7","MLFMSF9D" 560 DATA "MLE2","MNC2","MSA2","P4","P4" 565 DATA "P4","P4","P4","P4" 570 DATA "P4","P4","P4","P4" 575 DATA "P4","P4","P4","P4" 580 DATA "P4" 605 DATA "MLA2","MSAF#" 610 DATA "MLG#2","MSG#F#" 615 DATA "A7A7A7","MLAMSA9F#" 620 DATA "MLG#2","MNG#2" 625 DATA "MLG#2","MSG#E" 630 DATA "MLF#2","MSF#E" 635 DATA "G#7G#7G#7","MLG#MSG#9E" 640 DATA "MLF#2","MNF#2" 645 DATA "MLA2","MSAF#" 650 DATA "MLG#2","MSG#F#" 655 DATA "A7A7A7","MLAMSA9F#" 660 DATA "MLG#2","MNE2","MSC#2","P4","P4" 665 DATA "P4","P4","P4","P4" 670 DATA "P4","P4","P4","P4" 675 DATA "P4","P4","P4","P4" 680 DATA "P4" 900 DATA "" 1000 PUT(151,38),CEYE#,PSET:Z=0 1010 FOR K=1 TO 20:PUT(196,159),CTAIL#,PSET:FOR I=1 TO 200:NEXT:PUT(196,159),ATAIL#,PSET:FOR I=1 TO 200:NEXT:NEXT K:Z=Z+1:ON Z GOTO 1015,1020,1025,100 1015 OS=0:EC=1:OC=1:X=180:Y=20:D$="ENCORE!":GOSUB 60010:GOTO 1010 1020 EC=2:OC=2:X=20:Y=100:D$="ENCORE!":GOSUB 60010:GOTO 1010 1025 EC=3:OC=3:X=220:Y=140:D$="ENCORE!":GOSUB 60010:RUN"buttrfly 1200 GOSUB 60140:SCREEN 1,0:COLOR 8,1:CLS 1201 EC=2:OC=2:X=40:Y=23:D$="Who says you can't teach":GOSUB 60010 1202 X=105:Y=48:D$="an elephant":GOSUB 60010 1203 X=95:Y=73:D$="to tap dance?":GOSUB 60010 1207 OPEN "ELEPH.DAT" AS #1 LEN=128: DIM E$(15) 1208 FOR I=0 TO 15:FIELD #1,I*8 AS DUMMY$,8 AS E$(I):NEXT I 1209 GET #1,1 1210 EC=0:OC=0:BC=3:X=65:Y=123:D$=" It's easy with the ":GOSUB 60010 1211 EC=3:OC=3:BC=4:X=24:Y=150:OS=128:D$="{}~ Personal Computer":GOSUB 60010 1214 FOR I=0 TO 825:A#(I)=CVD(E$(Z)):Z=Z+1:IF Z=16 THEN GET #1:Z=0 1215 NEXT I 1220 FOR I=0 TO 38:BRA#(I)=CVD(E$(Z)):Z=Z+1:IF Z=16 THEN GET #1:Z=0 1225 NEXT I 1230 FOR I=0 TO 88:BLL#(I)=CVD(E$(Z)):Z=Z+1:IF Z=16 THEN GET #1:Z=0 1235 NEXT I 1240 FOR I=0 TO 50:CRL#(I)=CVD(E$(Z)):Z=Z+1:IF Z=16 THEN GET #1:Z=0 1245 NEXT I 1250 FOR I=0 TO 88:CLA#(I)=CVD(E$(Z)):Z=Z+1:IF Z=16 THEN GET #1:Z=0 1255 NEXT I 1260 FOR I=0 TO 4:CEYE#(I)=CVD(E$(Z)):Z=Z+1:IF Z=16 THEN GET #1:Z=0 1265 NEXT I 1270 FOR I=0 TO 13:CTAIL#(I)=CVD(E$(Z)):Z=Z+1:IF Z=16 THEN GET #1:Z=0 1275 NEXT I 1300 CLOSE:RETURN 60000 'SAVE"GCS",A 'GRAPHICS CHARACTER SUBROUTINES 60010 'DISPLAY STRING 60020 FOR I=1 TO LEN(D$):A=ASC(MID$(D$,I,1)) 60030 IF OS=128 THEN IF A<>32 THEN A=A+128 60040 'DISPLAY CHARACTER 60050 LX=X+W(A):IF LX>WID THEN X=0:Y=Y+SH:GOTO 60050 60060 LY=Y+H(A):IF LY>200 THEN Y=0:X=0:GOTO 60050 60070 IF (X AND 1)=0 THEN SWAP EC,OC 60080 IF BC<4 THEN LINE(X,Y)-(LX-1,LY-1),BC,BF 60090 K=POINT(X,Y):PSET(X,Y),K:FOR K=0 TO 2:IF CHAR$(A,K)<>"" THEN DRAW CHAR$(A,K) 60100 NEXT K:IF (X AND 1)=0 THEN SWAP EC,OC 60110 X=LX:IF X+SW>WID THEN X=0:Y=Y+SH:IF Y+SH>200 THEN Y=0 60120 NEXT I:RETURN 60130 ' 60140 'INITIALIZATION 60150 A=0:X=0:Y=0:LX=0:LY=0:EC=3:OC=3:BC=4:D$="":K=0:WID=320 60160 DIM CHAR$(255,2),H(255),W(255) 60170 'GET CHARACTER SET 60180 OPEN "ELEPH.EXE" FOR INPUT AS #1 60190 INPUT #1,DEC,H,W,K:IF DEC=0 THEN 60220 60200 FOR I=0 TO K-1:INPUT #1,D$:IF H(DEC)<>99 THEN CHAR$(DEC,I)=D$ 60210 NEXT I:H(DEC)=H:W(DEC)=W:GOTO 60190 60220 CLOSE #1:SH=H:SW=W:H(32)=SH:W(32)=SW:RETURN