0 ZZ$="":IFDL=1THENDL=0:GOTO16020 1 REM "COMMUNIQUE" 2 REM WRITTEN BY ALAN GARDNER 3 REM 2-21-86 4 REM 5 REM 6 IFLF=0THENLF=1:LOAD"UNPACKER",8,1 7 IFLF=1THENLF=2:LOAD"GALLERY.SHPS.LNK",8,1 8 IFLF=2THENLF=3:LOAD"TEXTPLOT.8192.O",8,1 9 IFLF=3THENLF=4:LOAD"INPUT.2.O",8,1 10 DIMT$(300),VL$(30),VL%(30):OPEN8,8,8,"GALLERY.TEXT":LC=0:LL=0 11 SYS828,8,80:ZZ$=ZZ$+"" 12 IFLEFT$(ZZ$,2)="^@"THENLL=LL+1:VL$(LL)=MID$(ZZ$,3):VL%(LL)=LC:GOTO11 13 IFZZ$<>"[199]"THENLC=LC+1:T$(LC)=ZZ$:GOTO11 15 CLOSE8:CLOSE15:LC=LC-1 30 : 40 CL=1:RE=0:DIMLK$(20),LL$(20):C$="":Z$="" 42 LM=0:RM=39:TM=0:BM=23:TY=0:TEXT=8192 43 S$=" " 44 D$="" 50 : 55 GOSUB11000:SYS51459:POKE53280,0 56 : 60 REM 61 C$=T$(CL):IFC$=""THENT$(CL)=" ":GOTO90 62 C$=LEFT$(T$(CL),1):IFC$="'"THENCL=CL+1:GOTO60 70 IFC$="^"THENGOSUB1000:GOTO60 80 : 90 REM ROUTINE TO PRINT TEXT HERE 91 Z$=T$(CL):SYSTEXT,Z$,LM*8,(TM+TY)*8 92 PRINTT$(CL) 93 TY=TY+1 99 CL=CL+1:GOTO60 100 REM ************************* 110 END:REM * END OF BODY * 120 REM ************************* 130 : 1000 REM CHECK OPTIONS 1010 C$=MID$(T$(CL),2,1) 1020 : 1030 IFC$="L"THENLM=VAL(MID$(T$(CL),3)): GOTO2000 1032 IFC$="R"THENRM=VAL(MID$(T$(CL),3)): GOTO2000 1034 IFC$="T"THENTM=VAL(MID$(T$(CL),3)): GOTO2000 1036 IFC$="B"THENBM=VAL(MID$(T$(CL),3)): GOTO2000 1040 : 1050 IFC$="C"THENGOSUB10000:GOTO2000: REM CLEAR 1060 IFC$="W"THENGOSUB11000:GOTO2000: REM WIPE 1070 IFC$="P"THENGOSUB12000:GOTO2000: REM PLOT SHP 1080 IFC$="K"THENGOSUB13000:GOTO2000: REM WAIT 1090 IFC$="I"THENGOSUB20000:GOTO2010: REM INPUT 1100 IFC$="X"THENIFRE=0THEN60000: REM EXIT 1110 IFC$="X"THENCL=RE+1:RE=0:GOTO2010: REM RETURN FROM SUB 1120 IFC$="G"THENGOSUB14000:GOTO2010: REM GOTO 1130 IFC$="S"THENGOSUB15000:GOTO2010: REM GOSUB 1140 IFC$="D"THENGOSUB16000:GOTO2000: REM LOAD A TABLE 2000 REM RETURN TO LINE 70 2005 CL=CL+1 2010 RETURN 3000 : 10000 REM CLEAR CURRENT WINDOW 10010 OP=VAL(RIGHT$(T$(CL),1)) 10020 IFOP=0THEN REM CHANGE EOR TO SOMETHING ELSE 10030 IFOP=1THEN REM CHANGE SOMETHING ELSE TO EOR 10040 SP$=LEFT$(S$,RM-LM+1) 10050 FOR T=TM TO BM 10060 SYS TEXT,SP$,LM*8,T*8 10070 NEXT T:TY=0 10080 RETURN 10090 : 11000 REM CLEAR ENTIRE SCREEN 11010 SHP=0:PX=0:PY=0:GOSUB12100:TY=0: RETURN 11020 : 12000 REM PLOT A SHAPE 12010 CH=1:C=4 12020 IFMID$(T$(CL),CH,1)=";"THENSHP=VAL(MID$(T$(CL),C,CH-1)):GOTO12040 12030 CH=CH+1:GOTO12020 12040 C=C+CH-1 12050 IFMID$(T$(CL),CH,1)=";"THENPX=VAL(MID$(T$(CL),C,CH-1)):GOTO12070 12060 CH=CH+1:GOTO12050 12070 PY=VAL(MID$(T$(CL),C+CH)) 12100 REM *** PLOT A SHAPE *** 12110 POKE249,224:POKE250,204 12120 POKE251,0:POKE252,64 12130 POKE253,PX:POKE254,PY 12140 POKE255,SHP 12150 SYS51462 12170 RETURN 12180 : 13000 REM WAIT FOR A KEYPRESS 13010 POKE198,0:WAIT198,1:GETK$:RETURN 13020 : 14000 REM GOTO A LABEL 14010 L$=MID$(T$(CL),4):L=0:GOSUB14500 14020 CL=L:RETURN 14030 : 14500 REM FIND A LABEL IN THE TEXT 14510 FOR X=1 TO LL 14520 IFVL$(X)=L$THENL=VL%(X):GOTO14550 14530 NEXTX 14540 PRINT"UNKNOWN LABEL --- "L$:STOP 14550 RETURN 14560 : 15000 REM GOSUB A LABEL 15010 L$=MID$(T$(CL),4):L=0:GOSUB14500 15020 RE=CL:CL=L:RETURN 15030 : 16000 REM LOAD A TABLE 16005 F$=MID$(T$(CL),4) 16010 DL=1:LOADF$,8,1 16020 REM COME FROM LINE ZERO 16030 CL=CL+1:GOTO60 16040 : 20000 REM INPUT CERTAIN KEYS AND GOTO THE DESIGNATED LABEL 20010 T$=T$(CL) 20020 NK=1:C=4 20030 VK$(NK)=MID$(T$,C,1) 20040 IFMID$(T$,C+1,1)=";"THENNK=NK+1:C=C+2:GOTO20030 20050 REM NK=NUM OF VALID KEYS 20060 C=C+2:CH=C 20080 FORX=1TONK-1 20090 IFMID$(T$,CH,1)=";"THEN20110 20100 CH=CH+1:GOTO20090 20110 VL$(X)=MID$(T$,C,CH-C) 20120 C=CH+1:CH=C 20130 NEXTX:VL$(NK)=MID$(T$,CH) 20140 REM LABELS IN VL$(1-NK) 20150 : 20160 POKE198,0:WAIT198,1:GETK$ 20170 FORX=1TONK 20180 IFK$=VK$(X)THEN20200 20190 NEXTX:GOTO20160 20200 L$=VL$(X):GOSUB14500 20210 CL=L 20220 RETURN 22000 : 60000 REM RETURN TO MAGAZETTE 60005 SYS 51459:PRINT"[147]":POKE928,0 60010 LOAD"HELLO CONNECT",8:END