--- title: "The Handicapper (Harness)" id: 72612 type: "computer_media" slug: "the-handicapper-harness" url: "http://localhost/computer_media/the-handicapper-harness/" markdown_url: "http://localhost/computer_media/the-handicapper-harness.md" published_at: "2026-10-26T23:19:36+00:00" modified_at: "2026-10-26T23:19:36+00:00" author: "David Anderson" featured_image: url: "http://localhost/wp-content/uploads/2026/10/handic-1.png" excerpt: "Rates a field of harness horses from figures in the track program, then suggests daily-double, perfecta and trifecta combinations and estimates payoffs for any wager." post_tag: - name: "Downloadable" slug: "downloadable" taxonomy: "post_tag" url: "http://localhost/tag/downloadable/" - name: "Knighted Computers" slug: "knighted-computers" taxonomy: "post_tag" url: "http://localhost/tag/knighted-computers/" - 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: "Leonard Hyre" slug: "leonard-hyre" taxonomy: "indiv" url: "http://localhost/indiv/leonard-hyre/" genre: - name: "Gambling" slug: "gambling" taxonomy: "genre" url: "http://localhost/type/gambling/" media_type: "Program" programmers: - name: "Leonard Hyre" slug: "leonard-hyre" taxonomy: "indiv" url: "http://localhost/indiv/leonard-hyre/" download_url: "https://archive.org/download/timex-sinclair-software-archive/The%20Handicapper%20-%20Harness%20%281984%29%28Hyre%2C%20Leonard%29%28TS2068%29%28US%29%28Program%29.zip" tsrun_member: "The Handicapper - Harness (1984)(Hyre, Leonard)(TS2068)(US)(Program)/The Handicapper - Harness (1984)(Hyre, Leonard)(TS2068)(US)(Program).tap" mediadate: "1984" producer_company: - id: 11024 title: "Knighted Computers" type: "company" url: "http://localhost/company/knighted-computers/" images: - url: "http://localhost/wp-content/uploads/2026/10/handic-1.png" - url: "http://localhost/wp-content/uploads/2026/10/handicw-5.png" - url: "http://localhost/wp-content/uploads/2026/10/handicw-6.png" - url: "http://localhost/wp-content/uploads/2026/10/handic-3.png" related_products: - id: 37149 title: "The Handicapper" type: "product" url: "http://localhost/product/the-handicapper/" media_type_tags: "Gambling" license: false --- # The Handicapper (Harness) Handicaps a harness race from figures you copy out of the track program. For each horse (up to 15) a worksheet asks for its number and name, its half-mile and final times in the last race, its post position last time and today, its stretch gain, whether it is moving up or down in class, whether its driver wins more than 15% of the time, and how many times it was parked out. Optional help text explains where to find each figure. The program turns these into a rating, sorts the field, and shows a rating report for the race, which can also be sent to the printer with two header lines of your own. A separate Wager Master section gives a table of estimated $2 payoffs for odds from 1-1 to 20-1, works out the return on a win/place/show bet at chosen odds, and picks daily-double, perfecta/exacta and trifecta combinations from your top choices, each with an optional printout. The Handicapper was written by Leonard Hyre of Federal Hill Software, Baltimore, in 1984 and distributed by Knighted Computers of Fulton, New York. The REM header reads “HARNESS HANDICAPPER / FEDERAL HILL SOFTWARE ©1984 BY L. HYRE”, and the title screen says “FEDERAL HILL SOFTWARE PRESENTS” and “by LEONARD HYRE”. The product was sold as separate programs for thoroughbreds, harness horses and greyhounds; only the harness module survives, on a Larken disk in Bob Swoger’s collection. The disk’s Tasword product sheet is included in the zip as a text file. It describes all three programs and the factors each one uses. ## Program Analysis ### Structure - Lines 10–100: copyright REMs, caps lock on (`POKE 23658,8`), and the arrays for up to 15 horses. - Lines 110–840: the handicapping worksheet, one screen per horse, with a review step (`C` to accept, `R` to redo). - Lines 860–970: help screens for each input. - Lines 990–1170: lookup tables that turn times and post positions into points. - Lines 1190–1780: title, main menu, background information and handicapping principles. - Lines 1820–2340: bubble sort, rating report and printout. - Lines 2350–3620: Wager Master, with the odds/payoff table held in `DATA` lines 2370–2380. - Lines 3680–3760: a routine that formats a number as dollars and cents. ### Rating Each horse’s rating is the sum of seven scores (line 760). The half-mile time is scored from 55 points (under 59 seconds) down to 0 (1:09 or slower), less one point per fifth of a second. The final time is scored from 100 (under 1:53) down to 0 (2:12 or slower), again less the fifths. The post-position score is today’s post value minus last race’s, with inside posts worth the most, so a horse moving from outside to inside gains; for posts 9 and 10 the program asks whether the horse starts in the first or second tier. The stretch gain is added as entered. Class adds or takes away 5 points, a driver who wins more than 15% of the time adds 12, and each parked-out sign adds 6. Times are entered as four digits, with the last digit in fifths of a second. The report shows each rating doubled. ### Notable Techniques - Computed jumps such as `GO TO (1420 AND VAL Z$=1)+(1510 AND VAL Z$=2)+…` stand in for `ON … GO TO`. - The TS2068’s `ON ERR GO TO` traps bad numeric input in Wager Master, and `ON ERR RESET` turns the trap off again. - The money-format routine is called as `GO SUB CASH`, with `CASH` set to 3680 at the start. - The odds table keeps win, place and show payoffs as strings in `DATA` and reads them into four string arrays. ### Potential Issues - Horse entries should start with the horse’s number, as the help says. Line 2060 takes `VAL` of the first two characters to line up the report, so a name that starts with a letter appears to stop the program with an error. - Key checks compare against capital letters, so the program depends on the caps lock it sets in line 70. - Printouts need a printer. The rating report and the Wager Master selections can also be read on screen. This program came from a Larken disk and was converted to run from tape: the LKDOS save and load lines and the LOGICALL load were removed, the program is saved without variables, and the disk’s Larken launcher (`HTRACK.B1`) was left out. It was tested in ZEsarUX through the menus, a two-horse worksheet, the rating report and the payoff table. ## Source Code ``` 10 REM *********************** 20 REM * HARNESS HANDICAPPER * 30 REM *FEDERAL HILL SOFTWARE* 40 REM * * 1984 BY L. HYRE * 50 REM *********************** 60 REM REPRODUCTION OF THIS SOFTWARE PROGRAM OTHER THAN FOR THE PROTECTION OF THE ORIGINAL PURCHASER AS A BACKUP COPY IS STRICTLY PROHIBITED BY COPYRIGHTLAW 70 LET CASH=3680: POKE 23658,8 80 DIM G$(3,8): DIM L(3): DIM U$(1,9): DIM A$(15,20): DIM R(15): DIM M$(4,25): DIM H$(2,31): DIM T$(3,32): DIM U$(2,20): DIM K$(15,20): DIM V(3): DIM J(2): DIM O$(15,4): DIM W$(15,4): DIM P$(15,4): DIM S$(15,4) 90 LET HP=0: LET z$=" " 100 GO TO 1190 110 FOR R=1 TO 15 120 BORDER 0: PAPER 0: INK 6: CLS 130 PRINT AT 0,0;: GO SUB 1790 140 PRINT AT 2,4;"HANDICAPPING WORKSHEET" 150 PRINT AT 4,0;"HORSE NO. & NAME";: PRINT AT 6,0;"1/2 MILE TIME"; 160 PRINT AT 7,0;"FINAL TIME";AT 8,0;"POST POS. LAST RACE" 170 PRINT AT 9,0;"POST POS. THIS RACE";AT 10,0;"STRETCH GAIN LAST RACE" 180 PRINT AT 11,0;"CLASS (U)p (D)own (S)ame";AT 12,0;"DRIVER WIN RATE" 190 PRINT AT 13,0;"PARKED OUT SIGNS" 200 PRINT AT 14,0;: GO SUB 1790: PRINT AT 15,0;: GO SUB 1790 210 IF R<>1 THEN GO TO 250 220 PRINT AT 20,0;"HELP ON SCREEN ? (Y/N)": INPUT B$ 230 LET HP=(1 AND B$="Y")+(0 AND B$="N") 240 GO SUB 980 250 IF HP=0 THEN PRINT AT 19,4;"The HARNESS HANDICAPPER" 260 IF HP=1 THEN GO SUB 870 270 INPUT "HORSE NUMBER & NAME";A$(R): PRINT INK 7; PAPER 1;AT 5,8;A$(R) 280 IF HP=1 THEN GO SUB 980: GO SUB 880 290 INPUT "1/2 MILE TIME";C$ 300 IF LEN c$<>4 THEN GO TO 290 310 IF VAL (c$)<500 OR VAL (c$)>1200 THEN GO TO 290 320 PRINT INK 7; PAPER 1;AT 6,15;C$: LET A=VAL (C$( TO 3)): LET B=VAL (C$(4)) 330 GO SUB 990 340 LET SH=X-B 350 IF HP=1 THEN GO SUB 980: GO SUB 890 360 INPUT "FINAL TIME : ";D$ 370 IF LEN D$<>4 THEN GO TO 360 380 IF VAL (D$)<1480 OR VAL (D$)>2240 THEN GO TO 360 390 PRINT INK 7; PAPER 1;AT 7,12;D$: LET C=VAL (D$( TO 3)): LET D=VAL (D$(4)) 400 GO SUB 1020 410 LET SF=Y-D 420 IF HP=1 THEN GO SUB 980: GO SUB 900 430 INPUT "POST POS. LAST RACE ";E 440 IF E<1 OR E>12 THEN GO TO 430 450 PRINT INK 7; PAPER 1;AT 8,21;E: GO SUB 1060 460 IF HP=1 THEN GO SUB 980: GO SUB 910 470 INPUT "POST POS. THIS RACE ";F 480 IF F<1 OR F>12 THEN GO TO 470 490 PRINT INK 7; PAPER 1;AT 9,21;F: GO SUB 1120 500 LET PP=N-M 510 IF HP=1 THEN GO SUB 980: GO SUB 920 520 INPUT "STRETCH GAIN LAST RACE ";G 530 IF G>20 THEN GO TO 520 540 PRINT INK 7; PAPER 1;AT 10,24;G: IF HP=1 THEN GO SUB 980: GO SUB 940 550 REM ********************** 560 INPUT "CLASS: (U)p (D)own (S)ame ";E$ 570 IF E$="U" THEN LET H=-5: GO TO 610 580 IF E$="D" THEN LET H=5: GO TO 610 590 IF E$="S" THEN LET H=0: GO TO 610 600 GO TO 550 610 PRINT INK 7; PAPER 1;AT 11,26;E$: IF HP=1 THEN GO SUB 980: GO SUB 960 620 INPUT "DRIVER WIN RATE (1 or 2)";J 630 IF J<1 OR J>2 THEN GO TO 620 640 LET DR=(12 AND J=1)+(0 AND J=2) 650 PRINT INK 7; PAPER 1;AT 12,17;J: IF HP=1 THEN GO SUB 980: GO SUB 970 660 INPUT "PARKED OUT SIGNS ";K 670 IF K>12 THEN GO TO 660 680 PRINT INK 7; PAPER 1;AT 13,18;K: LET PO=K*6 690 GO SUB 980: PRINT AT 16,0;"REVIEW DATA:" 700 PRINT AT 18,0;"IF ABOVE DATA IS"; INK 4;" CORRECT"; INK 6;" PRESS THE "; INK 4;"""C"""; INK 6;" KEY" 710 PRINT AT 20,0;"IF DATA IS "; INK 3;"INCORRECT "; INK 6;" PRESS "; INK 3;"""R"""; INK 6;" TO REDO" 720 LET I$=INKEY$: IF I$="" THEN GO TO 720 730 IF I$="R" THEN GO TO 120 740 IF I$="C" THEN GO TO 760 750 GO TO 720 760 LET R(R)=SH+SF+PP+G+H+DR+PO 770 GO SUB 980 780 PRINT AT 21,0;" ";AT 21,0;"ANOTHER HORSE ? (Y/N)" 790 LET I$=INKEY$: IF I$="" THEN GO TO 790 800 IF I$="N" THEN GO TO 840 810 IF I$="Y" THEN GO TO 830 820 GO TO 790 830 NEXT R 840 GO TO 1820 850 GO TO 850 860 REM *** HELP SCREENS HERE ** 870 PRINT AT 14,0; INK 4;"TYPE THE HORSES NUMBER FOLLOWED BY A SPACE AND HIS NAME."'"Then hit [ENTER] Key"; INK 6: RETURN 880 PRINT AT 14,0; INK 4;"LOCATE THE 1/2 MILE SPEED LISTEDFOR THE RACE FROM WHICH YOU ARE OBTAINING THE HANDICAPPING INFORMATION.(E.G. 1012 OR 0572)."'"Enter this figure- then Hit [ENTER] Key."; INK 6: RETURN 890 PRINT AT 14,0; INK 4;"LOCATE THE FINAL TIME FOR THIS HORSE FROM THE RACE FROM WHICH YOU ARE OBTAINING THE HANDICAPPING INFORMATION. (E.G. 1571 or 2023)": PRINT "Enter this figure- Then Hit [ENTER] Key.": INK 6: RETURN 900 PRINT AT 14,0; INK 4;"Find the POST POSITION of 'THIS'Horse from which you are obtaining data.": PRINT "Enter this figure- Then Hit [ENTER] Key.": INK 6: RETURN 910 PRINT AT 14,0; INK 4;"Find the POST POSITION of 'THIS'Horse in 'TODAYS' race.": PRINT INK 4;"Usually the Wagering Number, BUTnot always!": PRINT "Enter this figure- Then Hit [ENTER] Key.": INK 6: RETURN 920 PRINT INK 4;AT 14,0;"This entry is the number of lengths this horse gained in the""STRETCH RUN in it's last race.""" 930 PRINT INK 5;"NOTE: If horse was winner in last, enter lengths of win here.": PRINT "Input number and Hit [ENTER]": INK 6: RETURN 940 GO SUB 980: PRINT INK 4;AT 14,0;"IF PURSE OR CLAIMING PRICE THIS RACE IS :": PRINT INK 4;"1. HIGHER THAN THIS HORSES PREVIOUS RACE THEN ENTER ""U""": PRINT INK 4;"2. LOWER THAN THIS HORSES PREVIOUS RACE THEN ENTER ""D""" 950 PRINT INK 4;"3. THE SAME AS THIS HORSES PREVIOUS RACE THEN ENTER ""S""": INK 6: RETURN 960 PRINT INK 4;AT 14,0;"DRIVER WIN RATE: If Driver WINS MORE than 15%, Enter 1": PRINT INK 4;"If DRIVER WINS LESS THAN 15%, Enter 2": INK 6: RETURN 970 PRINT INK 4;AT 14,0;"PARKED OUT indicators are small ""o"" marks at each of the horse'srace positions. Simply count the number and Enter the figure.": INK 6: RETURN 980 FOR u=14 TO 21: PRINT AT U,0;" ": NEXT u: PRINT AT 14,0;: RETURN 990 IF A<59 THEN LET X=55 991 IF A=59 THEN LET X=50 992 IF A=100 THEN LET X=45 993 IF A=101 THEN LET X=40 994 IF A=102 THEN LET X=35 995 IF A=103 THEN LET X=30 996 IF A=104 THEN LET X=25 997 IF A=105 THEN LET X=20 998 IF A=106 THEN LET X=15 999 IF A=107 THEN LET X=10 1000 IF A>108 THEN LET X=0 1001 IF A=108 THEN LET X=5 1010 RETURN 1020 IF C<153 THEN LET Y=100 1030 IF C=153 THEN LET Y=95 1031 IF C=154 THEN LET Y=90 1032 IF C=155 THEN LET Y=85 1033 IF C=156 THEN LET Y=80 1034 IF C=157 THEN LET Y=75 1035 IF C=158 THEN LET Y=70 1036 IF C>=159 AND C<200 THEN LET Y=65 1037 IF C=200 THEN LET Y=60 1038 IF C=201 THEN LET Y=55 1039 IF C=202 THEN LET Y=50 1040 IF C=203 THEN LET Y=45 1041 IF C=204 THEN LET Y=40 1042 IF C=205 THEN LET Y=35 1043 IF C=206 THEN LET Y=30 1044 IF C=207 THEN LET Y=25 1045 IF C=208 THEN LET Y=20 1046 IF C=209 THEN LET Y=15 1047 IF C=210 THEN LET Y=10 1048 IF C=211 THEN LET Y=5 1049 IF C>211 THEN LET Y=0 1050 RETURN 1060 LET M=6 1064 IF E=1 OR E=2 THEN LET M=8 1065 IF E=3 OR E=4 OR E=5 THEN LET M=6 1067 IF E=6 THEN LET M=4 1068 IF E=7 THEN LET M=2 1069 IF E=8 THEN LET M=1 1070 IF E=9 OR E=10 THEN LET M=0: GO SUB 980: PRINT AT 20,0;"TIER 1 OR 2? ": INPUT "Enter 1 OR 2 ";zz: PRINT AT 8,25;"TIER "; INK 7; PAPER 1;ZZ: PRINT AT 14,0; 1074 IF E<9 THEN GO TO 1100 1075 IF ZZ<1 OR ZZ>2 THEN GO TO 1070 1076 IF ZZ=1 THEN LET M=1 1077 IF ZZ>1 THEN LET M=6 1079 PRINT AT 14,30;ZZ: PAUSE 240 1080 PRINT AT 14,0;" " 1090 IF E=11 OR E=12 THEN LET M=1 1100 LET ZZ=0 1110 RETURN 1120 LET N=0: IF F=1 OR F=2 THEN LET N=8 1126 IF F=3 OR F=4 OR F=5 THEN LET N=6 1127 IF F=6 THEN LET N=4 1128 IF F=7 THEN LET N=2 1129 IF F=8 THEN LET N=1 1130 IF F=9 OR F=10 THEN GO SUB 980: PRINT AT 20,0;"TIER 1 OR 2? ": INPUT V: PRINT AT 9,25;"TIER "; INK 7; PAPER 1;V: IF V<1 OR V>2 THEN GO TO 1130 1131 IF F<9 THEN GO TO 1160 1132 IF V=1 THEN LET N=1 1133 IF V=2 THEN LET N=6 1140 PRINT AT 14,0;" " 1150 IF F=11 OR F=12 THEN LET N=1 1155 IF N<>1 THEN LET N=6 1160 LET V=0 1170 RETURN 1180 REM ** SPEED DATA ENDS HERE******************************* 1190 LET U$(1)="THE MENU": LET M$(1)="1. BACKGROUND INFORMATION": LET M$(2)="2. HANDICAPPING FACTORS": LET M$(3)="3. HANDICAPPING INPUT": LET M$(4)="4. WAGER MASTER" 1200 PRINT AT 0,0; 1210 INK 6: BORDER 0: PAPER 0: CLS 1220 GO SUB 1790 1230 PRINT INK 7; PAPER 1;" FEDERAL HILL SOFTWARE PRESENTS ": INK 6: PAPER 0 1240 GO SUB 1790 1250 PAUSE 150 1260 LET DN=3 1270 FOR I=2 TO 10 1280 PRINT AT DN,I;"HARNESS HANDICAPPER": LET DN=DN+1: NEXT I 1290 PRINT : GO SUB 1790 1300 PRINT 1310 PRINT " * by LEONARD HYRE" 1320 PAUSE 100 1330 CLS : GO SUB 1790 1340 PRINT TAB (11);U$(1) 1350 LET L1=4: FOR I=1 TO 4: PRINT AT L1,5;M$(I): LET L1=L1+2: NEXT I 1360 PRINT : GO SUB 1790 1370 PRINT '''''TAB 10;"CHOOSE ?" 1380 BEEP .25,5: PRINT '"**** The HARNESS HANDICAPPER ***" 1390 LET Z$=INKEY$: IF Z$="" THEN GO TO 1390 1395 IF Z$CHR$ 52 THEN GO TO 1390 1400 IF VAL Z$<1 OR VAL Z$>4 THEN GO TO 1390 1410 ON ERR RESET : PRINT INK 7; PAPER 1;AT 21,8;"ONE MOMENT PLEASE": GO TO (1420 AND VAL Z$=1)+(1510 AND VAL Z$=2)+(110 AND VAL Z$=3)+(2350 AND VAL Z$=4) 1420 INK 7: BORDER 1: PAPER 1: CLS : GO SUB 1790: PRINT " Background Information" 1430 GO SUB 1790: PRINT '"HARNESS HANDICAPPER is a programfor your TS2068 computer which will allow you to handicap a race quickly and easily. It doesnot contain a magic formula for getting rich."; 1440 PRINT " However, if you follow these instructions care- fully, avoid bad races and gimmick bets, you will be able to make a tidy profit at the track." 1450 PRINT '"The program uses eight differentcriteria for rating horses, relying heavily on their performance last time out on a fast or sloppy track.": PRINT INK 4; PAPER 0;AT 21,3;"PRESS ANY KEY FOR NEXT PAGE": PAUSE 0: CLS 1460 PRINT ''"You may now select the kind of Information you want." 1470 PRINT ''"(1) HANDICAPPING PRINCIPLES"''"(2) HANDICAPPING INPUT"''"(3) WAGER MASTER" 1480 LET Z$=INKEY$: IF Z$="" THEN GO TO 1480 1485 IF Z$CHR$ (51) THEN GO TO 1480 1490 IF VAL Z$<1 OR VAL Z$>3 THEN GO TO 1480 1500 GO TO (1510 AND VAL Z$=1)+(110 AND VAL Z$=2)+(2350 AND VAL Z$=3) 1510 CLS : GO SUB 1790: PRINT " HANDICAPPING PRINCIPLES": GO SUB 1790 1520 PRINT '"/// STAY HOME IF THE TRACK CONDITION IS NOT FAST. ANY OFF TRACK, MEANING GOOD, MUDDY, OR SLOPPY, SHOULD BE AVOIDED!" 1530 PRINT '"/// DON'T BET ON MAIDEN RACES. THESE ARE UNPROVEN OR JUST PLAINBAD HORSES." 1540 PRINT '"/// DON'T BET ON RACES WITH THE CHEAPEST HORSES ON THE GROUNDS THESE ARE USUALLY THE FIRST AND LAST RACES. THE BETTER THE CLASSOF HORSE, THE BETTER THE HANDI- CAPPER PROGRAM WORKS.": PRINT AT 21,3; INK 4; PAPER 0;"PRESS ANY KEY FOR NEXT PAGE": PAUSE 90: PAUSE 0: CLS 1550 PRINT "/// DON'T BET ON RACES WITH A HIGH PROPORTION OF SHIPPERS. THESE ARE HORSES RUNNING AT THE TRACK FOR THE FIRST TIME." 1560 REM 1570 PRINT AT 21,3; INK 4; PAPER 0;"PRESS ANY KEY TO CONTINUE": PAUSE 90: PAUSE 0: CLS 1580 GO SUB 1790: PRINT " ELIMINATE BAD HORSES QUICKLY": GO SUB 1790 1590 PRINT '"/// ELIMINATE ANY HORSE WHO DID NOT SHOW A STRONG PERFORMANCE LAST TIME OUT ON A FAST OR SLOPPY TRACK. THIS MEANS A WIN, PLACE, OR SHOW, A STRONG RUN ON THE LEADER IN THE STRETCH OR SETTING THE EARLY PACE." 1600 PRINT '"/// ELIMINATE ANY HORSE WHO HAS NOT RACED IN THE LAST TWO WEEKS." 1610 PRINT '"/// ELIMINATE SHIPPERS. THESE ARE HORSES RUNNING AT THIS TRACKFOR THE FIRST TIME. EXCEPTIONS MAY BE MADE FOR BIG STAKES RACES--BUT WE DO NOT RECOMMEND THESE AS GOOD BETTING PROPOSITIONS." 1620 PRINT AT 21,3; INK 4; PAPER 0;"PRESS ANY KEY TO CONTINUE": PAUSE 60: PAUSE 0: CLS 1630 REM *********************** 1640 GO SUB 1790: PRINT AT 1,4;"FACTORS USED BY HARNESS": GO SUB 1790 1650 PRINT AT 4,0;"1: Speed of horse at 1/2 mile";AT 5,0;"2: Final speed of horse";AT 6,0;"3. Driver ability to win";AT 7,0;"4. Stretch gain last race" 1660 PRINT AT 8,0;"5: Class of the contending horse";AT 9,0;"6: Post position last race";AT 10,0;"7: Post position this race";AT 11,0;"8: Relationship of all above";AT 21,3; INK 4; PAPER 0;"PRESS ANY KEY TO CONTINUE" 1670 PAUSE 90: PAUSE 0: CLS 1680 GO SUB 1790: PRINT AT 1,5;"ELIMINATE the LOSERS": GO SUB 1790: GO SUB 1790: PRINT AT 4,5;"AVOID THE FOLLOWING": GO SUB 1790 1690 PRINT AT 6,0;"1. MAIDENS !(Terrible Wagers...)";"2. CHEAPER TROTTERS (These races usually have breakers).": PRINT AT 9,0;"3. EXCESSIVE EXOTIC WAGERS (doubles, triples, etc.).": PRINT AT 11,0;"4. ANY "; 1700 PRINT "'OFF' "; INK 6;"TRACK (Muddy, sloppy, good, etc.)": PRINT AT 13,0;"5. TIPS ! TIPS ! TIPS ! (You can get a 'tip' on every horse in race)" 1710 PRINT AT 21,3; INK 4; PAPER 0;"PRESS ANY KEY TO CONTINUE": PAUSE 60: PAUSE 0 1720 CLS : GO SUB 1790: PRINT "HANDICAPPING REMINDERS AND TIPS": GO SUB 1790 1730 PRINT AT 5,0;"1. PRIOR TO HANDICAPPING INPUT:";" A. THROWOUT THE NON-CONTENDERS";" B. MAKE UP A DRIVER LIST (15% wins)";" C. SKIP THE 'BAD' RACES." 1740 PRINT '"2. PROOF YOUR INPUT DATA (mark race lines, circle key infor- mation etc.)": PRINT '"3. REMEMBER- FOR THE TIME INPUTS": PRINT " A. USE 4 DIGITS": PRINT " B. FIRST 3-DIGITS REPRESENT MINUTES & SECONDS" 1750 PRINT " C. LAST DIGIT REPRESENT 'FIFTH' OF A SECOND" 1760 PRINT AT 21,3; INK 4; PAPER 0;"PRESS ANY KEY TO CONTINUE": PAUSE 60 1770 PAUSE 0 1780 GO TO 1330 1790 PRINT "--------------------------------" 1800 RETURN 1810 GO TO 1330 1820 PRINT AT 6,1;"ONE MOMENT, PLEASE" 1830 GO SUB 1980 1840 CLS : PRINT AT 6,1;"PLEASE ENTER THE NUMBER OF THIS RACE "; FLASH 1;"::": INPUT "RACE NUMBER ";RACENUMBER: PRINT AT 7,6; FLASH 0;RACENUMBER: GO SUB 2320 1850 CLS : GO SUB 2090 1860 PRINT AT 1,0;T$(1): PRINT AT 2,0;T$(2);AT 3,0;T$(3) 1870 GO SUB 1790 1880 LET VERT=6 1890 FOR K=1 TO R 1900 PRINT AT VERT,4;: PRINT A$(K);TAB 26;STR$ (2*R(K)); 1910 LET VERT=VERT+1 1920 NEXT K 1930 PRINT AT 19,0;: GO SUB 1790 1940 INPUT "DO YOU WANT A PRINTOUT (Y/N)";F$: IF F$="Y" THEN GO TO 2120 1950 PRINT AT 20,0;"DO YOU WANT TO HANDICAP ANOTHER RACE ? (Y/N)": INPUT Z$: IF Z$="Y" THEN LET HP=0: GO TO 110 1960 CLS : GO TO 1330 1970 REM ****** BUBBLESORT ***** 1980 LET T=0 1990 FOR L=1 TO R-1 2000 IF R(L)>=R(L+1) THEN GO TO 2030 2010 LET E=R(L): LET R(L)=R(L+1): LET R(L+1)=E: LET E$=A$(L): LET A$(L)=A$(L+1): LET A$(L+1)=E$ 2020 LET T=1 2030 NEXT L 2040 IF T=1 THEN GO TO 1980 2050 REM PUT IN LEADERING 2060 FOR K=1 TO R: IF VAL (A$(K, TO 2))<10 THEN LET A$(K)=" "+A$(K, TO ) 2070 LET A$(K)=" "+A$(K)+" "+"...": NEXT K 2080 RETURN 2090 CLS 2100 GO SUB 1790 2110 RETURN 2120 GO SUB 980 2130 INPUT "HEADER 1. ";H$(1) 2140 INPUT "HEADER 2. ";H$(2) 2150 PRINT ''"PREPARE PRINTER " 2160 PRINT AT 21,3; INK 4; PAPER 0;"PRESS ANY KEY WHEN READY" 2170 PAUSE 60: PAUSE 0 2180 LPRINT : LPRINT : LPRINT : LPRINT " ";T$(1): LPRINT TAB 8;T$(2): LPRINT TAB 8;T$(3) 2190 LPRINT "================================" 2200 IF H$(1)<>"" THEN LPRINT : LPRINT H$(1) 2210 IF H$(1)="" THEN GO TO 2230 2220 LET J(2)=0: LPRINT TAB J(2);H$(2) 2230 LPRINT '"================================": LPRINT ''' 2240 LPRINT TAB (5);"HORSE";TAB 26;"RATING": LPRINT '' 2250 FOR K=1 TO R 2260 LPRINT TAB (2);A$(K);TAB 27;STR$ (2*R(K)) 2270 NEXT K 2280 LPRINT '''"================================" 2290 LPRINT " *** THE HARNESS HANDICAPPER ***": LPRINT " *** FEDERAL HILL SOFTWARE ***": LPRINT " *** BALTIMORE, MD *** ": LPRINT "================================": LPRINT ''' 2300 REM 2310 GO TO 1950 2320 LET T$(1)="The HARNESS HANDICAPPER ": LET T$(2)="RATING REPORT ": LET L(1)=LEN T$(1): LET V(1)=INT ((32-L(1))/2): LET L(2)=LEN (T$(2)): LET V(2)=INT ((32-L(2))/2) 2330 LET T$(3)="RACE NUMBER "+STR$ (RACENUMBER): LET L(3)=LEN T$(3): LET V(3)=INT ((32-L(3)/2)) 2340 RETURN 2350 INK 6: PAPER 0: BORDER 0 2360 GO SUB 3640 2370 DATA "1-1","4.00","2.80","2.20","6-5","4.40","3.00","2.20","7-5","4.80","3.20","2.80","8-5","5.20","3.20","2.80","9-5","5.60","3.20","2.80","2-1","6.00","3.40","2.80","5-2","7.00","3.60","3.00","3-1","8.00","4.00","3.00","4-1","10.00","5.20","3.40","5-1","12.00","6.00","4.00","6-1","12.00","7.00","4.40","8-1","18.00","8.00","5.20" 2380 DATA "10-1","22.00","8.00","5.20","20-1","42.00","18.00","10.00" 2390 PAPER 6: INK 4: BORDER 6: CLS : PRINT "********************************": PRINT TAB 10;"WAGER MASTER": PRINT "________________________________" 2400 INK 2 2410 PRINT " THE MENU :": PRINT '"1> STANDARD PAYOFFS": PRINT '"2> RETURN PER SPECIFIC WAGER": PRINT '"3> RETURN PER SPECIFIC ODDS": PRINT '"4> DAILY DOUBLE WAGERS": PRINT '"5> PERFECTA, EXACTA TYPE WAGERS" 2420 PRINT '"6> TRIFECTA,TRIPLE TYPE WAGERS": PRINT '"7> "; INK 2;"Run HORSES" 2430 REM 2440 PRINT TAB 4; INK 7; PAPER 1;"FEDERAL HILL SOFTWARE CO.": PRINT TAB 9; INK 7; PAPER 1;"BALTIMORE, MD" 2450 PRINT " < TYPE NO. OF SELECTION >" 2460 LET Z$=INKEY$: IF Z$="" THEN GO TO 2460 2465 IF Z$CHR$ (55) THEN GO TO 2460 2470 IF VAL z$<1 OR VAL z$>7 THEN GO TO 2460 2480 LET AA=VAL Z$: GO TO (2490 AND AA=1)+(2610 AND AA=2)+(2870 AND AA=3)+(3110 AND AA=4)+(3260 AND AA=5)+(3430 AND AA=6)+(100 AND AA=7) 2490 INK 7: PAPER 1: BORDER 1: CLS : PRINT "********************************": PRINT "ESTIMATED PAYOFF ON $2.00 WAGER": PRINT "********************************" 2500 PRINT "-ODDS-";TAB 9;"-WIN-";TAB 17;"-PLACE-";TAB 26;"-SHOW-" 2510 PRINT "------ ----- ------- ------" 2520 FOR X=1 TO 14 2530 REM 2540 REM 2550 REM 2560 PRINT O$(X);: LET T=VAL (W$(X)): GO SUB CASH: PRINT " ";Q$;: LET T=VAL (P$(X)): GO SUB CASH: PRINT " ";Q$;: LET T=VAL (S$(X)): GO SUB CASH: PRINT Q$ 2570 NEXT X 2580 PRINT AT 21,12;"(M)enu" 2590 PAUSE 60: PAUSE 0 2600 GO TO 2390 2610 CLS 2620 PRINT "********************************": PRINT " RETURN PER SPECIFIC WAGER": PRINT "********************************" 2630 PRINT "SELECT ANTICIPATED ODDS:": PRINT '"(1) 1-1 (2) 6-5 (3)7-5 (4) 8-5": PRINT "(5) 9-5 (6) 2-1 (7)5-2 (8) 3-1" 2640 PRINT "(9) 4-1 (10) 5-1 (11) 6-1 ": PRINT "(12) 8-1 (13) 10-1 (14) 20-1" 2650 PRINT "--------------------------------" 2660 ON ERR GO TO 2660: INPUT "SELECT (1 - 14) ";Y$: IF VAL Y$>14 THEN GO TO 2660 2670 ON ERR RESET : LET X=VAL Y$: PRINT "ODDS = ";O$(X);":::"; 2680 ON ERR GO TO 2680: INPUT "HOW MUCH TO WIN ? ";WM: PRINT AT 10,15;"W=";WM;: INPUT "HOW MUCH TO PLACE ? ";PM: PRINT " P=";PM;: INPUT "HOW MUCH TO SHOW ? ";SM: PRINT " S=";SM 2690 ON ERR RESET : PRINT "FOR A HORSE AT ";O$(X);" ODDS" 2700 PRINT "TOTAL WAGER OF $";: LET T=WM+PM+SM: GO SUB CASH: PRINT Q$ 2710 PRINT "YOUR PAYOFF WOULD BE :" 2720 LET W=VAL W$(X)/2: LET P=VAL P$(X)/2: LET S=VAL S$(X)/2 2730 PRINT "WIN $";: LET T=WM*W: GO SUB CASH: PRINT Q$ 2740 PRINT "PLACE $";: LET T=PM*P: GO SUB CASH: PRINT Q$ 2750 PRINT "SHOW $";: LET T=SM*S: GO SUB CASH: PRINT Q$ 2760 PRINT " ------" 2770 PRINT "TOTAL $";: LET T=(WM*W)+(PM*P)+(SM*S): GO SUB CASH: PRINT Q$ 2780 PRINT "LESS $";: LET T=WM+PM+SM: GO SUB CASH: PRINT Q$ 2790 PRINT "PROFIT $";: LET T=((WM*W)+(PM*P)+(SM*S))-(WM+PM+SM): GO SUB CASH: PRINT Q$ 2800 PRINT AT 21,5;"nother 14 THEN GO TO 2920 2930 ON ERR RESET : LET X=VAL Y$: PRINT " ODDS=";O$(X) 2940 PRINT TAB 8;"WIN ONLY ->" 2950 PAUSE 120 2960 LET MU=VAL (W$(X))/2 2970 PRINT "WAGER $ 2.00 PAYOFF $";: LET T=2*MU: GO SUB CASH: PRINT Q$ 2980 PRINT "WAGER $ 4.00 PAYOFF $";: LET T=4*MU: GO SUB CASH: PRINT Q$ 2990 PRINT "WAGER $ 5.00 PAYOFF $";: LET T=5*MU: GO SUB CASH: PRINT Q$ 3000 PRINT "WAGER $ 6.00 PAYOFF $";: LET T=6*MU: GO SUB CASH: PRINT Q$ 3010 PRINT "WAGER $10.00 PAYOFF $";: LET T=10*MU: GO SUB CASH: PRINT Q$ 3020 PRINT "WAGER $20.00 PAYOFF $";: LET T=20*MU: GO SUB CASH: PRINT Q$ 3030 PRINT "WAGER $50.00 PAYOFF $";: LET T=50*MU: GO SUB CASH: PRINT Q$ 3040 PRINT AT 21,5;"nother "." THEN LET N=1 3760 RETURN 4010 RETURN 9992 SAVE "HANDIC.B1" LINE 1 9998 REM was LKDOS-only ```