Home » Personal collection » Acorn tapes » Commercial_Releases » boxed_acornsoft_tape13a_acorn_bbc_welcome_cassette.wav » KEYBOARD

KEYBOARD

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 tapes » Commercial_Releases » boxed_acornsoft_tape13a_acorn_bbc_welcome_cassette.wav
Filename: KEYBOARD
Read OK:
File size: 2545 bytes
Load address: FFFF0E00
Exec address: FFFF8000
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:IF M%=0 THEN PRINTTAB(5,16);"Press the STOP button"'"     on your tape recorder":PROCSPACE
   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 (Yes/No)? ";
  940 PROCYESORNO:IF Y%<0 THEN 910
  950 IF Y%=0 THEN CLEAR:GOTO100
  970 CLS:IF M%=0 THEN PRINTTAB(5,5);"Press the PLAY button"'"     on your tape recorder"
  990 CHAIN""
 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@
2T �7:� M%=0 � �5,16);"Press the STOP button"'"     on your tape recorder":�SPACE
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 (Yes/No)? ";
� �YESORNO:� Y%<0 � �tNC
� � Y%=0 � �:�Dd@
�K �:� M%=0 � �5,5);"Press the PLAY button"'"     on your tape recorder"
� �""
�  �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 54  20 eb 37 3a e7 20 4d 25  |.Tr@..2T .7:. M%|
000000e0  3d 30 20 8c 20 f1 8a 35  2c 31 36 29 3b 22 50 72  |=0 . ..5,16);"Pr|
000000f0  65 73 73 20 74 68 65 20  53 54 4f 50 20 62 75 74  |ess the STOP but|
00000100  74 6f 6e 22 27 22 20 20  20 20 20 6f 6e 20 79 6f  |ton"'"     on yo|
00000110  75 72 20 74 61 70 65 20  72 65 63 6f 72 64 65 72  |ur tape recorder|
00000120  22 3a f2 53 50 41 43 45  0d 00 50 18 20 db 3a 50  |":.SPACE..P. .:P|
00000130  41 52 54 3d 30 3a ee 20  85 20 e5 20 8d 54 60 43  |ART=0:. . . .T`C|
00000140  0d 00 64 0f 20 f2 54 49  54 4c 45 50 41 47 45 0d  |..d. .TITLEPAGE.|
00000150  00 69 31 20 de 20 4c 45  44 28 33 2c 35 29 3a f4  |.i1 . LED(3,5):.|
00000160  53 54 41 54 55 53 20 4f  46 20 4c 45 44 53 20 49  |STATUS OF LEDS I|
00000170  4e 20 45 41 43 48 20 50  52 4f 47 20 50 41 52 54  |N EACH PROG PART|
00000180  0d 00 6e 2d 20 e3 20 58  3d 31 20 b8 20 35 3a f3  |..n- . X=1 . 5:.|
00000190  20 4c 45 44 28 31 2c 58  29 2c 4c 45 44 28 32 2c  | LED(1,X),LED(2,|
000001a0  58 29 2c 4c 45 44 28 33  2c 58 29 3a ed 0d 00 78  |X),LED(3,X):...x|
000001b0  24 20 dc 20 30 2c 30 2c  31 2c 30 2c 30 2c 31 2c  |$ . 0,0,1,0,0,1,|
000001c0  30 2c 31 2c 30 2c 30 2c  31 2c 30 2c 30 2c 30 2c  |0,1,0,0,1,0,0,0,|
000001d0  30 0d 00 8c 2e 20 46 4c  24 3d bd 28 26 38 38 29  |0.... FL$=.(&88)|
000001e0  3a 53 54 24 3d bd 28 26  38 39 29 3a 52 24 3d bd  |:ST$=.(&89):R$=.|
000001f0  28 26 38 31 29 3a 57 24  3d bd 28 26 38 37 29 0d  |(&81):W$=.(&87).|
00000200  00 96 18 20 43 24 3d bd  28 26 38 33 29 3a 47 24  |... C$=.(&83):G$|
00000210  3d bd 28 26 39 33 29 0d  00 a0 1a 20 43 4c 24 3d  |=.(&93).... CL$=|
00000220  43 24 2b 22 43 41 50 53  20 4c 4f 43 4b 22 2b 57  |C$+"CAPS LOCK"+W|
00000230  24 0d 00 aa 1b 20 53 4c  24 3d 43 24 2b 22 53 48  |$.... SL$=C$+"SH|
00000240  49 46 54 20 4c 4f 43 4b  22 2b 57 24 0d 00 b4 16  |IFT LOCK"+W$....|
00000250  20 53 48 24 3d 43 24 2b  22 53 48 49 46 54 22 2b  | SH$=C$+"SHIFT"+|
00000260  57 24 0d 00 bd 0b 20 50  41 52 54 3d 31 0d 00 c8  |W$.... PART=1...|
00000270  14 20 de 4b 28 39 29 2c  54 28 39 29 2c 44 28 39  |. .K(9),T(9),D(9|
00000280  29 0d 00 d2 21 20 e3 20  58 3d 31 20 b8 20 39 3a  |)...! . X=1 . 9:|
00000290  f3 20 4b 28 58 29 2c 54  28 58 29 2c 44 28 58 29  |. K(X),T(X),D(X)|
000002a0  3a ed 0d 00 d3 38 20 f4  20 54 48 45 53 45 20 41  |:....8 . THESE A|
000002b0  52 52 41 59 53 20 41 52  45 20 55 53 45 44 20 54  |RRAYS ARE USED T|
000002c0  4f 20 44 45 43 49 44 45  20 4b 45 59 20 54 59 50  |O DECIDE KEY TYP|
000002d0  45 53 20 28 4b 20 26 20  54 29 0d 00 d4 3a 20 f4  |ES (K & T)...: .|
000002e0  20 26 20 57 48 45 54 48  45 52 20 45 52 52 4f 52  | & WHETHER ERROR|
000002f0  53 20 43 4f 55 4c 44 20  42 45 20 43 41 55 53 45  |S COULD BE CAUSE|
00000300  44 20 42 59 20 53 48 49  46 54 20 43 4f 4e 46 55  |D BY SHIFT CONFU|
00000310  53 49 4f 4e 0d 00 dc 0e  20 dc 20 34 34 2c 34 2c  |SION.... . 44,4,|
00000320  31 36 0d 00 e6 0e 20 dc  20 34 38 2c 33 2c 31 36  |16.... . 48,3,16|
00000330  0d 00 f0 0f 20 dc 20 36  30 2c 33 2c 2d 31 36 0d  |.... . 60,3,-16.|
00000340  00 fa 0f 20 dc 20 36 34  2c 34 2c 2d 31 36 0d 01  |... . 64,4,-16..|
00000350  04 0d 20 dc 20 36 35 2c  33 2c 30 0d 01 0e 0e 20  |.. . 65,3,0.... |
00000360  dc 20 39 31 2c 32 2c 33  32 0d 01 18 0d 20 dc 20  |. 91,2,32.... . |
00000370  39 35 2c 33 2c 31 0d 01  22 0d 20 dc 20 39 36 2c  |95,3,1..". . 96,|
00000380  34 2c 31 0d 01 27 10 20  dc 20 31 32 33 2c 31 2c  |4,1..'. . 123,1,|
00000390  2d 33 32 0d 01 2c 0b 20  db 3a f1 27 27 27 0d 01  |-32..,. .:.'''..|
000003a0  36 2b 20 f1 22 54 68 69  73 20 70 72 6f 67 72 61  |6+ ."This progra|
000003b0  6d 20 68 65 6c 70 73 20  79 6f 75 20 74 6f 20 66  |m helps you to f|
000003c0  69 6e 64 20 79 6f 75 72  22 0d 01 40 2a 20 f1 22  |ind your"..@* ."|
000003d0  77 61 79 20 61 72 6f 75  6e 64 20 74 68 65 20 6b  |way around the k|
000003e0  65 79 62 6f 61 72 64 20  61 6e 64 20 74 6f 20 75  |eyboard and to u|
000003f0  73 65 22 0d 01 4a 25 20  f1 22 74 68 65 22 43 4c  |se"..J% ."the"CL|
00000400  24 22 2c 22 53 4c 24 22  61 6e 64 22 53 48 24 27  |$","SL$"and"SH$'|
00000410  22 6b 65 79 73 2e 22 27  0d 01 54 2b 20 f1 22 59  |"keys."'..T+ ."Y|
00000420  6f 75 20 77 69 6c 6c 20  62 65 20 73 68 6f 77 6e  |ou will be shown|
00000430  20 61 20 63 68 61 72 61  63 74 65 72 20 77 68 69  | a character whi|
00000440  63 68 22 0d 01 5e 3b 20  f1 22 79 6f 75 20 77 69  |ch"..^; ."you wi|
00000450  6c 6c 20 68 61 76 65 20  74 6f 20 66 69 6e 64 20  |ll have to find |
00000460  61 6e 64 20 70 72 65 73  73 20 6f 6e 22 27 22 74  |and press on"'"t|
00000470  68 65 20 6b 65 79 62 6f  61 72 64 2e 22 27 0d 01  |he keyboard."'..|
00000480  68 2e 20 f1 22 54 68 65  20 63 6f 6d 70 75 74 65  |h. ."The compute|
00000490  72 20 77 69 6c 6c 20 74  69 6d 65 20 79 6f 75 20  |r will time you |
000004a0  61 6e 64 20 64 69 73 70  6c 61 79 22 0d 01 72 2e  |and display"..r.|
000004b0  20 f1 22 79 6f 75 72 20  73 63 6f 72 65 20 61 6c  | ."your score al|
000004c0  6f 6e 67 20 77 69 74 68  20 74 68 65 20 61 76 65  |ong with the ave|
000004d0  72 61 67 65 20 74 69 6d  65 22 0d 01 7c 2e 20 f1  |rage time"..|. .|
000004e0  22 74 68 61 74 20 79 6f  75 20 74 61 6b 65 20 74  |"that you take t|
000004f0  6f 20 66 69 6e 64 20 65  61 63 68 20 6b 65 79 2e  |o find each key.|
00000500  22 3a f2 53 50 41 43 45  0d 01 90 15 20 50 41 52  |":.SPACE.... PAR|
00000510  54 3d 30 3a f2 4b 42 44  3a f2 45 53 43 0d 01 9a  |T=0:.KBD:.ESC...|
00000520  2c 20 f1 8a 30 2c 31 34  29 22 54 68 69 73 20 72  |, ..0,14)"This r|
00000530  65 70 72 65 73 65 6e 74  73 20 74 68 65 20 6b 65  |epresents the ke|
00000540  79 62 6f 61 72 64 2e 22  27 0d 01 a4 35 20 f1 22  |yboard."'...5 ."|
00000550  50 72 65 73 73 69 6e 67  20 74 68 65 22 3b 46 4c  |Pressing the";FL|
00000560  24 3b 22 45 53 43 41 50  45 22 3b 53 54 24 3b 22  |$;"ESCAPE";ST$;"|
00000570  6b 65 79 20 77 69 6c 6c  20 74 61 6b 65 22 0d 01  |key will take"..|
00000580  ae 26 20 f1 22 79 6f 75  20 74 6f 20 74 68 65 20  |.& ."you to the |
00000590  65 6e 64 20 6f 66 20 74  68 65 20 70 72 6f 67 72  |end of the progr|
000005a0  61 6d 2e 22 0d 01 b8 18  20 f2 53 50 41 43 45 3a  |am.".... .SPACE:|
000005b0  50 41 52 54 3d 31 3a e5  8d 64 68 43 0d 01 f4 27  |PART=1:..dhC...'|
000005c0  20 db 3a f1 27 27 27 22  59 6f 75 20 6e 6f 77 20  | .:.'''"You now |
000005d0  68 61 76 65 20 61 20 63  68 6f 69 63 65 20 6f 66  |have a choice of|
000005e0  20 3a 22 0d 01 fe 0e 20  e3 20 49 3d 31 20 b8 20  | :".... . I=1 . |
000005f0  35 0d 02 08 25 20 f1 8a  33 2c 32 2a 49 2b 33 29  |5...% ..3,2*I+3)|
00000600  3b 49 3b 22 20 2d 20 52  65 70 65 61 74 20 70 61  |;I;" - Repeat pa|
00000610  72 74 20 22 3b 49 0d 02  12 06 20 ed 0d 02 1c 11  |rt ";I.... .....|
00000620  20 f1 8a 31 31 2c 31 35  29 22 6f 72 22 0d 02 26  | ..11,15)"or"..&|
00000630  29 20 f1 27 22 70 72 65  73 73 20 74 68 65 20 45  |) .'"press the E|
00000640  53 43 41 50 45 20 6b 65  79 20 69 66 20 79 6f 75  |SCAPE key if you|
00000650  20 77 61 6e 74 22 0d 02  30 27 20 f1 22 74 6f 20  | want"..0' ."to |
00000660  6d 6f 76 65 20 6f 6e 20  74 6f 20 74 68 65 20 6e  |move on to the n|
00000670  65 78 74 20 70 72 6f 67  72 61 6d 2e 22 0d 02 3a  |ext program."..:|
00000680  15 20 50 41 52 54 3d 30  3a 53 45 4c 3d 30 3a f2  |. PART=0:SEL=0:.|
00000690  4f 4e 0d 02 58 22 20 f1  8a 30 2c 32 30 29 22 59  |ON..X" ..0,20)"Y|
000006a0  6f 75 72 20 63 68 6f 69  63 65 20 28 31 2d 35 29  |our choice (1-5)|
000006b0  3f 20 22 3b 0d 02 62 1b  20 41 24 3d be 3a e7 20  |? ";..b. A$=.:. |
000006c0  97 28 41 24 29 3d 31 33  20 8c 20 8d 74 68 42 0d  |.(A$)=13 . .thB.|
000006d0  02 6c 1e 20 41 3d 97 28  41 24 29 2d 34 38 3a e7  |.l. A=.(A$)-48:.|
000006e0  20 41 3c 30 20 8c 20 41  3d 41 2b 31 36 0d 02 76  | A<0 . A=A+16..v|
000006f0  17 20 e7 20 41 3c 31 20  84 20 41 3e 35 20 8c 20  |. . A<1 . A>5 . |
00000700  8d 44 58 42 0d 02 80 0d  20 f1 bd 28 41 2b 34 38  |.DXB.... ..(A+48|
00000710  29 0d 02 8a 1e 20 e7 20  53 45 4c 3e 30 20 8c f1  |).... . SEL>0 ..|
00000720  8a 32 2c 32 2a 53 45 4c  2b 33 29 3b 53 54 24 0d  |.2,2*SEL+3);ST$.|
00000730  02 94 19 20 f1 8a 32 2c  32 2a 41 2b 33 29 3b 46  |... ..2,2*A+3);F|
00000740  4c 24 3b 41 3b 53 54 24  0d 02 9e 10 20 53 45 4c  |L$;A;ST$.... SEL|
00000750  3d 41 3a e5 8d 44 58 42  0d 02 a8 13 20 e7 20 53  |=A:..DXB.... . S|
00000760  45 4c 3d 30 20 8c 20 8d  44 58 42 0d 02 b2 18 20  |EL=0 . .DXB.... |
00000770  50 41 52 54 3d 53 45 4c  3a f2 4f 46 46 3a e5 8d  |PART=SEL:.OFF:..|
00000780  64 68 43 0d 03 20 23 20  db 3a e7 20 9f 3c 3e 31  |dhC.. # .:. .<>1|
00000790  37 20 8c 20 f6 3a f1 22  20 69 6e 20 6c 69 6e 65  |7 . .:." in line|
000007a0  20 22 3b 9e 3a e0 0d 03  2a 14 20 e7 20 50 41 52  | ";.:...*. . PAR|
000007b0  54 3e 30 20 8c 20 8d 64  74 41 0d 03 84 06 20 db  |T>0 . .dtA.... .|
000007c0  0d 03 8e 0c 20 f1 8a 35  2c 39 29 3b 0d 03 98 1f  |.... ..5,9);....|
000007d0  20 f1 22 44 6f 20 79 6f  75 20 77 61 6e 74 20 74  | ."Do you want t|
000007e0  6f 20 67 6f 20 6f 6e 20  74 6f 22 0d 03 a2 29 20  |o go on to"...) |
000007f0  f1 22 20 20 20 20 20 74  68 65 20 6e 65 78 74 20  |."     the next |
00000800  70 72 6f 67 72 61 6d 20  28 59 65 73 2f 4e 6f 29  |program (Yes/No)|
00000810  3f 20 22 3b 0d 03 ac 1b  20 f2 59 45 53 4f 52 4e  |? ";.... .YESORN|
00000820  4f 3a e7 20 59 25 3c 30  20 8c 20 8d 74 4e 43 0d  |O:. Y%<0 . .tNC.|
00000830  03 b6 15 20 e7 20 59 25  3d 30 20 8c 20 d8 3a e5  |... . Y%=0 . .:.|
00000840  8d 44 64 40 0d 03 ca 4b  20 db 3a e7 20 4d 25 3d  |.Dd@...K .:. M%=|
00000850  30 20 8c 20 f1 8a 35 2c  35 29 3b 22 50 72 65 73  |0 . ..5,5);"Pres|
00000860  73 20 74 68 65 20 50 4c  41 59 20 62 75 74 74 6f  |s the PLAY butto|
00000870  6e 22 27 22 20 20 20 20  20 6f 6e 20 79 6f 75 72  |n"'"     on your|
00000880  20 74 61 70 65 20 72 65  63 6f 72 64 65 72 22 0d  | tape recorder".|
00000890  03 de 08 20 d7 22 22 0d  03 e8 20 20 f2 4b 42 44  |... .""...  .KBD|
000008a0  3a 54 45 53 54 53 3d 30  3a 54 54 49 4d 3d 30 3a  |:TESTS=0:TTIM=0:|
000008b0  52 49 47 48 54 3d 30 0d  03 f2 26 20 ee 20 50 41  |RIGHT=0...& . PA|
000008c0  52 54 20 e5 20 8d 44 4c  44 2c 8d 74 70 44 2c 8d  |RT . .DLD,.tpD,.|
000008d0  54 54 45 2c 8d 44 78 45  2c 8d 64 5c 45 0d 04 4c  |TTE,.DxE,.d\E..L|
000008e0  0d 20 f4 20 50 41 52 54  20 31 0d 04 60 26 20 f1  |. . PART 1..`& .|
000008f0  22 43 68 65 63 6b 20 74  68 65 20 72 65 64 20 69  |"Check the red i|
00000900  6e 64 69 63 61 74 6f 72  20 6c 69 67 68 74 73 22  |ndicator lights"|
00000910  0d 04 6a 26 20 f1 22 61  72 65 20 6c 69 74 20 63  |..j& ."are lit c|
00000920  6f 72 72 65 63 74 6c 79  2e 20 54 68 65 79 20 73  |orrectly. They s|
00000930  68 6f 75 6c 64 22 0d 04  74 1a 20 f1 22 62 65 20  |hould"..t. ."be |
00000940  61 73 20 73 68 6f 77 6e  20 61 62 6f 76 65 2e 22  |as shown above."|
00000950  0d 04 7e 2a 20 f1 27 22  49 66 20 74 68 65 79 20  |..~* .'"If they |
00000960  61 72 65 20 6e 6f 74 2c  20 70 72 65 73 73 20 74  |are not, press t|
00000970  68 65 22 46 4c 24 3b 53  4c 24 0d 04 88 28 20 f1  |he"FL$;SL$...( .|
00000980  22 6b 65 79 20 61 6e 64  20 63 68 65 63 6b 20 74  |"key and check t|
00000990  68 65 20 64 69 73 70 6c  61 79 20 61 67 61 69 6e  |he display again|
000009a0  2e 22 0d 04 92 0e 20 f2  53 4c 3a e5 8d 44 6c 47  |.".... .SL:..DlG|
000009b0  0d 04 b0 0d 20 f4 20 50  41 52 54 20 32 0d 04 ba  |.... . PART 2...|
000009c0  27 20 f1 22 54 68 65 20  72 65 64 20 69 6e 64 69  |' ."The red indi|
000009d0  63 61 74 6f 72 20 6c 69  67 68 74 73 20 73 68 6f  |cator lights sho|
000009e0  75 6c 64 22 0d 04 c4 26  20 f1 22 62 65 20 61 73  |uld"...& ."be as|
000009f0  20 73 68 6f 77 6e 20 61  62 6f 76 65 2e 20 54 68  | shown above. Th|
00000a00  69 73 20 69 73 20 74 68  65 22 0d 04 ce 3a 20 f1  |is is the"...: .|
00000a10  22 73 61 6d 65 20 61 73  20 70 61 72 74 20 31 2e  |"same as part 1.|
00000a20  20 49 66 20 6e 6f 74 20  70 72 65 73 73 20 74 68  | If not press th|
00000a30  65 22 27 46 4c 24 3b 53  4c 24 3b 53 54 24 22 6b  |e"'FL$;SL$;ST$"k|
00000a40  65 79 2e 22 0d 04 d8 16  20 f2 53 4c 3a f2 53 50  |ey.".... .SL:.SP|
00000a50  41 43 45 3a f2 43 4c 45  41 52 0d 04 e2 2a 20 f1  |ACE:.CLEAR...* .|
00000a60  27 22 57 68 65 6e 20 79  6f 75 20 70 6c 61 79 20  |'"When you play |
00000a70  74 68 65 20 67 61 6d 65  20 74 68 69 73 20 74 69  |the game this ti|
00000a80  6d 65 2c 22 0d 04 ec 2b  20 f1 22 74 68 65 20 73  |me,"...+ ."the s|
00000a90  79 6d 62 6f 6c 73 20 6f  6e 20 74 6f 70 20 6f 66  |ymbols on top of|
00000aa0  20 74 68 65 20 6b 65 79  73 20 77 69 6c 6c 22 0d  | the keys will".|
00000ab0  04 f6 1d 20 f1 22 61 6c  73 6f 20 62 65 20 74 65  |... ."also be te|
00000ac0  73 74 65 64 2e 22 3a e5  8d 44 6c 47 0d 05 14 0c  |sted.":..DlG....|
00000ad0  20 f4 20 50 41 52 54 33  0d 05 1e 2a 20 f1 22 54  | . PART3...* ."T|
00000ae0  68 69 73 20 70 61 72 74  20 77 69 6c 6c 20 65 78  |his part will ex|
00000af0  61 6d 69 6e 65 20 74 68  65 20 73 79 6d 62 6f 6c  |amine the symbol|
00000b00  73 22 0d 05 28 28 20 f1  22 6f 6e 20 74 68 65 20  |s"..(( ."on the |
00000b10  62 6f 74 74 6f 6d 20 6f  66 20 74 68 65 20 6b 65  |bottom of the ke|
00000b20  79 73 2c 20 61 6c 6f 6e  67 22 0d 05 32 22 20 f1  |ys, along"..2" .|
00000b30  22 77 69 74 68 20 74 68  65 20 63 61 70 69 74 61  |"with the capita|
00000b40  6c 20 6c 65 74 74 65 72  73 2e 22 27 0d 05 3c 36  |l letters."'..<6|
00000b50  20 f1 22 52 65 6c 65 61  73 65 22 53 4c 24 22 62  | ."Release"SL$"b|
00000b60  79 20 70 72 65 73 73 69  6e 67 20 74 68 65 22 27  |y pressing the"'|
00000b70  46 4c 24 3b 43 4c 24 3b  53 54 24 3b 22 6b 65 79  |FL$;CL$;ST$;"key|
00000b80  2e 22 0d 05 46 16 20 f2  43 4c 3a f2 53 50 41 43  |."..F. .CL:.SPAC|
00000b90  45 3a f2 43 4c 45 41 52  0d 05 50 32 20 f1 22 43  |E:.CLEAR..P2 ."C|
00000ba0  68 65 63 6b 20 74 68 61  74 20 74 68 65 20 6c 69  |heck that the li|
00000bb0  67 68 74 73 20 61 72 65  20 63 6f 72 72 65 63 74  |ghts are correct|
00000bc0  6c 79 22 27 22 6c 69 74  2e 22 0d 05 5a 2a 20 f1  |ly"'"lit."..Z* .|
00000bd0  27 22 53 79 6d 62 6f 6c  73 20 6f 6e 20 74 6f 70  |'"Symbols on top|
00000be0  20 6f 66 20 74 68 65 20  6b 65 79 73 20 63 61 6e  | of the keys can|
00000bf0  6e 6f 74 22 0d 05 64 18  20 f1 22 62 65 20 6f 62  |not"..d. ."be ob|
00000c00  74 61 69 6e 65 64 20 6e  6f 77 2e 22 0d 05 6e 0a  |tained now."..n.|
00000c10  20 e5 8d 44 6c 47 0d 05  78 0d 20 f4 20 50 41 52  | ..DlG..x. . PAR|
00000c20  54 20 34 0d 05 82 20 20  f1 22 45 6e 73 75 72 65  |T 4...  ."Ensure|
00000c30  20 74 68 61 74 22 43 4c  24 22 69 73 20 73 74 69  | that"CL$"is sti|
00000c40  6c 6c 22 0d 05 8c 2a 20  f1 22 61 63 74 69 76 65  |ll"...* ."active|
00000c50  20 62 79 20 63 68 65 63  6b 69 6e 67 20 74 68 65  | by checking the|
00000c60  20 72 65 64 20 6c 69 67  68 74 73 2e 22 0d 05 96  | red lights."...|
00000c70  35 20 f1 27 22 49 66 20  74 68 65 20 64 69 73 70  |5 .'"If the disp|
00000c80  6c 61 79 20 69 73 20 77  72 6f 6e 67 2c 20 70 72  |lay is wrong, pr|
00000c90  65 73 73 20 74 68 65 22  27 43 4c 24 22 6b 65 79  |ess the"'CL$"key|
00000ca0  2e 22 0d 05 a0 12 20 f2  53 50 41 43 45 3a f2 43  |.".... .SPACE:.C|
00000cb0  4c 45 41 52 0d 05 aa 2a  20 f1 22 54 68 69 73 20  |LEAR...* ."This |
00000cc0  74 69 6d 65 2c 20 63 61  70 69 74 61 6c 20 6c 65  |time, capital le|
00000cd0  74 74 65 72 73 20 61 6e  64 20 61 6c 6c 22 0d 05  |tters and all"..|
00000ce0  b4 2b 20 f1 22 74 68 65  20 73 79 6d 62 6f 6c 73  |.+ ."the symbols|
00000cf0  20 77 69 6c 6c 20 62 65  20 75 73 65 64 2e 20 54  | will be used. T|
00000d00  6f 20 6f 62 74 61 69 6e  22 0d 05 be 2b 20 f1 22  |o obtain"...+ ."|
00000d10  61 20 73 79 6d 62 6f 6c  20 6f 6e 20 74 68 65 20  |a symbol on the |
00000d20  74 6f 70 20 6f 66 20 61  20 6b 65 79 2c 20 70 72  |top of a key, pr|
00000d30  65 73 73 22 0d 05 c8 2f  20 f1 22 74 68 65 20 6b  |ess".../ ."the k|
00000d40  65 79 20 61 6e 64 22 3b  46 4c 24 3b 53 48 24 3b  |ey and";FL$;SH$;|
00000d50  53 54 24 3b 22 6b 65 79  20 74 6f 67 65 74 68 65  |ST$;"key togethe|
00000d60  72 2e 22 0d 05 d2 44 20  f1 22 46 6f 72 20 65 78  |r."...D ."For ex|
00000d70  61 6d 70 6c 65 2c 20 74  6f 20 6f 62 74 61 69 6e  |ample, to obtain|
00000d80  20 22 22 24 22 22 2c 20  70 72 65 73 73 22 27 46  | ""$"", press"'F|
00000d90  4c 24 3b 53 48 24 3b 53  54 24 3b 22 61 6e 64 20  |L$;SH$;ST$;"and |
00000da0  22 22 34 22 22 2e 22 0d  05 d7 0e 20 f2 53 48 3a  |""4"".".... .SH:|
00000db0  e5 8d 44 6c 47 0d 05 dc  0c 20 f4 20 50 41 52 54  |..DlG.... . PART|
00000dc0  35 0d 05 e6 25 20 f1 22  50 72 65 73 73 20 74 68  |5...% ."Press th|
00000dd0  65 22 43 4c 24 22 6b 65  79 2e 20 54 68 65 20 6c  |e"CL$"key. The l|
00000de0  69 67 68 74 73 22 0d 05  f0 1e 20 f1 22 73 68 6f  |ights".... ."sho|
00000df0  75 6c 64 20 61 6c 6c 20  62 65 20 6f 66 66 20 6e  |uld all be off n|
00000e00  6f 77 2e 22 0d 05 fa 38  20 f1 22 59 6f 75 20 61  |ow."...8 ."You a|
00000e10  72 65 20 6e 6f 20 6c 6f  6e 67 65 72 20 6c 6f 63  |re no longer loc|
00000e20  6b 65 64 20 69 6e 74 6f  20 63 61 70 69 74 61 6c  |ked into capital|
00000e30  22 27 22 6c 65 74 74 65  72 73 2e 22 0d 06 04 12  |"'"letters."....|
00000e40  20 f2 53 50 41 43 45 3a  f2 43 4c 45 41 52 0d 06  | .SPACE:.CLEAR..|
00000e50  0e 29 20 f1 22 53 6d 61  6c 6c 20 6c 65 74 74 65  |.) ."Small lette|
00000e60  72 73 20 61 72 65 20 6e  6f 77 20 61 76 61 69 6c  |rs are now avail|
00000e70  61 62 6c 65 2e 22 20 0d  06 18 2a 20 f1 27 22 43  |able." ...* .'"C|
00000e80  61 70 69 74 61 6c 20 6c  65 74 74 65 72 73 20 61  |apital letters a|
00000e90  72 65 20 70 72 6f 64 75  63 65 64 20 77 68 65 6e  |re produced when|
00000ea0  22 0d 06 22 31 20 f1 22  79 6f 75 20 70 72 65 73  |".."1 ."you pres|
00000eb0  73 20 61 20 6c 65 74 74  65 72 20 6b 65 79 20 61  |s a letter key a|
00000ec0  6e 64 22 53 48 24 27 22  74 6f 67 65 74 68 65 72  |nd"SH$'"together|
00000ed0  2e 22 0d 06 2c 31 20 f1  27 22 46 6f 72 20 65 78  |."..,1 .'"For ex|
00000ee0  61 6d 70 6c 65 2c 20 74  6f 20 67 65 74 22 3b 43  |ample, to get";C|
00000ef0  24 3b 22 68 22 3b 57 24  3b 22 70 72 65 73 73 20  |$;"h";W$;"press |
00000f00  48 2e 22 0d 06 36 34 20  f1 22 54 6f 20 67 65 74  |H."..64 ."To get|
00000f10  22 3b 43 24 3b 22 48 22  3b 57 24 3b 22 70 72 65  |";C$;"H";W$;"pre|
00000f20  73 73 22 46 4c 24 3b 53  48 24 3b 53 54 24 3b 22  |ss"FL$;SH$;ST$;"|
00000f30  61 6e 64 20 48 2e 22 0d  06 3b 08 20 f2 53 48 0d  |and H."..;. .SH.|
00000f40  07 6c 12 20 f2 53 50 41  43 45 3a f2 43 4c 45 41  |.l. .SPACE:.CLEA|
00000f50  52 0d 07 76 29 20 f2 44  42 4c 28 22 54 6f 20 62  |R..v) .DBL("To b|
00000f60  65 67 69 6e 20 74 68 65  20 74 65 73 74 20 2e 2e  |egin the test ..|
00000f70  2e 2e 22 2c 31 30 2c 31  35 29 0d 07 80 0b 20 f2  |..",10,15).... .|
00000f80  53 50 41 43 45 0d 07 d0  10 20 f4 20 50 4c 41 59  |SPACE.... . PLAY|
00000f90  20 47 41 4d 45 0d 07 da  12 20 e3 20 43 48 41 52  | GAME.... . CHAR|
00000fa0  3d 31 20 b8 20 31 30 0d  07 e4 10 20 db 3a f2 50  |=1 . 10.... .:.P|
00000fb0  55 54 53 43 4f 52 45 0d  08 0c 34 20 f1 8a 35 2c  |UTSCORE...4 ..5,|
00000fc0  35 29 22 50 61 72 74 20  22 3b 50 41 52 54 3b 22  |5)"Part ";PART;"|
00000fd0  20 20 20 20 20 51 75 65  73 74 69 6f 6e 20 4e 75  |     Question Nu|
00000fe0  6d 62 65 72 20 22 3b 43  48 41 52 0d 08 16 2c 20  |mber ";CHAR..., |
00000ff0  f2 44 42 4c 28 22 46 69  6e 64 22 2c 31 32 2c 38  |.DBL("Find",12,8|
00001000  29 3a 45 24 3d bd 28 a4  47 45 4e 45 29 3a f2 57  |):E$=.(.GENE):.W|
00001010  41 49 54 28 2e 37 29 0d  08 20 1e 20 f2 4b 43 4c  |AIT(.7).. . .KCL|
00001020  3a f2 44 42 4c 28 45 24  2c 31 37 2c 38 29 3a 53  |:.DBL(E$,17,8):S|
00001030  54 49 4d 3d 91 0d 08 34  1b 20 49 24 3d bf 28 30  |TIM=...4. I$=.(0|
00001040  29 3a e7 20 49 24 3d 22  22 20 8c 20 8d 54 74 48  |):. I$="" . .TtH|
00001050  0d 08 3e 22 20 45 54 49  4d 3d 91 3a 49 41 3d 97  |..>" ETIM=.:IA=.|
00001060  28 49 24 29 3a e7 20 49  41 3c 33 33 20 8c 8d 54  |(I$):. IA<33 ..T|
00001070  74 48 0d 08 48 26 20 e7  20 49 41 3e 31 32 32 20  |tH..H& . IA>122 |
00001080  84 20 28 49 41 3e 39 30  20 80 20 49 41 3c 39 35  |. (IA>90 . IA<95|
00001090  29 20 8c 20 8d 54 74 48  0d 08 52 2e 20 54 49 4d  |) . .TtH..R. TIM|
000010a0  3d 45 54 49 4d 2d 53 54  49 4d 3a 54 54 49 4d 3d  |=ETIM-STIM:TTIM=|
000010b0  54 54 49 4d 2b 54 49 4d  3a 54 45 53 54 53 3d 54  |TTIM+TIM:TESTS=T|
000010c0  45 53 54 53 2b 31 0d 08  5c 0d 20 f2 43 4f 4d 50  |ESTS+1..\. .COMP|
000010d0  41 52 45 0d 08 66 13 20  ed 43 48 41 52 3a f2 57  |ARE..f. .CHAR:.W|
000010e0  41 49 54 28 31 29 0d 08  70 10 20 db 3a f2 50 55  |AIT(1)..p. .:.PU|
000010f0  54 53 43 4f 52 45 0d 08  98 22 20 f1 8a 31 30 2c  |TSCORE..." ..10,|
00001100  31 30 29 3b 22 45 6e 64  20 6f 66 20 50 61 72 74  |10);"End of Part|
00001110  20 22 3b 50 41 52 54 27  0d 08 a2 2c 20 f1 22 50  | ";PART'..., ."P|
00001120  72 65 73 73 20 22 22 41  22 22 20 74 6f 20 74 72  |ress ""A"" to tr|
00001130  79 20 74 68 69 73 20 74  65 73 74 20 61 67 61 69  |y this test agai|
00001140  6e 2e 22 27 0d 08 ac 23  20 e7 20 50 41 52 54 3d  |n."'...# . PART=|
00001150  35 20 8c 20 f1 22 4f 74  68 65 72 77 69 73 65 22  |5 . ."Otherwise"|
00001160  3b 3a e5 8d 64 40 48 0d  08 b6 33 20 f1 22 49 66  |;:..d@H...3 ."If|
00001170  20 79 6f 75 20 77 61 6e  74 20 74 6f 20 6d 6f 76  | you want to mov|
00001180  65 20 6f 6e 20 74 6f 20  74 68 65 20 6e 65 78 74  |e on to the next|
00001190  22 27 22 70 61 72 74 2c  22 3b 0d 08 c0 1e 20 f1  |"'"part,";.... .|
000011a0  22 20 70 72 65 73 73 20  74 68 65 20 52 45 54 55  |" press the RETU|
000011b0  52 4e 20 6b 65 79 2e 22  0d 08 ca 22 20 58 24 3d  |RN key."..." X$=|
000011c0  be 3a e7 20 58 24 3d 22  41 22 20 84 20 58 24 3d  |.:. X$="A" . X$=|
000011d0  22 61 22 20 8c 20 8d 64  68 43 0d 08 d4 18 20 e7  |"a" . .dhC.... .|
000011e0  20 58 24 3c 3e 20 bd 28  31 33 29 20 8c 20 8d 64  | X$<> .(13) . .d|
000011f0  4a 48 0d 08 de 1f 20 50  41 52 54 3d 50 41 52 54  |JH.... PART=PART|
00001200  2b 31 3a e7 20 50 41 52  54 3c 36 20 8c 8d 64 68  |+1:. PART<6 ..dh|
00001210  43 0d 08 e8 0a 20 e5 8d  64 74 41 0d 0b b8 0e 20  |C.... ..dtA.... |
00001220  dd f2 43 4f 4d 50 41 52  45 0d 0b c2 36 20 f4 20  |..COMPARE...6 . |
00001230  43 4f 4d 50 41 52 45 20  55 53 45 52 20 49 4e 50  |COMPARE USER INP|
00001240  55 54 20 28 49 24 29 20  57 49 54 48 20 45 58 50  |UT (I$) WITH EXP|
00001250  45 43 54 45 44 20 49 4e  50 55 54 28 45 24 29 0d  |ECTED INPUT(E$).|
00001260  0b cc 1f 20 f2 44 42 4c  28 22 59 6f 75 20 74 79  |... .DBL("You ty|
00001270  70 65 64 20 22 2b 49 24  2c 39 2c 31 31 29 0d 0b  |ped "+I$,9,11)..|
00001280  d6 1d 20 e7 20 45 24 3d  49 24 20 8c 20 52 49 47  |.. . E$=I$ . RIG|
00001290  48 54 3d 52 49 47 48 54  2b 31 3a 0d 0b e0 0e 20  |HT=RIGHT+1:.... |
000012a0  f2 50 55 54 53 43 4f 52  45 0d 0b ea 14 20 e7 20  |.PUTSCORE.... . |
000012b0  45 24 3c 3e 49 24 20 8c  20 8d 54 5c 4c 0d 0b f4  |E$<>I$ . .T\L...|
000012c0  1d 20 f1 8a 37 2c 31 35  29 22 54 48 41 54 20 49  |. ..7,15)"THAT I|
000012d0  53 20 43 4f 52 52 45 43  54 22 0d 0b fe 2b 20 f1  |S CORRECT"...+ .|
000012e0  8a 36 2c 31 37 29 22 59  6f 75 20 74 6f 6f 6b 20  |.6,17)"You took |
000012f0  22 3b 54 49 4d 2f 31 30  30 3b 22 20 73 65 63 6f  |";TIM/100;" seco|
00001300  6e 64 73 2e 22 0d 0c 08  11 20 f2 57 41 49 54 28  |nds.".... .WAIT(|
00001310  31 2e 35 29 3a e1 0d 0c  1c 1b 20 f4 2a 2a 20 55  |1.5):..... .** U|
00001320  53 45 52 20 4d 41 44 45  20 41 4e 20 45 52 52 4f  |SER MADE AN ERRO|
00001330  52 0d 0c 26 16 20 49 41  3d 97 28 49 24 29 3a 45  |R..&. IA=.(I$):E|
00001340  41 3d 97 28 45 24 29 0d  0c 30 42 20 e7 20 ac 28  |A=.(E$)..0B . .(|
00001350  28 28 45 24 3d 22 4f 22  84 45 24 3d 22 6f 22 29  |((E$="O".E$="o")|
00001360  80 49 24 3d 22 30 22 29  84 28 45 24 3d 22 30 22  |.I$="0").(E$="0"|
00001370  80 28 49 24 3d 22 4f 22  84 49 24 3d 22 6f 22 29  |.(I$="O".I$="o")|
00001380  29 29 20 8c 20 8d 74 40  4c 0d 0c 3a 1c 20 f4 43  |)) . .t@L..:. .C|
00001390  4f 4e 46 55 53 45 44 20  30 20 57 49 54 48 20 4f  |ONFUSED 0 WITH O|
000013a0  20 4f 52 20 6f 0d 0c 44  12 20 f2 57 41 49 54 28  | OR o..D. .WAIT(|
000013b0  32 29 3a f2 4b 42 44 0d  0c 4e 15 20 e7 20 45 24  |2):.KBD..N. . E$|
000013c0  3d 22 30 22 20 8c 20 45  24 3d 49 24 0d 0c 58 38  |="0" . E$=I$..X8|
000013d0  20 f1 8a 30 2c 31 38 29  22 59 6f 75 20 68 61 76  | ..0,18)"You hav|
000013e0  65 20 63 6f 6e 66 75 73  65 64 20 74 68 65 20 6c  |e confused the l|
000013f0  65 74 74 65 72 20 22 22  22 45 24 22 22 22 20 77  |etter """E$""" w|
00001400  69 74 68 22 0d 0c 62 1e  20 f1 22 74 68 65 20 64  |ith"..b. ."the d|
00001410  69 67 69 74 20 7a 65 72  6f 2c 20 22 22 30 22 22  |igit zero, ""0""|
00001420  2e 22 0d 0c 6c 17 20 f2  46 4c 30 3a f2 46 4c 4f  |."..l. .FL0:.FLO|
00001430  3a f2 53 50 41 43 45 3a  e1 0d 0c 80 31 20 e7 20  |:.SPACE:....1 . |
00001440  ac 20 28 28 45 24 3d 22  31 22 80 49 24 3d 22 6c  |. ((E$="1".I$="l|
00001450  22 29 84 28 45 24 3d 22  6c 22 80 49 24 3d 22 31  |").(E$="l".I$="1|
00001460  22 29 29 20 8c 20 8d 64  64 4c 0d 0c 8a 12 20 f2  |")) . .ddL.... .|
00001470  57 41 49 54 28 32 29 3a  f2 4b 42 44 0d 0c 94 35  |WAIT(2):.KBD...5|
00001480  20 f1 8a 30 2c 31 35 29  22 59 6f 75 20 68 61 76  | ..0,15)"You hav|
00001490  65 20 63 6f 6e 66 75 73  65 64 20 6c 6f 77 65 72  |e confused lower|
000014a0  20 63 61 73 65 20 22 22  4c 22 22 20 77 69 74 68  | case ""L"" with|
000014b0  22 0d 0c 9e 18 20 f1 22  74 68 65 20 64 69 67 69  |".... ."the digi|
000014c0  74 20 22 22 31 22 22 2e  22 0d 0c a8 17 20 f2 46  |t ""1"".".... .F|
000014d0  4c 31 3a f2 46 4c 4c 3a  f2 53 50 41 43 45 3a e1  |L1:.FLL:.SPACE:.|
000014e0  0d 0c e4 31 20 e7 20 ac  20 28 28 45 24 3d 22 49  |...1 . . ((E$="I|
000014f0  22 80 49 24 3d 22 31 22  29 84 28 45 24 3d 22 31  |".I$="1").(E$="1|
00001500  22 80 49 24 3d 22 49 22  29 29 20 8c 20 8d 54 56  |".I$="I")) . .TV|
00001510  4d 0d 0c ee 12 20 f2 57  41 49 54 28 32 29 3a f2  |M.... .WAIT(2):.|
00001520  4b 42 44 0d 0c f8 35 20  f1 8a 30 2c 31 38 29 22  |KBD...5 ..0,18)"|
00001530  59 6f 75 20 68 61 76 65  20 63 6f 6e 66 75 73 65  |You have confuse|
00001540  64 20 74 68 65 20 6c 65  74 74 65 72 20 22 22 49  |d the letter ""I|
00001550  22 22 20 77 69 74 68 22  0d 0d 02 1a 20 f1 22 74  |"" with".... ."t|
00001560  68 65 20 64 69 67 69 74  22 20 22 22 22 31 22 22  |he digit" """1""|
00001570  2e 22 0d 0d 0c 17 20 f2  46 4c 31 3a f2 46 4c 49  |.".... .FL1:.FLI|
00001580  3a f2 53 50 41 43 45 3a  e1 0d 0d 16 31 20 e7 20  |:.SPACE:....1 . |
00001590  ac 20 28 28 45 24 3d 22  5f 22 80 49 24 3d 22 2d  |. ((E$="_".I$="-|
000015a0  22 29 84 28 45 24 3d 22  2d 22 80 49 24 3d 22 5f  |").(E$="-".I$="_|
000015b0  22 29 29 20 8c 20 8d 44  48 4d 0d 0d 1b 12 20 f2  |")) . .DHM.... .|
000015c0  57 41 49 54 28 32 29 3a  f2 4b 42 44 0d 0d 20 2e  |WAIT(2):.KBD.. .|
000015d0  20 f1 8a 30 2c 31 38 29  22 59 6f 75 20 68 61 76  | ..0,18)"You hav|
000015e0  65 20 63 6f 6e 66 75 73  65 64 20 74 68 65 20 6d  |e confused the m|
000015f0  69 6e 75 73 20 73 69 67  6e 22 0d 0d 2a 2d 20 f1  |inus sign"..*- .|
00001600  22 28 62 65 6c 6f 77 20  3d 29 2c 20 77 69 74 68  |"(below =), with|
00001610  20 74 68 65 20 75 6e 64  65 72 73 63 6f 72 65 20  | the underscore |
00001620  73 79 6d 62 6f 6c 22 0d  0d 34 12 20 f1 22 28 62  |symbol"..4. ."(b|
00001630  65 6c 6f 77 20 60 29 2e  22 0d 0d 3e 34 20 f1 8a  |elow `)."..>4 ..|
00001640  32 39 2c 34 29 3b 46 4c  24 3b 22 5f 22 3b 53 54  |29,4);FL$;"_";ST|
00001650  24 3b 8a 32 34 2c 33 29  3b 46 4c 24 3b 22 2d 22  |$;.24,3);FL$;"-"|
00001660  3b 53 54 24 3a f2 53 50  41 43 45 3a e1 0d 0d 48  |;ST$:.SPACE:...H|
00001670  08 20 58 3d 31 0d 0d 52  1d 20 e7 20 49 41 3e 3d  |. X=1..R. . IA>=|
00001680  4b 28 58 29 20 8c 20 58  3d 58 2b 31 3a e5 8d 44  |K(X) . X=X+1:..D|
00001690  52 4d 0d 0d 5c 17 20 53  48 43 4f 4e 3d 28 45 41  |RM..\. SHCON=(EA|
000016a0  2d 49 41 3d 44 28 58 29  29 0d 0d 66 0e 20 54 59  |-IA=D(X))..f. TY|
000016b0  50 45 3d 54 28 58 29 0d  0d ac 1d 20 f4 20 22 50  |PE=T(X).... . "P|
000016c0  41 52 54 22 20 53 50 45  43 49 46 49 43 20 43 48  |ART" SPECIFIC CH|
000016d0  45 43 4b 53 0d 0d b6 26  20 ee 20 50 41 52 54 20  |ECKS...& . PART |
000016e0  e5 20 8d 64 40 4d 2c 8d  64 5e 4d 2c 8d 54 50 4e  |. .d@M,.d^M,.TPN|
000016f0  2c 8d 44 42 4e 2c 8d 74  48 4e 0d 0d c0 23 20 e7  |,.DBN,.tHN...# .|
00001700  20 54 59 50 45 3d 32 20  8c 20 8d 54 7c 4f 3a f4  | TYPE=2 . .T|O:.|
00001710  20 57 52 4f 4e 47 20 4c  45 54 54 45 52 0d 0d ca  | WRONG LETTER...|
00001720  31 20 f1 8a 30 2c 31 35  29 22 54 68 61 74 20 69  |1 ..0,15)"That i|
00001730  73 20 6e 6f 74 20 61 20  63 61 70 69 74 61 6c 20  |s not a capital |
00001740  6c 65 74 74 65 72 2e 22  3a e5 8d 64 58 4e 0d 0d  |letter.":..dXN..|
00001750  de 0d 20 f4 20 50 41 52  54 20 32 0d 0d e8 2b 20  |.. . PART 2...+ |
00001760  e7 20 54 59 50 45 3d 32  20 84 20 54 59 50 45 3d  |. TYPE=2 . TYPE=|
00001770  34 20 8c 8d 54 7c 4f 3a  f4 20 57 52 4f 4e 47 20  |4 ..T|O:. WRONG |
00001780  4c 45 54 54 45 52 0d 0d  f2 38 20 f1 8a 30 2c 31  |LETTER...8 ..0,1|
00001790  35 29 22 54 68 61 74 20  69 73 20 6e 6f 74 20 61  |5)"That is not a|
000017a0  6e 20 75 70 70 65 72 20  63 61 73 65 20 63 68 61  |n upper case cha|
000017b0  72 61 63 74 65 72 2e 22  3a e5 8d 64 58 4e 0d 0e  |racter.":..dXN..|
000017c0  10 0f 20 f4 2a 2a 20 50  41 52 54 20 33 0d 0e 1a  |.. .** PART 3...|
000017d0  1d 20 e7 20 54 59 50 45  3d 32 20 84 20 54 59 50  |. . TYPE=2 . TYP|
000017e0  45 3d 33 20 8c 20 8d 54  7c 4f 0d 0e 24 42 20 f1  |E=3 . .T|O..$B .|
000017f0  8a 30 2c 31 35 29 22 54  68 61 74 20 69 73 20 6e  |.0,15)"That is n|
00001800  6f 74 20 61 20 63 61 70  69 74 61 6c 20 6c 65 74  |ot a capital let|
00001810  74 65 72 20 6f 72 22 27  22 6c 6f 77 65 72 20 63  |ter or"'"lower c|
00001820  61 73 65 20 73 79 6d 62  6f 6c 2e 22 0d 0e 2e 0a  |ase symbol."....|
00001830  20 e5 8d 64 58 4e 0d 0e  42 28 20 f4 2a 2a 20 50  | ..dXN..B( .** P|
00001840  41 52 54 20 34 3a 43 48  45 43 4b 20 46 4f 52 20  |ART 4:CHECK FOR |
00001850  43 41 53 45 20 43 4f 4e  46 55 53 49 4f 4e 0d 0e  |CASE CONFUSION..|
00001860  4c 14 20 e7 20 54 59 50  45 3d 31 20 8c 20 8d 64  |L. . TYPE=1 . .d|
00001870  4a 4d 0d 0e 56 15 20 e7  20 53 48 43 4f 4e 3d 30  |JM..V. . SHCON=0|
00001880  20 8c 20 8d 54 7c 4f 0d  0e 60 14 20 e7 20 54 59  | . .T|O..`. . TY|
00001890  50 45 3d 34 20 8c 20 8d  74 66 4e 0d 0e 6a 30 20  |PE=4 . .tfN..j0 |
000018a0  f1 8a 30 2c 31 35 29 22  59 6f 75 20 63 6f 6e 66  |..0,15)"You conf|
000018b0  75 73 65 64 20 75 70 70  65 72 20 61 6e 64 20 6c  |used upper and l|
000018c0  6f 77 65 72 20 63 61 73  65 2e 22 0d 0e 74 25 20  |ower case."..t% |
000018d0  f1 22 55 73 65 22 53 48  24 22 74 6f 20 6f 62 74  |."Use"SH$"to obt|
000018e0  61 69 6e 20 74 68 65 20  74 6f 70 20 73 65 74 22  |ain the top set"|
000018f0  0d 0e 7e 19 20 f1 22 6f  66 20 73 79 6d 62 6f 6c  |..~. ."of symbol|
00001900  73 2e 22 3a e5 8d 64 58  4e 0d 0e 88 24 20 f4 2a  |s.":..dXN...$ .*|
00001910  2a 20 50 41 52 54 20 35  3a 43 48 45 43 4b 20 43  |* PART 5:CHECK C|
00001920  41 53 45 20 43 4f 4e 46  55 53 49 4f 4e 0d 0e 92  |ASE CONFUSION...|
00001930  15 20 e7 20 53 48 43 4f  4e 3d 30 20 8c 20 8d 54  |. . SHCON=0 . .T|
00001940  7c 4f 0d 0e a6 34 20 f1  8a 30 2c 31 35 29 22 59  ||O...4 ..0,15)"Y|
00001950  6f 75 20 68 61 76 65 20  6e 6f 74 20 73 65 6c 65  |ou have not sele|
00001960  63 74 65 64 20 74 68 65  20 63 6f 72 72 65 63 74  |cted the correct|
00001970  20 63 61 73 65 22 0d 0e  b0 2e 20 f1 22 66 6f 72  | case".... ."for|
00001980  20 79 6f 75 72 20 72 65  73 70 6f 6e 73 65 2e 20  | your response. |
00001990  54 68 65 20 74 6f 70 20  73 79 6d 62 6f 6c 73 20  |The top symbols |
000019a0  61 6e 64 22 0d 0e ba 39  20 f1 22 63 61 70 69 74  |and"...9 ."capit|
000019b0  61 6c 20 6c 65 74 74 65  72 73 20 61 72 65 20 70  |al letters are p|
000019c0  72 6f 64 75 63 65 64 20  77 68 65 6e 20 79 6f 75  |roduced when you|
000019d0  22 27 22 75 73 65 22 53  48 24 22 2e 22 0d 0e d8  |"'"use"SH$"."...|
000019e0  40 20 e7 20 50 41 52 54  3d 35 20 8c f1 22 43 68  |@ . PART=5 .."Ch|
000019f0  65 63 6b 20 74 68 61 74  20 74 68 65 20 72 65 64  |eck that the red|
00001a00  20 6c 69 67 68 74 73 20  61 72 65 22 27 22 61 6c  | lights are"'"al|
00001a10  6c 20 6f 66 66 2e 22 3a  e5 8d 54 4a 4f 0d 0e e2  |l off.":..TJO...|
00001a20  2e 20 f1 27 22 4d 61 6b  65 20 73 75 72 65 20 74  |. .'"Make sure t|
00001a30  68 61 74 20 74 68 65 20  72 65 64 20 6c 69 67 68  |hat the red ligh|
00001a40  74 73 22 27 22 61 72 65  20 22 3b 0d 0e ec 32 20  |ts"'"are ";...2 |
00001a50  e3 20 58 3d 31 20 b8 20  33 3a e7 20 4c 45 44 28  |. X=1 . 3:. LED(|
00001a60  58 2c 50 41 52 54 29 3d  31 20 8c 20 f1 22 4f 4e  |X,PART)=1 . ."ON|
00001a70  22 20 3b 20 8b 20 f1 22  4f 46 46 22 3b 0d 0e f6  |" ; . ."OFF";...|
00001a80  12 20 e7 20 58 3c 33 20  8c 20 f1 22 2c 22 3b 0d  |. . X<3 . .",";.|
00001a90  0f 00 0c 20 ed 58 3a f1  22 2e 22 0d 0f 0a 0d 20  |... .X:.".".... |
00001aa0  f2 53 50 41 43 45 3a e1  0d 0f 3c 28 20 f1 8a 36  |.SPACE:...<( ..6|
00001ab0  2c 31 35 29 22 54 48 41  54 20 49 53 20 49 4e 43  |,15)"THAT IS INC|
00001ac0  4f 52 52 45 43 54 22 3a  f2 53 50 41 43 45 3a e1  |ORRECT":.SPACE:.|
00001ad0  0d 13 88 0a 20 dd f2 4b  42 44 0d 13 92 16 20 ea  |.... ..KBD.... .|
00001ae0  49 2c 4b 24 2c 4c 24 2c  42 24 2c 58 24 2c 59 24  |I,K$,L$,B$,X$,Y$|
00001af0  0d 13 9c 3b 20 4b 24 3d  bd 28 26 46 43 29 3a 4c  |...; K$=.(&FC):L|
00001b00  24 3d 4b 24 2b 4b 24 3a  42 24 3d bd 28 26 46 46  |$=K$+K$:B$=.(&FF|
00001b10  29 3a 59 24 3d bd 28 26  39 35 29 2b 4b 24 3a 58  |):Y$=.(&95)+K$:X|
00001b20  24 3d bd 28 26 38 35 29  2b 42 24 0d 13 a6 0e 20  |$=.(&85)+B$.... |
00001b30  db 3a f1 8a 37 2c 32 29  3b 0d 13 b0 18 20 e3 20  |.:..7,2);.... . |
00001b40  49 3d 30 20 b8 20 39 3a  f1 52 24 3b 42 24 3b 3a  |I=0 . 9:.R$;B$;:|
00001b50  ed 0d 13 ba 18 20 f1 43  24 3b 42 24 3b 8a 32 2c  |..... .C$;B$;.2,|
00001b60  33 29 3b 43 24 3b 42 24  3b 0d 13 c4 18 20 e3 20  |3);C$;B$;.... . |
00001b70  49 3d 31 20 b8 20 39 3a  f1 53 54 24 3b 49 3b 3a  |I=1 . 9:.ST$;I;:|
00001b80  ed 0d 13 ce 1d 20 f1 22  20 30 20 2d 20 22 3b 42  |..... ." 0 - ";B|
00001b90  24 3b 22 20 22 3b 42 24  3b 58 24 3b 58 24 0d 13  |$;" ";B$;X$;X$..|
00001ba0  d8 14 20 f1 22 20 20 22  3b 47 24 3b 4c 24 3b 43  |.. ."  ";G$;L$;C|
00001bb0  24 3b 0d 13 e2 27 20 f1  22 51 20 57 20 45 20 52  |$;...' ."Q W E R|
00001bc0  20 54 20 59 20 55 20 49  20 4f 20 50 20 40 20 22  | T Y U I O P @ "|
00001bd0  3b 42 24 3b 22 20 5f 22  3b 0d 13 ec 0b 20 f1 58  |;B$;" _";.... .X|
00001be0  24 3b 58 24 0d 13 f6 37  20 f1 47 24 3b 22 20 20  |$;X$...7 .G$;"  |
00001bf0  22 3b 4b 24 3b 53 54 24  3b 4b 24 3b 43 24 3b 22  |";K$;ST$;K$;C$;"|
00001c00  41 20 53 20 44 20 46 20  47 20 48 20 4a 20 4b 20  |A S D F G H J K |
00001c10  4c 20 3b 20 3a 20 22 3b  42 24 3b 0d 14 00 0b 20  |L ; : ";B$;.... |
00001c20  f1 59 24 3b 4b 24 0d 14  0a 23 20 f1 47 24 3b 22  |.Y$;K$...# .G$;"|
00001c30  20 20 22 3b 4b 24 3b 53  54 24 3b 4c 24 3b 53 54  |  ";K$;ST$;L$;ST|
00001c40  24 3b 22 5a 22 3b 43 24  3b 0d 14 14 1a 20 f1 22  |$;"Z";C$;.... ."|
00001c50  58 20 43 20 56 20 42 20  4e 20 4d 20 2c 20 2e 20  |X C V B N M , . |
00001c60  2f 22 3b 0d 14 1e 14 20  f1 47 24 3b 4c 24 3b 47  |/";.... .G$;L$;G|
00001c70  24 3b 4b 24 3b 59 24 0d  14 28 38 20 f1 22 20 20  |$;K$;Y$..(8 ."  |
00001c80  20 20 20 20 20 22 3b 43  24 3b bd 28 26 39 44 29  |     ";C$;.(&9D)|
00001c90  3b bd 28 26 38 33 29 3b  22 20 20 53 70 61 63 65  |;.(&83);"  Space|
00001ca0  20 42 61 72 20 20 20 22  3b bd 28 26 39 43 29 0d  | Bar   ";.(&9C).|
00001cb0  14 50 14 20 e7 20 50 41  52 54 3d 30 20 8c 20 8d  |.P. . PART=0 . .|
00001cc0  74 73 54 0d 14 5a 15 20  f1 22 20 22 3b 3a e3 20  |tsT..Z. ." ";:. |
00001cd0  49 3d 31 20 b8 20 33 20  0d 14 64 22 20 e7 20 4c  |I=1 . 3 ..d" . L|
00001ce0  45 44 28 49 2c 50 41 52  54 29 3d 31 20 8c 20 f1  |ED(I,PART)=1 . .|
00001cf0  52 24 3b 20 8b 20 f1 57  24 3b 0d 14 6e 10 20 f1  |R$; . .W$;..n. .|
00001d00  22 6f 22 3b 3a ed 3a f1  57 24 0d 14 78 22 20 f1  |"o";:.:.W$..x" .|
00001d10  27 22 20 20 5e 20 5e 20  5e 20 2d 20 4c 69 67 68  |'"  ^ ^ ^ - Ligh|
00001d20  74 73 3a 20 6f 20 3d 20  4f 46 46 22 0d 14 82 1b  |ts: o = OFF"....|
00001d30  20 f1 8a 31 37 29 3b 52  24 3b 22 6f 22 3b 57 24  | ..17);R$;"o";W$|
00001d40  3b 22 3d 20 4f 4e 22 0d  14 8c 1b 20 f1 8a 31 35  |;"= ON".... ..15|
00001d50  2c 31 33 29 3b 22 50 41  52 54 20 22 3b 50 41 52  |,13);"PART ";PAR|
00001d60  54 27 0d 14 b3 06 20 e1  0d 14 b4 0a 20 dd f2 46  |T'.... ..... ..F|
00001d70  4c 30 0d 14 be 19 20 f1  8a 32 32 2c 33 29 3b 46  |L0.... ..22,3);F|
00001d80  4c 24 22 30 22 53 54 24  3b 3a e1 0d 14 c8 0a 20  |L$"0"ST$;:..... |
00001d90  dd f2 46 4c 31 0d 14 d2  18 20 f1 8a 34 2c 33 29  |..FL1.... ..4,3)|
00001da0  3b 46 4c 24 22 31 22 53  54 24 3b 3a e1 0d 14 dc  |;FL$"1"ST$;:....|
00001db0  0a 20 dd f2 46 4c 4f 0d  14 e6 19 20 f1 8a 32 31  |. ..FLO.... ..21|
00001dc0  2c 34 29 3b 46 4c 24 22  4f 22 53 54 24 3b 3a e1  |,4);FL$"O"ST$;:.|
00001dd0  0d 14 f0 0a 20 dd f2 46  4c 4c 0d 14 fa 19 20 f1  |.... ..FLL.... .|
00001de0  8a 32 32 2c 35 29 3b 46  4c 24 22 4c 22 53 54 24  |.22,5);FL$"L"ST$|
00001df0  3b 3a e1 0d 15 04 0a 20  dd f2 46 4c 49 0d 15 0e  |;:..... ..FLI...|
00001e00  19 20 f1 8a 31 39 2c 34  29 3b 46 4c 24 22 49 22  |. ..19,4);FL$"I"|
00001e10  53 54 24 3b 3a e1 0d 15  7c 15 20 dd f2 43 4c 3a  |ST$;:...|. ..CL:|
00001e20  f4 20 43 41 50 53 20 4c  4f 43 4b 0d 15 86 0f 20  |. CAPS LOCK.... |
00001e30  f1 8a 31 2c 35 29 3b 46  4c 24 0d 15 df 06 20 e1  |..1,5);FL$.... .|
00001e40  0d 15 e0 16 20 dd f2 53  4c 3a f4 20 53 48 49 46  |.... ..SL:. SHIF|
00001e50  54 20 4c 4f 43 4b 0d 15  ea 10 20 f1 8a 31 2c 36  |T LOCK.... ..1,6|
00001e60  29 3b 46 4c 24 3b 0d 16  43 06 20 e1 0d 16 44 11  |);FL$;..C. ...D.|
00001e70  20 dd f2 53 48 3a f4 20  53 48 49 46 54 0d 16 4e  | ..SH:. SHIFT..N|
00001e80  10 20 f1 8a 34 2c 36 29  3b 46 4c 24 3b 0d 16 a7  |. ..4,6);FL$;...|
00001e90  06 20 e1 0d 16 a8 14 20  dd f2 45 53 43 3a f4 20  |. ..... ..ESC:. |
00001ea0  45 53 43 41 50 45 20 0d  16 b2 10 20 f1 8a 31 2c  |ESCAPE .... ..1,|
00001eb0  33 29 3b 46 4c 24 20 0d  17 0b 06 20 e1 0d 1b 58  |3);FL$ .... ...X|
00001ec0  0c 20 dd f2 43 4c 45 41  52 0d 1b 62 07 20 ea 4b  |. ..CLEAR..b. .K|
00001ed0  0d 1b 6c 1f 20 e3 20 4b  3d 31 33 20 b8 20 32 32  |..l. . K=13 . 22|
00001ee0  3a f1 8a 30 2c 4b 29 3b  89 28 34 30 29 3a ed 0d  |:..0,K);.(40):..|
00001ef0  1b 76 0d 20 f1 8a 30 2c  31 33 29 3b 0d 1b bb 06  |.v. ..0,13);....|
00001f00  20 e1 0d 1b bc 0f 20 dd  f2 50 55 54 53 43 4f 52  | ..... ..PUTSCOR|
00001f10  45 0d 1b c6 32 20 f1 8a  35 2c 31 29 22 53 63 6f  |E...2 ..5,1)"Sco|
00001f20  72 65 20 73 6f 20 66 61  72 3a 20 22 3b 52 49 47  |re so far: ";RIG|
00001f30  48 54 3b 22 20 6f 75 74  20 6f 66 20 22 3b 54 45  |HT;" out of ";TE|
00001f40  53 54 53 0d 1b d0 22 20  f1 8a 33 2c 33 29 22 41  |STS..." ..3,3)"A|
00001f50  76 65 72 61 67 65 20 74  69 6d 65 20 74 61 6b 65  |verage time take|
00001f60  6e 3a 20 22 3b 0d 1b da  2c 20 e7 20 54 45 53 54  |n: ";..., . TEST|
00001f70  53 3d 30 20 8c 20 f1 3b  30 3b 20 8b 20 f1 3b a8  |S=0 . .;0; . .;.|
00001f80  28 54 54 49 4d 2f 54 45  53 54 53 29 2f 31 30 30  |(TTIM/TESTS)/100|
00001f90  3b 0d 1b e4 13 20 f1 22  20 73 65 63 6f 6e 64 73  |;.... ." seconds|
00001fa0  20 20 20 22 0d 1c 1f 06  20 e1 0d 1c 20 21 20 dd  |   ".... ... ! .|
00001fb0  a4 47 45 4e 45 3a f4 20  43 48 41 52 41 43 54 45  |.GENE:. CHARACTE|
00001fc0  52 20 47 45 4e 45 52 41  54 4f 52 0d 1c 2a 27 20  |R GENERATOR..*' |
00001fd0  ee 20 50 41 52 54 20 e5  20 8d 54 7e 5c 2c 8d 44  |. PART . .T~\,.D|
00001fe0  5c 5c 2c 8d 74 4e 5c 2c  8d 64 40 5c 2c 8d 64 5e  |\\,.tN\,.d@\,.d^|
00001ff0  5c 20 0d 1c 34 1d 20 f4  2a 2a 20 50 41 52 54 20  |\ ..4. .** PART |
00002000  31 20 2d 20 55 2f 43 20  4c 45 54 54 45 52 53 0d  |1 - U/C LETTERS.|
00002010  1c 3e 0e 20 3d b3 28 32  36 29 2b 36 34 0d 1c 48  |.>. =.(26)+64..H|
00002020  2b 20 f4 2a 2a 20 50 41  52 54 20 32 20 2d 20 55  |+ .** PART 2 - U|
00002030  2f 43 20 4c 45 54 54 45  52 53 20 2b 20 55 2f 43  |/C LETTERS + U/C|
00002040  20 53 59 4d 42 4f 4c 53  0d 1c 5c 19 20 52 3d b3  | SYMBOLS..\. R=.|
00002050  28 31 36 29 3a e7 20 52  3d 31 36 20 8c 20 3d 39  |(16):. R=16 . =9|
00002060  36 0d 1c 66 13 20 e7 20  52 3c 31 32 20 8c 20 3d  |6..f. . R<12 . =|
00002070  52 2b 33 32 0d 1c 70 0d  20 3d b3 28 34 29 2b 35  |R+32..p. =.(4)+5|
00002080  39 0d 1c 84 29 20 f4 2a  2a 20 50 41 52 54 20 33  |9...) .** PART 3|
00002090  20 2d 20 55 2f 43 20 4c  45 54 54 45 52 53 2c 4c  | - U/C LETTERS,L|
000020a0  2f 43 20 53 59 4d 42 4f  4c 53 0d 1c 8e 18 20 e7  |/C SYMBOLS.... .|
000020b0  20 43 48 41 52 3d 32 20  8c 3d 34 35 3a e3 43 45  | CHAR=2 .=45:.CE|
000020c0  20 2d 0d 1c 93 14 20 e7  20 b3 28 33 29 3d 31 20  | -.... . .(3)=1 |
000020d0  8c 20 8d 54 7e 5c 0d 1c  98 19 20 52 3d b3 28 31  |. .T~\.... R=.(1|
000020e0  38 29 3a e7 20 52 3d 31  38 20 8c 20 3d 36 34 0d  |8):. R=18 . =64.|
000020f0  1c a2 11 20 e7 20 52 3d  31 37 20 8c 20 3d 39 35  |... . R=17 . =95|
00002100  0d 1c ac 0a 20 3d 52 2b  34 33 0d 1c b6 2b 20 f4  |.... =R+43...+ .|
00002110  2a 2a 20 50 41 52 54 20  34 20 2d 20 55 2f 43 20  |** PART 4 - U/C |
00002120  4c 45 54 54 45 52 53 20  2b 20 41 4e 59 20 53 59  |LETTERS + ANY SY|
00002130  4d 42 4f 4c 53 0d 1c c0  1d 20 e7 20 43 48 41 52  |MBOLS.... . CHAR|
00002140  3d 34 20 8c 20 3d 37 39  3a f4 20 46 4f 52 43 45  |=4 . =79:. FORCE|
00002150  20 4f 0d 1c ca 1c 20 ee  20 b3 28 33 29 20 e5 20  | O.... . .(3) . |
00002160  8d 54 7e 5c 2c 8d 44 5c  5c 2c 8d 74 58 5c 0d 1c  |.T~\,.D\\,.tX\..|
00002170  d4 1c 20 f4 54 2a 2a 20  50 41 52 54 20 35 20 2d  |.. .T** PART 5 -|
00002180  20 46 55 4c 4c 20 4b 42  44 20 0d 1c de 1d 20 e7  | FULL KBD .... .|
00002190  20 43 48 41 52 3d 37 20  8c 20 3d 31 30 38 3a f4  | CHAR=7 . =108:.|
000021a0  46 4f 52 43 45 20 6c 0d  1c e8 14 20 e7 20 b3 28  |FORCE l.... . .(|
000021b0  33 29 3e 31 20 8c 20 8d  64 4a 5c 0d 1c f2 0e 20  |3)>1 . .dJ\.... |
000021c0  3d 39 36 2b b3 28 32 36  29 0d 1d 4b 14 20 f4 20  |=96+.(26)..K. . |
000021d0  45 4e 44 20 4f 46 20 46  4e 47 45 4e 45 0d 1f 40  |END OF FNGENE..@|
000021e0  12 20 dd f2 44 42 4c 28  58 24 2c 58 2c 59 29 0d  |. ..DBL(X$,X,Y).|
000021f0  1f 4a 17 20 f1 8a 58 2d  31 2c 59 29 3b bd 28 31  |.J. ..X-1,Y);.(1|
00002200  34 31 29 3b 58 24 0d 1f  54 19 20 f1 8a 58 2d 31  |41);X$..T. ..X-1|
00002210  2c 59 2b 31 29 3b bd 28  31 34 31 29 3b 58 24 0d  |,Y+1);.(141);X$.|
00002220  1f a3 06 20 e1 0d 1f a4  0e 20 dd f2 57 41 49 54  |... ..... ..WAIT|
00002230  28 58 29 0d 1f ae 08 20  ea 20 5a 0d 1f b8 08 20  |(X).... . Z.... |
00002240  5a 3d 91 0d 1f c2 12 20  f5 20 fd 20 91 2d 5a 3e  |Z=..... . . .-Z>|
00002250  58 2a 31 30 30 0d 20 07  06 20 e1 0d 20 08 0c 20  |X*100. .. .. .. |
00002260  dd f2 53 50 41 43 45 0d  20 1c 34 20 f1 8a 33 2c  |..SPACE. .4 ..3,|
00002270  32 32 29 3b 22 50 72 65  73 73 20 74 68 65 20 53  |22);"Press the S|
00002280  50 41 43 45 20 42 41 52  20 74 6f 20 63 6f 6e 74  |PACE BAR to cont|
00002290  69 6e 75 65 22 3b 3a f2  4b 43 4c 0d 20 30 0e 20  |inue";:.KCL. 0. |
000022a0  f5 20 fd 20 be 3d 22 20  22 0d 20 6b 06 20 e1 0d  |. . .=" ". k. ..|
000022b0  20 6c 10 20 dd f2 54 49  54 4c 45 50 41 47 45 0d  | l. ..TITLEPAGE.|
000022c0  20 76 36 20 db 3a f2 44  42 4c 28 22 4b 45 59 42  | v6 .:.DBL("KEYB|
000022d0  4f 41 52 44 22 2c 31 34  2c 38 29 3a f2 44 42 4c  |OARD",14,8):.DBL|
000022e0  28 22 46 41 4d 49 4c 49  41 52 49 54 59 22 2c 31  |("FAMILIARITY",1|
000022f0  33 2c 31 31 29 0d 20 80  13 20 f2 4f 46 46 3a 4e  |3,11). .. .OFF:N|
00002300  25 3d a6 28 35 30 30 29  0d 20 cf 06 20 e1 0d 22  |%=.(500). .. .."|
00002310  60 0a 20 dd f2 4b 43 4c  0d 22 6a 10 20 f5 20 fd  |`. ..KCL."j. . .|
00002320  20 a6 28 30 29 3d 2d 31  0d 22 c3 06 20 e1 0d 22  | .(0)=-1.".. .."|
00002330  c4 0a 20 dd f2 4f 46 46  0d 22 ce 16 20 ef 32 33  |.. ..OFF.".. .23|
00002340  3b 38 32 30 32 3b 30 3b  30 3b 30 3b 3a e1 0d 22  |;8202;0;0;0;:.."|
00002350  f6 09 20 dd f2 4f 4e 0d  23 00 17 20 ef 32 33 3b  |.. ..ON.#.. .23;|
00002360  32 39 31 39 34 3b 30 3b  30 3b 30 3b 3a e1 0d 23  |29194;0;0;0;:..#|
00002370  28 31 20 dd f2 47 50 49  28 46 32 2c 4d 4c 29 3a  |(1 ..GPI(F2,ML):|
00002380  f4 20 47 65 6e 65 72 61  6c 20 50 75 72 70 6f 73  |. General Purpos|
00002390  65 20 49 6e 70 75 74 20  52 6f 75 74 69 6e 65 0d  |e Input Routine.|
000023a0  23 32 0a 20 ea 42 2c 42  24 0d 23 3c 0a 20 41 24  |#2. .B,B$.#<. A$|
000023b0  3d 22 22 0d 23 46 2b 20  f1 c4 4d 4c 2c 22 20 22  |="".#F+ ..ML," "|
000023c0  29 3b c4 4d 4c 2b 31 2c  bd 28 38 29 29 3b bd 28  |);.ML+1,.(8));.(|
000023d0  26 38 37 29 3b 3a f2 4f  4e 3a f2 4b 43 4c 0d 23  |&87);:.ON:.KCL.#|
000023e0  50 1f 20 42 24 3d be 3a  42 3d 97 28 42 24 29 3a  |P. B$=.:B=.(B$):|
000023f0  e7 20 42 3d 31 33 20 8c  20 8d 64 66 63 0d 23 5a  |. B=13 . .dfc.#Z|
00002400  1c 20 e7 20 42 3d 31 32  37 20 80 20 41 24 3d 22  |. . B=127 . A$="|
00002410  22 20 8c 20 8d 44 50 63  20 0d 23 64 2a 20 e7 20  |" . .DPc .#d* . |
00002420  42 3d 31 32 37 20 8c 20  41 24 3d c0 41 24 2c a9  |B=127 . A$=.A$,.|
00002430  28 41 24 29 2d 31 29 3a  f1 42 24 3b 3a e5 8d 44  |(A$)-1):.B$;:..D|
00002440  50 63 20 0d 23 6e 25 20  e7 20 a9 28 41 24 29 3d  |Pc .#n% . .(A$)=|
00002450  4d 4c 20 84 20 42 3c 33  32 20 84 20 42 3e 31 32  |ML . B<32 . B>12|
00002460  36 20 8c 20 8d 64 52 63  0d 23 78 2b 20 e7 20 46  |6 . .dRc.#x+ . F|
00002470  32 3d 30 20 84 20 42 3d  33 32 20 84 20 28 42 3e  |2=0 . B=32 . (B>|
00002480  3d 34 38 20 80 20 42 3c  3d 35 37 29 20 8c 20 8d  |=48 . B<=57) . .|
00002490  64 5c 63 0d 23 d2 0d 20  ef 37 3a e5 8d 44 50 63  |d\c.#.. .7:..DPc|
000024a0  0d 23 dc 18 20 f1 42 24  3b 3a 41 24 3d 41 24 2b  |.#.. .B$;:A$=A$+|
000024b0  42 24 3a e5 8d 44 50 63  0d 23 e6 09 20 f2 4f 46  |B$:..DPc.#.. .OF|
000024c0  46 0d 23 ef 06 20 e1 0d  23 f0 0e 20 dd f2 59 45  |F.#.. ..#.. ..YE|
000024d0  53 4f 52 4e 4f 0d 23 fa  08 20 ea 42 24 0d 24 04  |SORNO.#.. .B$.$.|
000024e0  0e 20 f2 47 50 49 28 30  2c 33 29 0d 24 0e 0e 20  |. .GPI(0,3).$.. |
000024f0  42 24 3d c0 41 24 2c 31  29 0d 24 18 0a 20 59 25  |B$=.A$,1).$.. Y%|
00002500  3d 2d 31 0d 24 22 1d 20  e7 20 42 24 3d 22 59 22  |=-1.$". . B$="Y"|
00002510  20 84 20 42 24 3d 22 79  22 20 8c 20 59 25 3d 31  | . B$="y" . Y%=1|
00002520  0d 24 2c 1d 20 e7 20 42  24 3d 22 4e 22 20 84 20  |.$,. . B$="N" . |
00002530  42 24 3d 22 6e 22 20 8c  20 59 25 3d 30 0d 24 53  |B$="n" . Y%=0.$S|
00002540  06 20 e1 0d ff                                    |. ...|
00002545
KEYBOARD.m0
KEYBOARD.m1
KEYBOARD.m2
KEYBOARD.m4
KEYBOARD.m5