Home » Personal collection » Acorn DFS disks » dfs_box03_disk01_utilities_disk.scp » W.KEYBD

W.KEYBD

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 DFS disks » dfs_box03_disk01_utilities_disk.scp
Filename: W.KEYBD
Read OK:
File size: 24B1 bytes
Load address: FF1900
Exec address: FF801F
Duplicates

There are 3 duplicate copies of this file in the archive:

File contents
   10 REM KBD/Keyboard Familiarisation
   12 REM Program by Andrew Chapman & Rod Mulvey (NETHERHALL SCHOOL) & Richard G Warner
   13 REM Version 5 - October 1981
   14 REM For BBC Model A Microcomputer 16K Minimum
   40 ON ERROR GOTO50
   50 MODE7
   80 CLS:PART=0:ON ERROR GOTO 800
  100 PROCTITLEPAGE
  105 DIM LED(3,5):REMSTATUS OF LEDS IN EACH PROG PART
  110 FOR X=1 TO 5:READ LED(1,X),LED(2,X),LED(3,X):NEXT
  120 DATA 0,0,1,0,0,1,0,1,0,0,1,0,0,0,0
  140 FL$=CHR$(&88):ST$=CHR$(&89):R$=CHR$(&81):W$=CHR$(&87)
  150 C$=CHR$(&83):G$=CHR$(&93)
  160 CL$=C$+"CAPS LOCK"+W$
  170 SL$=C$+"SHIFT LOCK"+W$
  180 SH$=C$+"SHIFT"+W$
  189 PART=1
  200 DIMK(9),T(9),D(9)
  210 FOR X=1 TO 9:READ K(X),T(X),D(X):NEXT
  211 REM THESE ARRAYS ARE USED TO DECIDE KEY TYPES (K & T)
  212 REM & WHETHER ERRORS COULD BE CAUSED BY SHIFT CONFUSION
  220 DATA 44,4,16
  230 DATA 48,3,16
  240 DATA 60,3,-16
  250 DATA 64,4,-16
  260 DATA 65,3,0
  270 DATA 91,2,32
  280 DATA 95,3,1
  290 DATA 96,4,1
  295 DATA 123,1,-32
  300 CLS:PRINT'''
  310 PRINT"This program helps you to find your"
  320 PRINT"way around the keyboard and to use"
  330 PRINT"the"CL$","SL$"and"SH$'"keys."'
  340 PRINT"You will be shown a character which"
  350 PRINT"you will have to find and press on"'"the keyboard."'
  360 PRINT"The computer will time you and display"
  370 PRINT"your score along with the average time"
  380 PRINT"that you take to find each key.":PROCSPACE
  400 PART=0:PROCKBD:PROCESC
  410 PRINTTAB(0,14)"This represents the keyboard."'
  420 PRINT"Pressing the";FL$;"ESCAPE";ST$;"key will take"
  430 PRINT"you to the end of the program."
  440 PROCSPACE:PART=1:GOTO1000
  500 CLS:PRINT'''"You now have a choice of :"
  510 FOR I=1 TO 5
  520 PRINTTAB(3,2*I+3);I;" - Repeat part ";I
  530 NEXT
  540 PRINTTAB(11,15)"or"
  550 PRINT'"press the ESCAPE key if you want"
  560 PRINT"to move on to the next program."
  570 PART=0:SEL=0:PROCON
  600 PRINTTAB(0,20)"Your choice (1-5)? ";
  610 A$=GET$:IF ASC(A$)=13 THEN 680
  620 A=ASC(A$)-48:IF A<0 THEN A=A+16
  630 IF A<1 OR A>5 THEN 600
  640 PRINTCHR$(A+48)
  650 IF SEL>0 THENPRINTTAB(2,2*SEL+3);ST$
  660 PRINTTAB(2,2*A+3);FL$;A;ST$
  670 SEL=A:GOTO600
  680 IF SEL=0 THEN 600
  690 PART=SEL:PROCOFF:GOTO1000
  800 CLS:IF ERR<>17 THEN REPORT:PRINT" in line ";ERL:END
  810 IF PART>0 THEN 500
  900 CLS
  910 PRINTTAB(5,9);
  920 PRINT"Do you want to go on to"
  930 PRINT"     the next program (Y/N)? ";
  940 PROCYESORNO:IF Y%<0 THEN 910
  950 IF Y%=0 THEN CLEAR:GOTO100
  970 CHAIN "SKETCH"
 1000 PROCKBD:TESTS=0:TTIM=0:RIGHT=0
 1010 ON PART GOTO 1100,1200,1300,1400,1500
 1100 REM PART 1
 1120 PRINT"Check the red indicator lights"
 1130 PRINT"are lit correctly. They should"
 1140 PRINT"be as shown above."
 1150 PRINT'"If they are not, press the"FL$;SL$
 1160 PRINT"key and check the display again."
 1170 PROCSL:GOTO1900
 1200 REM PART 2
 1210 PRINT"The red indicator lights should"
 1220 PRINT"be as shown above. This is the"
 1230 PRINT"same as part 1. If not press the"'FL$;SL$;ST$"key."
 1240 PROCSL:PROCSPACE:PROCCLEAR
 1250 PRINT'"When you play the game this time,"
 1260 PRINT"the symbols on top of the keys will"
 1270 PRINT"also be tested.":GOTO1900
 1300 REM PART3
 1310 PRINT"This part will examine the symbols"
 1320 PRINT"on the bottom of the keys, along"
 1330 PRINT"with the capital letters."'
 1340 PRINT"Release"SL$"by pressing the"'FL$;CL$;ST$;"key."
 1350 PROCCL:PROCSPACE:PROCCLEAR
 1360 PRINT"Check that the lights are correctly"'"lit."
 1370 PRINT'"Symbols on top of the keys cannot"
 1380 PRINT"be obtained now."
 1390 GOTO1900
 1400 REM PART 4
 1410 PRINT"Ensure that"CL$"is still"
 1420 PRINT"active by checking the red lights."
 1430 PRINT'"If the display is wrong, press the"'CL$"key."
 1440 PROCSPACE:PROCCLEAR
 1450 PRINT"This time, capital letters and all"
 1460 PRINT"the symbols will be used. To obtain"
 1470 PRINT"a symbol on the top of a key, press"
 1480 PRINT"the key and";FL$;SH$;ST$;"key together."
 1490 PRINT"For example, to obtain ""$"", press"'FL$;SH$;ST$;"and ""4""."
 1495 PROCSH:GOTO1900
 1500 REM PART5
 1510 PRINT"Press the"CL$"key. The lights"
 1520 PRINT"should all be off now."
 1530 PRINT"You are no longer locked into capital"'"letters."
 1540 PROCSPACE:PROCCLEAR
 1550 PRINT"Small letters are now available." 
 1560 PRINT'"Capital letters are produced when"
 1570 PRINT"you press a letter key and"SH$'"together."
 1580 PRINT'"For example, to get";C$;"h";W$;"press H."
 1590 PRINT"To get";C$;"H";W$;"press"FL$;SH$;ST$;"and H."
 1595 PROCSH
 1900 PROCSPACE:PROCCLEAR
 1910 PROCDBL("To begin the test ....",10,15)
 1920 PROCSPACE
 2000 REM PLAY GAME
 2010 FOR CHAR=1 TO 10
 2020 CLS:PROCPUTSCORE
 2060 PRINTTAB(5,5)"Part ";PART;"     Question Number ";CHAR
 2070 PROCDBL("Find",12,8):E$=CHR$(FNGENE):PROCWAIT(.7)
 2080 PROCKCL:PROCDBL(E$,17,8):STIM=TIME
 2100 I$=INKEY$(0):IF I$="" THEN 2100
 2110 ETIM=TIME:IA=ASC(I$):IF IA<33 THEN2100
 2120 IF IA>122 OR (IA>90 AND IA<95) THEN 2100
 2130 TIM=ETIM-STIM:TTIM=TTIM+TIM:TESTS=TESTS+1
 2140 PROCCOMPARE
 2150 NEXTCHAR:PROCWAIT(1)
 2160 CLS:PROCPUTSCORE
 2200 PRINTTAB(10,10);"End of Part ";PART'
 2210 PRINT"Press ""A"" to try this test again."'
 2220 IF PART=5 THEN PRINT"Otherwise";:GOTO2240
 2230 PRINT"If you want to move on to the next"'"part,";
 2240 PRINT" press the RETURN key."
 2250 X$=GET$:IF X$="A" OR X$="a" THEN 1000
 2260 IF X$<> CHR$(13) THEN 2250
 2270 PART=PART+1:IF PART<6 THEN1000
 2280 GOTO500
 3000 DEFPROCCOMPARE
 3010 REM COMPARE USER INPUT (I$) WITH EXPECTED INPUT(E$)
 3020 PROCDBL("You typed "+I$,9,11)
 3030 IF E$=I$ THEN RIGHT=RIGHT+1:
 3040 PROCPUTSCORE
 3050 IF E$<>I$ THEN 3100
 3060 PRINTTAB(7,15)"THAT IS CORRECT"
 3070 PRINTTAB(6,17)"You took ";TIM/100;" seconds."
 3080 PROCWAIT(1.5):ENDPROC
 3100 REM** USER MADE AN ERROR
 3110 IA=ASC(I$):EA=ASC(E$)
 3120 IF NOT(((E$="O"ORE$="o")ANDI$="0")OR(E$="0"AND(I$="O"ORI$="o"))) THEN 3200
 3130 REMCONFUSED 0 WITH O OR o
 3140 PROCWAIT(2):PROCKBD
 3150 IF E$="0" THEN E$=I$
 3160 PRINTTAB(0,18)"You have confused the letter """E$""" with"
 3170 PRINT"the digit zero, ""0""."
 3180 PROCFL0:PROCFLO:PROCSPACE:ENDPROC
 3200 IF NOT ((E$="1"ANDI$="l")OR(E$="l"ANDI$="1")) THEN 3300
 3210 PROCWAIT(2):PROCKBD
 3220 PRINTTAB(0,15)"You have confused lower case ""L"" with"
 3230 PRINT"the digit ""1""."
 3240 PROCFL1:PROCFLL:PROCSPACE:ENDPROC
 3300 IF NOT ((E$="I"ANDI$="1")OR(E$="1"ANDI$="I")) THEN 3350
 3310 PROCWAIT(2):PROCKBD
 3320 PRINTTAB(0,18)"You have confused the letter ""I"" with"
 3330 PRINT"the digit" """1""."
 3340 PROCFL1:PROCFLI:PROCSPACE:ENDPROC
 3350 IF NOT ((E$="_"ANDI$="-")OR(E$="-"ANDI$="_")) THEN 3400
 3355 PROCWAIT(2):PROCKBD
 3360 PRINTTAB(0,18)"You have confused the minus sign"
 3370 PRINT"(below =), with the underscore symbol"
 3380 PRINT"(below `)."
 3390 PRINTTAB(29,4);FL$;"_";ST$;TAB(24,3);FL$;"-";ST$:PROCSPACE:ENDPROC
 3400 X=1
 3410 IF IA>=K(X) THEN X=X+1:GOTO3410
 3420 SHCON=(EA-IA=D(X))
 3430 TYPE=T(X)
 3500 REM "PART" SPECIFIC CHECKS
 3510 ON PART GOTO 3520,3550,3600,3650,3720
 3520 IF TYPE=2 THEN 3900:REM WRONG LETTER
 3530 PRINTTAB(0,15)"That is not a capital letter.":GOTO3800
 3550 REM PART 2
 3560 IF TYPE=2 OR TYPE=4 THEN3900:REM WRONG LETTER
 3570 PRINTTAB(0,15)"That is not an upper case character.":GOTO3800
 3600 REM** PART 3
 3610 IF TYPE=2 OR TYPE=3 THEN 3900
 3620 PRINTTAB(0,15)"That is not a capital letter or"'"lower case symbol."
 3630 GOTO3800
 3650 REM** PART 4:CHECK FOR CASE CONFUSION
 3660 IF TYPE=1 THEN 3530
 3670 IF SHCON=0 THEN 3900
 3680 IF TYPE=4 THEN 3750
 3690 PRINTTAB(0,15)"You confused upper and lower case."
 3700 PRINT"Use"SH$"to obtain the top set"
 3710 PRINT"of symbols.":GOTO3800
 3720 REM** PART 5:CHECK CASE CONFUSION
 3730 IF SHCON=0 THEN 3900
 3750 PRINTTAB(0,15)"You have not selected the correct case"
 3760 PRINT"for your response. The top symbols and"
 3770 PRINT"capital letters are produced when you"'"use"SH$"."
 3800 IF PART=5 THENPRINT"Check that the red lights are"'"all off.":GOTO3850
 3810 PRINT'"Make sure that the red lights"'"are ";
 3820 FOR X=1 TO 3:IF LED(X,PART)=1 THEN PRINT"ON" ; ELSE PRINT"OFF";
 3830 IF X<3 THEN PRINT",";
 3840 NEXTX:PRINT"."
 3850 PROCSPACE:ENDPROC
 3900 PRINTTAB(6,15)"THAT IS INCORRECT":PROCSPACE:ENDPROC
 5000 DEFPROCKBD
 5010 LOCALI,K$,L$,B$,X$,Y$
 5020 K$=CHR$(&FC):L$=K$+K$:B$=CHR$(&FF):Y$=CHR$(&95)+K$:X$=CHR$(&85)+B$
 5030 CLS:PRINTTAB(7,2);
 5040 FOR I=0 TO 9:PRINTR$;B$;:NEXT
 5050 PRINTC$;B$;TAB(2,3);C$;B$;
 5060 FOR I=1 TO 9:PRINTST$;I;:NEXT
 5070 PRINT" 0 - ";B$;" ";B$;X$;X$
 5080 PRINT"  ";G$;L$;C$;
 5090 PRINT"Q W E R T Y U I O P @ ";B$;" _";
 5100 PRINTX$;X$
 5110 PRINTG$;"  ";K$;ST$;K$;C$;"A S D F G H J K L ; : ";B$;
 5120 PRINTY$;K$
 5130 PRINTG$;"  ";K$;ST$;L$;ST$;"Z";C$;
 5140 PRINT"X C V B N M , . /";
 5150 PRINTG$;L$;G$;K$;Y$
 5160 PRINT"       ";C$;CHR$(&9D);CHR$(&83);"  Space Bar   ";CHR$(&9C)
 5200 IF PART=0 THEN 5299
 5210 PRINT" ";:FOR I=1 TO 3 
 5220 IF LED(I,PART)=1 THEN PRINTR$; ELSE PRINTW$;
 5230 PRINT"o";:NEXT:PRINTW$
 5240 PRINT'"  ^ ^ ^ - Lights: o = OFF"
 5250 PRINTTAB(17);R$;"o";W$;"= ON"
 5260 PRINTTAB(15,13);"PART ";PART'
 5299 ENDPROC
 5300 DEFPROCFL0
 5310 PRINTTAB(22,3);FL$"0"ST$;:ENDPROC
 5320 DEFPROCFL1
 5330 PRINTTAB(4,3);FL$"1"ST$;:ENDPROC
 5340 DEFPROCFLO
 5350 PRINTTAB(21,4);FL$"O"ST$;:ENDPROC
 5360 DEFPROCFLL
 5370 PRINTTAB(22,5);FL$"L"ST$;:ENDPROC
 5380 DEFPROCFLI
 5390 PRINTTAB(19,4);FL$"I"ST$;:ENDPROC
 5500 DEFPROCCL:REM CAPS LOCK
 5510 PRINTTAB(1,5);FL$
 5599 ENDPROC
 5600 DEFPROCSL:REM SHIFT LOCK
 5610 PRINTTAB(1,6);FL$;
 5699 ENDPROC
 5700 DEFPROCSH:REM SHIFT
 5710 PRINTTAB(4,6);FL$;
 5799 ENDPROC
 5800 DEFPROCESC:REM ESCAPE 
 5810 PRINTTAB(1,3);FL$ 
 5899 ENDPROC
 7000 DEFPROCCLEAR
 7010 LOCALK
 7020 FOR K=13 TO 22:PRINTTAB(0,K);SPC(40):NEXT
 7030 PRINTTAB(0,13);
 7099 ENDPROC
 7100 DEFPROCPUTSCORE
 7110 PRINTTAB(5,1)"Score so far: ";RIGHT;" out of ";TESTS
 7120 PRINTTAB(3,3)"Average time taken: ";
 7130 IF TESTS=0 THEN PRINT;0; ELSE PRINT;INT(TTIM/TESTS)/100;
 7140 PRINT" seconds   "
 7199 ENDPROC
 7200 DEFFNGENE:REM CHARACTER GENERATOR
 7210 ON PART GOTO 7230,7260,7310,7360,7390 
 7220 REM** PART 1 - U/C LETTERS
 7230 =RND(26)+64
 7240 REM** PART 2 - U/C LETTERS + U/C SYMBOLS
 7260 R=RND(16):IF R=16 THEN =96
 7270 IF R<12 THEN =R+32
 7280 =RND(4)+59
 7300 REM** PART 3 - U/C LETTERS,L/C SYMBOLS
 7310 IF CHAR=2 THEN=45:FORCE -
 7315 IF RND(3)=1 THEN 7230
 7320 R=RND(18):IF R=18 THEN =64
 7330 IF R=17 THEN =95
 7340 =R+43
 7350 REM** PART 4 - U/C LETTERS + ANY SYMBOLS
 7360 IF CHAR=4 THEN =79:REM FORCE O
 7370 ON RND(3) GOTO 7230,7260,7320
 7380 REMT** PART 5 - FULL KBD 
 7390 IF CHAR=7 THEN =108:REMFORCE l
 7400 IF RND(3)>1 THEN 7370
 7410 =96+RND(26)
 7499 REM END OF FNGENE
 8000 DEFPROCDBL(X$,X,Y)
 8010 PRINTTAB(X-1,Y);CHR$(141);X$
 8020 PRINTTAB(X-1,Y+1);CHR$(141);X$
 8099 ENDPROC
 8100 DEFPROCWAIT(X)
 8110 LOCAL Z
 8120 Z=TIME
 8130 REPEAT UNTIL TIME-Z>X*100
 8199 ENDPROC
 8200 DEFPROCSPACE
 8220 PRINTTAB(3,22);"Press the SPACE BAR to continue";:PROCKCL
 8240 REPEAT UNTIL GET$=" "
 8299 ENDPROC
 8300 DEFPROCTITLEPAGE
 8310 CLS:PROCDBL("KEYBOARD",14,8):PROCDBL("FAMILIARITY",13,11)
 8320 PROCOFF:N%=INKEY(500)
 8399 ENDPROC
 8800 DEFPROCKCL
 8810 REPEAT UNTIL INKEY(0)=-1
 8899 ENDPROC
 8900 DEFPROCOFF
 8910 VDU23;8202;0;0;0;:ENDPROC
 8950 DEFPROCON
 8960 VDU23;29194;0;0;0;:ENDPROC
 9000 DEFPROCGPI(F2,ML):REM General Purpose Input Routine
 9010 LOCALB,B$
 9020 A$=""
 9030 PRINTSTRING$(ML," ");STRING$(ML+1,CHR$(8));CHR$(&87);:PROCON:PROCKCL
 9040 B$=GET$:B=ASC(B$):IF B=13 THEN 9190
 9050 IF B=127 AND A$="" THEN 9040 
 9060 IF B=127 THEN A$=LEFT$(A$,LEN(A$)-1):PRINTB$;:GOTO9040 
 9070 IF LEN(A$)=ML OR B<32 OR B>126 THEN 9170
 9080 IF F2=0 OR B=32 OR (B>=48 AND B<=57) THEN 9180
 9170 VDU7:GOTO9040
 9180 PRINTB$;:A$=A$+B$:GOTO9040
 9190 PROCOFF
 9199 ENDPROC
 9200 DEFPROCYESORNO
 9210 LOCALB$
 9220 PROCGPI(0,3)
 9230 B$=LEFT$(A$,1)
 9240 Y%=-1
 9250 IF B$="Y" OR B$="y" THEN Y%=1
 9260 IF B$="N" OR B$="n" THEN Y%=0
 9299 ENDPROC

# � KBD/Keyboard Familiarisation
T � Program by Andrew Chapman & Rod Mulvey (NETHERHALL SCHOOL) & Richard G Warner

 � Version 5 - October 1981
0 � For BBC Model A Microcomputer 16K Minimum
( � � �Tr@
2 �7
P �:PART=0:� � � �T`C
d �TITLEPAGE
i1 � LED(3,5):�STATUS OF LEDS IN EACH PROG PART
n- � X=1 � 5:� LED(1,X),LED(2,X),LED(3,X):�
x$ � 0,0,1,0,0,1,0,1,0,0,1,0,0,0,0
�. FL$=�(&88):ST$=�(&89):R$=�(&81):W$=�(&87)
� C$=�(&83):G$=�(&93)
� CL$=C$+"CAPS LOCK"+W$
� SL$=C$+"SHIFT LOCK"+W$
� SH$=C$+"SHIFT"+W$
� PART=1
� �K(9),T(9),D(9)
�! � X=1 � 9:� K(X),T(X),D(X):�
�8 � THESE ARRAYS ARE USED TO DECIDE KEY TYPES (K & T)
�: � & WHETHER ERRORS COULD BE CAUSED BY SHIFT CONFUSION
� � 44,4,16
� � 48,3,16
� � 60,3,-16
� � 64,4,-16

 � 65,3,0
 � 91,2,32

 � 95,3,1
"
 � 96,4,1
' � 123,1,-32
, �:�'''
6+ �"This program helps you to find your"
@* �"way around the keyboard and to use"
J% �"the"CL$","SL$"and"SH$'"keys."'
T+ �"You will be shown a character which"
^; �"you will have to find and press on"'"the keyboard."'
h. �"The computer will time you and display"
r. �"your score along with the average time"
|. �"that you take to find each key.":�SPACE
� PART=0:�KBD:�ESC
�, �0,14)"This represents the keyboard."'
�5 �"Pressing the";FL$;"ESCAPE";ST$;"key will take"
�& �"you to the end of the program."
� �SPACE:PART=1:�dhC
�' �:�'''"You now have a choice of :"
� � I=1 � 5
% �3,2*I+3);I;" - Repeat part ";I
 �
 �11,15)"or"
&) �'"press the ESCAPE key if you want"
0' �"to move on to the next program."
: PART=0:SEL=0:�ON
X" �0,20)"Your choice (1-5)? ";
b A$=�:� �(A$)=13 � �thB
l A=�(A$)-48:� A<0 � A=A+16
v � A<1 � A>5 � �DXB
�
 �(A+48)
� � SEL>0 ��2,2*SEL+3);ST$
� �2,2*A+3);FL$;A;ST$
� SEL=A:�DXB
� � SEL=0 � �DXB
� PART=SEL:�OFF:�dhC
 # �:� �<>17 � �:�" in line ";�:�
* � PART>0 � �dtA
� �
� �5,9);
� �"Do you want to go on to"
�& �"     the next program (Y/N)? ";
� �YESORNO:� Y%<0 � �tNC
� � Y%=0 � �:�Dd@
� � "SKETCH"
�  �KBD:TESTS=0:TTIM=0:RIGHT=0
�& � PART � �DLD,�tpD,�TTE,�DxE,�d\E
L
 � PART 1
`& �"Check the red indicator lights"
j& �"are lit correctly. They should"
t �"be as shown above."
~* �'"If they are not, press the"FL$;SL$
�( �"key and check the display again."
� �SL:�DlG
�
 � PART 2
�' �"The red indicator lights should"
�& �"be as shown above. This is the"
�: �"same as part 1. If not press the"'FL$;SL$;ST$"key."
� �SL:�SPACE:�CLEAR
�* �'"When you play the game this time,"
�+ �"the symbols on top of the keys will"
� �"also be tested.":�DlG
 � PART3
* �"This part will examine the symbols"
(( �"on the bottom of the keys, along"
2" �"with the capital letters."'
<6 �"Release"SL$"by pressing the"'FL$;CL$;ST$;"key."
F �CL:�SPACE:�CLEAR
P2 �"Check that the lights are correctly"'"lit."
Z* �'"Symbols on top of the keys cannot"
d �"be obtained now."
n
 �DlG
x
 � PART 4
�  �"Ensure that"CL$"is still"
�* �"active by checking the red lights."
�5 �'"If the display is wrong, press the"'CL$"key."
� �SPACE:�CLEAR
�* �"This time, capital letters and all"
�+ �"the symbols will be used. To obtain"
�+ �"a symbol on the top of a key, press"
�/ �"the key and";FL$;SH$;ST$;"key together."
�D �"For example, to obtain ""$"", press"'FL$;SH$;ST$;"and ""4""."
� �SH:�DlG
� � PART5
�% �"Press the"CL$"key. The lights"
� �"should all be off now."
�8 �"You are no longer locked into capital"'"letters."
 �SPACE:�CLEAR
) �"Small letters are now available." 
* �'"Capital letters are produced when"
"1 �"you press a letter key and"SH$'"together."
,1 �'"For example, to get";C$;"h";W$;"press H."
64 �"To get";C$;"H";W$;"press"FL$;SH$;ST$;"and H."
; �SH
l �SPACE:�CLEAR
v) �DBL("To begin the test ....",10,15)
� �SPACE
� � PLAY GAME
� � CHAR=1 � 10
� �:�PUTSCORE
4 �5,5)"Part ";PART;"     Question Number ";CHAR
, �DBL("Find",12,8):E$=�(�GENE):�WAIT(.7)
  �KCL:�DBL(E$,17,8):STIM=�
4 I$=�(0):� I$="" � �TtH
>" ETIM=�:IA=�(I$):� IA<33 ��TtH
H& � IA>122 � (IA>90 � IA<95) � �TtH
R. TIM=ETIM-STIM:TTIM=TTIM+TIM:TESTS=TESTS+1
\
 �COMPARE
f �CHAR:�WAIT(1)
p �:�PUTSCORE
�" �10,10);"End of Part ";PART'
�, �"Press ""A"" to try this test again."'
�# � PART=5 � �"Otherwise";:�d@H
�3 �"If you want to move on to the next"'"part,";
� �" press the RETURN key."
�" X$=�:� X$="A" � X$="a" � �dhC
� � X$<> �(13) � �dJH
� PART=PART+1:� PART<6 ��dhC
�
 �dtA
� ��COMPARE
�6 � COMPARE USER INPUT (I$) WITH EXPECTED INPUT(E$)
� �DBL("You typed "+I$,9,11)
� � E$=I$ � RIGHT=RIGHT+1:
� �PUTSCORE
� � E$<>I$ � �T\L
� �7,15)"THAT IS CORRECT"
�+ �6,17)"You took ";TIM/100;" seconds."
 �WAIT(1.5):�
 �** USER MADE AN ERROR
& IA=�(I$):EA=�(E$)
0B � �(((E$="O"�E$="o")�I$="0")�(E$="0"�(I$="O"�I$="o"))) � �t@L
: �CONFUSED 0 WITH O OR o
D �WAIT(2):�KBD
N � E$="0" � E$=I$
X8 �0,18)"You have confused the letter """E$""" with"
b �"the digit zero, ""0""."
l �FL0:�FLO:�SPACE:�
�1 � � ((E$="1"�I$="l")�(E$="l"�I$="1")) � �ddL
� �WAIT(2):�KBD
�5 �0,15)"You have confused lower case ""L"" with"
� �"the digit ""1""."
� �FL1:�FLL:�SPACE:�
�1 � � ((E$="I"�I$="1")�(E$="1"�I$="I")) � �TVM
� �WAIT(2):�KBD
�5 �0,18)"You have confused the letter ""I"" with"

 �"the digit" """1""."

 �FL1:�FLI:�SPACE:�

1 � � ((E$="_"�I$="-")�(E$="-"�I$="_")) � �DHM

 �WAIT(2):�KBD

 . �0,18)"You have confused the minus sign"

*- �"(below =), with the underscore symbol"

4 �"(below `)."

>4 �29,4);FL$;"_";ST$;�24,3);FL$;"-";ST$:�SPACE:�

H X=1

R � IA>=K(X) � X=X+1:�DRM

\ SHCON=(EA-IA=D(X))

f TYPE=T(X)

� � "PART" SPECIFIC CHECKS

�& � PART � �d@M,�d^M,�TPN,�DBN,�tHN

�# � TYPE=2 � �T|O:� WRONG LETTER

�1 �0,15)"That is not a capital letter.":�dXN

�
 � PART 2

�+ � TYPE=2 � TYPE=4 ��T|O:� WRONG LETTER

�8 �0,15)"That is not an upper case character.":�dXN
 �** PART 3
 � TYPE=2 � TYPE=3 � �T|O
$B �0,15)"That is not a capital letter or"'"lower case symbol."
.
 �dXN
B( �** PART 4:CHECK FOR CASE CONFUSION
L � TYPE=1 � �dJM
V � SHCON=0 � �T|O
` � TYPE=4 � �tfN
j0 �0,15)"You confused upper and lower case."
t% �"Use"SH$"to obtain the top set"
~ �"of symbols.":�dXN
�$ �** PART 5:CHECK CASE CONFUSION
� � SHCON=0 � �T|O
�4 �0,15)"You have not selected the correct case"
�. �"for your response. The top symbols and"
�9 �"capital letters are produced when you"'"use"SH$"."
�@ � PART=5 ��"Check that the red lights are"'"all off.":�TJO
�. �'"Make sure that the red lights"'"are ";
�2 � X=1 � 3:� LED(X,PART)=1 � �"ON" ; � �"OFF";
� � X<3 � �",";
 �X:�"."


 �SPACE:�
<( �6,15)"THAT IS INCORRECT":�SPACE:�
�
 ��KBD
� �I,K$,L$,B$,X$,Y$
�; K$=�(&FC):L$=K$+K$:B$=�(&FF):Y$=�(&95)+K$:X$=�(&85)+B$
� �:�7,2);
� � I=0 � 9:�R$;B$;:�
� �C$;B$;�2,3);C$;B$;
� � I=1 � 9:�ST$;I;:�
� �" 0 - ";B$;" ";B$;X$;X$
� �"  ";G$;L$;C$;
�' �"Q W E R T Y U I O P @ ";B$;" _";
� �X$;X$
�7 �G$;"  ";K$;ST$;K$;C$;"A S D F G H J K L ; : ";B$;
 �Y$;K$

# �G$;"  ";K$;ST$;L$;ST$;"Z";C$;
 �"X C V B N M , . /";
 �G$;L$;G$;K$;Y$
(8 �"       ";C$;�(&9D);�(&83);"  Space Bar   ";�(&9C)
P � PART=0 � �tsT
Z �" ";:� I=1 � 3 
d" � LED(I,PART)=1 � �R$; � �W$;
n �"o";:�:�W$
x" �'"  ^ ^ ^ - Lights: o = OFF"
� �17);R$;"o";W$;"= ON"
� �15,13);"PART ";PART'
� �
�
 ��FL0
� �22,3);FL$"0"ST$;:�
�
 ��FL1
� �4,3);FL$"1"ST$;:�
�
 ��FLO
� �21,4);FL$"O"ST$;:�
�
 ��FLL
� �22,5);FL$"L"ST$;:�

 ��FLI
 �19,4);FL$"I"ST$;:�
| ��CL:� CAPS LOCK
� �1,5);FL$
� �
� ��SL:� SHIFT LOCK
� �1,6);FL$;
C �
D ��SH:� SHIFT
N �4,6);FL$;
� �
� ��ESC:� ESCAPE 
� �1,3);FL$ 
 �
X ��CLEAR
b �K
l � K=13 � 22:�0,K);�(40):�
v
 �0,13);
� �
� ��PUTSCORE
�2 �5,1)"Score so far: ";RIGHT;" out of ";TESTS
�" �3,3)"Average time taken: ";
�, � TESTS=0 � �;0; � �;�(TTIM/TESTS)/100;
� �" seconds   "
 �
 ! ݤGENE:� CHARACTER GENERATOR
*' � PART � �T~\,�D\\,�tN\,�d@\,�d^\ 
4 �** PART 1 - U/C LETTERS
> =�(26)+64
H+ �** PART 2 - U/C LETTERS + U/C SYMBOLS
\ R=�(16):� R=16 � =96
f � R<12 � =R+32
p
 =�(4)+59
�) �** PART 3 - U/C LETTERS,L/C SYMBOLS
� � CHAR=2 �=45:�CE -
� � �(3)=1 � �T~\
� R=�(18):� R=18 � =64
� � R=17 � =95
�
 =R+43
�+ �** PART 4 - U/C LETTERS + ANY SYMBOLS
� � CHAR=4 � =79:� FORCE O
� � �(3) � �T~\,�D\\,�tX\
� �T** PART 5 - FULL KBD 
� � CHAR=7 � =108:�FORCE l
� � �(3)>1 � �dJ\
� =96+�(26)
K � END OF FNGENE
@ ��DBL(X$,X,Y)
J �X-1,Y);�(141);X$
T �X-1,Y+1);�(141);X$
� �
� ��WAIT(X)
� � Z
� Z=�
� � � �-Z>X*100
  �
  ��SPACE
 4 �3,22);"Press the SPACE BAR to continue";:�KCL
 0 � � �=" "
 k �
 l ��TITLEPAGE
 v6 �:�DBL("KEYBOARD",14,8):�DBL("FAMILIARITY",13,11)
 � �OFF:N%=�(500)
 � �
"`
 ��KCL
"j � � �(0)=-1
"� �
"�
 ��OFF
"� �23;8202;0;0;0;:�
"�	 ��ON
# �23;29194;0;0;0;:�
#(1 ��GPI(F2,ML):� General Purpose Input Routine
#2
 �B,B$
#<
 A$=""
#F+ ��ML," ");�ML+1,�(8));�(&87);:�ON:�KCL
#P B$=�:B=�(B$):� B=13 � �dfc
#Z � B=127 � A$="" � �DPc 
#d* � B=127 � A$=�A$,�(A$)-1):�B$;:�DPc 
#n% � �(A$)=ML � B<32 � B>126 � �dRc
#x+ � F2=0 � B=32 � (B>=48 � B<=57) � �d\c
#�
 �7:�DPc
#� �B$;:A$=A$+B$:�DPc
#�	 �OFF
#� �
#� ��YESORNO
#� �B$
$ �GPI(0,3)
$ B$=�A$,1)
$
 Y%=-1
$" � B$="Y" � B$="y" � Y%=1
$, � B$="N" � B$="n" � Y%=0
$S �
�
00000000  0d 00 0a 23 20 f4 20 4b  42 44 2f 4b 65 79 62 6f  |...# . KBD/Keybo|
00000010  61 72 64 20 46 61 6d 69  6c 69 61 72 69 73 61 74  |ard Familiarisat|
00000020  69 6f 6e 0d 00 0c 54 20  f4 20 50 72 6f 67 72 61  |ion...T . Progra|
00000030  6d 20 62 79 20 41 6e 64  72 65 77 20 43 68 61 70  |m by Andrew Chap|
00000040  6d 61 6e 20 26 20 52 6f  64 20 4d 75 6c 76 65 79  |man & Rod Mulvey|
00000050  20 28 4e 45 54 48 45 52  48 41 4c 4c 20 53 43 48  | (NETHERHALL SCH|
00000060  4f 4f 4c 29 20 26 20 52  69 63 68 61 72 64 20 47  |OOL) & Richard G|
00000070  20 57 61 72 6e 65 72 0d  00 0d 1f 20 f4 20 56 65  | Warner.... . Ve|
00000080  72 73 69 6f 6e 20 35 20  2d 20 4f 63 74 6f 62 65  |rsion 5 - Octobe|
00000090  72 20 31 39 38 31 0d 00  0e 30 20 f4 20 46 6f 72  |r 1981...0 . For|
000000a0  20 42 42 43 20 4d 6f 64  65 6c 20 41 20 4d 69 63  | BBC Model A Mic|
000000b0  72 6f 63 6f 6d 70 75 74  65 72 20 31 36 4b 20 4d  |rocomputer 16K M|
000000c0  69 6e 69 6d 75 6d 0d 00  28 0e 20 ee 20 85 20 e5  |inimum..(. . . .|
000000d0  8d 54 72 40 0d 00 32 07  20 eb 37 0d 00 50 18 20  |.Tr@..2. .7..P. |
000000e0  db 3a 50 41 52 54 3d 30  3a ee 20 85 20 e5 20 8d  |.:PART=0:. . . .|
000000f0  54 60 43 0d 00 64 0f 20  f2 54 49 54 4c 45 50 41  |T`C..d. .TITLEPA|
00000100  47 45 0d 00 69 31 20 de  20 4c 45 44 28 33 2c 35  |GE..i1 . LED(3,5|
00000110  29 3a f4 53 54 41 54 55  53 20 4f 46 20 4c 45 44  |):.STATUS OF LED|
00000120  53 20 49 4e 20 45 41 43  48 20 50 52 4f 47 20 50  |S IN EACH PROG P|
00000130  41 52 54 0d 00 6e 2d 20  e3 20 58 3d 31 20 b8 20  |ART..n- . X=1 . |
00000140  35 3a f3 20 4c 45 44 28  31 2c 58 29 2c 4c 45 44  |5:. LED(1,X),LED|
00000150  28 32 2c 58 29 2c 4c 45  44 28 33 2c 58 29 3a ed  |(2,X),LED(3,X):.|
00000160  0d 00 78 24 20 dc 20 30  2c 30 2c 31 2c 30 2c 30  |..x$ . 0,0,1,0,0|
00000170  2c 31 2c 30 2c 31 2c 30  2c 30 2c 31 2c 30 2c 30  |,1,0,1,0,0,1,0,0|
00000180  2c 30 2c 30 0d 00 8c 2e  20 46 4c 24 3d bd 28 26  |,0,0.... FL$=.(&|
00000190  38 38 29 3a 53 54 24 3d  bd 28 26 38 39 29 3a 52  |88):ST$=.(&89):R|
000001a0  24 3d bd 28 26 38 31 29  3a 57 24 3d bd 28 26 38  |$=.(&81):W$=.(&8|
000001b0  37 29 0d 00 96 18 20 43  24 3d bd 28 26 38 33 29  |7).... C$=.(&83)|
000001c0  3a 47 24 3d bd 28 26 39  33 29 0d 00 a0 1a 20 43  |:G$=.(&93).... C|
000001d0  4c 24 3d 43 24 2b 22 43  41 50 53 20 4c 4f 43 4b  |L$=C$+"CAPS LOCK|
000001e0  22 2b 57 24 0d 00 aa 1b  20 53 4c 24 3d 43 24 2b  |"+W$.... SL$=C$+|
000001f0  22 53 48 49 46 54 20 4c  4f 43 4b 22 2b 57 24 0d  |"SHIFT LOCK"+W$.|
00000200  00 b4 16 20 53 48 24 3d  43 24 2b 22 53 48 49 46  |... SH$=C$+"SHIF|
00000210  54 22 2b 57 24 0d 00 bd  0b 20 50 41 52 54 3d 31  |T"+W$.... PART=1|
00000220  0d 00 c8 14 20 de 4b 28  39 29 2c 54 28 39 29 2c  |.... .K(9),T(9),|
00000230  44 28 39 29 0d 00 d2 21  20 e3 20 58 3d 31 20 b8  |D(9)...! . X=1 .|
00000240  20 39 3a f3 20 4b 28 58  29 2c 54 28 58 29 2c 44  | 9:. K(X),T(X),D|
00000250  28 58 29 3a ed 0d 00 d3  38 20 f4 20 54 48 45 53  |(X):....8 . THES|
00000260  45 20 41 52 52 41 59 53  20 41 52 45 20 55 53 45  |E ARRAYS ARE USE|
00000270  44 20 54 4f 20 44 45 43  49 44 45 20 4b 45 59 20  |D TO DECIDE KEY |
00000280  54 59 50 45 53 20 28 4b  20 26 20 54 29 0d 00 d4  |TYPES (K & T)...|
00000290  3a 20 f4 20 26 20 57 48  45 54 48 45 52 20 45 52  |: . & WHETHER ER|
000002a0  52 4f 52 53 20 43 4f 55  4c 44 20 42 45 20 43 41  |RORS COULD BE CA|
000002b0  55 53 45 44 20 42 59 20  53 48 49 46 54 20 43 4f  |USED BY SHIFT CO|
000002c0  4e 46 55 53 49 4f 4e 0d  00 dc 0e 20 dc 20 34 34  |NFUSION.... . 44|
000002d0  2c 34 2c 31 36 0d 00 e6  0e 20 dc 20 34 38 2c 33  |,4,16.... . 48,3|
000002e0  2c 31 36 0d 00 f0 0f 20  dc 20 36 30 2c 33 2c 2d  |,16.... . 60,3,-|
000002f0  31 36 0d 00 fa 0f 20 dc  20 36 34 2c 34 2c 2d 31  |16.... . 64,4,-1|
00000300  36 0d 01 04 0d 20 dc 20  36 35 2c 33 2c 30 0d 01  |6.... . 65,3,0..|
00000310  0e 0e 20 dc 20 39 31 2c  32 2c 33 32 0d 01 18 0d  |.. . 91,2,32....|
00000320  20 dc 20 39 35 2c 33 2c  31 0d 01 22 0d 20 dc 20  | . 95,3,1..". . |
00000330  39 36 2c 34 2c 31 0d 01  27 10 20 dc 20 31 32 33  |96,4,1..'. . 123|
00000340  2c 31 2c 2d 33 32 0d 01  2c 0b 20 db 3a f1 27 27  |,1,-32..,. .:.''|
00000350  27 0d 01 36 2b 20 f1 22  54 68 69 73 20 70 72 6f  |'..6+ ."This pro|
00000360  67 72 61 6d 20 68 65 6c  70 73 20 79 6f 75 20 74  |gram helps you t|
00000370  6f 20 66 69 6e 64 20 79  6f 75 72 22 0d 01 40 2a  |o find your"..@*|
00000380  20 f1 22 77 61 79 20 61  72 6f 75 6e 64 20 74 68  | ."way around th|
00000390  65 20 6b 65 79 62 6f 61  72 64 20 61 6e 64 20 74  |e keyboard and t|
000003a0  6f 20 75 73 65 22 0d 01  4a 25 20 f1 22 74 68 65  |o use"..J% ."the|
000003b0  22 43 4c 24 22 2c 22 53  4c 24 22 61 6e 64 22 53  |"CL$","SL$"and"S|
000003c0  48 24 27 22 6b 65 79 73  2e 22 27 0d 01 54 2b 20  |H$'"keys."'..T+ |
000003d0  f1 22 59 6f 75 20 77 69  6c 6c 20 62 65 20 73 68  |."You will be sh|
000003e0  6f 77 6e 20 61 20 63 68  61 72 61 63 74 65 72 20  |own a character |
000003f0  77 68 69 63 68 22 0d 01  5e 3b 20 f1 22 79 6f 75  |which"..^; ."you|
00000400  20 77 69 6c 6c 20 68 61  76 65 20 74 6f 20 66 69  | will have to fi|
00000410  6e 64 20 61 6e 64 20 70  72 65 73 73 20 6f 6e 22  |nd and press on"|
00000420  27 22 74 68 65 20 6b 65  79 62 6f 61 72 64 2e 22  |'"the keyboard."|
00000430  27 0d 01 68 2e 20 f1 22  54 68 65 20 63 6f 6d 70  |'..h. ."The comp|
00000440  75 74 65 72 20 77 69 6c  6c 20 74 69 6d 65 20 79  |uter will time y|
00000450  6f 75 20 61 6e 64 20 64  69 73 70 6c 61 79 22 0d  |ou and display".|
00000460  01 72 2e 20 f1 22 79 6f  75 72 20 73 63 6f 72 65  |.r. ."your score|
00000470  20 61 6c 6f 6e 67 20 77  69 74 68 20 74 68 65 20  | along with the |
00000480  61 76 65 72 61 67 65 20  74 69 6d 65 22 0d 01 7c  |average time"..||
00000490  2e 20 f1 22 74 68 61 74  20 79 6f 75 20 74 61 6b  |. ."that you tak|
000004a0  65 20 74 6f 20 66 69 6e  64 20 65 61 63 68 20 6b  |e to find each k|
000004b0  65 79 2e 22 3a f2 53 50  41 43 45 0d 01 90 15 20  |ey.":.SPACE.... |
000004c0  50 41 52 54 3d 30 3a f2  4b 42 44 3a f2 45 53 43  |PART=0:.KBD:.ESC|
000004d0  0d 01 9a 2c 20 f1 8a 30  2c 31 34 29 22 54 68 69  |..., ..0,14)"Thi|
000004e0  73 20 72 65 70 72 65 73  65 6e 74 73 20 74 68 65  |s represents the|
000004f0  20 6b 65 79 62 6f 61 72  64 2e 22 27 0d 01 a4 35  | keyboard."'...5|
00000500  20 f1 22 50 72 65 73 73  69 6e 67 20 74 68 65 22  | ."Pressing the"|
00000510  3b 46 4c 24 3b 22 45 53  43 41 50 45 22 3b 53 54  |;FL$;"ESCAPE";ST|
00000520  24 3b 22 6b 65 79 20 77  69 6c 6c 20 74 61 6b 65  |$;"key will take|
00000530  22 0d 01 ae 26 20 f1 22  79 6f 75 20 74 6f 20 74  |"...& ."you to t|
00000540  68 65 20 65 6e 64 20 6f  66 20 74 68 65 20 70 72  |he end of the pr|
00000550  6f 67 72 61 6d 2e 22 0d  01 b8 18 20 f2 53 50 41  |ogram.".... .SPA|
00000560  43 45 3a 50 41 52 54 3d  31 3a e5 8d 64 68 43 0d  |CE:PART=1:..dhC.|
00000570  01 f4 27 20 db 3a f1 27  27 27 22 59 6f 75 20 6e  |..' .:.'''"You n|
00000580  6f 77 20 68 61 76 65 20  61 20 63 68 6f 69 63 65  |ow have a choice|
00000590  20 6f 66 20 3a 22 0d 01  fe 0e 20 e3 20 49 3d 31  | of :".... . I=1|
000005a0  20 b8 20 35 0d 02 08 25  20 f1 8a 33 2c 32 2a 49  | . 5...% ..3,2*I|
000005b0  2b 33 29 3b 49 3b 22 20  2d 20 52 65 70 65 61 74  |+3);I;" - Repeat|
000005c0  20 70 61 72 74 20 22 3b  49 0d 02 12 06 20 ed 0d  | part ";I.... ..|
000005d0  02 1c 11 20 f1 8a 31 31  2c 31 35 29 22 6f 72 22  |... ..11,15)"or"|
000005e0  0d 02 26 29 20 f1 27 22  70 72 65 73 73 20 74 68  |..&) .'"press th|
000005f0  65 20 45 53 43 41 50 45  20 6b 65 79 20 69 66 20  |e ESCAPE key if |
00000600  79 6f 75 20 77 61 6e 74  22 0d 02 30 27 20 f1 22  |you want"..0' ."|
00000610  74 6f 20 6d 6f 76 65 20  6f 6e 20 74 6f 20 74 68  |to move on to th|
00000620  65 20 6e 65 78 74 20 70  72 6f 67 72 61 6d 2e 22  |e next program."|
00000630  0d 02 3a 15 20 50 41 52  54 3d 30 3a 53 45 4c 3d  |..:. PART=0:SEL=|
00000640  30 3a f2 4f 4e 0d 02 58  22 20 f1 8a 30 2c 32 30  |0:.ON..X" ..0,20|
00000650  29 22 59 6f 75 72 20 63  68 6f 69 63 65 20 28 31  |)"Your choice (1|
00000660  2d 35 29 3f 20 22 3b 0d  02 62 1b 20 41 24 3d be  |-5)? ";..b. A$=.|
00000670  3a e7 20 97 28 41 24 29  3d 31 33 20 8c 20 8d 74  |:. .(A$)=13 . .t|
00000680  68 42 0d 02 6c 1e 20 41  3d 97 28 41 24 29 2d 34  |hB..l. A=.(A$)-4|
00000690  38 3a e7 20 41 3c 30 20  8c 20 41 3d 41 2b 31 36  |8:. A<0 . A=A+16|
000006a0  0d 02 76 17 20 e7 20 41  3c 31 20 84 20 41 3e 35  |..v. . A<1 . A>5|
000006b0  20 8c 20 8d 44 58 42 0d  02 80 0d 20 f1 bd 28 41  | . .DXB.... ..(A|
000006c0  2b 34 38 29 0d 02 8a 1e  20 e7 20 53 45 4c 3e 30  |+48).... . SEL>0|
000006d0  20 8c f1 8a 32 2c 32 2a  53 45 4c 2b 33 29 3b 53  | ...2,2*SEL+3);S|
000006e0  54 24 0d 02 94 19 20 f1  8a 32 2c 32 2a 41 2b 33  |T$.... ..2,2*A+3|
000006f0  29 3b 46 4c 24 3b 41 3b  53 54 24 0d 02 9e 10 20  |);FL$;A;ST$.... |
00000700  53 45 4c 3d 41 3a e5 8d  44 58 42 0d 02 a8 13 20  |SEL=A:..DXB.... |
00000710  e7 20 53 45 4c 3d 30 20  8c 20 8d 44 58 42 0d 02  |. SEL=0 . .DXB..|
00000720  b2 18 20 50 41 52 54 3d  53 45 4c 3a f2 4f 46 46  |.. PART=SEL:.OFF|
00000730  3a e5 8d 64 68 43 0d 03  20 23 20 db 3a e7 20 9f  |:..dhC.. # .:. .|
00000740  3c 3e 31 37 20 8c 20 f6  3a f1 22 20 69 6e 20 6c  |<>17 . .:." in l|
00000750  69 6e 65 20 22 3b 9e 3a  e0 0d 03 2a 14 20 e7 20  |ine ";.:...*. . |
00000760  50 41 52 54 3e 30 20 8c  20 8d 64 74 41 0d 03 84  |PART>0 . .dtA...|
00000770  06 20 db 0d 03 8e 0c 20  f1 8a 35 2c 39 29 3b 0d  |. ..... ..5,9);.|
00000780  03 98 1f 20 f1 22 44 6f  20 79 6f 75 20 77 61 6e  |... ."Do you wan|
00000790  74 20 74 6f 20 67 6f 20  6f 6e 20 74 6f 22 0d 03  |t to go on to"..|
000007a0  a2 26 20 f1 22 20 20 20  20 20 74 68 65 20 6e 65  |.& ."     the ne|
000007b0  78 74 20 70 72 6f 67 72  61 6d 20 28 59 2f 4e 29  |xt program (Y/N)|
000007c0  3f 20 22 3b 0d 03 ac 1b  20 f2 59 45 53 4f 52 4e  |? ";.... .YESORN|
000007d0  4f 3a e7 20 59 25 3c 30  20 8c 20 8d 74 4e 43 0d  |O:. Y%<0 . .tNC.|
000007e0  03 b6 15 20 e7 20 59 25  3d 30 20 8c 20 d8 3a e5  |... . Y%=0 . .:.|
000007f0  8d 44 64 40 0d 03 ca 0f  20 d7 20 22 53 4b 45 54  |.Dd@.... . "SKET|
00000800  43 48 22 0d 03 e8 20 20  f2 4b 42 44 3a 54 45 53  |CH"...  .KBD:TES|
00000810  54 53 3d 30 3a 54 54 49  4d 3d 30 3a 52 49 47 48  |TS=0:TTIM=0:RIGH|
00000820  54 3d 30 0d 03 f2 26 20  ee 20 50 41 52 54 20 e5  |T=0...& . PART .|
00000830  20 8d 44 4c 44 2c 8d 74  70 44 2c 8d 54 54 45 2c  | .DLD,.tpD,.TTE,|
00000840  8d 44 78 45 2c 8d 64 5c  45 0d 04 4c 0d 20 f4 20  |.DxE,.d\E..L. . |
00000850  50 41 52 54 20 31 0d 04  60 26 20 f1 22 43 68 65  |PART 1..`& ."Che|
00000860  63 6b 20 74 68 65 20 72  65 64 20 69 6e 64 69 63  |ck the red indic|
00000870  61 74 6f 72 20 6c 69 67  68 74 73 22 0d 04 6a 26  |ator lights"..j&|
00000880  20 f1 22 61 72 65 20 6c  69 74 20 63 6f 72 72 65  | ."are lit corre|
00000890  63 74 6c 79 2e 20 54 68  65 79 20 73 68 6f 75 6c  |ctly. They shoul|
000008a0  64 22 0d 04 74 1a 20 f1  22 62 65 20 61 73 20 73  |d"..t. ."be as s|
000008b0  68 6f 77 6e 20 61 62 6f  76 65 2e 22 0d 04 7e 2a  |hown above."..~*|
000008c0  20 f1 27 22 49 66 20 74  68 65 79 20 61 72 65 20  | .'"If they are |
000008d0  6e 6f 74 2c 20 70 72 65  73 73 20 74 68 65 22 46  |not, press the"F|
000008e0  4c 24 3b 53 4c 24 0d 04  88 28 20 f1 22 6b 65 79  |L$;SL$...( ."key|
000008f0  20 61 6e 64 20 63 68 65  63 6b 20 74 68 65 20 64  | and check the d|
00000900  69 73 70 6c 61 79 20 61  67 61 69 6e 2e 22 0d 04  |isplay again."..|
00000910  92 0e 20 f2 53 4c 3a e5  8d 44 6c 47 0d 04 b0 0d  |.. .SL:..DlG....|
00000920  20 f4 20 50 41 52 54 20  32 0d 04 ba 27 20 f1 22  | . PART 2...' ."|
00000930  54 68 65 20 72 65 64 20  69 6e 64 69 63 61 74 6f  |The red indicato|
00000940  72 20 6c 69 67 68 74 73  20 73 68 6f 75 6c 64 22  |r lights should"|
00000950  0d 04 c4 26 20 f1 22 62  65 20 61 73 20 73 68 6f  |...& ."be as sho|
00000960  77 6e 20 61 62 6f 76 65  2e 20 54 68 69 73 20 69  |wn above. This i|
00000970  73 20 74 68 65 22 0d 04  ce 3a 20 f1 22 73 61 6d  |s the"...: ."sam|
00000980  65 20 61 73 20 70 61 72  74 20 31 2e 20 49 66 20  |e as part 1. If |
00000990  6e 6f 74 20 70 72 65 73  73 20 74 68 65 22 27 46  |not press the"'F|
000009a0  4c 24 3b 53 4c 24 3b 53  54 24 22 6b 65 79 2e 22  |L$;SL$;ST$"key."|
000009b0  0d 04 d8 16 20 f2 53 4c  3a f2 53 50 41 43 45 3a  |.... .SL:.SPACE:|
000009c0  f2 43 4c 45 41 52 0d 04  e2 2a 20 f1 27 22 57 68  |.CLEAR...* .'"Wh|
000009d0  65 6e 20 79 6f 75 20 70  6c 61 79 20 74 68 65 20  |en you play the |
000009e0  67 61 6d 65 20 74 68 69  73 20 74 69 6d 65 2c 22  |game this time,"|
000009f0  0d 04 ec 2b 20 f1 22 74  68 65 20 73 79 6d 62 6f  |...+ ."the symbo|
00000a00  6c 73 20 6f 6e 20 74 6f  70 20 6f 66 20 74 68 65  |ls on top of the|
00000a10  20 6b 65 79 73 20 77 69  6c 6c 22 0d 04 f6 1d 20  | keys will".... |
00000a20  f1 22 61 6c 73 6f 20 62  65 20 74 65 73 74 65 64  |."also be tested|
00000a30  2e 22 3a e5 8d 44 6c 47  0d 05 14 0c 20 f4 20 50  |.":..DlG.... . P|
00000a40  41 52 54 33 0d 05 1e 2a  20 f1 22 54 68 69 73 20  |ART3...* ."This |
00000a50  70 61 72 74 20 77 69 6c  6c 20 65 78 61 6d 69 6e  |part will examin|
00000a60  65 20 74 68 65 20 73 79  6d 62 6f 6c 73 22 0d 05  |e the symbols"..|
00000a70  28 28 20 f1 22 6f 6e 20  74 68 65 20 62 6f 74 74  |(( ."on the bott|
00000a80  6f 6d 20 6f 66 20 74 68  65 20 6b 65 79 73 2c 20  |om of the keys, |
00000a90  61 6c 6f 6e 67 22 0d 05  32 22 20 f1 22 77 69 74  |along"..2" ."wit|
00000aa0  68 20 74 68 65 20 63 61  70 69 74 61 6c 20 6c 65  |h the capital le|
00000ab0  74 74 65 72 73 2e 22 27  0d 05 3c 36 20 f1 22 52  |tters."'..<6 ."R|
00000ac0  65 6c 65 61 73 65 22 53  4c 24 22 62 79 20 70 72  |elease"SL$"by pr|
00000ad0  65 73 73 69 6e 67 20 74  68 65 22 27 46 4c 24 3b  |essing the"'FL$;|
00000ae0  43 4c 24 3b 53 54 24 3b  22 6b 65 79 2e 22 0d 05  |CL$;ST$;"key."..|
00000af0  46 16 20 f2 43 4c 3a f2  53 50 41 43 45 3a f2 43  |F. .CL:.SPACE:.C|
00000b00  4c 45 41 52 0d 05 50 32  20 f1 22 43 68 65 63 6b  |LEAR..P2 ."Check|
00000b10  20 74 68 61 74 20 74 68  65 20 6c 69 67 68 74 73  | that the lights|
00000b20  20 61 72 65 20 63 6f 72  72 65 63 74 6c 79 22 27  | are correctly"'|
00000b30  22 6c 69 74 2e 22 0d 05  5a 2a 20 f1 27 22 53 79  |"lit."..Z* .'"Sy|
00000b40  6d 62 6f 6c 73 20 6f 6e  20 74 6f 70 20 6f 66 20  |mbols on top of |
00000b50  74 68 65 20 6b 65 79 73  20 63 61 6e 6e 6f 74 22  |the keys cannot"|
00000b60  0d 05 64 18 20 f1 22 62  65 20 6f 62 74 61 69 6e  |..d. ."be obtain|
00000b70  65 64 20 6e 6f 77 2e 22  0d 05 6e 0a 20 e5 8d 44  |ed now."..n. ..D|
00000b80  6c 47 0d 05 78 0d 20 f4  20 50 41 52 54 20 34 0d  |lG..x. . PART 4.|
00000b90  05 82 20 20 f1 22 45 6e  73 75 72 65 20 74 68 61  |..  ."Ensure tha|
00000ba0  74 22 43 4c 24 22 69 73  20 73 74 69 6c 6c 22 0d  |t"CL$"is still".|
00000bb0  05 8c 2a 20 f1 22 61 63  74 69 76 65 20 62 79 20  |..* ."active by |
00000bc0  63 68 65 63 6b 69 6e 67  20 74 68 65 20 72 65 64  |checking the red|
00000bd0  20 6c 69 67 68 74 73 2e  22 0d 05 96 35 20 f1 27  | lights."...5 .'|
00000be0  22 49 66 20 74 68 65 20  64 69 73 70 6c 61 79 20  |"If the display |
00000bf0  69 73 20 77 72 6f 6e 67  2c 20 70 72 65 73 73 20  |is wrong, press |
00000c00  74 68 65 22 27 43 4c 24  22 6b 65 79 2e 22 0d 05  |the"'CL$"key."..|
00000c10  a0 12 20 f2 53 50 41 43  45 3a f2 43 4c 45 41 52  |.. .SPACE:.CLEAR|
00000c20  0d 05 aa 2a 20 f1 22 54  68 69 73 20 74 69 6d 65  |...* ."This time|
00000c30  2c 20 63 61 70 69 74 61  6c 20 6c 65 74 74 65 72  |, capital letter|
00000c40  73 20 61 6e 64 20 61 6c  6c 22 0d 05 b4 2b 20 f1  |s and all"...+ .|
00000c50  22 74 68 65 20 73 79 6d  62 6f 6c 73 20 77 69 6c  |"the symbols wil|
00000c60  6c 20 62 65 20 75 73 65  64 2e 20 54 6f 20 6f 62  |l be used. To ob|
00000c70  74 61 69 6e 22 0d 05 be  2b 20 f1 22 61 20 73 79  |tain"...+ ."a sy|
00000c80  6d 62 6f 6c 20 6f 6e 20  74 68 65 20 74 6f 70 20  |mbol on the top |
00000c90  6f 66 20 61 20 6b 65 79  2c 20 70 72 65 73 73 22  |of a key, press"|
00000ca0  0d 05 c8 2f 20 f1 22 74  68 65 20 6b 65 79 20 61  |.../ ."the key a|
00000cb0  6e 64 22 3b 46 4c 24 3b  53 48 24 3b 53 54 24 3b  |nd";FL$;SH$;ST$;|
00000cc0  22 6b 65 79 20 74 6f 67  65 74 68 65 72 2e 22 0d  |"key together.".|
00000cd0  05 d2 44 20 f1 22 46 6f  72 20 65 78 61 6d 70 6c  |..D ."For exampl|
00000ce0  65 2c 20 74 6f 20 6f 62  74 61 69 6e 20 22 22 24  |e, to obtain ""$|
00000cf0  22 22 2c 20 70 72 65 73  73 22 27 46 4c 24 3b 53  |"", press"'FL$;S|
00000d00  48 24 3b 53 54 24 3b 22  61 6e 64 20 22 22 34 22  |H$;ST$;"and ""4"|
00000d10  22 2e 22 0d 05 d7 0e 20  f2 53 48 3a e5 8d 44 6c  |".".... .SH:..Dl|
00000d20  47 0d 05 dc 0c 20 f4 20  50 41 52 54 35 0d 05 e6  |G.... . PART5...|
00000d30  25 20 f1 22 50 72 65 73  73 20 74 68 65 22 43 4c  |% ."Press the"CL|
00000d40  24 22 6b 65 79 2e 20 54  68 65 20 6c 69 67 68 74  |$"key. The light|
00000d50  73 22 0d 05 f0 1e 20 f1  22 73 68 6f 75 6c 64 20  |s".... ."should |
00000d60  61 6c 6c 20 62 65 20 6f  66 66 20 6e 6f 77 2e 22  |all be off now."|
00000d70  0d 05 fa 38 20 f1 22 59  6f 75 20 61 72 65 20 6e  |...8 ."You are n|
00000d80  6f 20 6c 6f 6e 67 65 72  20 6c 6f 63 6b 65 64 20  |o longer locked |
00000d90  69 6e 74 6f 20 63 61 70  69 74 61 6c 22 27 22 6c  |into capital"'"l|
00000da0  65 74 74 65 72 73 2e 22  0d 06 04 12 20 f2 53 50  |etters.".... .SP|
00000db0  41 43 45 3a f2 43 4c 45  41 52 0d 06 0e 29 20 f1  |ACE:.CLEAR...) .|
00000dc0  22 53 6d 61 6c 6c 20 6c  65 74 74 65 72 73 20 61  |"Small letters a|
00000dd0  72 65 20 6e 6f 77 20 61  76 61 69 6c 61 62 6c 65  |re now available|
00000de0  2e 22 20 0d 06 18 2a 20  f1 27 22 43 61 70 69 74  |." ...* .'"Capit|
00000df0  61 6c 20 6c 65 74 74 65  72 73 20 61 72 65 20 70  |al letters are p|
00000e00  72 6f 64 75 63 65 64 20  77 68 65 6e 22 0d 06 22  |roduced when".."|
00000e10  31 20 f1 22 79 6f 75 20  70 72 65 73 73 20 61 20  |1 ."you press a |
00000e20  6c 65 74 74 65 72 20 6b  65 79 20 61 6e 64 22 53  |letter key and"S|
00000e30  48 24 27 22 74 6f 67 65  74 68 65 72 2e 22 0d 06  |H$'"together."..|
00000e40  2c 31 20 f1 27 22 46 6f  72 20 65 78 61 6d 70 6c  |,1 .'"For exampl|
00000e50  65 2c 20 74 6f 20 67 65  74 22 3b 43 24 3b 22 68  |e, to get";C$;"h|
00000e60  22 3b 57 24 3b 22 70 72  65 73 73 20 48 2e 22 0d  |";W$;"press H.".|
00000e70  06 36 34 20 f1 22 54 6f  20 67 65 74 22 3b 43 24  |.64 ."To get";C$|
00000e80  3b 22 48 22 3b 57 24 3b  22 70 72 65 73 73 22 46  |;"H";W$;"press"F|
00000e90  4c 24 3b 53 48 24 3b 53  54 24 3b 22 61 6e 64 20  |L$;SH$;ST$;"and |
00000ea0  48 2e 22 0d 06 3b 08 20  f2 53 48 0d 07 6c 12 20  |H."..;. .SH..l. |
00000eb0  f2 53 50 41 43 45 3a f2  43 4c 45 41 52 0d 07 76  |.SPACE:.CLEAR..v|
00000ec0  29 20 f2 44 42 4c 28 22  54 6f 20 62 65 67 69 6e  |) .DBL("To begin|
00000ed0  20 74 68 65 20 74 65 73  74 20 2e 2e 2e 2e 22 2c  | the test ....",|
00000ee0  31 30 2c 31 35 29 0d 07  80 0b 20 f2 53 50 41 43  |10,15).... .SPAC|
00000ef0  45 0d 07 d0 10 20 f4 20  50 4c 41 59 20 47 41 4d  |E.... . PLAY GAM|
00000f00  45 0d 07 da 12 20 e3 20  43 48 41 52 3d 31 20 b8  |E.... . CHAR=1 .|
00000f10  20 31 30 0d 07 e4 10 20  db 3a f2 50 55 54 53 43  | 10.... .:.PUTSC|
00000f20  4f 52 45 0d 08 0c 34 20  f1 8a 35 2c 35 29 22 50  |ORE...4 ..5,5)"P|
00000f30  61 72 74 20 22 3b 50 41  52 54 3b 22 20 20 20 20  |art ";PART;"    |
00000f40  20 51 75 65 73 74 69 6f  6e 20 4e 75 6d 62 65 72  | Question Number|
00000f50  20 22 3b 43 48 41 52 0d  08 16 2c 20 f2 44 42 4c  | ";CHAR..., .DBL|
00000f60  28 22 46 69 6e 64 22 2c  31 32 2c 38 29 3a 45 24  |("Find",12,8):E$|
00000f70  3d bd 28 a4 47 45 4e 45  29 3a f2 57 41 49 54 28  |=.(.GENE):.WAIT(|
00000f80  2e 37 29 0d 08 20 1e 20  f2 4b 43 4c 3a f2 44 42  |.7).. . .KCL:.DB|
00000f90  4c 28 45 24 2c 31 37 2c  38 29 3a 53 54 49 4d 3d  |L(E$,17,8):STIM=|
00000fa0  91 0d 08 34 1b 20 49 24  3d bf 28 30 29 3a e7 20  |...4. I$=.(0):. |
00000fb0  49 24 3d 22 22 20 8c 20  8d 54 74 48 0d 08 3e 22  |I$="" . .TtH..>"|
00000fc0  20 45 54 49 4d 3d 91 3a  49 41 3d 97 28 49 24 29  | ETIM=.:IA=.(I$)|
00000fd0  3a e7 20 49 41 3c 33 33  20 8c 8d 54 74 48 0d 08  |:. IA<33 ..TtH..|
00000fe0  48 26 20 e7 20 49 41 3e  31 32 32 20 84 20 28 49  |H& . IA>122 . (I|
00000ff0  41 3e 39 30 20 80 20 49  41 3c 39 35 29 20 8c 20  |A>90 . IA<95) . |
00001000  8d 54 74 48 0d 08 52 2e  20 54 49 4d 3d 45 54 49  |.TtH..R. TIM=ETI|
00001010  4d 2d 53 54 49 4d 3a 54  54 49 4d 3d 54 54 49 4d  |M-STIM:TTIM=TTIM|
00001020  2b 54 49 4d 3a 54 45 53  54 53 3d 54 45 53 54 53  |+TIM:TESTS=TESTS|
00001030  2b 31 0d 08 5c 0d 20 f2  43 4f 4d 50 41 52 45 0d  |+1..\. .COMPARE.|
00001040  08 66 13 20 ed 43 48 41  52 3a f2 57 41 49 54 28  |.f. .CHAR:.WAIT(|
00001050  31 29 0d 08 70 10 20 db  3a f2 50 55 54 53 43 4f  |1)..p. .:.PUTSCO|
00001060  52 45 0d 08 98 22 20 f1  8a 31 30 2c 31 30 29 3b  |RE..." ..10,10);|
00001070  22 45 6e 64 20 6f 66 20  50 61 72 74 20 22 3b 50  |"End of Part ";P|
00001080  41 52 54 27 0d 08 a2 2c  20 f1 22 50 72 65 73 73  |ART'..., ."Press|
00001090  20 22 22 41 22 22 20 74  6f 20 74 72 79 20 74 68  | ""A"" to try th|
000010a0  69 73 20 74 65 73 74 20  61 67 61 69 6e 2e 22 27  |is test again."'|
000010b0  0d 08 ac 23 20 e7 20 50  41 52 54 3d 35 20 8c 20  |...# . PART=5 . |
000010c0  f1 22 4f 74 68 65 72 77  69 73 65 22 3b 3a e5 8d  |."Otherwise";:..|
000010d0  64 40 48 0d 08 b6 33 20  f1 22 49 66 20 79 6f 75  |d@H...3 ."If you|
000010e0  20 77 61 6e 74 20 74 6f  20 6d 6f 76 65 20 6f 6e  | want to move on|
000010f0  20 74 6f 20 74 68 65 20  6e 65 78 74 22 27 22 70  | to the next"'"p|
00001100  61 72 74 2c 22 3b 0d 08  c0 1e 20 f1 22 20 70 72  |art,";.... ." pr|
00001110  65 73 73 20 74 68 65 20  52 45 54 55 52 4e 20 6b  |ess the RETURN k|
00001120  65 79 2e 22 0d 08 ca 22  20 58 24 3d be 3a e7 20  |ey."..." X$=.:. |
00001130  58 24 3d 22 41 22 20 84  20 58 24 3d 22 61 22 20  |X$="A" . X$="a" |
00001140  8c 20 8d 64 68 43 0d 08  d4 18 20 e7 20 58 24 3c  |. .dhC.... . X$<|
00001150  3e 20 bd 28 31 33 29 20  8c 20 8d 64 4a 48 0d 08  |> .(13) . .dJH..|
00001160  de 1f 20 50 41 52 54 3d  50 41 52 54 2b 31 3a e7  |.. PART=PART+1:.|
00001170  20 50 41 52 54 3c 36 20  8c 8d 64 68 43 0d 08 e8  | PART<6 ..dhC...|
00001180  0a 20 e5 8d 64 74 41 0d  0b b8 0e 20 dd f2 43 4f  |. ..dtA.... ..CO|
00001190  4d 50 41 52 45 0d 0b c2  36 20 f4 20 43 4f 4d 50  |MPARE...6 . COMP|
000011a0  41 52 45 20 55 53 45 52  20 49 4e 50 55 54 20 28  |ARE USER INPUT (|
000011b0  49 24 29 20 57 49 54 48  20 45 58 50 45 43 54 45  |I$) WITH EXPECTE|
000011c0  44 20 49 4e 50 55 54 28  45 24 29 0d 0b cc 1f 20  |D INPUT(E$).... |
000011d0  f2 44 42 4c 28 22 59 6f  75 20 74 79 70 65 64 20  |.DBL("You typed |
000011e0  22 2b 49 24 2c 39 2c 31  31 29 0d 0b d6 1d 20 e7  |"+I$,9,11).... .|
000011f0  20 45 24 3d 49 24 20 8c  20 52 49 47 48 54 3d 52  | E$=I$ . RIGHT=R|
00001200  49 47 48 54 2b 31 3a 0d  0b e0 0e 20 f2 50 55 54  |IGHT+1:.... .PUT|
00001210  53 43 4f 52 45 0d 0b ea  14 20 e7 20 45 24 3c 3e  |SCORE.... . E$<>|
00001220  49 24 20 8c 20 8d 54 5c  4c 0d 0b f4 1d 20 f1 8a  |I$ . .T\L.... ..|
00001230  37 2c 31 35 29 22 54 48  41 54 20 49 53 20 43 4f  |7,15)"THAT IS CO|
00001240  52 52 45 43 54 22 0d 0b  fe 2b 20 f1 8a 36 2c 31  |RRECT"...+ ..6,1|
00001250  37 29 22 59 6f 75 20 74  6f 6f 6b 20 22 3b 54 49  |7)"You took ";TI|
00001260  4d 2f 31 30 30 3b 22 20  73 65 63 6f 6e 64 73 2e  |M/100;" seconds.|
00001270  22 0d 0c 08 11 20 f2 57  41 49 54 28 31 2e 35 29  |".... .WAIT(1.5)|
00001280  3a e1 0d 0c 1c 1b 20 f4  2a 2a 20 55 53 45 52 20  |:..... .** USER |
00001290  4d 41 44 45 20 41 4e 20  45 52 52 4f 52 0d 0c 26  |MADE AN ERROR..&|
000012a0  16 20 49 41 3d 97 28 49  24 29 3a 45 41 3d 97 28  |. IA=.(I$):EA=.(|
000012b0  45 24 29 0d 0c 30 42 20  e7 20 ac 28 28 28 45 24  |E$)..0B . .(((E$|
000012c0  3d 22 4f 22 84 45 24 3d  22 6f 22 29 80 49 24 3d  |="O".E$="o").I$=|
000012d0  22 30 22 29 84 28 45 24  3d 22 30 22 80 28 49 24  |"0").(E$="0".(I$|
000012e0  3d 22 4f 22 84 49 24 3d  22 6f 22 29 29 29 20 8c  |="O".I$="o"))) .|
000012f0  20 8d 74 40 4c 0d 0c 3a  1c 20 f4 43 4f 4e 46 55  | .t@L..:. .CONFU|
00001300  53 45 44 20 30 20 57 49  54 48 20 4f 20 4f 52 20  |SED 0 WITH O OR |
00001310  6f 0d 0c 44 12 20 f2 57  41 49 54 28 32 29 3a f2  |o..D. .WAIT(2):.|
00001320  4b 42 44 0d 0c 4e 15 20  e7 20 45 24 3d 22 30 22  |KBD..N. . E$="0"|
00001330  20 8c 20 45 24 3d 49 24  0d 0c 58 38 20 f1 8a 30  | . E$=I$..X8 ..0|
00001340  2c 31 38 29 22 59 6f 75  20 68 61 76 65 20 63 6f  |,18)"You have co|
00001350  6e 66 75 73 65 64 20 74  68 65 20 6c 65 74 74 65  |nfused the lette|
00001360  72 20 22 22 22 45 24 22  22 22 20 77 69 74 68 22  |r """E$""" with"|
00001370  0d 0c 62 1e 20 f1 22 74  68 65 20 64 69 67 69 74  |..b. ."the digit|
00001380  20 7a 65 72 6f 2c 20 22  22 30 22 22 2e 22 0d 0c  | zero, ""0""."..|
00001390  6c 17 20 f2 46 4c 30 3a  f2 46 4c 4f 3a f2 53 50  |l. .FL0:.FLO:.SP|
000013a0  41 43 45 3a e1 0d 0c 80  31 20 e7 20 ac 20 28 28  |ACE:....1 . . ((|
000013b0  45 24 3d 22 31 22 80 49  24 3d 22 6c 22 29 84 28  |E$="1".I$="l").(|
000013c0  45 24 3d 22 6c 22 80 49  24 3d 22 31 22 29 29 20  |E$="l".I$="1")) |
000013d0  8c 20 8d 64 64 4c 0d 0c  8a 12 20 f2 57 41 49 54  |. .ddL.... .WAIT|
000013e0  28 32 29 3a f2 4b 42 44  0d 0c 94 35 20 f1 8a 30  |(2):.KBD...5 ..0|
000013f0  2c 31 35 29 22 59 6f 75  20 68 61 76 65 20 63 6f  |,15)"You have co|
00001400  6e 66 75 73 65 64 20 6c  6f 77 65 72 20 63 61 73  |nfused lower cas|
00001410  65 20 22 22 4c 22 22 20  77 69 74 68 22 0d 0c 9e  |e ""L"" with"...|
00001420  18 20 f1 22 74 68 65 20  64 69 67 69 74 20 22 22  |. ."the digit ""|
00001430  31 22 22 2e 22 0d 0c a8  17 20 f2 46 4c 31 3a f2  |1"".".... .FL1:.|
00001440  46 4c 4c 3a f2 53 50 41  43 45 3a e1 0d 0c e4 31  |FLL:.SPACE:....1|
00001450  20 e7 20 ac 20 28 28 45  24 3d 22 49 22 80 49 24  | . . ((E$="I".I$|
00001460  3d 22 31 22 29 84 28 45  24 3d 22 31 22 80 49 24  |="1").(E$="1".I$|
00001470  3d 22 49 22 29 29 20 8c  20 8d 54 56 4d 0d 0c ee  |="I")) . .TVM...|
00001480  12 20 f2 57 41 49 54 28  32 29 3a f2 4b 42 44 0d  |. .WAIT(2):.KBD.|
00001490  0c f8 35 20 f1 8a 30 2c  31 38 29 22 59 6f 75 20  |..5 ..0,18)"You |
000014a0  68 61 76 65 20 63 6f 6e  66 75 73 65 64 20 74 68  |have confused th|
000014b0  65 20 6c 65 74 74 65 72  20 22 22 49 22 22 20 77  |e letter ""I"" w|
000014c0  69 74 68 22 0d 0d 02 1a  20 f1 22 74 68 65 20 64  |ith".... ."the d|
000014d0  69 67 69 74 22 20 22 22  22 31 22 22 2e 22 0d 0d  |igit" """1""."..|
000014e0  0c 17 20 f2 46 4c 31 3a  f2 46 4c 49 3a f2 53 50  |.. .FL1:.FLI:.SP|
000014f0  41 43 45 3a e1 0d 0d 16  31 20 e7 20 ac 20 28 28  |ACE:....1 . . ((|
00001500  45 24 3d 22 5f 22 80 49  24 3d 22 2d 22 29 84 28  |E$="_".I$="-").(|
00001510  45 24 3d 22 2d 22 80 49  24 3d 22 5f 22 29 29 20  |E$="-".I$="_")) |
00001520  8c 20 8d 44 48 4d 0d 0d  1b 12 20 f2 57 41 49 54  |. .DHM.... .WAIT|
00001530  28 32 29 3a f2 4b 42 44  0d 0d 20 2e 20 f1 8a 30  |(2):.KBD.. . ..0|
00001540  2c 31 38 29 22 59 6f 75  20 68 61 76 65 20 63 6f  |,18)"You have co|
00001550  6e 66 75 73 65 64 20 74  68 65 20 6d 69 6e 75 73  |nfused the minus|
00001560  20 73 69 67 6e 22 0d 0d  2a 2d 20 f1 22 28 62 65  | sign"..*- ."(be|
00001570  6c 6f 77 20 3d 29 2c 20  77 69 74 68 20 74 68 65  |low =), with the|
00001580  20 75 6e 64 65 72 73 63  6f 72 65 20 73 79 6d 62  | underscore symb|
00001590  6f 6c 22 0d 0d 34 12 20  f1 22 28 62 65 6c 6f 77  |ol"..4. ."(below|
000015a0  20 60 29 2e 22 0d 0d 3e  34 20 f1 8a 32 39 2c 34  | `)."..>4 ..29,4|
000015b0  29 3b 46 4c 24 3b 22 5f  22 3b 53 54 24 3b 8a 32  |);FL$;"_";ST$;.2|
000015c0  34 2c 33 29 3b 46 4c 24  3b 22 2d 22 3b 53 54 24  |4,3);FL$;"-";ST$|
000015d0  3a f2 53 50 41 43 45 3a  e1 0d 0d 48 08 20 58 3d  |:.SPACE:...H. X=|
000015e0  31 0d 0d 52 1d 20 e7 20  49 41 3e 3d 4b 28 58 29  |1..R. . IA>=K(X)|
000015f0  20 8c 20 58 3d 58 2b 31  3a e5 8d 44 52 4d 0d 0d  | . X=X+1:..DRM..|
00001600  5c 17 20 53 48 43 4f 4e  3d 28 45 41 2d 49 41 3d  |\. SHCON=(EA-IA=|
00001610  44 28 58 29 29 0d 0d 66  0e 20 54 59 50 45 3d 54  |D(X))..f. TYPE=T|
00001620  28 58 29 0d 0d ac 1d 20  f4 20 22 50 41 52 54 22  |(X).... . "PART"|
00001630  20 53 50 45 43 49 46 49  43 20 43 48 45 43 4b 53  | SPECIFIC CHECKS|
00001640  0d 0d b6 26 20 ee 20 50  41 52 54 20 e5 20 8d 64  |...& . PART . .d|
00001650  40 4d 2c 8d 64 5e 4d 2c  8d 54 50 4e 2c 8d 44 42  |@M,.d^M,.TPN,.DB|
00001660  4e 2c 8d 74 48 4e 0d 0d  c0 23 20 e7 20 54 59 50  |N,.tHN...# . TYP|
00001670  45 3d 32 20 8c 20 8d 54  7c 4f 3a f4 20 57 52 4f  |E=2 . .T|O:. WRO|
00001680  4e 47 20 4c 45 54 54 45  52 0d 0d ca 31 20 f1 8a  |NG LETTER...1 ..|
00001690  30 2c 31 35 29 22 54 68  61 74 20 69 73 20 6e 6f  |0,15)"That is no|
000016a0  74 20 61 20 63 61 70 69  74 61 6c 20 6c 65 74 74  |t a capital lett|
000016b0  65 72 2e 22 3a e5 8d 64  58 4e 0d 0d de 0d 20 f4  |er.":..dXN.... .|
000016c0  20 50 41 52 54 20 32 0d  0d e8 2b 20 e7 20 54 59  | PART 2...+ . TY|
000016d0  50 45 3d 32 20 84 20 54  59 50 45 3d 34 20 8c 8d  |PE=2 . TYPE=4 ..|
000016e0  54 7c 4f 3a f4 20 57 52  4f 4e 47 20 4c 45 54 54  |T|O:. WRONG LETT|
000016f0  45 52 0d 0d f2 38 20 f1  8a 30 2c 31 35 29 22 54  |ER...8 ..0,15)"T|
00001700  68 61 74 20 69 73 20 6e  6f 74 20 61 6e 20 75 70  |hat is not an up|
00001710  70 65 72 20 63 61 73 65  20 63 68 61 72 61 63 74  |per case charact|
00001720  65 72 2e 22 3a e5 8d 64  58 4e 0d 0e 10 0f 20 f4  |er.":..dXN.... .|
00001730  2a 2a 20 50 41 52 54 20  33 0d 0e 1a 1d 20 e7 20  |** PART 3.... . |
00001740  54 59 50 45 3d 32 20 84  20 54 59 50 45 3d 33 20  |TYPE=2 . TYPE=3 |
00001750  8c 20 8d 54 7c 4f 0d 0e  24 42 20 f1 8a 30 2c 31  |. .T|O..$B ..0,1|
00001760  35 29 22 54 68 61 74 20  69 73 20 6e 6f 74 20 61  |5)"That is not a|
00001770  20 63 61 70 69 74 61 6c  20 6c 65 74 74 65 72 20  | capital letter |
00001780  6f 72 22 27 22 6c 6f 77  65 72 20 63 61 73 65 20  |or"'"lower case |
00001790  73 79 6d 62 6f 6c 2e 22  0d 0e 2e 0a 20 e5 8d 64  |symbol.".... ..d|
000017a0  58 4e 0d 0e 42 28 20 f4  2a 2a 20 50 41 52 54 20  |XN..B( .** PART |
000017b0  34 3a 43 48 45 43 4b 20  46 4f 52 20 43 41 53 45  |4:CHECK FOR CASE|
000017c0  20 43 4f 4e 46 55 53 49  4f 4e 0d 0e 4c 14 20 e7  | CONFUSION..L. .|
000017d0  20 54 59 50 45 3d 31 20  8c 20 8d 64 4a 4d 0d 0e  | TYPE=1 . .dJM..|
000017e0  56 15 20 e7 20 53 48 43  4f 4e 3d 30 20 8c 20 8d  |V. . SHCON=0 . .|
000017f0  54 7c 4f 0d 0e 60 14 20  e7 20 54 59 50 45 3d 34  |T|O..`. . TYPE=4|
00001800  20 8c 20 8d 74 66 4e 0d  0e 6a 30 20 f1 8a 30 2c  | . .tfN..j0 ..0,|
00001810  31 35 29 22 59 6f 75 20  63 6f 6e 66 75 73 65 64  |15)"You confused|
00001820  20 75 70 70 65 72 20 61  6e 64 20 6c 6f 77 65 72  | upper and lower|
00001830  20 63 61 73 65 2e 22 0d  0e 74 25 20 f1 22 55 73  | case."..t% ."Us|
00001840  65 22 53 48 24 22 74 6f  20 6f 62 74 61 69 6e 20  |e"SH$"to obtain |
00001850  74 68 65 20 74 6f 70 20  73 65 74 22 0d 0e 7e 19  |the top set"..~.|
00001860  20 f1 22 6f 66 20 73 79  6d 62 6f 6c 73 2e 22 3a  | ."of symbols.":|
00001870  e5 8d 64 58 4e 0d 0e 88  24 20 f4 2a 2a 20 50 41  |..dXN...$ .** PA|
00001880  52 54 20 35 3a 43 48 45  43 4b 20 43 41 53 45 20  |RT 5:CHECK CASE |
00001890  43 4f 4e 46 55 53 49 4f  4e 0d 0e 92 15 20 e7 20  |CONFUSION.... . |
000018a0  53 48 43 4f 4e 3d 30 20  8c 20 8d 54 7c 4f 0d 0e  |SHCON=0 . .T|O..|
000018b0  a6 34 20 f1 8a 30 2c 31  35 29 22 59 6f 75 20 68  |.4 ..0,15)"You h|
000018c0  61 76 65 20 6e 6f 74 20  73 65 6c 65 63 74 65 64  |ave not selected|
000018d0  20 74 68 65 20 63 6f 72  72 65 63 74 20 63 61 73  | the correct cas|
000018e0  65 22 0d 0e b0 2e 20 f1  22 66 6f 72 20 79 6f 75  |e".... ."for you|
000018f0  72 20 72 65 73 70 6f 6e  73 65 2e 20 54 68 65 20  |r response. The |
00001900  74 6f 70 20 73 79 6d 62  6f 6c 73 20 61 6e 64 22  |top symbols and"|
00001910  0d 0e ba 39 20 f1 22 63  61 70 69 74 61 6c 20 6c  |...9 ."capital l|
00001920  65 74 74 65 72 73 20 61  72 65 20 70 72 6f 64 75  |etters are produ|
00001930  63 65 64 20 77 68 65 6e  20 79 6f 75 22 27 22 75  |ced when you"'"u|
00001940  73 65 22 53 48 24 22 2e  22 0d 0e d8 40 20 e7 20  |se"SH$"."...@ . |
00001950  50 41 52 54 3d 35 20 8c  f1 22 43 68 65 63 6b 20  |PART=5 .."Check |
00001960  74 68 61 74 20 74 68 65  20 72 65 64 20 6c 69 67  |that the red lig|
00001970  68 74 73 20 61 72 65 22  27 22 61 6c 6c 20 6f 66  |hts are"'"all of|
00001980  66 2e 22 3a e5 8d 54 4a  4f 0d 0e e2 2e 20 f1 27  |f.":..TJO.... .'|
00001990  22 4d 61 6b 65 20 73 75  72 65 20 74 68 61 74 20  |"Make sure that |
000019a0  74 68 65 20 72 65 64 20  6c 69 67 68 74 73 22 27  |the red lights"'|
000019b0  22 61 72 65 20 22 3b 0d  0e ec 32 20 e3 20 58 3d  |"are ";...2 . X=|
000019c0  31 20 b8 20 33 3a e7 20  4c 45 44 28 58 2c 50 41  |1 . 3:. LED(X,PA|
000019d0  52 54 29 3d 31 20 8c 20  f1 22 4f 4e 22 20 3b 20  |RT)=1 . ."ON" ; |
000019e0  8b 20 f1 22 4f 46 46 22  3b 0d 0e f6 12 20 e7 20  |. ."OFF";.... . |
000019f0  58 3c 33 20 8c 20 f1 22  2c 22 3b 0d 0f 00 0c 20  |X<3 . .",";.... |
00001a00  ed 58 3a f1 22 2e 22 0d  0f 0a 0d 20 f2 53 50 41  |.X:.".".... .SPA|
00001a10  43 45 3a e1 0d 0f 3c 28  20 f1 8a 36 2c 31 35 29  |CE:...<( ..6,15)|
00001a20  22 54 48 41 54 20 49 53  20 49 4e 43 4f 52 52 45  |"THAT IS INCORRE|
00001a30  43 54 22 3a f2 53 50 41  43 45 3a e1 0d 13 88 0a  |CT":.SPACE:.....|
00001a40  20 dd f2 4b 42 44 0d 13  92 16 20 ea 49 2c 4b 24  | ..KBD.... .I,K$|
00001a50  2c 4c 24 2c 42 24 2c 58  24 2c 59 24 0d 13 9c 3b  |,L$,B$,X$,Y$...;|
00001a60  20 4b 24 3d bd 28 26 46  43 29 3a 4c 24 3d 4b 24  | K$=.(&FC):L$=K$|
00001a70  2b 4b 24 3a 42 24 3d bd  28 26 46 46 29 3a 59 24  |+K$:B$=.(&FF):Y$|
00001a80  3d bd 28 26 39 35 29 2b  4b 24 3a 58 24 3d bd 28  |=.(&95)+K$:X$=.(|
00001a90  26 38 35 29 2b 42 24 0d  13 a6 0e 20 db 3a f1 8a  |&85)+B$.... .:..|
00001aa0  37 2c 32 29 3b 0d 13 b0  18 20 e3 20 49 3d 30 20  |7,2);.... . I=0 |
00001ab0  b8 20 39 3a f1 52 24 3b  42 24 3b 3a ed 0d 13 ba  |. 9:.R$;B$;:....|
00001ac0  18 20 f1 43 24 3b 42 24  3b 8a 32 2c 33 29 3b 43  |. .C$;B$;.2,3);C|
00001ad0  24 3b 42 24 3b 0d 13 c4  18 20 e3 20 49 3d 31 20  |$;B$;.... . I=1 |
00001ae0  b8 20 39 3a f1 53 54 24  3b 49 3b 3a ed 0d 13 ce  |. 9:.ST$;I;:....|
00001af0  1d 20 f1 22 20 30 20 2d  20 22 3b 42 24 3b 22 20  |. ." 0 - ";B$;" |
00001b00  22 3b 42 24 3b 58 24 3b  58 24 0d 13 d8 14 20 f1  |";B$;X$;X$.... .|
00001b10  22 20 20 22 3b 47 24 3b  4c 24 3b 43 24 3b 0d 13  |"  ";G$;L$;C$;..|
00001b20  e2 27 20 f1 22 51 20 57  20 45 20 52 20 54 20 59  |.' ."Q W E R T Y|
00001b30  20 55 20 49 20 4f 20 50  20 40 20 22 3b 42 24 3b  | U I O P @ ";B$;|
00001b40  22 20 5f 22 3b 0d 13 ec  0b 20 f1 58 24 3b 58 24  |" _";.... .X$;X$|
00001b50  0d 13 f6 37 20 f1 47 24  3b 22 20 20 22 3b 4b 24  |...7 .G$;"  ";K$|
00001b60  3b 53 54 24 3b 4b 24 3b  43 24 3b 22 41 20 53 20  |;ST$;K$;C$;"A S |
00001b70  44 20 46 20 47 20 48 20  4a 20 4b 20 4c 20 3b 20  |D F G H J K L ; |
00001b80  3a 20 22 3b 42 24 3b 0d  14 00 0b 20 f1 59 24 3b  |: ";B$;.... .Y$;|
00001b90  4b 24 0d 14 0a 23 20 f1  47 24 3b 22 20 20 22 3b  |K$...# .G$;"  ";|
00001ba0  4b 24 3b 53 54 24 3b 4c  24 3b 53 54 24 3b 22 5a  |K$;ST$;L$;ST$;"Z|
00001bb0  22 3b 43 24 3b 0d 14 14  1a 20 f1 22 58 20 43 20  |";C$;.... ."X C |
00001bc0  56 20 42 20 4e 20 4d 20  2c 20 2e 20 2f 22 3b 0d  |V B N M , . /";.|
00001bd0  14 1e 14 20 f1 47 24 3b  4c 24 3b 47 24 3b 4b 24  |... .G$;L$;G$;K$|
00001be0  3b 59 24 0d 14 28 38 20  f1 22 20 20 20 20 20 20  |;Y$..(8 ."      |
00001bf0  20 22 3b 43 24 3b bd 28  26 39 44 29 3b bd 28 26  | ";C$;.(&9D);.(&|
00001c00  38 33 29 3b 22 20 20 53  70 61 63 65 20 42 61 72  |83);"  Space Bar|
00001c10  20 20 20 22 3b bd 28 26  39 43 29 0d 14 50 14 20  |   ";.(&9C)..P. |
00001c20  e7 20 50 41 52 54 3d 30  20 8c 20 8d 74 73 54 0d  |. PART=0 . .tsT.|
00001c30  14 5a 15 20 f1 22 20 22  3b 3a e3 20 49 3d 31 20  |.Z. ." ";:. I=1 |
00001c40  b8 20 33 20 0d 14 64 22  20 e7 20 4c 45 44 28 49  |. 3 ..d" . LED(I|
00001c50  2c 50 41 52 54 29 3d 31  20 8c 20 f1 52 24 3b 20  |,PART)=1 . .R$; |
00001c60  8b 20 f1 57 24 3b 0d 14  6e 10 20 f1 22 6f 22 3b  |. .W$;..n. ."o";|
00001c70  3a ed 3a f1 57 24 0d 14  78 22 20 f1 27 22 20 20  |:.:.W$..x" .'"  |
00001c80  5e 20 5e 20 5e 20 2d 20  4c 69 67 68 74 73 3a 20  |^ ^ ^ - Lights: |
00001c90  6f 20 3d 20 4f 46 46 22  0d 14 82 1b 20 f1 8a 31  |o = OFF".... ..1|
00001ca0  37 29 3b 52 24 3b 22 6f  22 3b 57 24 3b 22 3d 20  |7);R$;"o";W$;"= |
00001cb0  4f 4e 22 0d 14 8c 1b 20  f1 8a 31 35 2c 31 33 29  |ON".... ..15,13)|
00001cc0  3b 22 50 41 52 54 20 22  3b 50 41 52 54 27 0d 14  |;"PART ";PART'..|
00001cd0  b3 06 20 e1 0d 14 b4 0a  20 dd f2 46 4c 30 0d 14  |.. ..... ..FL0..|
00001ce0  be 19 20 f1 8a 32 32 2c  33 29 3b 46 4c 24 22 30  |.. ..22,3);FL$"0|
00001cf0  22 53 54 24 3b 3a e1 0d  14 c8 0a 20 dd f2 46 4c  |"ST$;:..... ..FL|
00001d00  31 0d 14 d2 18 20 f1 8a  34 2c 33 29 3b 46 4c 24  |1.... ..4,3);FL$|
00001d10  22 31 22 53 54 24 3b 3a  e1 0d 14 dc 0a 20 dd f2  |"1"ST$;:..... ..|
00001d20  46 4c 4f 0d 14 e6 19 20  f1 8a 32 31 2c 34 29 3b  |FLO.... ..21,4);|
00001d30  46 4c 24 22 4f 22 53 54  24 3b 3a e1 0d 14 f0 0a  |FL$"O"ST$;:.....|
00001d40  20 dd f2 46 4c 4c 0d 14  fa 19 20 f1 8a 32 32 2c  | ..FLL.... ..22,|
00001d50  35 29 3b 46 4c 24 22 4c  22 53 54 24 3b 3a e1 0d  |5);FL$"L"ST$;:..|
00001d60  15 04 0a 20 dd f2 46 4c  49 0d 15 0e 19 20 f1 8a  |... ..FLI.... ..|
00001d70  31 39 2c 34 29 3b 46 4c  24 22 49 22 53 54 24 3b  |19,4);FL$"I"ST$;|
00001d80  3a e1 0d 15 7c 15 20 dd  f2 43 4c 3a f4 20 43 41  |:...|. ..CL:. CA|
00001d90  50 53 20 4c 4f 43 4b 0d  15 86 0f 20 f1 8a 31 2c  |PS LOCK.... ..1,|
00001da0  35 29 3b 46 4c 24 0d 15  df 06 20 e1 0d 15 e0 16  |5);FL$.... .....|
00001db0  20 dd f2 53 4c 3a f4 20  53 48 49 46 54 20 4c 4f  | ..SL:. SHIFT LO|
00001dc0  43 4b 0d 15 ea 10 20 f1  8a 31 2c 36 29 3b 46 4c  |CK.... ..1,6);FL|
00001dd0  24 3b 0d 16 43 06 20 e1  0d 16 44 11 20 dd f2 53  |$;..C. ...D. ..S|
00001de0  48 3a f4 20 53 48 49 46  54 0d 16 4e 10 20 f1 8a  |H:. SHIFT..N. ..|
00001df0  34 2c 36 29 3b 46 4c 24  3b 0d 16 a7 06 20 e1 0d  |4,6);FL$;.... ..|
00001e00  16 a8 14 20 dd f2 45 53  43 3a f4 20 45 53 43 41  |... ..ESC:. ESCA|
00001e10  50 45 20 0d 16 b2 10 20  f1 8a 31 2c 33 29 3b 46  |PE .... ..1,3);F|
00001e20  4c 24 20 0d 17 0b 06 20  e1 0d 1b 58 0c 20 dd f2  |L$ .... ...X. ..|
00001e30  43 4c 45 41 52 0d 1b 62  07 20 ea 4b 0d 1b 6c 1f  |CLEAR..b. .K..l.|
00001e40  20 e3 20 4b 3d 31 33 20  b8 20 32 32 3a f1 8a 30  | . K=13 . 22:..0|
00001e50  2c 4b 29 3b 89 28 34 30  29 3a ed 0d 1b 76 0d 20  |,K);.(40):...v. |
00001e60  f1 8a 30 2c 31 33 29 3b  0d 1b bb 06 20 e1 0d 1b  |..0,13);.... ...|
00001e70  bc 0f 20 dd f2 50 55 54  53 43 4f 52 45 0d 1b c6  |.. ..PUTSCORE...|
00001e80  32 20 f1 8a 35 2c 31 29  22 53 63 6f 72 65 20 73  |2 ..5,1)"Score s|
00001e90  6f 20 66 61 72 3a 20 22  3b 52 49 47 48 54 3b 22  |o far: ";RIGHT;"|
00001ea0  20 6f 75 74 20 6f 66 20  22 3b 54 45 53 54 53 0d  | out of ";TESTS.|
00001eb0  1b d0 22 20 f1 8a 33 2c  33 29 22 41 76 65 72 61  |.." ..3,3)"Avera|
00001ec0  67 65 20 74 69 6d 65 20  74 61 6b 65 6e 3a 20 22  |ge time taken: "|
00001ed0  3b 0d 1b da 2c 20 e7 20  54 45 53 54 53 3d 30 20  |;..., . TESTS=0 |
00001ee0  8c 20 f1 3b 30 3b 20 8b  20 f1 3b a8 28 54 54 49  |. .;0; . .;.(TTI|
00001ef0  4d 2f 54 45 53 54 53 29  2f 31 30 30 3b 0d 1b e4  |M/TESTS)/100;...|
00001f00  13 20 f1 22 20 73 65 63  6f 6e 64 73 20 20 20 22  |. ." seconds   "|
00001f10  0d 1c 1f 06 20 e1 0d 1c  20 21 20 dd a4 47 45 4e  |.... ... ! ..GEN|
00001f20  45 3a f4 20 43 48 41 52  41 43 54 45 52 20 47 45  |E:. CHARACTER GE|
00001f30  4e 45 52 41 54 4f 52 0d  1c 2a 27 20 ee 20 50 41  |NERATOR..*' . PA|
00001f40  52 54 20 e5 20 8d 54 7e  5c 2c 8d 44 5c 5c 2c 8d  |RT . .T~\,.D\\,.|
00001f50  74 4e 5c 2c 8d 64 40 5c  2c 8d 64 5e 5c 20 0d 1c  |tN\,.d@\,.d^\ ..|
00001f60  34 1d 20 f4 2a 2a 20 50  41 52 54 20 31 20 2d 20  |4. .** PART 1 - |
00001f70  55 2f 43 20 4c 45 54 54  45 52 53 0d 1c 3e 0e 20  |U/C LETTERS..>. |
00001f80  3d b3 28 32 36 29 2b 36  34 0d 1c 48 2b 20 f4 2a  |=.(26)+64..H+ .*|
00001f90  2a 20 50 41 52 54 20 32  20 2d 20 55 2f 43 20 4c  |* PART 2 - U/C L|
00001fa0  45 54 54 45 52 53 20 2b  20 55 2f 43 20 53 59 4d  |ETTERS + U/C SYM|
00001fb0  42 4f 4c 53 0d 1c 5c 19  20 52 3d b3 28 31 36 29  |BOLS..\. R=.(16)|
00001fc0  3a e7 20 52 3d 31 36 20  8c 20 3d 39 36 0d 1c 66  |:. R=16 . =96..f|
00001fd0  13 20 e7 20 52 3c 31 32  20 8c 20 3d 52 2b 33 32  |. . R<12 . =R+32|
00001fe0  0d 1c 70 0d 20 3d b3 28  34 29 2b 35 39 0d 1c 84  |..p. =.(4)+59...|
00001ff0  29 20 f4 2a 2a 20 50 41  52 54 20 33 20 2d 20 55  |) .** PART 3 - U|
00002000  2f 43 20 4c 45 54 54 45  52 53 2c 4c 2f 43 20 53  |/C LETTERS,L/C S|
00002010  59 4d 42 4f 4c 53 0d 1c  8e 18 20 e7 20 43 48 41  |YMBOLS.... . CHA|
00002020  52 3d 32 20 8c 3d 34 35  3a e3 43 45 20 2d 0d 1c  |R=2 .=45:.CE -..|
00002030  93 14 20 e7 20 b3 28 33  29 3d 31 20 8c 20 8d 54  |.. . .(3)=1 . .T|
00002040  7e 5c 0d 1c 98 19 20 52  3d b3 28 31 38 29 3a e7  |~\.... R=.(18):.|
00002050  20 52 3d 31 38 20 8c 20  3d 36 34 0d 1c a2 11 20  | R=18 . =64.... |
00002060  e7 20 52 3d 31 37 20 8c  20 3d 39 35 0d 1c ac 0a  |. R=17 . =95....|
00002070  20 3d 52 2b 34 33 0d 1c  b6 2b 20 f4 2a 2a 20 50  | =R+43...+ .** P|
00002080  41 52 54 20 34 20 2d 20  55 2f 43 20 4c 45 54 54  |ART 4 - U/C LETT|
00002090  45 52 53 20 2b 20 41 4e  59 20 53 59 4d 42 4f 4c  |ERS + ANY SYMBOL|
000020a0  53 0d 1c c0 1d 20 e7 20  43 48 41 52 3d 34 20 8c  |S.... . CHAR=4 .|
000020b0  20 3d 37 39 3a f4 20 46  4f 52 43 45 20 4f 0d 1c  | =79:. FORCE O..|
000020c0  ca 1c 20 ee 20 b3 28 33  29 20 e5 20 8d 54 7e 5c  |.. . .(3) . .T~\|
000020d0  2c 8d 44 5c 5c 2c 8d 74  58 5c 0d 1c d4 1c 20 f4  |,.D\\,.tX\.... .|
000020e0  54 2a 2a 20 50 41 52 54  20 35 20 2d 20 46 55 4c  |T** PART 5 - FUL|
000020f0  4c 20 4b 42 44 20 0d 1c  de 1d 20 e7 20 43 48 41  |L KBD .... . CHA|
00002100  52 3d 37 20 8c 20 3d 31  30 38 3a f4 46 4f 52 43  |R=7 . =108:.FORC|
00002110  45 20 6c 0d 1c e8 14 20  e7 20 b3 28 33 29 3e 31  |E l.... . .(3)>1|
00002120  20 8c 20 8d 64 4a 5c 0d  1c f2 0e 20 3d 39 36 2b  | . .dJ\.... =96+|
00002130  b3 28 32 36 29 0d 1d 4b  14 20 f4 20 45 4e 44 20  |.(26)..K. . END |
00002140  4f 46 20 46 4e 47 45 4e  45 0d 1f 40 12 20 dd f2  |OF FNGENE..@. ..|
00002150  44 42 4c 28 58 24 2c 58  2c 59 29 0d 1f 4a 17 20  |DBL(X$,X,Y)..J. |
00002160  f1 8a 58 2d 31 2c 59 29  3b bd 28 31 34 31 29 3b  |..X-1,Y);.(141);|
00002170  58 24 0d 1f 54 19 20 f1  8a 58 2d 31 2c 59 2b 31  |X$..T. ..X-1,Y+1|
00002180  29 3b bd 28 31 34 31 29  3b 58 24 0d 1f a3 06 20  |);.(141);X$.... |
00002190  e1 0d 1f a4 0e 20 dd f2  57 41 49 54 28 58 29 0d  |..... ..WAIT(X).|
000021a0  1f ae 08 20 ea 20 5a 0d  1f b8 08 20 5a 3d 91 0d  |... . Z.... Z=..|
000021b0  1f c2 12 20 f5 20 fd 20  91 2d 5a 3e 58 2a 31 30  |... . . .-Z>X*10|
000021c0  30 0d 20 07 06 20 e1 0d  20 08 0c 20 dd f2 53 50  |0. .. .. .. ..SP|
000021d0  41 43 45 0d 20 1c 34 20  f1 8a 33 2c 32 32 29 3b  |ACE. .4 ..3,22);|
000021e0  22 50 72 65 73 73 20 74  68 65 20 53 50 41 43 45  |"Press the SPACE|
000021f0  20 42 41 52 20 74 6f 20  63 6f 6e 74 69 6e 75 65  | BAR to continue|
00002200  22 3b 3a f2 4b 43 4c 0d  20 30 0e 20 f5 20 fd 20  |";:.KCL. 0. . . |
00002210  be 3d 22 20 22 0d 20 6b  06 20 e1 0d 20 6c 10 20  |.=" ". k. .. l. |
00002220  dd f2 54 49 54 4c 45 50  41 47 45 0d 20 76 36 20  |..TITLEPAGE. v6 |
00002230  db 3a f2 44 42 4c 28 22  4b 45 59 42 4f 41 52 44  |.:.DBL("KEYBOARD|
00002240  22 2c 31 34 2c 38 29 3a  f2 44 42 4c 28 22 46 41  |",14,8):.DBL("FA|
00002250  4d 49 4c 49 41 52 49 54  59 22 2c 31 33 2c 31 31  |MILIARITY",13,11|
00002260  29 0d 20 80 13 20 f2 4f  46 46 3a 4e 25 3d a6 28  |). .. .OFF:N%=.(|
00002270  35 30 30 29 0d 20 cf 06  20 e1 0d 22 60 0a 20 dd  |500). .. .."`. .|
00002280  f2 4b 43 4c 0d 22 6a 10  20 f5 20 fd 20 a6 28 30  |.KCL."j. . . .(0|
00002290  29 3d 2d 31 0d 22 c3 06  20 e1 0d 22 c4 0a 20 dd  |)=-1.".. ..".. .|
000022a0  f2 4f 46 46 0d 22 ce 16  20 ef 32 33 3b 38 32 30  |.OFF.".. .23;820|
000022b0  32 3b 30 3b 30 3b 30 3b  3a e1 0d 22 f6 09 20 dd  |2;0;0;0;:..".. .|
000022c0  f2 4f 4e 0d 23 00 17 20  ef 32 33 3b 32 39 31 39  |.ON.#.. .23;2919|
000022d0  34 3b 30 3b 30 3b 30 3b  3a e1 0d 23 28 31 20 dd  |4;0;0;0;:..#(1 .|
000022e0  f2 47 50 49 28 46 32 2c  4d 4c 29 3a f4 20 47 65  |.GPI(F2,ML):. Ge|
000022f0  6e 65 72 61 6c 20 50 75  72 70 6f 73 65 20 49 6e  |neral Purpose In|
00002300  70 75 74 20 52 6f 75 74  69 6e 65 0d 23 32 0a 20  |put Routine.#2. |
00002310  ea 42 2c 42 24 0d 23 3c  0a 20 41 24 3d 22 22 0d  |.B,B$.#<. A$="".|
00002320  23 46 2b 20 f1 c4 4d 4c  2c 22 20 22 29 3b c4 4d  |#F+ ..ML," ");.M|
00002330  4c 2b 31 2c bd 28 38 29  29 3b bd 28 26 38 37 29  |L+1,.(8));.(&87)|
00002340  3b 3a f2 4f 4e 3a f2 4b  43 4c 0d 23 50 1f 20 42  |;:.ON:.KCL.#P. B|
00002350  24 3d be 3a 42 3d 97 28  42 24 29 3a e7 20 42 3d  |$=.:B=.(B$):. B=|
00002360  31 33 20 8c 20 8d 64 66  63 0d 23 5a 1c 20 e7 20  |13 . .dfc.#Z. . |
00002370  42 3d 31 32 37 20 80 20  41 24 3d 22 22 20 8c 20  |B=127 . A$="" . |
00002380  8d 44 50 63 20 0d 23 64  2a 20 e7 20 42 3d 31 32  |.DPc .#d* . B=12|
00002390  37 20 8c 20 41 24 3d c0  41 24 2c a9 28 41 24 29  |7 . A$=.A$,.(A$)|
000023a0  2d 31 29 3a f1 42 24 3b  3a e5 8d 44 50 63 20 0d  |-1):.B$;:..DPc .|
000023b0  23 6e 25 20 e7 20 a9 28  41 24 29 3d 4d 4c 20 84  |#n% . .(A$)=ML .|
000023c0  20 42 3c 33 32 20 84 20  42 3e 31 32 36 20 8c 20  | B<32 . B>126 . |
000023d0  8d 64 52 63 0d 23 78 2b  20 e7 20 46 32 3d 30 20  |.dRc.#x+ . F2=0 |
000023e0  84 20 42 3d 33 32 20 84  20 28 42 3e 3d 34 38 20  |. B=32 . (B>=48 |
000023f0  80 20 42 3c 3d 35 37 29  20 8c 20 8d 64 5c 63 0d  |. B<=57) . .d\c.|
00002400  23 d2 0d 20 ef 37 3a e5  8d 44 50 63 0d 23 dc 18  |#.. .7:..DPc.#..|
00002410  20 f1 42 24 3b 3a 41 24  3d 41 24 2b 42 24 3a e5  | .B$;:A$=A$+B$:.|
00002420  8d 44 50 63 0d 23 e6 09  20 f2 4f 46 46 0d 23 ef  |.DPc.#.. .OFF.#.|
00002430  06 20 e1 0d 23 f0 0e 20  dd f2 59 45 53 4f 52 4e  |. ..#.. ..YESORN|
00002440  4f 0d 23 fa 08 20 ea 42  24 0d 24 04 0e 20 f2 47  |O.#.. .B$.$.. .G|
00002450  50 49 28 30 2c 33 29 0d  24 0e 0e 20 42 24 3d c0  |PI(0,3).$.. B$=.|
00002460  41 24 2c 31 29 0d 24 18  0a 20 59 25 3d 2d 31 0d  |A$,1).$.. Y%=-1.|
00002470  24 22 1d 20 e7 20 42 24  3d 22 59 22 20 84 20 42  |$". . B$="Y" . B|
00002480  24 3d 22 79 22 20 8c 20  59 25 3d 31 0d 24 2c 1d  |$="y" . Y%=1.$,.|
00002490  20 e7 20 42 24 3d 22 4e  22 20 84 20 42 24 3d 22  | . B$="N" . B$="|
000024a0  6e 22 20 8c 20 59 25 3d  30 0d 24 53 06 20 e1 0d  |n" . Y%=0.$S. ..|
000024b0  ff                                                |.|
000024b1
W.KEYBD.m0
W.KEYBD.m1
W.KEYBD.m2
W.KEYBD.m4
W.KEYBD.m5