Home » Personal collection » Acorn hard disk » misc » misc2 » dcfprogs/Typeing

dcfprogs/Typeing

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 » Acorn hard disk » misc » misc2
Filename: dcfprogs/Typeing
Read OK:
File size: 0484 bytes
Load address: 0000
Exec address: 0000
File contents
    1 sb=0
   10 o=0
   20 DIM key%(94):DIMtry%(94):t=0:s=0
   30 MODE 4:PRINTTAB(15,0);"Touchtype"
   40 PRINTTAB(15,1);"=========":A$=""
   50 FORlop=1 TO RND(15)+6:sc=RND(5)
   60 x=RND(10):IF x=1 THEN A$=A$+"A"
   70 IF x=2 THEN A$=A$+"S"
   80 IF x=3 THEN A$=A$+"D"
   90 IF x=4 THEN A$=A$+"F"
  100 IF x=5 THEN A$=A$+"G"
  110 IF x=6 THEN A$=A$+"H"
  120 IF x=7 THEN A$=A$+"J"
  130 IF x=8 THEN A$=A$+"K"
  140 IF x=9 THEN A$=A$+"L"
  150 IF x=10 THEN A$=A$+";"
  155 NEXT
  160 sent$=A$
  170 PRINTTAB(0,5);sent$
  180 IF sent$="!" THEN RESTORE 430:GOTO 280
  190 FOR l=1 TO LEN(sent$)
  200 try%(ASC(MID$(sent$,l,1)))=try%(ASC(MID$(sent$,l,1)))+1
  210 A$=GET$
  220 IF A$=MID$(sent$,l,1) THEN PRINTTAB(l-1,3);A$:IF t=0 THEN PROCone
  230 IF A$=MID$(sent$,l,1) THEN t=0:NEXT:GOTO280
  240 VDU 7:t=1:GOTO 210
  250 DEFPROCone
  260 sb=sb+1:key%(ASC(MID$(sent$,l,1)))=key%(ASC(MID$(sent$,l,1)))+1
  270 ENDPROC
  280 SOUND 1,-15,255,10:s=s+sc:PRINTTAB(0,0);s
  290 A$=GET$
  300 IF A$=" " THEN IF o>sb-6 THEN o=sb:GOTO190
  310 IF A$=" " THEN o=sb:GOTO 30
  320 PRINTTAB(10,10);"ON ";A$;" YOU GOT ";key%(ASC(A$)+32);" OUT OF ";try(ASC(A$))+32
  330 GOTO 290
  340DATA "A;A;A;A;A;A;A;A;A;A;",1
  350DATA "SLASLASLASLASLA",1
  360DATA "JA JA JA JA JA JA",6
  370DATA "ASDA ADSA ADSA ADSA",4
  380DATA "DAD DAD DAD DAD DAD",4
  390DATA "FLAK FLAK FLAK FLAK"4
  400DATA "ASDFGHJKL;ADSFDGHKJLK;",3
  410DATA ";ADADSFJ;KSLDKAJFKSJDL",3
  420DATA "FUD FUD FUD FUD FUD ;",3
  430 DATA "!",0
	 sb=0

 o=0
! � key%(94):�try%(94):t=0:s=0
 � 4:�15,0);"Touchtype"
( �15,1);"=========":A$=""
2 �lop=1 � �(15)+6:sc=�(5)
< x=�(10):� x=1 � A$=A$+"A"
F � x=2 � A$=A$+"S"
P � x=3 � A$=A$+"D"
Z � x=4 � A$=A$+"F"
d � x=5 � A$=A$+"G"
n � x=6 � A$=A$+"H"
x � x=7 � A$=A$+"J"
� � x=8 � A$=A$+"K"
� � x=9 � A$=A$+"L"
� � x=10 � A$=A$+";"
� �
�
 sent$=A$
� �0,5);sent$
�  � sent$="!" � � �tnA:� �TXA
� � l=1 � �(sent$)
�0 try%(�(�sent$,l,1)))=try%(�(�sent$,l,1)))+1
�	 A$=�
�0 � A$=�sent$,l,1) � �l-1,3);A$:� t=0 � �one
�# � A$=�sent$,l,1) � t=0:�:�TXA
� � 7:t=1:� �dR@
�
 ��one
8 sb=sb+1:key%(�(�sent$,l,1)))=key%(�(�sent$,l,1)))+1
 �
# � 1,-15,255,10:s=s+sc:�0,0);s
"	 A$=�
,% � A$=" " � � o>sb-6 � o=sb:�t~@
6 � A$=" " � o=sb:� �T^@
@J �10,10);"ON ";A$;" YOU GOT ";key%(�(A$)+32);" OUT OF ";try(�(A$))+32
J � �TbA
T� "A;A;A;A;A;A;A;A;A;A;",1
^� "SLASLASLASLASLA",1
h� "JA JA JA JA JA JA",6
r� "ASDA ADSA ADSA ADSA",4
|� "DAD DAD DAD DAD DAD",4
�� "FLAK FLAK FLAK FLAK"4
� � "ASDFGHJKL;ADSFDGHKJLK;",3
� � ";ADADSFJ;KSLDKAJFKSJDL",3
�� "FUD FUD FUD FUD FUD ;",3
� � "!",0
�
00000000  0d 00 01 09 20 73 62 3d  30 0d 00 0a 08 20 6f 3d  |.... sb=0.... o=|
00000010  30 0d 00 14 21 20 de 20  6b 65 79 25 28 39 34 29  |0...! . key%(94)|
00000020  3a de 74 72 79 25 28 39  34 29 3a 74 3d 30 3a 73  |:.try%(94):t=0:s|
00000030  3d 30 0d 00 1e 1c 20 eb  20 34 3a f1 8a 31 35 2c  |=0.... . 4:..15,|
00000040  30 29 3b 22 54 6f 75 63  68 74 79 70 65 22 0d 00  |0);"Touchtype"..|
00000050  28 1e 20 f1 8a 31 35 2c  31 29 3b 22 3d 3d 3d 3d  |(. ..15,1);"====|
00000060  3d 3d 3d 3d 3d 22 3a 41  24 3d 22 22 0d 00 32 1d  |=====":A$=""..2.|
00000070  20 e3 6c 6f 70 3d 31 20  b8 20 b3 28 31 35 29 2b  | .lop=1 . .(15)+|
00000080  36 3a 73 63 3d b3 28 35  29 0d 00 3c 1e 20 78 3d  |6:sc=.(5)..<. x=|
00000090  b3 28 31 30 29 3a e7 20  78 3d 31 20 8c 20 41 24  |.(10):. x=1 . A$|
000000a0  3d 41 24 2b 22 41 22 0d  00 46 16 20 e7 20 78 3d  |=A$+"A"..F. . x=|
000000b0  32 20 8c 20 41 24 3d 41  24 2b 22 53 22 0d 00 50  |2 . A$=A$+"S"..P|
000000c0  16 20 e7 20 78 3d 33 20  8c 20 41 24 3d 41 24 2b  |. . x=3 . A$=A$+|
000000d0  22 44 22 0d 00 5a 16 20  e7 20 78 3d 34 20 8c 20  |"D"..Z. . x=4 . |
000000e0  41 24 3d 41 24 2b 22 46  22 0d 00 64 16 20 e7 20  |A$=A$+"F"..d. . |
000000f0  78 3d 35 20 8c 20 41 24  3d 41 24 2b 22 47 22 0d  |x=5 . A$=A$+"G".|
00000100  00 6e 16 20 e7 20 78 3d  36 20 8c 20 41 24 3d 41  |.n. . x=6 . A$=A|
00000110  24 2b 22 48 22 0d 00 78  16 20 e7 20 78 3d 37 20  |$+"H"..x. . x=7 |
00000120  8c 20 41 24 3d 41 24 2b  22 4a 22 0d 00 82 16 20  |. A$=A$+"J".... |
00000130  e7 20 78 3d 38 20 8c 20  41 24 3d 41 24 2b 22 4b  |. x=8 . A$=A$+"K|
00000140  22 0d 00 8c 16 20 e7 20  78 3d 39 20 8c 20 41 24  |".... . x=9 . A$|
00000150  3d 41 24 2b 22 4c 22 0d  00 96 17 20 e7 20 78 3d  |=A$+"L".... . x=|
00000160  31 30 20 8c 20 41 24 3d  41 24 2b 22 3b 22 0d 00  |10 . A$=A$+";"..|
00000170  9b 06 20 ed 0d 00 a0 0d  20 73 65 6e 74 24 3d 41  |.. ..... sent$=A|
00000180  24 0d 00 aa 11 20 f1 8a  30 2c 35 29 3b 73 65 6e  |$.... ..0,5);sen|
00000190  74 24 0d 00 b4 20 20 e7  20 73 65 6e 74 24 3d 22  |t$...  . sent$="|
000001a0  21 22 20 8c 20 f7 20 8d  74 6e 41 3a e5 20 8d 54  |!" . . .tnA:. .T|
000001b0  58 41 0d 00 be 15 20 e3  20 6c 3d 31 20 b8 20 a9  |XA.... . l=1 . .|
000001c0  28 73 65 6e 74 24 29 0d  00 c8 30 20 74 72 79 25  |(sent$)...0 try%|
000001d0  28 97 28 c1 73 65 6e 74  24 2c 6c 2c 31 29 29 29  |(.(.sent$,l,1)))|
000001e0  3d 74 72 79 25 28 97 28  c1 73 65 6e 74 24 2c 6c  |=try%(.(.sent$,l|
000001f0  2c 31 29 29 29 2b 31 0d  00 d2 09 20 41 24 3d be  |,1)))+1.... A$=.|
00000200  0d 00 dc 30 20 e7 20 41  24 3d c1 73 65 6e 74 24  |...0 . A$=.sent$|
00000210  2c 6c 2c 31 29 20 8c 20  f1 8a 6c 2d 31 2c 33 29  |,l,1) . ..l-1,3)|
00000220  3b 41 24 3a e7 20 74 3d  30 20 8c 20 f2 6f 6e 65  |;A$:. t=0 . .one|
00000230  0d 00 e6 23 20 e7 20 41  24 3d c1 73 65 6e 74 24  |...# . A$=.sent$|
00000240  2c 6c 2c 31 29 20 8c 20  74 3d 30 3a ed 3a e5 8d  |,l,1) . t=0:.:..|
00000250  54 58 41 0d 00 f0 13 20  ef 20 37 3a 74 3d 31 3a  |TXA.... . 7:t=1:|
00000260  e5 20 8d 64 52 40 0d 00  fa 0a 20 dd f2 6f 6e 65  |. .dR@.... ..one|
00000270  0d 01 04 38 20 73 62 3d  73 62 2b 31 3a 6b 65 79  |...8 sb=sb+1:key|
00000280  25 28 97 28 c1 73 65 6e  74 24 2c 6c 2c 31 29 29  |%(.(.sent$,l,1))|
00000290  29 3d 6b 65 79 25 28 97  28 c1 73 65 6e 74 24 2c  |)=key%(.(.sent$,|
000002a0  6c 2c 31 29 29 29 2b 31  0d 01 0e 06 20 e1 0d 01  |l,1)))+1.... ...|
000002b0  18 23 20 d4 20 31 2c 2d  31 35 2c 32 35 35 2c 31  |.# . 1,-15,255,1|
000002c0  30 3a 73 3d 73 2b 73 63  3a f1 8a 30 2c 30 29 3b  |0:s=s+sc:..0,0);|
000002d0  73 0d 01 22 09 20 41 24  3d be 0d 01 2c 25 20 e7  |s..". A$=...,% .|
000002e0  20 41 24 3d 22 20 22 20  8c 20 e7 20 6f 3e 73 62  | A$=" " . . o>sb|
000002f0  2d 36 20 8c 20 6f 3d 73  62 3a e5 8d 74 7e 40 0d  |-6 . o=sb:..t~@.|
00000300  01 36 1b 20 e7 20 41 24  3d 22 20 22 20 8c 20 6f  |.6. . A$=" " . o|
00000310  3d 73 62 3a e5 20 8d 54  5e 40 0d 01 40 4a 20 f1  |=sb:. .T^@..@J .|
00000320  8a 31 30 2c 31 30 29 3b  22 4f 4e 20 22 3b 41 24  |.10,10);"ON ";A$|
00000330  3b 22 20 59 4f 55 20 47  4f 54 20 22 3b 6b 65 79  |;" YOU GOT ";key|
00000340  25 28 97 28 41 24 29 2b  33 32 29 3b 22 20 4f 55  |%(.(A$)+32);" OU|
00000350  54 20 4f 46 20 22 3b 74  72 79 28 97 28 41 24 29  |T OF ";try(.(A$)|
00000360  29 2b 33 32 0d 01 4a 0b  20 e5 20 8d 54 62 41 0d  |)+32..J. . .TbA.|
00000370  01 54 1e dc 20 22 41 3b  41 3b 41 3b 41 3b 41 3b  |.T.. "A;A;A;A;A;|
00000380  41 3b 41 3b 41 3b 41 3b  41 3b 22 2c 31 0d 01 5e  |A;A;A;A;A;",1..^|
00000390  19 dc 20 22 53 4c 41 53  4c 41 53 4c 41 53 4c 41  |.. "SLASLASLASLA|
000003a0  53 4c 41 22 2c 31 0d 01  68 1b dc 20 22 4a 41 20  |SLA",1..h.. "JA |
000003b0  4a 41 20 4a 41 20 4a 41  20 4a 41 20 4a 41 22 2c  |JA JA JA JA JA",|
000003c0  36 0d 01 72 1d dc 20 22  41 53 44 41 20 41 44 53  |6..r.. "ASDA ADS|
000003d0  41 20 41 44 53 41 20 41  44 53 41 22 2c 34 0d 01  |A ADSA ADSA",4..|
000003e0  7c 1d dc 20 22 44 41 44  20 44 41 44 20 44 41 44  ||.. "DAD DAD DAD|
000003f0  20 44 41 44 20 44 41 44  22 2c 34 0d 01 86 1c dc  | DAD DAD",4.....|
00000400  20 22 46 4c 41 4b 20 46  4c 41 4b 20 46 4c 41 4b  | "FLAK FLAK FLAK|
00000410  20 46 4c 41 4b 22 34 0d  01 90 20 dc 20 22 41 53  | FLAK"4... . "AS|
00000420  44 46 47 48 4a 4b 4c 3b  41 44 53 46 44 47 48 4b  |DFGHJKL;ADSFDGHK|
00000430  4a 4c 4b 3b 22 2c 33 0d  01 9a 20 dc 20 22 3b 41  |JLK;",3... . ";A|
00000440  44 41 44 53 46 4a 3b 4b  53 4c 44 4b 41 4a 46 4b  |DADSFJ;KSLDKAJFK|
00000450  53 4a 44 4c 22 2c 33 0d  01 a4 1f dc 20 22 46 55  |SJDL",3..... "FU|
00000460  44 20 46 55 44 20 46 55  44 20 46 55 44 20 46 55  |D FUD FUD FUD FU|
00000470  44 20 3b 22 2c 33 0d 01  ae 0c 20 dc 20 22 21 22  |D ;",3.... . "!"|
00000480  2c 30 0d ff                                       |,0..|
00000484