Home » Personal collection » Commodore tapes » Commodore_16 » drawer_br_tape02a_c16_basic1.wav » speedtype
speedtype
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
| Tape/disk: | Home » Personal collection » Commodore tapes » Commodore_16 » drawer_br_tape02a_c16_basic1.wav |
| Filename: | speedtype |
| Read OK: | ✔ |
| File size: | 0D42 bytes |
| Load address: | 1001 |
| Exec address: | 0000 |
Duplicates
There are 2 duplicate copies of this file in the archive:
- Personal collection » Commodore disks » disk52a2_c16_progs.d64 » speedtype
- Personal collection » Commodore tapes » Commodore_16 » drawer_br_tape02a_c16_basic1.wav » speedtype
- Personal collection » Commodore tapes » Commodore_16 » drawer_br_tape02b_c16_basic1.wav » speedtype
File contents
10 VOL 5
20 PRINT"<clr>"
30 PRINT"<cursor down><cursor down><cursor down><cursor down> HELLO. THIS PROGRAM IS DESIGNED"
40 PRINT" TO MEASURE YOUR TYPING SPEED AND TO"
50 PRINT" HELP YOU IMPROVE IT."
90 PRINT
100 PRINT" IF YOU WOULD LIKE TO HAVE YOUR"
110 PRINT" RATING MEASURED, TYPE 'R'."
130 PRINT
140 PRINT" OTHERWISE GIVE YOUR BEST RATING"
150 PRINT" SO FAR."
180 GET A$:IF A$=""THEN 180
190 IF A$="R" THEN PRINT"R";:GOTO 900
200 IF ASC(A$)<49ORASC(A$)>57THEN180
210 RA=10*VAL(A$)
220 PRINTA$;
230 GETA$:IFA$=""THEN230
240 IF ASC(A$)<48 OR ASC(A$)>57 THEN 230
250 PRINTA$;:RA=RA+VAL(A$)
255 FOR QQ=1TO10
260 GOSUB2000
270 GOSUB3000
280 GOSUB500:
290 N=INT(2000/RA):GOSUB600
300 Y=(Z/LEN(X$))/60
310 RB=10+90/(1+Y)
320 RA=INT(0.8*RA+0.2*RB )
325 D=D+1
330 NEXT QQ
340 FOR GG=1 TO 500:NEXT GG
350 PRINT"<clr><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right>DO YOU WANT TO CARRY ON?"
360 PRINT:PRINT" TYPE Y OR N"
370 GETA$: IF A$=""THEN 370
380 IF A$="Y" THEN 255
390 PRINT"<clr><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor right><cursor right><cursor right><cursor right><cursor right><cursor right>THANKS FOR THE SESSION"
400 PRINT:PRINT" YOUR FINAL RATING WAS";RA
410 END
500 PRINT"<home><cursor down><cursor down><cursor down>"
505 PRINT"<black> COPY THE FOLLOWING":PRINT" SENTENCE AS FAST AS":PRINT" YOU CAN."
508 PRINT" START WITH A SPACE":PRINT
510 R=LEN(X$):J=1
520 IFR<41THEN550
530 PRINTMID$(X$,J,40);
540 J=J+40:R=R-40:GOTO520
550 PRINTMID$(X$,J,R);" "
560 RETURN
565 PRINT" "
600 PRINT"<home><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down>"
610 POKE3432,160
620 R=LEN(X$)
630 GETA$:IFA$=""THEN630
640 IFA$<>" "THEN630
650 POKE3432,32
660 Z=TI
670 PRINTA$;
680 FORJ=2TOR:W=3431+J
690 POKEW,PEEK(W) +128:T=0
691 POKE W-1024,129
710 GETA$:IFA$<>""THEN740
720 T=T+1:IFT<>NTHEN710
730 Q=245:GOSUB1000:T=0:GOTO710
740 IFA$=MID$(X$,J,1)THEN760
750 Q=210:FORK=1TO5:GOSUB1000:NEXT:GOTO710
760 PRINTA$;:POKEW-1024,0
770 POKEW,PEEK(W)-128
780 NEXTJ
790 Z=TI-Z:RETURN
800 RA=10:D=-5:GOTO255
900 PRINT"<clr><cursor down><cursor down> THE MACHINE WILL GIVE"
905 PRINT" YOU SOME SENTENCES TO COPY AS FAST"
907 PRINT" AS YOU CAN."
910 PRINT:PRINT" THE WHITE MARKER SHOWS THE NEXT"
920 PRINT" LETTER (OR SPACE) EXPECTED."
930 PRINT:PRINT" START WITH A SPACE !"
940 PRINT:PRINT" NOW HIT ANY KEY TO START THE TEST."
946 GETA$:IFA$=""THEN946
950 GOTO800
1000 IF D<0THEN RETURN
1020 SOUND 1,950,5
1040 RETURN
1900 REM SELECTS A WORD BETWEEN A AND B
1910 RESTORE
1920 C=A:Q=245
1930 IF C=0 THEN 1950
1940 READ Y$:C=C-1:GOTO1930
1950 C=INT((B-A+1)*RND(1))
1960 IFC=0THEN1980
1970 READY$:C=C-1:Q=230:GOTO1960
1980 X$=X$+" "+Y$
1990 RETURN
2000 IFD<0THENPRINT"<clr><cursor down><cursor right>TEST SENTENCE";D+6:RETURN
2010 PRINT"<clr> ┌🭹🭹🭹🭹🭹🭹┐"
2011 PRINT "RATING │ ";RA;"│"
2012 PRINT " └🭹🭹🭹🭹🭹🭹┘";"<light gray>"
2013 RETURN
3000 X$="":GOSUB4000
3020 IF RND(1)>0.5THEN 3060
3040 GOSUB4200:GOSUB4600
3050 GOTO3070
3060 GOSUB4400
3070 IFRND(1)>0.25THEN3090
3080 GOSUB4800
3090 RETURN
4000 IF RND(1)>0.3THEN4030
4020 GOSUB5000:RETURN
4030 X$=X$+" THE"
4040 IF RND(1)>0.3THEN4060
4050 GOSUB5200
4060 GOSUB5400:RETURN
4200 A=43:B=50:GOSUB1900:RETURN
4400 A=26:B=35:GOSUB1900:RETURN
4600 IF RND(1)>0.6THEN4700
4610 X$=X$+" "+"THE"
4620 IFRND(1)<0.35THENGOSUB5600
4630 GOSUB6000:RETURN
4700 IF RND(1)>0.5THENX$=X$+" "+"SOME":GOTO4720
4710 GOSUB5800
4720 IFRND(1)<0.35THENGOSUB5600
4730 GOSUB6200:RETURN
4800 IF RND(1)>0.7THENX$=X$+" "+"VERY"
4820 GOSUB 6400:RETURN
5000 A=1:B=10:GOSUB1900:RETURN
5200 A=11:B=17:GOSUB1900:RETURN
5400 A=18:B=25:GOSUB1900:RETURN
5600 A=75:B=79:GOSUB1900:RETURN
5800 A=58:B=68:GOSUB1900:RETURN
6000 A=51:B=57:GOSUB1900:RETURN
6200 A=69:B=74:GOSUB1900:RETURN
6400 A=36:B=42:GOSUB1900:RETURN
9000 DATA ANDREW,JOHN,JILL,SUSAN,XAVIER,VANESSA,BILL,PENNY,ZENA,JOE
9010 DATASILLY,FAT,GREEDY,TALL,UNTIDY,UNWASHED,STUPID
9020 DATABOY,GIRL,MAID,SCHOOLBOY,TEACHER,PROFESSOR,QUEEN,DANCER
9030 DATAWEPT,LAUGHED,"RAN AWAY",FELL,ESCAPED,FAINTED,SNORED,TALKED,STOPPED,SHUDDERED
9040 DATAQUICKLY,SLOWLY,FAST,NOISILY,SOFTLY,SLYLY,SNEAKILY
9050 DATA"GOBBLED UP",PINCHED,BOUGHT,SOLD,STOLE,FETCHED,BROUGHT,BOILED
9060 DATADUCK,WINE,WHISKY,BEANS,CURRY,LOAF,"SYNTHETIC CREAM"
9070 DATATWO,THREE,4,5,6,7,8,10,13,18,20
9080 DATACAKES,POTATOES,APPLES,PIES,SCONES,ROLLS
9090 DATAFOUL,MOULDY,ROTTEN,STALE,GOOD
10000 FOR J=1TO79
10010 READY$:PRINT J,Y$
10020 NEXTJ
� 5 �"�"