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

W.PHONE

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Personal collection » Acorn DFS disks » dfs_box03_disk01_utilities_disk.scp
Filename: W.PHONE
Read OK:
File size: 1BE1 bytes
Load address: 1900
Exec address: 801F
Duplicates

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

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 MODE 7
   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 (Y/N)? ";
  940 PROCYESORNO:IF Y%<0 THEN 910
  950 IF Y%=0 THEN 200
  970 CHAIN "BATBALL"
  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@
2 � 7
< �:� � �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 (Y/N)? ";
� �YESORNO:� Y%<0 � �tNC
� � Y%=0 � �dH@
� � "BATBALL"
� �""
 ��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 08 20 eb 20  37 0d 00 3c 10 20 db 3a  |@..2. . 7..<. .:|
000000f0  ee 20 85 20 e5 8d 54 60  43 0d 00 6e 1a 20 53 49  |. . ..T`C..n. SI|
00000100  5a 45 3d 33 32 3a f4 20  4d 41 58 20 45 4e 54 52  |ZE=32:. MAX ENTR|
00000110  49 45 53 0d 00 82 38 20  de 20 4e 41 4d 45 24 28  |IES...8 . NAME$(|
00000120  53 49 5a 45 29 2c 50 48  4f 4e 45 24 28 53 49 5a  |SIZE),PHONE$(SIZ|
00000130  45 29 2c 41 43 54 4e 4d  24 28 53 49 5a 45 29 2c  |E),ACTNM$(SIZE),|
00000140  50 48 4f 4e 45 28 53 49  5a 45 29 0d 00 8c 14 20  |PHONE(SIZE).... |
00000150  de 20 53 4c 28 31 32 29  2c 53 52 28 31 32 29 0d  |. SL(12),SR(12).|
00000160  00 96 15 20 f2 54 49 54  4c 45 50 41 47 45 3a f2  |... .TITLEPAGE:.|
00000170  49 4e 46 4f 0d 00 a0 10  20 41 24 3d c4 33 32 2c  |INFO.... A$=.32,|
00000180  22 20 22 29 0d 00 be 0b  20 f2 49 4e 50 55 54 0d  |" ").... .INPUT.|
00000190  00 c8 13 20 f2 54 49 54  4c 45 28 22 4d 45 4e 55  |... .TITLE("MENU|
000001a0  22 29 0d 00 d2 1c 20 f1  22 20 20 20 31 20 2d 20  |").... ."   1 - |
000001b0  44 69 73 70 6c 61 79 20  4c 69 73 74 22 27 0d 00  |Display List"'..|
000001c0  dc 1f 20 f1 22 20 20 20  32 20 2d 20 49 6e 70 75  |.. ."   2 - Inpu|
000001d0  74 20 4e 65 77 20 45 6e  74 72 79 22 27 0d 00 e6  |t New Entry"'...|
000001e0  1f 20 f1 22 20 20 20 33  20 2d 20 43 68 61 6e 67  |. ."   3 - Chang|
000001f0  65 20 61 6e 20 45 6e 74  72 79 22 27 0d 00 f0 23  |e an Entry"'...#|
00000200  20 f1 22 20 20 20 34 20  2d 20 53 6f 72 74 20 41  | ."   4 - Sort A|
00000210  6c 70 68 61 62 65 74 69  63 61 6c 6c 79 22 27 0d  |lphabetically"'.|
00000220  00 fa 20 20 f1 22 20 20  20 35 20 2d 20 53 6f 72  |..  ."   5 - Sor|
00000230  74 20 4e 75 6d 65 72 69  63 61 6c 6c 79 22 27 0d  |t Numerically"'.|
00000240  01 04 21 20 f1 22 20 20  20 36 20 2d 20 53 65 61  |..! ."   6 - Sea|
00000250  72 63 68 20 55 73 69 6e  67 20 4e 61 6d 65 22 27  |rch Using Name"'|
00000260  0d 01 0e 23 20 f1 22 20  20 20 37 20 2d 20 53 65  |...# ."   7 - Se|
00000270  61 72 63 68 20 55 73 69  6e 67 20 4e 75 6d 62 65  |arch Using Numbe|
00000280  72 22 27 0d 01 18 21 20  f1 22 20 20 20 38 20 2d  |r"'...! ."   8 -|
00000290  20 45 72 61 73 65 20 41  6c 6c 20 45 6e 74 72 69  | Erase All Entri|
000002a0  65 73 22 27 0d 01 22 0a  20 53 45 4c 3d 30 0d 01  |es"'..". SEL=0..|
000002b0  2c 2d 20 f1 8a 33 2c 32  32 29 3b 22 54 79 70 65  |,- ..3,22);"Type|
000002c0  20 69 6e 20 74 68 65 20  6e 75 6d 62 65 72 20 79  | in the number y|
000002d0  6f 75 20 77 61 6e 74 3a  20 22 3b 0d 01 36 1b 20  |ou want: ";..6. |
000002e0  41 24 3d be 3a e7 20 97  28 41 24 29 3d 31 33 20  |A$=.:. .(A$)=13 |
000002f0  8c 20 8d 44 7c 41 0d 01  40 1e 20 41 3d 97 28 41  |. .D|A..@. A=.(A|
00000300  24 29 2d 34 38 3a e7 20  41 3c 30 20 8c 20 41 3d  |$)-48:. A<0 . A=|
00000310  41 2b 31 36 0d 01 4a 16  20 e7 20 41 3c 31 20 84  |A+16..J. . A<1 .|
00000320  20 41 3e 38 20 8c 8d 54  76 41 0d 01 54 0d 20 f1  | A>8 ..TvA..T. .|
00000330  bd 28 41 2b 34 38 29 0d  01 5e 23 20 e7 20 53 45  |.(A+48)..^# . SE|
00000340  4c 3e 30 20 8c 20 f1 8a  32 2c 32 2a 53 45 4c 2b  |L>0 . ..2,2*SEL+|
00000350  32 29 3b bd 28 26 38 39  29 3b 0d 01 68 1f 20 f1  |2);.(&89);..h. .|
00000360  8a 32 2c 32 2a 41 2b 32  29 3b bd 28 26 38 38 29  |.2,2*A+2);.(&88)|
00000370  3b 41 3b bd 28 26 38 39  29 0d 01 72 10 20 53 45  |;A;.(&89)..r. SE|
00000380  4c 3d 41 3a e5 8d 54 6c  41 0d 01 7c 12 20 e7 20  |L=A:..TlA..|. . |
00000390  53 45 4c 3d 30 20 8c 8d  54 6c 41 0d 01 f4 34 20  |SEL=0 ..TlA...4 |
000003a0  ee 20 53 45 4c 20 e5 20  8d 64 7e 41 2c 8d 54 48  |. SEL . .d~A,.TH|
000003b0  42 2c 8d 54 52 42 2c 8d  54 5c 42 2c 8d 54 66 42  |B,.TRB,.T\B,.TfB|
000003c0  2c 8d 54 70 42 2c 8d 54  7a 42 2c 8d 44 44 42 0d  |,.TpB,.TzB,.DDB.|
000003d0  01 fe 13 20 f2 44 49 53  50 4c 41 59 3a e5 8d 64  |... .DISPLAY:..d|
000003e0  48 40 0d 02 08 11 20 f2  49 4e 50 55 54 3a e5 8d  |H@.... .INPUT:..|
000003f0  64 48 40 0d 02 12 10 20  f2 45 44 49 54 3a e5 8d  |dH@.... .EDIT:..|
00000400  64 48 40 0d 02 1c 12 20  f2 41 4c 46 53 52 54 3a  |dH@.... .ALFSRT:|
00000410  e5 8d 64 48 40 0d 02 26  12 20 f2 4e 55 4d 53 52  |..dH@..&. .NUMSR|
00000420  54 3a e5 8d 64 48 40 0d  02 30 12 20 f2 41 4c 46  |T:..dH@..0. .ALF|
00000430  53 45 41 3a e5 8d 64 48  40 0d 02 3a 12 20 f2 4e  |SEA:..dH@..:. .N|
00000440  55 4d 53 45 41 3a e5 8d  64 48 40 0d 02 44 12 20  |UMSEA:..dH@..D. |
00000450  f2 44 45 4c 45 54 45 3a  e5 8d 64 48 40 0d 03 20  |.DELETE:..dH@.. |
00000460  21 20 e7 20 9f 3c 3e 31  37 20 8c 20 f6 3a f1 22  |! . .<>17 . .:."|
00000470  20 69 6e 20 6c 69 6e 65  20 22 3b 9e 3a e0 0d 03  | in line ";.:...|
00000480  84 06 20 db 0d 03 8e 0c  20 f1 8a 35 2c 39 29 3b  |.. ..... ..5,9);|
00000490  0d 03 98 1f 20 f1 22 44  6f 20 79 6f 75 20 77 61  |.... ."Do you wa|
000004a0  6e 74 20 74 6f 20 67 6f  20 6f 6e 20 74 6f 22 0d  |nt to go on to".|
000004b0  03 a2 26 20 f1 22 20 20  20 20 20 74 68 65 20 6e  |..& ."     the n|
000004c0  65 78 74 20 70 72 6f 67  72 61 6d 20 28 59 2f 4e  |ext program (Y/N|
000004d0  29 3f 20 22 3b 0d 03 ac  1b 20 f2 59 45 53 4f 52  |)? ";.... .YESOR|
000004e0  4e 4f 3a e7 20 59 25 3c  30 20 8c 20 8d 74 4e 43  |NO:. Y%<0 . .tNC|
000004f0  0d 03 b6 12 20 e7 20 59  25 3d 30 20 8c 20 8d 64  |.... . Y%=0 . .d|
00000500  48 40 0d 03 ca 10 20 d7  20 22 42 41 54 42 41 4c  |H@.... . "BATBAL|
00000510  4c 22 0d 03 de 08 20 d7  22 22 0d 10 04 0e 20 dd  |L".... ."".... .|
00000520  f2 4c 45 46 54 53 45 41  0d 10 0e 0e 20 e7 20 58  |.LEFTSEA.... . X|
00000530  3d 30 20 8c 20 e1 0d 10  18 0e 20 e3 20 49 3d 31  |=0 . ..... . I=1|
00000540  20 b8 20 58 0d 10 22 22  20 e7 20 c0 4e 41 4d 45  | . X.."" . .NAME|
00000550  24 28 49 29 2c 4c 29 3d  41 24 20 8c 20 f2 50 52  |$(I),L)=A$ . .PR|
00000560  49 4e 54 28 49 29 0d 10  2c 06 20 ed 0d 10 67 06  |INT(I)..,. ...g.|
00000570  20 e1 0d 10 68 0d 20 dd  f2 4d 49 44 53 45 41 0d  | ...h. ..MIDSEA.|
00000580  10 72 0e 20 e7 20 58 3d  30 20 8c 20 e1 0d 10 7c  |.r. . X=0 . ...||
00000590  0e 20 e3 20 49 3d 31 20  b8 20 58 0d 10 86 1c 20  |. . I=1 . X.... |
000005a0  e3 20 4a 3d 31 20 b8 20  a9 28 4e 41 4d 45 24 28  |. J=1 . .(NAME$(|
000005b0  49 29 29 2d 4c 2b 31 0d  10 90 2a 20 e7 20 c1 4e  |I))-L+1...* . .N|
000005c0  41 4d 45 24 28 49 29 2c  4a 2c 4c 29 3d 41 24 20  |AME$(I),J,L)=A$ |
000005d0  8c 20 f2 50 52 49 4e 54  28 49 29 3a e5 8d 74 64  |. .PRINT(I):..td|
000005e0  50 0d 10 9a 07 20 ed 4a  0d 10 a4 07 20 ed 49 0d  |P.... .J.... .I.|
000005f0  10 cb 06 20 e1 0d 13 24  0b 20 dd f2 53 57 41 50  |... ...$. ..SWAP|
00000600  0d 13 2e b2 20 57 24 3d  4e 41 4d 45 24 28 49 29  |.... W$=NAME$(I)|
00000610  3a 56 24 3d 50 48 4f 4e  45 24 28 49 29 3a 4e 41  |:V$=PHONE$(I):NA|
00000620  4d 45 24 28 49 29 3d 4e  41 4d 45 24 28 4a 29 3a  |ME$(I)=NAME$(J):|
00000630  50 48 4f 4e 45 24 28 49  29 3d 50 48 4f 4e 45 24  |PHONE$(I)=PHONE$|
00000640  28 4a 29 3a 4e 41 4d 45  24 28 4a 29 3d 57 24 3a  |(J):NAME$(J)=W$:|
00000650  50 48 4f 4e 45 24 28 4a  29 3d 56 24 3a 57 3d 50  |PHONE$(J)=V$:W=P|
00000660  48 4f 4e 45 28 49 29 3a  50 48 4f 4e 45 28 49 29  |HONE(I):PHONE(I)|
00000670  3d 50 48 4f 4e 45 28 4a  29 3a 50 48 4f 4e 45 28  |=PHONE(J):PHONE(|
00000680  4a 29 3d 57 3a 57 24 3d  41 43 54 4e 4d 24 28 49  |J)=W:W$=ACTNM$(I|
00000690  29 3a 41 43 54 4e 4d 24  28 49 29 3d 41 43 54 4e  |):ACTNM$(I)=ACTN|
000006a0  4d 24 28 4a 29 3a 41 43  54 4e 4d 24 28 4a 29 3d  |M$(J):ACTNM$(J)=|
000006b0  57 24 0d 13 87 06 20 e1  0d 13 88 2e 20 dd f2 49  |W$.... ..... ..I|
000006c0  4e 50 55 54 3a f4 20 47  45 54 53 20 4e 41 4d 45  |NPUT:. GETS NAME|
000006d0  20 26 20 50 48 4f 4e 45  20 4e 4f 2e 20 46 52 4f  | & PHONE NO. FRO|
000006e0  4d 20 55 53 45 52 0d 13  92 1d 20 f2 54 49 54 4c  |M USER.... .TITL|
000006f0  45 28 22 49 4e 50 55 54  20 4e 45 57 20 44 41 54  |E("INPUT NEW DAT|
00000700  41 22 29 0d 13 9c 14 20  e7 20 58 3d 53 49 5a 45  |A").... . X=SIZE|
00000710  20 8c 20 8d 64 62 53 0d  13 a6 0c 20 f2 52 45 54  | . .dbS.... .RET|
00000720  55 52 4e 0d 13 b0 2b 20  f1 8a 30 2c 37 29 3b 22  |URN...+ ..0,7);"|
00000730  54 79 70 65 20 69 6e 20  74 68 65 20 6e 61 6d 65  |Type in the name|
00000740  2e 22 27 27 3b 58 2b 31  3b 22 2e 20 22 3b 0d 13  |."'';X+1;". ";..|
00000750  ba 1e 20 f2 47 50 49 28  30 2c 32 33 29 3a e7 20  |.. .GPI(0,23):. |
00000760  41 24 3d 22 22 20 8c 20  8d 64 6b 53 0d 13 c4 16  |A$="" . .dkS....|
00000770  20 58 3d 58 2b 31 3a 4e  41 4d 45 24 28 58 29 3d  | X=X+1:NAME$(X)=|
00000780  41 24 0d 13 ce 31 20 f1  27 27 22 4e 6f 77 20 74  |A$...1 .''"Now t|
00000790  79 70 65 20 69 6e 20 74  68 65 20 70 68 6f 6e 65  |ype in the phone|
000007a0  20 6e 75 6d 62 65 72 2e  22 27 27 3b 58 3b 22 2e  | number."'';X;".|
000007b0  20 22 3b 0d 13 d8 2b 20  f2 47 50 49 28 31 2c 31  | ";...+ .GPI(1,1|
000007c0  32 29 3a 50 48 4f 4e 45  24 28 58 29 3d 41 24 3a  |2):PHONE$(X)=A$:|
000007d0  f2 50 41 43 4b 28 58 29  3a e5 8d 74 52 53 0d 13  |.PACK(X):..tRS..|
000007e0  e2 43 20 f1 8a 31 30 2c  31 30 29 3b 22 54 68 65  |.C ..10,10);"The|
000007f0  72 65 20 69 73 20 6e 6f  20 72 6f 6f 6d 22 3b 8a  |re is no room";.|
00000800  31 30 2c 31 31 29 3b 22  74 6f 20 69 6e 70 75 74  |10,11);"to input|
00000810  20 65 6e 74 72 69 65 73  2e 22 3a f2 53 50 41 43  | entries.":.SPAC|
00000820  45 0d 13 eb 06 20 e1 0d  13 ec 2d 20 dd f2 44 49  |E.... ....- ..DI|
00000830  53 50 4c 41 59 3a f4 20  44 49 53 50 4c 41 59 53  |SPLAY:. DISPLAYS|
00000840  20 4e 41 4d 45 53 20 41  4e 44 20 50 48 4f 4e 45  | NAMES AND PHONE|
00000850  20 4e 4f 53 0d 13 f6 1a  20 54 49 54 4c 45 24 3d  | NOS.... TITLE$=|
00000860  22 44 49 53 50 4c 41 59  20 4c 49 53 54 22 0d 14  |"DISPLAY LIST"..|
00000870  00 0e 20 f2 50 52 49 4e  54 41 4c 4c 0d 14 4f 06  |.. .PRINTALL..O.|
00000880  20 e1 0d 14 50 29 20 dd  f2 45 44 49 54 3a f4 54  | ...P) ..EDIT:.T|
00000890  20 45 44 49 54 20 4e 41  4d 45 20 41 4e 44 2f 4f  | EDIT NAME AND/O|
000008a0  52 20 50 48 4f 4e 45 20  4e 4f 2e 0d 14 5a 18 20  |R PHONE NO...Z. |
000008b0  f2 54 49 54 4c 45 28 22  45 44 49 54 20 44 41 54  |.TITLE("EDIT DAT|
000008c0  41 22 29 0d 14 64 43 20  f1 8a 30 2c 35 29 22 54  |A")..dC ..0,5)"T|
000008d0  79 70 65 20 69 6e 20 74  68 65 20 69 6e 64 65 78  |ype in the index|
000008e0  20 6e 75 6d 62 65 72 20  6f 66 20 74 68 65 20 6e  | number of the n|
000008f0  61 6d 65 22 27 22 74 6f  20 62 65 20 65 64 69 74  |ame"'"to be edit|
00000900  65 64 2e 20 22 3b 0d 14  6e 20 20 f2 47 50 49 28  |ed. ";..n  .GPI(|
00000910  31 2c 33 29 3a 41 3d bb  28 41 24 29 3a e7 20 41  |1,3):A=.(A$):. A|
00000920  3d 30 20 8c 20 e1 0d 14  78 19 20 e7 20 41 3e 58  |=0 . ...x. . A>X|
00000930  20 8c 20 f2 45 52 52 4f  52 3a e5 8d 44 64 54 0d  | . .ERROR:..DdT.|
00000940  14 82 22 20 f2 54 49 54  4c 45 28 22 22 29 3a f1  |.." .TITLE(""):.|
00000950  22 4e 61 6d 65 3a 20 22  3b 4e 41 4d 45 24 28 41  |"Name: ";NAME$(A|
00000960  29 0d 14 8c 1b 20 f1 27  22 4e 75 6d 62 65 72 3a  |).... .'"Number:|
00000970  20 22 3b 50 48 4f 4e 45  24 28 41 29 0d 14 96 71  | ";PHONE$(A)...q|
00000980  20 f1 27 27 22 54 79 70  65 20 69 6e 20 74 68 65  | .''"Type in the|
00000990  20 6e 65 77 20 6e 61 6d  65 20 61 6e 64 20 70 72  | new name and pr|
000009a0  65 73 73 20 74 68 65 20  22 27 22 52 45 54 55 52  |ess the "'"RETUR|
000009b0  4e 20 6b 65 79 2e 20 49  66 20 74 68 65 20 6e 61  |N key. If the na|
000009c0  6d 65 20 69 73 20 63 6f  72 72 65 63 74 2c 22 27  |me is correct,"'|
000009d0  22 6a 75 73 74 20 70 72  65 73 73 20 74 68 65 20  |"just press the |
000009e0  52 45 54 55 52 4e 20 6b  65 79 2e 22 27 0d 14 aa  |RETURN key."'...|
000009f0  25 20 f2 47 50 49 28 30  2c 32 33 29 3a e7 20 41  |% .GPI(0,23):. A|
00000a00  24 3e 22 22 20 8c 20 4e  41 4d 45 24 28 41 29 3d  |$>"" . NAME$(A)=|
00000a10  41 24 0d 14 b4 7e 20 f1  27 27 22 4e 6f 77 20 74  |A$...~ .''"Now t|
00000a20  79 70 65 20 69 6e 20 74  68 65 20 6e 65 77 20 70  |ype in the new p|
00000a30  68 6f 6e 65 20 6e 75 6d  62 65 72 20 61 6e 64 22  |hone number and"|
00000a40  27 22 70 72 65 73 73 20  74 68 65 20 52 45 54 55  |'"press the RETU|
00000a50  52 4e 20 6b 65 79 2e 20  49 66 20 74 68 65 20 6e  |RN key. If the n|
00000a60  75 6d 62 65 72 20 69 73  22 27 22 63 6f 72 72 65  |umber is"'"corre|
00000a70  63 74 2c 20 6a 75 73 74  20 70 72 65 73 73 20 74  |ct, just press t|
00000a80  68 65 20 52 45 54 55 52  4e 20 6b 65 79 2e 22 27  |he RETURN key."'|
00000a90  0d 14 be 26 20 f2 47 50  49 28 31 2c 31 32 29 3a  |...& .GPI(1,12):|
00000aa0  e7 20 41 24 3e 22 22 20  8c 20 50 48 4f 4e 45 24  |. A$>"" . PHONE$|
00000ab0  28 41 29 3d 41 24 0d 14  c8 0d 20 f2 50 41 43 4b  |(A)=A$.... .PACK|
00000ac0  28 41 29 0d 15 17 06 20  e1 0d 15 18 1e 20 dd f2  |(A).... ..... ..|
00000ad0  41 4c 46 53 52 54 3a f4  20 44 4f 45 53 20 41 4c  |ALFSRT:. DOES AL|
00000ae0  50 48 41 53 4f 52 54 0d  15 22 10 20 4c 3d 31 3a  |PHASORT..". L=1:|
00000af0  52 3d 58 3a 53 3d 30 0d  15 2c 12 20 e7 20 4c 3e  |R=X:S=0..,. . L>|
00000b00  3d 52 20 8c 20 8d 44 7c  55 0d 15 36 20 20 49 3d  |=R . .D|U..6  I=|
00000b10  4c 3a 4a 3d 52 3a 58 24  3d 41 43 54 4e 4d 24 28  |L:J=R:X$=ACTNM$(|
00000b20  28 4c 2b 52 29 81 20 32  29 0d 15 40 21 20 e7 20  |(L+R). 2)..@! . |
00000b30  41 43 54 4e 4d 24 28 49  29 3c 58 24 20 8c 20 49  |ACTNM$(I)<X$ . I|
00000b40  3d 49 2b 31 3a e5 8d 44  40 55 0d 15 4a 21 20 e7  |=I+1:..D@U..J! .|
00000b50  20 58 24 3c 41 43 54 4e  4d 24 28 4a 29 20 8c 20  | X$<ACTNM$(J) . |
00000b60  4a 3d 4a 2d 31 3a e5 8d  44 4a 55 0d 15 54 12 20  |J=J-1:..DJU..T. |
00000b70  e7 20 49 3c 4a 20 8c 20  f2 53 57 41 50 0d 15 5e  |. I<J . .SWAP..^|
00000b80  1f 20 e7 20 49 3c 3d 4a  20 8c 20 49 3d 49 2b 31  |. . I<=J . I=I+1|
00000b90  3a 4a 3d 4a 2d 31 3a e5  8d 44 40 55 0d 15 68 1a  |:J=J-1:..D@U..h.|
00000ba0  20 53 3d 53 2b 31 3a 53  4c 28 53 29 3d 49 3a 53  | S=S+1:SL(S)=I:S|
00000bb0  52 28 53 29 3d 52 0d 15  72 0e 20 52 3d 4a 3a e5  |R(S)=R..r. R=J:.|
00000bc0  8d 54 6c 55 0d 15 7c 11  20 e7 20 53 3d 30 20 8c  |.TlU..|. . S=0 .|
00000bd0  20 8d 74 6e 55 0d 15 86  20 20 4c 3d 53 4c 28 53  | .tnU...  L=SL(S|
00000be0  29 3a 52 3d 53 52 28 53  29 3a 53 3d 53 2d 31 3a  |):R=SR(S):S=S-1:|
00000bf0  e5 8d 54 6c 55 0d 15 ae  1d 20 54 49 54 4c 45 24  |..TlU.... TITLE$|
00000c00  3d 22 41 4c 50 48 41 42  45 54 49 43 20 53 4f 52  |="ALPHABETIC SOR|
00000c10  54 22 0d 15 b8 0e 20 f2  50 52 49 4e 54 41 4c 4c  |T".... .PRINTALL|
00000c20  0d 15 df 06 20 e1 0d 15  e0 1c 20 dd f2 4e 55 4d  |.... ..... ..NUM|
00000c30  53 52 54 3a f4 20 4e 55  4d 45 52 49 43 20 53 4f  |SRT:. NUMERIC SO|
00000c40  52 54 0d 15 ea 10 20 4c  3d 31 3a 52 3d 58 3a 53  |RT.... L=1:R=X:S|
00000c50  3d 30 0d 15 f4 12 20 e7  20 4c 3e 3d 52 20 8c 20  |=0.... . L>=R . |
00000c60  8d 44 44 56 0d 15 fe 1f  20 49 3d 4c 3a 4a 3d 52  |.DDV.... I=L:J=R|
00000c70  3a 58 58 3d 50 48 4f 4e  45 28 28 4c 2b 52 29 81  |:XX=PHONE((L+R).|
00000c80  20 32 29 0d 16 08 20 20  e7 20 50 48 4f 4e 45 28  | 2)...  . PHONE(|
00000c90  49 29 3c 58 58 20 8c 20  49 3d 49 2b 31 3a e5 8d  |I)<XX . I=I+1:..|
00000ca0  54 48 56 0d 16 12 20 20  e7 20 58 58 3c 50 48 4f  |THV...  . XX<PHO|
00000cb0  4e 45 28 4a 29 20 8c 20  4a 3d 4a 2d 31 3a e5 8d  |NE(J) . J=J-1:..|
00000cc0  54 52 56 0d 16 1c 12 20  e7 20 49 3c 4a 20 8c 20  |TRV.... . I<J . |
00000cd0  f2 53 57 41 50 0d 16 26  1f 20 e7 20 49 3c 3d 4a  |.SWAP..&. . I<=J|
00000ce0  20 8c 20 49 3d 49 2b 31  3a 4a 3d 4a 2d 31 3a e5  | . I=I+1:J=J-1:.|
00000cf0  8d 54 48 56 0d 16 30 1a  20 53 3d 53 2b 31 3a 53  |.THV..0. S=S+1:S|
00000d00  4c 28 53 29 3d 49 3a 53  52 28 53 29 3d 52 0d 16  |L(S)=I:SR(S)=R..|
00000d10  3a 0e 20 52 3d 4a 3a e5  8d 64 74 55 0d 16 44 11  |:. R=J:..dtU..D.|
00000d20  20 e7 20 53 3d 30 20 8c  20 8d 44 76 56 0d 16 4e  | . S=0 . .DvV..N|
00000d30  20 20 4c 3d 53 4c 28 53  29 3a 52 3d 53 52 28 53  |  L=SL(S):R=SR(S|
00000d40  29 3a 53 3d 53 2d 31 3a  e5 8d 64 74 55 0d 16 76  |):S=S-1:..dtU..v|
00000d50  1a 20 54 49 54 4c 45 24  3d 22 4e 55 4d 45 52 49  |. TITLE$="NUMERI|
00000d60  43 20 53 4f 52 54 22 0d  16 80 0e 20 f2 50 52 49  |C SORT".... .PRI|
00000d70  4e 54 41 4c 4c 0d 16 a7  06 20 e1 0d 16 a8 2b 20  |NTALL.... ....+ |
00000d80  dd f2 41 4c 46 53 45 41  3a f4 20 41 4c 50 48 41  |..ALFSEA:. ALPHA|
00000d90  42 45 54 49 43 20 53 45  41 52 43 48 20 46 4f 52  |BETIC SEARCH FOR|
00000da0  20 4e 41 4d 45 53 0d 16  b2 20 20 f2 54 49 54 4c  | NAMES...  .TITL|
00000db0  45 28 22 41 4c 50 48 41  42 45 54 49 43 20 53 45  |E("ALPHABETIC SE|
00000dc0  41 52 43 48 22 29 0d 16  bc 18 20 f2 52 45 54 55  |ARCH").... .RETU|
00000dd0  52 4e 3a f1 8a 30 2c 33  29 3a 46 31 3d 30 0d 16  |RN:..0,3):F1=0..|
00000de0  c6 15 20 f1 22 44 6f 20  79 6f 75 20 77 61 6e 74  |.. ."Do you want|
00000df0  3a 2d 22 0d 16 d0 42 20  f1 27 27 22 20 41 29 20  |:-"...B .''" A) |
00000e00  74 6f 20 73 65 61 72 63  68 20 66 6f 72 20 74 68  |to search for th|
00000e10  65 20 66 69 72 73 74 20  66 65 77 20 6c 65 74 74  |e first few lett|
00000e20  65 72 73 22 27 22 20 20  20 20 6f 66 20 61 20 6e  |ers"'"    of a n|
00000e30  61 6d 65 22 27 0d 16 da  3b 20 f1 22 20 42 29 20  |ame"'...; ." B) |
00000e40  74 6f 20 73 65 61 72 63  68 20 66 6f 72 20 73 6f  |to search for so|
00000e50  6d 65 20 6c 65 74 74 65  72 73 20 77 69 74 68 69  |me letters withi|
00000e60  6e 22 27 22 20 20 20 20  61 20 6e 61 6d 65 22 27  |n"'"    a name"'|
00000e70  0d 16 e4 24 20 f1 22 54  79 70 65 20 27 41 27 20  |...$ ."Type 'A' |
00000e80  6f 72 20 27 42 27 3a 20  22 3b 3a f2 47 50 49 28  |or 'B': ";:.GPI(|
00000e90  30 2c 31 29 0d 16 ee 10  20 e7 20 41 24 3d 22 22  |0,1).... . A$=""|
00000ea0  20 8c 20 e1 0d 16 f8 25  20 e7 20 41 24 3d 22 41  | . ....% . A$="A|
00000eb0  22 20 84 20 41 24 3d 22  61 22 20 8c 20 46 4c 41  |" . A$="a" . FLA|
00000ec0  47 3d 31 3a e5 8d 54 4c  57 0d 17 02 26 20 e7 20  |G=1:..TLW...& . |
00000ed0  41 24 3d 22 42 22 20 84  20 41 24 3d 22 62 22 20  |A$="B" . A$="b" |
00000ee0  8c 20 46 4c 41 47 3d 30  20 8b 20 8d 74 72 56 0d  |. FLAG=0 . .trV.|
00000ef0  17 0c 3e 20 f1 27 27 22  54 79 70 65 20 69 6e 20  |..> .''"Type in |
00000f00  74 68 65 20 6c 65 74 74  65 72 73 20 74 68 61 74  |the letters that|
00000f10  20 79 6f 75 20 77 61 6e  74 20 74 6f 22 27 22 73  | you want to"'"s|
00000f20  65 61 72 63 68 20 66 6f  72 3a 20 22 3b 0d 17 16  |earch for: ";...|
00000f30  27 20 f2 47 50 49 28 30  2c 32 30 29 3a 4c 3d a9  |' .GPI(0,20):L=.|
00000f40  28 41 24 29 3a 50 47 43  4e 54 3d 30 3a 46 4f 55  |(A$):PGCNT=0:FOU|
00000f50  4e 44 3d 30 0d 17 20 22  20 e7 20 46 4c 41 47 3d  |ND=0.. " . FLAG=|
00000f60  30 20 8c 20 f2 4d 49 44  53 45 41 20 8b 20 f2 4c  |0 . .MIDSEA . .L|
00000f70  45 46 54 53 45 41 0d 17  2a 21 20 f2 43 48 45 43  |EFTSEA..*! .CHEC|
00000f80  4b 4d 41 54 43 48 28 22  6c 65 74 74 65 72 73 22  |KMATCH("letters"|
00000f90  29 3a e5 8d 74 72 56 0d  17 6f 06 20 e1 0d 17 70  |):..trV..o. ...p|
00000fa0  2b 20 dd f2 4e 55 4d 53  45 41 3a f4 20 4e 55 4d  |+ ..NUMSEA:. NUM|
00000fb0  45 52 49 43 20 53 4f 52  54 20 46 4f 52 20 50 48  |ERIC SORT FOR PH|
00000fc0  4f 4e 45 20 4e 4f 53 2e  0d 17 7a 1d 20 f2 54 49  |ONE NOS...z. .TI|
00000fd0  54 4c 45 28 22 4e 55 4d  45 52 49 43 20 53 45 41  |TLE("NUMERIC SEA|
00000fe0  52 43 48 22 29 0d 17 84  23 20 50 47 43 4e 54 3d  |RCH")...# PGCNT=|
00000ff0  30 3a f2 52 45 54 55 52  4e 3a 46 4f 55 4e 44 3d  |0:.RETURN:FOUND=|
00001000  30 3a f1 8a 30 2c 33 29  0d 17 8e 8f 20 f1 27 27  |0:..0,3).... .''|
00001010  22 49 66 20 79 6f 75 20  74 79 70 65 20 69 6e 20  |"If you type in |
00001020  61 6e 79 20 6f 66 20 74  68 65 20 6e 75 6d 62 65  |any of the numbe|
00001030  72 73 20 74 68 61 74 22  27 22 79 6f 75 20 74 68  |rs that"'"you th|
00001040  69 6e 6b 20 61 72 65 20  69 6e 20 74 68 65 20 74  |ink are in the t|
00001050  65 6c 65 70 68 6f 6e 65  20 6e 75 6d 62 65 72 22  |elephone number"|
00001060  27 22 74 68 61 74 20 79  6f 75 20 77 61 6e 74 2c  |'"that you want,|
00001070  20 74 68 65 20 70 72 6f  67 72 61 6d 20 77 69 6c  | the program wil|
00001080  6c 20 73 65 61 72 63 68  22 27 22 66 6f 72 20 74  |l search"'"for t|
00001090  68 65 6d 3a 20 22 3b 0d  17 98 21 20 f2 47 50 49  |hem: ";...! .GPI|
000010a0  28 31 2c 31 36 29 3a 4c  3d a9 28 41 24 29 3a e7  |(1,16):L=.(A$):.|
000010b0  20 4c 3d 30 20 8c 20 e1  0d 17 9d 11 20 e7 20 58  | L=0 . ..... . X|
000010c0  3d 30 20 8c 20 8d 64 54  57 0d 17 a2 0e 20 e3 20  |=0 . .dTW.... . |
000010d0  49 3d 31 20 b8 20 58 0d  17 ac 1d 20 e3 20 4a 3d  |I=1 . X.... . J=|
000010e0  31 20 b8 20 a9 28 50 48  4f 4e 45 24 28 49 29 29  |1 . .(PHONE$(I))|
000010f0  2d 4c 2b 31 0d 17 b6 33  20 e7 20 c1 50 48 4f 4e  |-L+1...3 . .PHON|
00001100  45 24 28 49 29 2c 4a 2c  4c 29 3d 41 24 20 8c 20  |E$(I),J,L)=A$ . |
00001110  f2 50 52 49 4e 54 28 49  29 3a 46 4f 55 4e 44 3d  |.PRINT(I):FOUND=|
00001120  31 3a e5 8d 64 4a 57 0d  17 c0 07 20 ed 4a 0d 17  |1:..dJW.... .J..|
00001130  ca 07 20 ed 49 0d 17 d4  21 20 f2 43 48 45 43 4b  |.. .I...! .CHECK|
00001140  4d 41 54 43 48 28 22 6e  75 6d 62 65 72 73 22 29  |MATCH("numbers")|
00001150  3a e5 8d 44 7a 57 0d 18  37 06 20 e1 0d 18 38 22  |:..DzW..7. ...8"|
00001160  20 dd f2 44 45 4c 45 54  45 3a f4 20 44 45 4c 45  | ..DELETE:. DELE|
00001170  54 45 20 41 4c 4c 20 45  4e 54 52 49 45 53 0d 18  |TE ALL ENTRIES..|
00001180  42 20 20 f2 54 49 54 4c  45 28 22 45 52 41 53 45  |B  .TITLE("ERASE|
00001190  20 41 4c 4c 20 45 4e 54  52 49 45 53 22 29 0d 18  | ALL ENTRIES")..|
000011a0  4c 29 20 f1 8a 36 2c 31  32 29 3b 22 41 72 65 20  |L) ..6,12);"Are |
000011b0  79 6f 75 20 73 75 72 65  20 74 68 61 74 20 79 6f  |you sure that yo|
000011c0  75 20 77 69 73 68 22 0d  18 56 26 20 f1 8a 38 2c  |u wish"..V& ..8,|
000011d0  31 33 29 3b 22 74 6f 20  65 72 61 73 65 20 61 6c  |13);"to erase al|
000011e0  6c 20 65 6e 74 72 69 65  73 3f 20 22 3b 0d 18 60  |l entries? ";..`|
000011f0  1b 20 f2 59 45 53 4f 52  4e 4f 3a e7 20 59 25 3c  |. .YESORNO:. Y%<|
00001200  30 20 8c 20 8d 44 42 58  0d 18 6a 11 20 e7 20 59  |0 . .DBX..j. . Y|
00001210  25 3d 31 20 8c 20 58 3d  30 0d 18 9b 06 20 e1 0d  |%=1 . X=0.... ..|
00001220  18 9c 0b 20 dd f2 49 4e  46 4f 0d 18 a6 0a 20 db  |... ..INFO.... .|
00001230  3a f1 27 27 0d 18 b0 2b  20 f1 22 20 20 20 49 6e  |:.''...+ ."   In|
00001240  20 74 68 69 73 20 70 72  6f 67 72 61 6d 20 79 6f  | this program yo|
00001250  75 20 77 69 6c 6c 20 62  65 20 61 62 6c 65 22 0d  |u will be able".|
00001260  18 ba 2c 20 f1 22 20 20  20 74 6f 20 65 6e 74 65  |.., ."   to ente|
00001270  72 20 75 70 20 74 6f 20  22 3b 53 49 5a 45 3b 22  |r up to ";SIZE;"|
00001280  20 6e 61 6d 65 73 20 61  6e 64 22 0d 18 c4 1e 20  | names and".... |
00001290  f1 22 20 20 20 74 65 6c  65 70 68 6f 6e 65 20 6e  |."   telephone n|
000012a0  75 6d 62 65 72 73 2e 22  27 0d 18 ce 25 20 f1 22  |umbers."'...% ."|
000012b0  20 20 20 59 6f 75 20 63  61 6e 20 73 6f 72 74 20  |   You can sort |
000012c0  74 68 65 73 65 20 65 6e  74 72 69 65 73 22 0d 18  |these entries"..|
000012d0  d8 29 20 f1 22 20 20 20  61 6c 70 68 61 62 65 74  |.) ."   alphabet|
000012e0  69 63 61 6c 6c 79 20 6f  72 20 6e 75 6d 65 72 69  |ically or numeri|
000012f0  63 61 6c 6c 79 2e 22 0d  18 e2 29 20 f1 22 20 20  |cally."...) ."  |
00001300  20 59 6f 75 20 63 61 6e  20 61 6c 73 6f 20 73 65  | You can also se|
00001310  61 72 63 68 20 62 79 20  6e 61 6d 65 20 6f 72 22  |arch by name or"|
00001320  0d 18 ec 13 20 f1 22 20  20 20 6e 75 6d 62 65 72  |.... ."   number|
00001330  2e 22 27 0d 19 00 26 20  f1 22 20 20 20 41 74 20  |."'...& ."   At |
00001340  74 68 65 20 73 74 61 72  74 20 6f 66 20 74 68 65  |the start of the|
00001350  20 70 72 6f 67 72 61 6d  22 0d 19 0a 28 20 f1 22  | program"...( ."|
00001360  20 20 20 74 68 65 72 65  20 69 73 20 61 20 6d 65  |   there is a me|
00001370  6e 75 2e 20 54 6f 20 73  65 6c 65 63 74 20 61 6e  |nu. To select an|
00001380  22 0d 19 14 28 20 f1 22  20 20 20 6f 70 74 69 6f  |"...( ."   optio|
00001390  6e 2c 20 79 6f 75 20 77  69 6c 6c 20 6e 65 65 64  |n, you will need|
000013a0  20 74 6f 20 74 79 70 65  22 0d 19 1e 27 20 f1 22  | to type"...' ."|
000013b0  20 20 20 74 68 65 20 6e  75 6d 62 65 72 20 73 65  |   the number se|
000013c0  6c 65 63 74 65 64 20 66  6f 6c 6c 6f 77 65 64 22  |lected followed"|
000013d0  0d 19 28 1c 20 f1 22 20  20 20 62 79 20 52 45 54  |..(. ."   by RET|
000013e0  55 52 4e 2e 22 3a f2 53  50 41 43 45 0d 19 63 06  |URN.":.SPACE..c.|
000013f0  20 e1 0d 1b 58 10 20 dd  f2 54 49 54 4c 45 28 45  | ...X. ..TITLE(E|
00001400  24 29 0d 1b 62 18 20 e7  20 45 24 3e 22 22 20 8c  |$)..b. . E$>"" .|
00001410  20 54 49 54 4c 45 24 3d  45 24 0d 1b 6c 10 20 db  | TITLE$=E$..l. .|
00001420  3a f1 c4 34 30 2c 22 2a  22 29 0d 1b 76 1f 20 f1  |:..40,"*")..v. .|
00001430  8a 32 30 2d a9 28 54 49  54 4c 45 24 29 2f 32 2c  |.20-.(TITLE$)/2,|
00001440  31 29 3b 54 49 54 4c 45  24 0d 1b 80 0e 20 f1 c4  |1);TITLE$.... ..|
00001450  34 30 2c 22 2a 22 29 0d  1b bb 06 20 e1 0d 1b bc  |40,"*").... ....|
00001460  0e 20 dd f2 50 41 43 4b  28 49 29 0d 1b c6 0a 20  |. ..PACK(I).... |
00001470  54 24 3d 22 22 0d 1b d0  18 20 e3 20 4a 3d 31 20  |T$="".... . J=1 |
00001480  b8 20 a9 28 4e 41 4d 45  24 28 49 29 29 0d 1b da  |. .(NAME$(I))...|
00001490  16 20 58 24 3d c1 4e 41  4d 45 24 28 49 29 2c 4a  |. X$=.NAME$(I),J|
000014a0  2c 31 29 0d 1b e4 20 20  e7 20 97 28 58 24 29 3e  |,1)...  . .(X$)>|
000014b0  39 36 20 8c 20 58 24 3d  bd 28 97 28 58 24 29 2d  |96 . X$=.(.(X$)-|
000014c0  33 32 29 0d 1b ee 0d 20  54 24 3d 54 24 2b 58 24  |32).... T$=T$+X$|
000014d0  0d 1b f8 07 20 ed 4a 0d  1c 02 11 20 41 43 54 4e  |.... .J.... ACTN|
000014e0  4d 24 28 49 29 3d 54 24  0d 1c 20 0a 20 54 24 3d  |M$(I)=T$.. . T$=|
000014f0  22 22 0d 1c 2a 1a 20 e3  20 4c 50 3d 31 20 b8 20  |""..*. . LP=1 . |
00001500  a9 28 50 48 4f 4e 45 24  28 49 29 29 0d 1c 34 22  |.(PHONE$(I))..4"|
00001510  20 e7 20 c1 50 48 4f 4e  45 24 28 49 29 2c 4c 50  | . .PHONE$(I),LP|
00001520  2c 31 29 3d 22 20 22 20  8c 20 8d 44 48 5c 0d 1c  |,1)=" " . .DH\..|
00001530  3e 1b 20 54 24 3d 54 24  2b c1 50 48 4f 4e 45 24  |>. T$=T$+.PHONE$|
00001540  28 49 29 2c 4c 50 2c 31  29 0d 1c 48 08 20 ed 4c  |(I),LP,1)..H. .L|
00001550  50 0d 1c 52 13 20 50 48  4f 4e 45 28 49 29 3d bb  |P..R. PHONE(I)=.|
00001560  28 54 24 29 0d 1c 83 06  20 e1 0d 1c 84 2c 20 dd  |(T$).... ...., .|
00001570  f2 50 52 49 4e 54 28 49  29 3a f4 20 50 52 49 4e  |.PRINT(I):. PRIN|
00001580  54 53 20 49 74 68 20 4e  41 4d 45 20 41 4e 44 20  |TS Ith NAME AND |
00001590  4e 55 4d 42 45 52 0d 1c  8e 07 20 ea 4c 0d 1c 98  |NUMBER.... .L...|
000015a0  1f 20 e7 20 50 47 43 4e  54 3d 38 20 8c 20 f2 53  |. . PGCNT=8 . .S|
000015b0  50 41 43 45 3a 50 47 43  4e 54 3d 30 0d 1c a2 1b  |PACE:PGCNT=0....|
000015c0  20 e7 20 50 47 43 4e 54  3d 30 20 8c 20 f2 54 49  | . PGCNT=0 . .TI|
000015d0  54 4c 45 28 22 22 29 0d  1c ac 10 20 4c 3d 50 47  |TLE("").... L=PG|
000015e0  43 4e 54 2a 32 2b 34 0d  1c b6 2d 20 f1 8a 31 2c  |CNT*2+4...- ..1,|
000015f0  4c 29 3b 49 3b 8a 34 2c  4c 29 3b 4e 41 4d 45 24  |L);I;.4,L);NAME$|
00001600  28 49 29 3b 8a 32 38 2c  4c 29 3b 50 48 4f 4e 45  |(I);.28,L);PHONE|
00001610  24 28 49 29 0d 1c c0 12  20 50 47 43 4e 54 3d 50  |$(I).... PGCNT=P|
00001620  47 43 4e 54 2b 31 0d 1c  ca 0c 20 46 4f 55 4e 44  |GCNT+1.... FOUND|
00001630  3d 31 0d 1c e7 06 20 e1  0d 1c e8 0f 20 dd f2 50  |=1.... ..... ..P|
00001640  52 49 4e 54 41 4c 4c 0d  1c f2 19 20 50 47 43 4e  |RINTALL.... PGCN|
00001650  54 3d 30 3a e7 20 58 3d  30 20 8c 20 8d 54 5a 5d  |T=0:. X=0 . .TZ]|
00001660  0d 1c fc 0e 20 e3 20 49  3d 31 20 b8 20 58 0d 1d  |.... . I=1 . X..|
00001670  06 0e 20 f2 50 52 49 4e  54 28 49 29 0d 1d 10 0c  |.. .PRINT(I)....|
00001680  20 ed 3a e5 8d 44 42 5d  0d 1d 1a 0f 20 f2 54 49  | .:..DB].... .TI|
00001690  54 4c 45 28 22 22 29 0d  1d 24 70 20 f1 27 27 22  |TLE("")..$p .''"|
000016a0  54 68 65 72 65 20 69 73  20 6e 6f 20 64 61 74 61  |There is no data|
000016b0  20 69 6e 20 74 68 65 20  6d 65 6d 6f 72 79 2e 20  | in the memory. |
000016c0  50 6c 65 61 73 65 22 27  27 22 74 79 70 65 20 73  |Please"''"type s|
000016d0  6f 6d 65 20 69 6e 20 6f  72 20 70 72 65 73 73 20  |ome in or press |
000016e0  74 68 65 20 27 45 53 43  27 20 6b 65 79 22 27 27  |the 'ESC' key"''|
000016f0  22 74 6f 20 6c 65 61 76  65 20 74 68 65 20 70 72  |"to leave the pr|
00001700  6f 67 72 61 6d 2e 22 0d  1d 42 0b 20 f2 53 50 41  |ogram."..B. .SPA|
00001710  43 45 0d 1d 4b 06 20 e1  0d 1d 4c 15 20 dd f2 43  |CE..K. ...L. ..C|
00001720  48 45 43 4b 4d 41 54 43  48 28 45 24 29 0d 1d 56  |HECKMATCH(E$)..V|
00001730  14 20 e7 20 46 4f 55 4e  44 3d 31 20 8c 8d 44 74  |. . FOUND=1 ..Dt|
00001740  5d 0d 1d 60 0f 20 f2 54  49 54 4c 45 28 22 22 29  |]..`. .TITLE("")|
00001750  0d 1d 6a 44 20 f1 8a 30  2c 31 30 29 22 54 68 65  |..jD ..0,10)"The|
00001760  72 65 20 69 73 20 6e 6f  20 6d 61 74 63 68 20 66  |re is no match f|
00001770  6f 72 20 74 68 65 20 22  45 24 27 22 74 68 61 74  |or the "E$'"that|
00001780  20 79 6f 75 20 68 61 76  65 20 74 79 70 65 64 20  | you have typed |
00001790  69 6e 2e 22 0d 1d 74 0b  20 f2 53 50 41 43 45 0d  |in."..t. .SPACE.|
000017a0  1d af 06 20 e1 0d 1d b0  0d 20 dd f2 52 45 54 55  |... ..... ..RETU|
000017b0  52 4e 0d 1d ba 43 20 f1  8a 37 2c 32 31 29 3b 22  |RN...C ..7,21);"|
000017c0  54 6f 20 72 65 74 75 72  6e 20 74 6f 20 74 68 65  |To return to the|
000017d0  20 4d 45 4e 55 22 3b 8a  37 2c 32 32 29 3b 22 70  | MENU";.7,22);"p|
000017e0  72 65 73 73 20 74 68 65  20 52 45 54 55 52 4e 20  |ress the RETURN |
000017f0  6b 65 79 2e 22 0d 1e 13  06 20 e1 0d 1e 78 0c 20  |key.".... ...x. |
00001800  dd f2 45 52 52 4f 52 0d  1e 82 07 20 ea 4b 0d 1e  |..ERROR.... .K..|
00001810  8c 31 20 f1 8a 30 2c 32  30 29 3b 22 54 68 65 72  |.1 ..0,20);"Ther|
00001820  65 20 69 73 20 6e 6f 20  65 6e 74 72 79 20 77 69  |e is no entry wi|
00001830  74 68 20 74 68 69 73 20  69 6e 64 65 78 2e 22 0d  |th this index.".|
00001840  1e 96 0b 20 f2 53 50 41  43 45 0d 1e a0 10 20 e3  |... .SPACE.... .|
00001850  20 4b 3d 32 30 20 b8 20  32 32 0d 1e aa 11 20 f1  | K=20 . 22.... .|
00001860  8a 30 2c 4b 29 3b 89 28  33 39 29 0d 1e b4 07 20  |.0,K);.(39).... |
00001870  ed 4b 0d 1e db 06 20 e1  0d 1f 40 12 20 dd f2 44  |.K.... ...@. ..D|
00001880  42 4c 28 58 24 2c 58 2c  59 29 0d 1f 4a 17 20 f1  |BL(X$,X,Y)..J. .|
00001890  8a 58 2d 31 2c 59 29 3b  bd 28 31 34 31 29 3b 58  |.X-1,Y);.(141);X|
000018a0  24 0d 1f 54 19 20 f1 8a  58 2d 31 2c 59 2b 31 29  |$..T. ..X-1,Y+1)|
000018b0  3b bd 28 31 34 31 29 3b  58 24 0d 1f a3 06 20 e1  |;.(141);X$.... .|
000018c0  0d 1f a4 0e 20 dd f2 57  41 49 54 28 58 29 0d 1f  |.... ..WAIT(X)..|
000018d0  ae 08 20 ea 20 5a 0d 1f  b8 08 20 5a 3d 91 0d 1f  |.. . Z.... Z=...|
000018e0  c2 12 20 f5 20 fd 20 91  2d 5a 3e 58 2a 31 30 30  |.. . . .-Z>X*100|
000018f0  0d 20 07 06 20 e1 0d 20  08 0c 20 dd f2 53 50 41  |. .. .. .. ..SPA|
00001900  43 45 0d 20 1c 34 20 f1  8a 33 2c 32 32 29 3b 22  |CE. .4 ..3,22);"|
00001910  50 72 65 73 73 20 74 68  65 20 53 50 41 43 45 20  |Press the SPACE |
00001920  42 41 52 20 74 6f 20 63  6f 6e 74 69 6e 75 65 22  |BAR to continue"|
00001930  3b 3a f2 4b 43 4c 0d 20  30 0e 20 f5 20 fd 20 be  |;:.KCL. 0. . . .|
00001940  3d 22 20 22 0d 20 6b 06  20 e1 0d 20 6c 10 20 dd  |=" ". k. .. l. .|
00001950  f2 54 49 54 4c 45 50 41  47 45 0d 20 76 33 20 db  |.TITLEPAGE. v3 .|
00001960  3a f2 44 42 4c 28 22 54  65 6c 65 70 68 6f 6e 65  |:.DBL("Telephone|
00001970  22 2c 31 32 2c 38 29 3a  f2 44 42 4c 28 22 4e 75  |",12,8):.DBL("Nu|
00001980  6d 62 65 72 73 22 2c 31  33 2c 31 31 29 0d 20 80  |mbers",13,11). .|
00001990  13 20 f2 4f 46 46 3a 49  25 3d a6 28 35 30 30 29  |. .OFF:I%=.(500)|
000019a0  0d 20 cf 06 20 e1 0d 22  60 0a 20 dd f2 4b 43 4c  |. .. .."`. ..KCL|
000019b0  0d 22 6a 15 20 e7 20 bf  28 30 29 3e 22 22 20 8c  |."j. . .(0)>"" .|
000019c0  20 8d 44 6a 62 0d 22 c3  06 20 e1 0d 22 c4 0a 20  | .Djb.".. ..".. |
000019d0  dd f2 4f 46 46 0d 22 ce  16 20 ef 32 33 3b 38 32  |..OFF.".. .23;82|
000019e0  30 32 3b 30 3b 30 3b 30  3b 3a e1 0d 22 f6 0a 20  |02;0;0;0;:..".. |
000019f0  dd f2 4f 4e 20 0d 23 00  17 20 ef 32 33 3b 32 39  |..ON .#.. .23;29|
00001a00  31 39 34 3b 30 3b 30 3b  30 3b 3a e1 0d 23 28 31  |194;0;0;0;:..#(1|
00001a10  20 dd f2 47 50 49 28 46  32 2c 4d 4c 29 3a f4 20  | ..GPI(F2,ML):. |
00001a20  47 65 6e 65 72 61 6c 20  50 75 72 70 6f 73 65 20  |General Purpose |
00001a30  49 6e 70 75 74 20 52 6f  75 74 69 6e 65 0d 23 32  |Input Routine.#2|
00001a40  0a 20 ea 42 2c 42 24 0d  23 3c 0a 20 41 24 3d 22  |. .B,B$.#<. A$="|
00001a50  22 0d 23 46 2b 20 f1 c4  4d 4c 2c 22 20 22 29 3b  |".#F+ ..ML," ");|
00001a60  c4 4d 4c 2b 31 2c bd 28  38 29 29 3b bd 28 26 38  |.ML+1,.(8));.(&8|
00001a70  37 29 3b 3a f2 4f 4e 3a  f2 4b 43 4c 0d 23 50 1f  |7);:.ON:.KCL.#P.|
00001a80  20 42 24 3d be 3a 42 3d  97 28 42 24 29 3a e7 20  | B$=.:B=.(B$):. |
00001a90  42 3d 31 33 20 8c 20 8d  64 66 63 0d 23 5a 1b 20  |B=13 . .dfc.#Z. |
00001aa0  e7 20 42 3d 31 32 37 20  80 20 41 24 3d 22 22 20  |. B=127 . A$="" |
00001ab0  8c 20 8d 44 50 63 0d 23  64 29 20 e7 20 42 3d 31  |. .DPc.#d) . B=1|
00001ac0  32 37 20 8c 20 41 24 3d  c0 41 24 2c a9 28 41 24  |27 . A$=.A$,.(A$|
00001ad0  29 2d 31 29 3a f1 42 24  3b 3a e5 8d 44 50 63 0d  |)-1):.B$;:..DPc.|
00001ae0  23 6e 25 20 e7 20 a9 28  41 24 29 3d 4d 4c 20 84  |#n% . .(A$)=ML .|
00001af0  20 42 3c 33 32 20 84 20  42 3e 31 32 36 20 8c 20  | B<32 . B>126 . |
00001b00  8d 64 52 63 0d 23 78 2b  20 e7 20 46 32 3d 30 20  |.dRc.#x+ . F2=0 |
00001b10  84 20 42 3d 33 32 20 84  20 28 42 3e 3d 34 38 20  |. B=32 . (B>=48 |
00001b20  80 20 42 3c 3d 35 37 29  20 8c 20 8d 64 5c 63 0d  |. B<=57) . .d\c.|
00001b30  23 d2 0d 20 ef 37 3a e5  8d 44 50 63 0d 23 dc 18  |#.. .7:..DPc.#..|
00001b40  20 f1 42 24 3b 3a 41 24  3d 41 24 2b 42 24 3a e5  | .B$;:A$=A$+B$:.|
00001b50  8d 44 50 63 0d 23 e6 09  20 f2 4f 46 46 0d 23 ef  |.DPc.#.. .OFF.#.|
00001b60  06 20 e1 0d 23 f0 0e 20  dd f2 59 45 53 4f 52 4e  |. ..#.. ..YESORN|
00001b70  4f 0d 23 fa 08 20 ea 42  24 0d 24 04 0e 20 f2 47  |O.#.. .B$.$.. .G|
00001b80  50 49 28 30 2c 33 29 0d  24 0e 0e 20 42 24 3d c0  |PI(0,3).$.. B$=.|
00001b90  41 24 2c 31 29 0d 24 18  0a 20 59 25 3d 2d 31 0d  |A$,1).$.. Y%=-1.|
00001ba0  24 22 1d 20 e7 20 42 24  3d 22 59 22 20 84 20 42  |$". . B$="Y" . B|
00001bb0  24 3d 22 79 22 20 8c 20  59 25 3d 31 0d 24 2c 1d  |$="y" . Y%=1.$,.|
00001bc0  20 e7 20 42 24 3d 22 4e  22 20 84 20 42 24 3d 22  | . B$="N" . B$="|
00001bd0  6e 22 20 8c 20 59 25 3d  30 0d 24 53 06 20 e1 0d  |n" . Y%=0.$S. ..|
00001be0  ff                                                |.|
00001be1
W.PHONE.m0
W.PHONE.m1
W.PHONE.m2
W.PHONE.m4
W.PHONE.m5