home *** CD-ROM | disk | FTP | other *** search
/ Tiger Disk 25 / Tiger_Disk_025_19xx_Tiger-Crew-Disk_de_Side_D.d64 / b.abrech (.txt) < prev    next >
Commodore BASIC  |  2023-02-26  |  11KB  |  586 lines

  1. 98 restore
  2. 99 rem ********************************
  3. 100 rem *******************************
  4. 110 code=7*4096:vars=5*4096+6*256
  5. 111 gr=peek(code+3)+peek(code+4)*256
  6. 112 pg=vars
  7. 114 ps=vars+7
  8. 116 rs=ps+268
  9. 118 as=rs+80+512
  10. 120 es=as+560
  11. 122 pa=es+200
  12. 150 ap=peek(pg+1)
  13. 160 :
  14. 161 rem **** store city
  15. 162 poke ps+(ap-1)*67,peek(pg+2)
  16. 200 dim gs(8),rp(4,3),qs(3),cc(8)
  17. 204 for z=0 to 8
  18. 205 read gs(z)
  19. 206 next z
  20. 207 for z=0 to 4: for y=0 to 3
  21. 208 read rp(z,y)
  22. 209 next y:next z
  23. 215 for z = 0 to 3
  24. 216 read qs(z)
  25. 217 next z
  26. 300 sys code,3
  27. 301 print"[155]"
  28. 302 print"[194]itte warten !"
  29. 303 print"[211]trukturen werden entpackt !"
  30. 304 sys code,6,3
  31. 500 :
  32. 501 rem ***** check kreditrahmen
  33. 502 :
  34. 505 b=pa+16+(ap-1)*8+4
  35. 510 gosub 22000:vm=r
  36. 515 kr=vm*20/100
  37. 516 b=ps+(ap-1)*67+6
  38. 517 r=kr:gosub 20500: rem store kr
  39. 525 gosub 21000 : rem get k
  40. 530 if k>0 then 600
  41. 535 :
  42. 540 rem *** auscheiden wegen low geld
  43. 542 if k>=-kr then 550
  44. 543 poke ps+(ap-1)*67+56,255: rem !!!!
  45. 544 rem **** ausscheiden !!!!!!!!
  46. 545 :
  47. 547 ft=65:fp=ap:op=3:gosub 7000 :rem fax ausscheid
  48. 549 gosub 8502:goto 5000:rem player
  49. 550 :
  50. 551 rem ***** check aktienuebernahem
  51. 552 :
  52. 555 if peek(pa+(ap-1)*4+ap-1)>49 then 600
  53. 560 for y=0 to 3
  54. 562 if y=ap-1 then 590
  55. 564 if peek(pa+(y-1)*4+ap-1)<50 then590
  56. 570 :
  57. 571 rem ***** uebernommen
  58. 572 :
  59. 575 rem  "player : ";ap;" von player :";y+1;" ue"
  60. 577 gosub 9500: rem uebernahme
  61. 580 :
  62. 581 rem print uebernahme
  63. 582 goto 590: rem no !!!!! uebernahme
  64. 584 rem faxen texte fuer uebern
  65. 585 gosub 7500:goto 5000: rem next play
  66. 590 next y
  67. 600 :
  68. 1000 rem **** real abrechnung
  69. 1001 ug=0:qg=0:gbes=0:ka=0:kf=0:ke=0
  70. 1002 en=0
  71. 1005 ag=gr
  72. 1006 b=40944+(ap-1)*4:gosub 22000
  73. 1007 lk=r
  74. 1010 for z=0 to 6*9-1
  75. 1015 a=peek(ag+2)
  76. 1020 b=a and 15
  77. 1025 a=int(a/16)
  78. 1030 if b=0 or b=1 then 1200
  79. 1035 if (a><ap) then goto 1200
  80. 1100 gosub 10000:rem ump-bere
  81. 1150 rem **** uwp bere end
  82. 1152 ug=ug+uw:qg=qg+qu:ka=ka+ak:gbes=gbes+bes
  83. 1153 kf=kf+fk:ke=ke+ek:en=en+ne
  84. 1200 rem **** next ground
  85. 1205 ag=ag+31
  86. 1210 next z
  87. 1250 rem :
  88. 1251 rem ***** runden
  89. 1252 gbes=int(gbes)
  90. 1253 en=int(en)
  91. 1254 qu=int(qu)
  92. 1255 de=int(de)
  93. 1256 dk=int(dk)
  94. 1257 zi=int(zi)
  95. 2000 rem ***** zinsen
  96. 2001 gosub 21000 :rem getkonto
  97. 2002 if k<0 then zi=k*15/100
  98. 2003 if k>=0 then zi=k*5/100
  99. 2005 zi = int (zi)
  100. 2010 gosub 22000: wk=r
  101. 2012 :
  102. 2015 aa=peek(pa+(ap-1)*4+ap-1)
  103. 2020 aa=100-aa
  104. 2025 if aa=0 then 2050 :rem noaktie
  105. 2030 b=ps+(ap-1)*67+10
  106. 2035 gosub 22000 : rem get long
  107. 2040 dk=r*aa/100/4:dk=int(dk)
  108. 2050 rem ***** dividenden ertraege
  109. 2052 :
  110. 2055 ab=pa+(ap-1)*4:de=0
  111. 2060 for z=0 to 3
  112. 2065 if z=ap-1 then 2095 :rem next z
  113. 2070 aa=peek(ab+z):if aa=0 then 2095
  114. 2075 b=ps+(z)*67+10
  115. 2080 gosub 22000 :rem get long
  116. 2085 de=de+r*aa/100/4:de=int(de)
  117. 2095 next z
  118. 2100 :
  119. 2101 rem *** get vermoegen
  120. 2102 :
  121. 2105 b=pa+16+(ap-1)*8+4
  122. 2110 gosub 22000: rem get long
  123. 2115 vm=r
  124. 2120 :
  125. 2121 rem *** get investitionen
  126. 2122 :
  127. 2125 b=pa+16+(ap-1)*8
  128. 2130 gosub 22000: rem get long
  129. 2135 iv=r
  130. 2200 :
  131. 2201 rem ***** bere werbekosten
  132. 2202 :
  133. 2205 b=ps+(ap-1)*67+46
  134. 2210 gosub 22000:wk=r
  135. 2250 :
  136. 2251 rem **** bere energiesparpreise
  137. 2252 b=ps+(ap-1)*67+58:ep=0
  138. 2253 for z=0 to 8
  139. 2255 ep=ep+peek(b+z)
  140. 2260 next z
  141. 2500 :
  142. 2501 rem ***** bere gewinn
  143. 2502 :
  144. 2505 gw=en-ke-kf-ka-wk-dk+zi+de
  145. 2506 gw=int(gw)
  146. 2507 ga=gw-zi-iv
  147. 2550 :
  148. 2551 rem **** bere new konto
  149. 2552 :
  150. 2554 k=k+gw:vm=vm+gw
  151. 2555 gosub 20000
  152. 2560 rem store vermoegen
  153. 2570 r=vm:b=pa+16+(ap-1)*8+4
  154. 2580 gosub 20500
  155. 2600 :
  156. 2601 rem store new last konto
  157. 2603 r=k:b=40944+(ap-1)*4:gosub 20500
  158. 3000 rem :
  159. 3001 rem :
  160. 3002 rem ****** out put
  161. 3003 :
  162. 3004 sys code,4,3,4,6
  163. 3005 sys code,7,96,32,10:sys code,6,3
  164. 3010 sys code,3:print"";
  165. 3011 sys code,4,3,24,2:sys code,21,ap
  166. 3012 print"  [199][197][211][193][205][212][193][194][210][197][195][200][206][213][206][199]:"
  167. 3014 print
  168. 3015 print"  [214]erm*gen          :  ";vm
  169. 3020 print"  [199]uthaben vorher   :  ";:if lk>=0 then print lk:goto 3025
  170. 3024 print
  171. 3025 print"  [194]esucherzahl      :  "; gbes
  172. 3030 print"  [197]nergiesparpreise :  ";ep
  173. 3035 print
  174. 3040 print"  [201]nvestitionskosten:  "
  175. 3045 print"  [208]ersonalkosten    :  "
  176. 3050 print"  [198]ahrzeugkosten    :  "
  177. 3055 print"  [215]erbekosten       :  "
  178. 3060 print"  [197]nergiekosten     :  "
  179. 3065 print"  [196]ividendenkosten  :  "
  180. 3070 print"  [196]ividendenertr@ge :  ";de
  181. 3075 print"  [218]insen            :  ";:if zi>=0 then print zi:goto 3080
  182. 3079 print
  183. 3080 print"  [197]innahmen         :  ";en
  184. 3085 print"---------------------------------------"
  185. 3090 print"  [199]ewinn            :  ";:if qa>=0 then print ga:goto 3095
  186. 3094 print
  187. 3095 gosub 21000
  188. 3096 print"  [199]uthaben aktuell  :  ";:if k>=0 then print k:goto 3100
  189. 3097 print
  190. 3100 sys code,6,3
  191. 3101 :
  192. 3102 :
  193. 3110 sys code,3:print"";
  194. 3113 print
  195. 3114 print
  196. 3115 print
  197. 3120 print"";:if lk<0 then print lk:goto 3125
  198. 3124 print
  199. 3125 print
  200. 3130 print
  201. 3135 print
  202. 3140 print"";iv
  203. 3145 print"";ka
  204. 3150 print"";kf
  205. 3155 print"";wk
  206. 3160 print"";int(ke)
  207. 3165 print"";dk
  208. 3170 print
  209. 3175 print"";:if zi<0 then print zi:goto 3180
  210. 3176 print
  211. 3180 print
  212. 3185 print
  213. 3190 print"";:if ga<0 then print ga:goto 3195
  214. 3194 print
  215. 3195 gosub 21000
  216. 3196 print"";:if k<0 then print k:goto 3200
  217. 3197 print
  218. 3200 sys code,6,8 : rem conv bright
  219. 4000 :
  220. 4001 rem ***** reset values
  221. 4002 :
  222. 4003 rem *** scroll gewinn
  223. 4005 b=ps+(ap-1)*67+14
  224. 4010 for z = 0 to 11
  225. 4012 poke b+z,peek(b+4+z)
  226. 4014 next z
  227. 4020 rem ***** store gewinn
  228. 4025 r=gw:b=b+12:gosub 20500
  229. 4050 :
  230. 4052 rem *** scroll einkommen
  231. 4055 b=ps+(ap-1)*67+30
  232. 4060 for z = 0 to 11
  233. 4072 poke b+z,peek(b+4+z)
  234. 4074 next z
  235. 4080 rem ***** store einkommen
  236. 4085 r=en:b=b+12:gosub 20500
  237. 4090 rem ***** store einkommen
  238. 4095 r=en:b=ps+(ap-1)*67+10
  239. 4096 gosub 20500
  240. 4100 :
  241. 4101 rem **** clear investments
  242. 4102 :
  243. 4105 b=pa+16+(ap-1)*8
  244. 4106 poke b+0,0
  245. 4107 poke b+1,0
  246. 4108 poke b+2,0
  247. 4109 poke b+3,0
  248. 4500 :
  249. 4501 rem **** ask buttons
  250. 4502 :
  251. 4505 poke 2,255
  252. 4510 cl=peek(2):if cl=99 then 4550
  253. 4515 goto 4510
  254. 4550 rem *** klicked exit
  255. 4555 :
  256. 5000 nq=0
  257. 5001 rem **** weiter zaehlen
  258. 5002 :
  259. 5003 gosub 9000:rem test humans raus ?
  260. 5004 if hr=1 then 5150
  261. 5005 ap=ap+1:if ap=5 then nq=1:ap=1
  262. 5006 poke pg+2,peek(ps+(ap-1)*67)
  263. 5010 poke pg+1,ap
  264. 5011 b=ps+(ap-1)*67+56
  265. 5012 if peek(b)=255 then goto 5005 rem *** ausgeschieden ->next player
  266. 5013 if peek(b)>0 then poke b,0:goto 5005 rem *** aussetzen
  267. 5014 if nq=1 then 5100
  268. 5015 if ap>peek(pg) then 5050:rem compi
  269. 5020 :
  270. 5021 rem **** haupsiz oder city !
  271. 5022 :
  272. 5023 rem city
  273. 5024 :
  274. 5025 if peek(ps+(ap-1)*67)=10 then 5040
  275. 5030 sys code,25,1
  276. 5031 z=peek(vars+2):a$="l.city"+str$(z)
  277. 5032 sys code,1,a$,8
  278. 5040 :
  279. 5041 rem *** goto haupsiz waehlen
  280. 5045 sys code,25,1
  281. 5046 sys code,1,"l.hauptsit",8
  282. 5050 :
  283. 5051 rem ***** call computer
  284. 5052 :
  285. 5053 if peek(ps+(ap-1)*67)=10 then int(rnd(0)*8)+1
  286. 5070 sys code,1,"l.computer",8
  287. 5100 :
  288. 5101 rem ***** quartal up
  289. 5102 aq=peek(pg+4)
  290. 5110 aq=aq+1: if aq=5 then 5200
  291. 5115 poke pg+4,aq
  292. 5120 goto 5030 : rem load city
  293. 5130 :
  294. 5150 ft=66:fp=0:op=0:gosub 7000
  295. 5151 sys code,9:sys code,1,"l.save",8:sys code,10
  296. 5155 sys code,25,1
  297. 5160 sys code,1,"l.splrzahl",8
  298. 5170 end
  299. 5195 :
  300. 5200 :
  301. 5201 rem ***** umweltpreise
  302. 5202 poke pg+5,peek(pg+5)+1
  303. 5205 aq=1: poke pg+4,aq
  304. 5220 sys code,1,"l.epreis",8
  305. 6999 end
  306. 7000 :
  307. 7001 rem ***** init fax
  308. 7002 :
  309. 7003 :
  310. 7004 sys code,22,ft
  311. 7008 :
  312. 7010 if fp>0 then gosub 7200
  313. 7012 sys code,1,"l.fax",8
  314. 7013 :
  315. 7014 sys code,3
  316. 7015 sys code,4,3,4,6
  317. 7020 sys code,7,96,32,10
  318. 7030 sys code,6,3
  319. 7040 sys code,8
  320. 7050 return
  321. 7200 :
  322. 7201 rem insert name
  323. 7202 :
  324. 7205 sys code,4,3,0,0
  325. 7206 sys code,21,fp
  326. 7208 for x=0 to 9
  327. 7210 poke 25344+op+x,peek(1024+x)
  328. 7212 next x
  329. 7250 return
  330. 7251 :
  331. 8502 rem ***** make ausscheiden
  332. 8503 :
  333. 8505 ag=gr
  334. 8506 for z=0 to 6*9-1
  335. 8510 p=peek(ag+2):gs=p and 15:p=int(p/16)
  336. 8515 if p<>ap then 8550
  337. 8525 poke ag+2,0
  338. 8550 ag=ag+31:next z
  339. 8600 :
  340. 8601 rem *** player weg in strukt
  341. 8602 :
  342. 8605 poke ps+(ap-1)*67+56,255
  343. 8700 :
  344. 8701 rem ***** clear gewinn
  345. 8702 :
  346. 8705 b=ps+(ap-1)*67+14
  347. 8710 for z = 0 to 15
  348. 8712 poke b+z,0
  349. 8714 next z
  350. 8750 :
  351. 8751 rem ***** clear einkommen
  352. 8752 :
  353. 8755 b=ps+(ap-1)*67+30
  354. 8760 for z = 0 to 15
  355. 8762 poke b+z,0
  356. 8764 next z
  357. 8800 :
  358. 8801 rem ***** clear aktien
  359. 8802 :
  360. 8805 b=pa+(ap-1)*4
  361. 8810 for z=0 to 3: poke b+z,0:next z
  362. 8815 for z=0 to 3
  363. 8820 poke pa+z*4+ap-1,0
  364. 8825 next z
  365. 8900 return
  366. 9000 :
  367. 9001 rem **** test alle human raus
  368. 9002 :
  369. 9003 hr=0
  370. 9005 ah=peek(pg):ah=ah-1
  371. 9010 if peek(ps+ah*67+56)<>255 then9050
  372. 9021 hr=1:rem alle ausscheiden
  373. 9050 return
  374. 9500 :
  375. 9501 :
  376. 9502 rem ***** make uebernahme
  377. 9503 :
  378. 9505 ag=gr
  379. 9506 for z=0 to 6*9-1
  380. 9510 p=peek(ag+2):gs=p and 15:p=int(p/16)
  381. 9515 if p<>ap then 9550
  382. 9520 p=(y+1)*16+gs
  383. 9525 poke ag+2,p
  384. 9550 ag=ag+31:next z
  385. 9600 :
  386. 9601 rem *** player weg in strukt
  387. 9602 :
  388. 9605 poke ps+(ap-1)*67+56,255
  389. 9700 :
  390. 9701 rem ***** clear gewinn
  391. 9702 :
  392. 9705 b=ps+(ap-1)*67+14
  393. 9710 for z = 0 to 15
  394. 9712 poke b+z,0
  395. 9714 next z
  396. 9750 :
  397. 9751 rem ***** clear einkommen
  398. 9752 :
  399. 9755 b=ps+(ap-1)*67+30
  400. 9760 for z = 0 to 15
  401. 9762 poke b+z,0
  402. 9764 next z
  403. 9800 :
  404. 9801 rem ***** clear aktien
  405. 9802 :
  406. 9805 b=pa+(ap-1)*4
  407. 9810 for z=0 to 3: poke b+z,0:next z
  408. 9815 for z=0 to 3
  409. 9820 poke pa+z*4+ap-1,0
  410. 9825 next z
  411. 9900 return
  412. 10000 rem *****************************
  413. 10150 rem **** uwp for this restaurant
  414. 10160 rem **** extras
  415. 10161 uw=0:qu=0:bes=0:ak=0:fk=0:ek=0
  416. 10162 ne=0
  417. 10165 a=peek(ag+6)
  418. 10170 f=a and 15
  419. 10175 a=int(a/16)
  420. 10180 if (a and 1) =1 then uw=uw+3 : qu=qu+6
  421. 10181 if (a and 2) =2 then uw=uw+4 : qu=qu+6
  422. 10182 if (a and 4) =4 then uw=uw+2 : qu=qu+6
  423. 10183 if (a and 8) =8 then uw=uw-3 : qu=qu+6
  424. 10200 rem **** fahrzeuge
  425. 10201 if (f and 1) =1 then uw=uw-3 : qu=qu+20: fk=5000: goto 10250
  426. 10202 if (f and 2) =2 then uw=uw-1 : qu=qu+25: fk=3000: goto 10250
  427. 10203 if (f and 4) =4 then uw=uw+1 : qu=qu+15: fk=500: goto 10250
  428. 10204 if (f and 8) =8 then uw=uw+3 : qu=qu+10: fk=0
  429. 10250 rem **** gruenflaeche
  430. 10255 a=peek(ag+3)
  431. 10260 r=a and 15
  432. 10265 a=int(a/16)
  433. 10270 s=gs(a)
  434. 10271 s=s-r
  435. 10272 s=s*4
  436. 10273 uw=uw+s
  437. 10274 qu=qu+s
  438. 10300 rem **** einrichtung
  439. 10305 for y=0 to 4
  440. 10310 anz=peek(ag+7+5+y)
  441. 10315 typ=peek(ag+7+y)
  442. 10320 ua=(peek(es+y*40+typ*4+1))
  443. 10321 if ua>128 then uw=uw-((ua and 127)*anz)
  444. 10322 if ua<128 then uw=uw+ua*anz
  445. 10325 qu=qu+(peek(es+y*40+typ*4+0)*anz)
  446. 10330 next y
  447. 10350 rem ****** werbung
  448. 10355 b=ps+(ap-1)*67+46
  449. 10360 w=peek(b+0)
  450. 10361 w=w+peek(b+1)*256
  451. 10362 w=w+peek(b+2)*65536
  452. 10363 w=w+(peek(b+3) and 127)*16777216
  453. 10370 ra=peek(b+4):ra=ra*w/100
  454. 10371 pl=peek(b+5):pl=pl*w/100
  455. 10372 pr=peek(b+6):pr=pr*w/100
  456. 10373 ma=peek(b+7):ma=ma*w/100
  457. 10374 um=peek(b+8):um=um*w/100
  458. 10380 ra=int(ra/20000)
  459. 10381 pl=int(pl/10000)
  460. 10382 pr=int(pr/12000)
  461. 10383 ma=int(ma/15000)
  462. 10384 um=int(um/15000)
  463. 10390 if (ra>5) then ra=5
  464. 10391 if (pl>2) then pl=2
  465. 10392 if (pr>3) then pr=3
  466. 10393 if (ma>4) then ma=4
  467. 10394 if (um>6) then um=6
  468. 10400 rem ****** image neu bere
  469. 10405 i=peek(b+9)
  470. 10410 i=i+ra+pl+pr+ma+int(um/2)
  471. 10415 i=i-3:if i<0 then i=0
  472. 10420 poke (b+9),i
  473. 10450 rem ****** werbung auf uwp bere
  474. 10455 uw=uw+um+int(ra/2)
  475. 10500 rem ****** ump abschlag size
  476. 10505 b=ps+(ap-1)*67
  477. 10510 r=peek(b+1)
  478. 10511 s=(peek(ag+3) and 15)
  479. 10515 uw=uw*rp(r,s-1)/100
  480. 10550 rem ****** qual grundstueck
  481. 10555 qu=qu+peek(ag+4)
  482. 10600 rem ****** qual persk arbeiter
  483. 10605 for y=0 to 9
  484. 10610 ar=peek(ag+17+y)
  485. 10615 if ar=255 then 10640
  486. 10620 rem *** get qual of worker
  487. 10625 av=peek(as+ar*7+6)
  488. 10626 ak=ak+peek(as+ar*7+1)*100
  489. 10630 qu=qu+av
  490. 10640 next y
  491. 10650 rem *** quartalschwankung
  492. 10655 s=peek(pg+4)-1
  493. 10660 sp=qs(s)
  494. 10670 qu=qu*sp/100
  495. 10700 rem *** imageschwankung
  496. 10705 qu=qu*(i+30)/100
  497. 10750 rem *** besucher bere
  498. 10755 b=ps+(ap-1)*67 : rem player
  499. 10760 re=peek(b+1)   : rem rest art
  500. 10765 b=rs+re*16     : rem rest strk
  501. 10770 gw=peek(b+4)
  502. 10775 qm=peek(b+5)
  503. 10780 bes=qu*200*qm/100
  504. 10790 rem **** einnahmen
  505. 10791 ne=bes*gw
  506. 10800 rem *** test auf angestellten
  507. 10805 for y=0 to 9
  508. 10806 if peek(ag+17+y)<>255 then 10850
  509. 10807 next y
  510. 10808 bes=0:qu=0:uw=0:ne=0
  511. 10850 rem *** test auf 0 besucher
  512. 10900 rem *** energiekosten
  513. 10905 ek=(70-uw):if ek<1 then ek=1
  514. 10910 ek=ek*100
  515. 10915 if bes=0 then ek=0
  516. 11000 :
  517. 11001 rem **** count anz city
  518. 11002 :
  519. 11005 c=ag-gr:c=int(c/31/6)
  520. 11010 cc(c)=cc(c)+1
  521. 12000 if uw<0 then uw=0:rem **** uwp bere end
  522. 12001 poke ag+27,uw :rem save up ground
  523. 12002 return
  524. 20000 :
  525. 20001 rem *** store kontostand
  526. 20002 :
  527. 20005 qk=k
  528. 20006 b=vars+7+2+((peek(vars+1)-1)*67)
  529. 20010 x=0:if k<0 then k=k-k-k:x=128
  530. 20020 poke(b+3),int(k/16777216)
  531. 20030 k=k-(int(k/16777216)*16777216)
  532. 20040 poke(b+2),int(k/65536)
  533. 20050 k=k-(int(k/65536)*65536)
  534. 20060 poke(b+1),int(k/256)
  535. 20070 k=k-(int(k/256)*256)
  536. 20080 poke(b+0),k
  537. 20090 poke(b+3),peek(b+3) or x
  538. 20100 k=qk
  539. 20110 return
  540. 20500 :
  541. 20501 rem *** store long
  542. 20502 :
  543. 20510 x=0:if r<0 then r=r-r-r:x=128
  544. 20520 poke(b+3),int(r/16777216)
  545. 20530 r=r-(int(r/16777216)*16777216)
  546. 20540 poke(b+2),int(r/65536)
  547. 20550 r=r-(int(r/65536)*65536)
  548. 20560 poke(b+1),int(r/256)
  549. 20570 r=r-(int(r/256)*256)
  550. 20580 poke(b+0),r
  551. 20590 poke(b+3),peek(b+3) or x
  552. 20610 return
  553. 21000 :
  554. 21001 rem *** get kontostand
  555. 21002 :
  556. 21010 b=vars+7+2+((peek(vars+1)-1)*67)
  557. 21020 x=peek(b+3) and 128
  558. 21030 k=peek(b+0)
  559. 21040 k=k+(peek(b+1)*256)
  560. 21050 k=k+(peek(b+2)*65536)
  561. 21060 k=k+((peek(b+3)and127)*16777216)
  562. 21070 if x=128 then k=-k
  563. 21080 return
  564. 22000 :
  565. 22001 rem *** get kontostand
  566. 22002 rem:b has to be bered
  567. 22004 :
  568. 22020 x=peek(b+3) and 128
  569. 22030 r=peek(b+0)
  570. 22040 r=r+(peek(b+1)*256)
  571. 22050 r=r+(peek(b+2)*65536)
  572. 22060 r=r+((peek(b+3)and127)*16777216)
  573. 22070 if x=128 then r=-r
  574. 22080 return
  575. 30000 rem ******* datas
  576. 30002 rem ******* datas  grundst. size
  577. 30003 data 0,1,2,2,3,3,4,5,5
  578. 30004 rem ******* datas grundst. size
  579. 30005 data 130,110,090,070
  580. 30006 data 130,110,090,070
  581. 30007 data 130,110,090,070
  582. 30008 data 130,110,090,070
  583. 30009 data 130,110,090,070
  584. 30020 rem ******* datas quartalsschw
  585. 30022 data 95,80,100,90
  586.