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 PIandSGN PI(o=0,i=1,o2=2 …c=100,k=1000), and line numbers are expressions likeGO TO korGO SUB pq. This saves memory in a very long program. - The TS2068
DELETEcommand 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
VALon slices. - String functions such as
DEF FN a$(f)use the"text" AND conditionidiom 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 pqwhere the other prompts useGO 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 f<o3)+(j$(o3) AND f=o3)
3 DEF FN u()=t3-PEEK ln
4 DEF FN u$()=x$(v, TO LEN l$): DEF FN a$(f)=("Gross amount" AND f=i)+("Taxable Amount" AND f=o2)+("Federal tax w/h" AND f=o3)+("State Tax w/h" AND f=o4)+("Local Tax w/h" AND f=v)
5 DEF FN l()=PEEK ln=o2
6 DEF FN n()=t4-PEEK ln
7 DEF FN c()=h2-LEN l$
8 DEF FN x(h)=LEN l$>h
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 l<lw OR l>hi 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 l<o THEN LET l$=l$(o2 TO ): LET l$="("+l$+")"
79 LET nl=LEN l$: LET ta=h2-nl: RETURN
81 LET l=INT (l+i/o2): RETURN
82 REM **round off 2 decimals**
83 LET l=INT (l*c+i/o2)/c: RETURN
84 REM *justify % to x places*
85 LET l$=x$(o3, TO sps): LET l$( TO sps)=STR$ (l*c)
86 IF l$(LEN l$)=" " THEN LET l$=l$( TO LEN l$-i): GO TO VAL "86"
87 RETURN
89 GO TO 8900
91 LET ret=co: INPUT INKEY$: PRINT #o;AT o,o;"DO YOU WANT A HARD COPY ?": GO TO yn+i
92 IF yes THEN GO SUB pq: PRINT TAB x;"printer on ?": GO SUB yn: IF no THEN LET yes=i: GO TO co+o2
93 IF yes THEN OPEN #v,"P": LET np=i: RETURN
94 LET np=o: OPEN #v,"S": PRINT AT o9,o6;"printing completed" AND yes: IF no THEN RETURN
95 GO SUB bp2: GO TO co
96 INPUT INKEY$: GO SUB i9: GO SUB bp: PRINT #o;"Press [ENTER] To Continue"
97 IF INKEY$<>CHR$ 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 tpd<txr THEN LET txr=tpd
1180 LET t$=y$: GO SUB pq: PRINT u$(o2)''"Taxable Amount of"'y$',"$";txr: GO SUB en
1200 LET g=i2*c: GO SUB sb: LET np=i: POKE nsc,byt: GO SUB bp: FOR f=i TO i7: LET i(f)=f: NEXT f
1210 RESTORE i2*c: LET t$="Questions concerning income:": GO SUB ti: PRINT "Answer the following questions by pressing [Y]es or [N]o only! Do NOT enter any figures!"'x$(o8)
1220 FOR f=i TO i7: IF f=v OR f=i1 OR f=i6 THEN READ r$: LET i(f)=o: NEXT f
1240 READ r$: PRINT "Did you have"'r$;"?": GO SUB yn: INPUT INKEY$: IF f=v AND yes AND NOT i(v) THEN PRINT "NOT taxable this year": PRINT x$(o8): NEXT f
1250 PRINT x$(o8): LET i(f)=yes
1260 NEXT f: PRINT x$(i1): GO SUB en
1270 DATA "Wages, tips, salaries, etc.","Taxable interest","Tax-exempt interest","Dividend income","Refund of state or local income taxes"
1271 DATA "Alimony income","Business income or (loss)","Capital gain or (loss)"
1272 DATA "Gain or loss from the sale of business or rental property","Pensions, IRA distributions or annuity income (including lump- sum distributions)",""
1273 DATA "Gain or loss from rents, royal- ties, partnerships, estates, trusts, etc.","Farm income or (loss)","Unemployment compensation"
1274 DATA "Social Security benefits","","Other income"
1300 LET i(v)=txr: LET rrv=o: RESTORE i2*c: LET t$="Income items recap": GO SUB ti: GO SUB fua: PRINT "Your income or loss items are:"'x$(o8): FOR f=i TO i7: READ r$: IF NOT i(f) THEN NEXT f
1310 IF i(f) AND FN l() THEN LET rrv=i: GO SUB en: POKE nsc,byt
1320 IF i(f) THEN PRINT r$'x$(x)
1330 NEXT f: IF rrv THEN GO SUB rev: IF yes THEN GO TO i3*c
1340 PRINT x$(i1): GO SUB cor: IF no THEN GO TO g
1350 LET g=VAL "1350": CLS : GO SUB sb: FOR f=i TO o7: LET a(f)=f: NEXT f: LET adj=o
1355 RESTORE i3*c: LET t$="Questions concerning adjustments": GO SUB ti: PRINT "Answer the following questions by pressing [Y]es or [N]o only! Do NOT enter any figures!"'x$(o8)
1360 FOR f=i TO o7: READ r$
1365 IF (f=o3 AND fs<>o2) 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*(r<o6))): LET l=r(r): GO SUB ju: PRINT ;r$'TAB ta;l$'
1780 GO SUB fuu: NEXT r: LET r$="Total Earned Income": LET l=(yei*(f=i))+(sei*((f=o2) OR (NOT yei)))+(tei*(f=o3)): GO SUB ju: PRINT ;r$'TAB ta;l$: GO SUB i9: GO SUB cos
1790 NEXT f: LET i(i)=tei: LET w(i)=l(i): LET d(o7)=l(o4)+l(v): IF f=o4 THEN GO SUB rev: IF yes THEN GO TO g
1793 LET yw2=y(o2): LET sw2=s(o2)
1794 GO SUB en: LET sso=o: IF y(o3)>mss 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)<o THEN LET l$="Check milage!": GO SUB oop: GO SUB oop: GO SUB ti: PRINT FLASH i;l$'''': PRINT 'r(o2);" business"'"+";r(v);" commuting"'"=";r(o2)+r(v);" mi"'"Greater than total! (";r(i);")": GO SUB bp2: GO SUB en: GO TO VAL "1832"
1836 GO SUB sb: LET sps=v: 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)
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)<r(i9) THEN LET r(t1)=r(t0)
1853 LET r(t9)=r(t7): IF r(t8)<r(t7) THEN LET r(t9)=r(t8)
1854 LET l(w,o2)=r(t1)+r(t9): LET r(t2)=r(i9)-r(t1): LET r(h0)=r(t7)-r(t9): LET l=r(h0)*VAL ".2": GO SUB ro: LET r(h1)=l: LET r(h2)=r(h0)-r(h1): LET r(h3)=r(t2)+r(h2): LET l(w,o3)=r(h3)
1856 LET rdo=i: LET s$="": LET g=VAL "1856": RESTORE VAL "1898": CLS : PRINT t$;j$(tp): GO SUB fuu: PRINT AT FN u(),t6;"Part I"
1857 LET a$="hhhhhhhh ": FOR f=i TO v: READ r$: LET r$=" "+STR$ f+"."+r$: IF f=v THEN LET l=r(t3): GO SUB ju: LET o$=a$: LET o$(LEN o$-LEN l$+i TO )=l$: LET l$=o$:: GO TO VAL "1859"
1858 LET l=r(f+x): GO SUB ju: LET l$=l$+a$( TO o8)
1859 GO SUB pl: NEXT f: LET r$=" "+STR$ f+".Total Expenses": LET l=r(i6): GO SUB ju: LET l$=l$+"h ": GO SUB pl: LET l=r(t3): GO SUB ju: PRINT AT FN u(),ta;l$'z$
1860 FOR f=o7 TO o8: READ r$: LET r$=" "+STR$ f+"."+r$: LET l=r(f+x): GO SUB ju: LET l$=l$+"h ": GO SUB pl: LET l=r(f+i7): GO SUB ju: PRINT AT FN u(),ta;l$': NEXT f: LET r$=" "+STR$ f+".Excess(to 1040,Li 7)": LET l=r(t6): GO SUB ju: GO SUB pl: PRINT z$
1861 FOR f=x TO i2: READ r$: LET r$=STR$ f+" "+r$: LET l=r(f+o9): GO SUB ju: LET l$=l$+"h ": GO SUB pl: LET l=r(f+i7): GO SUB ju: PRINT AT FN u(),ta;l$': NEXT f: LET r$=STR$ f+". Adj.(to 1040,Li23)": LET l=l(w,o2): GO SUB ju: GO SUB pl: PRINT z$
1862 FOR f=i4 TO i6: READ r$: LET r$=STR$ f+"."+r$: IF f=i5 THEN LET l=r(h1): GO SUB ju: LET o$=a$: LET o$(LEN o$-LEN l$+i TO )=l$: LET l$=o$: GO TO VAL "1864"
1863 LET l=r(t2): GO SUB ju: LET l$=l$+"h "
1864 GO SUB pl: LET l=r(f+i6): GO SUB ju: PRINT AT FN u(),ta;l$': NEXT f: LET r$=STR$ f+". Ded.(to Sch.A,Li20)": LET l=r(h3): GO SUB ju: GO SUB pl: GO SUB i9: GO SUB cos: IF NOT auto THEN GO TO VAL "1873"
1865 GO SUB en: CLS : PRINT t$: GO SUB fuu: PRINT TAB i2;"Section A": GO SUB fuu: PRINT AT i,o;"Part II": LET r$=" 1. Placed in service": LET l$=y$: GO SUB pl: FOR f=i TO o6: READ r$
1866 LET r$=" "+STR$ (f+i)+". "+r$: LET l$=STR$ r(f): IF f=o3 THEN LET l$=STR$ r(f)+"%"
1867 GO SUB pl: NEXT f: GO SUB fuu
1868 LET no=NOT car2: LET yes=car2: FOR f=o8 TO x: LET r$=(" " AND f<>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 f<o9 THEN LET l$=STR$ r(f)+"mi": GO TO VAL "1871"
1870 LET l=r(f): GO SUB ju
1871 GO SUB pl: NEXT f: GO SUB fuu: PRINT TAB i2;"Section D": GO SUB fuu
1872 FOR f=o TO i: READ r$: LET r$="Column "+r$: LET l=(cost*(NOT f))+(bas*f): GO SUB ju: GO SUB pl: NEXT f: GO SUB fuu: PRINT x$(o7): GO SUB i9: GO SUB cos: GO SUB rev: IF yes THEN GO TO g
1873 GO SUB en: CLS : GO SUB pq: PRINT "Would you like to re-do form?": GO SUB yn: IF yes THEN GO TO VAL "1818"
1874 FOR f=i TO o3: LET y(f)=y(f)+l(w,f): NEXT f
1880 LET tp=tp+i: NEXT w: LET rdo=o
1881 LET ybe=l(i,o2): LET sbe=l(o2,o2)
1882 LET y20=l(i,o3): LET s20=l(o2,o3): LET a20=y20+s20
1885 LET g=i8*c: LET i(i)=i(i)+y(i): LET a(i)=y(o2):: LET d(t4)=a20: IF y(i) THEN GO SUB pq: PRINT "$";y(i);" excess reimbursement"'"has been added to gross income!": GO SUB bp2: GO SUB en
1894 DATA "Do you have evidence to support "+t$+"deductions?","Is evidence written?","Do you have BUSINESS auto exp.?","Does EMPLOYER OWN this auto?"
1895 DATA "Date auto placed in service?","Have you previously taken total of 60,000 business mile on auto?","Total vehicle cost"
1896 DATA "TOTAL 1987 milage","Total business miles","Your daily round trip commuting distance","Total number of days commuted","Do you have another auto?"
1897 DATA "Parking fees, tolls, local comm-ercial transp. for business","Travel expenses away from home including lodging, plane, car rental, etc.","(no meals or entertainment!","Other business expenses","Meals and entertainment expenses"
1898 DATA "Vehicle exp","TollsiTransietc","Travelilodging","Other Bus. Exp.","MealsiEnt'mnt","extra Reimb.","li.7 - li.6","li 6 - li 7","W2i1099 Reim","<ili 10ili 11","li 10 - li 11","li 14 m 20%","li 14 - li 15"
1899 DATA "Total milage","Business miles","Line 3 d Line 2","Daily commuting miles","Total commuting miles","Other personal miles","< of li 3 or 15000","li 3 - li 11","li 11 m 22.5p","li 12 m 11p","li 13 + li 14","(a)","(b)"
1905 DIM b$(o2,o2): LET u1=o: LET u2=o: LET u3=o: LET u4=o: DIM r(i): DIM s(i): DIM y(i): DIM l(i): LET np=o: LET data=VAL "1270": LET int=o: DIM b(o2): LET g=i9*c: RESTORE data: READ t$,t$: IF NOT i(o2) THEN GO TO VAL "1956"
1910 LET t$=t$+FN m$(): LET s$=""
1915 LET q$=x$(o6): LET h$="#": GO SUB pq: PRINT TAB o4;"How many seller financed";TAB o4;"mortgages did you receive";TAB o4;"interest from?": GO SUB nv: LET u1=l: LET u4=l: LET z$="Seller Financed Mortgages"
1920 GO SUB pq: PRINT " How many form 1099-INTs do you have?": GO SUB nv: LET u2=l: LET u4=u4+l
1925 GO SUB pq: PRINT " How many other sources did you receive taxable interest from?": GO SUB nv: LET u3=l: LET u4=u4+l: IF NOT u4 THEN LET i(o2)=o: GO TO VAL "1956"
1930 LET q$=x$(o6): LET h$="$": DIM g$(u4,10): DIM g(u4): GO SUB ti
1935 LET np=i: FOR f=i TO u4: IF f>u1 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)<o THEN LET l$="Check figures": GO SUB oop: LET no=i: GO SUB en: GO TO o2*k
1995 GO SUB cor: INPUT INKEY$
2000 IF no THEN FOR n=i7 TO t1: PRINT AT n,o;x$(o3): NEXT n: GO TO VAL "1980"
2005 IF f<>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,5Note: Type-in program listings on this website use ZMAKEBAS notation for graphics characters.

