--- title: "IRS – 1986" id: 71199 type: "computer_media" slug: "irs-1986" url: "http://localhost/computer_media/irs-1986/" markdown_url: "http://localhost/computer_media/irs-1986.md" published_at: "2026-08-31T08:46:10+00:00" modified_at: "2026-08-31T08:46:11+00:00" author: "David Anderson" featured_image: url: "http://localhost/wp-content/uploads/2026/08/irs-1986.png" alt: "IRS - 1986 screen" excerpt: "A full-featured 1986 income tax suite that computes federal 1040, Schedule A itemized deductions, Ohio state tax, and city tax using bracket interpolation across multiple filing statuses." category: - name: "Archived Media" slug: "archived-media" taxonomy: "category" url: "http://localhost/category/archived-media/" 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: "Algis Gedris" slug: "algis-gedris" taxonomy: "indiv" url: "http://localhost/indiv/algis-gedris/" genre: - name: "Tax" slug: "tax" taxonomy: "genre" url: "http://localhost/type/tax/" media_type: "Program" programmers: - name: "Algis Gedris" slug: "algis-gedris" taxonomy: "indiv" url: "http://localhost/indiv/algis-gedris/" download_url: "https://archive.org/download/timex-sinclair-software-archive/IRS%20-%201986%20%281986%29%28Gedris%2C%20Algis%29%28TS2068%29%28US%29%28Program%29.zip" mediadate: "1986" images: - url: "http://localhost/wp-content/uploads/2026/08/irs-1986.png" alt: "IRS - 1986 screen" media_type_tags: "Tax" --- # IRS – 1986 This program is a comprehensive U.S. federal and state income tax calculator for the 1986 tax year, covering IRS Form 1040 (Pages 1 and 2), Schedule A (itemized deductions including medical, taxes, interest, and contributions), Schedule B (interest income), Schedule W (married couple’s deduction), Ohio state income tax, and city/local tax calculations. The federal tax computation at lines 50–88 uses a bracket interpolation technique, reading tax table data with RESTORE and FOR/NEXT loops across up to 16 brackets depending on filing status (BOX variable), and applies a midpoint averaging method for incomes that fall between bracket boundaries. A machine code routine is called via RANDOMIZE USR 64716 to perform a screen copy (print) operation, suggesting a third-party printer driver is loaded separately from tape as noted in the REM at line 9098. All numeric variables are reset to NOT PI (which evaluates to 0 in Sinclair BASIC) at line 9000 rather than using a simple assignment of 0, and column positioning for right-aligned currency display is handled through a set of subroutines (lines 580–597, 3100–3119, 8980–8986) that calculate the correct AT column based on the magnitude of the value. *** ### Program Structure The program is organized as a menu-driven suite of tax modules, each occupying a distinct line-number range. Execution begins at line 100 (the main menu) after initialization data is set up at lines 9098–9120. The top-level menu dispatches to the following modules: | Option | Module | Entry Line | | --- | --- | --- | | 1 | 1040 Page 1 | 600 | | 2 | 1040 Page 2 | 1000 | | 3 | Schedule A | 2000 | | 4 | Schedule B | 2500 | | 6 | Schedule W | 3000 | | 7 | Ohio Tax | 6000 | | 8 | City Tax | 7000 | | 9 | Reset all variables | 9000 | | 11 | Save to tape | 9900 | | 12 | STOP | — | Lines 9099–9116 use a `DIM T$(17,29)` string array to hold the labels for 1040 Page 2 rows, which are printed en masse at line 1005. This is an efficient way to store fixed display strings without cluttering the PRINT statements. ### Federal Tax Bracket Engine (Lines 50–88) The core tax calculation is a reusable subroutine entered at line 50. The filing status is held in `BOX` (1–5, corresponding to the five IRS filing categories). The `data` variable is computed at line 50 to select the correct RESTORE target line from the four DATA blocks at lines 78–92. The formula `74+(BOX*4)-INT((BOX=5)*12)` maps each BOX value to a specific DATA line number. For incomes below $50,000 (and not on Schedule C), the program uses a bracket-averaging technique at lines 58–66: it finds the two nearest $25 or $50 bracket boundaries, computes the tax at each boundary by calling the inner subroutine at line 68 twice, then averages the results and rounds to the nearest cent. This mirrors the IRS Tax Table lookup methodology. The inner subroutine at lines 68–76 performs a sequential scan through up to 16 tax brackets using a FOR/NEXT loop. Each bracket is defined by three DATA values: upper income limit `h1`, base tax `plus`, and marginal rate `pct`. The formula `(l-lo)*pct+plus` computes the marginal tax within the bracket. The use of `1E36` as the upper limit of the top bracket is a sentinel value ensuring the last bracket always matches. A notable detail in the Schedule A DATA at line 82 is the expression `0-((A37>3670) AND (A37<3700))+sch` as the base tax for the first married-filing-jointly bracket — this embeds an inline correction for a narrow income range, reflecting an actual quirk in the 1986 tax tables. ### Column-Positioning Subroutines Right-aligning currency values on screen is handled by three variants of a magnitude-testing subroutine, each calibrated for a different screen region: - Lines 580–586: Right margin at column 29 (for 1040 Page 1, right side) - Lines 590–597: Negative number column positioning (right margin at column 28) - Lines 3100–3109 / 3110–3119: Left-panel columns for Schedule W display - Lines 8980–8986: City tax display columns Each subroutine sets the variable `K` by testing `R` against descending powers of 10, so the final value of `K` is the correct AT column for right-aligned display. Because the tests are sequential `IF` statements without `ELSE`, every condition is evaluated, and the last matching condition wins — a standard Sinclair BASIC idiom for magnitude dispatch. ### Machine Code Usage `RANDOMIZE USR 64716` is called at several points (lines 869, 1040, 2042, 2295, 2591, 3056, 6047, 7182, 9930) to invoke a machine code routine at address 64716. The REM at line 9098 — `LOAD "TASMAN" CODE : RANDOMIZE USR 64719` — indicates this is a third-party screen dump/printer driver called “TASMAN” (likely the Tasman printer interface software), loaded separately before the BASIC program runs. The slightly different entry points (64716 vs. 64719) suggest different entry points for print and initialization within the same code block. ### Variable Reset Strategy Lines 9000–9023 initialize all program variables to zero using the expression `NOT PI`. In Sinclair BASIC, `PI` is non-zero, so `NOT PI` evaluates to 0 (false). This is functionally identical to `LET x=0` but was likely a stylistic or mnemonic choice by the author. All major variable groups are reset in sequence: 1040 variables, city tax variables, Schedule W variables, Ohio tax variables, and Schedule A/B variables. ### Ohio Tax Module (Lines 6000–6325) The Ohio tax calculation at lines 6250–6325 implements a piecewise linear tax function with eight income brackets (up to $5,000, $10,000, $15,000, $20,000, $40,000, $80,000, $100,000, and above). The module computes tax two ways — once with the standard exemption (`O6`) and once with an additional exemption for dependents (`O66`) — and selects the more favorable result at lines 6092–6094. The joint filing credit at lines 6150–6200 scales from 20% down to 5% depending on income level. ### City Tax Module (Lines 7000–7290) The city tax module handles up to three income sources (`Z1A`, `Z1B`, `Z1C`) with corresponding withheld amounts, a Schedule J income entry, and configurable tax rates entered as variables `T3A` (city rate), `T5BB` (out-of-city rate), and `P` (tax credit rate). Input is string-based (`INPUT R$` at line 7165), using codes like `"AA"`, `"AAAA"`, `"BBBB"`, `"CCCC"` to select fields — a workaround that allows alphanumeric menu codes where numeric INPUT would be ambiguous. The subroutine at line 8980 provides city-panel-specific column positioning. ### Bugs and Anomalies - Line 836 is referenced from line 628 (`IF A=25 THEN GO TO 836`) but does not exist in the listing; this would cause a BASIC error if option 25 is selected from the Page 1 menu. The intended target may be line 830. - Line 700 sets `LET A6=BX` — the variable `BX` is never defined anywhere in the program; this should almost certainly be `BOX`. As a result, `A6` (exemption count) would always be set to 0 from this path. - Line 560 is called at line 710 (`GO SUB 560`) but does not exist; the intended subroutine is likely at line 580. - Line 905 prints `A12` instead of `A13` at the capital gains row: `PRINT AT 6,K;A12` — a copy-paste error that causes the wrong value to display. - Line 7145 contains a syntax anomaly: `PRINT AT 17,22;" ";17,K;T12` is missing the `AT` keyword before the second position, which would cause a syntax error at runtime when `R<0`. - Lines 590–591 both test `R<-0` and `R<-1` respectively and set `K=27` in both cases; since `-0 = 0`, the first condition `R<-0` is equivalent to `R<0` and will always be true for negative numbers, making line 591 redundant. - The `DIM T$(17,29)` at line 9099 and the subsequent `GO TO 80` at line 9120 indicate this initialization block is intended to run only once at first load (jumping to the DATA block entry, then to line 100 via line 49). Re-running `GO TO 9099` would re-dimension the array and clear all string data. ## Source Code ``` 49 GO TO 100 50 LET l=A37:LET l=l/100:LET data=74+(BOX*4)- INT ((BOX=5)*12) 52 IF NOT sch AND A37<50000 THEN GO TO 56 54 GO SUB 68:LET tax= INT (l*100+.5)/100:RETURN 56 IF ((BOX=1 OR BOX=4) AND A37 <=2480) OR ((BOX=2 OR BOX=5) AND A37 <=3670) OR ((BOX=3) AND A37 <=1850) THEN LET tax=0:RETURN 58 LET br=25+((l>30)*25):LET b1= INT (A37/br):LET b2=b1*br:LET b3=b2+br:LET l=b2/100 60 GO SUB 68:LET l1=l:LET l=b3/100 62 GO SUB 68:LET l2=l 64 LET tax= INT ((l1+l2)/2+.5) 66 RETURN 68 RESTORE data:LET lo=0 70 FOR f=1 TO 15+(BOX=1) 72 READ h1,plus,pct 74 IF l>lo AND l <=h1 THEN LET l=(l-lo)*pct+plus:RETURN 76 LET lo=h1:NEXT f:RETURN 78 DATA 24.8,0,0,36.7,0,11,47.5,131.9-sch,12,70.1,260.5,14,91.7,576.9,15,116.5,900.9,16,139.2,1297.7,18,161.9,1706.3,20,196.4,2160.3,23 80 DATA 253.6,2953.8,26,310.8,4441,30,368,6157,34,447.8,8101.8,38,596.7,11134.2,42,882.7,17388,48,1E36,31116,50 82 DATA 36.7,0,0,59.4,0-((A37>3670) AND (A37<3700))+sch,11,82,249.7,12,128.4,520.9,14,172.7,1170.5,16,218,1879.3,18,265.5,2694.7,22,322.7,3739.7,25 84 DATA 379.8,5169.7,28,494.2,6768.5,33,647.5,10543.7,38,923.7,16369.1,42,1180.5,27969.5,45,1752.5,39525.5,49,1E36,67553.5,50 86 DATA 18.35,0,0,29.7,0,11,41,124.85,12,64.2,260.45,14,86.35,585.25,16,109,939.65,18,132.75,1347.35,22,161.35,1869.85,25 88 DATA 189.9,2584.85,28,247.1,3384.25,33,323.75,5271.85,38,461.85,8184.55,42,590.25,13984.75,45,876.25,19762.75,49,1E36,33776.75,50 90 DATA 24.8,0,0,47.5,0,11,70.1,249.7,12,93.9,520.9,14,127.3,854.1,17,161.9,1421.9,18,196.4,2044.7,20,253.6,2734.7,24 92 DATA 310.8,4107.5,28,368,5709.1,32,482.4,7539.5,35,653.9,11543.5,42,882.7,18746.5,45,1168.7,29042.5,48,1E36,42770.5,50 100 CLS :POKE 23658,8:POKE 23609,40 103 PRINT AT 0,2;"\{16}\{2}\{20}\{1} \{20}\{0} I R S *1 9 8 6* \{20}\{1} \{20}\{0}\{16}\{0}";'' TAB 6;"SCHEDULE 1040"; TAB 23;"\{16}\{4}ENTER\{16}\{0}" 107 PRINT AT 3,12;"PAGE 1.......1"; TAB 12;"PAGE 2.......2" 111 PRINT AT 6,6;"SCHEDULE -A-.......3";''; TAB 6;"SCHEDULE -B-.......4";'' TAB 6;"SCHEDULE -W-.......6";'' TAB 6;"OHIO TAX...........7";'' TAB 6;"CITY TAX...........8";'' TAB 6;"RESET TO ""0"".......9" 130 PRINT AT 18,0;"\{16}\{2}ALGIS E. GEDRIS JAN. 19, 1987\{16}\{0}" 131 REM PRINT AT 19,0;"\{16}\{1}TASMAN - SG/10 ALL-UP\{16}\{0}" 132 PRINT AT 20,20;"TAPE......11";'"\{16}\{4}OPTION?\{16}\{0}"; TAB 20;"STOP......12" 140 INPUT A 142 IF A=1 THEN GO TO 600 144 IF A=2 THEN GO TO 1000 146 IF A=3 THEN GO TO 2000 148 IF A=4 THEN GO TO 2500 150 IF A=6 THEN GO TO 3000 152 IF A=7 THEN GO TO 6000 155 IF A=8 THEN GO TO 7000 157 IF A=9 THEN GO TO 9000 158 IF A=11 THEN GO TO 9900 159 IF A=12 THEN STOP 160 PRINT INK 2; FLASH 1; AT 21,0;"INVALID":PAUSE 50:GO TO 100 500 REM \{16}\{2}1040 PAGE 1\{16}\{0} 505 CLS 510 PRINT AT 0,5;"\{18}\{1}\{16}\{2}6\{16}\{0}\{18}\{0} EXEMPTION No...";' TAB 2;"// 7 WAGES..........";' TAB 2;"/ 8 INTEREST.......";' TAB 2;"/ 9 DIVIDENDS......";' TAB 2;"I 10 REFUNDS(TAX)..";' TAB 2;"N 12 BUSINESS INCOME";' TAB 2;"C 13 CAPITAL GAIN...";' TAB 2;"O 14 40% CAP GAIN...";' TAB 2;"M 15 SUPLEMENT GAIN.";' TAB 2;"E 16 TAXLE PENSIONS.";' TAB 2;"/ 17 PENSION ROLLOV.";' TAB 2;"/ 18 RENTS.........." 534 PRINT AT 12,2;"//22 OTHER INCOME...";' TAB 4;"23 TOTAL..........";' TAB 4;"25 BUSINESS EXPENC";' TAB 4;"26 IRA DEDUCTION..";' TAB 4;"28 PENALTY........";' TAB 4;"30 MARRIED COUPLE.";' TAB 4;"31 TOTAL ADJUST...";' TAB 4;"32 GROSS INCOME...";' TAB 10;"\{16}\{4}BALANCE..\{16}\{0}2 \{16}\{4}1040 Pg2.\{16}\{0}3";' TAB 10;"\{16}\{4}C0PY.....\{16}\{0}4 \{16}\{4}RETURN...\{16}\{0}5" 554 PRINT AT 6,0;"1"'"0"'"4"'"0"''"P"'"A"'"G"'"E"''"1" 575 GO TO 603 580 IF R<1000000 THEN LET K=23 581 IF R<100000 THEN LET K=24 582 IF R<10000 THEN LET K=25 583 IF R<1000 THEN LET K=26 584 IF R<100 THEN LET K=27 585 IF R<10 THEN LET K=28 586 RETURN 590 IF R<-0 THEN LET K=27 591 IF R<-1 THEN LET K=27 592 IF R<-10 THEN LET K=26 593 IF R<-100 THEN LET K=25 594 IF R<-1000 THEN LET K=24 595 IF R<-10000 THEN LET K=23 596 IF R<-100000 THEN LET K=22 597 RETURN 601 CLS 602 GO SUB 510 603 GO SUB 875 604 PRINT INK 4; AT 21,0;"OPTION " 605 INPUT A 611 IF A=2 THEN GO TO 9500 612 IF A=3 THEN GO TO 1000 613 IF A=4 THEN GO TO 869 614 IF A=5 THEN GO TO 100 615 IF A=6 THEN GO TO 700 616 IF A=7 THEN GO TO 710 617 IF A=8 THEN GO TO 720 618 IF A=9 THEN GO TO 730 619 IF A=10 THEN GO TO 740 620 IF A=12 THEN GO TO 750 621 IF A=13 THEN GO TO 760 622 IF A=14 THEN GO TO 770 623 IF A=15 THEN GO TO 780 624 IF A=16 THEN GO TO 790 625 IF A=17 THEN GO TO 800 626 IF A=18 THEN GO TO 810 627 IF A=22 THEN GO TO 820 628 IF A=25 THEN GO TO 836 629 IF A=26 THEN GO TO 840 630 IF A=28 THEN GO TO 850 633 PRINT AT 21,0;"\{18}\{1}\{19}\{1}\{16}\{2}INVALID\{16}\{0}\{18}\{0}\{18}\{0}" 634 PAUSE 50:GO TO 604 700 PRINT AT 0,24;"\{16}\{4}NUMBER\{16}\{0}" 702 INPUT BOX:LET A6=BX 704 PRINT AT 0,24;" " 705 PRINT AT 0,28;A6:GO TO 605 710 PRINT AT 1,22;"\{16}\{4}YOUR INCOM\{16}\{0}":INPUT W1:PRINT AT 1,22;"\{16}\{4}WIFE INCOM\{16}\{0}":INPUT W11:LET A7=W1+W11:PRINT AT 1,22;" ":LET R=A7:GO SUB 560:PRINT AT 1,K;A7:GO TO 605 720 PRINT AT 2,22;"\{16}\{4}\{16}\{0} \{16}\{4}AMOUNT\{16}\{0} ":INPUT B:LET A8=A8+B:PRINT AT 2,22;" ":LET R=A8:GO SUB 580:PRINT AT 2,K;A8:GO TO 605 730 PRINT AT 3,22;"\{16}\{4}\{16}\{0} \{16}\{4}AMOUNT\{16}\{0} ":INPUT B:LET A9=A9+B:PRINT AT 3,22;" ":LET R=A9:GO SUB 580:PRINT AT 3,K;A9:GO TO 605 740 PRINT AT 4,22;"\{16}\{4}\{16}\{0} \{16}\{4}AMOUNT\{16}\{0} ":INPUT B:LET A10=A10+B:PRINT AT 4,22;" ":LET R=A10:GO SUB 580:PRINT AT 4,K;A10:GO TO 605 750 PRINT AT 5,22;" \{16}\{4}AMOUNT\{16}\{0} ":INPUT B:LET A12=A12+B:PRINT AT 5,22;" ":LET R=A12:GO SUB 580:PRINT AT 5,K;A12:GO TO 605 760 PRINT AT 6,22;" \{16}\{4}AMOUNT\{16}\{0} ":INPUT B:LET A13=A13+B:PRINT AT 6,22;" ":LET R=A13:GO SUB 580:PRINT AT 6,K;A13:GO TO 605 770 PRINT AT 7,22;" \{16}\{4}AMOUNT\{16}\{0} ":INPUT B:LET A14=A14+B:PRINT AT 7,22;" ":LET R=A14:GO SUB 580:PRINT AT 7,K;A14:GO TO 605 780 PRINT AT 8,22;" \{16}\{4}AMOUNT\{16}\{0} ":INPUT B:LET A15=A15+B:PRINT AT 8,22;" ":LET R=A15:GO SUB 580:PRINT AT 8,K;A15:GO TO 605 790 PRINT AT 9,22;" \{16}\{4}AMOUNT\{16}\{0} ":INPUT B:LET A16=A16+B:PRINT AT 9,22;" ":LET R=A16:GO SUB 580:PRINT AT 9,K;A16:GO TO 605 800 PRINT AT 10,22;" \{16}\{4}AMOUNT\{16}\{0} ":INPUT B:LET A17=A17+B:PRINT AT 10,22;" ":LET R=A17:GO SUB 580:PRINT AT 10,K;A17:GO TO 605 810 PRINT AT 11,22;" \{16}\{4}AMOUNT\{16}\{0} ":INPUT B:LET A18=A18+B:PRINT AT 11,22;" ":LET R=A18:GO SUB 815:PRINT AT 11,K;A18:GO TO 605 815 IF A18 >=0 THEN GO SUB 580 816 IF A18<0 THEN GO SUB 590 817 RETURN 820 PRINT AT 12,22;" \{16}\{4}AMOUNT\{16}\{0} ":INPUT B:LET A22=A22+B:PRINT AT 12,22;" ":LET R=A22:GO SUB 580:PRINT AT 12,K;A22:GO TO 605 830 PRINT AT 14,22;" \{16}\{4}AMOUNT\{16}\{0} ":INPUT B:LET A25=A25+B:PRINT AT 14,22;" ":LET R=A25:GO SUB 580:PRINT AT 14,K;A25:GO TO 605 840 PRINT AT 15,22;" \{16}\{4}AMOUNT\{16}\{0} ":INPUT B:LET A26=A26+B:PRINT AT 15,22;" ":LET R=A26:GO SUB 580:PRINT AT 15,K;A26:GO TO 605 850 PRINT AT 16,22;" \{16}\{4}AMOUNT\{16}\{0} ":INPUT B:LET A28=A28+B:PRINT AT 16,22;" ":LET R=A28:GO SUB 580:PRINT AT 16,K;A28:GO TO 605 860 PRINT AT 17,22;" \{16}\{4}AMOUNT\{16}\{0} ":LET A28=A28+B:LET R=A30:GO SUB 580:PRINT AT 17,K;A30:GO TO 605 869 PRINT AT 20,0;" "; AT 21,0;" ":RANDOMIZE USR 64716:GO TO 100 875 PRINT AT 0,22;" "; AT 0,28;A6 880 PRINT AT 1,22;" ":LET R=A7:GO SUB 580:PRINT AT 1,K;A7 885 PRINT AT 2,22;" ":LET R=A8:GO SUB 580:PRINT AT 2,K;A8 890 PRINT AT 3,22;" ":LET R=A9:GO SUB 580:PRINT AT 3,K;A9 895 PRINT AT 4,22;" ":LET R=A10:GO SUB 580:PRINT AT 4,K;A10 900 PRINT AT 5,22;" ":LET R=A12:GO SUB 901:PRINT AT 5,K;A12:GO TO 905 901 IF A12 >=0 THEN GO SUB 580:RETURN 902 IF A12<0 THEN GO SUB 590 904 RETURN 905 PRINT AT 6,22;" ":LET R=A13:GO SUB 580:PRINT AT 6,K;A12 910 PRINT AT 7,22;" ":LET R=A14:GO SUB 580:PRINT AT 7,K;A14 915 PRINT AT 8,22;" ":LET R=A15:GO SUB 580:PRINT AT 8,K;A15 920 PRINT AT 9,22;" ":LET R=A16:GO SUB 580:PRINT AT 9,K;A16 925 PRINT AT 10,22;" ":LET R=A17:GO SUB 580:PRINT AT 10,K;A17 930 PRINT AT 11,22;" ":LET R=A18:GO SUB 931:PRINT AT 11,K;A18:GO TO 935 931 IF A18 >=0 THEN GO SUB 580 932 IF A18<0 THEN GO SUB 590 934 RETURN 935 PRINT AT 12,22;" ":LET R=A22:GO SUB 580:PRINT AT 12,K;A22 940 PRINT AT 14,22;" ":LET R=A25:GO SUB 580:PRINT AT 14,K;A25 945 PRINT AT 15,22;" ":LET R=A26:GO SUB 580:PRINT AT 15,K;A26 950 PRINT AT 16,22;" ":LET R=A28:GO SUB 580:PRINT AT 16,K;A28 955 PRINT AT 17,22;" ":LET R=A30:GO SUB 580:PRINT AT 17,K;A30 960 RETURN 1000 REM \{16}\{2}1040 PAGE 2\{16}\{0} 1001 CLS 1005 PRINT T$(1),T$(2),T$(3),T$(4),T$(5),T$(6),T$(7),T$(8),T$(9),T$(10),T$(11),T$(12),T$(13),T$(14),T$(15),T$(16),T$(17) 1006 PRINT INK 4; AT 20,11;"BALANCE...2 COPY...3"; AT 21,0;"INPUTS RETURN....4 TAPE...5" 1007 LET A33=A32:LET A35=A33-A34:LET A35= INT (A35*100+.5)/100:LET A36=A6*\{16}\{2}1080\{16}\{0}:LET A37=A35-A36 1009 LET R=A33:GO TO 1027 1010 LET R=A34:GO TO 1032 1011 LET R=A35:GO TO 1032 1012 LET R=A36:GO TO 1032 1013 LET R=A37:GO TO 1032 1014 GO SUB 50:LET A38=tax:LET R=tax:GO TO 1032 1015 LET R=A39:GO TO 1032 1016 LET R=A40:GO TO 1032 1017 LET R=A41:GO TO 1032 1018 LET R=A42:GO TO 1032 1019 LET R=A43:GO TO 1032 1020 LET R=A55:GO TO 1032 1021 LET R=A56:GO TO 1032 1022 LET R=A60:GO TO 1032 1023 LET R=A63:GO TO 1032 1024 LET R=A64:GO TO 1032 1025 LET R=A67:GO TO 1032 1026 GO TO 1033 1027 FOR I=0 TO 16 1028 IF R >=0 THEN GO SUB 580:GO TO 1029 1029 IF R<0 THEN GO SUB 590 1030 PRINT AT I,20;" "; AT I,K;R 1031 GO TO 1010+I 1032 NEXT I 1033 INPUT R 1039 IF R=2 THEN GO TO 1115 1040 IF R=3 THEN PRINT AT 20,0;" ":PRINT AT 21,0;" ":RANDOMIZE USR 64716:GO TO 100 1041 IF R=4 THEN GO TO 100 1042 IF R=5 THEN GO TO 9900 1043 IF R=34 THEN GO TO 1060 1045 IF R=39 THEN GO TO 1070 1046 IF R=41 THEN GO TO 1075 1047 IF R=42 THEN GO TO 1080 1048 IF R=43 THEN GO TO 1085 1049 IF R=56 THEN GO TO 1090 1050 IF R=60 THEN GO TO 1095 1055 PRINT INK 2; FLASH 1; AT 21,0;"INVALID":PAUSE 50:PRINT AT 21,0;" ":GO TO 1033 1060 PRINT INK 4; AT 1,22;" AMOUNT " 1061 INPUT A34 1062 LET R=A34:GO SUB 580:PRINT AT 1,22;" ":PRINT AT 1,K;A34:GO TO 1110 1070 PRINT INK 4; AT 6,22;" AMOUNT " 1071 INPUT A39:LET R=A39:GO SUB 580:PRINT AT 6,22;" ":PRINT AT 6,K;A39:GO TO 1115 1075 PRINT INK 4; AT 8,22;" AMOUNT " 1076 INPUT A41:LET R=A41:GO SUB 580:PRINT AT 8,22;" ":PRINT AT 8,K;A41:GO TO 1115 1080 PRINT INK 4; AT 9,22;" AMOUNT " 1081 INPUT A42:LET R=A42:GO SUB 580:PRINT AT 9,22;" ":PRINT AT 9,K;A42:GO TO 1115 1085 PRINT INK 4; AT 10,22;" AMOUNT " 1086 INPUT A43:LET A43=A43/2:GO SUB 1600:LET R=A43:GO SUB 580:PRINT AT 10,22;" ":PRINT AT 10,K;A43:GO TO 1115 1090 PRINT INK 4; AT 12,22;" AMOUNT " 1091 INPUT A56:LET R=A56:GO SUB 580:PRINT AT 12,22;" ":PRINT AT 12,K;A56:GO TO 1115 1095 PRINT INK 4; AT 13,22;" AMOUNT " 1096 INPUT A60:LET R=A60:GO SUB 580:PRINT AT 13,22;" ":PRINT AT 13,K;A60:GO TO 1115 1110 LET A35=A33-A34:LET A37=A35-A36:GO TO 1500 1115 LET A40=A38+A39:LET A55=A40-A41-A42-A43:LET A63=A56+A60:LET A64=A63-A55 1116 IF A64 >=0 THEN LET A64=A64:LET A67=0:GO TO 1009 1117 IF A64<0 THEN LET A67= ABS A64:LET A64=0:GO TO 1009 1600 IF BOX=1 OR BOX=3 OR BOX=4 OR BOX=5 THEN LET RR=50:GO TO 1620 1610 IF BOX=2 THEN LET RR=100:GO TO 1630 1615 RETURN 1620 IF A43>RR THEN LET A43=50:RETURN 1630 IF A43>RR THEN LET A43=100:RETURN 1635 RETURN 2000 REM \{16}\{2}SCHEDULE A\{16}\{0} 2002 CLS 2004 LET AA6=O13+T5A+T16-T19 2005 PRINT AT 0,3;"1 MEDICINE........":PRINT AT 0,21; INK 4;"YES-1/NO-0" 2006 INPUT A 2007 IF A=0 THEN GO TO 2009 2008 IF A=1 THEN GO TO 2200 2009 PRINT " MEDICINE........":PRINT AT 1,3;"6 STATE,CITY TAX.."; AT 2,3;"7 REAL ESTATE TAX."; AT 3,3;"8 GENERAL SALES...":PRINT "S 80 CAR TAX.........","C 9 PERSONAL PROP TX","H TAXES TOTAL","E 11 HOME INTEREST...","D 12 CREDIT CARD INT.","U INTEREST TOTAL","L 15 CONTRIBUTIONS...","E 16 "" NOT CASH...."," CONTR. TOTAL"," 20 UNION DUES......","A 22 OTHER..........."," T0TAL"," SUB TOTAL......."," \{18}\{1}\{16}\{2}25\{18}\{0}\{16}\{0} STATUS \{16}\{2}BOX >\{16}\{0}"," SCHED A TOTAL...":PRINT AT 17,18;BOX 2010 PRINT AT 21,0;"OPTION?":PRINT AT 20,21;" COPY.....3":PRINT AT 21,21;" RETURN...4" 2015 LET R=AA5:GO TO 2036 2016 LET R=AA6:GO TO 2040 2017 LET R=AA7:GO TO 2040 2018 LET R=AA8:GO TO 2040 2019 LET R=AA80:GO TO 2040 2020 LET R=AA9:GO TO 2040 2021 LET R=AA10:GO TO 2040 2022 LET R=AA11:GO TO 2040 2023 LET R=AA12:GO TO 2040 2024 LET R=AA14:GO TO 2040 2025 LET R=AA15:GO TO 2040 2026 LET R=AA16:GO TO 2040 2027 LET R=AA18:GO TO 2040 2028 LET R=AA20:GO TO 2040 2029 LET R=AA22:GO TO 2040 2030 LET R=AA23:GO TO 2040 2031 LET R=AA24:GO TO 2040 2032 LET R=AA25:GO TO 2040 2033 LET R=AA26:GO TO 2040 2035 GO TO 2041 2037 FOR I=0 TO 18:LET R= INT (R*100+.5)/100:GO SUB 580:PRINT AT I,21;" "; AT I,K;R:GO TO 2016+I 2040 NEXT I 2041 INPUT R 2042 IF R=3 THEN PRINT AT 20,0;" ":RANDOMIZE USR 64716:GO TO 100 2043 IF R=4 THEN GO TO 100 2044 IF R=6 THEN GO TO 2060 2045 IF R=7 THEN GO TO 2063 2046 IF R=8 THEN GO TO 2066 2047 IF R=80 THEN GO TO 2069 2048 IF R=9 THEN GO TO 2072 2049 IF R=11 THEN GO TO 2075 2050 IF R=12 THEN GO TO 2078 2051 IF R=15 THEN GO TO 2081 2052 IF R=16 THEN GO TO 2084 2053 IF R=20 THEN GO TO 2087 2054 IF R=22 THEN GO TO 2090 2055 IF R=25 THEN GO TO 2093 2060 PRINT INK 4; AT 1,21;" AMOUNT ":INPUT AA6:GO TO 2150 2063 PRINT INK 4; AT 2,21;" AMOUNT ":INPUT AA7:GO TO 2150 2066 PRINT INK 4; AT 3,21;" AMOUNT ":INPUT AA8:LET AA8=AA8*\{16}\{2}1.3\{16}\{0}:GO TO 2150 2069 PRINT INK 4; AT 4,21;" AMOUNT ":INPUT AA80:GO TO 2150 2072 PRINT INK 4; AT 5,21;" AMOUNT ":INPUT AA9:GO TO 2150 2075 PRINT INK 4; AT 7,21;" AMOUNT ":INPUT AA11:GO TO 2150 2078 PRINT INK 4; AT 8,21;" AMOUNT ":INPUT AA12:GO TO 2150 2081 PRINT INK 4; AT 10,21;" AMOUNT ":INPUT AA15:GO TO 2150 2084 PRINT INK 4; AT 11,21;" AMOUNT ":INPUT AA16:GO TO 2150 2087 PRINT INK 4; AT 13,21;" AMOUNT ":INPUT AA20:GO TO 2150 2090 PRINT INK 4; AT 14,21;" AMOUNT ":INPUT AA22:GO TO 2150 2093 PRINT AT 17,18;"\{18}\{1}\{16}\{4}???\{16}\{0}\{18}\{0}":INPUT BOX:PRINT AT 17,18;" "; AT 17,18;BOX 2094 IF BOX=1 THEN LET AA25\{18}\{1}=\{18}\{0}2480\{18}\{0}:GO TO 2150 2095 IF BOX=2 THEN LET AA25=3670:GO TO 2150 2096 IF BOX=3 THEN LET AA25=1835:GO TO 2150 2097 IF BOX=4 THEN LET AA25=2480:GO TO 2150 2098 \{18}\{0} IF BOX=5 THEN LET \{16}\{0}AA25\{18}\{1}=\{18}\{0}3670:GO TO 2150 2099 RETURN 2150 LET AA10=AA9+AA80+AA8+AA7+AA6:LET AA14=AA12+AA11:LET AA18=AA16+AA15:LET AA23=AA22+AA20:LET AA24=AA5+AA10+AA14+AA18+AA23:LET AA26=AA24-AA25:LET AA26= INT (AA26*100+.5)/100:LET A34=AA26 2151 IF AA26<0 THEN LET AA26=0:LET A34=AA26 2152 GO TO 2015 2199 GO TO 100 2201 CLS 2202 PRINT AT 0,0;"\{20}\{1}>>>>>>\{20}\{0} MEDICAL AND DENTAL \{20}\{1}<<<<<<\{20}\{0}"; AT 1,12;"EXPENSES" 2205 PRINT AT 3,2;"1 DRUGS............"; AT 4,2;"2 DOCTORS.........."; AT 5,4;"TRANSPORTATION..."; AT 6,4;"HEARING AID......"; AT 7,4;"DENTURES.........."; AT 8,4;"GLASSES.........."; AT 9,4;"OTHERS..........."; AT 10,21;"-----------"; AT 11,2;"3 TOTAL............"; AT 12,2;"4 1040 LINE 33-5%.."; AT 13,21;"-----------"; AT 14,2;"5 MEDICAL TOTAL...."; AT 20,21;"COPY.....2"; AT 21,0;"INPUTS SCHED-A-.3" 2210 PRINT AT 3,21;" \{16}\{4}AMOUNT\{16}\{0} ":INPUT AA1:LET R=AA1:GO SUB 580:PRINT AT 3,21;" "; AT 3,K;AA1 2220 PRINT AT 4,21;" \{16}\{4}AMOUNT\{16}\{0} ":INPUT AA2:LET R=AA2:GO SUB 580:PRINT AT 4,21;" "; AT 4,K;AA2 2230 PRINT AT 5,21;" \{16}\{4}AMOUNT\{16}\{0} ":INPUT AA224:LET R=AA224:GO SUB 580:PRINT AT 5,21;" "; AT 5,K;AA224 2240 PRINT AT 6,21;" \{16}\{4}AMOUNT\{16}\{0} ":INPUT AA225:LET R=AA225:GO SUB 580:PRINT AT 6,21;" "; AT 6,K;AA225 2250 PRINT AT 7,21;" \{16}\{4}AMOUNT\{16}\{0} ":INPUT AA226:LET R=AA226:GO SUB 580:PRINT AT 7,21;" "; AT 7,K;AA226 2260 PRINT AT 8,21;" \{16}\{4}AMOUNT\{16}\{0} ":INPUT AA227:LET R=AA227:GO SUB 580:PRINT AT 8,21;" "; AT 8,K;AA227 2270 PRINT AT 9,21;" \{16}\{4}AMOUNT\{16}\{0} ":INPUT AA228:LET R=AA228:GO SUB 580:PRINT AT 9,21;" "; AT 9,K;AA228 2280 LET AA3=AA228+AA227+AA226+AA225+AA224+AA2+AA1:LET R=AA3:GO SUB 580:PRINT AT 11,K;AA3 2282 LET AA4=A32*.05:LET AA4= INT (AA4*100+.5)/100:LET R=AA4:GO SUB 580:PRINT AT 12,K;AA4 2285 LET AA5=AA3-AA4 2287 IF AA5<0 THEN LET R=AA5:GO SUB 590:PRINT AT 14,K;AA5:LET AA5=0:GO TO 2290 2289 IF AA5 >=0 THEN LET R=AA5:GO SUB 580:PRINT AT 14,K;AA5 2290 PRINT FLASH 1; INK 2; AT 20,14;">>>>>"; AT 21,14;">>>>>" 2291 INPUT C 2292 IF C=2 THEN GO TO 2295 2293 IF C=3 THEN CLS 2294 PRINT AT 0,3;"1 MEDICINE........":GO TO 2009 2295 PRINT AT 20,0;" "; AT 21,0;" ":RANDOMIZE USR 64716:CLS 2297 PRINT AT 0,3;"1 MEDICINE........":GO TO 2009 2299 STOP 2500 REM \{16}\{2}SCHEDULE B\{16}\{0} 2502 CLS 2505 PRINT AT 0,0;"\{20}\{1}>>>>>\{20}\{0} S C H E D U L E -B- \{20}\{1}<<<<<\{20}\{0}" 2510 PRINT AT 3,3;"1 MORTGAGE.......":PRINT INK 4; AT 3,21;" AMOUNT " 2515 INPUT "\{16}\{2}IF NONE ENTER >> 0 << \{16}\{0}";B1 2516 LET R=B1:GO SUB 580:PRINT AT 3,21;" ":PRINT AT 3,K;B1 2520 PRINT AT 4,3;"2 INTEREST.......":PRINT INK 4; AT 4,21;" AMOUNT ":LET BB2=4 2525 INPUT "\{16}\{2}IF NONE ENTER >> 0 << \{16}\{0}";B2B 2530 IF B2B=0 THEN GO TO 2580 2531 LET BB2=BB2+1 2532 IF B2B>0 THEN LET R=B2B:GO SUB 580:PRINT AT BB2,K;B2B:LET B2=B2+B2B:GO TO 2525 2580 PRINT AT BB2+1,21;"-----------":PRINT AT 4,21;" ":LET B3=B2+B1:LET R=B3:GO SUB 580:PRINT AT BB2+2,K;B3:PRINT AT BB2+2,3;"3 TOTAL":LET A8=B3 2585 PRINT AT 20,21;"COPY.....2":PRINT AT 21,0;"INPUTS RETURN...3" 2586 PRINT FLASH 1; INK 2; AT 20,15;">>>>>"; AT 21,15;">>>>>" 2590 INPUT W 2591 IF W=2 THEN PRINT AT 20,15;" ":PRINT AT 21,0;" ":RANDOMIZE USR 64716:GO TO 100 2592 IF W=3 THEN GO TO 100 2600 STOP 3000 REM \{16}\{2}SCHEDULE W\{16}\{0} 3002 CLS 3005 PRINT AT 0,0;"\{20}\{1}>>>>>\{20}\{0} S C H E D U L E -W- \{20}\{1}<<<<<<\{20}\{0}" 3007 PRINT AT 2,12;"(A) YOU (B) SPOUSE" 3010 PRINT AT 3,0;"1 WAGES":PRINT AT 5,0;"2 INC/LOSS":PRINT AT 7,0;"3 TOTAL":PRINT AT 9,0;"4 ADJUST.":PRINT AT 11,0;"5 QUALIFY":PRINT AT 13,0;"6 SMALLER":PRINT AT 15,0;"7 10%":PRINT AT 16,20;"------------":PRINT AT 17,0;"8 DEDUCTION" 3012 LET R=W1:GO SUB 3100:PRINT AT 3,K;W1:LET R=W11:GO SUB 580:PRINT AT 3,K;W11 3014 PRINT INK 4; AT 5,11;"YOU-Y/SPOUSE-S/B0TH-B" 3015 INPUT W$ 3016 IF W$="Y" THEN LET W2=A18:LET W12=0:PRINT AT 5,10;" ":LET R=W2:IF R >=0 THEN GO SUB 3100:PRINT AT 5,K;W2:GO TO 3030 3017 IF R<0 THEN GO SUB 3110:PRINT AT 5,K;W2:GO TO 3030 3019 IF W$="S" THEN LET W12=A18:LET W2=0:PRINT AT 5,10;" ":LET R=W12:IF R >=0 THEN GO SUB 580:PRINT AT 5,K;W12:GO TO 3030 3020 IF R<0 THEN GO SUB 590:PRINT AT 5,K;W12:GO TO 3030 3022 IF W$="B" THEN LET W12=A18/2:PRINT AT 5,10;" ":LET R=W12:IF R >=0 THEN GO SUB 580:PRINT AT 5,K;W12:GO TO 3025 3023 IF R<0 THEN GO SUB 590:PRINT AT 5,K;W12 3025 LET W2=A18/2:LET R=W2:IF R >=0 THEN GO SUB 3100:PRINT AT 5,K;W2:GO TO 3030 3026 IF R<0 THEN GO SUB 3110:PRINT AT 5,K;W2 3030 LET W3=W1+W2:LET R=W3:GO SUB 3100:PRINT AT 7,K;W3 3031 PRINT AT 6,10;"----------------------" 3033 LET W13=W12+W11:LET R=W13:GO SUB 580:PRINT AT 7,K;W13 3034 PRINT INK 4; AT 9,13;"LINE A25 ":INPUT AA:PRINT AT 9,13;" " 3035 LET W4=A26/2+AA:LET R=W4:GO SUB 3100:PRINT AT 9,K;W4 3038 LET W5=W3-W4:LET W5= INT (W5*100+.5)/100:LET R=W5:GO SUB 3100:PRINT AT 11,K;W5 3039 PRINT INK 4; AT 9,24;"LINE A25 ":INPUT BB:PRINT AT 9,24;" " 3040 LET W14=A26/2+BB:LET R=W14:GO SUB 580:PRINT AT 9,K;W14 3043 LET W15=W13-W14:LET R=W15:GO SUB 580:PRINT AT 11,K;W15 3045 IF W5>>>>"; AT 21,15;">>>>>" 3055 INPUT W 3056 IF W=2 THEN PRINT AT 20,15;" "; AT 21,0;" ":RANDOMIZE USR 64716:GO TO 100 3057 IF W=3 THEN GO TO 100 3100 IF R<1000000 THEN LET K=12 3101 IF R<100000 THEN LET K=13 3102 IF R<10000 THEN LET K=14 3103 IF R<1000 THEN LET K=15 3104 IF R<100 THEN LET K=16 3105 IF R<10 THEN LET K=17 3109 RETURN 3110 IF R<-0 THEN LET K=16 3111 IF R<-1 THEN LET K=16 3112 IF R<-10 THEN LET K=15 3113 IF R<-100 THEN LET K=14 3114 IF R<-1000 THEN LET K=13 3115 IF R<-10000 THEN LET K=12 3116 IF R<-100000 THEN LET K=11 3119 RETURN 3500 STOP 6000 REM \{16}\{2}OHIO TAX\{16}\{0} 6005 CLS 6007 PRINT " 1 INCOME 1040-32-."," \{18}\{1}\{16}\{2}2\{16}\{0}\{18}\{0} OH ADJ(IF NO-0)\{18}\{1}\{16}\{2}>\{16}\{0}\{18}\{0}"," 3 GROSS INCOME....","O 4 EXEMPTION No....","H 5 ADDITIONAL EXEMP","I 6 TAXABLE INCOME..","O 7 TAXES(TAX TABLE)"," 8 CREDITS........."," 10 EXEMPT CREDIT...","T 11 BALANCE.........","A \{18}\{1}\{16}\{2}12\{16}\{0}\{18}\{0} JOINT CREDIT..\{18}\{1}\{16}\{2}>>\{16}\{0}\{18}\{0}","X 13 OHIO TAX.....DUE"," 14 TAX PAID........"," 18 AMOUNT YOU OWE.."," 23 REFUND.........." 6008 PRINT AT 3,18;A6:LET O4=A6*650 6009 LET O4=A6*650:PRINT AT 3,18;A6; AT 20,21;"COPY....21"; AT 21,0;"INPUTS RETURN..22"; AT 20,15;"\{18}\{1}\{16}\{2}>>>>>\{16}\{0}\{18}\{0}"; AT 21,15;"\{18}\{1}\{16}\{2}>>>>>\{16}\{0}\{18}\{0}" 6010 GO SUB 6015:GO TO 6042 6015 LET R=A32:GO TO 6036 6016 LET R=O2:GO TO 6040 6017 LET R=O3:GO TO 6040 6018 LET R=O4:GO TO 6040 6019 LET R=O5:GO TO 6040 6020 LET R=O6:GO TO 6040 6021 LET R=O7:GO TO 6040 6022 LET R=O8:GO TO 6040 6023 LET R=O10:GO TO 6040 6024 LET R=O11:GO TO 6040 6025 LET R=O12:GO TO 6040 6026 LET R=O13:GO TO 6040 6027 LET R=O14:GO TO 6040 6028 LET R=O18:GO TO 6040 6029 LET R=O23:GO TO 6040 6035 GO TO 6041 6036 FOR I=0 TO 14:LET R= INT (R*100+.5)/100:IF R >=0 THEN GO SUB 580:GO TO 6038 6037 IF R<0 THEN GO SUB 590 6038 PRINT AT I,21;" "; AT I,K;R 6039 GO TO 6016+I 6040 NEXT I 6041 RETURN 6042 INPUT R 6043 IF R=2 THEN GO TO 6050 6044 IF R=8 THEN GO TO 6080 6045 IF R=12 THEN GO TO 6150 6046 IF R=14 THEN GO TO 6205 6047 IF R=21 THEN PRINT AT 20,0;" "; AT 21,0;" ":RANDOMIZE USR 64716:GO TO 100 6048 IF R=22 THEN GO TO 100 6049 PRINT #1; AT 0,0;"\{16}\{2}INVALID\{16}\{0}":PAUSE 50:GO TO 6042 6050 PRINT INK 4; AT 1,21;" AMOUNT ":INPUT O2 6051 LET O3=A32+O2:LET O4=A6*650:LET O6=O3-O4:GO SUB 6015 6052 PRINT FLASH 1; INK 2; AT 5,21;">>"; AT 6,21;" AMOUNT " 6075 INPUT O7 6076 GO TO 6250 6077 LET O5=350*A6:LET O66=O3-O4-O5:LET R=O66:GO SUB 580:PRINT AT 5,23;" ":PRINT FLASH 1; INK 4; AT 5,K;O66 6078 INPUT O77 6079 GO TO 6290 6080 PRINT INK 4; AT 7,21;" AMOUNT ":INPUT O8 6088 LET O10=A6*20:LET O11=O7-O8-O10:LET O111=O77-O8 6092 IF O11O111 THEN LET O11=O111:LET O13=O11:LET O6=O66:LET O7=O77:LET O10=0:GO SUB 6015:GO TO 6042 6150 IF O6 <=25000 THEN GO TO 6160 6152 IF O6 <=50000 THEN GO TO 6170 6153 IF O6 <=75000 THEN GO TO 6180 6154 IF O6>75000 THEN GO TO 6190 6160 LET O12=.2*O11:GO TO 6200 6170 LET O12=.15*O11:GO TO 6200 6180 LET O12=.1*O11:GO TO 6200 6190 LET O12=.05*O11 6200 LET O13=O11-O12:GO TO 6210 6205 PRINT INK 4; AT 12,21;" AMOUNT ":INPUT O14 6210 LET O13=O11-O12:LET O18=O13-O14 6212 IF O18>0 THEN LET O23=0:LET O18= ABS O18:GO SUB 6015:GO TO 6042 6213 IF O18<0 THEN LET O23= ABS O18:LET O18=0:GO SUB 6015:GO TO 6042 6250 IF O6<5000 THEN GO TO 6260 6251 IF O6<10000 THEN GO TO 6263 6252 IF O6<15000 THEN GO TO 6266 6254 IF O6<20000 THEN GO TO 6270 6256 IF O6<40000 THEN GO TO 6273 6257 IF O6<80000 THEN GO TO 6276 6258 IF O6<100000 THEN GO TO 6280 6259 IF O6>100000 THEN GO TO 6283 6260 LET O7A=O6*.00855 6261 IF O7>O7A THEN LET O7=O7A:GO TO 6077 6262 IF O7O7A THEN LET O7=O7A:GO TO 6077 6265 IF O7O7A THEN LET O7=O7A:GO TO 6077 6268 IF O7O7A THEN LET O7=O7A:GO TO 6077 6272 IF O7O7A THEN LET O7=O7A:GO TO 6077 6275 IF O7O7A THEN LET O7=O7A:GO TO 6077 6278 IF O7O7A THEN LET O7=O7A:GO TO 6077 6282 IF O7O7A THEN LET O7=O7A:GO TO 6077 6286 IF O7100000 THEN GO TO 6323 6300 LET O77A=O66*.00855 6301 IF O77>O77A THEN LET O77=O77A:GO TO 6088 6302 IF O77O77A THEN LET O77=O77A:GO TO 6088 6305 IF O77O77A THEN LET O77=O77A:GO TO 6088 6308 IF O77O77A THEN LET O77=O77A:GO TO 6088 6312 IF O77O77A THEN LET O77=O77A:GO TO 6088 6315 IF O77O77A THEN LET O77=O77A:GO TO 6088 6318 IF O77O77A THEN LET O77=O77A:GO TO 6088 6322 IF O77O77A THEN LET O77=O77A:GO TO 6088 6325 IF O770 THEN PRINT AT 6,16;" ":PRINT AT 6,16;T3A 7009 IF T5BB>0 THEN PRINT AT 10,16;" ":PRINT AT 10,16;T5BB 7011 IF P>0 THEN PRINT AT 12,16;" ":PRINT AT 12,16;P 7082 LET R=Z1A:GO SUB 8980:PRINT AT 0,6;" ":PRINT AT 0,K;Z1A 7084 LET R=Z2A:GO SUB 580:PRINT AT 0,22;" ":PRINT AT 0,K;Z2A 7088 IF Z1B=0 THEN LET Z2B=0:LET Z1C=0:LET Z2C=0:PRINT AT 1,6;" ":GO TO 7102 7090 LET R=Z1B:GO SUB 8980:PRINT AT 1,6;" ":PRINT AT 1,K;Z1B 7092 LET R=Z2B:GO SUB 580:PRINT AT 1,22;" ":PRINT AT 1,K;Z2B 7096 IF Z1C=0 THEN LET Z2C=0:PRINT AT 2,6;" ":GO TO 7102 7098 LET R=Z1C:GO SUB 8980:PRINT AT 2,6;" ":PRINT AT 2,K;Z1C 7100 LET R=Z2C:GO SUB 580:PRINT AT 2,22;" ":PRINT AT 2,K;Z2C 7102 LET T1A=Z1A+Z1B+Z1C:LET R=T1A:GO SUB 580:PRINT AT 3,22;" "; AT 3,K;T1A 7104 PRINT AT 4,21;" ":LET R=T1B:IF R >=0 THEN GO SUB 580:PRINT AT 4,K;T1B:GO TO 7106 7105 IF R<0 THEN GO SUB 590:PRINT AT 4,22;" "; AT 4,K;T1B 7106 LET T2=T1A+T1B:LET R=T2:GO SUB 580:PRINT AT 5,22;" "; AT 5,K;T2 7109 LET T3=T3A*T2:LET T3= INT (T3*100+.5)/100:LET R=T3:GO SUB 580:PRINT AT 6,22;" "; AT 6,K;T3 7110 LET T4A=Z2A+Z2B+Z2C:LET R=T4A:GO SUB 580:PRINT AT 7,22;" "; AT 7,K;T4A 7112 PRINT AT 8,21;" ":LET R=T4B:GO SUB 580:PRINT AT 8,K;T4B 7114 LET T5A=T4A+T4B:LET R=T5A:GO SUB 580:PRINT AT 9,22;" "; AT 9,K;T5A 7118 LET T5B=G*T5BB:LET T5B= INT (T5B*100+.5)/100:LET R=T5B:GO SUB 580:PRINT AT 10,21;" ":PRINT AT 10,K;T5B 7120 IF T5A <=T5B THEN GO TO 7128 7122 IF T5B=0 THEN GO SUB 580:GO TO 7139 7137 IF T9<0 THEN GO SUB 590 7139 PRINT AT 14,22;" ":PRINT AT 14,K;T9 7141 LET R=T10:GO SUB 580:PRINT AT 15,21;" ":PRINT AT 15,K;T10 7143 PRINT AT 16,21;" ":LET R=T11:GO SUB 580:PRINT AT 16,K;T11 7144 LET T12=T9+T10+T11:LET R=T12:IF R >=0 THEN GO SUB 580:PRINT AT 17,22;" ":PRINT AT 17,K;T12:GO TO 7147 7145 IF R<0 THEN GO SUB 590:PRINT AT 17,22;" ";17,K;T12 7147 LET R=T15:PRINT AT 18,21;" ":GO SUB 580:PRINT AT 18,K;T15 7149 IF T15T12 THEN GO TO 7159 7153 LET T16=T12-T15:LET T16= INT (T16*100+.5)/100 7155 LET R=T16:GO SUB 580:PRINT AT 19,22;" ":PRINT INK 2; AT 19,K;T16 7157 LET T19=0:PRINT AT 20,22;" "; AT 20,28;T19:GO TO 7160 7159 LET T19=T15-T12:LET T19= INT (T19*100+.5)/100 7161 LET R=T19:GO SUB 580:PRINT AT 20,22;" ":PRINT INK 4; AT 20,K;T19 7163 LET T16=0:PRINT AT 19,22;" ":PRINT AT 19,28;T16 7165 INPUT R$ 7170 IF R$="AA" THEN GO TO 7200 7172 IF R$="7" THEN GO TO 7260 7174 IF R$="10" THEN GO TO 7270 7176 IF R$="\{18}\{0}11" THEN GO TO 7280 7178 IF R$="1B" THEN GO TO 7220 7180 IF R$="15" THEN GO TO 7290 7182 IF R$="22" THEN PRINT AT 21,0;" ":RANDOMIZE USR 64716:GO TO 100 7184 IF R$="33" THEN GO TO 100 7186 IF R$="4B" THEN GO TO 7235 7188 IF R$="AAAA" THEN GO TO 7230 7190 IF R$="BBBB" THEN GO TO 7240 7192 IF R$="CCCC" THEN GO TO 7250 7199 PRINT FLASH 1; INK 2; AT 21,0;"INVALID":PAUSE 50:PRINT INK 4; AT 21,0;"INPUTS ":GO TO 7165 7200 PRINT INK 4; AT 0,6;" AMOUNT ":INPUT R:LET Z1A=R:GO SUB 8980:PRINT AT 0,6;" ":PRINT AT 0,K;Z1A 7202 PRINT INK 4; AT 0,22;" AMOUNT ":INPUT Z2A:LET R=Z2A:GO SUB 580:PRINT AT 0,22;" ":PRINT AT 0,K;Z2A 7204 PRINT INK 4; AT 1,7;" AMOUNT ":INPUT R:IF R=0 THEN GO TO 7082 7206 IF R>0 THEN LET Z1B=R:PRINT AT 1,7;" ":GO SUB 8980:PRINT AT 1,K;Z1B 7208 PRINT INK 4; AT 1,22;" AMOUNT ":INPUT R:LET Z2B=R:GO SUB 580:PRINT AT 1,22;" ":PRINT AT 1,K;R 7210 PRINT INK 4; AT 2,7;" AMOUNT ":INPUT R:IF R=0 THEN GO TO 7082 7212 IF R>0 THEN LET Z1C=R:PRINT AT 2,7;" ":GO SUB 8980:PRINT AT 2,K;Z1C 7214 PRINT INK 4; AT 2,22;" AMOUNT ":INPUT R:LET Z2C=R:GO SUB 580:PRINT AT 2,22;" ":PRINT AT 2,K;R 7216 GO TO 7102 7220 PRINT INK 4; AT 4,22;" AMOUNT ":INPUT T1B:GO TO 7104 7230 PRINT INK 4; AT 6,16;"????":INPUT T3A:PRINT AT 6,16;" ":PRINT AT 6,16;T3A:GO TO 7109 7235 PRINT INK 4; AT 8,22;" AMOUNT ":INPUT T4B:GO TO 7112 7240 PRINT INK 4; AT 10,16;"????":INPUT T5BB:PRINT AT 10,16;" ":PRINT AT 10,16;T5BB 7242 PRINT INK 4; AT 10,22;" AMOUNT ":INPUT G:GO TO 7118 7250 PRINT INK 4; AT 12,16;"????":INPUT P:PRINT AT 12,16;" ":PRINT AT 12,16;P:GO TO 7131 7260 PRINT INK 4; AT 13,22;" AMOUNT ":INPUT T7:GO TO 7132 7270 PRINT INK 4; AT 15,22;" AMOUNT ":INPUT T10:GO TO 7141 7280 PRINT INK 4; AT 16,22;" AMOUNT ":INPUT T11:GO TO 7143 7290 PRINT INK 4; AT 18,22;" AMOUNT ":INPUT T15:GO TO 7147 8980 IF R<1000000 THEN LET K=7 8981 IF R<100000 THEN LET K=8 8982 IF R<10000 THEN LET K=9 8983 IF R<1000 THEN LET K=10 8984 IF R<100 THEN LET K=11 8985 IF R<10 THEN LET K=12 8986 RETURN 9000 LET W6= NOT PI:LET W8= NOT PI:LET W1= NOT PI:LET W11= NOT PI:LET BOX= NOT PI:LET A6= NOT PI:LET A33= NOT PI:LET A40= NOT PI:LET A55= NOT PI:LET A63= NOT PI:LET A64= NOT PI 9001 LET A67= NOT PI:LET A8= NOT PI:LET A7= NOT PI:LET A34= NOT PI:LET A38= NOT PI:LET A39= NOT PI:LET A41= NOT PI:LET A42= NOT PI:LET A43= NOT PI:LET A56= NOT PI:LET A60= NOT PI 9002 LET T3A= NOT PI:LET T5BB= NOT PI:LET P= NOT PI:LET Z1A= NOT PI:LET Z2A= NOT PI:LET Z1B= NOT PI:LET Z2B= NOT PI:LET Z1C= NOT PI:LET Z2C= NOT PI:LET T1B= NOT PI:LET T4B= NOT PI:LET G= NOT PI:LET T7= NOT PI:LET T10= NOT PI:LET T11= NOT PI:LET T15= NOT PI 9003 LET A9= NOT PI:LET T2= NOT PI:LET T3= NOT PI:LET T4A= NOT PI:LET T5A= NOT PI:LET T9= NOT PI:LET T12= NOT PI:LET T16= NOT PI 9004 LET A10= NOT PI:LET A12= NOT PI:LET A13= NOT PI:LET A14= NOT PI:LET A15= NOT PI:LET A16= NOT PI:LET A17= NOT PI:LET A18= NOT PI 9012 LET O2= NOT PI:LET O3= NOT PI:LET O4= NOT PI:LET O5= NOT PI:LET O6= NOT PI:LET O7= NOT PI:LET O8= NOT PI:LET O10= NOT PI:LET O11= NOT PI:LET O12= NOT PI:LET O14= NOT PI:LET O18= NOT PI:LET O23= NOT PI 9013 LET A22= NOT PI:LET A25= NOT PI:LET A26= NOT PI:LET A28= NOT PI:LET A30= NOT PI:LET A31= NOT PI:LET A32= NOT PI 9020 LET B2= NOT PI:LET AA1= NOT PI:LET AA2= NOT PI:LET AA3= NOT PI:LET AA4= NOT PI 9021 LET AA5= NOT PI:LET AA6= NOT PI:LET AA7= NOT PI:LET AA8= NOT PI:LET AA80= NOT PI:LET AA9= NOT PI:LET AA10= NOT PI:LET AA11= NOT PI:LET AA12= NOT PI:LET AA14= NOT PI:LET AA15= NOT PI:LET AA16= NOT PI:LET AA18= NOT PI:LET AA20= NOT PI:LET AA22= NOT PI:LET AA23= NOT PI:LET AA24= NOT PI:LET AA25= NOT PI:LET AA26= NOT PI 9022 LET B= NOT PI:LET BB2= NOT PI:LET O13= NOT PI:LET T5A= NOT PI:LET T16= NOT PI:LET T19= NOT PI 9023 LET sch= NOT PI 9025 GO TO 100 9098 REM \{16}\{0}LOAD "TASMAN"CODE :RANDOMIZE USR 64719 9099 DIM T$(17,29) 9100 LET T$(1)=" 33 LINE 32......." 9101 LET T$(2)=" 34 SCHEDULE ""A"".." 9102 LET T$(3)=" 35 LINE 33-34...." 9103 LET T$(4)="1 36 EXEMPT X \{16}\{2}1080\{16}\{0}." 9104 LET T$(5)="0 37 TAXABLE INCOME" 9105 LET T$(6)="4 38 CALCULATED TAX" 9106 LET T$(7)="0 39 ADDIT'L TAX..." 9107 LET T$(8)=" 40 TOTAL TAX....." 9108 LET T$(9)="P 41 CHILD/DEPEND.." 9109 LET T$(10)="a 42 ELDERLY CREDIT" 9110 LET T$(11)="g 43 POLITIC CONTR." 9111 LET T$(12)="e 55 TOTAL TAX....." 9112 LET T$(13)=" 56 TAX PAID TOTAL" 9113 LET T$(14)="2 60 EXCESS SOC SEC" 9114 LET T$(15)=" 63 TOTAL TAX PAID" 9115 LET T$(16)=" 64 REFUND TO YOU." 9116 LET T$(17)=" 67 YOU PAY IRS..." 9120 GO TO 80 9499 STOP 9500 LET A23=A7+A8+A9+A10+A12+A13+A14+A15+A16+A17+A18+A22 9505 LET A23= INT (A23*100+.5)/100 9506 LET R=A23 9507 GO SUB 580 9508 PRINT AT 13,22;" "; AT 13,K;A23 9510 LET A31=A25+A26+A28+A30 9511 LET A31= INT (A31*100+.5)/100 9513 LET R=A31 9514 GO SUB 580 9515 PRINT AT 18,22;" "; AT 18,K;A31 9516 LET A32=A23-A31:LET A32= INT (A32*100+.5)/100:LET R=A32:GO SUB 580:PRINT AT 19,22;" "; AT 19,K;A32 9519 GO TO 605 9901 CLS 9902 PRINT INK 2; AT 7,7;"\:'\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\':" 9904 PRINT INK 2; AT 8,7;"\: STORE ON TAPE \ :" 9905 PRINT INK 2; AT 9,7;"\:.\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\.:" 9908 PRINT INK 4; AT 21,0;"INPUT " 9909 PRINT INK 4; AT 19,10;"STORE ON TAPE......"; INK 0;"\{18}\{0}T" 9910 PRINT INK 4; AT 20,10;"STOP..............."; INK 0;"\{18}\{0}S" 9911 PRINT INK 4; AT 21,10;"RETURN TO START...."; INK 0;"R" 9915 INPUT M$ 9916 IF M$="T" THEN GO TO 9930 9917 IF M$="S" THEN STOP 9918 IF M$="R" THEN GO TO 100 9920 FLASH 1:PRINT AT 21,0; INK 2;"INVALID" 9921 PAUSE 0 9922 FLASH 0 9923 GO TO 9908 9930 PRINT AT 13, PI;"PROGRAM IS SAVED BY TITLE" 9932 PRINT INK 2; AT 15,4;"\{18}\{1}>>>>>\{18}\{0} ""IRS - 1986"" \{18}\{1}<<<<<\{18}\{0}" 9998 SAVE "IRS - 1986" LINE 9098:REM SAVE /"TASMAN"CODE 64716,652 9999 REM PRINT AT 15,0;FLASH 1;INK 1;">>>>REWIND THE TAPE AND PLAY<<<<":VERIFY "" ```