10 PRINT:PRINT"The modern way to learn to type.":PRINT 20 PRINT"This program converts the PCW to a typewriter, as does TYPER.BAS on this disc. There 30 PRINT"is however one major improvement which this program has above TYPER.BAS. As you type 40 PRINT"there will be displayed at the top of the screen a keyboard, to encourage you not to 50 PRINT"look at the actual keys. Whenever you press a key, that key will light up on the 60 PRINT"screen. It is quite possible to use this program for writing letters etc.. 70 PRINT:PRINT"You are permitted to use the left and right cursor keys to correct any mistakes on 80 PRINT"the current line, and also the two delete keys. You will find that some of the non- 90 PRINT"alphabetical keys (especially number keys) will bleep as you use them... don't let 100 PRINT"this put you off. It's just to warn you that you might be pressing a key you didn't 110 PRINT"intend!":PRINT 120 PRINT"Regards,":PRINT:PRINT"Keith Simons. 9/9/89. Press any key to commence.":zzzzzzz$=INPUT$(1) 1000 WIDTH LPRINT 255 1010 'PRINT CHR$(27)+"f" 1020 DEF FNtab$(xx,yy)=CHR$(27)+"Y"+CHR$(yy+32)+CHR$(xx+32) 1030 DEF FNa$=FNtab$((z4*4)+20-z2,z1)+CHR$(27)+"p"+" "+UPPER$(z3$)+" "+CHR$(27)+"q" 1040 DEF FNb$=FNtab$((z4*4)+20-z2,z1)+" "+UPPER$(z3$)+" " 1050 z2=10:PRINT CHR$(27)+"E":GOSUB 1060:GOTO 1160 1060 PRINT FNtab$(20,0);"–šššžšššžšššžšššžšššžšššžšššžšššžšššžšššœ" 1070 PRINT FNtab$(20,1);"• Q • W • E • R • T • Y • U • I • O • P •" 1080 PRINT FNtab$(20,2);"“žšš›žšš›žšš›žšš›žšš›žšš›žšš›žšš›žšš›žšš™" 1090 PRINT FNtab$(20,3);" • A • S • D • F • G • H • J • K • L • " 1100 PRINT FNtab$(20,4);" “šžš›šžš›šžš›šžš›šžš›šžš›šžš›šžš›šžš“šœ" 1110 PRINT FNtab$(20,5);" • Z • X • C • V • B • N • M • , • . •" 1120 PRINT FNtab$(20,6);" “ššš›ššž›ššš›ššš›ššš›ššš›ššš›ššš›ššš›ššœ" 1130 PRINT FNtab$(20,7);" • •" 1140 PRINT FNtab$(20,8);" “ššššššššššššššššššššššššššššššš™" 1150 RETURN 1160 'Typewriter simulation program. Copyright 7.9.1989, Keith Simons. 1170 'DEF FNmdl$(y,word$)=FNtab$(ROUND(45-(LEN(word$)/2)),y)+word$ 1180 'DEF FNbox$(y,word$)=FNmdl$(y,CHR$(134)+STRING$(LEN(word$),CHR$(138))+CHR$(140))+FNmdl$(y+1,CHR$(133)+word$+CHR$(133))+FNmdl$(y+2,CHR$(131)+STRING$(LEN(word$),CHR$(138))+CHR$(137)) 1190 'DEF FNboxB$(y,word$)=CHR$(27)+"p"+FNbox$(y,word$)+CHR$(27)+"q" 1200 x$=CHR$(27):LPRINT x$"M";:WIDTH 255:'PRINT x$"E"x$"H"; 1210 GOSUB 1340:PRINT r$; 1220 y$=CHR$(1)+CHR$(6)+CHR$(127)+CHR$(7) 1230 z$=INPUT$(1):ON INSTR(y$,z$) GOSUB 1300,1310,1320,1330:IF INSTR(y$,z$) GOTO 1230 1240 IF z$=CHR$(13) THEN PRINT:GOSUB 1520:PRINT SPC(10);:LPRINT SPC(10)l$:p=0:l$="":GOTO 1230: 1250 IF z$=CHR$(27) THEN PRINT:LPRINT SPC(10)l$;CHR$(12);:p=0:l$="":GOTO 25000:END 1255 IF z$<" " THEN 1230 1260 l$=LEFT$(l$,p)+z$+MID$(l$,p+1):PRINT x$"j"MID$(l$,p+1)x$"k"x$"C";:p=p+1 1270 IF LEN(l$)>70 OR LEN(l$)=65 THEN PRINT CHR$(7); 1280 IF a$=" " THEN PRINT x$"j";:a$=z$:RETURN:PRINT x$"k";:GOTO 1230 1290 PRINT x$"j";:a$=z$:GOSUB 1370:PRINT x$"k";:GOTO 1230 1300 IF p>0 THEN p=p-1:PRINT x$"D";:RETURN ELSE PRINT CHR$(7);:RETURN 1310 IF p0 THEN p=p-1:PRINT x$"D";:ELSE PRINT CHR$(7);:RETURN 1330 l$=LEFT$(l$,p)+MID$(l$,p+2):PRINT x$"N";:RETURN 1340 PRINT TAB(23)"Written by K.M. Simons. Press [EXIT] to finish.":PRINT SPACE$(10);CHR$(149);"....:....|....:....|....:....|....:....|....:....|....:....|....:...."+CHR$(149):PRINT:PRINT SPACE$(10); 1350 RETURN 1360 RETURN:'a$=INPUT$(1) 1370 GOSUB 1450 1380 PRINT FNb$:GOTO 1390:GOTO 1360 1390 IF a$=" " THEN PRINT FNtab$(31,7)+CHR$(27)+"p"+SPACE$(31)+CHR$(27)+"q";x$"k";:GOSUB 1230:PRINT FNtab$(31,7);SPACE$(31):GOTO 1370 1400 a=INSTR("QWERTYUIOPASDFGHJKLZXCVBNM,.",UPPER$(a$)) 1410 IF a=0 THEN GOSUB 1500:GOTO 1360 1420 IF a<11 THEN z1=1:z2=3:z3$=a$:z4=a:PRINT FNa$:GOTO 1360 1430 IF a<20 THEN z1=3:z2=2:z3$=a$:z4=a-10:PRINT FNa$:GOTO 1360 1440 z1=5:z2=0:z3$=a$:z4=a-19:PRINT FNa$:GOTO 1360 1450 IF ASC(a$)<31 AND a$<>CHR$(13) THEN a$="" 1460 ' 1470 ' 1480 ' 1490 RETURN 1500 IF a$<>CHR$(13) AND a$<>CHR$(127) THEN PRINT CHR$(7); 1510 RETURN 1520 lines=lines+1:IF lines>10 THEN PRINT x$"j"x$"Y, *"x$"M"x$"k"x$"A";:RETURN ELSE RETURN 25000 IF FIND$("M:$$$$$$$$.&&&")<>"" THEN OPTION STOP:PRINT "[Press any key to return to main menu or press (STOP) to stop]":z$=INPUT$(1):RUN "M:$$$$$$$$.&&&":ELSE END OPTION STOP:PRINT "[Press