10 REM TEXTRAPOLATION 123 -- SCAN BACK FOR BEST MATCH LENGTH <= 3 100 A$=" ": REM 15 BLANKS 120 A$=A$+A$: A$=A$+A$: A$=A$+A$: A$=A$+A$: REM A$ = 240 BLANKS 130 POKE53281,1:POKE53280,7 132 PRINT"[147][144]BEGIN TYPING...":PRINT"BEWARE--THIS IS ONE IS SLOW...":WAIT198,1 190 PRINT"[147][144]":POKE53281,1:POKE53280,7: NL=0 200 : 210 GET X$: IF X$="" THEN 210: REM WAIT FOR USER TO TYPE A LETTER 211 IFX$="_"THEN63000 212 L=L+1:IFL>38THENPRINT:PRINT:PRINT: L=0:NL=NL+1:IFNL=7THEN190 220 PRINT "[144]"CHR$(8);X$;: REM BACKSPACE-THEN PRINT CHOSEN LETTER 300 N=N+1: IF P$=X$ THEN R=R+1: REM CONVERT CHARACTER, ADD ONE 400 A$=RIGHT$(A$,239)+X$: P=240: REM RECORD LATEST CHOICE, INITIALIZE P 500 M=0:FORI=239TO3STEP-1:IFMID$(A$,I,1)=MID$(A$,240,1)THENP=I+1:M=1:F=I:I=3 520 NEXT I:IFM=0GOTO 900: REM STOP TRYING IF NO MATCH FOUND 540 M=0:FORI=F-1TO2STEP-1:IFMID$(A$,I,2)=MID$(A$,239,2)THENP=I+2:M=1:F=I:I=2 560 NEXT I:IFM=0GOTO 900: REM STOP TRYING IF NO MATCH FOUND 580 FORI=F-1TO1STEP-1:IFMID$(A$,I,3)=MID$(A$,238,3)THENP=I+3:I=1 600 NEXT I 900 P$=MID$(A$,P,1) : REM MAKE PREDICTION 902 IFP$=""THEN200 903 CL=PEEK(214):CC=PEEK(211):PRINT"[144]SCORE:";R 904 POKE783,0:POKE781,CL:POKE782,CC: SYS65520 905 PRINT "[157]"P$"[145]";: REM SHOW PREDICTION ON SCREEN 910 GOTO200 63000 REM RECONNECT TO BOOT PROGRAM 63002 PRINT"[147]LOAD"CHR$(34)"TEXT BOOT" CHR$(34)",8":PRINT"RUN" 63004 POKE631,13:POKE632,13:POKE198,2: END