home *** CD-ROM | disk | FTP | other *** search
/ Loadstar 92 / 092.d81 / 1040a (.txt) < prev    next >
Commodore BASIC  |  2022-08-26  |  14KB  |  439 lines

  1. 0 dv=peek(186):ifdv<8thendv=8
  2. 1 ifa=0thena=1:load"help-1040a",dv,1
  3. 2 ifa=1thena=2:load"notepad",dv,1
  4. 3 poke198,0
  5. 5 dim m0$(20),m1$(20),m2$(20),m3$(20),m4$(20),m5$(20),m6$(20),m7$(20),m8$(20)
  6. 6 dimm9$(20):sp$="          "
  7. 7 dimd$(36):fori=0to36:d$(i)="0":next:d$(1)="1":d$(2)="1"
  8. 10 poke53280,0:poke53281,0:ad=36864
  9. 20 readx:fori=1tox:readm0$(i):next
  10. 21 readx:fori=1tox:readm1$(i):next
  11. 22 readx:fori=1tox:readm2$(i):next
  12. 24 readx:fori=1tox:readm3$(i):next
  13. 25 readx:fori=1tox:readm4$(i):next
  14. 26 readx:fori=1tox:readm5$(i):next
  15. 27 readx:fori=1tox:readm6$(i):next
  16. 28 readx:fori=1tox:readm7$(i):next
  17. 29 readx:fori=1tox:readm8$(i):next
  18. 30 readx:fori=1tox:readm9$(i):next
  19. 31 dimfs$(5):fori=1to5:readfs$(i):next:fs=2
  20. 32 dimsd$(5):fori=1to5:readsd$(i):next:fs=2:d$(17)=sd$(fs)
  21. 33 print"";
  22. 40 sysad,"[212][160][193][160][216][160] [160][193] [195][160][195] [207] [213] [206] [212][160][193][160][206] [212]","1040[193]"
  23. 50 ifpeek(198)<>1thenend
  24. 55 sysad+15:getdv$:getme$:gethi$:gettx$
  25. 56 dv=asc(dv$):m=asc(me$)and15:h=asc(hi$)and15:tx=asc(tx$)and15
  26. 60 sysad+18:poke198,0:gosub9000
  27. 70 sysad+3,13+64,11,7,m,h,tx,m0$(1),m0$(2),m0$(3),m0$(4),m0$(5),m0$(6),m0$(7),m0$(8),m0$(9),m0$(10),m0$(11),m0$(12),m0$(13)
  28. 80 getk$:k$=str$(asc(k$)-48):k=val(k$)
  29. 85 ifk>3thensysad+18:poke781,21:sys59903
  30. 90 onkgoto 200,300,900,1070,2070,3070,4070,5070,6070,7070,8070,700,40
  31. 95 goto70
  32. 100 :
  33. 200 gosub9300
  34. 210 ifval(w$)=0then275
  35. 220 open15,dv,15,"io":w$="1040a."+w$
  36. 225 open2,dv,2,"0:"+w$+",s,r"
  37. 230 input#15,e,e$,e1,e2
  38. 234 poke214,21:print:print"                                    "
  39. 235 poke214,21:print:print"[196]isk [211]tatus:"e;e$:fori=1to2000:next
  40. 236 poke214,21:print:print"                                    "
  41. 240 ifethenclose2:close15:print"[145][198]ile [206]ot [204]oaded":fori=1to2000:next:goto275
  42. 250 fori=0to36:input#2,d$(i):next
  43. 255 print#2,fs:print#2,m1$(1)
  44. 270 close2:close15
  45. 275 gosub9000:goto70
  46. 280 :
  47. 300 gosub9300:ifval(w$)=0then375
  48. 310 w$="1040a."+w$
  49. 320 open15,dv,15,"s0:"+w$:close15
  50. 330 open15,dv,15,"io"
  51. 335 open2,dv,2,"0:"+w$+",s,w"
  52. 340 input#15,e,e$,e1,e2
  53. 344 poke214,21:print:print"                                    "
  54. 345 poke214,21:print:print"[196]isk [211]tatus: "e;e$:fori=1to2000:next
  55. 346 poke214,21:print:print"                                    "
  56. 350 ifethenclose2:close15:print"[145][198]ile [206]ot [211]aved":fori=1to2000:next:goto375
  57. 360 fori=0to36:print#2,d$(i):next
  58. 365 input#2,fs:print#2,m1$(1)
  59. 370 close2:close15
  60. 375 gosub9000:goto70
  61. 390 :
  62. 400 d$(4)=str$(val(d$(1))+val(d$(2))+val(d$(3)))
  63. 405 tl=0:fori=5to11:tl=tl+val(d$(i)):next:d$(12)=str$(tl)
  64. 410 d$(15)=str$(val(d$(13))+val(d$(14)))
  65. 415 d$(16)=str$(val(d$(12))-val(d$(15)))
  66. 420 d$(18)=str$(val(d$(16))-val(d$(17)))
  67. 425 d$(19)=str$(val(d$(4))*2150)
  68. 430 d$(20)=str$(val(d$(18))-val(d$(19)))
  69. 432 gosub15000
  70. 435 d$(24)=str$(val(d$(22))+val(d$(23)))
  71. 440 d$(25)=str$(val(d$(21))-val(d$(24))):ifval(d$(25))<0thend$(25)="0"
  72. 445 d$(27)=str$(val(d$(25))+val(d$(26)))
  73. 450 tl=0:fori=28to30:tl=tl+val(d$(i)):next:d$(31)=str$(tl)
  74. 460 x1=val(d$(31)):x2=val(d$(27)):ifx1>x2then470
  75. 461 d$(33)="0":d$(34)="0"
  76. 465 d$(35)=str$((x2-x1)+val(d$(36))):d$(32)="0":return
  77. 470 d$(32)=str$(x1-x2):d$(35)="0":d$(36)="0"
  78. 475 return
  79. 480 :
  80. 500 sysad+6,2:sysad+9,1
  81. 505 sys50176,1,3,38,20,tx,0
  82. 510 ky=peek(197)
  83. 515 ifky=3thensys51712,1,3,38,20,7:goto505
  84. 520 ifky=6thenopen15,dv,15,"s0:"+n$:close15:sysad+12,n$,1:goto505
  85. 530 ifky=5then poke147,0:sys57812n$,dv,1:sys62631:sysad+9,1:goto505
  86. 550 sysad+6,1:sysad+9,2:return
  87. 560 :
  88. 600 sysad+6,2:poke646,tx:print"[147]"tab(14)"*** [200][197][204][208] ***"
  89. 601 poke646,m
  90. 602 print"[176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]";
  91. 603 fori=1to21:print"[221]                                      [221]";:next
  92. 604 print"[173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]";:poke646,tx
  93. 605 print"              [208]ress [210][197][212][213][210][206]";:poke52346,tx
  94. 606 open2,dv,2,h$+",p,r":sys51968
  95. 610 poke198,0
  96. 615 getk$:ifk$<>chr$(13)then615
  97. 620 close2:sysad+9,2:return
  98. 625 :
  99. 700 poke646,tx
  100. 701 print"[176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]"
  101. 702 print"[221]             1040 [212]otals             [221]"
  102. 704 print"[171][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][179]"
  103. 706 print"[221][197]xemptions (6e)                      [221]"
  104. 708 print"[221][201]ncome (14)                          [221]"
  105. 710 print"[221][193]djustments to [201]ncome (15c)          [221]"
  106. 712 print"[221][193]djusted [199]ross [201]ncome (16)           [221]"
  107. 714 print"[221][212]axable [201]ncome (22)                  [221]"
  108. 716 print"[221][195]redits (24c)                        [221]"
  109. 719 print"[221][212]otal [212]ax (27)                       [221]"
  110. 720 print"[221][208]ayments (28d)                       [221]"
  111. 724 print"[173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]"
  112. 725 fori=217to242:pokei,peek(i)or128:next
  113. 726 gosub9200
  114. 730 print""
  115. 735 printtab(28)right$(sp$+d$(4),10)
  116. 740 printtab(28)right$(sp$+d$(12),10)
  117. 745 printtab(28)right$(sp$+d$(15),10)
  118. 750 printtab(28)right$(sp$+d$(16),10)
  119. 755 printtab(28)right$(sp$+d$(20),10)
  120. 757 printtab(28)right$(sp$+d$(24),10)
  121. 760 printtab(28)right$(sp$+d$(27),10)
  122. 762 printtab(28)right$(sp$+d$(31),10)
  123. 775 getk$:ifk$<>chr$(13)then775
  124. 780 sysad+18:gosub9000:goto70
  125. 785 :
  126. 900 gosub9400:ifw$<>"y"thengosub9000:goto70
  127. 905 poke214,22:print:print"[208]rinting...      "
  128. 910 open4,4,7
  129. 915 print#4,sp$;"1040[193]"
  130. 920 print#4,sp$;"-----------------------*-------------"
  131. 922 fori=1to5:print#4,sp$;left$(m1$(i),27)+right$(sp$+d$(i-1),10):next:print#4
  132. 925 fori=1to8:print#4,sp$;left$(m2$(i),27)+right$(sp$+d$(i+4),10):next:print#4
  133. 930 fori=1to3:print#4,sp$;left$(m3$(i),27)+right$(sp$+d$(i+12),10):next:print#4
  134. 935 fori=1to6:print#4,sp$;left$(m4$(i),27)+right$(sp$+d$(i+15),10):next:print#4
  135. 955 fori=1to3:print#4,sp$;left$(m5$(i),27)+right$(sp$+d$(i+21),10):next:print#4
  136. 960 fori=1to3:print#4,sp$;left$(m6$(i),27)+right$(sp$+d$(i+24),10):next:print#4
  137. 965 fori=1to4:print#4,sp$;left$(m7$(i),27)+right$(sp$+d$(i+27),10):next:print#4
  138. 970 fori=1to5:print#4,sp$;left$(m8$(i),27)+right$(sp$+d$(i+31),10):next:print#4
  139. 990 print#4:close4:gosub9000:goto70
  140. 995 :
  141. 1000 sysad+3,9+64,1,8,m,h,tx,m1$(1),m1$(2),m1$(3),m1$(4),m1$(5),m1$(6),m1$(7),m1$(8),m1$(9)
  142. 1010 getk$:k$=str$(asc(k$)-48):k=val(k$)
  143. 1020 ifk=9thensysad+18:goto70
  144. 1025 ifk=8thenh$="1040a.h1":gosub600:goto1000
  145. 1030 ifk=6thenn$="1040a.n1":gosub500:goto1000
  146. 1035 ifk=7thengosub9500:goto1000
  147. 1045 ifk=5then1000
  148. 1047 ifk=1thengosub1500:goto1067
  149. 1048 ifk<4then1000
  150. 1050 gosub9100:iflen(w$)=0then1000
  151. 1055 d$(k-1)=w$
  152. 1067 gosub400
  153. 1070 fori=2to5:m1$(i)=left$(m1$(i),27)+right$(sp$+d$(i-1),10):next
  154. 1075 goto1000
  155. 1080 :
  156. 1500 fs=fs+1:iffs=6thenfs=1
  157. 1505 m1$(1)=fs$(fs):d$(17)=sd$(fs)
  158. 1506 d$(2)="0":iffs=2thend$(2)="1"
  159. 1510 return
  160. 1515 :
  161. 2000 sysad+3,12+64,1,8,m,h,tx,m2$(1),m2$(2),m2$(3),m2$(4),m2$(5),m2$(6),m2$(7),m2$(8),m2$(9),m2$(10),m2$(11),m2$(12)
  162. 2010 getk$:k$=str$(asc(k$)-48):k=val(k$)
  163. 2020 ifk=12thensysad+18:goto70
  164. 2025 ifk=11thenh$="1040a.h2":gosub600:goto2000
  165. 2030 ifk=9thenn$="1040a.n2":gosub500:goto2000
  166. 2035 ifk=10thengosub9500:goto2000
  167. 2050 gosub9100:iflen(w$)=0then2000
  168. 2055 d$(k+4)=w$:gosub400
  169. 2070 fori=1to8:m2$(i)=left$(m2$(i),27)+right$(sp$+d$(i+4),10):next
  170. 2087 goto2000
  171. 2090 :
  172. 3000 sysad+3,7+64,1,8,m,h,tx,m3$(1),m3$(2),m3$(3),m3$(4),m3$(5),m3$(6),m3$(7)
  173. 3010 getk$:k$=str$(asc(k$)-48):k=val(k$)
  174. 3020 ifk=7thensysad+18:goto70
  175. 3025 ifk=6thenh$="1040a.h3":gosub600:goto3000
  176. 3030 ifk=5thengosub9500:goto3000
  177. 3035 ifk=4thenn$="1040a.n3":gosub