Smart Text (TS2068 Larken Edition)

Developer(s): Bill Jones
Date: 1989
Type: Diskette
Platform(s): TS 2068

Smart Text is Bill Jones’ word processor and office program for the TS2068 with the Larken disk system. Typing goes into a fast “turbo” input buffer with full editing, and the text is kept in seven-part paragraph arrays that can be saved to disk as numbered files and printed back one after another as a single long document. Menus set the page format, line spacing, captions, print style (pica, elite, condensed, italic or expanded) and the printer interface (Oliger or Aerco, Tasman or A&J). The Office Tools menu adds an automatic centred letterhead and sign-off, a mailing list with sorting, search and labels, envelopes and invoices, repeat printing of letters, manuscripts and outlines, and page management. Letters can be printed to every name in a mailing list. This is the TS2068 Larken version of Gulf Micro’s Smart Text, which was also sold for the TS1000 as Smart Text ZX/TS (Smart Text V3, Smart Text V4), and the predecessor of Jones’ Daisy.B6, part of Hybiscus.

This is a Larken (LKDOS) edition. It needs a TS2068 with the Larken disk interface and LKDOS, and it has not been converted for tape: the programs load their menu screens, typing routine and data from disk and print through the Larken printer channel. The download holds the images of both disks, every file as a TAP and the tutorial files as text.

The two disks are labelled “**** SMART TEXT LKDOS **** BLUE DISK DS/DD 40 TRACK FORMAT C. 1989 by Gulf Micro, Panama City, Florida” and “GREY DISK … Copyright 1989 by: Gulf Micro”. The title screen, cpr.C1, reads “Smart Text TS-2068 Administrative Software, Larken Disk System, Copyright 1986 by Gulf Micro Electronics”. The program’s saved sign-off names Bill Jones. The typing routine is a short machine-code program by Don Lamen of SINCUS that runs in the printer buffer at 23296. One tutorial file says the Blue disk was a replacement program disk with corrections suggested by Bob Mitchell. Smart Text was reviewed as Smart Text TS-2068, and Jones followed it with Daisy.B6 (Update Announces Daisy.B6, More About Daisy Smart Text). His 1989 manual The Daisy System Software Ensemble describes the later program.

What Is in the Package

Blue disk (programs)

  • Daisy.B1: Smart Text with the Mail Merge section. In spite of its name it is Smart Text, not the later Daisy.B6.
  • Max.B1: Smart Text with the Mail Merge programming taken out, which leaves more memory for text.
  • CONCAT.B1 with concat.C1: “TURBO 68”, a stand-alone demonstration of the 256-byte typing routine.
  • Menu screens (.C1, 6912 bytes each): Function, Quickie, Data Control, Load, Save, Format, Print Style, Mail, Office Tools, Repeat Printer, Page Manage and others.
  • Practice files: the string arrays 1.A$ to 8.A$ (tutorial text about loading, saving, mail merge, the turbo input and the revisions; 7 and 8 are the same) and the “vars files” 01809.C1, 09756.C1 and 10213.C1. A vars file is Smart Text’s whole variables area saved as code and named after its length; it is loaded from the Load menu by its full name, and 01809.C1 is the clean start-up set.

Grey disk (tutors)

  • TUTOR.B1 and TUT-2.B1: on-screen tutors that walk through the menus and data handling.
  • P-PCH.B1: Smart Text Printer Patch, a tutor and utility that matches the program’s printer control lines to the user’s printer and installs the user’s letterhead and sign-off in the Blue disk programs.
  • Its own copies of the menu screens, some of them newer, the editor screens, and the vars files 01607.C1 and 01809.C1.

Both disks also hold Larken’s format and copy utility (FORMAT.BO, Hcode.Co). The LKDOS boot files are in the disk images only. The letterhead saved in the programs and vars files is Gulf Micro Electronics’ and UPDATE magazine’s published business address.

The download now also holds two builds of the original Gulf Micro Electronics program from another of Bob Swoger’s Larken disks, in the folder “Smart Text TS-2068 tape and OS-64 versions (1984)”. The 32-column tape version (SMRTXT.B2, with its printer code) runs without the disk system, but it initializes a parallel printer interface (AERCO, Oliger or CPI) at start-up and stops with “Invalid I/O device” on a TS2068 without one; GO TO 2083 continues to the menus. The 64-column version needs the Zebra OS-64 cartridge and was not tested. Two text files hold the manual pages and the “Manual Addendum for use with the ZEBRA OS-64 CARTRIDGE” that were saved in the programs’ variables, with private street addresses and ZIP codes blanked. The disk’s mailing-list files are left out.

The download now also includes a “Smart Text AERCO DOS-64 edition” folder: the same Gulf Micro package rewritten for the AERCO FD-68 disk interface running DOS-64, from an AERCO disk labelled “Smart Text”. It holds the raw AERCO disk image and every file from it: the menu, two versions of Smart Text (blue and blue-2), the three-part on-screen tutor, the Printer Patch for AERCO, Oliger, Tasman and A&J interfaces (which uses John Oliger’s printer driver code by permission), the printer and letterhead data files, and the 19 menu and help screens, which this version loads with AERCO’s CAT "name.scr", syntax. It needs a TS2068 with the AERCO disk interface and has not been converted for tape.

Related Products

Three integrated software programs that do most all administrative functions: word processing, data files management, mailing list, form letters, mailing labels, repeat printing, auto letterheads.
Word processor/database/interactive office utility program. It will work with the JLO video upgrade and an assortment of printer interfaces.

Related Articles

A cohesive set of applications for database management and word processing.
Many programs may be evaluated and either reviewed or rejected in a single session at the keyboard.
“SMART TEXT TS-2068” is Bill Jones’ effort to create an AppleWorks environment for your TS-2068.
Program for complex printing options.

Related Content

Image Gallery

Source Code

  140 INPUT "Drive #?";dr: RANDOMIZE USR m1: GO TO dr: RETURN 
  145 GO TO fm
  150 RANDOMIZE USR VAL "23334"
  158 LET a=PEEK 23299: LET b=PEEK 23298: LET c=PEEK 23560: LET a1=PEEK 23296+256*PEEK 23297
  159 IF c<>12 THEN GO TO 230
  160 LET b=b-1: LET a1=a1-1: IF b=-1 THEN LET b=31: LET a=a-1: IF a=-1 THEN LET a=0
  161 IF a1=-1 THEN LET a1=0
  162 LET u$=u$( TO a1)+u$(a1+2 TO )
  164 IF LEN u$>a1-b+1-a*32+404 THEN PRINT AT a,0;u$(a1-b+1 TO );
  166 IF LEN u$>a1-b+1+403 THEN PRINT AT a,0;u$(a1-b+1 TO 404);
  167 RANDOMIZE USR 23334
  230 GO TO (c>31)*300+(c=7)*390+(c=8)*290+(c=9)*275+(c=10)*265+(c=11)*255+(c=12)*370+(c=13)*150+(c=14)*2926+(c<7)*2926
  235 POKE 23611,220
  238 IF PEEK 23611<221 THEN GO TO 238
  240 LET c=PEEK 23560: POKE 23611,220
  250 GO TO 230
  255 LET a=a-oa: LET a1=a1-VAL "32": IF a<oo THEN LET a=oo: IF a1<b THEN LET a1=b
  256 IF LEN u$<a1-b+oa+VAL "404"-a*VAL "32" THEN PRINT AT oo,oo;u$(a1-b+oa-a*VAL "32" TO );
  257 IF LEN u$>a1-b+oa+VAL "403"-a*VAL "32" THEN PRINT AT oo,oo;u$(a1-b+oa-a*VAL "32" TO a1-b+oa+VAL "404"-a*VAL "32");
  258 PRINT AT a,b; INVERSE oa; OVER oa;"_";: GO TO VAL "235"
  265 LET a=a+oa: LET a1=a1+VAL "32": IF a1+VAL "128">LEN u$ THEN PRINT AT a+ob,oo; FLASH 1;"To edit here Touch ENTER   ": PAUSE oo: RANDOMIZE USR VAL "23334"
  266 IF a>ok THEN LET a=ol: PRINT AT oo,oo;u$(a1-b+oa-VAL "384" TO a1-b+VAL "96");
  270 PRINT AT a,b; INVERSE oa; OVER oa;"_";: GO TO VAL "235"
  275 LET a1=a1+oa: LET b=b+oa: IF b=VAL "32" THEN LET b=oo: LET a=a+oa: IF a>VAL "21" THEN LET a=a-oa: LET b=VAL "31": LET a1=a1-oa
  280 IF A1>LEN U$ THEN LET A1=A1-oa: LET B=B-oa: IF B=-1 THEN LET B=VAL "31": LET A=A-oa
  285 PRINT AT a,b; OVER oa;"_";: GO TO VAL "235"
  290 LET b=b-oa: LET a1=a1-oa: IF b=-oa THEN LET b=VAL "31": LET a=a-oa: IF a=-oa THEN LET b=oo: LET a=oo: LET a1=a1+oa
  295 PRINT AT a,b; OVER oa;"_";: GO TO VAL "235"
  300 LET u$=u$( TO a1)+CHR$ c+u$(a1+oa TO ): LET b=b+oa: LET a1=a1+oa: IF b=VAL "32" THEN LET b=oo: LET a=a+oa
  301 IF LEN u$<a1-b+oa+VAL "404"-a*VAL "32" THEN PRINT AT a,oo;u$(a1-b+oa TO );;
  302 IF LEN u$>a1-b+oa+VAL "403"-a*VAL "32" THEN PRINT AT a,oo;u$(a1-b+oa TO a1-b+oa+VAL "404"-a*VAL "32");
  305 PRINT AT a,b; INVERSE oa; OVER oa;"_";: GO TO VAL "235"
  310 LET a=oo: IF a1<b THEN LET a1=b
  335 IF a1>VAL "31" AND LEN u$<a1-b+oa+VAL "404" THEN PRINT AT oo,oo;u$(a1-b+oa TO );
  340 IF a1>VAL "31" AND LEN u$>a1-b+oa+VAL "403" THEN PRINT AT oo,oo;u$(a1-b+oa TO a1-b+oa+VAL "403");
  350 IF LEN u$<VAL "404" THEN PRINT AT oo,oo;u$( TO );
  355 IF a1<VAL "32" AND LEN u$>VAL "403" THEN PRINT AT oo,oo;u$( TO VAL "404");
  360 PRINT AT a,b; OVER oa;"_";
  365 POKE VAL "23611",VAL "220": GO TO VAL "235"
  370 LET b=b-1: LET a1=a1-oa: IF b=-1 THEN LET b=VAL "31": LET a=a-1: IF a=-1 THEN LET a=oo
  372 IF a1<oa THEN RANDOMIZE USR 23334
  373 PRINT AT a,b;" ";: LET u$=u$( TO a1)+u$(a1+2 TO )
  374 IF LEN u$<a1-b+oa-a*VAL "32"+VAL "404" THEN PRINT AT a,oo;u$(a1-b+oa TO );
  376 IF LEN u$>a1-b+oa-a*VAL "32"+VAL "403" THEN PRINT AT a,oo;u$(a1-b+oa TO VAL "404");
  378 PRINT AT a,b; OVER oa;"_";: GO TO 235
  390 PRINT AT ot,oo; INVERSE oa;"BLOCK INSERT"; INVERSE oo;" Type String, ENTER": INPUT z$: CLS : LET u$=u$( TO a1)+z$+u$(a1+oa TO ): RANDOMIZE USR VAL "23334"
  400 INPUT "Number of Mailing List Names?";h: LET m=h: LET b$="": INPUT "Sort by <1> ZIP CODE                  <2> Last Name";z: GO SUB m4+oh: GO SUB k1+oj: GO TO k2
  406 GO SUB m6+t4: GO SUB k1+oj: GO SUB m6+t7: GO TO k2
  408 CLS : PRINT AT oj,oo; FLASH oa;"Eliminating Repeats"; FLASH oo''"Line 408": FOR n=1 TO h: FOR y=n+oa TO h: IF o$(n,oa)=o$(y,oa) THEN FOR g=oa TO og: LET o$(y,g)="": NEXT g
  409 NEXT y: NEXT n
  410 CLS : PRINT AT oj,oo; FLASH oa;"Eliminating Skips, Line 410"; FLASH oo: FOR n=oa TO h: IF o$(n,oa)(oa TO ob)="  " THEN FOR y=n TO h: IF o$(y,oa)(oa TO ob)<>"  " THEN FOR g=oa TO og: LET o$(n,g)=o$(y,g): LET o$(y,g)="": NEXT g: GO TO m4+on
  412 NEXT y
  414 NEXT n
  416 FOR n=oa TO h: IF o$(n,ob)(oa)=" " THEN LET h=n-oa: GO TO m4+ot
  418 NEXT n
  419 ON ERR GO TO VAL "422": FOR n=h+oa TO m: IF o$(n,ob)(oa)=" " THEN LET o$(n,oa)=""
  420 NEXT n: STOP 
  422 ON ERR RESET : RETURN 
  640 CLS : PRINT FLASH oa;AT oj,oa;"Last Name Reverse, line 640": FOR n=oa TO h
  642 LET b$=o$(n,oa)
  646 IF b$(LEN b$)=" " THEN LET b$=b$( TO LEN b$-oa): GO TO VAL "646"
  650 FOR l=LEN b$ TO oa STEP -oa
  652 IF n>k THEN RETURN 
  654 IF b$(l)=" " THEN LET o$(n,oa)=b$(L+oa TO )+" "+o$(n,oa)( TO L): NEXT n
  656 NEXT L
  658 NEXT n
  660 RETURN 
  670 CLS : PRINT AT oj,oa;"Replace First Name, Line 670": LET b$="": FOR n=oa TO k: IF n>k THEN RETURN 
  676 LET b$=o$(n,oa): FOR l=LEN b$ TO oa STEP -oa
  678 IF b$(L)<>" " THEN LET b$=b$( TO l): GO TO m7-os
  680 NEXT l
  682 FOR l=oa TO LEN b$: IF b$(l)=" " THEN LET o$(n,oa)=b$(l+oa TO )+" "+b$( TO l-oa): GO TO m7-on
  684 NEXT l
  686 NEXT n
  687 RETURN 
  710 LET in=oa
  712 CLS : PRINT "Enter Field Nbr to Correct,     or- ""8"" for next field."'': FOR n=1 TO l1: PRINT "Line ";n;'o$(o,n)': NEXT n: INPUT "Input Field Nbr to correct,     or 8 for next Field.";in: IF in=oh THEN RETURN 
  720 CLS : PRINT AT oj,oo;o$(o,in): INPUT "Input Desired Correction        ";o$(o,in): CLS : GO TO VAL "712"
  722 STOP : LET o$(o,in)=t$: GO TO m7+ol
  890 CLS : FOR n=oa TO m1: ON ERR GO TO m9-oh: PRINT "File No. ";n'o$(n,oa): NEXT n
  892 ON ERR RESET : PRINT '' FLASH oa;"Enter When Ready": PAUSE oz: GO TO fm
  894 CLS : INPUT "Input Last Name or Stock Noun   ";m$: FOR n=oa TO m1: ON ERR GO TO m9+op: FOR y=on+or TO oa STEP -oa: IF o$(n,oa)(y)=" " THEN NEXT y: IF y=oo THEN NEXT n
  896 LET b=y: FOR y=b-oa TO oa STEP -oa: IF o$(n,oa)(y)<>" " THEN NEXT y
  898 LET a=y+oa: IF o$(n,oa)(a TO b)=m$ THEN GO TO m9+ou
  900 NEXT n
  915 ON ERR RESET : CLS : PRINT FLASH oa;AT oj,of;"File Not Present": PAUSE m2: GO TO k2
  920 PRINT "File Nbr ";n''o$(n,oa)'o$(n,ob)'o$(n,oc)'o$(n,od)'o$(n,oe)'o$(n,of)'o$(n,og)'': INPUT "<1> Cont Search -or- <2> Quit";c: IF c=oa THEN NEXT n
  922 GO TO k2
 1010 CLS : PRINT AT oj,og;"SORTING, Line 1010": DIM v$(of,VAL "31"): LET n=h: LET i=n-oa: FOR j=oa TO I: LET k=j+oa: FOR l=n TO k STEP -oa
 1052 IF o$(L,oa)(oa TO od)="    " THEN GO TO m1*ok
 1060 IF o$(L,oa)>o$(j,oa) THEN GO TO m1*ok
 1070 IF o$(L,oa)(oa TO od)<>"    " THEN LET b$=o$(L,oa): LET v$(oa)=o$(L,ob): LET v$(ob)=o$(l,oc): LET v$(oc)=o$(L,od): LET v$(od)=o$(L,oe): LET v$(oe)=o$(L,of): LET v$(of)=o$(L,og)
 1080 IF o$(L,oa)(oa TO od)<>"    " THEN LET o$(L,oa)=o$(j,oa): LET o$(L,ob)=o$(j,ob): LET o$(L,oc)=o$(j,oc): LET o$(l,od)=o$(j,od): LET o$(L,oe)=o$(j,oe): LET o$(L,of)=o$(j,of): LET o$(l,og)=o$(j,og)
 1090 LET o$(j,oa)=b$: LET o$(j,ob)=v$(oa): LET o$(j,oc)=v$(ob): LET o$(j,od)=v$(oc): LET o$(j,oe)=v$(od): LET o$(j,of)=v$(oe): LET o$(j,og)=v$(of)
 1100 NEXT L
 1110 NEXT j
 1120 CLS : RETURN 
 1950 STOP 
 2000 RANDOMIZE USR m1: LOAD "ml6.C1"SCREEN$ 
 2002 PRINT AT or,ok;pg;" ";AT or,oe*oe;nn;" ";AT ob,ot; FLASH oa;("NO " AND LEN o$(oa,oa)<ob)+("YES" AND LEN o$(oa,oa)>oa); FLASH oo;AT oc,ov;~;" "
 2003 GO SUB sq: GO SUB il: GO TO (z<oa OR z>oi)*VAL "2003"+(z=oa)*VAL "2004"+(z>oa AND z<oe)*VAL "2007"+(z=oe)*VAL "2040"+(z=of)*m4+(z=og)*VAL "894"+(z=oh)*VAL "890"+(z=oi)*fm
 2004 CLS : PRINT AT oj,of; FLASH oa;"Confirm START NEW"; FLASH oo;''TAB of;"<y> Yes or <n> NO": GO SUB sq: GO SUB ik: IF z=oa THEN INPUT "Input Nbr of Files to set up?";mx: INPUT "Input Nbr of Lines";l1: IF mx*l1*VAL "31"+VAL "3500">~ THEN GO TO k2+ob
 2005 IF z=oa THEN DIM o$(mx,l1,VAL "31"): LET in=oa: LET ms=oa: CLS : GO TO k2+oi
 2006 GO TO k2
 2007 IF z>oa AND z<of THEN LET in=oa: INPUT "Enter Start Number";ms: INPUT "Enter END Number";mx: CLS 
 2009 FOR o=ms TO mx: IF o>mx THEN GO TO k2+ot
 2010 IF z<oc THEN GO SUB VAL "2022"
 2011 IF z=od THEN GO SUB m7+oj
 2012 IF z=oc THEN GO SUB VAL "2034"
 2018 NEXT o: GO TO k2+ot
 2019 LET o=mx: GO TO 2000
 2024 CLS : PRINT AT of,of;"ML # ";o'': FOR n=1 TO l1: PRINT AT oj,oc;"INPUT Line ";n: INPUT o$(o,n): IF o$(o,n)="zz" THEN LET o$(o,n)="": LET o=mx: RETURN 
 2025 NEXT n
 2030 CLS : FOR n=1 TO l1: PRINT o$(o,n)': NEXT n: PRINT ''"O.K.? <y> Yes or <n> No": GO SUB ik: IF z=ob THEN GO TO k2+ov
 2032 RETURN 
 2034 IF o$(o,oa)(oa TO ob)="zz" THEN GO TO VAL "2054"
 2035 PRINT AT oe,oo;"Ml Nbr ";o'': FOR n=1 TO l1: PRINT o$(o,n)': NEXT n
 2037 PRINT ''"Key ENTER for Next": PAUSE oo: RETURN 
 2038 STOP : IF LEN o$(o,oa)<oe THEN RETURN 
 2039 GO TO k2
 2040 LET z=oc: LET mm=ob: GO TO VAL "2103"
 2055 PRINT AT ou,oo; FLASH oa;"Last Field": PAUSE m1: GO TO k2
 2061 BORDER oa: PAPER oa: INK og: CLS : RANDOMIZE USR m1: OPEN #4,"dd": RANDOMIZE USR m1: OPEN #3,"LP": RANDOMIZE USR m1: LOAD "cpr.C1"SCREEN$ : RANDOMIZE USR m1: LOAD "concat.C1"CODE : PRINT #oo;"PRESS A KEY...": GO SUB VAL "2574": PAUSE oo: CLS :: PRINT AT oj,od;"Touch:"''TAB od;"<1> For TS-2040 Printer"''TAB od;"<2> For Dot Matrix"''TAB od;"<3> For Daisy Wheel": GO SUB sq: GO SUB il: IF z<oa OR z>oc THEN GO TO VAL "2061"
 2062 LET pr=z-oa: IF z=oo THEN RANDOMIZE USR m1: OPEN #og,"LP": LET ll=oy: LET qq=oq: LET lx=ll: LET tb=oo
 2063 CLS : IF z>oa THEN PRINT AT oj,ob;"Printer Must Be ON and Ready"''TAB ob;"Enter When Ready": PAUSE oo: CLS 
 2065 CLS : IF pr>oo THEN PRINT AT oi,oo;"Does printer need a line feed?:"''TAB od;"<y> yes  or  <n> no": GO SUB ik: RANDOMIZE USR m1: POKE VAL "16092",(oo AND z>oa)+(oj AND z<ob)
 2066 IF pr=oo THEN RANDOMIZE USR m1: POKE VAL "16092",oo
 2067 IF pr>oo THEN RANDOMIZE USR m1: LOAD "if.C1"SCREEN$ : GO SUB il: GO TO VAL "8090"
 2069 CLS : PRINT AT oj,oh;"Rt Margin Justify?"''TAB oh;"<Y> Yes or <N> No": GO SUB sq: GO SUB ik: LET jy=z: PRINT AT oj,oh;"First Line Indent?"''TAB oh;"<Y> Yes or <N> No": GO SUB sq: GO SUB ik: LET nz=-z+ob: IF pr=oa THEN CLS : PRINT AT oj,od;"Printer Initializing": GO SUB sq: GO SUB mt
 2070 ON ERR RESET : RANDOMIZE USR m1: LOAD "fm.C1"SCREEN$ : LET mm=oo: LET gg=oo: LET z1=oa: LET z2=oa: LET nt=nz: LET sr=oo: LET sw=oo: LET spl=oo: LET rpr=oo: LET im=oo: LET ms=oo: LET in=oo
 2071 PRINT AT ob,VAL "25";("pica" AND ps=1)+("Elite" AND ps=oc)+("Cond" AND ps=4)+("PICA" AND ps=ob);AT oh,ol*ob;"LX=";lx;AT oi,ol*ob;"LL=";ll;AT ok,ol*ob;"TB=";tb;AT om,ol*ob;"QQ=";qq;AT ot,og;pg;AT ot,op;nn;AT or,ol*ob;~;AT oe,ov+oa; FLASH oa;("Yes" AND LEN o$(oa,oa)>oa)+("No " AND LEN o$(oa,oa)<ob); FLASH oo;: GO SUB sq: GO SUB il: IF z<oa OR z>oi AND t$<"A" OR t$>"C" THEN GO TO VAL "2071"
 2072 IF z=ot THEN GO SUB pe: GO TO fm
 2074 IF z=oi THEN BEEP ob/oj,ov: GO SUB sp: GO TO VAL "2071"
 2076 IF z=of THEN LET w$=u$: GO TO te
 2078 GO TO (z=oa)*ed+(z=ob)*VAL "2094"+(z=oc)*VAL "2083"+(z=od)*VAL "3579"+(z=oe)*VAL "5160"+(z=oh)*VAL "4050"+(z=og)*VAL "3700"+(z=or)*VAL "4055"+(z=os)*VAL "4090"
 2080 LPRINT ': LET nn=nn+oa: IF nn>=ln THEN GO SUB pe
 2081 RETURN 
 2083 RANDOMIZE USR m1: LOAD "fo5.C1"SCREEN$ : LET mat=ll: LET xo=lx: LET lo=ll: LET rs=id: LET cp=oo: PRINT AT op,ob;("pica" AND ps=oa)+("PICA" AND ps=ob)+("ELITE" AND ps=oc)+("Cond" AND ps=od);AT ot,ob;lx;AT op,ol;"Pg Cent=";qq;AT ot,oi;ll;AT ot,oq;mat;AT or,VAL "28";nn;AT os,VAL "28";pg;AT ot,VAL "28";tb: LET lh=oo
 2084 PRINT AT oe,os;("::" AND sd<ob)+(" " AND sd>oa);AT of,os;("::" AND sd>oa)+(" " AND sd<ob): GO SUB sq: GO SUB il: IF z<oa OR z>oh THEN GO TO VAL "2084"
 2085 IF z=og THEN LET ps=od: INPUT "Enter page #";pg: INPUT "Enter Start Line #";nn: LET lx=(VAL "124" AND pr=ob)+(VAL "136" AND pr=oa): LET ll=(VAL "52" AND pr=ob)+(VAL "58" AND pr=oa): CLS : PRINT AT oj,ob;"Start Col 1 or 2 ?": INPUT "key 1 or 2";cp: IF cp=oa THEN LET qq=(VAL "34" AND pr=ob)+(VAL "37 AND pr=oa"): LET tb=oh: GO TO fm
 2086 IF z=og AND cp=ob THEN LET qq=(VAL "90" AND pr=ob)+(VAL "99" AND pr=oa): LET tb=(VAL "64" AND pr=ob)+(VAL "70" AND pr=oa): GO TO fm
 2087 IF z=oa OR z=ob THEN LET sd=z: BEEP oa/od,ol: GO TO VAL "2084"
 2088 IF z=od THEN LET tb=(tb-oe AND ll<lx-oi)+(tb AND ll>lx-oj): LET ll=(ll+oj AND ll<lx-oi)+(ll AND ll>lx-oj): LET id=oo: BEEP oa/od,ol: PRINT AT ot,oi;ll;AT ot,oq;mat;AT ot,VAL "28";tb;" ": GO TO 2084
 2089 IF z=oe THEN LET tb=(tb+oe AND ll>ou)+(tb AND ll<VAL "21"): LET ll=(ll-oj AND ll>ou)+(ll AND ll<VAL "21"): LET id=oa: BEEP oa/od,ol: PRINT AT ot,oi;ll;AT ot,oq;mat;AT ot,VAL "28";tb;" ": GO TO VAL "2084"
 2090 IF z=oc THEN GO TO VAL "8000"
 2091 BEEP oa/od,os: LET lh=(oa AND z=oh)+(oo AND z<>oh): IF pr=VAL "1" THEN LET lx=(VAL "134" AND ps>VAL "3")+(VAL "96" AND ps=VAL "3")+(VAL "80" AND ps<VAL "3"): REM Dot Matrix
 2092 IF pr=VAL "2" THEN LET lx=(VAL "120" AND ps>VAL "3")+(VAL "96" AND ps=VAL "3")+(VAL "80" AND ps<VAL "3"): REM Daisy
 2093 PRINT AT ot,oi;ll;AT ot,ob;lx;AT ot,oq;mat;: INPUT "Line Lenght";ll: LET qq=INT (lx/ob): LET tb=INT ((lx-ll)/ob): INPUT "Enter Page#";pg: INPUT "Enter Line #";nn: GO TO fm
 2094 CLS : PRINT AT oj,od;"Type the Cap"''TAB od;"Ln lgth limit is: ";lx: INPUT m$: CLS : IF pr=ob THEN GO SUB k9+ol: GO SUB k9+oq
 2095 LPRINT TAB qq-LEN m$/ob;m$: LET nn=nn+oa: IF pr=ob THEN GO SUB VAL "9502"
 2096 IF gg=oa THEN RETURN 
 2097 GO TO fm
 2099 BEEP oa/ob,ov: LET scp=oa: GO TO VAL "2101"
 2100 RANDOMIZE USR m1: LOAD "rp.C1"SCREEN$ : LET pc=oo: LET az=oo: LET nn=oo: LET no=oo: LET z1=oo: LET rpr=oa: LET pt=oo: LET ms=oo: LET mx=oo: LET in=oo: LET gg=oa: LET mm=oo
 2101 GO SUB sq: GO SUB il: GO TO (z<oa OR z>oh)*VAL "2101"+(z>oo AND z<od)*VAL "2102"+(z=od)*fm+(z=of)*k2+(z=oe)*VAL "2099"+(z=og)*k9+(z=oh)*VAL "2149"
 2102 IF z>oa THEN LET nn=oo: INPUT "Key: <1> for Manual Addressing       <2> for Mail List Adr";mm: CLS : IF z=ob THEN GO SUB VAL "4055"
 2103 IF z=oc THEN CLS : PRINT AT os,ob;"Do you want Auto Page Control?  <1> yes or <2> No ": INPUT pc: CLS : PRINT AT os,ob;"Twin Labels? <1> Yes - <2> No": INPUT tw: CLS 
 2104 IF z=oa OR mm=oa THEN INPUT "ENT nbr copies ";no: LET ms=oa: LET mx=no: IF mm=oa AND z=oc THEN GO SUB VAL "2170"
 2108 IF z=oc THEN INPUT "ENT TAB ";tz: INPUT "ENT sps";sx: CLS 
 2110 IF mm=ob THEN INPUT "ENT ml strt nbr ";ms: INPUT "ENT end ml nbr ";mx: CLS 
 2111 IF z=ob THEN LET pg=oa
 2112 FOR l=ms TO mx
 2116 IF z=ob THEN GO SUB VAL "4061": CLS 
 2118 IF z=oc THEN GO SUB VAL "2150"
 2120 IF z<oc THEN GO TO VAL "2180"
 2136 IF z=ob AND no>nx THEN GO TO VAL "2116"
 2138 NEXT l
 2139 LET lh=oo
 2140 IF zm<mz THEN LET zm=zm+oa: GO SUB k9+oj: GO TO VAL "2112"
 2144 LET z2=oo
 2148 GO TO fm
 2149 GO SUB VAL "8150": LET gg=oo: GO TO fm
 2150 LET a=oo
 2152 IF mm=oa THEN LPRINT TAB tz;p$(oa)'TAB tz;p$(ob)'TAB tz;p$(oc)'TAB tz;p$(od): LET nn=nn+od: LET a=oo: GO SUB VAL "2164"
 2154 IF mm=ob THEN FOR n=oa TO od: LPRINT TAB tz;o$(l,n)': NEXT n: LET nn=nn+od: LET a=oo: GO SUB VAL "2164"
 2160 IF tw=oa THEN LPRINT TAB tz;n$(of)'TAB tz;n$(og)'TAB tz;n$(oh)'': LET nn=nn+od: LET a=oo: GO SUB VAL "2164"
 2161 IF pc=oa AND nn>=ln-od THEN GO SUB pe
 2162 RETURN 
 2164 IF a<sx THEN LPRINT ': LET a=a+oa: IF pc=oa THEN LET nn=nn+oa
 2166 IF a<sx THEN GO TO VAL "2164"
 2167 IF pc=oa AND nn>=ln-od THEN GO SUB pe
 2168 LET a=oo: IF pc<>oa THEN LET nn=oo
 2169 RETURN 
 2170 DIM p$(od,VAL "26"): INPUT "First Line: ";p$(oa): INPUT "Second line: ";p$(ob): INPUT "Third Line: ";p$(oc): INPUT "Fourth Line: ";p$(od): RETURN 
 2172 DIM p$(oa): RETURN 
 2180 LET rpr=oa: PRINT AT oo,oj;"Event No.";l: IF z=oa THEN LET nn=oo
 2181 LET zp=zx: IF lh>oo THEN GO SUB VAL "9600"
 2182 LET w$=h$(1): GO SUB te: GO SUB sp
 2184 LET w$=h$(2): GO SUB te: GO SUB sp
 2187 LET w$=h$(3): GO SUB te: GO SUB sp
 2188 LET w$=h$(4): GO SUB te: GO SUB sp
 2190 LET w$=h$(5): GO SUB te: GO SUB sp
 2192 LET w$=h$(6): GO SUB te: GO SUB sp
 2194 LET w$=h$(7): GO SUB te: GO SUB sp
 2197 REM * Disk Sequencer * Do  not disturb lines 2198 - 2206
 2198 IF zy>oo AND zx<zy THEN LET zx=zx+oa: LET az=oo: LET m$=STR$ zx: CLS : PRINT AT oj,ob;"Install Data Disk"''TAB ob;"Then ENTER": PAUSE oo: CLS : LET m$=m$+".A$": RANDOMIZE USR m1: LOAD m$ DATA h$(): GO TO VAL "2182"
 2200 IF az=oa THEN PRINT AT oj,ob;"INSTALL DATA DISK"''TAB ob;"THEN ENTER": PAUSE oo: CLS : LET m$=STR$ zp+".A$": RANDOMIZE USR m1: LOAD m$ DATA h$(): LET az=oo: CLS : PRINT AT oj,ob;"INSTALL PROGRAM DISK"''TAB ob;"THEN ENTER": PAUSE oo: CLS : LET zx=zp
 2204 LET az=oo
 2206 ON ERR GO TO VAL "2280": IF i$(oa,oe)>"" THEN ON ERR GO TO VAL "2208": STOP 
 2208 ON ERR RESET 
 2210 LET w$=i$(1): GO SUB te: GO SUB sp
 2212 LET w$=i$(2): GO SUB te: GO SUB sp
 2214 LET w$=i$(3): GO SUB te: GO SUB sp
 2216 LET w$=i$(4): GO SUB te: GO SUB sp
 2218 LET w$=i$(5): GO SUB te: GO SUB sp
 2220 LET w$=i$(6): GO SUB te: GO SUB sp
 2222 LET w$=i$(7): GO SUB te: GO SUB sp
 2280 ON ERR RESET 
 2300 IF lh>oo THEN GO SUB VAL "4090": GO SUB pe: GO TO VAL "2138"
 2399 REM ** END of User Program Group.  Do not disturb AFTER.
 2400 IF spl=oa THEN GO SUB pe: LET nn=oo: GO TO VAL "2138"
 2401 IF lh>oo THEN LET z=ob
 2402 IF z=ob THEN GO SUB k4+t9: LET z2=z2+oa: IF lh>oo THEN LET z=oa
 2403 GO SUB pe: LET nn=oo: GO TO VAL "2138"
 2479 GO TO fm
 2550 PAUSE VAL "0": LET t$=INKEY$: IF t$="" THEN GO TO VAL "2550"
 2552 LET z=VAL "-48"+CODE t$: RETURN 
 2554 PAUSE oo: LET t$=INKEY$: IF t$="" THEN GO TO ik
 2556 IF t$<>"y" AND t$<>"Y" AND t$<>"n" AND t$<>"N" THEN GO TO ik
 2558 IF t$="y" OR t$="Y" THEN LET z=oa
 2559 IF t$="n" OR t$="N" THEN LET z=ob
 2560 RETURN 
 2570 CLS : PRINT AT oj,ob;"Saving Program + data.": INPUT "Input File Nbr: ";c: LET m$="SM"+STR$ c+".B1": RANDOMIZE USR m1: SAVE m$ LINE VAL "2061": RANDOMIZE USR m1: SAVE "concat.C1"CODE VAL "23296",VAL "256": GO TO fm
 2574 BEEP oa/ob,od: BEEP oa/ob,oh: BEEP oa/ob,oj: BEEP oa/ob,od: GO SUB sq: RETURN 
 2576 BORDER xa-oa: INK xa: PLOT oo,oo: DRAW oo,VAL "175": DRAW VAL "255",oo: DRAW oo,-VAL "175": DRAW -VAL "255",oo: LET xa=xa+oa: IF xa>og THEN LET xa=oa
 2577 INK xa: PLOT oh,oh: DRAW oo,VAL "159": DRAW VAL "239",oo: DRAW oo,-VAL "159": DRAW -VAL "239",oo: LET xa=xa+oa: IF xa>og THEN LET xa=oa
 2580 INK og: BORDER oo: PAPER oo: BEEP oa/oj,t4: RETURN 
 2926 ON ERR RESET : RANDOMIZE USR m1: LOAD "qm.C1"SCREEN$ : LET vw=oo: LET bs=oo: LET bi=oo: LET sy=oo: LET st=oo: LET en=oo: LET ay=oa: LET ep=(ep AND ep>oo AND LEN h$(oa)>oc)+(og AND ep<oa AND LEN h$(oa)>oc)+(ep AND ep<oa AND LEN h$(oa)<od): PRINT AT ol,og;LEN u$;AT ol,VAL "23";"=";(LEN h$(1) AND ep<oh)+(LEN i$(1) AND ep>og);AT on,op;~;AT os,od;ep;AT ot,od;eq: GO SUB sq: GO SUB il: GO TO (z<oa OR z>oh)*ed+(z=ob)*VAL "2932"+(z=oa)*VAL "3462"+(z=oc)*VAL "3400"+(z=od)*VAL "3700"+(z=oe)*fm+(z=of)*VAL "2927"+(z=og)*VAL "3200"+(z=oh)*VAL "9400"
 2927 LET u$="": GO TO VAL "3462"
 2928 LET ay=ay+oa: IF m+gk>LEN u$ AND sw=oo AND vw=oo THEN GO TO ed
 2929 IF m+gk>LEN u$ AND vw>oo THEN GO TO VAL "3230"
 2931 GO TO k3-oy
 2932 CLS : FOR m=oa TO LEN u$ STEP gk
 2938 CLS : GO SUB VAL "3096": GO SUB VAL "3084"
 2943 GO SUB k3-on
 2944 POKE VAL "23611",m2+ou
 2945 IF PEEK 23611<221 THEN GO TO VAL "2945"
 2946 LET c=PEEK 23560: POKE 23611,220
 2947 IF c=96 THEN GO TO 3100
 2948 IF c>31 THEN GO TO 3066
 2950 IF c=12 THEN GO TO 2973
 2951 IF c=8 THEN GO TO 2985
 2952 IF c=9 THEN GO TO 2990
 2953 IF c=10 THEN GO TO 3010
 2954 IF c=11 THEN GO TO 3000
 2955 IF c=7 THEN GO TO 3030
 2956 IF c=13 THEN GO TO 2938
 2957 IF c=14 THEN GO TO 2928
 2958 GO TO VAL "2945"
 2968 NEXT m
 2973 PRINT AT y1,y2;"  ";: GO SUB VAL "3094": LET y1=(y1 AND y2>oo)+(y1-oa AND y2<oa): LET y2=(y2-1 AND y2>oo)+(31 AND y2<oa)
 2974 LET u$=u$( TO a1)+u$(a2+oa TO ): PRINT AT y1,y2;" ";AT a,b;" ";
 2975 GO SUB VAL "3096": GO TO k3+ob
 2985 GO SUB VAL "3094": GO TO k3+ob
 2986 PRINT AT os,oo;"Window "; FLASH oa;ay; FLASH oo;"  Move """; FLASH oa;"_"; FLASH oo;""" with arrows. "'"Sym Shf Nx Wndw- Type Insert, OREDIT to Blk Dlt or ID para,   OR""`"" To Block Insert.        ";: IF LEN u$>a2+or THEN PRINT AT a,b+oa;"(";u$(a2 TO a2+or);")";
 2987 IF LEN u$>a2 AND LEN u$<a2+or THEN PRINT AT a,b+oa;"(";u$(a2 TO );
 2988 RETURN 
 2990 GO SUB VAL "3092": GO TO VAL "2945"
 3000 LET a=a-oa: LET a1=a1-oy: IF a<oo THEN LET a=oo: LET a1=a1+oy
 3001 LET a2=a1+oa
 3002 PRINT AT a,b; FLASH oa; OVER oa;"_";: GO TO VAL "2945"
 3010 LET a=a+oa: LET a1=a1+oy: IF a>oq THEN LET a=oq: LET a1=a1-oy
 3011 LET a2=a1+oa: GO TO k3+ob
 3030 IF st=oo THEN LET st=a1+oa
 3032 IF en=oa THEN LET sy=a1+oa
 3034 GO SUB VAL "3096": GO SUB VAL "3084"
 3040 IF bi=oa THEN GO SUB k3+m1: GO TO VAL "3104"
 3042 IF en=oo THEN PRINT AT VAL "21",oo;"Put ""_"" Und Blk END.  Then EDIT";
 3044 IF en=oo THEN PRINT AT a,b;"_";: LET en=oa: GO TO VAL "2945"
 3052 LET l$=u$(st TO sy): PRINT AT os,oo;"OK. The Block is Identified.    The Paragraph is in L$.         Delete Block from Buffer?       <y> Yes or <n> No               ";: LET en=oo: GO SUB ik
 3054 IF z=oa THEN LET u$=u$( TO st-oa)+u$(sy+oa TO ): LET st=oo: GO TO VAL "2938"
 3056 GO TO ed
 3066 IF LEN u$>a1 THEN LET u$=u$( TO a1)+CHR$ c+u$(a1+oa TO )
 3068 IF LEN u$<a1+oa THEN LET u$=u$+CHR$ c
 3069 GO SUB VAL "3096": GO SUB VAL "3092"
 3070 GO TO VAL "2945"
 3084 LET a=ov-PEEK VAL "23689": LET b=33-PEEK VAL "23688": IF b=oy THEN LET b=oo: LET a=a+oa
 3085 LET a1=m+(a*oy)+b-oa: LET a2=a1+oa: PRINT AT a,b; FLASH oa; OVER oa;"_"; FLASH oo; OVER oo;: POKE VAL "23611",m2+ou: LET y1=(a AND b>oo)+(a-1 AND b<oa): LET y2=(b-1 AND b>oo)+(31 AND b<oa): RETURN 
 3092 LET b=b+oa: LET a1=a1+oa: IF b=oy THEN LET b=oo: LET a=a+oa
 3093 PRINT AT a,b; FLASH oa; OVER oa;"_";: RETURN 
 3094 LET b=b-oa: LET a1=a1-oa: LET a2=a1+oa: IF b=-oa THEN LET b=VAL "31": LET a=a-oa: IF a=-oa THEN LET a=oo: LET b=oo: LET a1=a1+oa: LET a2=a1+oa
 3095 RETURN 
 3096 IF LEN u$<=m+gk THEN PRINT AT oo,oo;u$(m TO );
 3097 IF LEN u$>m+gk THEN PRINT AT oo,oo;u$(m TO m+gk);
 3098 RETURN 
 3100 LET m$="": CLS : LET bs=a1: IF bs<=m1+ol THEN PRINT u$( TO bs);
 3101 IF bs>=m1+ol THEN PRINT u$(bs-m1+ol TO bs);
 3102 GO SUB VAL "3084": PRINT AT ot,oo;"Type the insert.  When finished,Touch ENTER.";
 3103 IF LEN u$>=bs+m1+ol THEN PRINT AT ol,op;u$(bs+oa TO bs+m1+ol)
 3104 IF LEN u$<bs+m1+ol THEN PRINT AT ol,op;u$(bs+oa TO );
 3105 POKE VAL "23611",m2+ou: LET m$=""
 3106 IF PEEK 23611<221 THEN GO TO 3106
 3107 LET c=PEEK 23560: POKE 23611,220
 3110 IF c=12 THEN GO TO 3118
 3112 IF c=13 THEN GO TO 3122
 3114 IF c<31 OR c>122 OR c=96 THEN GO TO 3106
 3116 LET m$=m$+CHR$ c: PRINT AT a,b;CHR$ c;: GO SUB 3092: GO TO 3106
 3118 PRINT AT a,b;" ";: GO SUB 3094
 3120 PRINT AT a,b; FLASH 1;"_"; FLASH 0;: LET m$=m$( TO LEN m$-1): GO TO 3106
 3122 LET u$=u$( TO bs)+m$+u$(bs+oa TO ): LET bs=oo: GO TO VAL "2938"
 3200 ON ERR GO TO VAL "3280": LET a=LEN h$(oa)
 3202 CLS : FOR w=oa TO og
 3203 PRINT "Window ";w;" Data is "; FLASH oa;"H$(";w;")"; FLASH oo''h$(w)''"Touch "; FLASH oa;"<1>"; FLASH oo;" To Continue, or"'TAB of; FLASH oa;"<2>"; FLASH oo;" To EDIT"'TAB of;"OR- Jab Break": GO SUB il: IF z<oa OR z>ob THEN GO TO VAL "3201"
 3204 IF z=oa THEN CLS : NEXT w
 3206 IF z=ob THEN LET w$=u$: LET u$=h$(w): LET vw=oa: CLS : GO SUB VAL "3084": GO TO VAL "2932"
 3208 IF vw=oa THEN LET h$(w)=u$: LET u$=w$
 3212 ON ERR GO TO VAL "3280": LET a=LEN i$(oa)
 3213 CLS : FOR w=oa TO og
 3214 PRINT "Window ";w;" Data is "; FLASH oa;"I$(";w;")"; FLASH oo;''I$(w)''"Touch "; FLASH oa;"<1>"; FLASH oo;" To Continue or,"'TAB of; FLASH oa;"<2>"; FLASH oo;" To EDIT"'TAB of;"Or- Jab Break": GO SUB il: IF z<oa OR z>ob THEN GO TO VAL "3212"
 3216 IF z=oa THEN CLS : NEXT w
 3218 IF z=ob THEN LET w$=u$: LET u$=i$(w): LET vw=ob: CLS : GO SUB VAL "3084": GO TO VAL "2932"
 3220 IF vw=ob THEN LET i$(w)=u$: LET u$=w$: GO TO VAL "3280"
 3230 CLS : IF vw=oa THEN LET h$(w)=u$: LET u$=w$: LET vw=oo: GO TO VAL "3203"
 3236 IF vw=ob THEN LET i$(w)=u$: LET u$=w$: LET vw=oo: GO TO VAL "3214"
 3280 ON ERR RESET : PRINT FLASH oa;"NO MORE DATA"; FLASH oo: PAUSE m2: GO TO ed
 3282 GO TO fm
 3401 CLS : IF cx=oo OR cz=oo AND ep>og THEN PRINT AT om,oa;"Inpt Para Lgth for ";("H$ array" AND cx=oo)+("I$ array" AND ep=oh AND cx>oo): LET mz=oo
 3402 IF cx=oo THEN LET ep=oa: INPUT cx
 3404 IF cx>oo AND ep>og AND cz=oo THEN LET eq=oa: INPUT cz: IF ~-cz*og<k4 THEN LET cz=oo: LET eq=oo: GO TO VAL "3401"
 3406 IF ep=oa THEN DIM h$(og,cx)
 3407 IF ep=oh AND eq=oa THEN DIM i$(og,cz): LET eq=oa
 3408 IF ep<oh THEN LET h$(ep)=u$: LET ep=ep+oa: GO TO VAL "3411"
 3409 IF ep>og AND eq<oh THEN LET i$(eq)=u$: LET eq=eq+oa: IF eq=oh THEN LET mz=oa
 3411 IF sw=oo AND mz=oo THEN LET u$="": GO TO VAL "3462"
 3412 IF sw=og AND mz=oo THEN LET u$=s$: LET l$="": LET s$="": LET sw=oo: GO TO fm
 3414 GO TO fm
 3462 BORDER oa: PAPER oa: INK og: CLS : IF LEN u$<=VAL "148" THEN PRINT AT oo,oo;u$;
 3463 IF LEN u$>VAL "148" THEN PRINT AT oo,oo;u$(LEN u$-VAL "148" TO );
 3464 GO SUB VAL "3084"
 3468 GO TO m1+t5
 3579 RANDOMIZE USR m1: LOAD "sts.C1"SCREEN$ : ON ERR GO TO VAL "3599": PRINT AT ob,oc;"*";AT oc,of;LEN A$;AT oc,ol;ep-oa;" ";AT oc,ov+oa;cx*(ep-oa);"  ";AT od,of;LEN B$;AT od,ol;eq-oa;" ";AT od,ov+oa;cz*(eq-oa);AT oe,Of;LEN c$;AT of,of;LEN D$;AT of,or;~;"   ";AT og,Of;LEN E$;AT oh,Of;LEN F$;AT oi,Of;LEN G$;AT ok,Of;LEN L$;AT ol,Of;LEN Q$;AT om,Of;LEN R$;AT on,of;LEN j$;AT op,Of;LEN S$;AT oq,of;LEN U$: IF ep<oa AND LEN h$(1)>oa THEN PRINT AT oc,ol;"Disk File Present"
 3582 PRINT AT ol,ov+oa; FLASH oa;("Yes" AND LEN o$(oa,oa)>oa)+("NO" AND LEN o$(oa,oa)<ob); FLASH oo
 3584 GO SUB sq: PAUSE oz: CLS : GO TO fm
 3599 ON ERR RESET : GO TO k6+t5
 3700 RANDOMIZE USR 100: LOAD "prt.C1"SCREEN$ 
 3702 INPUT z: IF z>ou THEN GO TO fm
 3704 IF z<oh THEN LET w$=h$(z)
 3706 IF z>og AND z<op THEN LET w$=I$(z-og)
 3708 IF z=op THEN LET w$=u$
 3710 IF z=oq THEN LET w$=a$
 3712 IF z=or THEN LET w$=b$
 3714 IF z=os THEN LET w$=c$
 3716 IF z=ot THEN LET w$=d$
 3718 IF z=ou THEN LET w$=e$
 3742 LET nt=nz: IF nt=oa THEN LET ll=ll-oe: LET tb=tb+oe
 3743 IF LEN w$<od THEN GO TO VAL "3788"
 3744 IF w$(oa TO oc)="   " THEN GO TO VAL "3810"
 3745 IF LEN w$<=ll AND w$(LEN w$-ob TO LEN w$)="   " THEN LET w$=w$( TO LEN w$-ob): GO TO VAL "3748"
 3746 IF LEN w$<=ll THEN GO TO VAL "3748"
 3747 IF LEN w$>=ll AND w$(ll-ob TO ll)="   " THEN LET w$=w$( TO ll-ob)
 3748 IF w$(oa)=" " THEN LET w$=w$(ob TO ): GO TO VAL "3746"
 3749 IF LEN w$<=ll THEN GO TO k3+m8
 3751 LET m$=w$( TO ll)
 3753 IF m$(LEN m$)<>" " AND w$(LEN m$+oa)=" " THEN LET w$=w$(LEN m$+1 TO ): GO TO VAL "3758"
 3754 IF m$(LEN m$)<>" " AND w$(LEN m$+1)<>" " THEN LET m$=m$( TO LEN m$-1): GO TO VAL "3754"
 3756 LET w$=w$(LEN m$+1 TO )
 3758 IF m$(LEN m$)=" " THEN LET m$=m$( TO LEN m$-oa): GO TO VAL "3758"
 3759 IF jy=oa THEN GO SUB VAL "3774"
 3760 LPRINT TAB tb;m$: IF nt=oa THEN LET nt=oo: LET ll=ll+oe: LET tb=tb-oe
 3763 LET nn=nn+oa: IF sd=ob THEN GO SUB sp
 3764 IF nn>=ln THEN GO SUB pe
 3768 GO TO VAL "3743"
 3774 LET pp=LEN m$: IF pp=ll THEN RETURN 
 3776 FOR r=oa TO pp: IF m$(r)=" " THEN GO TO VAL "3780"
 3778 NEXT r: GO TO VAL "3774"
 3780 LET m$=m$( TO r)+" "+m$(r+1 TO pp): LET pp=LEN m$: IF pp<>ll THEN LET r=r+1
 3784 IF pp<>ll THEN GO TO VAL "3778"
 3786 RETURN 
 3788 IF LEN w$<oc THEN GO TO VAL "3810"
 3790 IF w$(oa TO oc)="   " THEN GO TO VAL "3810"
 3792 IF w$(oa)=" " THEN LET w$=w$(ob TO ): GO TO VAL "3792"
 3794 IF LEN w$<=ll THEN GO TO k4+m8
 3795 IF w$(LEN w$)=" " THEN LET w$=w$( TO LEN w$-1): GO TO VAL "3794"
 3796 GO TO VAL "3751"
 3800 LPRINT TAB tb;w$: IF nt=oa THEN LET ll=ll+oe: LET tb=tb-oe: LET nt=oo
 3802 LET nn=nn+oa: IF sd=ob THEN GO SUB sp
 3804 IF nn>=ln THEN GO SUB pe
 3810 LET w$="": IF nt=oa THEN LET ll=ll+oe: LET tb=tb-oe
 3812 IF gg=oa THEN RETURN 
 3814 GO TO fm
 4050 ON ERR RESET : RANDOMIZE USR m1: LOAD "ot.C1"SCREEN$ : LET zy=oo: LET zx=oo: LET zm=oo: LET mz=oo: LET az=oo: LET no=oo: LET nx=oo: LET z5=oo: LET df=oo: LET scp=oo: LET pg=oa: LET mm=oo
 4051 GO SUB sq: GO SUB il: IF z<oa OR z>oh THEN GO TO VAL "4051"
 4052 GO TO (z=oa)*VAL "4055"+(z=ob)*VAL "4090"+(z=oc)*k2+(z=od)*VAL "2100"+(z=oe)*pm+(z=of)*fm+(z=og)*VAL "2061"+(z=oh)*VAL "8120"
 4055 LET nn=oa: INPUT "ENT Date: ";n$(oj): IF mm=ob THEN RETURN 
 4056 INPUT "1st Name ";n$(oe)
 4058 CLS : PRINT AT oj,oo;"(Optional: Omit line with ENTER)": INPUT "Co Name ";n$(oa): INPUT "Dept ";n$(ob): INPUT "St adr ";n$(oc): INPUT "Cty,St,Zip ";n$(od): CLS : IF gg=oa THEN RETURN 
 4059 IF gg=oa THEN RETURN 
 4060 LET nn=oo
 4061 FOR t=of TO oj
 4063 IF n$(t)(oa)=" " THEN NEXT t
 4066 LET m$=n$(t)
 4067 IF m$(LEN m$)=" " THEN LET m$=m$( TO LEN m$-oa): GO TO VAL "4067"
 4068 LET pg=oa: IF m$(oa)<>" " THEN LPRINT TAB qq-LEN m$/ob;m$: LET nn=nn+oa
 4069 IF t=oj AND spl=oa THEN RETURN 
 4070 IF t=oj THEN GO SUB sp
 4071 IF t=oj THEN GO TO VAL "4073"
 4072 NEXT t
 4073 LET a=oa
 4074 IF mm<ob THEN LET m$=n$(a)
 4076 IF mm=ob THEN LET m$=o$(l,a)
 4078 IF a=oe THEN LET m$="Dear "+m$
 4080 IF a=oe THEN GO SUB sp: LPRINT TAB tb;m$: LET nn=nn+oa: GO SUB sp: IF gg=oa THEN RETURN 
 4082 IF a=oe THEN GO TO fm
 4084 IF m$(oa)=" " THEN LET a=a+oa: GO TO VAL "4074"
 4086 IF m$(oa)<>" " THEN LPRINT TAB tb;m$: LET nn=nn+oa
 4087 LET a=a+oa
 4088 GO TO VAL "4074"
 4090 LET qq=(qq AND cp=oo)+(VAL "34" AND cp=oa)+(VAL "98" AND cp>oa): LPRINT : LPRINT : LPRINT : LPRINT TAB qq;n$(ok): LPRINT : LPRINT : LPRINT : LPRINT TAB qq;n$(om): LET nn=nn+oh: IF scp=oa THEN GO SUB k8+m2
 4091 IF rpr=oo THEN GO SUB pe
 4092 IF gg=oa THEN RETURN 
 4094 IF rpr=oa THEN RETURN 
 4098 GO TO fm
 5100 RANDOMIZE USR m1: LOAD "lm.C1"SCREEN$ 
 5101 GO SUB sq: GO SUB il: IF z<oa OR z>of THEN GO TO VAL "5101"
 5103 IF z=of THEN GO TO fm
 5104 IF z=od THEN GO TO VAL "9980"
 5106 CLS : PRINT AT oh,oc;"The directory will appear"'TAB oc;"for reference.  After the"'TAB oc;"scroll, a prompt will come"'TAB oc;"to input a File number."''TAB oc;"Enter when ready.": GO SUB sq: PAUSE oo
 5108 GO SUB VAL "5130"
 5110 IF z=oe THEN PRINT ''"Type in proper LOAD Command.": STOP 
 5112 INK ob: PRINT '"Enter the File Number only: ": INPUT a: LET m$=STR$ a: IF z=oa THEN LET m$=m$+".A$": RANDOMIZE USR m1: LOAD m$ DATA h$(): LET ep=oh: LET cx=LEN h$(oa)
 5114 IF z=ob THEN LET m$=m$+".A$": RANDOMIZE USR m1: LOAD m$ DATA i$(): LET eq=oh: LET cz=LEN i$(oa)
 5116 IF z=oc THEN LET m$="m"+m$+".A$": RANDOMIZE USR m1: LOAD m$ DATA o$()
 5120 CLS : PRINT AT oj,ob;"RE-INSTALL PROGRAM DISK"''TAB ob;"THEN ENTER": PAUSE oo: INK og: GO TO VAL "3579"
 5130 CLS : PRINT AT oj,ob;"Install Proper DATA Diskette,   Then ENTER": PAUSE oo: RANDOMIZE USR m1: CAT "",: RETURN 
 5136 GO SUB VAL "5130": INPUT "Enter H$ data file nbr: ";c: LET m$=STR$ c+".A$": RANDOMIZE USR m1: SAVE m$ DATA H$(): GO TO VAL "5120"
 5142 GO SUB VAL "5130": INPUT "Enter I$ DATA File Nbr: ";c: LET m$=STR$ c+".A$": RANDOMIZE USR m1: SAVE m$ DATA I$(): GO TO VAL "5120"
 5150 RANDOMIZE USR m1: LOAD "pg.C1"SCREEN$ 
 5151 PRINT AT od,VAL "23";pg;AT of,os;ln-nn: GO SUB sq: GO SUB il: IF z<oa OR z>od THEN GO TO VAL "5151"
 5152 IF z=od THEN GO TO fm
 5154 IF z=ob THEN INPUT "Ent new lines to end. ";nl: LET nn=ln-nl: GO TO pm
 5156 IF z=oa THEN GO SUB pe: GO TO fm
 5158 IF z=oc THEN INPUT "Enter  Page No. ";pg: GO TO pm
 5160 RANDOMIZE USR m1: LOAD "dc.C1"SCREEN$ 
 5161 GO SUB sq: GO SUB il: GO TO (z<oa OR z>oe)*VAL "5161"+(z=oa)*VAL "5164"+(z=ob)*VAL "5168"+(z=oc)*VAL "5100"+(z=od)*VAL "3579"+(z=oe)*fm
 5164 RANDOMIZE USR m1: LOAD "sm.C1"SCREEN$ 
 5165 GO SUB sq: GO SUB il: GO TO (z<oa OR z>of)*VAL "5165"+(z=oa)*VAL "2570"+(z=ob)*VAL "5174"+(z=oc)*VAL "5136"+(z=od)*VAL "5142"+(z=oe)*VAL "9900"+(z=of)*fm
 5168 RANDOMIZE USR m1: LOAD "mg1.C1"SCREEN$ 
 5169 GO SUB sq: GO SUB il: GO TO (z<oa OR z>oi)*VAL "5169"+(z=oa)*VAL "5184"+(z=ob)*VAL "5172"+(z=oc)*VAL "5186"+(z=od)*VAL "5190"+(z=oe)*VAL "5189"+(z=of)*VAL "5187"+(z=og)*VAL "6050"+(z=oh)*VAL "5178"+(z=oi)*VAL "3579"
 5172 DELETE m4,VAL "1120": DELETE k2,VAL "2059": GO TO VAL "3579"
 5174 CLS : INPUT "Enter Mail File Nbr: ";c: LET m$="m"+STR$ c+".A$": RANDOMIZE USR m1: SAVE m$ DATA o$(): GO TO fm
 5178 DELETE VAL "8119",VAL "8170": GO TO VAL "3579"
 5183 GO TO fm
 5184 CLS : DIM o$(oa,oa,oa): GO TO VAL "3579"
 5186 LET q$="": LET r$="": LET j$="": LET s$="": GO TO VAL "3579"
 5187 LET a$="": LET b$="": LET c$="": LET c$="": LET d$="": LET e$="": LET f$="": LET g$="": GO TO VAL "3579"
 5189 DIM i$(og,oa): LET cz=oo: LET eq=oo: GO TO VAL "3579"
 5190 DIM h$(og,oa): LET cx=oo: LET ep=oo: GO TO VAL "3579"
 5900 IF pr=oo THEN LPRINT ''''';TAB qq;pg'''''''''': LET nn=oa: LET pg=pg+oa: RETURN 
 5901 IF nn<ln+ob THEN LPRINT ': LET nn=nn+oa: IF nn<ln+ob THEN GO TO VAL "5901"
 5902 IF cp>oo THEN GO TO VAL "5908"
 5903 IF pr=ob THEN GO SUB VAL "5904": GO SUB VAL "5912": RETURN 
 5904 LPRINT TAB qq;pg: LPRINT : LET pg=pg+oa: LET nn=oo: OUT po,ol: LPRINT : RETURN 
 5908 IF cp=oa THEN GO SUB VAL "5912": LET cp=ob: LET qq=(VAL "90" AND pr=ob)+(VAL "99" AND pr=oa): LET tb=(VAL "64" AND pr=ob)+(VAL "70" AND pr=oa): LET nn=oo: RETURN 
 5910 IF cp=ob THEN LET cp=oa: LET qq=VAL "66": GO SUB VAL "5904": GO SUB VAL "5912": LET qq=(VAL "34" AND ps=ob)+(VAL "37" AND ps=oa): LET tb=oh: RETURN 
 5912 BEEP oa,ov: CLS : PRINT AT oj,ob;"Feed New Sheet, then ENTER": PAUSE oo: LET nn=oo: CLS : RETURN 
 6050 CLS : PRINT AT VAL "10",VAL "2";"Complete Delete was ordered"'TAB VAL "2";"Confirm:  <1> Yes - <2> No": INPUT z: IF z=VAL "2" THEN GO TO fm
 6052 IF z=VAL "1" THEN GO TO VAL "9980"
 6054 GO TO fm
 8000 RANDOMIZE USR m1: LOAD "ps.C1"SCREEN$ 
 8001 LET it=oo: LET px=ps: LET xo=lx: LET lo=ll: GO SUB sq: GO SUB il: IF z<oa OR z>og THEN GO TO k8+oa
 8002 IF z=og THEN GO TO fm
 8003 GO TO (pr=ob AND z<oe)*VAL "9520"+(pr=ob AND z>od)*VAL "8001"+(pr<>ob)*VAL "8004"
 8004 IF z=of THEN LET lx=INT (lx/ob+oa/ob): LET qq=lx/ob: GO SUB VAL "8058": LET ma=INT (oa/ob+lx*lo/xo): GO SUB VAL "8088": LET tb=INT ((lx-ll)/ob+oa/ob): BEEP oa/ob,ov: GO TO VAL "2083"
 8010 IF z=oe THEN LET it=oa: GO SUB VAL "8044": BEEP oa/ob,ov: GO TO VAL "2083"
 8022 LET ps=z: LET lx=(t8 AND ps<oc)+(t9+of AND ps=oc)+(VAL "136" AND ps=od): LET qq=INT (lx/ob+oa/ob): LET ma=INT (oa/ob+lx*lo/xo): GO SUB VAL "8088": LET tb=INT ((lx-ll)/ob+oa/ob)
 8024 GO SUB mt: GO TO VAL "2083"
 8030 IF pr<>oa THEN RETURN 
 8034 GO SUB bu: OUT po,ow: GO SUB bu: OUT po,m1+ou: GO SUB bu: OUT po,oo: GO SUB bu: OUT po,VAL "155": GO SUB bu: OUT po,m1+ou: GO SUB bu: OUT po,oo: GO SUB bu: OUT po,ow: GO SUB bu: OUT po,oe+t4: GO SUB bu: OUT po,oo: GO SUB bu: OUT po,VAL "155": GO SUB bu: OUT po,oe+t4: GO SUB bu: OUT po,oo: GO SUB bu: OUT po,ow: GO SUB bu: OUT po,VAL "87": GO SUB bu: OUT po,oo: GO SUB bu: OUT po,VAL "155": GO SUB bu: OUT po,VAL "87": GO SUB bu: OUT po,oo: GO SUB bu: OUT po,os: GO SUB bu: OUT po,VAL "146": GO SUB bu: OUT po,ow: GO SUB bu: OUT po,oc+t5: GO SUB bu: OUT po,VAL "155": GO SUB bu: OUT po,oc+t5: GO SUB bu: OUT po,ov
 8035 GO SUB bu: OUT po,ow: GO SUB bu: OUT po,t6+ol: GO SUB bu: OUT po,VAL "155": GO SUB bu: OUT po,t6+ol: GO SUB bu: OUT po,ov: GO SUB bu: OUT po,ow: GO SUB bu: OUT po,t8: GO SUB bu: OUT po,VAL "155": GO SUB bu: OUT po,t8: GO SUB bu: OUT po,ov
 8036 IF it=oa THEN GO SUB VAL "8044"
 8037 IF ps=oa THEN LPRINT ': LET nn=nn+oa: RETURN 
 8038 IF ps=od THEN GO SUB VAL "8054"
 8040 IF ps=oc THEN GO SUB bu: OUT po,ow: GO SUB bu: OUT po,t7+og: GO SUB bu: OUT po,VAL "155": GO SUB bu: OUT po,t7+og: GO SUB bu: OUT po,ov
 8042 IF ps=ob OR ps=oc THEN GO SUB bu: OUT po,ow: GO SUB bu: OUT po,m1+ou: GO SUB bu: OUT po,oa: GO SUB bu: OUT po,VAL "155": GO SUB bu: OUT po,m1+ou: GO SUB bu: OUT po,oa: GO SUB bu: OUT po,ov: RETURN 
 8043 LPRINT ': LET nn=nn+oa: RETURN 
 8044 GO SUB bu: OUT po,ow: GO SUB bu: OUT po,ob+t5: GO SUB bu: OUT po,VAL "155": GO SUB bu: OUT po,ob+t5: GO SUB bu: OUT po,ov: RETURN 
 8054 GO SUB bu: OUT po,op: GO SUB bu: OUT po,VAL "143": GO SUB bu: OUT po,ov: GO SUB bu: OUT po,ow: GO SUB bu: OUT po,t7+oa: GO SUB bu: OUT po,VAL "155": GO SUB bu: OUT po,t7+oa: GO SUB bu: OUT po,ov: RETURN 
 8058 GO SUB bu: OUT po,ow: GO SUB bu: OUT po,t8+og: GO SUB bu: OUT po,oa: GO SUB bu: OUT po,VAL "155": GO SUB bu: OUT po,t8+og: GO SUB bu: OUT po,oa: GO SUB bu: OUT po,ov: RETURN 
 8060 LET it=oo: LET ps=oc: GO SUB mt: GO SUB VAL "8058": LET qq=ov: RETURN 
 8062 LET ps=od: LET it=oa: GO SUB mt: GO SUB VAL "8058": LET qq=oy+ob: RETURN 
 8064 LET it=oo: LET ps=ob: GO SUB mt: GO SUB VAL "8058": LET qq=ou: RETURN 
 8068 GO SUB mt: LET ll=(t6 AND ps<oc)+(t7+ob AND ps=oc)+(m1+ob AND ps=od): LET qq=(t4 AND ps<oc)+(ov*ob AND ps=oc)+(t6+oh AND ps=od): LET tb=(oj AND ps<oc)+(ol AND ps=oc)+(or AND ps=od): RETURN 
 8070 LET it=oo: LET ps=ob: GO TO VAL "8068"
 8072 LET it=oa: LET ps=oc: GO TO VAL "8068"
 8074 LET it=oa: LET ps=od: GO TO VAL "8068"
 8080 IF IN 127=253 THEN GO TO bu
 8082 RETURN 
 8088 CLS : PRINT AT oj,ob;"Key in Line Length"''TAB ob;lx;"=Max   ";ma;"=Match Margins": INPUT "Input Line Length ";ll: CLS : RETURN 
 8090 IF z<oa OR z>oc THEN GO TO VAL "2067"
 8092 LET z=z-oa: RANDOMIZE USR 100: POKE 16096,z: RANDOMIZE USR 100: POKE VAL "16094",oo: LPRINT : RANDOMIZE USR 100: POKE VAL "16090",VAL "255"
 8099 GO TO VAL "2069"
 8172 GO TO k4+t5
 8200 LPRINT ''': LET nn=nn+ob: LET w$=u$: GO SUB te: RETURN 
 9000 RANDOMIZE USR m1: LOAD "ab.C1"SCREEN$ : GO SUB il: IF z=oc THEN GO TO k4+t5
 9001 IF z<oa OR z>oc THEN GO TO k9
 9002 CLS : PRINT AT oj,ob;"INSTALL DATA DISK"''TAB ob;"THEN ENTER": PAUSE oo: RANDOMIZE USR m1: CAT "",: LET z4=z: INPUT "Begin File # ? ";a: INPUT "Ending File # ? ";b: IF z4=oa THEN LET zx=a: LET zy=b
 9003 IF z4=ob THEN LET zm=a: LET mz=b
 9005 IF z<oc THEN GO SUB k9+oj
 9008 CLS : PRINT AT oj,ob;"INSTALL PROGRAM DISK"''TAB ob;"THEN ENTER": PAUSE oo: GO TO k2+m1
 9010 IF z4=ob THEN LET m$="m"+STR$ zm+".A$": RANDOMIZE USR m1: LOAD m$ DATA o$()
 9020 IF z4=oa THEN LET m$=STR$ zx+".A$": RANDOMIZE USR m1: LOAD m$ DATA h$()
 9022 RETURN 
 9202 LET it=oo: LET ps=oc: GO SUB mt: GO SUB VAL "8058": LET qq=ov: RETURN 
 9204 LET ps=od: LET it=oa: GO SUB mt: GO SUB VAL "8058": LET qq=oy+ob: RETURN 
 9206 LET it=oo: LET ps=ob: GO SUB mt: GO SUB VAL "8058": LET qq=ou: RETURN 
 9208 GO SUB mt: LET ll=(t6 AND ps=ob OR ps=oa)+(t7+ob AND ps=oc)+(m1+ob AND ps=od): LET qq=(t4 AND ps=ob OR ps=oa)+(ov*ob AND ps=oc)+(t6+oh AND ps=od): LET tb=(oj AND ps=ob OR ps=oa)+(ol AND ps=oc)+(or AND ps=od): RETURN 
 9400 CLS : INPUT "Input the Word to Replace ";m$: INPUT "Replace With? ";w$: PRINT TAB ob;"I'm working fast as I can-"''
 9401 GO TO VAL "9482"
 9402 FOR n=oa TO og
 9404 FOR y=oa TO LEN h$(n)-(LEN m$+ob): PRINT AT oo,ow+oa;y: IF h$(n)(y TO y+LEN m$+oa)=" "+m$+" " THEN BEEP oa/oj,ou: PRINT AT oa,oj;m$: LET h$(n)=h$(n)( TO y)+w$+h$(n)(y+LEN m$+oa TO )
 9405 NEXT y
 9406 PRINT AT oo,ow+oa;"    ";AT xz,od;"One Cell Finished": LET xz=xz+oa: NEXT n
 9408 PRINT AT oo,ow+oa;"    ";AT xz,od;"H Array finished-": LET xz=xz+oa: IF eq<oa THEN PAUSE m1: GO TO ed
 9410 FOR n=oa TO og
 9412 FOR y=oa TO LEN i$(n)-(LEN m$+ob): PRINT AT oo,ow+oa;y: IF i$(n)(y TO y+LEN m$+oa)=" "+m$+" " THEN BEEP 1/oj,ou: PRINT AT oa,oj;m$: LET i$(n)=i$(n)( TO y)+w$+i$(n)(y+LEN m$+oa TO )
 9414 NEXT y
 9416 PRINT AT xz,od;"Another Finished";AT oo,ow+oa;"    ": LET xz=xz=oa: NEXT n
 9418 GO TO ed
 9482 LET xz=oc: FOR y=oa TO LEN q$-(LEN m$+ob): PRINT AT oo,ow+oa;y: IF q$(y TO y+LEN m$+oa)=" "+m$+" " THEN BEEP oa/oj,ou: PRINT AT oa,oj;m$: LET q$=q$( TO y)+w$+q$(y+LEN m$+oa TO )
 9483 IF LEN q$>LEN m$ THEN NEXT y: PRINT AT oo,ow+oa;"    ";AT xz,od;"Bank A Finished": LET xz=xz+oa
 9484 FOR y=oa TO LEN r$-(LEN m$+ob): PRINT AT oo,ou+oa;y: IF r$(y TO y+LEN m$+oa)=" "+m$+" " THEN BEEP oa/oj,ou: PRINT AT oa,oj;m$: LET r$=r$( TO y)+w$+r$(y+LEN m$+oa TO )
 9485 IF LEN r$>LEN m$ THEN NEXT y: PRINT AT oo,ow+oa;"    ";AT xz,od;"Bank B Finished": LET xz=xz+oa
 9486 FOR y=oa TO LEN j$-(LEN m$+ob): PRINT AT oo,ou+oa;y: IF j$(y TO y+LEN m$+oa)=" "+m$+" " THEN BEEP oa/oj,ou: PRINT AT oa,oj;m$: LET j$=j$( TO y)+w$+j$(y+LEN m$+oa TO )
 9487 IF LEN j$>LEN m$ THEN NEXT y: PRINT AT xz,od;"Bank C Finished";AT oo,ow+oa;"   "
 9488 IF ep>oo THEN GO TO VAL "9402"
 9490 GO TO ed
 9500 GO SUB bu: OUT po,VAL "27": GO SUB bu: OUT po,VAL "95": RETURN 
 9502 GO SUB bu: OUT po,VAL "27": GO SUB bu: OUT po,VAL "82": RETURN 
 9504: GO SUB bu: OUT po,VAL "27": GO SUB bu: OUT po,VAL "87": RETURN 
 9506 GO SUB bu: OUT po,VAL "27": GO SUB bu: OUT po,VAL "38": RETURN 
 9508 GO SUB bu: OUT po,VAL "27": GO SUB bu: OUT po,VAL "81": RETURN 
 9510 GO SUB bu: OUT po,VAL "27": GO SUB bu: OUT po,VAL "79": RETURN 
 9512 GO SUB bu: OUT po,VAL "27": GO SUB bu: OUT po,VAL "70": RETURN 
 9514 OUT po,VAL "27": GO SUB bu: OUT po,VAL "69": RETURN 
 9516 OUT po,VAL "27": GO SUB bu: OUT po,VAL "71": RETURN 
 9520 LET ps=z: LET lx=(VAL "124" AND ps>oc)+(VAL "96" AND ps=oc)+(VAL "82" AND ps<oc): LET ma=INT (lx*lo/xo+of/oj): GO SUB VAL "8088": LET tb=INT ((lx-ll)/ob+of/oj): LET qq=INT ((lx/ob)+of/oj): POKE VAL "23323",lx: GO TO VAL "2083"
 9600 LET nn=oo: LET pg=oa: FOR n=oa TO oj: GO SUB sp: NEXT n: IF lh=oa THEN INPUT "DATE?";t$: INPUT "First Name?";n$(oe): LET n$(oe)="Dear "+n$(oe): INPUT "Co Name";n$(oa): INPUT "Dept?";n$(ob): INPUT "Street Adr?";n$(oc): INPUT "Cty-St?";n$(od)
 9602 LPRINT TAB qq-LEN t$/ob;t$: GO SUB sp: LET nn=nn+oa: FOR n=oa TO od: LPRINT TAB tb;n$(n): NEXT n: GO SUB sp: LET nn=nn+od: LPRINT TAB tb;n$(oe): LET nn=nn+oa: GO SUB sp: LET lh=ob: RETURN 
 9604 LET lh=ob: RETURN 
 9900 CLS : PRINT AT oj,ob;"Install DATA Disk, ENTER": PAUSE oo: CLS : RANDOMIZE USR m1: OPEN #4,"dd": RANDOMIZE USR m1: OPEN #3,"lp": LET elin=oa: LET vars=oa: LET h80=oa: LET x$="111": LET y$="111": LET z$="11111.C1": LET l$="11111"
 9910 LET vars=PEEK VAL "23627"+VAL "256"*PEEK VAL "23628": FOR n=oa TO oa: NEXT n
 9915 LET elin=PEEK VAL "23641"+VAL "256"*PEEK VAL "23642"
 9920 LET x$=STR$ (PEEK VAL "23627"): LET y$=STR$ (PEEK VAL "23628")
 9925 IF LEN x$<oc THEN LET x$=STR$ oo+x$: GO TO VAL "9925"
 9930 IF LEN y$<oc THEN LET y$=STR$ oo+y$: GO TO VAL "9930"
 9935 LET l$=STR$ (elin-vars-oa)
 9940 IF LEN l$<oe THEN LET l$=STR$ oo+l$: GO TO VAL "9940"
 9945 LET z$=l$+".C1"
 9950 LET h80=PEEK VAL "23641"+VAL "256"*PEEK VAL "23642"-oa
 9970 CLS : PRINT AT oj,ob;"Enter for Vars SAVE": PAUSE oo: RANDOMIZE USR m1: SAVE z$CODE vars,VAL l$
 9975 CLS : PRINT AT VAL "10",VAL "2";"Data Has been SAVED"''TAB VAL "2";"SELECT-"''TAB VAL "2";"<1> CLEAR and LOAD VARS FILE"''TAB VAL "5";"<2> Keep DATA": GO SUB VAL "2550": GO TO (z<VAL "1" OR z> VAL "2")*VAL "9975"+(z=VAL "1")*VAL "9980"+(z=VAL "2")*VAL "2070"
 9980 CLS : PRINT AT VAL "10",VAL "1";"Install Disk to LOAD VARS FILE": PAUSE VAL "0": CLEAR : RANDOMIZE USR VAL "100": CAT "",
 9985 DIM k$(VAL "8"): INPUT "Key in 8 chr Title of Vars Code File";k$: DIM v$(VAL k$( TO VAL "5")-VAL "8"): FOR n=VAL "1" TO VAL "8": IF CODE k$(n)=VAL "32" THEN GO TO VAL "9975"
 9990 NEXT n: POKE VAL "23297",INT (VAL k$( TO VAL "5")/VAL "256"): POKE VAL "23296",(VAL k$( TO VAL "5")-PEEK VAL "23297"*VAL "256"): RANDOMIZE USR VAL "100": LOAD k$CODE (PEEK VAL "23627"+VAL "256"*PEEK VAL "23628")
 9995 LET n=PEEK VAL "23627"+VAL "256"*PEEK VAL "23628"+PEEK VAL "23296"+VAL "256"*PEEK VAL "23297": POKE n,VAL "128": LET n=n+VAL "1": POKE VAL "23642",INT (n/VAL "256"): POKE VAL "23641",n-PEEK VAL "23642"*VAL "256": POKE n-VAL "1",VAL "128": GO TO VAL "5120"

Note: Type-in program listings on this website use ZMAKEBAS notation for graphics characters.