Fish Locator

Products: Fish Locator
Developer(s): Jack Payne
Date: 1985
Type: Program
Platform(s): TS 2068
Tags: Home

Fish Locator combines a solunar table with a set of angler’s rules to suggest when, where and how to fish on a given day. After setting a longitude (typed in, or picked from a built-in directory of 75 North American cities) and the date, the user rates today’s wind speed and direction, temperature trend, water surface temperature, barometer, sky and water clarity. The program then shows a “Today’s Prospects” table rating each factor, the moon phase, the season period and an overall outlook, followed by the day’s major and minor solunar times and pages of tips on lures, depths and locations. Other options give species advice for walleye, northern pike and bass, and a month of fishing times with moon-phase symbols. Every screen can be sent to the printer with COPY.

The title screen reads “Budget Software Presents! Fish Locator © 1985” with Jack Payne’s name under the copyright, and a REM line dates this copy 11/07/86 with “(c) 1985 BudgtSoft”. It was sold by Budgetsoft, whose advertisement describes the author as a fishing guide with more than 30 years’ experience. SUM Magazine reviewed it, and Budgetsoft showed it at the Midwest TS Computerfest, by which time the company was supplying the program’s solunar tables to resorts and newspapers. Payne later ran Solunar Services, Inc. In a 1993 letter to ZXir QLive Alive he described himself as a retired TS2068 user who still used the computer to produce a year of fishing and hunting timetables for each customer, from a program whose astronomical code was written for him by Imre Auersbacher.

Program Analysis

Structure

The program starts at line 9000, which loads a 168-byte set of UDGs (fish, boat and moon-phase characters) to 65368 and draws the animated title screen. Line 9035 onward handles longitude, date and daylight-saving input, and lines 9300–9521 collect the day’s conditions. The main menu at line 500 offers Today’s Prospects (line 4000), Select a Species (4600), Repost Conditions and Fishing Times This Month (200). The advice itself is a long run of IF lines in the 4900–8515 range that test month, period, temperature, wind, sky and moon phase.

Astronomy

Lines 230–248 compute the Moon’s and Sun’s longitudes from a day number with short trigonometric series, and lines 320–399 turn the Moon’s hour angle at the user’s longitude into the two major (overhead and underfoot) and two minor (rise and set) periods for each day. Lines 9563–9582 estimate the moon phase from a lunation formula. Times are converted to hh:mm text with a lookup string of two-digit numbers (i$), adjusted for daylight saving time.

Saved variables

Line 2 warns “DO NOT CLEAR”: nearly every number in the program is a variable (e=1, h=2, xx=360 and so on), and the city names and longitudes, condition labels and species data are string and numeric arrays saved with the program. Running CLEAR or RUN without them would stop it. Lines 9997–9998 hold the publisher’s set-up routine, which pokes the UDGs from DATA, asks for the default longitude and time zone and saves a fresh copy to tape; it is reached by pressing 0 at the main menu.

Notable Techniques

  • Numeric constants held in one-, two- and three-letter variables to save memory, used even as line numbers (GO SUB ok, GO TO start, GO SUB hdg).
  • Major and minor periods printed on alternating PAPER colours, with UDG moon-phase symbols in the monthly table.
  • Animated fish and boat drawn with UDGs on the title and menu screens.
  • Input routine at 9100 accepts digits only and re-prompts on anything else.

Potential Issues

  • The time-zone setting is derived from longitude bands at 9071–9075 and does not cover Alaska or Hawaii correctly, although the directory includes Anchorage.
  • Option 0 at the menu runs the publisher’s tape-save routine, which overwrites the default longitude.

This copy came from a Larken disk and was converted for tape: the RANDOMIZE USR 100 disk prefixes were removed. Because the program depends on its saved variables it keeps them, but the disk owner’s programmed longitude and time zone were reset to 0, and line 9055 now asks for a longitude (or a city from the directory) while none is set. It was tested in ZEsarUX.

Related Products

Use the TS 2068 to analyze the season, weather and solunar tables for any location and determine when, where and how to catch more fish.

Related Articles

SUM Magazine has received many different programs for review. One of the most original is Fish Locator.
Letters from Jack Payne, William Horner III, David Lassov, Francine Sklar, Greg Simmons, Quentin Kent, Gilliam Parrish.
Just as the future of our computers grows dim again, the Midwest TS Computerfest comes along and brightens things up!

Image Gallery

Source Code

    1 REM   :fishlocatr:   11/07/86    * 1985 BudgtSoft       27.6K 
    2 REM *** DO NOT CLEAR ***
    3 LET tp=tp+n: GO TO f
    6 GO SUB ok: RETURN 
    8 LET l=l+e
    9 LET l=l+e: IF l>nn THEN GO SUB yn
   10 PRINT AT l,d;: RETURN 
   12 PAPER sp: GO SUB ok: PRINT AT c,d;"      Press desired number      ": PAPER pa
   13 IF INKEY$="1" THEN LET N=e: GO TO s
   14 IF INKEY$="2" THEN LET N=h: GO TO s
   15 IF INKEY$="3" THEN LET N=k: GO TO s
   16 IF INKEY$="4" THEN LET N=sp: GO TO s
   17 IF INKEY$="5" THEN LET N=fi: GO TO s
   18 IF INKEY$="6" THEN LET N=s: GO TO s
   19 IF INKEY$="7" THEN LET N=se: GO TO s
   20 IF INKEY$="8" THEN LET N=o: GO TO s
   21 IF INKEY$="9" THEN LET N=f: GO TO s
   22 IF INKEY$="0" THEN LET N=d: GO TO s
   24 GO TO ti
   30 PAPER e: INK se: PRINT AT l,pos;"def";AT l+e,pos;"ghi";AT l,pos1;"klm";AT l+e,pos1;"nop": PAPER pa: INK in: PRINT AT l,sp;: RETURN 
   40 IF l=d THEN RETURN 
   41 PAPER sp: GO SUB ok: PRINT AT c,d;" <P> Print <C> Continue <M> Menu": PAPER pa
   42 IF INKEY$="p" THEN GO TO 46
   43 IF INKEY$="c" THEN CLS : LET l=d: RETURN 
   44 IF INKEY$="m" THEN GO TO start
   45 GO TO 42
   46 IF pf=e THEN PRINT AT c,d;"                                ": COPY : CLS : LET l=d: RETURN 
   47 GO SUB ok: PRINT AT c,d;"  Turn on printer & press ENTER ": IF pf=e THEN PAUSE d: RETURN 
   48 LET pf=e: PAUSE d: GO TO 46
   50 LET da=sda: GO SUB ok: CLS : PAPER s: BORDER h: INK d: CLS 
   51 PAPER sp: PRINT AT d,b;"Fish Locator"
   60 LET L=e: PRINT AT l,d;
   62 RETURN 
  111 GO SUB f
  112 PAPER pa: GO SUB f
  113 OVER e: PRINT AT l,d;"________________________________": OVER d: GO TO o
  200 GO SUB hdg: PRINT AT b,o;"Print or Display?": PRINT AT c,o;"Press (P) or (D)"
  201 IF INKEY$="p" THEN LET pf=e: GO SUB 47: GO TO 205
  202 IF INKEY$="d" THEN LET pf=d: GO TO 205
  203 GO TO 201
  205 PAPER s: CLS : LET l=d
  207 LET sfr=e: DEF FN a(x,y)=x-y+(y>x)*xx
  208 DEF FN d(x)=xx*(x/kk-INT (x/kk))
  209 GO TO 250
  210 LET hh=INT tz: LET n=INT (si*(tz-hh)): IF hh=d THEN LET hh=j
  212 IF Hh>=ti THEN LET hh=hh-j
  216 LET x$=i$(h*hh+e TO h*hh+h): IF dsf=e THEN LET dsfn=VAL x$+e: LET x$=STR$ dsfn: IF dsfn>j THEN LET dsfn=dsfn-j: LET x$=STR$ dsfn
  217 IF VAL x$<b AND dsf=e THEN LET x$="0"+x$
  218 LET x$=x$+":"+i$(h*n+e TO h*n+h): RETURN 
  220 LET tz=hh+12.5: IF tz<=ft THEN GO SUB t: LET f$(ss+(tz>=j))=x$: RETURN 
  222 LET tz=hh-12.4: IF tz>=d THEN GO SUB t: LET f$(ss+(tz>=j))=x$: RETURN 
  226 LET f$(ss+(hh<j))="-----": RETURN 
  230 LET ss=(fg*6.5709835e-2+22.55066429)/ft: LET ss=ft*(ss-INT ss)
  232 LET ss=ss-12.03288
  234 IF ss<d THEN LET ss=ss+ft
  236 LET l1=360*(ss/ft-INT (ss/ft))
  238 LET tz=(fg-72989.5)/36525
  239 LET ss=4.720009+8399.70927*tz
  240 LET hh=4.881628+628.331951*tz
  241 LET pp=5.8351516+71.018041*tz
  242 LET n=4.523602-33.7571463*tz
  243 LET ps=4.908229409+3.000255891e-2*tz
  244 LET ls=hh+0.034*SIN (hh-ps)
  245 LET lm=ss+0.11*SIN (ss-pp)+0.022*SIN (ss-h*hh+pp)+0.011*SIN (2*ss-2*hh)+0.004*SIN (h*ss-h*pp)
  246 LET rm=lm-0.043*SIN (h*lm)+0.019*SIN n-0.019*SIN (h*lm-n)
  248 LET m=FN d(rm): RETURN 
  250 LET m=mo: LET kk=h*PI: LET x$="-----"
  256 LET i$="00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960"
  258 LET tz=tim: LET l1=lon: LET ss=l1-tz*ff: LET lc=0.06667*ss
  266 PAPER pa: INK in: PRINT AT l,d;"FISHING TIMES": PAPER pa: PRINT AT l,19;"Long(W) ";lon
  267 GO SUB f: PRINT a$(mo*k-h TO mo*k);"-";yr;TAB b;"A.M.";TAB ft;"P.M.": IF dsf=e THEN PRINT AT l,p;"(DST)"
  268 GO SUB f: PRINT AT l,k;"MP": PAPER se: PRINT AT l,s;"Minor": PAPER sp: PRINT AT l,ti;"Major": PAPER se: PRINT AT l,g;"Minor": PAPER sp: PRINT AT l,27;"Major"
  269 OVER d: GO SUB f: IF df=d THEN GO TO 410
  270 LET m=mo: IF m<=h THEN LET fg=INT (30.6*(m+ti))+INT (365.25*(yr-e))-621048
  275 IF m>h THEN LET fg=INT (30.6*(m+e))+INT (365.25*yr)-621048
  280 IF fg>146097 THEN LET fg=fg-e
  285 IF fg<=73047 THEN LET fg=fg+(fg<=73047)+(fg<=36522)
  290 IF (m=sp)+(m=s)+(m=f)+(m=r) THEN LET dd=tt
  295 IF (m=e)+(m=k)+(m=fi)+(m=se)+(m=o)+(m=b)+(m=j) THEN LET dd=to
  300 IF m<>h THEN GO TO 310
  305 LET dd=28: IF (yr/4=INT (yr/4))*(yr/on<>INT (yr/on))+(yr/400=INT (yr/400)) THEN LET dd=29
  315 GO SUB 230: LET y=m: LET v=l1
  317 IF df=d THEN GO TO 321
  320 FOR z=e TO dd
  321 LET dy=fg-(se*INT (fg/se))+e: LET dt=1.25+0.23*COS (h*(lm-ls+0.1))
  325 LET fg=fg+e: GO SUB 230
  330 LET rr=15.0411-FN a(m,y)/ft
  335 LET t1=FN a(y,v)/rr-dt+lC
  340 LET t2=FN a(y-180+(180>y)*360,v)/rr-dt+lc
  345 LET t3=FN a(y-zz+(zz>y)*xx,v)/rr-dt+lc
  350 LET t4=FN a(y-yy+(yy>y)*xx,v)/rr-dt+lc
  355 LET tz=t1: IF tz>=d AND tz<=ft THEN GO SUB t: LET f$(e+(tz>=j))=x$: GO TO 365
  360 LET ss=e: LET hh=t2: GO SUB 220
  365 LET tz=t2: IF tz>=d AND tz<=ft THEN GO SUB t: LET f$(e+(tz>=j))=x$: GO TO 375
  370 LET ss=e: LET hh=t1: GO SUB 220
  375 LET tz=t3: IF tz>=d AND tz<=ft THEN GO SUB t: LET f$(k+(tz>=j))=x$: GO TO 385
  380 LET ss=k: LET hh=t4: GO SUB 220
  385 LET tz=t4: IF tz>=d AND tz<=ft THEN GO SUB t: LET f$(k+(tz>=j))=x$: GO TO 390
  386 LET ss=k: LET hh=t3: GO SUB 220
  390 IF df=d THEN LET da=sda: PAPER pa: PRINT AT l-e,k;"  ";AT l,e;da;TAB s;f$(k);"  ";f$(e);"  ";f$(sp);"  ";f$(h): LET mp=smp: RETURN 
  391 LET da=z: GO SUB 9563
  392 IF mp=e THEN PAPER se: INK d: PRINT AT l,sp;"F"
  393 IF mp=fi THEN PAPER d: INK se: PRINT AT l,sp;"N"
  394 IF mp=h THEN PAPER se: INK d: PRINT AT l,sp;"a"
  395 IF mp=k THEN PAPER se: INK d: PRINT AT l,sp;"b"
  396 IF mp=sp THEN PAPER se: INK d: PRINT AT l,sp;"c"
  397 PAPER pa: INK in: PRINT AT l,e;z: PAPER se: PRINT AT l,s;f$(k); PAPER pa;"  "; PAPER sp;f$(e); PAPER pa;"  "; PAPER se;f$(sp); PAPER pa;"  "; PAPER sp;f$(h): PAPER pa: IF pf=e THEN LET l=l+e: IF l>c THEN COPY : LET l=d: CLS : GO TO 399
  398 IF pf=d THEN LET l=l+e: IF l=g THEN GO SUB 440
  399 LET y=m: LET v=l1: NEXT z
  402 GO SUB lin: PAPER sp: LET l=l-e: PRINT AT l,h;"Major=2-3 hrs/Minor=1-2 hrs": PAPER pa: GO SUB lin
  403 PRINT "Tables accurate within 5 minutes",,
  404 PRINT TAB h;"F=Full moon";TAB et;"N=New Moon"
  406 IF pf=e THEN LET pf=d: COPY : GO TO start
  407 GO SUB 440: GO TO start
  410 IF m<=h THEN LET fg=INT (30.6*(m+ti))+INT (365.25*(yr-e))+da-621049
  420 IF m>h THEN LET fg=INT (30.6*(m+e))+INT (365.25*yr)+da-621049
  430 GO TO 280
  440 PRINT AT c,d;"    Press any key to continue   ": PAUSE d: CLS : LET l=d: RETURN 
  500 GO SUB hdg: LET l=d: LET pos=29: LET pos1=d: GO SUB tt: GO SUB o
  508 GO SUB lin: PAPER sp: PRINT AT l,o;"PROGRAM OPTIONS": PAPER pa: GO SUB f: GO SUB li
  520 PAPER pa: INK in: GO SUB f: PRINT TAB k;"1 Today's Prospects": GO SUB o: PRINT TAB k;"2 Select a Species": GO SUB o: PRINT TAB k;"3 Repost Conditions": GO SUB o: PRINT TAB k;"4 Fishing Times This Month"
  525 PAPER sp: GO SUB ok: PRINT AT c,d;"    Hold down desired number    ": PAPER pa
  530 FOR n=d TO 21
  600 IF INKEY$="1" THEN GO TO pro
  605 IF INKEY$="2" THEN GO TO 4600
  610 IF INKEY$="3" THEN GO TO 9035
  615 IF INKEY$="0" THEN GO TO 9998
  616 IF INKEY$="4" THEN LET df=e: GO TO 200
  619 PAPER pa: LET l=et: IF n=d THEN PRINT AT l,n;"klm";AT l+e,n;"nop": GO TO 621
  620 PRINT AT l,n-e;"    klm s s";AT l+e,n-e;"    nop  s s"
  622 IF n=b THEN PAUSE b
  624 NEXT n: PRINT AT l,n+h;"       ";AT l+e,n+h;"        ": PAUSE c
  650 GO TO 529
 3000 GO SUB 3200
 3010 FOR n=e TO 75
 3020 PRINT TAB h;n;TAB se;b$(n);TAB 27;a(n)
 3030 IF n=ff OR n=tt OR n=45 OR n=si OR n=75 THEN GO TO 3100
 3040 NEXT n
 3050 GO TO 9000
 3100 PRINT AT c,d;"  <N> Next Page <S> Select City "
 3110 IF INKEY$="n" THEN GO SUB 3200: GO TO 3040
 3120 IF INKEY$="s" THEN GO TO 3150
 3130 GO TO 3110
 3150 GO SUB ip: IF n>=e AND n<=75 THEN GO TO 3160
 3155 GO SUB ng: GO TO 3150
 3160 LET lon=a(n): GO TO 9071
 3200 GO SUB hdg: GO SUB f: PRINT "Number City": RETURN 
 4010 LET mp=smp: LET df=d: GO SUB hdg: LET tp=d: LET fc=d: PAPER sp: PRINT AT l,se;"Today's  Prospects": PAPER pa: GO SUB f
 4060 PAPER sp: INK d: PRINT AT l,d;"CONDITION";TAB 25;"OUTLOOK": GO SUB lin: PAPER pa: INK in: LET l=l-e
 4105 LET n=ws-e: IF n=d THEN LET n=h
 4120 PRINT AT l,d;"WIND SPEED ";y$(WS);" mph";TAB tw;K$(n): GO SUB k
 4140 LET n=wd: IF n>sp AND n<o THEN LET N=e: GO TO 4180
 4150 IF n>d AND n<sp THEN LET N=k: GO TO 4180
 4160 LET n=h
 4180 PRINT AT l,d;"WIND DIR ";TAB r;G$(WD);TAB tw;K$(N): GO SUB k
 4200 LET n=ba
 4204 IF n>=k THEN LET N=k
 4205 IF ba<k THEN LET n=e: GO TO 4210
 4206 IF ba>k THEN LET n=k: GO TO 4210
 4208 LET n=h
 4210 PRINT AT l,d;"BAROMETER ";TAB r;j$(ba);TAB tw;k$(n): GO SUB k
 4219 IF wc=d THEN LET t=t+h: GO TO 4240
 4220 LET n=wc
 4226 IF N>=k THEN LET N=k
 4230 PRINT AT l,d;"WATER";TAB r;M$(WC);TAB tw;K$(N): GO SUB k
 4240 IF sky=e THEN LET n=k: GO TO 4264
 4242 IF sky=k OR sky=sp THEN LET n=e: GO TO 4264
 4244 LET n=h
 4264 PRINT AT l,d;"SKY ";TAB r;N$(SKY);TAB tw;K$(N): GO SUB k
 4265 IF mp=sp THEN LET n=k: GO TO 4267
 4266 LET n=mp: IF mp=fi THEN LET n=d
 4267 PRINT AT l,d;"MOON PHASE ";TAB r;U$(MP);
 4268 IF n<>d THEN PRINT TAB tw;k$(n): GO TO 4270
 4269 PRINT AT l,23;"EXCELLENT"
 4270 GO SUB k: IF te>si AND te<=75 THEN LET n=e: GO TO 4274
 4272 IF te>=40 AND te<=si THEN LET n=h: GO TO 4274
 4273 LET n=k
 4274 PRINT AT l,d;"WATER TEMP";TAB r;te;TAB tw;k$(n): GO SUB k
 4275 IF tf<k THEN LET n=e: GO TO 4280
 4276 IF tf>k THEN LET n=k: GO TO 4280
 4277 LET n=h
 4280 PRINT "TEMP TREND";TAB r;j$(tf);TAB tw;k$(n): GO SUB k
 4300 GO SUB 8000
 4370 IF tp<ti THEN LET n=e: GO TO 4400
 4380 IF tp<nn THEN LET n=h: GO TO 4400
 4390 LET n=k
 4400 LET l=j: PAPER sp: PRINT AT l,d;"OVERALL PROSPECTS";TAB tw;K$(n): LET l=l-e: LET pa=sp: GO SUB li: LET pa=s: LET l=l-e
 4410 LET z=da: LET df=d: PRINT AT l+sp,sp;"Calculating Solunar Time": GO SUB 207
 4415 LET pos=29: GO SUB lin: LET l=l-h: GO SUB f: GO SUB tt: PAPER sp: GO SUB 8300+per
 4420 IF sdf=e THEN LET sdf=d: PAPER s: FLASH e: PRINT AT g,j;"LOADING": FLASH d: RETURN 
 4432 GO SUB 41
 4434 IF per=b THEN GO TO start
 4440 GO SUB hdg: PAPER sp: PRINT AT l,s;"General Tips for Today": GO SUB li
 4441 PRINT "Use ";v$(wc);" baits today": GO SUB li
 4442 IF mp=fi THEN PAPER pa: PRINT "Conditions are right for one of the best fishing days in ";yr;"!": GO SUB ln
 4443 GO SUB 8312
 4450 GO SUB yn
 4500 LET sf=e: FOR i=e TO k: GO TO 4660
 4600 IF per=b THEN GO SUB hdg: LET l=f: GO SUB li: PRINT "Ice fishing time! Refer to the": GO SUB f: PRINT "Fishing Tables for best times!": GO SUB li: GO SUB 41: GO TO start
 4610 GO SUB HDG: GO SUB f: GO SUB ok
 4615 PRINT ;"What do you wish to fish for?": LET l=sp: GO SUB o
 4620 FOR N=e TO k
 4630 PRINT TAB sp;N;TAB b;H$(N): GO SUB o
 4635 NEXT N
 4650 GO SUB j
 4651 LET i=n
 4652 IF I<e OR I>k THEN GO SUB ng: GO TO 4650
 4660 GO SUB hdg: PAPER sp: PRINT AT l,h;"Fishing for ";h$(i);" today!": GO SUB li
 4685 PAPER sp: PRINT AT l,h;"Preferred water temp is "; Q(I): GO SUB li: PRINT AT l,h;;"Surface temperature today ";te: GO SUB li
 4720 IF i=e THEN GO SUB 4800
 4730 IF i=h THEN GO SUB 4850
 4740 IF i=k THEN GO SUB 4900
 4760 GO SUB yn
 4765 IF sf=e THEN NEXT i: GO SUB 4950: LET sf=d
 4772 GO TO start
 4805 PRINT l$;" 6.8 to 7.5": GO SUB li: GO SUB 7000+per
 4810 IF mo=se THEN PRINT "Try inside edge of weedbed that meets rocky shoreline for nite  feeding Walleye!": GO SUB o: GO SUB li
 4815 IF per=fi THEN PRINT "Walleye @ 5-20 feet...use large leaches or crawlers!": GO SUB f: GO SUB li
 4816 IF te>=70 AND te<=80 THEN PRINT "Walleye will be @ 20-35' & will be feeding more in evenings!": GO SUB ln
 4817 IF te>80 THEN PRINT "Surf temp too high! Fish between 30-50' in daytime or at nite!": GO SUB ln
 4820 IF sky>=sp THEN GO SUB tt: PAPER sp: PRINT "Low light day...walleye ": GO SUB f: PRINT AT l,sp;"will be feeding shallow ": GO SUB li
 4821 PRINT "Try slow troll w/weighted Rapala@ 15-30' over deep structure!": GO SUB f: GO SUB li
 4822 GO SUB tt: PAPER sp: PRINT "Live bait worked slowly ": GO SUB f: PRINT AT l,sp;"   best for Walleye!   ": GO SUB li
 4823 IF mo=sp OR per=e THEN PRINT "Spring walleye will hit a 1/2oz Heddon Sonar jigged(middle hole)w/small snap!": GO SUB o: GO SUB li
 4844 IF te>78 THEN PRINT "Bass will be seeking water that is 67 degrees, even if it is 20 to 40 feet deep!": GO SUB f: GO SUB ln
 4849 GO TO yn
 4855 PRINT l$;" 6.5 to 7.3": GO SUB li: GO SUB 7010+per
 4860 PRINT "Troll dropoffs near shore w/baitas close to bottom as possible!": GO SUB f: GO SUB li: PRINT "Use 5-6 inch jointed plugs or   Heddon Super Sonics.": GO SUB f: GO SUB li
 4865 IF tf<=h AND mo>=se AND mo<=f THEN PRINT "Northerns will hit surface luresover weedbeds @ sunrise!": GO SUB f: GO SUB li: PRINT "Use live/dead bait in cold waterpockets or cool, muddy flats.": GO SUB f: GO SUB li: PRINT "Try tipping jig w/5 inch minnow & drag slowly over bottom.": GO SUB f: GO SUB li
 4866 IF te>80 THEN PRINT "Northerns will be 15-40' deep inareas nearest weed beds!": GO SUB ln
 4870 PRINT "When Northern follows bait w/o  striking use a tandem spinner!": GO SUB f: GO SUB li
 4875 IF mo<s AND per<>b AND per<>e THEN PRINT "Check shallow bays/rocky points & reedy areas today.": GO SUB f: GO SUB li
 4880 IF per=h OR per=k THEN PRINT "Large sucker minnows best this  time of year!": GO SUB f: GO SUB li
 4885 IF per=s THEN GO SUB tt: PAPER sp: PRINT "Northerns will be near": GO SUB f: PRINT AT l,sp;"the cold water spots! ": GO SUB li
 4899 GO TO yn
 4900 PRINT l$;" 7.0 to 8.5": GO SUB li
 4905 IF te>76 THEN PRINT "Water too warm for daytime bass fishing! Late night much better!": GO SUB ln
 4906 IF mp=e THEN GO SUB tt: PAPER sp: PRINT "Bass are more active just": GO SUB f: PRINT AT l,sp;"before & after full moon!": GO SUB li
 4907 IF l>p THEN GO SUB yn
 4908 IF ws>=k THEN PRINT "Bass will feed over shallow     reefs @ sunset and they will    almost always face the current! So cast shallow-running lures   INTO the wind!": GO SUB o: GO SUB ln
 4909 IF l>p THEN GO SUB yn
 4911 IF mo=se OR mo=o AND wc=k AND ws<=h THEN PRINT "Daytime bass probably suspended @ 12-25'! Find deepest spot nearstructure...use 3/8 oz jig and  #11 pork frog...long casts!": GO SUB o: GO SUB ln 
 4913 PRINT "Bass make their shallow water   movement in the evening!": GO SUB ln
 4914 IF l>p THEN GO SUB yn
 4916 IF wc=k THEN PRINT "Consider nite fishing! If you   know the lake try reefs using   3/8 oz single spinners!": GO SUB f: GO SUB ln: PRINT "Fish dark lures on bright nites and bright lures on dark nites": GO SUB ln: IF l>p THEN GO SUB yn
 4917 IF tf=sp AND mo>fi AND mo<f THEN PRINT "Most summer cold fronts do NOT  change bass behavior!": GO SUB ln: IF wc=k THEN PRINT "The clear water makes this lake more succeptable! Concentrate ongood, shady cover areas.": GO SUB ln
 4918 IF l>et THEN GO SUB yn
 4919 PRINT "Bass like to trap prey against  something. Fish plugs near logs,rocks, etc.": GO SUB f: GO SUB ln
 4920 PRINT "Dead-heads near weed-beds will  attract bass!": GO SUB ln
 4921 IF l>p THEN GO SUB yn
 4922 PRINT "Find the riprap (rocky rubble)  near deep water and there will  bass nearby!": GO SUB f: GO SUB ln
 4925 PAPER sp: PRINT "The closer your bait resembles  crawfish the better the chances!": PAPER pa: GO SUB ln
 4929 IF per<=k AND te<hdg THEN PRINT "Try shoreline structure wheneverbright sunshine warms shallower water! Small crankbaits are best": GO SUB o: GO SUB li
 4930 IF l>p THEN GO SUB yn
 4931 IF mo>=sp AND mo<=fi AND te>yn THEN PRINT "Spring bass hit floating Rebel  or Rapala baits! Use long casts toward shore...twitch rod tip. Gold baits w/black backs!": GO SUB o: GO SUB ln
 4932 IF l>p THEN GO SUB yn
 4933 PRINT "If bass are schooling in shallowwater they're probably small!   But if they're surfacing near a ledge the bigger bass will be   holding somewhere on dropoff!": GO SUB o: GO SUB f: GO SUB ln
 4934 IF l>et THEN GO SUB yn
 4935 GO SUB tt: PAPER sp: PRINT "For trophy bass the bait": GO SUB f: PRINT AT l,sp;"must be worked slowly!  ": GO SUB li
 4940 IF sky<h AND per>=k AND per<fi AND te<hdg THEN PRINT "Try calm, shallower arear": GO SUB li
 4942 IF mp=e AND sky<k AND tf<h AND ws<k AND mo>s AND mo<f THEN GO SUB 8472
 4949 GO TO yn
 4950 PAPER sp: PRINT AT l,o;"ARTIFICIAL WORMS": GO SUB li
 4951 PRINT "Black is an all-purpose color": GO SUB f: PRINT "Can't go wrong...day or night!": GO SUB li
 4953 IF wc=k THEN PRINT "Try yellowish colors, lemon or": GO SUB f: PRINT "apple today": GO SUB li
 4954 IF wc=h THEN PRINT "Try blue worms today!": GO SUB li
 4955 IF wc=e THEN PRINT "Try strawberry or blackberry": GO SUB f: PRINT "today!": GO SUB li
 4956 PRINT "Use lightest line possible when fishing shallow water w/worms": GO SUB ln
 4957 PRINT "Coordinate worm size and hook": GO SUB f: PRINT "size, i.e., 4 inch worm w/2 hook": GO SUB f: PRINT "6-inch w/#1 hook, 7-inch w/#1/0!": GO SUB li
 4959 GO SUB yn
 4960 PAPER sp: PRINT AT l,o;"Spinnerbait Tips": GO SUB li
 4961 PRINT "1/4 oz spinner w/#4 nickle blade": GO SUB f: PRINT "w/flash is best for buzzing!": GO SUB li
 4962 PRINT "Use 3/16 oz in shallow water": GO SUB li
 4963 PRINT "Use 1/2 & 1 oz in deeper water!": GO SUB li
 4965 PRINT "Blade should whirl just above": GO SUB f: PRINT "hook point w/o touching it!": GO SUB li
 4966 PRINT "Try using #6-#8 Hildebrandt": GO SUB f: PRINT "blade with 3/8-5/8 oz leadhead!": GO SUB f: PRINT "Willow-leaf blade is the key."
 4969 GO SUB yn
 4970 PAPER sp: PRINT AT l,o;"CRANK BAITS": GO SUB li
 4975 PRINT "Use stop & go retrieve. Stop the": GO SUB f: PRINT "lure just as it reaches an ob-": GO SUB f: PRINT "struction or bumps something!": GO SUB f: PRINT "Pause...then a fast retrieve!": GO SUB li
 4980 PRINT "Try to make your bait crawl the": GO SUB f: PRINT "bottom!": GO SUB li
 4985 PRINT "Try small-size, deep-dive baits": GO SUB f: PRINT "parallel to a ditch. Fish lure": GO SUB f: PRINT "up the sides!": GO SUB li
 4999 GO SUB yn: RETURN 
 7001 PRINT "Pre-spawn walleyes will be @ 10'during day and shallow @ nite!": GO SUB ln: PRINT "Try anchoring and casting since they're easily spooked!": GO TO ln
 7002 PRINT "Avoid fishing during this period": GO TO li
 7003 PRINT "Post-spawn walleye will be in   warmest water near spawn areas!": GO TO ln
 7004 RETURN 
 7005 PRINT "Fish steep-breaking main lake   areas where ciscoes are found!": GO TO ln
 7006 PRINT "Try rocky shoreline near inside edge of lg weed-beds in evening.": GO TO ln
 7007 PRINT "Walleye actively moving from onefeeding area to another!": GO TO ln
 7008 PRINT "Try deep-water points and sunkenislands at this time of year!": GO TO ln
 7009 PRINT "Troll the shallows w/Rebel or   Rapala 30-40 yds behind boat!": GO TO ln
 7010 PRINT "Walleye continue to feed during winter months.": GO TO ln
 7011 PRINT "Calm, sunny days produce best   fishing during last hours of day": GO TO ln
 7012 GO TO 7002
 7013 PRINT "Males remain near spawning area Slow bait presentations only!": GO TO ln
 7014 PRINT "Daredevel spoons fished in calm weedy bays best in this period!": GO TO ln
 7015 PRINT "Try back-trolling jigs tipped   w/minnows @ 15' level near weeds": GO TO ln
 7016 PRINT "Troll 5 inch Rapalas or Rebels  keeping lure in cold water zone": GO TO ln
 7017 PRINT "Troll weedy flats w/straight    spinner baits.": GO TO ln
 7018 PRINT "Northerns inactive at this time!": GO TO ln
 7019 PRINT "Try jigs tipped w/chub minnows  along weed beds.": GO TO ln
 7020 PRINT "Pike continue to feed during thewinter.": GO TO ln
 8000 IF te<=tt THEN LET per=b: GO TO pr
 8010 IF mo<=k AND te>tt THEN LET per=e: GO TO pr
 8020 IF mo<=fi AND te>hdg THEN LET per=h: GO TO pr
 8030 IF mo=s AND te>=57 THEN LET per=k: GO TO pr
 8040 IF mo=fi OR mo=s AND te>=51 THEN LET per=sp: GO TO pr
 8045 IF mo=s OR mo=se AND te>=57 THEN LET per=fi: GO TO pr
 8046 IF mo>=s AND mo<=o AND te>=63 THEN LET per=s: GO TO pr
 8050 IF mo>=o AND te>=63 THEN LET per=se: GO TO pr
 8060 IF mo=f OR mo=b AND te<=hdg THEN LET per=o: GO TO pr
 8065 IF mo>=b AND te>=32 THEN LET per=f: GO TO pr
 8070 IF mo>=b THEN LET per=b: GO TO pr
 8080 LET per=mo: IF per>b THEN LET per=b
 8200 IF per=e OR per=k OR per=se OR per>o THEN LET n=h: GO TO 8220
 8205 IF per=h OR per=o THEN LET n=k: GO TO 8220
 8210 LET n=e
 8230 PRINT "PERIOD";TAB r;s$(per);TAB tw;k$(n): LET l=l-e: GO SUB k: GO TO lin
 8301 PRINT "Moving from winter areas": GO SUB f: PRINT AT l,sp;"   to spawning areas!   ": RETURN 
 8302 PRINT "Fish not active/feeding!": RETURN 
 8303 PRINT "Spasmotic fishing! Males": GO SUB f: PRINT AT l,sp;"occasionally aggressive!": RETURN 
 8304 PRINT "Fish scattered.Good time": GO SUB f: PRINT AT l,sp;"to try night fishing!   ": RETURN 
 8305 PRINT "Fish feeding/schooling! ": GO SUB f: PRINT AT l,sp;"  Best period to fish   ": RETURN 
 8306 PRINT "Fish reacting quickly to": GO SUB f: PRINT AT l,sp;"weather changes now!    ": RETURN 
 8307 PRINT "Fish starting to move to": GO SUB f: PRINT AT l,sp;"weed-beds w/occ feeding!": RETURN 
 8308 PRINT "Fishing usually bad this": GO SUB f: PRINT AT l,sp;"period. Fish shallow!   ": RETURN 
 8309 PRINT "Crank baits OK but use  ": GO SUB f: PRINT AT l,sp;"slow jigs as water cools": RETURN 
 8310 PRINT "Fish activity very slow!": RETURN 
 8312 IF te>tx AND ws=E AND sky<k THEN PRINT "Deep fishing or surface lures   over weed-beds or cover today.": GO SUB ln: PRINT "Make casts into the sun today!": GO SUB li: IF tf=e THEN PRINT "Try weedbeds & reefs @ sunset   or sunrise": GO SUB ln: IF mo>s AND mo<f THEN PRINT "Weed beds might have the oxygen needed by larger fish!": GO SUB ln
 8313 IF l>p THEN GO SUB yn
 8314 IF ws=e THEN GO SUB tt: PAPER sp: PRINT "Calm days=quiet boating!": GO SUB f: PRINT AT l,sp;"Surf lures/shallow wtr! ": PAPER pa: GO TO li
 8315 IF ws>=k THEN PRINT "Brisk winds w/cause bait fish tomigrate toward windward shores!": GO SUB ln
 8316 IF te<hdg OR tf>k OR ba>h THEN PRINT "Don't overlook jig fishing when conditions are not too good!": GO SUB ln: GO SUB tt: PAPER sp: PRINT "  Best jig retrieve is  ": GO SUB f: PRINT AT l,sp;"VERY SLOW w/freq pauses!": GO SUB li: IF l>r THEN GO SUB yn
 8317 IF wc=k THEN PRINT "Live bait fished deep is best   when water is clear!": GO SUB ln
 8318 IF l>=et THEN GO SUB yn
 8319 GO SUB tt: PAPER sp: PRINT "Best trolling area is   ": GO SUB f: PRINT AT l,sp;"where THERMOCLINE meets ": GO SUB f: PRINT AT l,sp;"the bottom of the lake! ": GO SUB li
 8320 PRINT "Chk bays w/lt weed growth when  wind in that direction.": GO SUB ln
 8325 IF ws>k THEN GO SUB tt: PAPER sp: PRINT "**Open water dangerous**": GO SUB f: PRINT AT l,sp;"Breaklines will be good!": PAPER pa: GO SUB li
 8326 PRINT "Try Heddon Super Sonics on ripp-raff wndwd shorelines.": GO SUB ln
 8359 IF tf>=k THEN PRINT "Larger fish will suspend today. Smaller fish will be active latein day @ points!": GO SUB o: GO SUB li
 8360 IF mo>=s AND mo<=f AND ws>=k THEN GO SUB tt: PAPER sp: PRINT "Possible storm! Fish will": GO SUB f: PRINT AT l,sp;"bite til thunder starts! ": GO SUB li: PRINT "Wind-shift after storm triggers fish to feed over reefs!": GO SUB ln
 8436 IF tf>=k THEN GO SUB tt: PAPER sp: PRINT "Cold Front!Try weed beds": GO SUB f: PRINT AT l,sp;"w/lt line, small lures &": GO SUB f: PRINT "fish the bottom.Live bait fishedslowly is always best!": GO SUB ln: PRINT "Sudden rise in temperature will start fish feeding again!": GO SUB ln
 8437 IF tf=e AND mo=se OR mo=o AND ws=e THEN PRINT "Bait fish shallow. Low oxygen   level under 15'.": GO SUB ln
 8438 IF tf>=k AND sky=e AND ws=e THEN PRINT "Better odds from dusk to dawn!  Day-time fishing means live bait": GO SUB ln
 8439 IF tf<=h THEN PRINT "The hour after sunset will be a very productive period!": GO SUB ln
 8452 IF sky>=k THEN PRINT "Low light today! Fish will feed shallower.": GO SUB ln
 8460 IF sky=fi AND te>tx THEN PRINT "Troll shorelines when rain stops": GO SUB li
 8461 IF sky<k THEN PRINT "Clear sky means fish deep!": GO SUB li
 8462 IF sky<k AND wc=k AND ws<k THEN PRINT "Conditions difficult today!     Better chances after dusk!": GO SUB ln
 8471 IF mp=fi THEN GO SUB tt: PAPER sp: PRINT "NEW MOON 70% of trophy  ": GO SUB f: PRINT AT l,sp;"fish are caught w/i 3   ": GO SUB f: PRINT AT l,sp;"days of this moon phase!": PAPER pa: GO SUB li
 8472 IF mp=e AND sky<k AND tf<h AND ws<k AND mo>s AND mo<f THEN PRINT "Tonite will make for some great bass fishing! Wait for the moon to come out and get your limit!": GO SUB o: GO SUB li
 8480 IF l>et THEN GO SUB yn
 8481 IF te>hdg AND per=k OR per=sp AND tf<=h THEN PRINT "Find lg reef w/wtr temp 60-63 & cast crank baits @ sunset!": GO SUB ln
 8482 IF per=e OR per=k OR per>=o THEN PRINT "Live bait will produce better   than artificials in this period!": GO SUB ln
 8483 IF l>et THEN GO SUB yn
 8484 IF per=se THEN PRINT "Try sinking vibrator baits in   creek mouths or isolated timber!Bass feeding on shad this per!": GO SUB o: GO SUB li
 8511 IF mo<=s THEN PRINT "Fish still near spawning areas!": GO SUB li: IF per=sp THEN PRINT "Try small Rapalas over tops of  weed-beds in spawning bays.": GO SUB ln
 8512 IF per=sp AND tf<=h THEN PRINT "Pre-summer warm period. Try all structure near deep holes.": GO SUB ln
 8515 IF per=fi THEN GO SUB tt: PAPER sp: PRINT " SUMMER PEAK! Excellent ": GO SUB f: PRINT AT l,sp;" fishing for 1-3 weeks! ": GO SUB li
 8999 RETURN 
 9000 LOAD "fishlo.C1"CODE : POKE 23658,0: POKE 23609,b: REM sys v PIP
 9001 DIM f$(o,fi): PAPER pa: INK in: CLS : GO SUB ok: FOR n=d TO to: PRINT AT d,n;"*";AT c,n;"*": NEXT n: FOR n=d TO c: PRINT AT n,d;"*";AT n,to;"*": NEXT n
 9002 LET pos=29: LET pos1=d: LET l=d: GO SUB tt
 9003 LET l=g: GO SUB tt
 9005 PRINT AT sp,fi;"Budget Software Presents!"
 9010 PAPER sp: PRINT AT s,o;"  Fish  Locator  "
 9011 PRINT AT se,o;"      * 1985     "
 9020 GO SUB ok: PRINT AT o,o;"    J H Payne    "
 9021 PAPER sp: PRINT AT g,fi;"Press Any Key To Start": PAPER pa
 9022 FOR n=e TO j
 9023 IF INKEY$<>"" THEN GO TO 9035
 9024 PAPER pa: LET l=fo: PRINT AT l,n;"   klm s s";AT l+e,n;"   nop  s s": NEXT n
 9025 IF INKEY$<>"" THEN GO TO 9035
 9026 FOR n=fi TO j: PAUSE c: PRINT AT n,29;"j ";AT n+e,29;"qr": NEXT n: PAUSE si: FOR l=15 TO 26: PRINT AT n,l;" nop ";AT n-e,l;" klm";AT n+e,l;"  s s";AT n+h,l;"  s s": NEXT l
 9027 BEEP .05,-10: BEEP .05,-20: BEEP .05,-30: IF INKEY$<>"" THEN GO TO 9035
 9028 LET l=14: PRINT AT l,27;"    ";AT l+e,27;"    ": FOR x=12 TO 5 STEP -1: PRINT AT x,27;"klm";AT x+e,27;"nop";AT x+h,27;"    ": PAUSE c: NEXT x: PAUSE si: PRINT AT fi,27;"   ";AT s,27;"   ": PAUSE yy
 9034 GO TO 9022
 9035 GO SUB hdg
 9040 LET l=b: PRINT AT l,k;"Programmed Longitude ";lon: GO SUB o
 9050 PRINT AT l,fi;"Insert new longitude?": PRINT AT nn,o;"Press <Y> or <N>"
 9055 IF INKEY$="n" AND lon THEN GO TO 9076
 9056 IF INKEY$="y" THEN GO TO 9062
 9061 GO TO 9052
 9062 CLS : GO SUB ok: PRINT AT b,d;"Do you want computer directory?"
 9063 PRINT ,,,,TAB b;"Press Y or N"
 9064 IF INKEY$="y" THEN GO TO 3000
 9065 IF INKEY$="n" THEN GO TO 9068
 9066 GO TO 9064
 9068 LET l=b: CLS : GO SUB ok: PRINT AT b,d;"New longitude is:": GO SUB ip: LET lon=n: PAUSE on
 9069 IF lon>70 AND lon<140 THEN GO TO 9071
 9070 GO SUB ng: PRINT AT b,d;"Number must be between 70.0 and 135.0": PRINT : PRINT "The computer inserts the decimal": PAUSE yy: GO TO 9068
 9071 IF lon<75 THEN LET tim=sp: GO TO 9079
 9072 IF lon>=75 AND lon<90 THEN LET tim=fi: GO TO 9079
 9073 IF lon>=90 AND lon<105 THEN LET tim=s: GO TO 9079
 9074 IF lon>=105 AND lon<120 THEN LET tim=se: GO TO 9079
 9075 LET tim=o
 9079 GO SUB hdg: LET bf=d: PRINT AT b,d;"Type month (MM)": LET l=b: GO SUB IP: LET Mo=n: IF mo<e OR mo>j THEN GO SUB ng: GO TO 9076
 9080 PAPER sp: GO SUB ok: GO SUB f: PRINT "Type day (DD)": GO SUB ip: LET da=n: LET sda=da
 9081 IF mo=h AND da<tt THEN GO TO 9085
 9082 IF mo=sp OR mo=s OR mo=f OR mo=r AND da<to THEN GO TO 9085
 9083 IF da<=to THEN GO TO 9085
 9084 GO SUB ng: GO TO 9080
 9085 PAPER sp: GO SUB ok: GO SUB f: PRINT "Type year (YY)": GO SUB ip: LET yr=n
 9086 IF yr<on THEN GO TO 9088
 9087 GO SUB ng: GO TO 9085
 9088 LET yr=yr+1900
 9090 IF mo<fi OR mo>b THEN LET dsf=d: GO TO con
 9091 GO SUB hdg: PRINT AT b,d;"Daylight savings time in effect?": PRINT AT g,f;"Press Y or N": GO SUB ok
 9092 IF INKEY$="y" THEN LET dsf=e: GO TO con
 9093 IF INKEY$="n" THEN LET dsf=d: GO TO con
 9094 GO TO 9092
 9102 PAPER sp: PRINT AT c,d;"  Type number and press ENTER   ": PAPER pa: INPUT LINE o$: IF o$="" THEN GO SUB ng: GO TO ip
 9115 FOR N=e TO LEN O$
 9120 IF CODE O$(n)>57 THEN GO SUB ng: GO TO ip
 9125 NEXT n
 9126 LET N=VAL O$: PRINT AT l,tw;n: RETURN 
 9150 BEEP 1,-5: PRINT AT c,d;" Error in input/please re-enter ": PAUSE si: RETURN 
 9200: BEEP e,-5:: GO TO start
 9300 LET sfr=d: LET f$(e)="": GO SUB hdg: LET l=e: PAPER sp: GO SUB f: PRINT "FISHING FACTORS TODAY": GO SUB o
 9305 PRINT "Wind speed (MPH) is:"
 9310 FOR n=e TO sp: GO SUB o: PRINT TAB h;n;TAB o;y$(n): NEXT n: GO SUB j: LET ws=n: IF n=d OR n>sp THEN GO SUB ng: GO TO 9300
 9325 GO SUB hdg: GO SUB f: PAPER sp: PRINT "Wind Direction:": GO SUB o: FOR n=e TO o: PRINT AT l,k;N;TAB o;G$(N): GO SUB f: NEXT n: GO SUB j: LET wd=n: IF n=d OR n>o THEN GO SUB ng: GO TO 9320
 9340 GO SUB hdg: GO SUB o: PRINT "Temperature Trends:": FOR n=e TO fi: GO SUB o: PRINT n;TAB s;j$(n): NEXT n: GO SUB j: LET tf=n: IF n=d OR n>fi THEN GO SUB ng: GO TO 9340
 9380 GO SUB hdg: GO SUB o: PRINT "Water surface temp:": GO SUB ip: LET te=INT n: PAUSE si: IF n>on THEN GO SUB ng: GO TO 9380
 9480 GO SUB hdg: GO SUB o: PRINT AT l,d;"Current Barometric Trends:": GO SUB o: FOR n=e TO fi: PRINT n;TAB s;j$(n): GO SUB o: NEXT n: GO SUB j: LET ba=n: IF n=d OR n>fi THEN GO SUB ng: GO TO 9480
 9515 GO SUB hdg: LET l=k: PRINT AT l,d;"CURRENT WEATHER CONDITIONS"
 9516 GO SUB o: FOR n=e TO fi: PRINT AT l,k;n;TAB o;n$(n): GO SUB o: NEXT n: GO SUB j: LET sky=n: IF n=d OR n>=s THEN GO SUB ng: GO TO 9515
 9520 GO SUB hdg: LET l=k: PRINT AT l,d;"WATER CLARITY:"
 9521 FOR n=e TO k: GO SUB o: PRINT AT l,k;N;TAB o;M$(N): NEXT n: GO SUB j: LET wc=n: IF n=d OR n>k THEN GO SUB ng: GO TO 9520
 9563 LET savyr=yr: LET mon=mo: IF mo<k THEN LET mon=mon+j: LET yr=yr-e
 9564 LET n=INT (365.25*yr)+INT (30.6*(mon+e))+da-694038
 9565 LET n=n/36525
 9566 LET la=350.737486+1236*n*xx
 9567 LET la=la+307*n+s*n/si
 9568 LET la=la+51.18*tt/3600-5.17*n*n/3600
 9569 LET la=la-INT (la/xx)*xx
 9570 LET la=INT (la+.5)
 9571 IF la>=350 OR la<b THEN LET mp=fi: GO TO 9597
 9572 IF la>=170 AND la<=190 THEN LET mp=e: GO TO am
 9573 IF la>=b AND la<170 THEN LET mp=h: GO TO am
 9579 IF la>=191 AND la<=350 THEN LET mp=sp: GO TO am
 9582 LET mp=k
 9597 LET yr=savyr: IF sfr=e THEN RETURN 
 9598 LET smp=mp: GO TO pro
 9600 LET r1=INT (RND*ff)+e: LET r2=INT (RND*ff)+e: LET r3=INT (RND*ff)+e
 9601 BEEP .05,r1: BEEP .05,r2: BEEP .05,r3: RETURN 
 9997 REM : CLS : PRINT AT PI*PI,PI*PI; INK 0;"Stand-by !": PAPER s: INK s: RESTORE 9997: FOR u=65368 TO 65535: READ uu: POKE u,uu: NEXT u: GO TO 9e3: DATA 64,68,72,80,42,74,15,2,64,68,72,80,46,66,4,15,224,34,100,40,250,42,79,2,1,3,15,31,63,127,255,127,163,247,255,255,255,255,255,255,192,128,7,15,30,60,252,248,255,127,63,31,15,7,1,0,255,255,255,255,255,15,135,0,248,248,248,60,28,140,6,3,16,16,16,16,16,16,16,16,3,1,224,240,120,60,30,31,195,231,255,255,255,255,255,255,192,224,240,248,252,254,255,254,15,15,31,62,60,124,120,224,255,255,255,255,225,225,193,0,252,255,254,252,248,240,224,192,16,16,16,16,145,82,52,24,0,0,0,192,32,17,10,4,0,128,72,126,127,132,0,0,0,254,16,16,16,16,16,0,0,66,66,66,66,66,60,0
 9998: CLS : PAUSE d: PRINT AT b,d;"Bytes Remaining ";15;"K": INPUT "Longitude";lon: LET lon=lon*.1: INPUT "Time Zone";tim: LET sdf=e: GO SUB pro: PAPER e: INK s: PRINT AT d,d;"FISHLOCATR * 1985 by BudgetSoft ": GO SUB 9601: SAVE "Fishlocatr" LINE 9997: GO SUB 9601: SAVE "UDG FOR fish"CODE 65368,168: VERIFY "Fishlocatr": PRINT "Good Save": PAUSE d: GO TO 9998
 9999 SAVE "fishlo.B1" LINE 9000: SAVE "fishlo.C1"CODE 65368,168

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