10REM                           *****************
20REM                           * HELLO PROGRAM *
30REM                           * WRITTEN 3/85  *
40REM                           *   BY GREGG    *
50REM                           *   NOBLETT     *
60REM                           *****************
80GOSUB 1900:POKE 17059, 4:TEXT
120 m$="PLEASE SIGN ON":GOSUB 1000:GOSUB 1200
130 t=0
140 t=t+1:IF t>a% THEN 170
150GET s$:IF s$<>p$(t) THEN 130
160GOTO 140
170 m$="SIGN ON COMPLETE":GOSUB 1000:GOSUB 1200:GOSUB 1100
180GOSUB 1800
210PR #0
220POKE 17059, 4: m$="MAIN MENU":GOSUB 1000:TEXT:VTAB 2:HTAB s:? m$
230 m$="---------":HTAB s:? m$
240?
250 m$="I. Disk Directory":GOSUB 1300
260 m$="II. Appointment Book":GOSUB 1300
270 m$="III. Phone Book":GOSUB 1300
280 m$="IV. Calculater":GOSUB 1300
290 m$="V. Command Menu":GOSUB 1300
300 m$="VI. Change Password":GOSUB 1300
310GET s$
320IF s$=key$(0) THEN GOSUB 2000:GOTO 210
330IF s$=key$(1) THEN GOSUB 4000:GOTO 210
340IF s$=key$(2) THEN GOSUB 6000:GOTO 210
350IF s$=key$(3) THEN GOSUB 8000:GOTO 210
360IF s$=key$(4) THEN GOSUB 10000:GOTO 210
370IF s$=key$(5) THEN GOSUB 3000:GOTO 210
380IF s$=key$(6) THEN 11000
390GOTO 210
1000 s=INT((31-LEN(m$))/2):RETURN
1100FOR l=1 TO 5000:NEXT l:RETURN
1150PR #0:? "Hit any key to continue.":GET hol$:RETURN
1200HOME:VTAB 10:HTAB s:? m$:RETURN
1225FOR l=1 TO 1500:NEXT l:RETURN
1300HTAB 5:? m$:?:RETURN
1310HTAB 5:? m$:RETURN
1320HTAB 1:? m$; :HTAB 15:? s$:RETURN
1400 m$="must be first option.":GOSUB 1000:HTAB s:? m$
1410GOSUB 1100:RETURN
1800REM                            * GREETINGS *
1810 m$="GOOD DAY":GOSUB 1000:GOSUB 1200
1820 m$=u$:GOSUB 1000:HTAB s:? m$:GOSUB 1100
1830 m$="Please enter today's":GOSUB 1000:GOSUB 1200
1840 m$="date (MM/DD/YY):":GOSUB 1000:HTAB s:? m$
1850HTAB 5:INPUT t$
1852 s$=MID$(t$, 7, 2)+MID$(t$, 1, 2)+MID$(t$, 4, 2)
1855 t$=s$
1858 fr$=o$: tr$=t$
1860IF d%>0 THEN GOSUB 1890:GOSUB 4240
1870 m$="Hitting 'Wild Card' at any":GOSUB 1000:GOSUB 1200
1880 m$="Menu will end this program":GOSUB 1000:HTAB s:? m$
1889GOSUB 1225:RETURN
1890HGR2
1891HTAB 1:? d$; "open MEMO"
1892HTAB 1:? d$; "read MEMO"
1893FOR l=1 TO d%
1894INPUT a$(l, 1):INPUT a$(l, 2):INPUT a$(l, 3)
1895NEXT l
1898HTAB 1:? d$; "close MEMO"
1899TEXT:RETURN
1900 dd=0: cp=0
1910 bk=0: ck=0: dk=0: ub=0: uc=0: ud=0
1920 d$=CHR$(4):DIM p$(10)
1921DIM key$(6): key$(0)=CHR$(129): key$(1)=CHR$(130): key$(2)=CHR$(131)
1922 key$(3)=CHR$(132): key$(4)=CHR$(133): key$(5)=CHR$(134): key$(6)=CHR$(144)
1930HGR2
1940? d$; "open INFORM"
1950? d$; "read INFORM"
1960INPUT a%:INPUT b%:INPUT c%:INPUT d%
1965INPUT u$:INPUT o$
1970FOR l=1 TO a%:INPUT p$(l):NEXT l
1980HTAB 1:? d$; "close INFORM"
1990DIM v$(b%+20, 2), b$(c%+20, 5), a$(d%+20, 3)
1995TEXT:RETURN
2000REM                         * DISK DIRECTORY *
2010POKE 17059, 13: m$="DISK DIRECTORY":GOSUB 1000:TEXT:VTAB 2:HTAB s:? m$
2020 m$="--------------":HTAB s:? m$:?
2030 m$="I. Load Directory.":GOSUB 1300
2040 m$="II. Search for program.":GOSUB 1300
2050 m$="III. Update Directory.":GOSUB 1300
2060 m$="IV. List Directory":GOSUB 1300
2070 m$="V. Print Directory":GOSUB 1300
2080 m$="VI. Exit Menu":GOSUB 1300
2090GET s$
2100IF s$=key$(0) THEN GOSUB 2200:GOTO 2010
2110IF s$=key$(1) THEN GOSUB 2390:GOTO 2010
2120IF s$=key$(2) THEN GOSUB 2711:GOTO 2010
2130IF s$=key$(3) THEN GOSUB 2300:GOTO 2010
2140IF s$=key$(4) THEN 2680
2150IF s$=key$(5) THEN GOSUB 2920:RETURN
2160IF s$=key$(6) THEN GOSUB 2920:GOTO 11000
2170GOTO 2010
2200 m$="Load disk with this program in":GOSUB 1000:GOSUB 1200
2205 m$="drive #5, then hit any key.":GOSUB 1000:HTAB s:? m$:GET s$:HGR2
2207IF b%=0 THEN TEXT: m$="Directory not started yet":GOSUB 1000:GOSUB 1200:GOSUB 1225:RETURN
2210HTAB 1:? d$; "open DISK,d5"
2220HTAB 1:? d$; "read DISK"
2230FOR l=1 TO b%:FOR s=1 TO 2:INPUT v$(l, s)
2240NEXT s:NEXT l
2250HTAB 1:? d$; "close DISK"
2265TEXT: m$="Directory loaded":GOSUB 1000:GOSUB 1200:GOSUB 1100
2270 bk=1:RETURN
2300IF bk=1 OR ub>0 THEN 2350
2305IF b%=0 AND ub=0 THEN 2207
2310 m$="Loading Disk Directory":GOSUB 1000
2320GOSUB 1200:GOSUB 1400:?:RETURN
2330 m$="PROGRAM": s$="DISKETTE #":HOME:GOSUB 1320
2340 m$="-------": s$="----------":GOSUB 1320:RETURN
2350FOR j=1 TO (b%+ub)
2355IF j=1 THEN GOSUB 2330
2360IF ((j/18)=INT(j/18)) THEN GOSUB 1150:GOSUB 2330
2370 m$=v$(j, 1): s$=v$(j, 2):GOSUB 1320
2380NEXT j:GOSUB 1150:RETURN
2390IF bk=0 AND b%>0 THEN 2310
2395IF b%+ub=0 THEN 2207
2400 m$="PROGRAM SEARCH":GOSUB 1000:HOME:HTAB s:? m$
2410 m$="--------------":HTAB s:? m$
2420 m$="< an '*' following letters >":GOSUB 1000:HTAB s:? m$
2430 m$="< will list all programs >":GOSUB 1000:HTAB s:? m$
2440 m$="< starting with those letters>":? m$
2450VTAB 10: m$="Search for?":HTAB 1:? m$; 
2460INPUT n$: z=LEN(n$):IF z>10 THEN  m$="Name too long":GOSUB 1000:GOSUB 1200:GOSUB 1100:GOTO 2400
2470IF RIGHT$(n$, 1)="*" THEN 2600
2480 e=(b%+ub): h=1
2490IF e-h<=1 THEN 2540
2500 j=(e+h)/2
2510 mh=INT(j+.5)
2520IF v$(mh, 1)<n$ THEN  h=mh:GOTO 2490
2530IF v$(mh, 1)>n$ THEN  e=mh:GOTO 2490
2540IF v$(mh, 1)=n$ THEN GOSUB 2330: m$=v$(mh, 1): s$=v$(mh, 2):GOSUB 1320:GOSUB 1100:RETURN
2550IF v$(e, 1)=n$ THEN GOSUB 2330: m$=v$(e, 1): s$=v$(e, 2):GOSUB 1320:GOSUB 1100:RETURN
2560IF v$(h, 1)=n$ THEN GOSUB 2330: m$=v$(h, 1): s$=v$(h, 2):GOSUB 1320:GOSUB 1100:RETURN
2570 m$="Program not on file":GOSUB 1000:GOSUB 1200:GOSUB 1100:RETURN
2600 j=LEN(n$): j=j-1
2610 q$=MID$(n$, 1, j)
2615GOSUB 2330
2620FOR t=1 TO (b%+ub)
2630 z$=v$(t, 1): z$=MID$(z$, 1, j)
2640IF z$<>q$ THEN 2660
2650 m$=v$(t, 1): s$=v$(t, 2):GOSUB 1320
2660NEXT t
2670GOSUB 1100:GOSUB 1150:RETURN
2680 m$="Put paper in printer":GOSUB 1000:GOSUB 1200
2690 m$="then hit any key":GOSUB 1000:HTAB s:? m$:GET s$
2700PR #1:GOSUB 2300
2710PR #0:GOTO 2010
2711 m$="UPDATE MENU":GOSUB 1000:HOME:VTAB 5:HTAB s:? m$
2712 m$="-----------":HTAB s:? m$:?
2713 m$="I. Add an Entry.":GOSUB 1300
2714 m$="II. Delete an Entry.":GOSUB 1300: m$="III. Exit Menu.":GOSUB 1300:GET s$
2715IF s$=key$(0) THEN GOSUB 2720:GOTO 2711
2716IF s$=key$(1) THEN GOSUB 3200:GOTO 2711
2717IF s$=key$(6) THEN GOSUB 2920:GOTO 11000
2718IF s$=key$(2) THEN RETURN
2719GOTO 2711
2720IF ub<10 THEN 2760
2730 m$="Maximum # of items have":GOSUB 1000:GOSUB 1200
2740 m$="already been added for":GOSUB 1000:HTAB s:? m$
2750 m$="this run.":GOSUB 1000:HTAB s:? m$:GOSUB 1100:RETURN
2760IF bk=0 AND b%>0 THEN 2310
2770 ub=ub+1
2780 m$="Input Program Name":HOME:GOSUB 1300
2790INPUT n$
2800 m$="Input What Disk #":GOSUB 1300
2810INPUT s$
2820 t=b%+ub
2825 s=FRE(0)
2830 v$(t, 1)=n$: v$(t, 2)=s$
2840FOR j=1 TO t-1
2850FOR i=(j+1) TO t
2860IF v$(i, 1)>=v$(j, 1) THEN 2900
2870 z$=v$(j, 1): q$=v$(j, 2)
2880 v$(j, 1)=v$(i, 1): v$(j, 2)=v$(i, 2)
2890 v$(i, 1)=z$: v$(i, 2)=q$
2900NEXT i
2910NEXT j: m$="Filed in Directory.":GOSUB 1000:GOSUB 1200:GOSUB 1225:RETURN
2920IF bk=0 AND ub=0 THEN RETURN
2921IF bk=1 AND ub=0 THEN RETURN
2924IF b%=0 AND ub>0 THEN  b%=ub: bk=0:GOTO 2930
2925 bk=0: b%=b%+ub
2927HTAB 1:? d$; "close DISK"
2928HTAB 1:? d$; "delete DISK"
2930HTAB 1:? d$; "open DISK"
2935HTAB 1:? d$; "write DISK"
2940FOR t=1 TO b%:FOR s=1 TO 2:? v$(t, s):NEXT s:NEXT t
2950HTAB 1:? d$; "close DISK"
2960RETURN
3000HOME: cp=1
3015IF p=1 THEN PR #1
3020 m$="Password now: ":VTAB 4:HTAB 2:? m$; 
3030FOR l=1 TO a%:IF l=a% THEN 3060
3040? p$(l); 
3050GOTO 3070
3060? p$(l)
3070NEXT l
3080 m$="New Password: ":VTAB 8:HTAB 2:? m$; 
3090INPUT q$
3100 z=LEN(q$)
3110IF z>10 THEN  m$="Max. length= 10 characters.":GOSUB 1000:GOSUB 1200:GOSUB 1100:GOTO 3010
3120FOR l=1 TO z: s$=MID$(q$, l, 1): p$(l)=s$:NEXT l
3130 a%=z
3140 m$="Password change complete.":GOSUB 1000:GOSUB 1200:GOSUB 1100:RETURN
3200 m$="What program name should":GOSUB 1000:GOSUB 1200
3210 m$="be deleted?":GOSUB 1000:HTAB s:? m$
3220INPUT n$
3230 m$="From which diskette#":GOSUB 1000:GOSUB 1200
3240INPUT s$
3245IF bk=0 THEN 2310
3250 t=b%+ub
3260FOR i=1 TO t
3270IF v$(i, 1)<>n$ OR v$(i, 2)<>s$ THEN 3290
3280 v$(i, 1)=" ": v$(i, 2)=" "
3290NEXT i
3300 sk=0
3305 sk=sk+1
3310IF sk>t THEN  m$="Program not on file":GOSUB 1000:GOSUB 1200:GOSUB 1100:RETURN
3320IF v$(sk, 1)=" " AND v$(sk, 2)=" " THEN 3340
3330GOTO 3305
3340FOR j=sk TO t-1
3350 v$(j, 1)=v$(j+1, 1): v$(j, 2)=v$(j+1, 2)
3360NEXT j
3370 m$="Entry Deleted.":GOSUB 1000:GOSUB 1200:GOSUB 1100
3380IF ub>0 THEN  ub=ub-1:RETURN
3390 b%=b%-1:RETURN
4000REM                      * APPOINTMENT BOOK *
4005POKE 17059, 6
4010 m$="APPOINTMENT BOOK":GOSUB 1000:TEXT:HTAB s:? m$
4020 m$="----------------":HTAB s:? m$:?
4030 m$="I. Memos fr/date,to/date":GOSUB 1300
4040 m$="II. List Book.":GOSUB 1300
4050 m$="III. Add a Memo/Appoint.":GOSUB 1300
4060 m$="IV. Delete an Entry.":GOSUB 1300
4070 m$="V. BROWSE thru book.":GOSUB 1300
4080 m$="VI. Exit Menu.":GOSUB 1300
4090GET s$
4100IF s$=key$(0) THEN GOSUB 4200:GOTO 4000
4110IF s$=key$(1) THEN GOSUB 4310:GOTO 4000
4120IF s$=key$(2) THEN GOSUB 4390:GOTO 4000
4130IF s$=key$(3) THEN GOSUB 4490:GOTO 4000
4140IF s$=key$(4) THEN GOSUB 4570:GOTO 4000
4150IF s$=key$(5) THEN GOSUB 5000:RETURN
4160IF s$=key$(6) THEN GOSUB 5000:GOTO 11000
4200 m$="STARTING DATE(MM/DD/YY) : ":GOSUB 1000:HOME:VTAB 5:GOSUB 1300
4210INPUT fr$: s$=MID$(fr$, 7, 2)+MID$(fr$, 1, 2)+MID$(fr$, 4, 2)
4215 fr$=s$
4220 m$="ENDING DATE(MM/DD/YY) : ":HOME:VTAB 5:GOSUB 1300
4230INPUT tr$: s$=MID$(tr$, 7, 2)+MID$(tr$, 1, 2)+MID$(tr$, 4, 2)
4235 tr$=s$
4240HOME: lf=VAL(fr$): lt=VAL(tr$)
4245IF lf>lt THEN  m$="End date is before start date":GOSUB 1000:GOSUB 1200:GOSUB 1225:RETURN
4250FOR z=lf TO lt
4255 z$=STR$(z)
4260FOR y=1 TO d%+ud
4265IF a$(y, 1)<>z$ THEN 4290
4270IF p=1 THEN PR #1
4271HOME: m$="MEMO / APPOINTMENT":GOSUB 1000:HTAB s:? m$
4272 m$="------------------":HTAB s:? m$:?
4273 s$=MID$(z$, 3, 2)+"/"+MID$(z$, 5, 2)+"/"+MID$(z$, 1, 2)
4274 m$="DATE : ":GOSUB 1320:?
4275 m$="TIME : ": s$=a$(y, 2):GOSUB 1320:?
4276 m$=a$(y, 3):GOSUB 1300:GOSUB 1150
4290NEXT y
4292NEXT z
4300RETURN
4310REM            list book
4320HOME: m$="Put paper in printer , then ":GOSUB 1000:GOSUB 1200:GOSUB 1150
4330PR #1
4332 m$="   DATE   :"
4334 m$=m$+"   TIME   :"
4336 m$=m$+"MEMO/APPOINTMENT"
4337? m$: m$="-":FOR s=1 TO 37: m$=m$+"-":NEXT s:? m$:?
4340FOR l=1 TO d%+ud
4350 z$=a$(l, 1): s$=MID$(z$, 3, 2)+"/"+MID$(z$, 5, 2)+"/"+MID$(z$, 1, 2)
4360? s$; TAB(12); a$(l, 2); TAB(24); a$(l, 3)
4370NEXT l
4380PR #0:RETURN
4390IF ud<20 THEN 4400
4396 m$="MAXIMUM # of entries have been":GOSUB 1000:GOSUB 1200
4397 m$="added for this run.":GOSUB 1000:? m$:GOSUB 1100:RETURN
4400 m$="INPUT SCREEN":GOSUB 1000:TEXT:HTAB s:? m$
4410 m$="------------":HTAB s:? m$:?
4420 ud=ud+1: e=d%+ud
4430INPUT "DATE (MM/DD/YY):"; z$
4440INPUT "TIME : "; a$(e, 2)
4450? "MEMO/APPOINTMENT"
4455HTAB 5:INPUT a$(e, 3)
4460 a$(e, 1)=MID$(z$, 7, 2)+MID$(z$, 1, 2)+MID$(z$, 4, 2)
4470 m$="Entry written in book.":GOSUB 1000:GOSUB 1200:GOSUB 1225
4480RETURN
4490 z=FRE(0)
4500 m$="DELETION SCREEN":GOSUB 1000:TEXT:HTAB s:? m$
4505 m$="---------------":HTAB s:? m$:?
4510INPUT "What DATE(MM/DD/YY):"; z$:?
4512IF LEN(z$)<>8 THEN 4510
4515INPUT "What TIME :"; y$
4520 s$=MID$(z$, 7, 2)+MID$(z$, 1, 2)+MID$(z$, 4, 2)
4522 z$=s$
4525 s=0
4530FOR l=1 TO d%+ud
4535IF a$(l, 1)<>z$ OR a$(l, 2)<>y$ THEN 4550
4540 a$(l, 1)="******": a$(l, 2)="*": a$(l, 3)="*"
4545 s=s+1
4550NEXT l
4552IF s>0 THEN  dd=dd+1:GOTO 4560
4554 m$="NOT ON FILE":GOSUB 1000:GOSUB 1200:GOSUB 1225:RETURN
4560 m$="Entry Marked for Deletion.":GOSUB 1000:GOSUB 1200:GOSUB 1225:RETURN
4570REM            search
4575 m$="To stop BROWSEing, enter a 'q'":GOSUB 1000:GOSUB 1200
4580 m$="when prompted to hit any key.":GOSUB 1000:HTAB s:? m$:GOSUB 1225
4590FOR y=1 TO d%+ud
4600IF p=1 THEN PR #1
4610HOME: m$="MEMO / APPOINTMENT":GOSUB 1000:HTAB s:? m$
4620 m$="------------------":HTAB s:? m$:?
4625 z$=a$(y, 1):IF z$="******" THEN 4680
4630 s$=MID$(z$, 3, 2)+"/"+MID$(z$, 5, 2)+"/"+MID$(z$, 1, 2)
4640 m$="DATE : ":GOSUB 1320:?
4650 m$="TIME : ": s$=a$(y, 2):GOSUB 1320:?
4660 m$=a$(y, 3):GOSUB 1300:GOSUB 1150
4670IF hol$="Q" OR hol$="q" THEN  y=d%+ud
4680NEXT y
4690RETURN
5000IF d%+ud=0 THEN RETURN
5002IF d%=0 AND ud>0 THEN 5100
5003IF d%>0 AND ud=0 AND dd=0 THEN RETURN
5010HTAB 1:? d$; "close MEMO"
5020HTAB 1:? d$; "delete MEMO"
5030GOSUB 1225
5100HTAB 1:? d$; "open MEMO"
5110HTAB 1:? d$; "write MEMO"
5120FOR l=1 TO d%+ud
5130IF a$(l, 1)="******" THEN 5150
5140? a$(l, 1):? a$(l, 2):? a$(l, 3)
5150NEXT l
5160HTAB 1:? d$; "close MEMO"
5170 d%=d%+ud-dd
5180RETURN
6000PR #0
6005POKE 17059, 7:POKE 17115, 64
6006PR #0
6010 m$="PHONE BOOK":GOSUB 1000:TEXT:HTAB s:? m$
6020 m$="----------":HTAB s:? m$:?
6030 m$="I. Open Phone Book.":GOSUB 1300
6040 m$="II. Lookup Entry.":GOSUB 1300
6050 m$="III. Add an Entry.":GOSUB 1300
6060 m$="IV. Update an Entry.":GOSUB 1300
6070 m$="V. List Phone Book.":GOSUB 1300
6080 m$="VI. Exit Menu.":GOSUB 1300
6090GET s$
6100IF s$=key$(0) THEN GOSUB 6200:GOTO 6005
6110IF s$=key$(1) THEN GOSUB 6710:GOTO 6005
6120IF s$=key$(2) THEN GOSUB 6370:GOTO 6005
6130IF s$=key$(3) THEN GOSUB 6580:GOTO 6005
6140IF s$=key$(4) THEN GOSUB 6300:GOTO 6005
6150IF s$=key$(5) THEN POKE 17115, 240:GOTO 6870
6160IF s$=key$(6) THEN POKE 17115, 240:GOSUB 6870:GOTO 11000
6170GOTO 6005
6200IF ck=1 THEN RETURN
6210 ck=1: m$="OPENING PHONE BOOK":GOSUB 1000:GOSUB 1200:GOSUB 1225
6215HGR2
6220HTAB 1:? d$; "open PHONE"
6230HTAB 1:? d$; "read PHONE"
6240FOR i=1 TO c%:FOR iz=1 TO 5
6250INPUT b$(i, iz)
6260NEXT iz:NEXT i
6270HTAB 1:? d$; "close PHONE"
6280TEXT: m$="PHONE BOOK OPENED":GOSUB 1000:GOSUB 1200:GOSUB 1100
6290RETURN
6300IF ck=0 THEN  m$="Opening Phone Book":GOSUB 1000:GOSUB 1200:GOTO 1400
6310 m$="Put paper in printer, then":GOSUB 1000:GOSUB 1200:GOSUB 1150
6320HGR2:PR #1:FOR i=1 TO c%+uc
6330? "      NAME: "; b$(i, 1)
6335? "    STREET: "; b$(i, 2)
6340? "CITY/STATE: "; b$(i, 3)
6350? "  ZIP CODE: "; b$(i, 4)
6360? "    PHONE#: "; b$(i, 5)
6362FOR l=1 TO 70:? "*"; :NEXT l:? "*":?
6364NEXT i:PR #0:TEXT:RETURN
6370IF ck=0 AND c%>0 THEN 6300
6390 uc=uc+1:IF uc>20 THEN 2730
6400HOME: m$="INPUT SCREEN":GOSUB 1000:HTAB s:? m$
6410 m$="------------":HTAB s:? m$:?
6420INPUT "NAME(L/F): "; b$(c%+uc, 1)
6430INPUT "STREET: "; b$(c%+uc, 2)
6440INPUT "CITY/STATE: "; b$(c%+uc, 3)
6450INPUT "ZIPCODE: "; b$(c%+uc, 4)
6460INPUT "PHONE#: "; b$(c%+uc, 5)
6470 m$="UPDATING BOOK":GOSUB 1000:GOSUB 1200
6480 t=c%+uc
6485 s=FRE(0)
6490FOR j=1 TO t-1
6500FOR i=(j+1) TO t
6510IF b$(i, 1)>=b$(j, 1) THEN 6560
6520 z$=b$(j, 1): q$=b$(j, 2): x$=b$(j, 3): y$=b$(j, 4): r$=b$(j, 5)
6530 b$(j, 1)=b$(i, 1): b$(j, 2)=b$(i, 2): b$(j, 3)=b$(i, 3): b$(j, 4)=b$(i, 4): b$(j, 5)=b$(i, 5)
6540 b$(i, 1)=z$: b$(i, 2)=q$: b$(i, 3)=x$: b$(i, 4)=y$: b$(i, 5)=r$
6560NEXT i
6570NEXT j: m$="Filed in Book.":GOSUB 1000:GOSUB 1200:GOSUB 1225:RETURN
6580IF ck=0 AND c%>0 THEN 6300
6595 m$="UPDATING SCREEN":GOSUB 1000:HOME:HTAB s:? m$
6600 m$="---------------":HTAB s:? m$
6601?
6610? "Which entry for update?"
6620INPUT "NAME(L/F): "; z$
6630 t=c%+uc: j=0
6640 j=j+1:IF j>t THEN  m$="Entry not on file":GOSUB 1000:GOSUB 1200:GOSUB 1100:RETURN
6650IF b$(j, 1)<>z$ THEN 6640
6660HOME: m$="CURRENT VERSION OF ENTRY":GOSUB 1000:HTAB s:? m$
6662? "1)      NAME: "; b$(j, 1)
6664? "2)    STREET: "; b$(j, 2)
6665? "3)CITY/STATE: "; b$(j, 3)
6668? "4)  ZIP CODE: "; b$(j, 4)
6670? "5)    PHONE#: "; b$(j, 5):?
6675INPUT "# OF FIELD TO UPDATE(0-5) (0 = NONE)"; u
6676IF u>5 OR u<0 THEN 6675
6677IF u=0 THEN 6690
6680INPUT "NEW INFORMATION: "; q$
6685 b$(j, u)=q$
6690HOME: m$="LOOK AT IT AGAIN?":GOSUB 1000:GOSUB 1200
6695GET y$:IF y$="Y" OR y$="y" THEN 6660
6700RETURN
6710REM                 * lookup *
6720IF ck=0 AND c%>0 THEN 6300
6730HOME: m$="SEARCH SCREEN":GOSUB 1000:HTAB s:? m$
6735 m$="-------------":HTAB s:? m$:?
6740 m$="(1) = NAME":GOSUB 1300
6745 m$="(2) = STREET":GOSUB 1300
6750 m$="(3) = CITY/STATE":GOSUB 1300
6755 m$="(4) = ZIP CODE":GOSUB 1300
6760 m$="(5) = PHONE #":GOSUB 1300
6770INPUT "WHICH FIELD TO SEARCH IN(1-5)"; u
6775IF u<1 OR u>5 THEN 6770
6780INPUT "ENTER SEARCH INFO:"; z$
6785 m$="SEARCHING":GOSUB 1000:GOSUB 1200
6790 t=c%+uc: j=0: i=0
6795 j=j+1:IF j>t AND i=0 THEN  m$="Entry not on file.":GOSUB 1000:GOSUB 1200:GOSUB 1100:RETURN
6797IF j>t AND i>0 THEN  m$="NO MORE ON FILE.":GOSUB 1000:GOSUB 1200:GOSUB 1225:RETURN
6800IF b$(j, u)<>z$ THEN 6795
6805IF p=1 THEN PR #1
6810HOME: m$="DISPLAY SCREEN":GOSUB 1000:HTAB s:? m$
6820 m$="--------------":HTAB s:? m$:?
6830? "NAME: "
6835 m$=b$(j, 1):GOSUB 1310
6840? "STREET: "
6845 m$=b$(j, 2):GOSUB 1310
6850? "CITY/STATE: ": m$=b$(j, 3):GOSUB 1310
6855? "ZIP CODE: ": m$=b$(j, 4):GOSUB 1310
6860? "PHONE #: ": m$=b$(j, 5):GOSUB 1300:GOSUB 1150
6863PR #0
6865 i=i+1:GOTO 6795
6870IF ck=0 AND uc=0 THEN RETURN
6872IF ck=1 AND uc=0 THEN RETURN
6875IF ck=0 AND uc>0 THEN 6890
6880HTAB 1:? d$; "close PHONE"
6885HTAB 1:? d$; "delete PHONE"
6887GOSUB 1225
6890HTAB 1:? d$; "open PHONE"
6895HTAB 1:? d$; "write PHONE"
6900FOR t=1 TO c%+uc
6905? b$(t, 1):? b$(t, 2)
6910? b$(t, 3):? b$(t, 4):? b$(t, 5)
6915NEXT t
6920HTAB 1:? d$; "close PHONE"
6930 ck=0: c%=c%+uc:RETURN
8000PR #0
8010POKE 17059, 5: m$="CALCULATER":GOSUB 1000:TEXT:HTAB s:? m$
8020 m$="----------":HTAB s:? m$:?
8030 m$="I. Enter First #.":GOSUB 1300
8040 m$="II. Plus <+>":GOSUB 1300
8050 m$="III. Minus <->":GOSUB 1300
8060 m$="IV. Times <x>":GOSUB 1300
8070 m$="V. Divided by <"+CHR$(144)+">":GOSUB 1300
8080 m$="VI. Equals <=>":GOSUB 1300
8090GET s$
8100IF s$=key$(0) THEN GOSUB 8200:GOTO 8010
8110IF s$=key$(1) THEN GOSUB 8300:GOTO 8010
8120IF s$=key$(2) THEN GOSUB 8400:GOTO 8010
8130IF s$=key$(3) THEN GOSUB 8500:GOTO 8010
8140IF s$=key$(4) THEN GOSUB 8600:GOTO 8010
8150IF s$=key$(5) THEN GOSUB 8700:GOTO 8800
8160IF s$=key$(6) THEN 11000
8170GOTO 8010
8200 m$="First # =":HOME:VTAB 10:GOSUB 1310
8210 v=FRE(0)
8220VTAB 10:HTAB (6+LEN(m$)):INPUT y
8230 v=y:RETURN
8300 m$="PLUS":HOME:VTAB 10:GOSUB 1310
8310VTAB 10:HTAB 10:INPUT y
8320 v=v+y:RETURN
8400 m$="MINUS":HOME:VTAB 10:GOSUB 1310
8410VTAB 10:HTAB (6+LEN(m$)):INPUT y
8420 v=v-y:RETURN
8500 m$="MULTIPLIED BY":HOME:VTAB 10:GOSUB 1310
8510VTAB 10:HTAB (6+LEN(m$)):INPUT y
8520 v=v*y:RETURN
8600 m$="DIVIDED BY":HOME:VTAB 10:GOSUB 1310
8610VTAB 10:HTAB (6+LEN(m$)):INPUT y
8620 v=v/y:RETURN
8700 m$="THE ANSWER IS ":HOME:VTAB 10:GOSUB 1310
8710VTAB 10:HTAB (6+LEN(m$)):? v
8720GOSUB 1100:RETURN
8800 m$="DECISION SCREEN":GOSUB 1000:HOME:HTAB s:? m$
8810 m$="---------------":HTAB s:? m$:?
8820 m$="I. CLEAR CALCULATER":GOSUB 1300
8830 m$="II. EXIT CALCULATER":GOSUB 1300
8840 m$="III. END PROGRAM":GOSUB 1300
8845 m$="IV. CONTINUE WITH ANSWER":GOSUB 1300
8850GET s$
8860IF s$=key$(0) THEN  v=0:GOTO 8010
8870IF s$=key$(1) THEN RETURN
8880IF s$=key$(2) OR s$=key$(6) THEN 11000
8885IF s$=key$(3) THEN 8010
8887IF s$=key$(6) THEN 11000
8890GOTO 8800
10000REM                          * COMMAND MODE *
10010POKE 17059, 14:POKE 17115, 16: m$="COMMAND MENU":GOSUB 1000:TEXT:VTAB 2:HTAB s:? m$
10020 m$="------------":HTAB s:? m$:?
10030 m$="I. Catalog":GOSUB 1300
10040 m$="II. Run":GOSUB 1300
10050 m$="III. Load":GOSUB 1300
10060 m$="IV. Printer off":GOSUB 1300
10070 m$="V. Printer on":GOSUB 1300
10080 m$="VI. Exit Menu":GOSUB 1300
10090GET s$
10100IF s$=key$(0) THEN GOSUB 10300:GOTO 10010
10110IF s$=key$(1) THEN GOSUB 10500:GOTO 10010
10120IF s$=key$(2) THEN GOSUB 10700:GOTO 10010
10130IF s$=key$(3) THEN GOSUB 10940:GOTO 10010
10140IF s$=key$(4) THEN GOSUB 10900:GOTO 10010
10150IF s$=key$(5) THEN POKE 17115, 240:RETURN
10160IF s$=key$(6) THEN POKE 17115, 240:GOTO 11000
10170GOTO 10010
10300HOME: m$="From which drive(1,2,5,or 6)?":GOSUB 1000:GOSUB 1200
10310INPUT l
10320IF l<>1 AND l<>2 AND l<>5 AND l<>6 THEN 10300
10330 m$="Make sure there is a disk":GOSUB 1000:GOSUB 1200
10340 m$="or Data Pack in drive, then":GOSUB 1000:HTAB s:? m$:GOSUB 1150
10360HOME
10365IF p=1 THEN PR #1
10370HTAB 1:? d$; "catalog,d"; l
10380PR #0:GOSUB 1150
10390RETURN
10500 m$="Input name of program to run":GOSUB 1000:GOSUB 1200
10505HTAB s:INPUT n$
10508 m$="Drive to load from(1,2,5,or 6)":GOSUB 1000:GOSUB 1200:HTAB s:INPUT n
10510IF n<>1 AND n<>2 AND n<>5 AND n<>6 THEN 10508
10511 r$=STR$(n):IF n>3 THEN  y$=" DISK ":GOTO 10513
10512 y$=" Data Pack "
10513 m$="Load"+y$+"with program":GOSUB 1000:GOSUB 1200
10514 m$="to run in drive #"+r$+", then":GOSUB 1000:HTAB s:? m$:GOSUB 1150
10520 f=1:GOSUB 11000: f=0
10530HTAB 1:? d$; "run "; n$; ",d"; n; " "
10700 m$="Input name of program to load":GOSUB 1000:GOSUB 1200
10710HTAB s:INPUT n$
10712 m$="Drive to load from(1,2,5,or 6)":GOSUB 1000:GOSUB 1200:HTAB s:INPUT n
10714IF n<>1 AND n<>2 AND n<>5 AND n<>6 THEN 10712
10720 m$="Load disk with program to load":GOSUB 1000:GOSUB 1200
10730 m$="in drive#6, then hit any key.":GOSUB 1000:HTAB s:? m$
10740 f=1:GOSUB 11000: f=0
10750HTAB 1:? d$; "load "; n$; ",d"; n; " "
10900 p=1:HOME:VTAB 10
10905PR #1:? "ON":PR #0:RETURN
10940PR #0: p=0: m$="PRINTER OFF":GOSUB 1000:GOSUB 1200:GOSUB 1225:RETURN
11000HOME:? "Insert disk with this program   on it in drive #5, then hit     any key":GET s$
11001HGR2:HTAB 1:? d$; "catalog,d5":TEXT
11002IF b%+ub=0 THEN 11004
11003HTAB 1:? d$; "close DISK"
11004IF c%+uc=0 THEN 11007
11005HTAB 1:? d$; "close PHONE"
11007 s=FRE(0):IF p=1 THEN PR #0
11008IF d%+ud=0 THEN 11010
11009HTAB 1:? d$; "close MEMO"
11010HTAB 1:? d$; "close INFORM"
11011IF ub=0 AND uc=0 AND ud=0 AND dd=0 AND cp=0 AND t$=o$ THEN 11075
11013HTAB 1:? d$; "delete INFORM"
11014GOSUB 1225
11019? d$; "open INFORM"
11020? d$; "write INFORM"
11030? a%:? b%:? c%:? d%
11040? u$:? t$
11050FOR l=1 TO a%:? p$(l):NEXT l
11060? d$; "close INFORM"
11070? d$; "close INFORM"
11075IF f=1 THEN RETURN
11080POKE 17059, 4: m$="BYE!":GOSUB 1000:TEXT:GOSUB 1200
11090END
