--- title: "UPDATE Magazine Issue Disk, October 1987 (Larken Edition)" id: 72665 type: "computer_media" slug: "update-magazine-issue-disk-october-1987-larken-edition" url: "http://localhost/computer_media/update-magazine-issue-disk-october-1987-larken-edition/" markdown_url: "http://localhost/computer_media/update-magazine-issue-disk-october-1987-larken-edition.md" published_at: "2026-10-26T23:19:32+00:00" modified_at: "2026-10-26T23:19:32+00:00" author: "David Anderson" featured_image: url: "http://localhost/wp-content/uploads/2026/10/update8710-1.png" excerpt: "UPDATE magazine's October 1987 issue disk for Larken drives: Mail Merge subscriber database with outlines and labels, the J-Utilities, and short printer and prompt routines." post_tag: - name: "Downloadable" slug: "downloadable" taxonomy: "post_tag" url: "http://localhost/tag/downloadable/" - name: "TS 2068" slug: "ts2068" taxonomy: "post_tag" url: "http://localhost/tag/ts2068/" model: - name: "Timex/Sinclair 2068" slug: "ts-2068" taxonomy: "model" url: "http://localhost/model/ts-2068/" indiv: - name: "Bill Jones" slug: "bill-jones" taxonomy: "indiv" url: "http://localhost/indiv/bill-jones/" - name: "Robert Hartung" slug: "robert-hartung" taxonomy: "indiv" url: "http://localhost/indiv/robert-hartung/" genre: - name: "Collection" slug: "collection" taxonomy: "genre" url: "http://localhost/type/collection/" media_type: "Diskette" programmers: - name: "Bill Jones" slug: "bill-jones" taxonomy: "indiv" url: "http://localhost/indiv/bill-jones/" - name: "Robert Hartung" slug: "robert-hartung" taxonomy: "indiv" url: "http://localhost/indiv/robert-hartung/" download_url: "https://archive.org/download/timex-sinclair-software-archive/UPDATE%20Magazine%20October%201987%20Issue%20Disk%20%281987%29%28Jones%2C%20Bill%29%28TS2068%29%28US%29%28Larken%20Disk%29.zip" tsrun_member: "UPDATE Magazine October 1987 Issue Disk (1987)(Jones, Bill)(TS2068)(US)(Larken Disk)/J-Utilities (1987)(Jones, Bill)(TS2068)(US)(Program).tap" mediadate: "1987" images: - url: "http://localhost/wp-content/uploads/2026/10/update8710-1.png" - url: "http://localhost/wp-content/uploads/2026/10/update8710-2.png" - url: "http://localhost/wp-content/uploads/2026/10/update8710-3.png" - url: "http://localhost/wp-content/uploads/2026/10/jutil-1.png" - url: "http://localhost/wp-content/uploads/2026/10/jutil-3.png" - url: "http://localhost/wp-content/uploads/2026/10/jutil-4.png" - url: "http://localhost/wp-content/uploads/2026/10/jutil-5.png" article_media: - id: 21627 title: "SDOS Mail Merge" type: "article" url: "http://localhost/article/sdos-mail-merge/" - id: 21631 title: "More About SDOS MAIL MERGE" type: "article" url: "http://localhost/article/more-about-sdos-mail-merge/" - id: 21619 title: "The Programs for This Issue" type: "article" url: "http://localhost/article/the-programs-for-this-issue/" - id: 21620 title: "The J-Utilities" type: "article" url: "http://localhost/article/the-j-utilities/" - id: 21621 title: "The Key-In Projects" type: "article" url: "http://localhost/article/the-key-in-projects/" - id: 21623 title: "J-Util Listing" type: "article" url: "http://localhost/article/j-util-listing/" - id: 21624 title: "Quick and Easy Routines" type: "article" url: "http://localhost/article/quick-and-easy-routines/" - id: 21634 title: "A Print Using Routine and Demonstration" type: "article" url: "http://localhost/article/a-print-using-routine-and-demonstration/" - id: 21686 title: "The October and January Issue Disk" type: "article" url: "http://localhost/article/the-october-and-january-issue-disk/" - id: 21723 title: "Addition to TS-2068 Mail Merge" type: "article" url: "http://localhost/article/addition-to-ts-2068-mail-merge/" - id: 45820 title: "SDOS Mail Merge for Oliger Disk" type: "article" url: "http://localhost/article/sdos-mail-merge-for-oliger-disk/" related_content: - id: 26510 title: "Update October 1987" type: "issue" url: "http://localhost/issue/ts-2068-up-date-october-1987/" - id: 10283 title: "Update Magazine" type: "periodical" url: "http://localhost/periodical/update-magazine/" - id: 53843 title: "Large Text" type: "computer_media" url: "http://localhost/computer_media/printscren/" media_type_tags: "Collection" license: false --- # UPDATE Magazine Issue Disk, October 1987 (Larken Edition) This is the Larken (LKDOS) version of the issue disk for the October 1987 issue of UPDATE, Bill Jones’ TS2068 magazine. Its feature program is Mail Merge (`MMRG.B1`), the database UPDATE used to keep its subscriber records and print its mailing labels. It holds 100-name files of seven lines each, with four address lines, a first-name line and two information lines, and it sorts, searches by last name, reverses names, prints labels, envelopes and letters on a TS2040 or a Centronics printer, and keeps a second OUTLINE database for printing topic outlines. The disk also carries the J-Utilities and the short routines published in the same issue. Apart from the J-Utilities, the programs need a TS2068 with the Larken disk interface and the LKDOS V3 EPROM printer driver. They have not been converted for tape. The October 1987 and January 1988 issue disks were issued together on one Larken disk. Each half is archived as its own post. The briefing program `BRIEF.B1` explains that the Larken version took weeks to convert from the Oliger originals and was then revised again for Larry Kenny’s Version 3 EPROM, and that `MMRG` differs from the magazine’s tutorial listing only in calling its menus from disk. ## Contents - `BRIEF.B1`: the on-screen briefing for the issue disk, with an optional printout. - `MMRG.B1`: Mail Merge, with its menu screens `fm`, `pg`, `fo`, `ml` and `cpr.C1` (Function, Page Management, Format and Mail menus and the title screen). - `J-UTIL.B1`: the J-Utilities, the issue’s key-in project: a memory peeker and disassembly display, decimal and hex DATA pokers, hex/decimal/binary conversion, mixed hex and decimal arithmetic, a binary analysis table and RAMTOP setting. - `PROMPT.B1`: GO SUB routines for Y/N keys and number-key menus. - `PSTAT.B1`: waits for a Centronics printer to be ready by reading `IN 127`. - `pseudo.B1` and `vars.B1`: a “pseudo-variable” table of numeric constants and letterhead strings to MERGE into a program. - `USING.B1`: PRINT USING-style column alignment of numbers (on-screen credit “SYNTAX 1984”). - `MENAG.B1`: border, colour and SOUND effect routines. - `Pscren.B1`: a large-text demonstration (REM “ZX-Appeal Sept. 86”), the same program as Large Text. `PROMPT`, `PSTAT` and the pseudo-variable table match the routines in Robert Hartung’s “Quick and Easy Routines” in the same issue. ## J-Utilities on Tape `J-UTIL.B1` uses no disk commands, so it is also included as a tape TAP that runs on a stock TS2068: `J-Utilities (1987)(Jones, Bill)(TS2068)(US)(Program).tap`. It shows a title screen and two pages of notes, then stops and asks you to set CAPS LOCK and type CONTINUE. After that its menu is an INPUT prompt. Hex must be entered in capitals. In the conversion only the Larken variables marker was removed and the autostart set to line 9800. It was tested in ZEsarUX: the hex/decimal conversion turned 65535 into FFFF and binary 1111111111111111, and the mixed arithmetic gave FFh × 16 = 4080 (FF0h). ## Not Included The disk’s subscriber mailing list holds personal data and has been left out, so no disk image is included. The Larken system files are also left out. `LLOOK.B1` and `Purity.B1`, the Mail Merge companions announced for January, are with the January 1988 issue disk. The disk’s other files are George Chambers’ MTERM II modification and public-domain programs that are already archived on this site. ## Source Code ``` 100 BORDER 0: INK 7: PAPER 0: CLS : RANDOMIZE USR 100: OPEN #4,"dd": GO TO 2061 400 INPUT "Number of Mailing list Names?";h: LET k=h: LET b$="" 402 INPUT "Sort by: <1> First name <2> Last name";z 404 IF z=oa THEN GO SUB VAL "1010": GO TO VAL "500" 406 IF z=ob THEN GO SUB VAL "640": GO SUB VAL "1010": GO SUB VAL "670" 500 GO TO VAL "2000" 640 CLS : PRINT FLASH oa;AT oj,oa;"Last Name Reverse- 40 Seconds";AT ok,oa;"Line 640": FOR n=oa TO h: IF o$(n,oa)(oa TO od)=" " THEN NEXT n: RETURN 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: IF b$(oa TO od)=" " THEN NEXT n 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- 40 Seconds";AT ok,oa;"Line 670": LET b$="" 672 FOR n=oa TO k: IF o$(n,oa)(oa TO od)=" " THEN NEXT n: RETURN 674 IF n>k THEN GO TO y 676 LET b$=o$(n,oa) 682 FOR l=oa TO LEN b$: IF b$(l)=" " THEN LET b$=o$(n,oa)(l+oa TO ): GO TO VAL "686" 684 NEXT l 685 IF LEN b$=oo THEN GO TO VAL "689" 686 IF LEN b$>oo AND b$(LEN b$)=" " THEN LET b$=b$( TO LEN b$-oa): GO TO VAL "685" 687 IF LEN b$>oa AND b$(oa)=" " THEN LET b$=b$(ob TO ): GO TO VAL "685" 689 LET o$(n,oa)=b$+" "+o$(n,oa)( TO l) 690 NEXT n 692 RETURN 1010 CLS : PRINT AT oj,oh; FLASH oa;"Sorting- 1 Minute";AT ok,oh;"Line 1010": DIM v$(of,31): LET n=h 1020 LET I=N-oa 1030 FOR J=oa TO I 1040 LET K=J+oa 1050 FOR L=N TO K STEP -oa 1052 IF o$(l,oa)(oa TO od)=" " THEN GO TO VAL "1100" 1060 IF o$(L,oa)>o$(J,oa) THEN GO TO VAL "1100" 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 : FLASH oo 1130 RETURN 2000 ON ERR GO TO VAL "9980": STOP 2001 PRINT #4: LOAD "ml.C1"SCREEN$ : PRINT AT 2,19;("Yes" AND LEN o$(1,1)>1)+("No " AND LEN o$(1,1)<2);AT 19,11;pg;" ";AT 19,25;nn;" " 2002 PRINT AT ot,ok;pg;" ";AT ot,VAL "25";nn;" ";AT ob,ot; FLASH oa;("NO " AND LEN o$(oa,oa)oa); FLASH oo;AT oc,VAL "24";~ 2003 GO SUB SQ: GO SUB Il: GO TO (ZOI)*VAL "2000"+(z=OO)*VAL "3020"+(Z=OA)*VAL "2004"+(z>OA AND Z Yes -or- No": GO SUB SQ: GO SUB IK: IF Z=OA THEN INPUT "Input Nbr of Names";mx: IF mx*VAL "217">VAL "27000" THEN GO TO VAL "2004" 2005 IF z=oa THEN DIM o$(mx,7,31): DIM O$(mx,7,31): LET IN=OA: LET ms=OA: CLS : GO TO VAL "2009" 2006 GO TO VAL "2000" 2007 IF Z>OA AND Z yes or No ";t$: INPUT "Ent sps bet: ";SX: INPUT "Ent Tab ";TB: CLS : LET h$=" ": FOR g=0 TO tb: LET h$=h$+" ": NEXT g: INPUT "Nbr of Fields (1-7) 4 for labels";x: PRINT AT OU,OB;"Do you want Page Control?": INPUT "<1> yes or <2> No ";K: IF k=oa THEN PRINT AT OU,OO;"Ent ""PG"" for same page, or a nbrto change. ": INPUT PG: PRINT AT OU,OO;"Ent ""NN"" for same line count,or nbr to re-set line count. ": INPUT NN 2009 FOR O=MS TO MX 2010 IF Z=MX THEN GO TO VAL "2000" 2018 NEXT O 2022 CLS : PRINT AT OF,OF;"Ml No. ";O 2024 CLS : PRINT AT og,oo;o;AT OJ,OO;"Input ";("Co Name " AND IN=OA)+("Dept " AND IN=OB)+("St adr " AND IN=OC)+("ct,St,Zp" AND IN=OD)+("1st Name" AND IN=OE)+("Tel Nbr " AND IN=OF)+("spare dta" AND in=og);" or zz to quit.": INPUT T$: IF T$="zz" THEN LET IN=OA: LET O=MX: CLS : RETURN 2025 LET O$(O,IN)=T$ 2026 IF IN=OG THEN CLS : GO TO VAL "2030" 2028 LET IN=IN+OA: GO TO VAL "2024" 2030 PRINT AT OH,OO;O$(O,OA)'O$(O,OB)'O$(O,OC)'O$(O,OD)'O$(O,OE)'O$(O,OF)'O$(o,og)''"OK? Yes, or No": GO SUB IK: IF Z=OB THEN LET IN=OA: GO TO VAL "2024" 2032 CLS : LET IN=OA: RETURN 2034 IF O$(O,OA)(OA TO OB)="zz" THEN GO TO ml 2035 PRINT AT OE,oo;"Ml No. ";o''O$(O,OA)'O$(O,OB)'O$(O,OC)'O$(O,OD)'O$(O,OE)'O$(O,OF) 2036 PRINT O$(O,Og) 2037 PRINT '"Key ENT for Next": PAUSE oo: CLS : RETURN 2038 IF LEN O$(O,OA)=LN THEN GO SUB PE: LET DD=OO: RETURN 2047 IF DD>OO THEN LPRINT : LET DD=DD-OA: LET NN=NN+OA: IF NN>=LN AND K=OA AND NN+OD>=LN THEN GO SUB PE: LET DD=OO: LET NN=OA: RETURN 2048 IF DD>OO THEN GO TO VAL "2047" 2050 RETURN 2051 NEXT N 2052 GO TO VAL "2000" 2058 CLS : PRINT FLASH oa;AT oj,od;"Confirm DELETE MAIL FILE"; FLASH oo''TAB od;" Yes or No": GO SUB ik: IF z=oa THEN DIM o$(oa,oa) 2059 GO TO fm 2060 GO TO FM 2061 GO SUB VAL "2586": GO SUB VAL "2572": CLS 2063 CLS : PRINT AT OH,OI;"Please Select"''TAB OD;"<1> TS 2040 Printer?"''TAB OD;"<2> Centronics Printer": GO SUB SQ: GO SUB IL: IF ZOB THEN GO TO VAL "2063": LET PR=Z-OA: IF PR=OO THEN LET lx=VAL "32": LET qq=oq: GO SUB VAL "9990": GO TO FM 2065 GO TO 9997 2066 CLS : PRINT AT oi,oo;"Turn Printer ON, Adjust Page, Then ENTER": PAUSE oo 2070 CLS : PRINT #4: LOAD "fm.C1"SCREEN$ : PRINT INK 6;AT 19,11;pg;AT 19,21;nn 2071 INK og: LET gg=oa: GO SUB sq: GO SUB il: IF z=oo THEN GO TO VAL "3390" 2072 IF Z=OF THEN GO SUB PE: GO TO FM 2073 IF z=oe THEN GO SUB sp: GO TO fm 2074 GO TO (z=oo)*VAL "3324"+(z=oa)*VAL "2000"+(z=ob)*VAL "2094"+(z=oc)*VAL "2083"+(z=od)*VAL "3004"+(z=og)*VAL "3370"+(z=oh)*VAL "3384"+(z=oi)*VAL "3300"+(z=oj)*VAL "3390"+(z=ok)*VAL "3394" 2083 PRINT #4: LOAD "fo.C1"SCREEN$ 2084 GO SUB sq: GO SUB il: IF z=od THEN CLS : INPUT "Input Page Center";qq: GO TO VAL "2083" 2086 IF z=oc THEN CLS : PRINT AT OJ,OA;"key ln lgth: ": INPUT LL 2087 IF z=oe THEN GO TO fm 2088 IF zoo THEN LET sd=z 2092 GO TO VAL "2083" 2094 CLS : PRINT AT OJ,OD;"Type the Cap"''TAB od;"Line lgth limit is: ";LX: INPUT m$ 2095 LPRINT TAB qq-LEN m$/2;m$: LET NN=NN+OA 2096 GO TO FM 2110 LET IN=OA 2112 CLS : PRINT "Enter Field Nbr to Correct, or ""8"" for next field."''"Ml No. ";O''"Fields"'"1. ";O$(O,OA)'"2. ";O$(O,OB)'"3. ";O$(O,OC)'"4. ";O$(O,OD)'"5. ";O$(O,OE)'"6. ";O$(O,OF)'"7. ";o$(o,og): INPUT "Field Nbr or 8:";IN: IF IN=oh THEN RETURN 2120 CLS : PRINT AT oj,oo;o$(o,in);AT ou,oo;"npt ";("Co Name " AND in=OA)+("Dept " AND in=OB)+("St adr " AND in=OC)+("ct,St,Zp" AND in=OD)+("1st Name" AND in=OE)+("Tel Nbr " AND in=OF): INPUT T$ 2122 LET o$(o,in)=t$: CLS : GO TO VAL "2112" 2550 PAUSE oo: LET t$=INKEY$: LET z=CODE t$-48: IF zok THEN GO TO il: REM * For Key 0 to 11 2553 RETURN 2554 PAUSE oo: LET t$=INKEY$: IF t$<>"y" AND t$<>"Y" AND t$<>"n" AND t$<>"N" THEN GO TO ik: REM * For Key Y or N 2555 LET Z=(oa AND t$="y")+(oa AND t$="Y")+(2 AND t$="n")+(2 AND t$="N") 2560 RETURN 2567 IF IN 127=253 THEN GO TO BU 2568 RETURN 2570 CLS : PRINT AT oj,od;"INPUT FILE NUMBER": INPUT t$: LET t$="MMRG"+t$+".B1": PRINT #4: SAVE t$ LINE 100: BEEP oa,oa: CLS : GO TO FM 2572 PRINT #4: LOAD "cpr.C1"SCREEN$ 2575 FOR N=OA TO of: GO SUB SQ: PAUSE VAL "100": NEXT N: RETURN 2576 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>of THEN LET xa=oa 2578 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: BEEP oa/oj,VAL "40": IF xa>of THEN LET xa=ob 2579 BORDER oo: INK og: RETURN 2580 BEEP .1,40: PAUSE VAL "20": RETURN 2582 BEEP OB/OJ,OD: BEEP OB/OJ,OH: BEEP OB/OJ,OJ: BEEP OB/OJ,OD: RETURN 2586 LET po=127: LET oo=0: LET oa=1: LET ob=2: LET oc=3: LET od=4: LET oe=5: LET of=6: LET og=7: LET oh=8: LET oi=9: LET oj=10: LET ok=11: LET ol=12: LET om=13: LET on=14: LET op=15: LET oq=16: LET or=17: LET os=18: LET ot=19: LET ou=20 2588 LET tw=oo: LET xa=2: LET ln=54: LET nn=0: LET pg=1: LET pr=1: LET bu=2567: LET zc=5: LET sq=2576: LET fm=2070: LET sd=1: LET sp=2990: LET lh=2610: LET pe=3014: LET ik=2554: LET il=2550 2590 DIM n$(og,31): LET n$(oa)="UPDATE Magazine": LET n$(ob)="1317 Stratford Ave.": LET n$(oc)="Panama City, FL 32404": LET n$(oe)="Bill Jones": LET n$(of)="904 871 4513": LET n$(og)="Sincerely," 2596 RETURN 2600 CLS : PRINT AT oj,oj;"SAVE Menu"''TAB 4;"<1> Save this Mail File"''TAB od;"<2> Save Program + File": GO SUB sq: GO SUB il: GO TO (zob)*VAL "2600"+(z=ob)*VAL "2570"+(z=oa)*VAL "2602" 2604 CLS : PRINT AT OJ,OH;"INPUT FILE NBR": INPUT t$: LET t$="m"+t$+".A$": PRINT #4: SAVE t$ DATA o$(): GO TO VAL "2000" 2990 LPRINT : LET NN=NN+OA: IF NN>=LN THEN GO SUB PE 2994 IF sd=ob THEN LPRINT : LET NN=NN+OA: IF NN>=LN THEN GO SUB PE 2996 RETURN 3004 PRINT #4: LOAD "pg.C1"SCREEN$ : PRINT AT 5,18;pg;AT 7,23;ln-nn 3005 PRINT AT oe,os;pg;" ";AT og,VAL "23";ln-nn;" ": GO SUB sq: GO SUB il: IF zod THEN GO TO VAL "3004" 3006 IF Z=OD THEN GO TO FM 3008 IF Z=OB THEN INPUT "Ent new lines to end. ";NL: LET NN=LN-NL: GO TO VAL "3004" 3010 IF z=oa THEN GO SUB pe: GO TO fm 3012 IF Z=OC THEN INPUT "Enter next pg No. ";PG: GO TO VAL "3004" 3013 GO TO VAL "3004" 3014 IF PR=OO THEN LPRINT '''';pg'''''''''''''''''': LET NN=OA: LET PG=PG+OA: RETURN 3016 IF NNmj THEN GO TO VAL "3320" 3306 PRINT AT on,oo;"Ent Major Line #"; INK oe;n; INK of;" or zz to quit": INPUT k$(n): IF k$(n)( TO ob)="zz" THEN LET k$(n)="": GO TO VAL "3320" 3308 FOR y=oa TO sb: PRINT AT on,od;"Minor";AT on,oq; INK od;y; INK of: IF y>sb THEN GO TO VAL "3316" 3310 INPUT v$(n,y): IF v$(n,y)( TO ob)="zz" THEN LET v$(n,y)="": GO TO 3316 3312 NEXT y 3316 NEXT n 3320 LET n=mj: LET y=sb: CLS : PRINT AT oj,ob;"Print the Outline now?"''TAB ob;" Yes or No": GO SUB ik: IF z=ob THEN LET n=mj: GO TO fm 3324 CLS : INPUT "Input Tab for line print:";tz 3330 FOR n=oa TO mj: IF k$(n)( TO ob)=" " THEN GO TO VAL "3354" 3334 LPRINT TAB tz;k$(n)'': LET nn=nn+ob: IF nn>=ln THEN GO SUB pe 3338 FOR y=oa TO sb: IF v$(n,y)( TO ob)=" " THEN GO TO VAL "3346" 3342 LPRINT TAB tz+5;q$;v$(n,y)'': LET nn=nn+ob: IF nn>=ln THEN GO SUB pe 3346 NEXT y 3350 NEXT n 3358 CLS : PRINT AT oj,ob;"Delete the Data?"''TAB ob;" Yes or No": GO SUB ik: IF z=oa THEN DIM k$(oa,oa): DIM v$(oa,oa) 3360 GO TO fm 3370 FOR n=1 TO oc: LET m$=n$(n): GO SUB VAL "3380": NEXT n: LET m$=n$(of): GO SUB VAL "3380": GO TO fm 3380 IF m$(LEN m$)=" " THEN LET m$=m$( TO LEN m$-oa): GO TO VAL "3380" 3382 LPRINT TAB qq-LEN m$/ob;q$;m$: LET nn=nn+oa: RETURN 3384 FOR n=1 TO 3: GO SUB sp: NEXT n: LET m$=n$(og): GO SUB VAL "3380": FOR n=1 TO 3: GO SUB sp: NEXT n: LET m$=n$(oe): GO SUB VAL "3380": GO SUB pe: GO TO fm 3390 CLS : FOR n=oa TO VAL "200": ON ERR GO TO VAL "3392": PRINT "File No. ";n'O$(n,oa)'': NEXT n 3392 ON ERR RESET : PRINT '' FLASH oa;"ENTER When Ready": PAUSE oo: FLASH oo: GO TO fm 3394 CLS : INPUT "Input Last Name or Stock Noun ";m$: CLS : FOR n=1 TO VAL "200": ON ERR GO TO VAL "3415": FOR y=31 TO 1 STEP -1: IF o$(n,1)(y)=" " THEN NEXT y: IF y=oo THEN NEXT n 3396 LET b=y: FOR y=b-1 TO 1 STEP -1: IF o$(n,oa)(y)<>" " THEN NEXT y 3398 LET a=y+1: IF o$(n,1)(a TO b)=m$ THEN GO TO VAL "3420" 3400 NEXT n 3415 ON ERR RESET : CLS : PRINT FLASH oa;AT oj,of;"File Name Not Present": PAUSE VAL "400": FLASH oo: GO TO fm 3420 PRINT "File No. ";n''o$(n,1)'o$(n,ob)'o$(n,oc)'o$(n,od)'o$(n,oe)'o$(n,of)'o$(n,og)'': INPUT "<1> Continue Search- <2> Quit";c: IF c=1 THEN GO TO VAL "3400" 3422 GO TO fm 3430 INPUT "Field Number to Delete";x: FOR n=x TO 100: IF o$(n,1)(oa TO ob)<>" " THEN NEXT n 3432 LET a=n-1: FOR n=x TO a: FOR y=oa TO og: LET o$(n,y)=o$(n+1,y): NEXT y: NEXT n 3434 STOP 4000 PRINT "File No. ";n''o$(oa)'o$(ob)'o$(oc)'o$(od)'o$(oe)'o$(of)'o$(og): PAUSE VAL "4e4": GO TO fm 9980 ON ERR RESET : ON ERR GO TO VAL "9982": IF LEN o$(1,1)>1 THEN GO TO VAL "9984" 9982 ON ERR RESET : DIM o$(1,1,1): GO TO VAL "2001" 9984 ON ERR RESET : ON ERR GO TO VAL "9986": STOP 9986 ON ERR RESET : GO TO VAL "2001" 9990 PRINT #4: OPEN #7,"LP": RETURN 9997 CLS : PRINT AT 10,0;"Printer Parameters Set"''"Touch Type of Interface"''"<1> Aerco or Oliger CPI"''"<2> TASMAN CPI"''"<3> A&J CPI"''"<4> TS-2040": GO SUB il: IF z<1 OR z>4 THEN GO TO 9997 9998 LET z=z-1: PRINT #4: OPEN #(3 AND z<3)+(7 AND z>2),"LP": CLS : INPUT "Key <1> for Line Feed <2> for NO line feed";lf: LET lf=10*NOT (lf-1): PRINT #4: POKE 16092,lf : INPUT "Key Maximum Line Length";lx: LET qq=lx/ob: PRINT #4: POKE 16090,lx: LPRINT : GO TO VAL "2066" ```