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

TELEPHONE

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: TELEPHONE
Read OK:
File size: 1C6B bytes
Load address: FFFF0E00
Exec address: FFFF8000
File contents
   10 REM TELEPHONE/Telephone Numbers DataBase
   12 REM Program by David Tee and Jerry Temple-Fry (NETHERHALL SCHOOL) and Richard G Warner
   13 REM Version 3 - 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
   60 CLS:ON ERROR GOTO800
  110 SIZE=32:REM MAX ENTRIES
  130 DIM NAME$(SIZE),PHONE$(SIZE),ACTNM$(SIZE),PHONE(SIZE)
  140 DIM SL(12),SR(12)
  150 PROCTITLEPAGE:PROCINFO
  160 A$=STRING$(32," ")
  190 PROCINPUT
  200 PROCTITLE("MENU")
  210 PRINT"   1 - Display List"'
  220 PRINT"   2 - Input New Entry"'
  230 PRINT"   3 - Change an Entry"'
  240 PRINT"   4 - Sort Alphabetically"'
  250 PRINT"   5 - Sort Numerically"'
  260 PRINT"   6 - Search Using Name"'
  270 PRINT"   7 - Search Using Number"'
  280 PRINT"   8 - Erase All Entries"'
  290 SEL=0
  300 PRINTTAB(3,22);"Type in the number you want: ";
  310 A$=GET$:IF ASC(A$)=13 THEN 380
  320 A=ASC(A$)-48:IF A<0 THEN A=A+16
  330 IF A<1 OR A>8 THEN310
  340 PRINTCHR$(A+48)
  350 IF SEL>0 THEN PRINTTAB(2,2*SEL+2);CHR$(&89);
  360 PRINTTAB(2,2*A+2);CHR$(&88);A;CHR$(&89)
  370 SEL=A:GOTO300
  380 IF SEL=0 THEN300
  500 ON SEL GOTO 510,520,530,540,550,560,570,580
  510 PROCDISPLAY:GOTO200
  520 PROCINPUT:GOTO200
  530 PROCEDIT:GOTO200
  540 PROCALFSRT:GOTO200
  550 PROCNUMSRT:GOTO200
  560 PROCALFSEA:GOTO200
  570 PROCNUMSEA:GOTO200
  580 PROCDELETE:GOTO200
  800 IF ERR<>17 THEN REPORT:PRINT" in line ";ERL:END
  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 200
  970 CLS:IF M%=0 THEN PRINTTAB(5,5);"Press the PLAY button"'"     on your tape recorder"
  990 CHAIN""
 4100 DEFPROCLEFTSEA
 4110 IF X=0 THEN ENDPROC
 4120 FOR I=1 TO X
 4130 IF LEFT$(NAME$(I),L)=A$ THEN PROCPRINT(I)
 4140 NEXT
 4199 ENDPROC
 4200 DEFPROCMIDSEA
 4210 IF X=0 THEN ENDPROC
 4220 FOR I=1 TO X
 4230 FOR J=1 TO LEN(NAME$(I))-L+1
 4240 IF MID$(NAME$(I),J,L)=A$ THEN PROCPRINT(I):GOTO4260
 4250 NEXTJ
 4260 NEXTI
 4299 ENDPROC
 4900 DEFPROCSWAP
 4910 W$=NAME$(I):V$=PHONE$(I):NAME$(I)=NAME$(J):PHONE$(I)=PHONE$(J):NAME$(J)=W$:PHONE$(J)=V$:W=PHONE(I):PHONE(I)=PHONE(J):PHONE(J)=W:W$=ACTNM$(I):ACTNM$(I)=ACTNM$(J):ACTNM$(J)=W$
 4999 ENDPROC
 5000 DEFPROCINPUT:REM GETS NAME & PHONE NO. FROM USER
 5010 PROCTITLE("INPUT NEW DATA")
 5020 IF X=SIZE THEN 5090
 5030 PROCRETURN
 5040 PRINTTAB(0,7);"Type in the name."'';X+1;". ";
 5050 PROCGPI(0,23):IF A$="" THEN 5099
 5060 X=X+1:NAME$(X)=A$
 5070 PRINT''"Now type in the phone number."'';X;". ";
 5080 PROCGPI(1,12):PHONE$(X)=A$:PROCPACK(X):GOTO5010
 5090 PRINTTAB(10,10);"There is no room";TAB(10,11);"to input entries.":PROCSPACE
 5099 ENDPROC
 5100 DEFPROCDISPLAY:REM DISPLAYS NAMES AND PHONE NOS
 5110 TITLE$="DISPLAY LIST"
 5120 PROCPRINTALL
 5199 ENDPROC
 5200 DEFPROCEDIT:REMT EDIT NAME AND/OR PHONE NO.
 5210 PROCTITLE("EDIT DATA")
 5220 PRINTTAB(0,5)"Type in the index number of the name"'"to be edited. ";
 5230 PROCGPI(1,3):A=VAL(A$):IF A=0 THEN ENDPROC
 5240 IF A>X THEN PROCERROR:GOTO5220
 5250 PROCTITLE(""):PRINT"Name: ";NAME$(A)
 5260 PRINT'"Number: ";PHONE$(A)
 5270 PRINT''"Type in the new name and press the "'"RETURN key. If the name is correct,"'"just press the RETURN key."'
 5290 PROCGPI(0,23):IF A$>"" THEN NAME$(A)=A$
 5300 PRINT''"Now type in the new phone number and"'"press the RETURN key. If the number is"'"correct, just press the RETURN key."'
 5310 PROCGPI(1,12):IF A$>"" THEN PHONE$(A)=A$
 5320 PROCPACK(A)
 5399 ENDPROC
 5400 DEFPROCALFSRT:REM DOES ALPHASORT
 5410 L=1:R=X:S=0
 5420 IF L>=R THEN 5500
 5430 I=L:J=R:X$=ACTNM$((L+R)DIV 2)
 5440 IF ACTNM$(I)<X$ THEN I=I+1:GOTO5440
 5450 IF X$<ACTNM$(J) THEN J=J-1:GOTO5450
 5460 IF I<J THEN PROCSWAP
 5470 IF I<=J THEN I=I+1:J=J-1:GOTO5440
 5480 S=S+1:SL(S)=I:SR(S)=R
 5490 R=J:GOTO5420
 5500 IF S=0 THEN 5550
 5510 L=SL(S):R=SR(S):S=S-1:GOTO5420
 5550 TITLE$="ALPHABETIC SORT"
 5560 PROCPRINTALL
 5599 ENDPROC
 5600 DEFPROCNUMSRT:REM NUMERIC SORT
 5610 L=1:R=X:S=0
 5620 IF L>=R THEN 5700
 5630 I=L:J=R:XX=PHONE((L+R)DIV 2)
 5640 IF PHONE(I)<XX THEN I=I+1:GOTO5640
 5650 IF XX<PHONE(J) THEN J=J-1:GOTO5650
 5660 IF I<J THEN PROCSWAP
 5670 IF I<=J THEN I=I+1:J=J-1:GOTO5640
 5680 S=S+1:SL(S)=I:SR(S)=R
 5690 R=J:GOTO5620
 5700 IF S=0 THEN 5750
 5710 L=SL(S):R=SR(S):S=S-1:GOTO5620
 5750 TITLE$="NUMERIC SORT"
 5760 PROCPRINTALL
 5799 ENDPROC
 5800 DEFPROCALFSEA:REM ALPHABETIC SEARCH FOR NAMES
 5810 PROCTITLE("ALPHABETIC SEARCH")
 5820 PROCRETURN:PRINTTAB(0,3):F1=0
 5830 PRINT"Do you want:-"
 5840 PRINT''" A) to search for the first few letters"'"    of a name"'
 5850 PRINT" B) to search for some letters within"'"    a name"'
 5860 PRINT"Type 'A' or 'B': ";:PROCGPI(0,1)
 5870 IF A$="" THEN ENDPROC
 5880 IF A$="A" OR A$="a" THEN FLAG=1:GOTO5900
 5890 IF A$="B" OR A$="b" THEN FLAG=0 ELSE 5810
 5900 PRINT''"Type in the letters that you want to"'"search for: ";
 5910 PROCGPI(0,20):L=LEN(A$):PGCNT=0:FOUND=0
 5920 IF FLAG=0 THEN PROCMIDSEA ELSE PROCLEFTSEA
 5930 PROCCHECKMATCH("letters"):GOTO5810
 5999 ENDPROC
 6000 DEFPROCNUMSEA:REM NUMERIC SORT FOR PHONE NOS.
 6010 PROCTITLE("NUMERIC SEARCH")
 6020 PGCNT=0:PROCRETURN:FOUND=0:PRINTTAB(0,3)
 6030 PRINT''"If you type in any of the numbers that"'"you think are in the telephone number"'"that you want, the program will search"'"for them: ";
 6040 PROCGPI(1,16):L=LEN(A$):IF L=0 THEN ENDPROC
 6045 IF X=0 THEN 6100
 6050 FOR I=1 TO X
 6060 FOR J=1 TO LEN(PHONE$(I))-L+1
 6070 IF MID$(PHONE$(I),J,L)=A$ THEN PROCPRINT(I):FOUND=1:GOTO6090
 6080 NEXTJ
 6090 NEXTI
 6100 PROCCHECKMATCH("numbers"):GOTO6010
 6199 ENDPROC
 6200 DEFPROCDELETE:REM DELETE ALL ENTRIES
 6210 PROCTITLE("ERASE ALL ENTRIES")
 6220 PRINTTAB(6,12);"Are you sure that you wish"
 6230 PRINTTAB(8,13);"to erase all entries? ";
 6240 PROCYESORNO:IF Y%<0 THEN 6210
 6250 IF Y%=1 THEN X=0
 6299 ENDPROC
 6300 DEFPROCINFO
 6310 CLS:PRINT''
 6320 PRINT"   In this program you will be able"
 6330 PRINT"   to enter up to ";SIZE;" names and"
 6340 PRINT"   telephone numbers."'
 6350 PRINT"   You can sort these entries"
 6360 PRINT"   alphabetically or numerically."
 6370 PRINT"   You can also search by name or"
 6380 PRINT"   number."'
 6400 PRINT"   At the start of the program"
 6410 PRINT"   there is a menu. To select an"
 6420 PRINT"   option, you will need to type"
 6430 PRINT"   the number selected followed"
 6440 PRINT"   by RETURN.":PROCSPACE
 6499 ENDPROC
 7000 DEFPROCTITLE(E$)
 7010 IF E$>"" THEN TITLE$=E$
 7020 CLS:PRINTSTRING$(40,"*")
 7030 PRINTTAB(20-LEN(TITLE$)/2,1);TITLE$
 7040 PRINTSTRING$(40,"*")
 7099 ENDPROC
 7100 DEFPROCPACK(I)
 7110 T$=""
 7120 FOR J=1 TO LEN(NAME$(I))
 7130 X$=MID$(NAME$(I),J,1)
 7140 IF ASC(X$)>96 THEN X$=CHR$(ASC(X$)-32)
 7150 T$=T$+X$
 7160 NEXTJ
 7170 ACTNM$(I)=T$
 7200 T$=""
 7210 FOR LP=1 TO LEN(PHONE$(I))
 7220 IF MID$(PHONE$(I),LP,1)=" " THEN 7240
 7230 T$=T$+MID$(PHONE$(I),LP,1)
 7240 NEXTLP
 7250 PHONE(I)=VAL(T$)
 7299 ENDPROC
 7300 DEFPROCPRINT(I):REM PRINTS Ith NAME AND NUMBER
 7310 LOCALL
 7320 IF PGCNT=8 THEN PROCSPACE:PGCNT=0
 7330 IF PGCNT=0 THEN PROCTITLE("")
 7340 L=PGCNT*2+4
 7350 PRINTTAB(1,L);I;TAB(4,L);NAME$(I);TAB(28,L);PHONE$(I)
 7360 PGCNT=PGCNT+1
 7370 FOUND=1
 7399 ENDPROC
 7400 DEFPROCPRINTALL
 7410 PGCNT=0:IF X=0 THEN 7450
 7420 FOR I=1 TO X
 7430 PROCPRINT(I)
 7440 NEXT:GOTO7490
 7450 PROCTITLE("")
 7460 PRINT''"There is no data in the memory. Please"''"type some in or press the 'ESC' key"''"to leave the program."
 7490 PROCSPACE
 7499 ENDPROC
 7500 DEFPROCCHECKMATCH(E$)
 7510 IF FOUND=1 THEN7540
 7520 PROCTITLE("")
 7530 PRINTTAB(0,10)"There is no match for the "E$'"that you have typed in."
 7540 PROCSPACE
 7599 ENDPROC
 7600 DEFPROCRETURN
 7610 PRINTTAB(7,21);"To return to the MENU";TAB(7,22);"press the RETURN key."
 7699 ENDPROC
 7800 DEFPROCERROR
 7810 LOCALK
 7820 PRINTTAB(0,20);"There is no entry with this index."
 7830 PROCSPACE
 7840 FOR K=20 TO 22
 7850 PRINTTAB(0,K);SPC(39)
 7860 NEXTK
 7899 ENDPROC
 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("Telephone",12,8):PROCDBL("Numbers",13,11)
 8320 PROCOFF:I%=INKEY(500)
 8399 ENDPROC
 8800 DEFPROCKCL
 8810 IF INKEY$(0)>"" THEN 8810
 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

+ � TELEPHONE/Telephone Numbers DataBase
Y � Program by David Tee and Jerry Temple-Fry (NETHERHALL SCHOOL) and Richard G Warner

 � Version 3 - 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
< �:� � �T`C
n SIZE=32:� MAX ENTRIES
�8 � NAME$(SIZE),PHONE$(SIZE),ACTNM$(SIZE),PHONE(SIZE)
� � SL(12),SR(12)
� �TITLEPAGE:�INFO
� A$=�32," ")
� �INPUT
� �TITLE("MENU")
� �"   1 - Display List"'
� �"   2 - Input New Entry"'
� �"   3 - Change an Entry"'
�# �"   4 - Sort Alphabetically"'
�  �"   5 - Sort Numerically"'
! �"   6 - Search Using Name"'
# �"   7 - Search Using Number"'
! �"   8 - Erase All Entries"'
"
 SEL=0
,- �3,22);"Type in the number you want: ";
6 A$=�:� �(A$)=13 � �D|A
@ A=�(A$)-48:� A<0 � A=A+16
J � A<1 � A>8 ��TvA
T
 �(A+48)
^# � SEL>0 � �2,2*SEL+2);�(&89);
h �2,2*A+2);�(&88);A;�(&89)
r SEL=A:�TlA
| � SEL=0 ��TlA
�4 � SEL � �d~A,�THB,�TRB,�T\B,�TfB,�TpB,�TzB,�DDB
� �DISPLAY:�dH@
 �INPUT:�dH@
 �EDIT:�dH@
 �ALFSRT:�dH@
& �NUMSRT:�dH@
0 �ALFSEA:�dH@
: �NUMSEA:�dH@
D �DELETE:�dH@
 ! � �<>17 � �:�" in line ";�:�
� �
� �5,9);
� �"Do you want to go on to"
�) �"     the next program (Yes/No)? ";
� �YESORNO:� Y%<0 � �tNC
� � Y%=0 � �dH@
�K �:� M%=0 � �5,5);"Press the PLAY button"'"     on your tape recorder"
� �""
 ��LEFTSEA
 � X=0 � �
 � I=1 � X
"" � �NAME$(I),L)=A$ � �PRINT(I)
, �
g �
h
 ��MIDSEA
r � X=0 � �
| � I=1 � X
� � J=1 � �(NAME$(I))-L+1
�* � �NAME$(I),J,L)=A$ � �PRINT(I):�tdP
� �J
� �I
� �
$ ��SWAP
.� W$=NAME$(I):V$=PHONE$(I):NAME$(I)=NAME$(J):PHONE$(I)=PHONE$(J):NAME$(J)=W$:PHONE$(J)=V$:W=PHONE(I):PHONE(I)=PHONE(J):PHONE(J)=W:W$=ACTNM$(I):ACTNM$(I)=ACTNM$(J):ACTNM$(J)=W$
� �
�. ��INPUT:� GETS NAME & PHONE NO. FROM USER
� �TITLE("INPUT NEW DATA")
� � X=SIZE � �dbS
� �RETURN
�+ �0,7);"Type in the name."'';X+1;". ";
� �GPI(0,23):� A$="" � �dkS
� X=X+1:NAME$(X)=A$
�1 �''"Now type in the phone number."'';X;". ";
�+ �GPI(1,12):PHONE$(X)=A$:�PACK(X):�tRS
�C �10,10);"There is no room";�10,11);"to input entries.":�SPACE
� �
�- ��DISPLAY:� DISPLAYS NAMES AND PHONE NOS
� TITLE$="DISPLAY LIST"
 �PRINTALL
O �
P) ��EDIT:�T EDIT NAME AND/OR PHONE NO.
Z �TITLE("EDIT DATA")
dC �0,5)"Type in the index number of the name"'"to be edited. ";
n  �GPI(1,3):A=�(A$):� A=0 � �
x � A>X � �ERROR:�DdT
�" �TITLE(""):�"Name: ";NAME$(A)
� �'"Number: ";PHONE$(A)
�q �''"Type in the new name and press the "'"RETURN key. If the name is correct,"'"just press the RETURN key."'
�% �GPI(0,23):� A$>"" � NAME$(A)=A$
�~ �''"Now type in the new phone number and"'"press the RETURN key. If the number is"'"correct, just press the RETURN key."'
�& �GPI(1,12):� A$>"" � PHONE$(A)=A$
�
 �PACK(A)
 �
 ��ALFSRT:� DOES ALPHASORT
" L=1:R=X:S=0
, � L>=R � �D|U
6  I=L:J=R:X$=ACTNM$((L+R)� 2)
@! � ACTNM$(I)<X$ � I=I+1:�D@U
J! � X$<ACTNM$(J) � J=J-1:�DJU
T � I<J � �SWAP
^ � I<=J � I=I+1:J=J-1:�D@U
h S=S+1:SL(S)=I:SR(S)=R
r R=J:�TlU
| � S=0 � �tnU
�  L=SL(S):R=SR(S):S=S-1:�TlU
� TITLE$="ALPHABETIC SORT"
� �PRINTALL
� �
� ��NUMSRT:� NUMERIC SORT
� L=1:R=X:S=0
� � L>=R � �DDV
� I=L:J=R:XX=PHONE((L+R)� 2)
  � PHONE(I)<XX � I=I+1:�THV
  � XX<PHONE(J) � J=J-1:�TRV
 � I<J � �SWAP
& � I<=J � I=I+1:J=J-1:�THV
0 S=S+1:SL(S)=I:SR(S)=R
: R=J:�dtU
D � S=0 � �DvV
N  L=SL(S):R=SR(S):S=S-1:�dtU
v TITLE$="NUMERIC SORT"
� �PRINTALL
� �
�+ ��ALFSEA:� ALPHABETIC SEARCH FOR NAMES
�  �TITLE("ALPHABETIC SEARCH")
� �RETURN:�0,3):F1=0
� �"Do you want:-"
�B �''" A) to search for the first few letters"'"    of a name"'
�; �" B) to search for some letters within"'"    a name"'
�$ �"Type 'A' or 'B': ";:�GPI(0,1)
� � A$="" � �
�% � A$="A" � A$="a" � FLAG=1:�TLW
& � A$="B" � A$="b" � FLAG=0 � �trV
> �''"Type in the letters that you want to"'"search for: ";
' �GPI(0,20):L=�(A$):PGCNT=0:FOUND=0
 " � FLAG=0 � �MIDSEA � �LEFTSEA
*! �CHECKMATCH("letters"):�trV
o �
p+ ��NUMSEA:� NUMERIC SORT FOR PHONE NOS.
z �TITLE("NUMERIC SEARCH")
�# PGCNT=0:�RETURN:FOUND=0:�0,3)
�� �''"If you type in any of the numbers that"'"you think are in the telephone number"'"that you want, the program will search"'"for them: ";
�! �GPI(1,16):L=�(A$):� L=0 � �
� � X=0 � �dTW
� � I=1 � X
� � J=1 � �(PHONE$(I))-L+1
�3 � �PHONE$(I),J,L)=A$ � �PRINT(I):FOUND=1:�dJW
� �J
� �I
�! �CHECKMATCH("numbers"):�DzW
7 �
8" ��DELETE:� DELETE ALL ENTRIES
B  �TITLE("ERASE ALL ENTRIES")
L) �6,12);"Are you sure that you wish"
V& �8,13);"to erase all entries? ";
` �YESORNO:� Y%<0 � �DBX
j � Y%=1 � X=0
� �
� ��INFO
�
 �:�''
�+ �"   In this program you will be able"
�, �"   to enter up to ";SIZE;" names and"
� �"   telephone numbers."'
�% �"   You can sort these entries"
�) �"   alphabetically or numerically."
�) �"   You can also search by name or"
� �"   number."'
& �"   At the start of the program"

( �"   there is a menu. To select an"
( �"   option, you will need to type"
' �"   the number selected followed"
( �"   by RETURN.":�SPACE
c �
X ��TITLE(E$)
b � E$>"" � TITLE$=E$
l �:��40,"*")
v �20-�(TITLE$)/2,1);TITLE$
� ��40,"*")
� �
� ��PACK(I)
�
 T$=""
� � J=1 � �(NAME$(I))
� X$=�NAME$(I),J,1)
�  � �(X$)>96 � X$=�(�(X$)-32)
�
 T$=T$+X$
� �J
 ACTNM$(I)=T$
 
 T$=""
* � LP=1 � �(PHONE$(I))
4" � �PHONE$(I),LP,1)=" " � �DH\
> T$=T$+�PHONE$(I),LP,1)
H �LP
R PHONE(I)=�(T$)
� �
�, ��PRINT(I):� PRINTS Ith NAME AND NUMBER
� �L
� � PGCNT=8 � �SPACE:PGCNT=0
� � PGCNT=0 � �TITLE("")
� L=PGCNT*2+4
�- �1,L);I;�4,L);NAME$(I);�28,L);PHONE$(I)
� PGCNT=PGCNT+1
� FOUND=1
� �
� ��PRINTALL
� PGCNT=0:� X=0 � �TZ]
� � I=1 � X
 �PRINT(I)
 �:�DB]
 �TITLE("")
$p �''"There is no data in the memory. Please"''"type some in or press the 'ESC' key"''"to leave the program."
B �SPACE
K �
L ��CHECKMATCH(E$)
V � FOUND=1 ��Dt]
` �TITLE("")
jD �0,10)"There is no match for the "E$'"that you have typed in."
t �SPACE
� �
�
 ��RETURN
�C �7,21);"To return to the MENU";�7,22);"press the RETURN key."
 �
x ��ERROR
� �K
�1 �0,20);"There is no entry with this index."
� �SPACE
� � K=20 � 22
� �0,K);�(39)
� �K
� �
@ ��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
 v3 �:�DBL("Telephone",12,8):�DBL("Numbers",13,11)
 � �OFF:I%=�(500)
 � �
"`
 ��KCL
"j � �(0)>"" � �Djb
"� �
"�
 ��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 2b 20 f4 20 54  45 4c 45 50 48 4f 4e 45  |...+ . TELEPHONE|
00000010  2f 54 65 6c 65 70 68 6f  6e 65 20 4e 75 6d 62 65  |/Telephone Numbe|
00000020  72 73 20 44 61 74 61 42  61 73 65 0d 00 0c 59 20  |rs DataBase...Y |
00000030  f4 20 50 72 6f 67 72 61  6d 20 62 79 20 44 61 76  |. Program by Dav|
00000040  69 64 20 54 65 65 20 61  6e 64 20 4a 65 72 72 79  |id Tee and Jerry|
00000050  20 54 65 6d 70 6c 65 2d  46 72 79 20 28 4e 45 54  | Temple-Fry (NET|
00000060  48 45 52 48 41 4c 4c 20  53 43 48 4f 4f 4c 29 20  |HERHALL SCHOOL) |
00000070  61 6e 64 20 52 69 63 68  61 72 64 20 47 20 57 61  |and Richard G Wa|
00000080  72 6e 65 72 0d 00 0d 1f  20 f4 20 56 65 72 73 69  |rner.... . Versi|
00000090  6f 6e 20 33 20 2d 20 4f  63 74 6f 62 65 72 20 31  |on 3 - October 1|
000000a0  39 38 31 0d 00 0e 30 20  f4 20 46 6f 72 20 42 42  |981...0 . For BB|
000000b0  43 20 4d 6f 64 65 6c 20  41 20 4d 69 63 72 6f 63  |C Model A Microc|
000000c0  6f 6d 70 75 74 65 72 20  31 36 4b 20 4d 69 6e 69  |omputer 16K Mini|
000000d0  6d 75 6d 0d 00 28 0e 20  ee 20 85 20 e5 8d 54 72  |mum..(. . . ..Tr|
000000e0  40 0d 00 32 54 20 eb 37  3a e7 20 4d 25 3d 30 20  |@..2T .7:. M%=0 |
000000f0  8c 20 f1 8a 35 2c 31 36  29 3b 22 50 72 65 73 73  |. ..5,16);"Press|
00000100  20 74 68 65 20 53 54 4f  50 20 62 75 74 74 6f 6e  | the STOP button|
00000110  22 27 22 20 20 20 20 20  6f 6e 20 79 6f 75 72 20  |"'"     on your |
00000120  74 61 70 65 20 72 65 63  6f 72 64 65 72 22 3a f2  |tape recorder":.|
00000130  53 50 41 43 45 0d 00 3c  10 20 db 3a ee 20 85 20  |SPACE..<. .:. . |
00000140  e5 8d 54 60 43 0d 00 6e  1a 20 53 49 5a 45 3d 33  |..T`C..n. SIZE=3|
00000150  32 3a f4 20 4d 41 58 20  45 4e 54 52 49 45 53 0d  |2:. MAX ENTRIES.|
00000160  00 82 38 20 de 20 4e 41  4d 45 24 28 53 49 5a 45  |..8 . NAME$(SIZE|
00000170  29 2c 50 48 4f 4e 45 24  28 53 49 5a 45 29 2c 41  |),PHONE$(SIZE),A|
00000180  43 54 4e 4d 24 28 53 49  5a 45 29 2c 50 48 4f 4e  |CTNM$(SIZE),PHON|
00000190  45 28 53 49 5a 45 29 0d  00 8c 14 20 de 20 53 4c  |E(SIZE).... . SL|
000001a0  28 31 32 29 2c 53 52 28  31 32 29 0d 00 96 15 20  |(12),SR(12).... |
000001b0  f2 54 49 54 4c 45 50 41  47 45 3a f2 49 4e 46 4f  |.TITLEPAGE:.INFO|
000001c0  0d 00 a0 10 20 41 24 3d  c4 33 32 2c 22 20 22 29  |.... A$=.32," ")|
000001d0  0d 00 be 0b 20 f2 49 4e  50 55 54 0d 00 c8 13 20  |.... .INPUT.... |
000001e0  f2 54 49 54 4c 45 28 22  4d 45 4e 55 22 29 0d 00  |.TITLE("MENU")..|
000001f0  d2 1c 20 f1 22 20 20 20  31 20 2d 20 44 69 73 70  |.. ."   1 - Disp|
00000200  6c 61 79 20 4c 69 73 74  22 27 0d 00 dc 1f 20 f1  |lay List"'.... .|
00000210  22 20 20 20 32 20 2d 20  49 6e 70 75 74 20 4e 65  |"   2 - Input Ne|
00000220  77 20 45 6e 74 72 79 22  27 0d 00 e6 1f 20 f1 22  |w Entry"'.... ."|
00000230  20 20 20 33 20 2d 20 43  68 61 6e 67 65 20 61 6e  |   3 - Change an|
00000240  20 45 6e 74 72 79 22 27  0d 00 f0 23 20 f1 22 20  | Entry"'...# ." |
00000250  20 20 34 20 2d 20 53 6f  72 74 20 41 6c 70 68 61  |  4 - Sort Alpha|
00000260  62 65 74 69 63 61 6c 6c  79 22 27 0d 00 fa 20 20  |betically"'...  |
00000270  f1 22 20 20 20 35 20 2d  20 53 6f 72 74 20 4e 75  |."   5 - Sort Nu|
00000280  6d 65 72 69 63 61 6c 6c  79 22 27 0d 01 04 21 20  |merically"'...! |
00000290  f1 22 20 20 20 36 20 2d  20 53 65 61 72 63 68 20  |."   6 - Search |
000002a0  55 73 69 6e 67 20 4e 61  6d 65 22 27 0d 01 0e 23  |Using Name"'...#|
000002b0  20 f1 22 20 20 20 37 20  2d 20 53 65 61 72 63 68  | ."   7 - Search|
000002c0  20 55 73 69 6e 67 20 4e  75 6d 62 65 72 22 27 0d  | Using Number"'.|
000002d0  01 18 21 20 f1 22 20 20  20 38 20 2d 20 45 72 61  |..! ."   8 - Era|
000002e0  73 65 20 41 6c 6c 20 45  6e 74 72 69 65 73 22 27  |se All Entries"'|
000002f0  0d 01 22 0a 20 53 45 4c  3d 30 0d 01 2c 2d 20 f1  |..". SEL=0..,- .|
00000300  8a 33 2c 32 32 29 3b 22  54 79 70 65 20 69 6e 20  |.3,22);"Type in |
00000310  74 68 65 20 6e 75 6d 62  65 72 20 79 6f 75 20 77  |the number you w|
00000320  61 6e 74 3a 20 22 3b 0d  01 36 1b 20 41 24 3d be  |ant: ";..6. A$=.|
00000330  3a e7 20 97 28 41 24 29  3d 31 33 20 8c 20 8d 44  |:. .(A$)=13 . .D|
00000340  7c 41 0d 01 40 1e 20 41  3d 97 28 41 24 29 2d 34  ||A..@. A=.(A$)-4|
00000350  38 3a e7 20 41 3c 30 20  8c 20 41 3d 41 2b 31 36  |8:. A<0 . A=A+16|
00000360  0d 01 4a 16 20 e7 20 41  3c 31 20 84 20 41 3e 38  |..J. . A<1 . A>8|
00000370  20 8c 8d 54 76 41 0d 01  54 0d 20 f1 bd 28 41 2b  | ..TvA..T. ..(A+|
00000380  34 38 29 0d 01 5e 23 20  e7 20 53 45 4c 3e 30 20  |48)..^# . SEL>0 |
00000390  8c 20 f1 8a 32 2c 32 2a  53 45 4c 2b 32 29 3b bd  |. ..2,2*SEL+2);.|
000003a0  28 26 38 39 29 3b 0d 01  68 1f 20 f1 8a 32 2c 32  |(&89);..h. ..2,2|
000003b0  2a 41 2b 32 29 3b bd 28  26 38 38 29 3b 41 3b bd  |*A+2);.(&88);A;.|
000003c0  28 26 38 39 29 0d 01 72  10 20 53 45 4c 3d 41 3a  |(&89)..r. SEL=A:|
000003d0  e5 8d 54 6c 41 0d 01 7c  12 20 e7 20 53 45 4c 3d  |..TlA..|. . SEL=|
000003e0  30 20 8c 8d 54 6c 41 0d  01 f4 34 20 ee 20 53 45  |0 ..TlA...4 . SE|
000003f0  4c 20 e5 20 8d 64 7e 41  2c 8d 54 48 42 2c 8d 54  |L . .d~A,.THB,.T|
00000400  52 42 2c 8d 54 5c 42 2c  8d 54 66 42 2c 8d 54 70  |RB,.T\B,.TfB,.Tp|
00000410  42 2c 8d 54 7a 42 2c 8d  44 44 42 0d 01 fe 13 20  |B,.TzB,.DDB.... |
00000420  f2 44 49 53 50 4c 41 59  3a e5 8d 64 48 40 0d 02  |.DISPLAY:..dH@..|
00000430  08 11 20 f2 49 4e 50 55  54 3a e5 8d 64 48 40 0d  |.. .INPUT:..dH@.|
00000440  02 12 10 20 f2 45 44 49  54 3a e5 8d 64 48 40 0d  |... .EDIT:..dH@.|
00000450  02 1c 12 20 f2 41 4c 46  53 52 54 3a e5 8d 64 48  |... .ALFSRT:..dH|
00000460  40 0d 02 26 12 20 f2 4e  55 4d 53 52 54 3a e5 8d  |@..&. .NUMSRT:..|
00000470  64 48 40 0d 02 30 12 20  f2 41 4c 46 53 45 41 3a  |dH@..0. .ALFSEA:|
00000480  e5 8d 64 48 40 0d 02 3a  12 20 f2 4e 55 4d 53 45  |..dH@..:. .NUMSE|
00000490  41 3a e5 8d 64 48 40 0d  02 44 12 20 f2 44 45 4c  |A:..dH@..D. .DEL|
000004a0  45 54 45 3a e5 8d 64 48  40 0d 03 20 21 20 e7 20  |ETE:..dH@.. ! . |
000004b0  9f 3c 3e 31 37 20 8c 20  f6 3a f1 22 20 69 6e 20  |.<>17 . .:." in |
000004c0  6c 69 6e 65 20 22 3b 9e  3a e0 0d 03 84 06 20 db  |line ";.:..... .|
000004d0  0d 03 8e 0c 20 f1 8a 35  2c 39 29 3b 0d 03 98 1f  |.... ..5,9);....|
000004e0  20 f1 22 44 6f 20 79 6f  75 20 77 61 6e 74 20 74  | ."Do you want t|
000004f0  6f 20 67 6f 20 6f 6e 20  74 6f 22 0d 03 a2 29 20  |o go on to"...) |
00000500  f1 22 20 20 20 20 20 74  68 65 20 6e 65 78 74 20  |."     the next |
00000510  70 72 6f 67 72 61 6d 20  28 59 65 73 2f 4e 6f 29  |program (Yes/No)|
00000520  3f 20 22 3b 0d 03 ac 1b  20 f2 59 45 53 4f 52 4e  |? ";.... .YESORN|
00000530  4f 3a e7 20 59 25 3c 30  20 8c 20 8d 74 4e 43 0d  |O:. Y%<0 . .tNC.|
00000540  03 b6 12 20 e7 20 59 25  3d 30 20 8c 20 8d 64 48  |... . Y%=0 . .dH|
00000550  40 0d 03 ca 4b 20 db 3a  e7 20 4d 25 3d 30 20 8c  |@...K .:. M%=0 .|
00000560  20 f1 8a 35 2c 35 29 3b  22 50 72 65 73 73 20 74  | ..5,5);"Press t|
00000570  68 65 20 50 4c 41 59 20  62 75 74 74 6f 6e 22 27  |he PLAY button"'|
00000580  22 20 20 20 20 20 6f 6e  20 79 6f 75 72 20 74 61  |"     on your ta|
00000590  70 65 20 72 65 63 6f 72  64 65 72 22 0d 03 de 08  |pe recorder"....|
000005a0  20 d7 22 22 0d 10 04 0e  20 dd f2 4c 45 46 54 53  | ."".... ..LEFTS|
000005b0  45 41 0d 10 0e 0e 20 e7  20 58 3d 30 20 8c 20 e1  |EA.... . X=0 . .|
000005c0  0d 10 18 0e 20 e3 20 49  3d 31 20 b8 20 58 0d 10  |.... . I=1 . X..|
000005d0  22 22 20 e7 20 c0 4e 41  4d 45 24 28 49 29 2c 4c  |"" . .NAME$(I),L|
000005e0  29 3d 41 24 20 8c 20 f2  50 52 49 4e 54 28 49 29  |)=A$ . .PRINT(I)|
000005f0  0d 10 2c 06 20 ed 0d 10  67 06 20 e1 0d 10 68 0d  |..,. ...g. ...h.|
00000600  20 dd f2 4d 49 44 53 45  41 0d 10 72 0e 20 e7 20  | ..MIDSEA..r. . |
00000610  58 3d 30 20 8c 20 e1 0d  10 7c 0e 20 e3 20 49 3d  |X=0 . ...|. . I=|
00000620  31 20 b8 20 58 0d 10 86  1c 20 e3 20 4a 3d 31 20  |1 . X.... . J=1 |
00000630  b8 20 a9 28 4e 41 4d 45  24 28 49 29 29 2d 4c 2b  |. .(NAME$(I))-L+|
00000640  31 0d 10 90 2a 20 e7 20  c1 4e 41 4d 45 24 28 49  |1...* . .NAME$(I|
00000650  29 2c 4a 2c 4c 29 3d 41  24 20 8c 20 f2 50 52 49  |),J,L)=A$ . .PRI|
00000660  4e 54 28 49 29 3a e5 8d  74 64 50 0d 10 9a 07 20  |NT(I):..tdP.... |
00000670  ed 4a 0d 10 a4 07 20 ed  49 0d 10 cb 06 20 e1 0d  |.J.... .I.... ..|
00000680  13 24 0b 20 dd f2 53 57  41 50 0d 13 2e b2 20 57  |.$. ..SWAP.... W|
00000690  24 3d 4e 41 4d 45 24 28  49 29 3a 56 24 3d 50 48  |$=NAME$(I):V$=PH|
000006a0  4f 4e 45 24 28 49 29 3a  4e 41 4d 45 24 28 49 29  |ONE$(I):NAME$(I)|
000006b0  3d 4e 41 4d 45 24 28 4a  29 3a 50 48 4f 4e 45 24  |=NAME$(J):PHONE$|
000006c0  28 49 29 3d 50 48 4f 4e  45 24 28 4a 29 3a 4e 41  |(I)=PHONE$(J):NA|
000006d0  4d 45 24 28 4a 29 3d 57  24 3a 50 48 4f 4e 45 24  |ME$(J)=W$:PHONE$|
000006e0  28 4a 29 3d 56 24 3a 57  3d 50 48 4f 4e 45 28 49  |(J)=V$:W=PHONE(I|
000006f0  29 3a 50 48 4f 4e 45 28  49 29 3d 50 48 4f 4e 45  |):PHONE(I)=PHONE|
00000700  28 4a 29 3a 50 48 4f 4e  45 28 4a 29 3d 57 3a 57  |(J):PHONE(J)=W:W|
00000710  24 3d 41 43 54 4e 4d 24  28 49 29 3a 41 43 54 4e  |$=ACTNM$(I):ACTN|
00000720  4d 24 28 49 29 3d 41 43  54 4e 4d 24 28 4a 29 3a  |M$(I)=ACTNM$(J):|
00000730  41 43 54 4e 4d 24 28 4a  29 3d 57 24 0d 13 87 06  |ACTNM$(J)=W$....|
00000740  20 e1 0d 13 88 2e 20 dd  f2 49 4e 50 55 54 3a f4  | ..... ..INPUT:.|
00000750  20 47 45 54 53 20 4e 41  4d 45 20 26 20 50 48 4f  | GETS NAME & PHO|
00000760  4e 45 20 4e 4f 2e 20 46  52 4f 4d 20 55 53 45 52  |NE NO. FROM USER|
00000770  0d 13 92 1d 20 f2 54 49  54 4c 45 28 22 49 4e 50  |.... .TITLE("INP|
00000780  55 54 20 4e 45 57 20 44  41 54 41 22 29 0d 13 9c  |UT NEW DATA")...|
00000790  14 20 e7 20 58 3d 53 49  5a 45 20 8c 20 8d 64 62  |. . X=SIZE . .db|
000007a0  53 0d 13 a6 0c 20 f2 52  45 54 55 52 4e 0d 13 b0  |S.... .RETURN...|
000007b0  2b 20 f1 8a 30 2c 37 29  3b 22 54 79 70 65 20 69  |+ ..0,7);"Type i|
000007c0  6e 20 74 68 65 20 6e 61  6d 65 2e 22 27 27 3b 58  |n the name."'';X|
000007d0  2b 31 3b 22 2e 20 22 3b  0d 13 ba 1e 20 f2 47 50  |+1;". ";.... .GP|
000007e0  49 28 30 2c 32 33 29 3a  e7 20 41 24 3d 22 22 20  |I(0,23):. A$="" |
000007f0  8c 20 8d 64 6b 53 0d 13  c4 16 20 58 3d 58 2b 31  |. .dkS.... X=X+1|
00000800  3a 4e 41 4d 45 24 28 58  29 3d 41 24 0d 13 ce 31  |:NAME$(X)=A$...1|
00000810  20 f1 27 27 22 4e 6f 77  20 74 79 70 65 20 69 6e  | .''"Now type in|
00000820  20 74 68 65 20 70 68 6f  6e 65 20 6e 75 6d 62 65  | the phone numbe|
00000830  72 2e 22 27 27 3b 58 3b  22 2e 20 22 3b 0d 13 d8  |r."'';X;". ";...|
00000840  2b 20 f2 47 50 49 28 31  2c 31 32 29 3a 50 48 4f  |+ .GPI(1,12):PHO|
00000850  4e 45 24 28 58 29 3d 41  24 3a f2 50 41 43 4b 28  |NE$(X)=A$:.PACK(|
00000860  58 29 3a e5 8d 74 52 53  0d 13 e2 43 20 f1 8a 31  |X):..tRS...C ..1|
00000870  30 2c 31 30 29 3b 22 54  68 65 72 65 20 69 73 20  |0,10);"There is |
00000880  6e 6f 20 72 6f 6f 6d 22  3b 8a 31 30 2c 31 31 29  |no room";.10,11)|
00000890  3b 22 74 6f 20 69 6e 70  75 74 20 65 6e 74 72 69  |;"to input entri|
000008a0  65 73 2e 22 3a f2 53 50  41 43 45 0d 13 eb 06 20  |es.":.SPACE.... |
000008b0  e1 0d 13 ec 2d 20 dd f2  44 49 53 50 4c 41 59 3a  |....- ..DISPLAY:|
000008c0  f4 20 44 49 53 50 4c 41  59 53 20 4e 41 4d 45 53  |. DISPLAYS NAMES|
000008d0  20 41 4e 44 20 50 48 4f  4e 45 20 4e 4f 53 0d 13  | AND PHONE NOS..|
000008e0  f6 1a 20 54 49 54 4c 45  24 3d 22 44 49 53 50 4c  |.. TITLE$="DISPL|
000008f0  41 59 20 4c 49 53 54 22  0d 14 00 0e 20 f2 50 52  |AY LIST".... .PR|
00000900  49 4e 54 41 4c 4c 0d 14  4f 06 20 e1 0d 14 50 29  |INTALL..O. ...P)|
00000910  20 dd f2 45 44 49 54 3a  f4 54 20 45 44 49 54 20  | ..EDIT:.T EDIT |
00000920  4e 41 4d 45 20 41 4e 44  2f 4f 52 20 50 48 4f 4e  |NAME AND/OR PHON|
00000930  45 20 4e 4f 2e 0d 14 5a  18 20 f2 54 49 54 4c 45  |E NO...Z. .TITLE|
00000940  28 22 45 44 49 54 20 44  41 54 41 22 29 0d 14 64  |("EDIT DATA")..d|
00000950  43 20 f1 8a 30 2c 35 29  22 54 79 70 65 20 69 6e  |C ..0,5)"Type in|
00000960  20 74 68 65 20 69 6e 64  65 78 20 6e 75 6d 62 65  | the index numbe|
00000970  72 20 6f 66 20 74 68 65  20 6e 61 6d 65 22 27 22  |r of the name"'"|
00000980  74 6f 20 62 65 20 65 64  69 74 65 64 2e 20 22 3b  |to be edited. ";|
00000990  0d 14 6e 20 20 f2 47 50  49 28 31 2c 33 29 3a 41  |..n  .GPI(1,3):A|
000009a0  3d bb 28 41 24 29 3a e7  20 41 3d 30 20 8c 20 e1  |=.(A$):. A=0 . .|
000009b0  0d 14 78 19 20 e7 20 41  3e 58 20 8c 20 f2 45 52  |..x. . A>X . .ER|
000009c0  52 4f 52 3a e5 8d 44 64  54 0d 14 82 22 20 f2 54  |ROR:..DdT..." .T|
000009d0  49 54 4c 45 28 22 22 29  3a f1 22 4e 61 6d 65 3a  |ITLE(""):."Name:|
000009e0  20 22 3b 4e 41 4d 45 24  28 41 29 0d 14 8c 1b 20  | ";NAME$(A).... |
000009f0  f1 27 22 4e 75 6d 62 65  72 3a 20 22 3b 50 48 4f  |.'"Number: ";PHO|
00000a00  4e 45 24 28 41 29 0d 14  96 71 20 f1 27 27 22 54  |NE$(A)...q .''"T|
00000a10  79 70 65 20 69 6e 20 74  68 65 20 6e 65 77 20 6e  |ype in the new n|
00000a20  61 6d 65 20 61 6e 64 20  70 72 65 73 73 20 74 68  |ame and press th|
00000a30  65 20 22 27 22 52 45 54  55 52 4e 20 6b 65 79 2e  |e "'"RETURN key.|
00000a40  20 49 66 20 74 68 65 20  6e 61 6d 65 20 69 73 20  | If the name is |
00000a50  63 6f 72 72 65 63 74 2c  22 27 22 6a 75 73 74 20  |correct,"'"just |
00000a60  70 72 65 73 73 20 74 68  65 20 52 45 54 55 52 4e  |press the RETURN|
00000a70  20 6b 65 79 2e 22 27 0d  14 aa 25 20 f2 47 50 49  | key."'...% .GPI|
00000a80  28 30 2c 32 33 29 3a e7  20 41 24 3e 22 22 20 8c  |(0,23):. A$>"" .|
00000a90  20 4e 41 4d 45 24 28 41  29 3d 41 24 0d 14 b4 7e  | NAME$(A)=A$...~|
00000aa0  20 f1 27 27 22 4e 6f 77  20 74 79 70 65 20 69 6e  | .''"Now type in|
00000ab0  20 74 68 65 20 6e 65 77  20 70 68 6f 6e 65 20 6e  | the new phone n|
00000ac0  75 6d 62 65 72 20 61 6e  64 22 27 22 70 72 65 73  |umber and"'"pres|
00000ad0  73 20 74 68 65 20 52 45  54 55 52 4e 20 6b 65 79  |s the RETURN key|
00000ae0  2e 20 49 66 20 74 68 65  20 6e 75 6d 62 65 72 20  |. If the number |
00000af0  69 73 22 27 22 63 6f 72  72 65 63 74 2c 20 6a 75  |is"'"correct, ju|
00000b00  73 74 20 70 72 65 73 73  20 74 68 65 20 52 45 54  |st press the RET|
00000b10  55 52 4e 20 6b 65 79 2e  22 27 0d 14 be 26 20 f2  |URN key."'...& .|
00000b20  47 50 49 28 31 2c 31 32  29 3a e7 20 41 24 3e 22  |GPI(1,12):. A$>"|
00000b30  22 20 8c 20 50 48 4f 4e  45 24 28 41 29 3d 41 24  |" . PHONE$(A)=A$|
00000b40  0d 14 c8 0d 20 f2 50 41  43 4b 28 41 29 0d 15 17  |.... .PACK(A)...|
00000b50  06 20 e1 0d 15 18 1e 20  dd f2 41 4c 46 53 52 54  |. ..... ..ALFSRT|
00000b60  3a f4 20 44 4f 45 53 20  41 4c 50 48 41 53 4f 52  |:. DOES ALPHASOR|
00000b70  54 0d 15 22 10 20 4c 3d  31 3a 52 3d 58 3a 53 3d  |T..". L=1:R=X:S=|
00000b80  30 0d 15 2c 12 20 e7 20  4c 3e 3d 52 20 8c 20 8d  |0..,. . L>=R . .|
00000b90  44 7c 55 0d 15 36 20 20  49 3d 4c 3a 4a 3d 52 3a  |D|U..6  I=L:J=R:|
00000ba0  58 24 3d 41 43 54 4e 4d  24 28 28 4c 2b 52 29 81  |X$=ACTNM$((L+R).|
00000bb0  20 32 29 0d 15 40 21 20  e7 20 41 43 54 4e 4d 24  | 2)..@! . ACTNM$|
00000bc0  28 49 29 3c 58 24 20 8c  20 49 3d 49 2b 31 3a e5  |(I)<X$ . I=I+1:.|
00000bd0  8d 44 40 55 0d 15 4a 21  20 e7 20 58 24 3c 41 43  |.D@U..J! . X$<AC|
00000be0  54 4e 4d 24 28 4a 29 20  8c 20 4a 3d 4a 2d 31 3a  |TNM$(J) . J=J-1:|
00000bf0  e5 8d 44 4a 55 0d 15 54  12 20 e7 20 49 3c 4a 20  |..DJU..T. . I<J |
00000c00  8c 20 f2 53 57 41 50 0d  15 5e 1f 20 e7 20 49 3c  |. .SWAP..^. . I<|
00000c10  3d 4a 20 8c 20 49 3d 49  2b 31 3a 4a 3d 4a 2d 31  |=J . I=I+1:J=J-1|
00000c20  3a e5 8d 44 40 55 0d 15  68 1a 20 53 3d 53 2b 31  |:..D@U..h. S=S+1|
00000c30  3a 53 4c 28 53 29 3d 49  3a 53 52 28 53 29 3d 52  |:SL(S)=I:SR(S)=R|
00000c40  0d 15 72 0e 20 52 3d 4a  3a e5 8d 54 6c 55 0d 15  |..r. R=J:..TlU..|
00000c50  7c 11 20 e7 20 53 3d 30  20 8c 20 8d 74 6e 55 0d  ||. . S=0 . .tnU.|
00000c60  15 86 20 20 4c 3d 53 4c  28 53 29 3a 52 3d 53 52  |..  L=SL(S):R=SR|
00000c70  28 53 29 3a 53 3d 53 2d  31 3a e5 8d 54 6c 55 0d  |(S):S=S-1:..TlU.|
00000c80  15 ae 1d 20 54 49 54 4c  45 24 3d 22 41 4c 50 48  |... TITLE$="ALPH|
00000c90  41 42 45 54 49 43 20 53  4f 52 54 22 0d 15 b8 0e  |ABETIC SORT"....|
00000ca0  20 f2 50 52 49 4e 54 41  4c 4c 0d 15 df 06 20 e1  | .PRINTALL.... .|
00000cb0  0d 15 e0 1c 20 dd f2 4e  55 4d 53 52 54 3a f4 20  |.... ..NUMSRT:. |
00000cc0  4e 55 4d 45 52 49 43 20  53 4f 52 54 0d 15 ea 10  |NUMERIC SORT....|
00000cd0  20 4c 3d 31 3a 52 3d 58  3a 53 3d 30 0d 15 f4 12  | L=1:R=X:S=0....|
00000ce0  20 e7 20 4c 3e 3d 52 20  8c 20 8d 44 44 56 0d 15  | . L>=R . .DDV..|
00000cf0  fe 1f 20 49 3d 4c 3a 4a  3d 52 3a 58 58 3d 50 48  |.. I=L:J=R:XX=PH|
00000d00  4f 4e 45 28 28 4c 2b 52  29 81 20 32 29 0d 16 08  |ONE((L+R). 2)...|
00000d10  20 20 e7 20 50 48 4f 4e  45 28 49 29 3c 58 58 20  |  . PHONE(I)<XX |
00000d20  8c 20 49 3d 49 2b 31 3a  e5 8d 54 48 56 0d 16 12  |. I=I+1:..THV...|
00000d30  20 20 e7 20 58 58 3c 50  48 4f 4e 45 28 4a 29 20  |  . XX<PHONE(J) |
00000d40  8c 20 4a 3d 4a 2d 31 3a  e5 8d 54 52 56 0d 16 1c  |. J=J-1:..TRV...|
00000d50  12 20 e7 20 49 3c 4a 20  8c 20 f2 53 57 41 50 0d  |. . I<J . .SWAP.|
00000d60  16 26 1f 20 e7 20 49 3c  3d 4a 20 8c 20 49 3d 49  |.&. . I<=J . I=I|
00000d70  2b 31 3a 4a 3d 4a 2d 31  3a e5 8d 54 48 56 0d 16  |+1:J=J-1:..THV..|
00000d80  30 1a 20 53 3d 53 2b 31  3a 53 4c 28 53 29 3d 49  |0. S=S+1:SL(S)=I|
00000d90  3a 53 52 28 53 29 3d 52  0d 16 3a 0e 20 52 3d 4a  |:SR(S)=R..:. R=J|
00000da0  3a e5 8d 64 74 55 0d 16  44 11 20 e7 20 53 3d 30  |:..dtU..D. . S=0|
00000db0  20 8c 20 8d 44 76 56 0d  16 4e 20 20 4c 3d 53 4c  | . .DvV..N  L=SL|
00000dc0  28 53 29 3a 52 3d 53 52  28 53 29 3a 53 3d 53 2d  |(S):R=SR(S):S=S-|
00000dd0  31 3a e5 8d 64 74 55 0d  16 76 1a 20 54 49 54 4c  |1:..dtU..v. TITL|
00000de0  45 24 3d 22 4e 55 4d 45  52 49 43 20 53 4f 52 54  |E$="NUMERIC SORT|
00000df0  22 0d 16 80 0e 20 f2 50  52 49 4e 54 41 4c 4c 0d  |".... .PRINTALL.|
00000e00  16 a7 06 20 e1 0d 16 a8  2b 20 dd f2 41 4c 46 53  |... ....+ ..ALFS|
00000e10  45 41 3a f4 20 41 4c 50  48 41 42 45 54 49 43 20  |EA:. ALPHABETIC |
00000e20  53 45 41 52 43 48 20 46  4f 52 20 4e 41 4d 45 53  |SEARCH FOR NAMES|
00000e30  0d 16 b2 20 20 f2 54 49  54 4c 45 28 22 41 4c 50  |...  .TITLE("ALP|
00000e40  48 41 42 45 54 49 43 20  53 45 41 52 43 48 22 29  |HABETIC SEARCH")|
00000e50  0d 16 bc 18 20 f2 52 45  54 55 52 4e 3a f1 8a 30  |.... .RETURN:..0|
00000e60  2c 33 29 3a 46 31 3d 30  0d 16 c6 15 20 f1 22 44  |,3):F1=0.... ."D|
00000e70  6f 20 79 6f 75 20 77 61  6e 74 3a 2d 22 0d 16 d0  |o you want:-"...|
00000e80  42 20 f1 27 27 22 20 41  29 20 74 6f 20 73 65 61  |B .''" A) to sea|
00000e90  72 63 68 20 66 6f 72 20  74 68 65 20 66 69 72 73  |rch for the firs|
00000ea0  74 20 66 65 77 20 6c 65  74 74 65 72 73 22 27 22  |t few letters"'"|
00000eb0  20 20 20 20 6f 66 20 61  20 6e 61 6d 65 22 27 0d  |    of a name"'.|
00000ec0  16 da 3b 20 f1 22 20 42  29 20 74 6f 20 73 65 61  |..; ." B) to sea|
00000ed0  72 63 68 20 66 6f 72 20  73 6f 6d 65 20 6c 65 74  |rch for some let|
00000ee0  74 65 72 73 20 77 69 74  68 69 6e 22 27 22 20 20  |ters within"'"  |
00000ef0  20 20 61 20 6e 61 6d 65  22 27 0d 16 e4 24 20 f1  |  a name"'...$ .|
00000f00  22 54 79 70 65 20 27 41  27 20 6f 72 20 27 42 27  |"Type 'A' or 'B'|
00000f10  3a 20 22 3b 3a f2 47 50  49 28 30 2c 31 29 0d 16  |: ";:.GPI(0,1)..|
00000f20  ee 10 20 e7 20 41 24 3d  22 22 20 8c 20 e1 0d 16  |.. . A$="" . ...|
00000f30  f8 25 20 e7 20 41 24 3d  22 41 22 20 84 20 41 24  |.% . A$="A" . A$|
00000f40  3d 22 61 22 20 8c 20 46  4c 41 47 3d 31 3a e5 8d  |="a" . FLAG=1:..|
00000f50  54 4c 57 0d 17 02 26 20  e7 20 41 24 3d 22 42 22  |TLW...& . A$="B"|
00000f60  20 84 20 41 24 3d 22 62  22 20 8c 20 46 4c 41 47  | . A$="b" . FLAG|
00000f70  3d 30 20 8b 20 8d 74 72  56 0d 17 0c 3e 20 f1 27  |=0 . .trV...> .'|
00000f80  27 22 54 79 70 65 20 69  6e 20 74 68 65 20 6c 65  |'"Type in the le|
00000f90  74 74 65 72 73 20 74 68  61 74 20 79 6f 75 20 77  |tters that you w|
00000fa0  61 6e 74 20 74 6f 22 27  22 73 65 61 72 63 68 20  |ant to"'"search |
00000fb0  66 6f 72 3a 20 22 3b 0d  17 16 27 20 f2 47 50 49  |for: ";...' .GPI|
00000fc0  28 30 2c 32 30 29 3a 4c  3d a9 28 41 24 29 3a 50  |(0,20):L=.(A$):P|
00000fd0  47 43 4e 54 3d 30 3a 46  4f 55 4e 44 3d 30 0d 17  |GCNT=0:FOUND=0..|
00000fe0  20 22 20 e7 20 46 4c 41  47 3d 30 20 8c 20 f2 4d  | " . FLAG=0 . .M|
00000ff0  49 44 53 45 41 20 8b 20  f2 4c 45 46 54 53 45 41  |IDSEA . .LEFTSEA|
00001000  0d 17 2a 21 20 f2 43 48  45 43 4b 4d 41 54 43 48  |..*! .CHECKMATCH|
00001010  28 22 6c 65 74 74 65 72  73 22 29 3a e5 8d 74 72  |("letters"):..tr|
00001020  56 0d 17 6f 06 20 e1 0d  17 70 2b 20 dd f2 4e 55  |V..o. ...p+ ..NU|
00001030  4d 53 45 41 3a f4 20 4e  55 4d 45 52 49 43 20 53  |MSEA:. NUMERIC S|
00001040  4f 52 54 20 46 4f 52 20  50 48 4f 4e 45 20 4e 4f  |ORT FOR PHONE NO|
00001050  53 2e 0d 17 7a 1d 20 f2  54 49 54 4c 45 28 22 4e  |S...z. .TITLE("N|
00001060  55 4d 45 52 49 43 20 53  45 41 52 43 48 22 29 0d  |UMERIC SEARCH").|
00001070  17 84 23 20 50 47 43 4e  54 3d 30 3a f2 52 45 54  |..# PGCNT=0:.RET|
00001080  55 52 4e 3a 46 4f 55 4e  44 3d 30 3a f1 8a 30 2c  |URN:FOUND=0:..0,|
00001090  33 29 0d 17 8e 8f 20 f1  27 27 22 49 66 20 79 6f  |3).... .''"If yo|
000010a0  75 20 74 79 70 65 20 69  6e 20 61 6e 79 20 6f 66  |u type in any of|
000010b0  20 74 68 65 20 6e 75 6d  62 65 72 73 20 74 68 61  | the numbers tha|
000010c0  74 22 27 22 79 6f 75 20  74 68 69 6e 6b 20 61 72  |t"'"you think ar|
000010d0  65 20 69 6e 20 74 68 65  20 74 65 6c 65 70 68 6f  |e in the telepho|
000010e0  6e 65 20 6e 75 6d 62 65  72 22 27 22 74 68 61 74  |ne number"'"that|
000010f0  20 79 6f 75 20 77 61 6e  74 2c 20 74 68 65 20 70  | you want, the p|
00001100  72 6f 67 72 61 6d 20 77  69 6c 6c 20 73 65 61 72  |rogram will sear|
00001110  63 68 22 27 22 66 6f 72  20 74 68 65 6d 3a 20 22  |ch"'"for them: "|
00001120  3b 0d 17 98 21 20 f2 47  50 49 28 31 2c 31 36 29  |;...! .GPI(1,16)|
00001130  3a 4c 3d a9 28 41 24 29  3a e7 20 4c 3d 30 20 8c  |:L=.(A$):. L=0 .|
00001140  20 e1 0d 17 9d 11 20 e7  20 58 3d 30 20 8c 20 8d  | ..... . X=0 . .|
00001150  64 54 57 0d 17 a2 0e 20  e3 20 49 3d 31 20 b8 20  |dTW.... . I=1 . |
00001160  58 0d 17 ac 1d 20 e3 20  4a 3d 31 20 b8 20 a9 28  |X.... . J=1 . .(|
00001170  50 48 4f 4e 45 24 28 49  29 29 2d 4c 2b 31 0d 17  |PHONE$(I))-L+1..|
00001180  b6 33 20 e7 20 c1 50 48  4f 4e 45 24 28 49 29 2c  |.3 . .PHONE$(I),|
00001190  4a 2c 4c 29 3d 41 24 20  8c 20 f2 50 52 49 4e 54  |J,L)=A$ . .PRINT|
000011a0  28 49 29 3a 46 4f 55 4e  44 3d 31 3a e5 8d 64 4a  |(I):FOUND=1:..dJ|
000011b0  57 0d 17 c0 07 20 ed 4a  0d 17 ca 07 20 ed 49 0d  |W.... .J.... .I.|
000011c0  17 d4 21 20 f2 43 48 45  43 4b 4d 41 54 43 48 28  |..! .CHECKMATCH(|
000011d0  22 6e 75 6d 62 65 72 73  22 29 3a e5 8d 44 7a 57  |"numbers"):..DzW|
000011e0  0d 18 37 06 20 e1 0d 18  38 22 20 dd f2 44 45 4c  |..7. ...8" ..DEL|
000011f0  45 54 45 3a f4 20 44 45  4c 45 54 45 20 41 4c 4c  |ETE:. DELETE ALL|
00001200  20 45 4e 54 52 49 45 53  0d 18 42 20 20 f2 54 49  | ENTRIES..B  .TI|
00001210  54 4c 45 28 22 45 52 41  53 45 20 41 4c 4c 20 45  |TLE("ERASE ALL E|
00001220  4e 54 52 49 45 53 22 29  0d 18 4c 29 20 f1 8a 36  |NTRIES")..L) ..6|
00001230  2c 31 32 29 3b 22 41 72  65 20 79 6f 75 20 73 75  |,12);"Are you su|
00001240  72 65 20 74 68 61 74 20  79 6f 75 20 77 69 73 68  |re that you wish|
00001250  22 0d 18 56 26 20 f1 8a  38 2c 31 33 29 3b 22 74  |"..V& ..8,13);"t|
00001260  6f 20 65 72 61 73 65 20  61 6c 6c 20 65 6e 74 72  |o erase all entr|
00001270  69 65 73 3f 20 22 3b 0d  18 60 1b 20 f2 59 45 53  |ies? ";..`. .YES|
00001280  4f 52 4e 4f 3a e7 20 59  25 3c 30 20 8c 20 8d 44  |ORNO:. Y%<0 . .D|
00001290  42 58 0d 18 6a 11 20 e7  20 59 25 3d 31 20 8c 20  |BX..j. . Y%=1 . |
000012a0  58 3d 30 0d 18 9b 06 20  e1 0d 18 9c 0b 20 dd f2  |X=0.... ..... ..|
000012b0  49 4e 46 4f 0d 18 a6 0a  20 db 3a f1 27 27 0d 18  |INFO.... .:.''..|
000012c0  b0 2b 20 f1 22 20 20 20  49 6e 20 74 68 69 73 20  |.+ ."   In this |
000012d0  70 72 6f 67 72 61 6d 20  79 6f 75 20 77 69 6c 6c  |program you will|
000012e0  20 62 65 20 61 62 6c 65  22 0d 18 ba 2c 20 f1 22  | be able"..., ."|
000012f0  20 20 20 74 6f 20 65 6e  74 65 72 20 75 70 20 74  |   to enter up t|
00001300  6f 20 22 3b 53 49 5a 45  3b 22 20 6e 61 6d 65 73  |o ";SIZE;" names|
00001310  20 61 6e 64 22 0d 18 c4  1e 20 f1 22 20 20 20 74  | and".... ."   t|
00001320  65 6c 65 70 68 6f 6e 65  20 6e 75 6d 62 65 72 73  |elephone numbers|
00001330  2e 22 27 0d 18 ce 25 20  f1 22 20 20 20 59 6f 75  |."'...% ."   You|
00001340  20 63 61 6e 20 73 6f 72  74 20 74 68 65 73 65 20  | can sort these |
00001350  65 6e 74 72 69 65 73 22  0d 18 d8 29 20 f1 22 20  |entries"...) ." |
00001360  20 20 61 6c 70 68 61 62  65 74 69 63 61 6c 6c 79  |  alphabetically|
00001370  20 6f 72 20 6e 75 6d 65  72 69 63 61 6c 6c 79 2e  | or numerically.|
00001380  22 0d 18 e2 29 20 f1 22  20 20 20 59 6f 75 20 63  |"...) ."   You c|
00001390  61 6e 20 61 6c 73 6f 20  73 65 61 72 63 68 20 62  |an also search b|
000013a0  79 20 6e 61 6d 65 20 6f  72 22 0d 18 ec 13 20 f1  |y name or".... .|
000013b0  22 20 20 20 6e 75 6d 62  65 72 2e 22 27 0d 19 00  |"   number."'...|
000013c0  26 20 f1 22 20 20 20 41  74 20 74 68 65 20 73 74  |& ."   At the st|
000013d0  61 72 74 20 6f 66 20 74  68 65 20 70 72 6f 67 72  |art of the progr|
000013e0  61 6d 22 0d 19 0a 28 20  f1 22 20 20 20 74 68 65  |am"...( ."   the|
000013f0  72 65 20 69 73 20 61 20  6d 65 6e 75 2e 20 54 6f  |re is a menu. To|
00001400  20 73 65 6c 65 63 74 20  61 6e 22 0d 19 14 28 20  | select an"...( |
00001410  f1 22 20 20 20 6f 70 74  69 6f 6e 2c 20 79 6f 75  |."   option, you|
00001420  20 77 69 6c 6c 20 6e 65  65 64 20 74 6f 20 74 79  | will need to ty|
00001430  70 65 22 0d 19 1e 27 20  f1 22 20 20 20 74 68 65  |pe"...' ."   the|
00001440  20 6e 75 6d 62 65 72 20  73 65 6c 65 63 74 65 64  | number selected|
00001450  20 66 6f 6c 6c 6f 77 65  64 22 0d 19 28 1c 20 f1  | followed"..(. .|
00001460  22 20 20 20 62 79 20 52  45 54 55 52 4e 2e 22 3a  |"   by RETURN.":|
00001470  f2 53 50 41 43 45 0d 19  63 06 20 e1 0d 1b 58 10  |.SPACE..c. ...X.|
00001480  20 dd f2 54 49 54 4c 45  28 45 24 29 0d 1b 62 18  | ..TITLE(E$)..b.|
00001490  20 e7 20 45 24 3e 22 22  20 8c 20 54 49 54 4c 45  | . E$>"" . TITLE|
000014a0  24 3d 45 24 0d 1b 6c 10  20 db 3a f1 c4 34 30 2c  |$=E$..l. .:..40,|
000014b0  22 2a 22 29 0d 1b 76 1f  20 f1 8a 32 30 2d a9 28  |"*")..v. ..20-.(|
000014c0  54 49 54 4c 45 24 29 2f  32 2c 31 29 3b 54 49 54  |TITLE$)/2,1);TIT|
000014d0  4c 45 24 0d 1b 80 0e 20  f1 c4 34 30 2c 22 2a 22  |LE$.... ..40,"*"|
000014e0  29 0d 1b bb 06 20 e1 0d  1b bc 0e 20 dd f2 50 41  |).... ..... ..PA|
000014f0  43 4b 28 49 29 0d 1b c6  0a 20 54 24 3d 22 22 0d  |CK(I).... T$="".|
00001500  1b d0 18 20 e3 20 4a 3d  31 20 b8 20 a9 28 4e 41  |... . J=1 . .(NA|
00001510  4d 45 24 28 49 29 29 0d  1b da 16 20 58 24 3d c1  |ME$(I)).... X$=.|
00001520  4e 41 4d 45 24 28 49 29  2c 4a 2c 31 29 0d 1b e4  |NAME$(I),J,1)...|
00001530  20 20 e7 20 97 28 58 24  29 3e 39 36 20 8c 20 58  |  . .(X$)>96 . X|
00001540  24 3d bd 28 97 28 58 24  29 2d 33 32 29 0d 1b ee  |$=.(.(X$)-32)...|
00001550  0d 20 54 24 3d 54 24 2b  58 24 0d 1b f8 07 20 ed  |. T$=T$+X$.... .|
00001560  4a 0d 1c 02 11 20 41 43  54 4e 4d 24 28 49 29 3d  |J.... ACTNM$(I)=|
00001570  54 24 0d 1c 20 0a 20 54  24 3d 22 22 0d 1c 2a 1a  |T$.. . T$=""..*.|
00001580  20 e3 20 4c 50 3d 31 20  b8 20 a9 28 50 48 4f 4e  | . LP=1 . .(PHON|
00001590  45 24 28 49 29 29 0d 1c  34 22 20 e7 20 c1 50 48  |E$(I))..4" . .PH|
000015a0  4f 4e 45 24 28 49 29 2c  4c 50 2c 31 29 3d 22 20  |ONE$(I),LP,1)=" |
000015b0  22 20 8c 20 8d 44 48 5c  0d 1c 3e 1b 20 54 24 3d  |" . .DH\..>. T$=|
000015c0  54 24 2b c1 50 48 4f 4e  45 24 28 49 29 2c 4c 50  |T$+.PHONE$(I),LP|
000015d0  2c 31 29 0d 1c 48 08 20  ed 4c 50 0d 1c 52 13 20  |,1)..H. .LP..R. |
000015e0  50 48 4f 4e 45 28 49 29  3d bb 28 54 24 29 0d 1c  |PHONE(I)=.(T$)..|
000015f0  83 06 20 e1 0d 1c 84 2c  20 dd f2 50 52 49 4e 54  |.. ...., ..PRINT|
00001600  28 49 29 3a f4 20 50 52  49 4e 54 53 20 49 74 68  |(I):. PRINTS Ith|
00001610  20 4e 41 4d 45 20 41 4e  44 20 4e 55 4d 42 45 52  | NAME AND NUMBER|
00001620  0d 1c 8e 07 20 ea 4c 0d  1c 98 1f 20 e7 20 50 47  |.... .L.... . PG|
00001630  43 4e 54 3d 38 20 8c 20  f2 53 50 41 43 45 3a 50  |CNT=8 . .SPACE:P|
00001640  47 43 4e 54 3d 30 0d 1c  a2 1b 20 e7 20 50 47 43  |GCNT=0.... . PGC|
00001650  4e 54 3d 30 20 8c 20 f2  54 49 54 4c 45 28 22 22  |NT=0 . .TITLE(""|
00001660  29 0d 1c ac 10 20 4c 3d  50 47 43 4e 54 2a 32 2b  |).... L=PGCNT*2+|
00001670  34 0d 1c b6 2d 20 f1 8a  31 2c 4c 29 3b 49 3b 8a  |4...- ..1,L);I;.|
00001680  34 2c 4c 29 3b 4e 41 4d  45 24 28 49 29 3b 8a 32  |4,L);NAME$(I);.2|
00001690  38 2c 4c 29 3b 50 48 4f  4e 45 24 28 49 29 0d 1c  |8,L);PHONE$(I)..|
000016a0  c0 12 20 50 47 43 4e 54  3d 50 47 43 4e 54 2b 31  |.. PGCNT=PGCNT+1|
000016b0  0d 1c ca 0c 20 46 4f 55  4e 44 3d 31 0d 1c e7 06  |.... FOUND=1....|
000016c0  20 e1 0d 1c e8 0f 20 dd  f2 50 52 49 4e 54 41 4c  | ..... ..PRINTAL|
000016d0  4c 0d 1c f2 19 20 50 47  43 4e 54 3d 30 3a e7 20  |L.... PGCNT=0:. |
000016e0  58 3d 30 20 8c 20 8d 54  5a 5d 0d 1c fc 0e 20 e3  |X=0 . .TZ].... .|
000016f0  20 49 3d 31 20 b8 20 58  0d 1d 06 0e 20 f2 50 52  | I=1 . X.... .PR|
00001700  49 4e 54 28 49 29 0d 1d  10 0c 20 ed 3a e5 8d 44  |INT(I).... .:..D|
00001710  42 5d 0d 1d 1a 0f 20 f2  54 49 54 4c 45 28 22 22  |B].... .TITLE(""|
00001720  29 0d 1d 24 70 20 f1 27  27 22 54 68 65 72 65 20  |)..$p .''"There |
00001730  69 73 20 6e 6f 20 64 61  74 61 20 69 6e 20 74 68  |is no data in th|
00001740  65 20 6d 65 6d 6f 72 79  2e 20 50 6c 65 61 73 65  |e memory. Please|
00001750  22 27 27 22 74 79 70 65  20 73 6f 6d 65 20 69 6e  |"''"type some in|
00001760  20 6f 72 20 70 72 65 73  73 20 74 68 65 20 27 45  | or press the 'E|
00001770  53 43 27 20 6b 65 79 22  27 27 22 74 6f 20 6c 65  |SC' key"''"to le|
00001780  61 76 65 20 74 68 65 20  70 72 6f 67 72 61 6d 2e  |ave the program.|
00001790  22 0d 1d 42 0b 20 f2 53  50 41 43 45 0d 1d 4b 06  |"..B. .SPACE..K.|
000017a0  20 e1 0d 1d 4c 15 20 dd  f2 43 48 45 43 4b 4d 41  | ...L. ..CHECKMA|
000017b0  54 43 48 28 45 24 29 0d  1d 56 14 20 e7 20 46 4f  |TCH(E$)..V. . FO|
000017c0  55 4e 44 3d 31 20 8c 8d  44 74 5d 0d 1d 60 0f 20  |UND=1 ..Dt]..`. |
000017d0  f2 54 49 54 4c 45 28 22  22 29 0d 1d 6a 44 20 f1  |.TITLE("")..jD .|
000017e0  8a 30 2c 31 30 29 22 54  68 65 72 65 20 69 73 20  |.0,10)"There is |
000017f0  6e 6f 20 6d 61 74 63 68  20 66 6f 72 20 74 68 65  |no match for the|
00001800  20 22 45 24 27 22 74 68  61 74 20 79 6f 75 20 68  | "E$'"that you h|
00001810  61 76 65 20 74 79 70 65  64 20 69 6e 2e 22 0d 1d  |ave typed in."..|
00001820  74 0b 20 f2 53 50 41 43  45 0d 1d af 06 20 e1 0d  |t. .SPACE.... ..|
00001830  1d b0 0d 20 dd f2 52 45  54 55 52 4e 0d 1d ba 43  |... ..RETURN...C|
00001840  20 f1 8a 37 2c 32 31 29  3b 22 54 6f 20 72 65 74  | ..7,21);"To ret|
00001850  75 72 6e 20 74 6f 20 74  68 65 20 4d 45 4e 55 22  |urn to the MENU"|
00001860  3b 8a 37 2c 32 32 29 3b  22 70 72 65 73 73 20 74  |;.7,22);"press t|
00001870  68 65 20 52 45 54 55 52  4e 20 6b 65 79 2e 22 0d  |he RETURN key.".|
00001880  1e 13 06 20 e1 0d 1e 78  0c 20 dd f2 45 52 52 4f  |... ...x. ..ERRO|
00001890  52 0d 1e 82 07 20 ea 4b  0d 1e 8c 31 20 f1 8a 30  |R.... .K...1 ..0|
000018a0  2c 32 30 29 3b 22 54 68  65 72 65 20 69 73 20 6e  |,20);"There is n|
000018b0  6f 20 65 6e 74 72 79 20  77 69 74 68 20 74 68 69  |o entry with thi|
000018c0  73 20 69 6e 64 65 78 2e  22 0d 1e 96 0b 20 f2 53  |s index.".... .S|
000018d0  50 41 43 45 0d 1e a0 10  20 e3 20 4b 3d 32 30 20  |PACE.... . K=20 |
000018e0  b8 20 32 32 0d 1e aa 11  20 f1 8a 30 2c 4b 29 3b  |. 22.... ..0,K);|
000018f0  89 28 33 39 29 0d 1e b4  07 20 ed 4b 0d 1e db 06  |.(39).... .K....|
00001900  20 e1 0d 1f 40 12 20 dd  f2 44 42 4c 28 58 24 2c  | ...@. ..DBL(X$,|
00001910  58 2c 59 29 0d 1f 4a 17  20 f1 8a 58 2d 31 2c 59  |X,Y)..J. ..X-1,Y|
00001920  29 3b bd 28 31 34 31 29  3b 58 24 0d 1f 54 19 20  |);.(141);X$..T. |
00001930  f1 8a 58 2d 31 2c 59 2b  31 29 3b bd 28 31 34 31  |..X-1,Y+1);.(141|
00001940  29 3b 58 24 0d 1f a3 06  20 e1 0d 1f a4 0e 20 dd  |);X$.... ..... .|
00001950  f2 57 41 49 54 28 58 29  0d 1f ae 08 20 ea 20 5a  |.WAIT(X).... . Z|
00001960  0d 1f b8 08 20 5a 3d 91  0d 1f c2 12 20 f5 20 fd  |.... Z=..... . .|
00001970  20 91 2d 5a 3e 58 2a 31  30 30 0d 20 07 06 20 e1  | .-Z>X*100. .. .|
00001980  0d 20 08 0c 20 dd f2 53  50 41 43 45 0d 20 1c 34  |. .. ..SPACE. .4|
00001990  20 f1 8a 33 2c 32 32 29  3b 22 50 72 65 73 73 20  | ..3,22);"Press |
000019a0  74 68 65 20 53 50 41 43  45 20 42 41 52 20 74 6f  |the SPACE BAR to|
000019b0  20 63 6f 6e 74 69 6e 75  65 22 3b 3a f2 4b 43 4c  | continue";:.KCL|
000019c0  0d 20 30 0e 20 f5 20 fd  20 be 3d 22 20 22 0d 20  |. 0. . . .=" ". |
000019d0  6b 06 20 e1 0d 20 6c 10  20 dd f2 54 49 54 4c 45  |k. .. l. ..TITLE|
000019e0  50 41 47 45 0d 20 76 33  20 db 3a f2 44 42 4c 28  |PAGE. v3 .:.DBL(|
000019f0  22 54 65 6c 65 70 68 6f  6e 65 22 2c 31 32 2c 38  |"Telephone",12,8|
00001a00  29 3a f2 44 42 4c 28 22  4e 75 6d 62 65 72 73 22  |):.DBL("Numbers"|
00001a10  2c 31 33 2c 31 31 29 0d  20 80 13 20 f2 4f 46 46  |,13,11). .. .OFF|
00001a20  3a 49 25 3d a6 28 35 30  30 29 0d 20 cf 06 20 e1  |:I%=.(500). .. .|
00001a30  0d 22 60 0a 20 dd f2 4b  43 4c 0d 22 6a 15 20 e7  |."`. ..KCL."j. .|
00001a40  20 bf 28 30 29 3e 22 22  20 8c 20 8d 44 6a 62 0d  | .(0)>"" . .Djb.|
00001a50  22 c3 06 20 e1 0d 22 c4  0a 20 dd f2 4f 46 46 0d  |".. ..".. ..OFF.|
00001a60  22 ce 16 20 ef 32 33 3b  38 32 30 32 3b 30 3b 30  |".. .23;8202;0;0|
00001a70  3b 30 3b 3a e1 0d 22 f6  0a 20 dd f2 4f 4e 20 0d  |;0;:..".. ..ON .|
00001a80  23 00 17 20 ef 32 33 3b  32 39 31 39 34 3b 30 3b  |#.. .23;29194;0;|
00001a90  30 3b 30 3b 3a e1 0d 23  28 31 20 dd f2 47 50 49  |0;0;:..#(1 ..GPI|
00001aa0  28 46 32 2c 4d 4c 29 3a  f4 20 47 65 6e 65 72 61  |(F2,ML):. Genera|
00001ab0  6c 20 50 75 72 70 6f 73  65 20 49 6e 70 75 74 20  |l Purpose Input |
00001ac0  52 6f 75 74 69 6e 65 0d  23 32 0a 20 ea 42 2c 42  |Routine.#2. .B,B|
00001ad0  24 0d 23 3c 0a 20 41 24  3d 22 22 0d 23 46 2b 20  |$.#<. A$="".#F+ |
00001ae0  f1 c4 4d 4c 2c 22 20 22  29 3b c4 4d 4c 2b 31 2c  |..ML," ");.ML+1,|
00001af0  bd 28 38 29 29 3b bd 28  26 38 37 29 3b 3a f2 4f  |.(8));.(&87);:.O|
00001b00  4e 3a f2 4b 43 4c 0d 23  50 1f 20 42 24 3d be 3a  |N:.KCL.#P. B$=.:|
00001b10  42 3d 97 28 42 24 29 3a  e7 20 42 3d 31 33 20 8c  |B=.(B$):. B=13 .|
00001b20  20 8d 64 66 63 0d 23 5a  1b 20 e7 20 42 3d 31 32  | .dfc.#Z. . B=12|
00001b30  37 20 80 20 41 24 3d 22  22 20 8c 20 8d 44 50 63  |7 . A$="" . .DPc|
00001b40  0d 23 64 29 20 e7 20 42  3d 31 32 37 20 8c 20 41  |.#d) . B=127 . A|
00001b50  24 3d c0 41 24 2c a9 28  41 24 29 2d 31 29 3a f1  |$=.A$,.(A$)-1):.|
00001b60  42 24 3b 3a e5 8d 44 50  63 0d 23 6e 25 20 e7 20  |B$;:..DPc.#n% . |
00001b70  a9 28 41 24 29 3d 4d 4c  20 84 20 42 3c 33 32 20  |.(A$)=ML . B<32 |
00001b80  84 20 42 3e 31 32 36 20  8c 20 8d 64 52 63 0d 23  |. B>126 . .dRc.#|
00001b90  78 2b 20 e7 20 46 32 3d  30 20 84 20 42 3d 33 32  |x+ . F2=0 . B=32|
00001ba0  20 84 20 28 42 3e 3d 34  38 20 80 20 42 3c 3d 35  | . (B>=48 . B<=5|
00001bb0  37 29 20 8c 20 8d 64 5c  63 0d 23 d2 0d 20 ef 37  |7) . .d\c.#.. .7|
00001bc0  3a e5 8d 44 50 63 0d 23  dc 18 20 f1 42 24 3b 3a  |:..DPc.#.. .B$;:|
00001bd0  41 24 3d 41 24 2b 42 24  3a e5 8d 44 50 63 0d 23  |A$=A$+B$:..DPc.#|
00001be0  e6 09 20 f2 4f 46 46 0d  23 ef 06 20 e1 0d 23 f0  |.. .OFF.#.. ..#.|
00001bf0  0e 20 dd f2 59 45 53 4f  52 4e 4f 0d 23 fa 08 20  |. ..YESORNO.#.. |
00001c00  ea 42 24 0d 24 04 0e 20  f2 47 50 49 28 30 2c 33  |.B$.$.. .GPI(0,3|
00001c10  29 0d 24 0e 0e 20 42 24  3d c0 41 24 2c 31 29 0d  |).$.. B$=.A$,1).|
00001c20  24 18 0a 20 59 25 3d 2d  31 0d 24 22 1d 20 e7 20  |$.. Y%=-1.$". . |
00001c30  42 24 3d 22 59 22 20 84  20 42 24 3d 22 79 22 20  |B$="Y" . B$="y" |
00001c40  8c 20 59 25 3d 31 0d 24  2c 1d 20 e7 20 42 24 3d  |. Y%=1.$,. . B$=|
00001c50  22 4e 22 20 84 20 42 24  3d 22 6e 22 20 8c 20 59  |"N" . B$="n" . Y|
00001c60  25 3d 30 0d 24 53 06 20  e1 0d ff                 |%=0.$S. ...|
00001c6b
TELEPHONE.m0
TELEPHONE.m1
TELEPHONE.m2
TELEPHONE.m4
TELEPHONE.m5