--- title: "QWIK 1040" id: 72436 type: "computer_media" slug: "qwik-1040" url: "http://localhost/computer_media/qwik-1040/" markdown_url: "http://localhost/computer_media/qwik-1040.md" published_at: "2026-10-23T07:47:06+00:00" modified_at: "2026-10-23T07:47:06+00:00" author: "David Anderson" featured_image: url: "http://localhost/wp-content/uploads/2026/10/qwik-1.png" excerpt: "Herb Bowers’ interview-style 1987 federal income tax program, walking through Form 1040 and its schedules and printing the results." category: - name: "Archived Media" slug: "archived-media" taxonomy: "category" url: "http://localhost/category/archived-media/" post_tag: - name: "ABBA Software Productions" slug: "abba-soft" taxonomy: "post_tag" url: "http://localhost/tag/abba-soft/" - 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: "Herb Bowers" slug: "bowers-herb" taxonomy: "indiv" url: "http://localhost/indiv/bowers-herb/" genre: - name: "Tax" slug: "tax" taxonomy: "genre" url: "http://localhost/type/tax/" media_type: "Program" programmers: - name: "Herb Bowers" slug: "bowers-herb" taxonomy: "indiv" url: "http://localhost/indiv/bowers-herb/" download_url: "https://archive.org/download/timex-sinclair-software-archive/QWIK%201040%20%281988%29%28Bowers%2C%20Herb%29%28TS2068%29%28US%29%28Program%29.zip" tsrun_member: "QWIK 1040 (1988)(Bowers, Herb)(TS2068)(US)(Program)/QWIK 1040 (1988)(Bowers, Herb)(TS2068)(US)(Program).tap" mediadate: "1988" producer_company: - id: 10624 title: "ABBA Soft" type: "company" url: "http://localhost/company/abba-soft/" images: - url: "http://localhost/wp-content/uploads/2026/10/qwik-1.png" - url: "http://localhost/wp-content/uploads/2026/10/qwik-3.png" related_products: - id: 13724 title: "QWIK-1040" type: "product" url: "http://localhost/product/qwik-1040/" media_type_tags: "Tax" license: false --- # QWIK 1040 QWIK 1040 prepares a 1987 U.S. federal income tax return by question and answer. It asks for filing status, exemptions and dependents, then works through each kind of income (W-2 wages, interest and dividends for Schedule B, business, farm and partnership income, capital gains, pensions, unemployment and Social Security benefits, other income), the adjustments (employee business expenses, IRA, Keogh/SEP, alimony and others), the standard deduction or itemized deductions (medical, taxes, interest, contributions), and finally the tax, credits, other taxes and payments to show the refund or the amount owed. Along the way it tells you which extra forms and schedules you will need, and it can print a summary. The title REM reads “1987 QWIK 1040 by Herb Bowers, Sr. JANUARY 1988” and “© ABBA SOFTWARE 1988”. It was sold as a commercial product, QWIK-1040, for $29.50; Bowers also wrote the public-domain 1987 Federal Income Tax Calculator printed in Time Designs. This copy is from a SNUG library disk. It was saved without variables, so it holds no one’s tax figures. ## Program Analysis ### Program Structure The program is too big to fit in memory at once, so it comes in three parts that are MERGEd in turn from tape. Part I (F1040-87 1) starts at line 9950: it asks whether you want an inverse screen and sound, sets up its constants and UDGs, then deletes that set-up code and runs the income and adjustment sections. At line 2995 it MERGEs Part II, which adds the deductions and tax computation and deletes the lines that are finished with; at line 5580 Part II MERGEs Part III, which covers credits, other taxes, payments, refund or amount owed, and the print-out. The tape must be left in place between parts, and the program tells you how long each MERGE takes. ### Notable Techniques - Almost every number is a variable built at start-up from `NOT PI` and `SGN PI` (`o`=0, `i`=1, `o2`=2 … `c`=100, `k`=1000), and line numbers are expressions like `GO TO k` or `GO SUB pq`. This saves memory in a very long program. - The TS2068 `DELETE` command removes the set-up block (`DELETE 9000,9175`) and, later, sections that have done their job, to make room for the next MERGE. - The 1987 tax-rate schedules are packed into one digit string per filing status (lines 300–330) and decoded with `VAL` on slices. - String functions such as `DEF FN a$(f)` use the `"text" AND condition` idiom to choose labels without IF. - Output goes through one routine to either the screen stream or `LPRINT`, so the same report can be shown or printed. ### Potential Issues - The tax rules and figures are for the 1987 tax year only. - Line 3270 (Part II) uses `GO TO pq` where the other prompts use `GO SUB pq`, so the Keogh/SEP spouse question after it appears never to be asked. From an Oliger (JLO SAFE) disk, converted for tape: the three parts are in MERGE order on one TAP and the disk `MERGE /` and `SAVE /` commands are plain tape commands. Tested in ZEsarUX through the start-up questions to the filing-status menu. ## Source Code ``` 0::::::::::::::::::::::::::: REM : 1987 QWIK 1040 : : by Herb Bowers, Sr. : : JANUARY 1988 : ::::::::::::::::::::::::::: REM * AbBA SOFTWARE 1988 1 GO TO k 2 DEF FN p()=h2-(LEN r$+LEN l$+LEN s$+i): DEF FN w$(f)=STR$ f+"] "+(j$(f) AND fh 9 DEF FN m$()="(you and spouse)" AND fs=o2 10 DEF FN y$()=("Yes" AND yes)+("No" AND no) 12 LET ta=h2-LEN l$: PRINT #v;r$;x$(o2, TO FN p());s$;TAB ta;l$: RETURN 14 LET ta=h2-LEN l$: LPRINT r$;x$(o2, TO FN p());s$;TAB ta;l$: RETURN 16 BEEP me1,i: RETURN 18 FOR b=i TO o7: BEEP me2,x+x: NEXT b: RETURN 19 IF np THEN RETURN 20 PLOT o,o: DRAW VAL "255",o: DRAW o,VAL "175": DRAW VAL "-255",o: DRAW o,VAL "-175": RETURN 21 CLS : GO SUB bp: PRINT #v;"1040 INDIVIDUAL TAX RETURN 1987"'t$'x$(i1)'';: RETURN 23 GO SUB ti: PRINT AT li,o;"": LET li=o9: RETURN 24 PRINT #v; OVER i;AT FN u(),FN c();FN u$(): RETURN 25 LPRINT OVER i;AT FN u(),FN c();FN u$(): RETURN 27 PRINT #v; OVER i;AT FN u(),o;x$(v): RETURN 28 PRINT AT FN u(),o;: RETURN 29 PRINT #v;AT FN u()-i,o;"";: RETURN 31 GO SUB bp: GO SUB i9: INPUT ("Select number ";lw;" to " AND hi>o2;" or " AND hi=o2;hi);" "; LINE l$: IF l$="" THEN GO SUB oop: GO TO sel 32 FOR n=i TO LEN l$: IF l$(n)<"0" OR l$(n)>"9" OR l$="" THEN GO SUB oop: GO TO sel 33 NEXT n: LET l=VAL l$: IF lhi THEN GO SUB oop: GO TO sel 34 RETURN 38 GO SUB oop: GO TO nv+o4 41 INPUT INKEY$: PRINT #o;"INPUT ERROR!! """;l$;"""": GO SUB bp2: PAUSE pau: INPUT INKEY$: RETURN 46 GO SUB i9: LET ret=cor: PRINT #o;AT o,o;"^^ Is the above correct ? ^^": GO TO yn 50 LET ret=yn 51 GO SUB i9: GO SUB bp: PRINT #o;" Please Press [Y]es or [N]o" 52 POKE cap,o8: LET yes=o: IF INKEY$<>"" THEN GO TO VAL "52" 53 LET i$=INKEY$: IF i$="" OR i$=CHR$ i3 THEN GO TO VAL "53" 54 IF i$<>"Y" AND i$<>"N" THEN LET l$=i$: GO SUB oop: GO TO ret 55 LET yes=(i$="Y") 56 LET no=NOT yes 57 IF ret=co THEN GO TO ret+o2 58 RETURN 62 GO SUB pq: PRINT "Is the amount in block 10 and block 13 the same amount?": GO SUB yn: IF yes THEN LET l=r(o2): GO TO VAL "65" 64 GO SUB pq: PRINT "Enter amount from block 13": GO SUB nv 65 IF u1 THEN LET ssy=ssy+l 66 IF NOT u1 THEN LET sss=sss+l 67 RETURN 71 LET l$=STR$ l: IF rdo THEN GO TO v*i5 72 IF NOT l OR (l=INT l) THEN LET l$=l$+".00" 73 IF l$(LEN l$)="." THEN LET l$=l$+"00" 74 IF l$(LEN l$-i)="." THEN LET l$=l$+"0" 75 IF zero AND l=o THEN LET l$="-0-" 76 IF zip AND l=o THEN LET l$=" . " 77 IF lCHR$ i3 THEN GO TO c-o3 98 INPUT INKEY$: RETURN 101 GO SUB i9: POKE cap,o8: GO SUB bp: PRINT #o;"X to EXIT! [ENTER] to Continue" 102 IF INKEY$<>"" THEN GO TO c+o2 103 LET i$=INKEY$: IF i$="" THEN GO TO c+o3 104 IF i$="X" THEN POKE nsc,i: RETURN 105 IF i$<>CHR$ i3 THEN GO TO c+o2 106 RETURN 108 INPUT INKEY$: PRINT #o;AT o,o;"DO YOU WANT A HARD COPY ?": GO SUB yn: IF yes THEN COPY : LPRINT '': GO TO cos 109 RETURN 111 GO SUB bp: INPUT INKEY$: PRINT #o;u$(i): RETURN 162 GO SUB bp: POKE cap,o8: IF q$=x$(o6) THEN LET q$=q$+h$ 164 GO SUB i9: INPUT AT o,o;(q$); LINE l$: IF l$="" THEN LET l$="EMPTY": GO TO oh 165 LET nn=o: FOR l=i TO LEN l$: IF l$(l)>="0" AND l$(l)<="9" THEN NEXT l: GO TO i7*x 166 IF l$(l)="." OR l$(l)=" " OR l$(l)="M" THEN LET l$(l)=".": LET nn=nn+i: NEXT l: GO TO i7*x 168 IF l$(l)<>"*" AND l$(l)<>"/" AND l$(l)<>"-" AND l$(l)<>"+" THEN GO TO oh 170 IF nn>i THEN GO TO oh 172 IF l$(LEN l$)<"0" THEN GO TO oh 173 NEXT l: LET l=VAL l$: IF l<>INT l THEN GO TO ro 174 RETURN 176 PRINT #o;AT o,o;">Do you want to review again ?<": GO SUB yn: RETURN 182 LET tp=i: IF fs=o2 THEN GO SUB ti: PRINT '''''a$'': FOR f=i TO o3: PRINT TAB v;: PRINT FN w$(f): NEXT f: LET hi=o3: GO SUB sel: LET tp=l 184 LET q$=x$(o6): LET h$="#": DIM l(o2): GO SUB ti: PRINT ''': FOR f=tp-((tp=o3)*o2) TO tp-(tp=o3): PRINT j$(f)'o$: GO SUB nv: PRINT X$(o8): LET l(f)=l: NEXT f 186 LET you=l(i): LET spo=l(o2): PRINT j$(i)'"You have ";STR$ you AND you;"no" AND NOT you;e$': IF fs=o2 THEN PRINT x$(o8);j$(o2)'"You have ";STR$ spo AND spo;"no" AND NOT spo;e$: GO SUB i9 188 PRINT x$(i1): GO SUB cor: IF no THEN GO TO who 189 RETURN 1005 LET cga=o: LET rdo=o: LET g=k: DIM i(i8): DIM a(o8): DIM t(i2): DIM c(o7): DIM o(o6): DIM w(o7): DIM d(h0): LET sd=o: LET aa=o: LET u14=o: LET doa=o: RESTORE k: READ t$: GO SUB ti: PRINT ''TAB i;t$'' 1010 FOR f=i TO v: READ f$: PRINT TAB o4;f;"] ";f$'': NEXT f 1015 LET hi=v: GO SUB sel: LET fs=l 1020 RESTORE k: READ t$: FOR f=o TO fs-i: READ f$: NEXT f 1025 GO SUB pq: PRINT TAB i;t$(o7 TO )''TAB o4;f;"] ";f$ 1030 GO SUB cor: IF no THEN GO TO g 1035 IF fs<>i AND fs<>03 THEN GO TO VAL "1055" 1040 GO SUB pq: PRINT " Can you be claimed as a depen- dent on another persons income tax return ?": GO SUB yn: LET t(o3)=yes: IF no THEN GO TO VAL "1055" 1042 LET doa=i: GO SUB pq: PRINT " Do you have investment income?": GO SUB yn: IF no THEN GO TO VAL "1115" 1045 LET sd=k/02: LET ex=o: LET t$="": GO SUB pq: PRINT " Were you under the age of 14"," on 31 December 1987 and did you received investment income of more than $1000": GO SUB yn: IF yes THEN LET u14=i: GO SUB pq: PRINT " Form 8615 required!": GO SUB bp2: GO SUB en 1047 GO TO VAL "1120" 1050 DATA "Select Filing Status:","Single","Married filing joint","Married filing seperate","Head of household","Qualifying widow(er)" 1055 LET g=VAL "1055": LET dih=o: LET q$=x$(o6): LET h$="#": RESTORE k+c: DIM e(5): LET e(i)=i+(fs=o2): LET ex=e(i): READ t$: GO SUB ti 1060 PRINT "Exemption";"s" AND fs=o2;" for you";" and spouse " AND fs=o2;"=";e(1): FOR f=o2 TO v 1065 READ r$: PRINT x$(o8);"Enter number of";" dependent" AND f<>v 1070 PRINT r$;: GO SUB nv: LET e(f)=l: PRINT TAB t9;"=";l: IF f<>o3 AND l THEN LET dih=i 1075 LET ex=ex+l: NEXT f: PRINT x$(o8);" Total exemptions = ";ex: GO SUB cor: IF no THEN GO TO g 1077 LET t(o8)=ex*1900: PRINT u$(o2);"Value=$";t(o8): GO SUB en 1080 IF ex=1 OR fs=02 OR fs=o4 OR fs=v OR (fs=o3 AND NOT e(2)) OR NOT dih THEN GO TO VAL "1120" 1085 IF fs=o3 THEN GO SUB pq: PRINT " Did you live with your spouse at any time during 1987": GO SUB yn: IF yes THEN GO TO VAL "1120" 1090 GO SUB pq: PRINT "Does parent live with you and" AND (e(o4) AND (NOT e(o2) OR NOT e(v)))'"Do you pay more than 50% of the cost of maintaining your home ?": GO SUB yn: IF no THEN GO TO VAL "1120" 1100 IF e(v) AND NOT e(o2) AND NOT e(o4) THEN GO SUB pq: PRINT "Is dependent related to you by blood or marraige ?": GO SUB yn: IF no THEN GO TO VAL "1120" 1105 GO SUB pq: PRINT " You may be able to file status 4] Head of Household."'x$(o8);" * Do you want to do this ?": GO SUB yn: IF yes THEN LET f$="Head of household": LET fs=o4 1110 DATA "Exemptions:","children who live with you","children who did not live with you due to divorce/seperation","parents","other dependents" 1120 LET oa=o: LET g=VAL "1120": FOR f=o TO fs=o2: LET t$="Calculate Standard Deduction": GO SUB pq: LET r$=(" Are you" AND NOT f)+(" Is spouse" AND f): IF u14 THEN GO TO VAL "1130" 1125 PRINT r$+" 65 years or older?": GO SUB yn: LET aa=aa+yes: LET oa=oa+yes 1130 GO SUB pq: PRINT r$+" blind?": GO SUB yn: LET aa=aa+yes: NEXT f: IF sd=k/o2 THEN LET sd=sd+((aa=i AND fs=i)*VAL "750")+((aa=i AND fs<>i)*VAL "600")+((aa=02 AND fs<>i)*VAL "1200")-aa: GO TO VAL "1145" 1135 LET t(o2)=aa: LET sd=(VAL "2540"*(fs=i OR fs=o4))+(VAL "3760"*(fs=o2 OR fs=v))+(VAL "1880"*(fs=o3)) 1140 IF aa THEN LET aa=((fs=1)*(((aa=i)*VAL "1210")+(aa=o2)*VAL "1960"))+((fs=o2 OR fs=v)*(((aa=i)*VAL "1840")+((aa>=o2)*VAL "2440")))+((fs=o3)*(((aa=i)*VAL "1220")+(aa=o2)*VAL "1820"))+((fs=o4)*(((aa=i)*VAL "2610")+(aa=o2)*VAL "3360"))+((aa>o2)*c*o6)+((aa>o3)*c*o6) 1145 LET sd=sd+aa: LET t(o6)=sd 1150 GO SUB pq: PRINT u$(o2)''"Your Standard Deduction value:";TAB i3;"$";sd: GO SUB en 1155 LET q$=x$(o6): LET h$="$": LET t$="State or Local Tax Refunds": LET y$=t$: GO SUB pq: PRINT "Enter the total amount of any",y$'"received during 1987": GO SUB nv: LET txr=l: IF l<=o THEN GO TO c*i2 1160 LET np=o: LET l=o: LET t$="From your 1986 Form 1040:": GO SUB pq: PRINT " Did you file an itemized income tax return for 1986 ?": GO SUB yn: IF no THEN LET t$=y$: LET txr=o: GO SUB pq: PRINT u$(o2)''t$'"not taxable this year!": GO SUB en: GO TO c*i2 1165 LET r$="Enter the amount "+t$+", Schedule A, line ": GO SUB pq: PRINT r$+"26": LET q$="$": GO SUB i9: GO SUB nv: LET eid=l 1170 GO SUB pq: PRINT r$+"6": LET h$=q$: LET q$=x$(o6): GO SUB i9: GO SUB nv: LET tpd=l: IF l>eid THEN LET tpd=eid 1175 IF tpdo2) OR ((f=o4) AND (NOT i(o7) AND NOT i(i3))) THEN LET a(f)=o: NEXT f 1370 PRINT "Do you have adjustments for"'r$;"?": GO SUB yn: INPUT INKEY$ 1375 PRINT x$(o8): LET a(f)=yes: LET adj=adj+yes 1380 NEXT f: PRINT x$(i1): GO SUB en: IF NOT adj THEN GO SUB pq: PRINT x$(i1);" No adjustments to gross income"'x$(i1): GO SUB t0: GO SUB bp2: GO TO i4*c-v 1385 RESTORE i3*c: LET t$="Adjustments recap": GO SUB ti: GO SUB fua: PRINT "Your adjustments are:"'x$(o8): FOR f=i TO o7: READ r$ 1390 IF a(f) THEN PRINT r$'x$(x) 1395 NEXT f: GO SUB cor: IF no THEN GO TO g 1397 DATA "Employee business expenses. Auto,travel,meals,entertainment","Your IRA deduction","Spouse's IRA deduction","Self employed health insurance","Keogh retirement plan or self- employed SEP deduction","Penalty for early withdrawel of savings","Alimony paid" 1400 LET k1=o: LET f82=o: LET lsd=o: LET bue=a(i): LET g=i4*c: LET t$="Lump sum distribution?": LET f72=o: LET np=o: IF i(x) THEN GO SUB pq: PRINT FN m$(): RESTORE i2*c: FOR f=i TO x: READ r$: NEXT f: PRINT '" Did you receive a qualifying TOTAL lump-sum distribution froma qualifying pension, profit- sharing or a stock bonus plan ?(Form 1099-R Income)": GO SUB yn: LET lsd=yes: IF yes THEN GO SUB pq: PRINT FN m$(): PRINT '"Were you age 50 or older 1/1/86,no longer with the firm, in planfor 5 years and did not rolloverany portion of the distribution?" 1410 IF lsd THEN GO SUB yn: IF yes THEN GO SUB pq: PRINT " Distribution MAY qualify for Special 5 or 10 Year Averaging."'x$(i1);" Would you like to try ?";AT t0,o;x$(o8);"See Inst. LUMP-SUM DISTRIBUTIONS": GO SUB yn: LET f72=yes 1415 IF i(i7) THEN LET t$="Possible Self-employment Income": GO SUB ti: PRINT ''"You indicated OTHER INCOME."'"Is the other income from fees charged for baby-sitting, sales of merchandise, sub-contracting or other income for services?"'x$(o8): GO SUB yn: INPUT INKEY$: IF yes THEN PRINT FLASH i;t$(x TO ): PRINT "Was the amount of this income greater than $400 or do you haveother ";t$(x TO );"?": GO SUB yn 1416 IF i(i7) AND yes THEN LET t$=t$(x TO ): GO SUB pq: PRINT " You must file Schedule C!!!": GO SUB bp2: LET i(o7)=i: GO SUB en 1420 LET se=i(o7): LET sef=i(i3): IF i(i2) THEN GO SUB pq: PRINT FN m$(): PRINT '"Is supplemental income from a Form 1065, Sch.K1 (partnership)": GO SUB yn: LET k1=yes: LET se=se+k1 1425 LET f82=o 1430 IF NOT i(o7) AND NOT i(o8) AND NOT i(o9) AND NOT i(i2) AND NOT i(i3) AND NOT f72 AND NOT u14 THEN GO TO i5*c 1435 IF NOT i(i2) THEN GO TO VAL "1450" 1440 LET t$="Supplemental Income or (Loss)": GO SUB pq: PRINT "Did you take and active part in the rental, royalty, or partner-ship activity?": GO SUB yn: IF yes THEN GO TO VAL "1450" 1445 GO SUB pq: PRINT "Did activities have a net loss?": GO SUB yn: LET f82=yes: IF f82 THEN GO SUB pq: PRINT "You may be required to prepare Form 8582.": LET f82=i: GO SUB en 1450 LET g=i4*c+v0: LET t$="PLEASE NOTE:": GO SUB ti: GO SUB fua: GO SUB fuu: PRINT "It will be necessary for you to complete the following forms and/or schedules or for you to havethe following information:"'x$(o8): IF i(o7) THEN PRINT "Schedule ""C"", Business Income"'x$(o8) 1455 IF i(o8) THEN PRINT "Schedule ""D"", Capital Gain/Loss"'x$(o8) 1460 IF i(o9) THEN PRINT "Form 4797,Supplemental Gain/loss"'x$(o8) 1465 IF i(x) THEN PRINT "Taxable portion of retirement": PRINT x$(o8) 1470 IF i(i2) THEN PRINT "Sch.""E"",Supplemental Income/Loss"'x$(o8) 1475 IF f82 THEN PRINT "Form 8582 Passive Activity Loss"'x$(o8) 1480 IF i(i3) THEN PRINT "Schedule ""F"", Farm Income"'x$(o8) 1485 IF f72 THEN PRINT "Form 4972, Tax on Lump-sum"'x$(o8) 1487 IF u14 THEN PRINT "Form 8615 Computation of Tax forChildren under 14"'x$(o8) 1490 PRINT "Program may be available from A*b*B*A Software Productions"'x$(i1) 1495 GO SUB c: IF i$="X" THEN STOP 1501 LET mss=VAL "3132": LET g=i5*c: DIM n$(o3,h2): DIM j$(o3,h2): LET t$="Name/Social Security #": GO SUB pq: LET t$="Last Name: ": INPUT (t$); LINE i$: LET r$=" "+i$: LET n$(i)=t$+i$: PRINT n$(i) 1502 FOR f=o2 TO o2+(fs=2): LET t$=("You: " AND f=o2)+("Spouse: " AND f=o3): INPUT (t$+" 1st name & initial")' LINE i$: LET j$(f-i)=i$+r$: LET n$(f)=t$+i$: PRINT n$(f): LET j$(o3)="Both you and spouse" 1503 INPUT "Social Security #, (No spaces, hyphens or slashes: "; LINE l$: IF LEN l$<>o9 THEN GO SUB oop: GO TO VAL "1503" 1504 LET n$(f,23 TO )=l$: PRINT AT FN U(),23;l$: NEXT f: GO SUB cor: IF no THEN GO TO g 1506 LET pen=o: LET g=i5*c+v: LET you=o: LET spo=o: LET yw2=o: LET sw2=o: LET yei=o: LET sei=o: LET tei=o: LET tipy=o: LET tips=o: RESTORE i2*c: READ r$: IF NOT i(i) THEN GO TO i8*c 1510 LET q$=x$(o6): LET h$="#": LET t$="W2 Income:"+FN m$(): LET Z$="NOTE: If you have any DISABILITYretirement income include your Forms W-2P!" 1520 LET a$="Who has the W-2 Income?": LET o$="How many forms W-2 do you have?": LET e$=" W-2(s)": GO SUB who 1560 RESTORE i6*c: READ r$,r$: LET t$="W-2 Income Figures": LET y$="^^^NOTE: If you have received any"+r$( TO h2)+"for which you do not have or cannot get a W2 use approx. amountsand file form 4852, ""Substitute W-2""(available from IRS)when youfile your return." 1570 IF NOT you AND NOT spo THEN LET i(i)=o: GO TO i8*c 1580 GO SUB ti: PRINT j$(i+NOT you);"^^^Place your W2";"s" AND you>i;" before you"'x$(i1);y$'x$(i1) 1590 LET y$="Also have all Form 1099 that arereimbursement for employee bus- iness expenses and the amounts of any other compensation or re-imbursements as an employee or non-employee that is not self- employment income.": PRINT y$ 1600 GO SUB en: LET ssy=o: LET sss=o: LET u1=you: LET u2=NOT you: LET u3=spo: DIM y(o8): DIM s(o8): DIM l(o8): IF NOT you THEN GO TO i7*c-v 1605 FOR f=1 TO you 1610 LET g=i6*c+x: GO SUB ti: PRINT j$(i+u2);"From W-2 #";f;" enter"'': DIM r(o8): RESTORE i6*c: FOR r=i TO v: READ r$ 1620 LET s$=r$(LEN r$-o2 TO ): LET r$=r$( TO LEN r$-o3) 1625 LET q$=x$(o6): LET h$="From block #"+s$+": $" 1630 PRINT r$: GO SUB nv: GO SUB ju: PRINT TAB ta;l$: GO SUB fuu: LET r(r)=l: NEXT r: INPUT INKEY$: LET q$=x$(o6): LET h$=h$+" $" 1640 GO SUB cor: IF no THEN GO TO g 1645 GO SUB nv2 1646 LET sso=o: IF r(o3)>mss THEN LET sso=r(o3)-mss: LET r(o3)=mss 1647 IF sso THEN LET l=sso: GO SUB ju: GO SUB pq: PRINT "This employer overwithheld FICA in amount of $";l$''"Contact him for refund!"'u$(o3): GO SUB bp2: GO SUB en 1650 GO SUB sb: FOR n=i TO v: IF u1 THEN LET y(n)=y(n)+r(n): LET l(n)=y(n) 1655 IF u2 THEN LET s(n)=s(n)+r(n): LET l(n)=l(n)+r(n) 1657 NEXT n: NEXT f: READ r$,k$,p$ 1660 LET g=VAL "1660": LET t$=r$: LET q$=x$(o6): LET h$="$": GO SUB pq: PRINT "Did ";j$(i+u2)'" receive any reimbursement for employee business expenses?"''" (travel, milage, meals, etc.)": GO SUB yn: LET r(o6)=yes: LET a(i)=a(i)+yes 1665 IF r(o6) THEN GO SUB pq: PRINT "Is ALL reimbursement included onW-2 Form(s), Box 10?": GO SUB yn: LET r(o6)=no 1670 IF r(o6) THEN GO SUB ti: PRINT '''"Enter the total business expensereimbursement received by",j$(i+u2);"and not shown on W2"'x$(o8);" Will be on Form 1099 or a";" substitute 1099"'x$(o8);"*(If no 1099 or substitute 1099 then enter 0)": GO SUB nv: LET r(o6)=l 1675 LET t$=k$: GO SUB pq: PRINT "Did"'j$(i+u2)'"receive any tips that are not included in W-2, Box 14?": GO SUB yn: LET r(o7)=yes: IF NOT r(o6) AND NOT r(o7) THEN GO TO i7*c-x 1680 LET t$=u$(o2): IF r(o7) THEN GO SUB pq: PRINT "Enter total tips not included onForm W2:": GO SUB nv: LET r(07)=l 1685 GO SUB ti: PRINT 'u$(o2)''"Your total earned income will beincreased by:"''r$;" $";r(o6)''k$;" $";r(o7)''"Total Increase: $";r(o6)+r(o7) 1687 IF r(o7)>=VAL "240" THEN PRINT x$(i1);"Note: you should file Form 4137,SOCIAL SECURITY/UNREPORTED TIPS (see instr. Program available)" 1688 GO SUB cor: IF no THEN LET r(o6)=o: LET r(o7)=o: GO TO g 1690 LET g=i7*c-x: LET t$=p$: GO SUB pq: PRINT "Does"'j$(i+u2)'"have Pension or Retirement Plan?": GO SUB yn: LET r(o8)=yes: LET pen=pen+yes 1692 FOR n=06 TO 08: IF u1 THEN LET y(n)=r(n): LET l(n)=y(n): LET tipy=r(o7) 1693 IF u2 THEN LET s(n)=r(n): LET l(n)=l(n)+s(n): LET tips=r(o7) 1695 LET t$="W-2 Income Figures": NEXT n 1696 IF NOT u3 THEN LET t$="W-2 Totals": GO TO 17*c 1697 LET u1=o: LET u2=i: IF you THEN GO SUB ti: PRINT AT o6,o;x$(i1);"Now place ";j$(o2, TO 22)'"W2";"s" AND spo>i;" before you"'x$(i1);y$ AND you: GO SUB en 1698 FOR f=i TO spo: LET u3=o: GO TO i6*c+x 1699 DATA "Federal Income Tax Withheld 9","Wages, Tips, other compensation 10","Social security tax withheld 11","State Income Tax 17","Local Income Tax 20","1099 reimbursement","Unreported Tips","Pension Plan" 1700 LET g=i7*c: LET yei=o: LET sei=o: LET tei=o 1710 FOR f=i TO i+(((you>o) AND (spo>o))*o2): CLS : GO SUB sb 1720 FOR r=i TO o8: IF f=i AND you THEN LET y$=j$(i): LET r(r)=y(r): IF r=o2 OR r=o6 OR r=o7 THEN LET yei=yei+y(r) 1730 IF (f=(o2) OR NOT you) THEN LET y$=j$(o2): LET r(r)=s(r): IF r=o2 OR r=o6 OR r=o7 THEN LET sei=sei+s(r) 1740 IF f=o3 OR NOT you OR NOT spo THEN LET r(r)=l(r) 1741 IF r=o7 THEN LET tei=yei+sei 1745 IF f=o3 THEN LET y$="Combined Totals"+FN m$() 1750 NEXT r: GO SUB ti: IF r(o8) THEN PRINT ; FLASH i;AT o3,i9;p$ 1760 PRINT ;y$: GO SUB fuu: PRINT : RESTORE i6*c 1770 FOR r=i TO o7: READ r$: LET r$=r$( TO LEN r$-(o3*(rmss THEN LET sso=y(o3)-mss 1796 IF s(o3)>mss THEN LET sso=s(o3)-mss 1797 LET w(v)=ABS sso: IF w(v) THEN GO SUB pq: PRINT "FICA Overpayment Noted!";TAB i6;"$";w(v): GO SUB bp2: GO SUB en 1801 LET s$="": LET g=i8*c: LET zero=i: LET y20=o: LET s20=o: LET a20=o: LET z$=x$(o8): IF NOT a(i) AND NOT bue THEN GO TO i9*c 1802 LET t$="2106 Employee Business Expenses": GO SUB ti: PRINT "This program will calculate your";t$;"using standard milage allowance (22.5p or 11p per mile) for one vehicle ";"only" AND fs<>o2;"each" AND fs=02;" that you OWN."'z$ 1804 PRINT "Auto, travel, meals, lodging or entertainment expenses both re- imbursed and not reimbursed and other";t$(o6 TO );TAB x;"for 1987."'z$ 1806 PRINT "Will you:"''" 1] Use built in program"''" 2] Enter from prepared 2106": LET hi=o2: GO SUB sel: LET pro=l-1 1808 LET nxt=i: LET tp=i: IF fs=o2 THEN GO SUB pq: PRINT "Who has 2106 deductions?"'': FOR f=i TO o3: PRINT TAB v;: PRINT FN w$(f): NEXT f: LET hi=3: GO SUB sel: LET tp=tp+(l=o2): LET nxt=nxt+(l=o3) 1810 DIM y(o3): LET g=VAL "1813": DIM l(o2,o3): LET zero=i: FOR w=i TO nxt: LET g=VAL "1818": IF NOT pro THEN GO TO g 1813 GO SUB ti: LET r$="Enter amount from line ": PRINT ''j$(tp);t$''r$;"9": GO SUB nv: LET l(w,i)=l: GO SUB ju: PRINT TAB ta;l$ 1814 PRINT 'r$;"13": GO SUB nv: LET l(w,o2)=l: GO SUB ju: PRINT TAB ta;l$ 1815 PRINT 'r$;"17": GO SUB nv: LET l(w,o3)=l: GO SUB ju: PRINT TAB ta;l$ 1816 GO SUB cor: IF no THEN GO TO g 1817 GO TO VAL "1874" 1818 LET auto=o: LET cost=o: LET bas=o: LET y$="": DIM r(h3): RESTORE i8*c: GO SUB ti: PRINT ''j$(tp);t$;z$: FOR r=i TO o2: READ r$: PRINT r$'z$: GO SUB yn: INPUT INKEY$: IF no THEN PRINT "You cannot take 2106 deductionswithout written evidence (do you want to re-answer question?)": GO SUB bp2: GO SUB yn: IF yes THEN GO TO g 1820 IF no THEN GO TO VAL "1880" 1822 NEXT r: GO SUB ti: PRINT ''j$(tp);t$;z$: FOR r=o TO i: READ r$: PRINT r$'z$: GO SUB yn: INPUT INKEY$: IF NOT r AND no THEN GO TO VAL "1840" 1824 LET auto=i: NEXT r: IF yes THEN GO SUB pq: PRINT "You cannot use this built-in"'t$;"program!!": GO SUB bp2: GO SUB en: GO TO i8*c 1826 RESTORE VAL "1895": GO SUB ti: PRINT j$(tp)'t$;z$: READ r$: PRINT r$: LET q$="#": PRINT "Month=";: LET hi=i2: GO SUB sel: LET mo=l: PRINT l;: PRINT " Day=";: LET hi=h1-(mo=o2 OR mo=o4 OR mo=o6 OR mo=o9 OR mo=11)-(mo=o2): GO SUB sel: LET dt=l: PRINT l;: PRINT " Year=";: GO SUB nv: LET yr=l: PRINT l'z$: LET y$=STR$ mo+"/"+STR$ dt+"/"+STR$ yr 1828 LET rate=t1/c: READ r$: PRINT r$: GO SUB yn: PRINT TAB t0;FN y$()'z$: INPUT INKEY$: IF yes THEN LET rate=i1/c 1830 LET q$="$": READ r$: PRINT r$: GO SUB nv: GO SUB ju: PRINT TAB ta;l$'z$: LET cost=l 1831 GO SUB cor: IF no THEN GO TO VAL "1826" 1832 LET q$="#": RESTORE VAL "1896": GO SUB ti: FOR r=i TO v: IF r=o3 THEN NEXT r 1834 READ r$: PRINT r$': GO SUB nv: GO SUB ro: GO SUB ju: LET r(r)=l: PRINT TAB ta;l'z$: NEXT r: READ r$: PRINT r$': GO SUB yn: LET car2=yes: PRINT TAB t0;FN y$(): GO SUB cor: IF no THEN GO TO VAL "1832" 1835 LET r(v)=(r(v)*r(o4)): LET r(o6)=r(i)-r(o2)-r(v): IF r(o6)k*i5 THEN LET r(o7)=k*i5: LET r(o8)=r(o2)-(k*i5) 1837 LET l=r(o2)/r(i): GO SUB ju2: LET r(o3)=VAL l$: LET l=(cost*l): GO SUB ro: LET bas=l: LET r(o7)=r(o2): IF r(o2)>k*i5 THEN LET r(o7)=k*i5: LET r(o8)=r(o2)-(k*i5) 1838 LET l=r(o7)*rate: GO SUB ro: LET r(o9)=l: LET l=r(o8)*i1/c: GO SUB ro: LET r(x)=l: LET r(i1)=r(o9)+l 1840 RESTORE VAL "1897": GO SUB ti: PRINT "Enter Totals of the following:"': LET q$=x$(o6): LET h$="$": FOR r=i2 TO t3: READ r$: IF r=i3 THEN READ p$ 1841 IF r=i5 THEN LET r=t3 1842 PRINT r$'p$ AND (r=i3 OR r=i4)': GO SUB nv: GO SUB ju: LET r(r)=l: PRINT TAB ta;l$'z$: NEXT r: GO SUB cor: IF no THEN GO TO VAL "1840" 1844 FOR f=i1 TO i4: LET r(i6)=r(i6)+r(f): NEXT f 1846 GO SUB ti: LET k$="Enter total of any reimbursementreceived from your employer and": PRINT k$'"NOT reported on Form W2 or 1099"'"*";p$: GO SUB nv: GO SUB ju: PRINT TAB ta;l$'z$: LET r(i7)=l: PRINT k$'"REPORTED on W2 or 1099 that wereidentified as reimbursement"'"*";p$: GO SUB nv: GO SUB ju: PRINT TAB ta;l$: LET r(t0)=l 1847 GO SUB cor: IF no THEN GO TO VAL "1846" 1848 GO SUB ti: LET k$="Enter total of any reimbursementreceived from your employer and": PRINT k$'"NOT reported on Form W2 or 1099"'"for ";r$( TO t4)'r$(t5 TO ): GO SUB nv: GO SUB ju: PRINT TAB ta;l$'z$: LET r(t4)=l: PRINT k$'"REPORTED on W2 or 1099 that wereidentified as reimbursement for"'r$: GO SUB nv: GO SUB ju: PRINT TAB ta;l$: LET r(t8)=l 1849 GO SUB cor: IF no THEN GO TO VAL "1848" 1850 GO SUB sb: IF r(i7) THEN LET r(i8)=r(i7)-r(i6): LET r(i8)=r(i8)*(r(i8)>o) 1851 IF r(t4) THEN LET r(t5)=r(t4)-r(t3): LET r(t5)=r(t5)*(r(t5)>o) 1852 LET l(w,i)=r(i8)+r(t5): LET r(t6)=l(w,i): LET r(i9)=(r(i6)-r(i7)): LET r(i9)=r(i9)*(r(i9)>o): LET r(t7)=r(t3)-r(t4): LET r(t7)=r(t7)*(r(t7)>o): LET r(t1)=r(i9): IF r(t0)x)+STR$ f+". Check": LET l$=(FN y$() AND f=o8)+("Not applicable" AND f=o9)+("Yes/Yes" AND f=x): GO SUB pl: NEXT f 1869 GO SUB fuu: PRINT TAB i2;"Section B": GO SUB fuu: FOR f=o7 TO i1: READ r$: LET r$=STR$ (f+o4)+". "+r$: IF fu1 THEN LET z$="1099-INT Interest": IF f>(u1+u2) THEN LET z$="Other Interest Income" 1940 IF f=i THEN PRINT AT i8,o; 1945 POKE nsc,v: PRINT z$: PRINT "Received from: ";: GO SUB bp: INPUT "Source:(10 characters maximum)"' LINE g$(f): PRINT g$(f): LET r$="Amount:": PRINT r$: PRINT AT t1-(f=i),o;: GO SUB nv: LET g(f)=l: GO SUB ju: GO SUB pl: GO SUB fuu: NEXT f 1950 GO SUB ti: FOR f=1 TO u4: LET r$="From: "+g$(f): LET l=g(f): GO SUB ju: GO SUB pl: PRINT ;x$(x): IF u4>o9 AND f/o9=INT (f/o9) THEN GO SUB en: GO SUB ti 1951 NEXT f: IF u4>o9 THEN GO SUB rev: IF yes THEN GO TO VAL "1950" 1952 GO SUB cor: IF no THEN GO TO g 1953 GO SUB sb: LET i(o2)=o: LET int=u4: DIM b$(u4,x): DIM b(u4): FOR f=i TO u4: LET b$(f)=g$(f): LET b(f)=g(f): LET i(o2)=i(o2)+g(f): NEXT f 1955 LET r$=" Total": LET l=i(o2): GO SUB ju: GO SUB pl: PRINT ',u$(o2): GO SUB en 1957 LET np=o: LET g=VAL "1956": RESTORE data: READ t$,t$,t$: IF NOT i(o3) THEN GO TO VAL "1960" 1958 GO SUB pq: PRINT " Total "+t$+" received: ";TAB o4;FN m$();TAB o4;: GO SUB nv: GO SUB ju: PRINT TAB ta-v;l$: GO SUB cor: IF no THEN GO TO g 1959 LET i(o3)=l 1961 DIM d$(o2): DIM v(o2): LET div=o: LET n1=o: LET c1=o: IF NOT i(o4) THEN GO TO VAL "2040" 1965 LET g=VAL "1960": RESTORE data: READ t$,t$,t$,t$: LET t$=+FN m$(): LET s$="" 1970 LET q$=x$(o6): LET np=o: LET h$="#": GO SUB pq: PRINT TAB o4;"How many Forms 1099-DIV";TAB o4;"or substitute 1099-DIV";TAB o4;"do you have ?": GO SUB nv: LET div=l: LET i(o4)=l: LET h$="$": IF NOT l THEN GO TO VAL "2040" 1975 LET q$=x$(o6): LET np=i: DIM g$(div,x): DIM g(div,o3): GO SUB ti: FOR f=i TO div 1980 PRINT AT i7,o;"1099-DIV, #";f'"Received from: ";: GO SUB bp: INPUT "Source:(10 characters maximum)"' LINE g$(f): PRINT g$(f): LET r$="Gross Dividends:": PRINT r$: GO SUB fun: GO SUB nv: LET g(f,i)=l: GO SUB ju: GO SUB pl 1985 LET r$="Capital Gain Dist.": PRINT r$: GO SUB fun: GO SUB nv: LET g(f,o2)=l: GO SUB ju: GO SUB pl: LET r$="Non-taxable Dist.": PRINT r$: GO SUB fun: GO SUB nv: LET g(f,o3)=l: GO SUB ju: GO SUB pl: GO SUB fuu 1990 IF g(f,i)-g(f,o2)-g(f,o3)div THEN POKE nsc,o6: PRINT ''''' 2010 NEXT f 2015 GO SUB sb: LET np=o: DIM d$(div,x): DIM v(div+i): FOR f=i TO div: LET d$(f)=g$(f): LET v(f)=g(f,i): LET v(div+i)=v(div+i)+g(f,i): LET c1=c1+g(f,o2): LET n1=n1+g(f,o3): NEXT f: LET i(o4)=v(div+i)-c1-n1 2020 IF NOT i(o2) AND NOT i(o4) THEN GO TO VAL "2180" 2042 IF NOT i(o2) AND NOT i(o4) THEN GO TO VAL "2180" 2045 OPEN #v,"s": LET fba=i: LET scb=(i(o2)>o4*c)+(i(o4)>o4*c): IF scb THEN GO SUB pq: PRINT "Do you have accounts in foreign countries with a total value of greater than $10,000 ?": GO SUB yn: IF no THEN LET fba=o: 2050 LET g=VAL "2040": LET li=v: LET np=o: LET t$="Schedule BaaInterest & Dividends": IF NOT scb THEN GO SUB pq: PRINT TAB o2;"Taxable Interest=$";i(o2)''TAB x;"Dividends=$";i(o4)''"You are not required to file"'t$;"but it will be presented for"',u$(o2): GO SUB en 2100 GO SUB ti: PRINT #v;AT FN u(),o8;"INTEREST INCOME"'"1. Seller-financed mortgages": FOR f=i TO u1+(NOT u1): LET r$="1. "+b$(f) AND u1: LET l=b(f)*(u1>o): GO SUB ju: GO SUB pl: NEXT f 2105 PRINT #v;x$(x)'"2. Other interest income" 2110 IF int>u1 THEN FOR f=i+u1 TO int 2115 LET r$="2. "+b$(f) AND int>u1: LET l=b(f)*(int>u1): GO SUB ju 2120 GO SUB pl: NEXT f: LET l=i(o2): GO SUB ju 2125 PRINT #v;x$(x): LET r$="3. Total Interest": GO SUB pl: PRINT #v;x$(x): IF NOT np THEN GO SUB en: CLS : PRINT t$'' 2130 PRINT #v;TAB o8;"DIVIDEND INCOME": FOR f=i TO div+(NOT div): LET r$="4. "+d$(f) AND div: LET l=v(f)*(div>o): GO SUB ju: IF f=i THEN PRINT #v;"4. Gross dividends" 2135 GO SUB pl: NEXT f: PRINT #v;x$(x) 2140 LET l=v(div+i): LET r$="5. Total line 4": GO SUB ju: GO SUB pl 2145 LET l=c1: LET r$="6. Capital Gain": GO SUB ju: LET l$=l$+"hhhhhhh": GO SUB pl: LET l=n1: LET r$="7. Non-taxable": GO SUB ju: LET l$=l$+"hhhhhhh": GO SUB pl: LET r$="8. Line 6 + Line 7": LET l=c1+n1: GO SUB ju: GO SUB pl: PRINT #v;x$(x): LET l=i(o4): LET r$="9. Line 5 - Line 8": GO SUB ju: GO SUB pl: PRINT #v;x$(x): IF NOT np THEN GO SUB i9: GO SUB en 2150 IF fba THEN PRINT #v;"Be sure to check items 10 & 11 on schedule B regarding money in foreign countries. See 1040 instruction booklet, page 25 forexceptions."'' 2155 IF NOT fba THEN PRINT #5;"You may check the boxes at 10 & 11 ""NO""."'' 2160 IF np THEN GO TO pc: RETURN 2165 GO SUB co: IF yes THEN GO SUB t1*c 2170 GO SUB rev: IF yes THEN GO TO t1*c 2175 GO SUB en 2185 RESTORE data+1: READ t$: LET t$=t$+FN m$(): IF NOT i(o6) THEN GO TO t2*c 2190 GO SUB pq: PRINT "Total Alimony received in 1987"''" DO NOT INCLUDE CHILD CARE" AND e(o2): GO SUB i9: GO SUB nv: GO SUB ju: PRINT 'TAB x;"=$";l$: GO SUB cor: IF no THEN GO TO VAL "2460" 2195 LET i(o6)=l 2205 LET sey=o: LET ses=o: LET v$="If a Loss be sure to use ""-"" $": RESTORE data+i: READ t$,t$: IF NOT i(o7) THEN GO TO VAL "2250" 2210 LET g=t2*c: LET tp=i: LET a$="Who has Schedule C income?": LET o$="How many schedule Cs do you have": LET e$=" Schedule C(s)": GO SUB who 2216 IF NOT l(i) AND NOT l(o2) THEN GO TO VAL "2240" 2220 LET q$=v$: LET np=i: GO SUB ti: PRINT AT i8,0;: FOR n=i TO i+(tp>=o2): FOR f=i TO l(n): POKE nsc,o3: PRINT j$(n)'"Enter Schedule C, Line 31, #";f: GO SUB nv: GO SUB ju: LET l$="$"+l$: PRINT TAB ta-i;l$'x$(x): LET sey=sey+(l*(n=i)): LET ses=ses+(l*(n=o2)): NEXT f: NEXT n 2225 POKE nsc,o: GO SUB cor: IF no THEN GO TO g 2230 INPUT INKEY$: POKE nsc,i5: IF sey THEN PRINT j$(i),"Net = $";sey'x$(x) 2235 IF ses THEN PRINT j$(o2),"Net = $";ses' 2240 PRINT x$(x): LET i(o7)=sey+ses: LET se=se-i 2242 INPUT INKEY$: IF i(o7) THEN GO SUB cor: IF no THEN GO TO g 2245 INPUT INKEY$: IF i(o7) THEN PRINT u$(o2)''"*Sch SE,(SS Self employment Tax)will be calculated later! ": GO SUB bp2: GO SUB en: LET yei=yei+sey: LET sei=sei+ses 2255 LET inc=i: LET gain=i: LET loss=i: LET np=o: RESTORE data+i: READ t$,t$,t$: IF NOT i(o8) THEN LET i(o8)=c1: GO TO VAL "2350" 2260 LET ok=i: LET k$="Correct amount for Schedule D, Line ": LET w$="Enter the amount from line ": LET g=VAL "2250": GO SUB ti: PRINT FN m$(): IF NOT c1 THEN GO TO VAL "2267" 2265 PRINT ''''"You should be showing a Capital Gain Distribution in the amount of $";c1;" on line 13 of your"'"Schedule D. Do you?": GO SUB yn: LET ok=yes: LET inc=ok 2267 IF ok THEN GO TO t3*c 2270 GO SUB ti: PRINT "ERROR!"''"THIS CAN BE FIXED LATER!"'': GO SUB bp2: PRINT "Is line 18 a gain? ";: GO SUB yn: INPUT INKEY$ : PRINT FN y$()'': LET gain=yes: LET loss=no:: IF yes THEN LET ok=i: GO TO t3*c 2275 GO SUB pq: PRINT "Are there any entries in part V?": GO SUB yn: IF yes THEN GO TO t3*c-x 2280 GO SUB pq: PRINT w$;i9: GO SUB nv: IF l>0 THEN GO SUB oop: GO TO VAL "2280" 2285 LET l=l+c1: GO SUB pq: LET u1=l: LET l=ABS l: GO SUB ju: PRINT k$;i9-(u1>0);" is $";l$'': PRINT k$;"19 is -0- <" AND u1>0''u$(o2);u$(o3): GO SUB en: LET l=u1: GO TO t3*c 2290 GO SUB pq: PRINT W$;VAL "38": GO SUB nv: LET u2=l-c1: IF u2>=o THEN LET l=-o3*k: GO SUB pq: PRINT "$3000 loss o. k. for now but,"'"Correct Schedule D Parts II & V before submission"''u$(o2);u$(o3): GO SUB en: GO TO t3*c 2295 LET l=o3*k+u2: GO SUB pq: GO SUB ju: PRINT k$;i9;" is $";l$''u$(o2);u$(o3): LET l=-l: GO SUB en: GO TO t3*c 2300 IF ok OR gain THEN GO SUB pq: PRINT "From your Schedule D"'"Enter Line ";"18" AND gain;" or " AND (gain AND loss);"Line 19" AND loss: PRINT ''"Be sure to use ""-"" if line 19" AND loss: GO SUB nv: GO SUB ju: PRINT 'TAB i6;l$: GO SUB cor: IF no THEN GO TO t3*c 2305 IF gain AND NOT inc THEN LET l=l+c1 2310 IF NOT inc AND gain THEN GO SUB ju: GO SUB pq: PRINT '"The amount of capital ";"gain" AND l>=o;"(loss)" AND l<=o;" on"'"Schedule D, Line ";"18" AND l>=o;"19" AND l<=o;" is:"'',l$''"Correct your Schedule D"'u$(o2);u$(o3): GO SUB bp2: GO SUB en 2320 IF ok AND NOT gain THEN GO SUB yn: IF no THEN GO TO t3*c 2330 LET i(o8)=l 2355 RESTORE data+o2: READ t$: IF NOT i(o9) THEN GO TO t4*c 2360 LET q$=v$: LET g=VAL "2350": GO SUB ti: PRINT FN m$(): PRINT AT x,o;"Enter the amount from Form 4797 Line 18b(2)": GO SUB nv: GO SUB ju: PRINT ''TAB ta;l$: GO SUB cor: IF no THEN GO TO VAL "2360" 2365 LET i(o9)=l 2405 LET k$="*Calculator Function Available! (ie. 10990+7769+303 [ENTER] )": LET g=t4*c: RESTORE data+o2: READ t$,z$: LET u1=o: LET u2=o: LET u3=o: IF NOT i(x) THEN GO TO t5*c 2410 DIM r(v): DIM l(v): LET c$="If you used form 4972, ""Tax on Lump-Sum Distri-butions"" do not include that distribution!": LET w$=" (Exclude Rollovers)" 2415 LET np=o: LET t$=z$: GO SUB ti: PRINT '';"In entering your income from"'t$'"do not include any amounts that have already been entered for DISABILITY RETIREMENT previouslyfrom form(s) W-2P!"'''x$(i1): GO SUB en 2420 LET q$=x$(o6): LET h$="$": GO SUB ti: PRINT FN m$()'''''"Did you precalculate your total and taxable annuity income?": GO SUB yn: IF no THEN GO TO VAL "2430" 2425 GO SUB ti: LET t$=k$: LET np=o: FOR f=i TO v: PRINT "Enter"'FN a$(f),c$ AND f=i AND f72;w$ AND f=o2 AND lsd: GO SUB nv: GO SUB ju: LET l$=FN a$(f)+"="+l$: PRINT TAB ta-LEN l$;l$: PRINT x$(o8): LET l(f)=l: NEXT f: GO SUB cor: IF no THEN GO TO VAL "2425" 2426 GO TO t5*c-x 2430 LET t$=z$: LET np=o: LET li=o4: GO SUB pq: PRINT "Place all of your Forms RRB-W-291099-R, W-2Ps and all substituteforms showing"'z$'"before you."'x$(i1);"If screen prompts do not apply enter 0"'x$(i1)'k$'x$(i1)'c$ AND f72: GO SUB en 2440 RESTORE t4*c: LET t$=k$: LET np=i: FOR n=i TO o4: READ r$ 2445 GO SUB ti: PRINT "From all ";r$ 2450 FOR f=i TO v: PRINT "Enter"'FN a$(f),c$ AND f=i AND f72 AND n=o2;w$ AND n=o2 AND lsd AND f=2: GO SUB nv: GO SUB ju: LET l$=FN a$(f)+"="+l$: PRINT TAB ta-LEN l$;l$: PRINT x$(o8): LET r(f)=l: NEXT f: GO SUB cor: IF no THEN GO TO VAL "2445" 2460 FOR l=i TO v: LET l(l)=l(l)+r(l): NEXT l: NEXT n 2470 LET t$=z$: GO SUB ti: PRINT "Totals:"'x$(o8): FOR f=i TO v: LET l=l(f): GO SUB ju: POKE nsc,o3: LET r$=FN a$(f): GO SUB pl: PRINT 'x$(o8)': NEXT f: GO SUB cor: IF no THEN GO TO g 2475 GO SUB cos 2480 LET i(x)=l(i): LET i(i1)=l(o2): LET w(i)=w(i)+l(o3): LET d(o7)=l(o4)+l(v) 2490 LET i(x)=l(i): LET i(i1)=l(o2): LET w(i)=w(i)+l(o3): LET d(o7)=d(o7)+l(o4)+l(v) 2499 DATA "Form(s) RRB-W-2P","Form(s) 1099-R","Form(s) W-2P","SUBSTITUTE/OTHER FORMS" 2505 LET u1=o: LET u2=o: RESTORE data=data+o2: READ z$: LET g=t5*c: IF NOT i(i2) THEN GO TO t6*c 2506 LET t$="Form 1065, Schedule K-1 Income": LET u1=o: LET u2=o: IF NOT k1 THEN GO TO VAL "2570" 2510 LET a$="Who has the Form 1065, Sch. K-1(Partnership) income?": LET o$="How many (1065)Sch.K1s have you?": LET e$=" K-1(s)": GO SUB who 2530 IF NOT l(i) AND NOT l(o2) THEN GO TO VAL "2570" 2535 LET q$=v$: LET np=i: GO SUB ti: PRINT AT i8,0;: FOR n=i TO i+(tp>=o2): FOR f=i TO l(n): POKE nsc,o3: PRINT j$(n)'"Enter Schedule K-1, Line 14a, #";f: GO SUB nv: GO SUB ju: LET l$="$"+l$: PRINT TAB ta-i;l$'x$(x): LET u1=u1+(l*(n=i)): LET u2=u2+(l*(n=o2)): NEXT f: NEXT n 2540 POKE nsc,o: GO SUB cor: IF no THEN GO TO g 2545 INPUT INKEY$: POKE nsc,x: IF u1 THEN PRINT j$(i),"Net = $";u1'x$(x) 2550 INPUT INKEY$: POKE nsc,x: IF u2 THEN PRINT j$(i),"Net = $";u2'x$(x) 2555 PRINT x$(x): GO SUB en: LET sey=sey+u1: LET ses=ses+u2: LET yei=yei+u1: LET sei=sei+u2 2560 LET q$=x$(o6)+"$": GO SUB pq: PRINT FN m$(): PRINT "Enter total amount from all K-1sLine 8:";: 2565 PRINT ''k$: GO SUB nv: GO SUB ju: PRINT TAB ta,l$: GO SUB cor: LET d(17+(l>=o3*k))=l*yes: IF no THEN GO TO VAL "2560" 2566 IF l THEN PRINT "*HAS been added to your Sch. A"''u$(o3): GO SUB en 2570 LET q$=v$: LET t$=z$: GO SUB pq: PRINT "Enter the amount from Schedule ELine 42."'"(IF no figure on line 42 then then enter amount from Line 17)" 2580 GO SUB nv: GO SUB ju: PRINT TAB ta;l$: GO SUB cor: LET i(12)=l*yes: IF no THEN GO TO VAL "2570" 2991 DELETE VAL "60",VAL "66": DELETE k,VAL "2991" 2992 LET g=VAL "2994": LET t$=x$(o7): GO SUB ti: PRINT '"This completes QWIK 1040, Part I"''x$(i2)''"If you stopped your tape at the signal it should be in position to MERGE Part II!"''x$(i2)''"NOTE: Portions of Part I have already been DELETEd. DO NOT ATTEMPT to make back-up tape or to re-run program at this time!": GO SUB bp2: GO SUB en 2993 DELETE VAL "9176",: DELETE VAL "2991",VAL "2993" 2994 GO SUB ti: PRINT "You will be MERGEing:F1040-87 2"''"It will take about 4 1/2 minutesfor Part II to LOAD and MERGE"''"Press [ENTER] and PLAY the tape": GO SUB en: PRINT 'x$(i2)''"If you get a TAPE LOADING ERROR re-position tape."''"Press G G [ENTER]"''"Restart Tape to try MERGE again.": GO SUB i9 2995 MERGE /"F1040-87 2": GO TO VAL "2996" 2996 DELETE VAL "2994",VAL "2996" 9002 DIM u$(3,15): LET u$(1)=" Stand-by": LET u$(2)="Info Only: ": LET u$(3)=" *Make a note!": CLS : PRINT AT 9,9;u$(1) 9010 LET o=NOT PI: LET i=SGN PI: LET o2=INT EXP i: LET o3=INT PI: LET o4=o2+o2: LET v=o4+i: LET x=v+v: LET o6=v+i: LET o7=o6+i: LET o8=o7+i: LET o9=x-i: LET x=v+v: LET c=x*x: LET k=c*x: LET v0=c/o2 9015 LET np=o: LET d1=i/x: LET dk9=o9/k: LET byt=VAL "255" 9020 LET i1=x+i: LET i2=x+o2: LET i3=x+o3: LET i4=x+o4: LET i5=x+v: LET i6=x+o6: LET i7=x+o7: LET i8=x+o8: LET i9=x+o9: LET t0=x+x: LET t1=t0+i: LET t2=t1+i: LET t3=t2+i: LET t4=t3+i: LET t5=v*v: LET t6=t5+i: LET t7=t6+i: LET t8=t7+i: LET t9=t8+i: LET h0=t9+i: LET h1=h0+i: LET h2=h1+i: LET h3=h2+i 9030 LET oh=VAL "38": LET who=i8*x: LET cos=c+o7: LET merge=VAL "6800": LET ln=VAL "23689": LET max=VAL "1e36": LET cap=VAL "23658": LET lw=i: LET pur=VAL "8800": LET ful=t5 9040 LET sb=c+x: LET pc=c-o6: LET rev=VAL "175": LET cor=i5*o3:: LET fu=t4: LET fuu=fu+o3: LET fun=fuu+i: LET fua=fun+i: LET pq=t2: LET lpl=x+o3: LET bp2=VAL "17": LET pl=x+i: LET cf=k*v+c: LET ti=t1: LET bp=ti-v: LET sel=h0: LET oop=sel+x: LET yn=x*v: LET nv2=o6*x: LET nv=nv2+c: LET ju=nv2+i1: LET ro=ju+x: LET ro2=VAL "82": LET ju2=VAL "84": LET co=c-x: LET en=c-o4 9100 DIM x$(i2,h2): LET lpr=o: LET nsc=VAL "23692": LET zero=o: LET zip=o 9110 LET x$(i)="********************************" 9120 LET x$(o2)="................................" 9140 LET x$(o4)="--------------------------------" 9150 LET x$(v)="________________________________" 9160 LET x$(o6)="If none then enter 0" 9170 LET x$(o7)="* AbBA Software Productions 1988": LET s$=" ": LET t$=x$(o7) 9171 LET x$(o8)="cccccccccccccccccccccccccccccccc" 9172 LET x$(o9)="tttttttttttttttttttttttttttttttt" 9173 LET x$(x)="aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" 9174 LET x$(i1)="ccaccaccaccaccaccaccaccaccaccacc" 9175 LET x$(i2)="hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh": DELETE 9000,9175 9176 REM LEAVE THIS REM in place 9177 BORDER o7: PAPER o7: INK o: BRIGHT i 9181 CLS : PRINT AT o9,o9;u$(i) 9210 RESTORE o9*k: FOR f=o TO o6: READ a,b,d,h,p: POKE USR "p"+f,p: POKE USR "a"+f,byt*(f=o4): POKE USR "c"+f,byt*(f=o3 OR f=v): POKE USR "t"+f,byt*(f=o): POKE USR "r"+f,1: POKE USR "l"+f,VAL "128": POKE USR "i"+f,o8: POKE USR "d"+f,a: POKE USR "m"+f,b: POKE USR "b"+f,d: POKE USR "h"+f,h: NEXT f: POKE USR "h"+f,VAL "85" 9220 DATA o,o,o,i7*x,o,o,o,h1+h1,VAL "85",o8,o8,o,v0+i6,i7*x,t8,o,t0,h1+h1,VAL "85",x*o4,h1+h1,o8,v0+i6,i7*x,x*o4,o,t0,v0+i6,VAL "85",t8,o8,o,h1+h1,i7*x,o8 9230 IF sound THEN POKE VAL "23609",v: LET me1=o9/k: LET me2=d1: LET me3=v/k: LET pau=o6/x 9240 IF NOT sound THEN POKE VAL "23609",o: LET me1=o: LET me2=o: LET me3=o: LET pau=c 9300 OPEN #v,"s": RETURN 9400 REM Leave this REM in place 9950 CLS : PRINT AT 9,9;"STOP THE TAPE": FOR f=1 TO 20: BEEP .05,20: BEEP .05,30: NEXT f 9952 LET sound=PI: GO SUB VAL "9000" 9955 LET li=o9: GO SUB pq: PRINT "Do you prefer an inverse screen?": GO SUB yn: IF yes THEN INK o7: PAPER o: BORDER o: BRIGHT o 9960 GO SUB pq: PRINT "Do you want to use WITH sound ?": GO SUB yn: IF yes THEN GO TO k 9965 LET sound=o: GO SUB VAL "9230": GO TO k 9999 CLEAR : SAVE /"F1040-87 1" LINE VAL "9950": BEEP 1,1: BEEP 1,3:: PAUSE 1000: BEEP 1,4: BEEP 1,5 ```