home *** CD-ROM | disk | FTP | other *** search
/ 64'er / 64ER_CD.iso / 86xx / 8604.d64 / lms.bas (.txt) < prev    next >
Commodore BASIC  |  1995-03-30  |  6KB  |  195 lines

  1. 100 REM ------ LMS-AUSWERTEPROGRAMM V2.0
  2. 101 REM ------- 11/85  (C) FRANZ STOIBER
  3. 110 PRINT CHR$(14);CHR$(8): POKE 808,225: ZF=6
  4. 120 E$="[192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192] [197]NDE [192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]"
  5. 130 POKE 53280,15: POKE 53281,15: POKE 646,ZF: GOSUB 1440
  6. 140 BL$="                                        "
  7. 150 RA=53248: PU=253: L=22: CL=985.248: R=.05
  8. 160 K0=2^8: K1=2^16: K2=2^24: K3=2^32: K4=K1-1: K5=63999: K6=10
  9. 170 RD=40679: AT=40710: AB=40535: NR=40918
  10. 180 P1=40926: P2=P1+1: P3=P1+2: P4=P1+3: P5=P1+4: P6=P1+5: P7=P1+6: P8=P1+7
  11. 200 J=0: K=80: P=RA
  12. 210 KZ$="      [206]R   [193]NZ        MSEK    MSEK/[193]NZ"
  13. 220 SYS AT,6,5,"[205]ESSUNG ..............   M"
  14. 230 SYS AT,6,7,"[193]NZEIGE AB [206]R ........   A"
  15. 240 SYS AT,6,9,"[214]ORHERGEHENDE [211]EITE ..   ^"
  16. 250 SYS AT,6,11,"[206]AECHSTE [211]EITE ....... RETURN"
  17. 260 SYS AT,6,13,"[211]UMME ................   S"
  18. 270 SYS AT,6,15,"[196]RUCKEN ..............   D"
  19. 280 SYS AT,6,17,"[200]ILFE ................   H"
  20. 290 SYS AT,6,19,"[197]NDE .................   E"
  21. 300 POKE 198,0: SYS AT,0,24,"    [215]EITER MIT: M/A/^/RETURN/S/D/H/E   [146]";
  22. 310 POKE 2023,160: POKE 56295,ZF
  23. 320 GET A$: IF A$="" THEN 320
  24. 330 IF A$="M" THEN 430
  25. 340 IF A$="A" THEN 450
  26. 350 IF A$="^" THEN 490
  27. 360 IF A$=CHR$(13) THEN 540
  28. 370 IF A$="S" THEN 570
  29. 380 IF A$="D" THEN 720
  30. 390 IF A$="H" THEN 1010
  31. 400 IF A$="E" THEN 1030
  32. 410 GOTO 300
  33. 420 REM ------------------------ MESSUNG
  34. 430 POKE 808,237: PRINT CHR$(9);"[147]";: SYS 40160
  35. 440 REM --------------------- ANZEIGE AB
  36. 450 GOSUB 1930: IF F THEN 300
  37. 460 GOSUB 1440: GOSUB 1480
  38. 470 P=P-8: GOSUB 1130: GOTO 300
  39. 480 REM ------------------------ ZURUECK
  40. 490 GOSUB 1930: IF F THEN 300
  41. 500 P=P-(ZZ+L-1)*8
  42. 510 IF P<RA THEN P=RA
  43. 520 GOSUB 1130: GOTO 300
  44. 530 REM ---------------------------- VOR
  45. 540 GOSUB 1930: IF F THEN 300
  46. 550 GOSUB 1130: GOTO 300
  47. 560 REM -------------------------- SUMME
  48. 570 GOSUB 1930: IF F THEN 300
  49. 580 GOSUB 1440
  50. 590 SYS AT,5,4,"[211]UMME": SYS AT,5,5,"[163][163][163][163][163]"
  51. 600 GOSUB 1480: GOSUB 1580
  52. 610 P=P-8: S=0
  53. 620 GOSUB 1080
  54. 630 IF Z>ZB THEN 670
  55. 640 GOSUB 1370
  56. 650 S=S+T: SYS AT,30,10,Z
  57. 660 GOTO 620
  58. 670 SYS AT,30,10,"      "
  59. 680 T=S: T$="": GOSUB 1400
  60. 690 SYS AT,5,17,"[211]UMME =";T$;" MSEK"
  61. 700 P=RA: GOTO 300
  62. 710 REM ------------------------ DRUCKEN
  63. 720 GOSUB 1930: IF F THEN 300
  64. 730 GOSUB 1440
  65. 740 SYS AT,5,4,"[196]RUCKEN": SYS AT,5,5,"[163][163][163][163][163][163][163]"
  66. 750 GOSUB 1480: GOSUB 1580: P=P-8: S=0
  67. 760 SYS AT,5,15,"[196]RUCKER [207].[203]. ?"
  68. 770 SYS AT,5,16,"[215]EITER MIT BELIEBIGER [212]ASTE"
  69. 780 POKE 198,0: WAIT 198,1: POKE 198,0
  70. 790 OPEN 4,4,7: POKE 768,185: PRINT#4,"";: POKE 768,139
  71. 800 IF ST THEN SYS AT,8,22," [196]RUCKER NICHT BEREIT [146]": CLOSE 4: GOTO 300
  72. 810 IF K<80 THEN PL$="": GOSUB 1830: GOTO 830
  73. 820 SYS AT,0,15,BL$;: SYS AT,0,16,BL$;
  74. 830 F=0: PL$=""
  75. 840 GOSUB 1080
  76. 850 IF Z>ZB THEN 960
  77. 860 GOSUB 1320
  78. 870 GOSUB 1370
  79. 880 S=S+T: T$="": B$="            "
  80. 890 GOSUB 1400
  81. 900 IF AZ<2 THEN 920
  82. 910 B$="": T=T/AZ: AZ=0: GOTO 890
  83. 920 PL$=PL$+"  "+Z$+AZ$+T$+B$
  84. 930 IF F=0 THEN F=1: GOTO 840
  85. 940 GOSUB 1830
  86. 950 GOTO 830
  87. 960 IF F THEN GOSUB 1830
  88. 970 T=S: T$="": GOSUB 1400
  89. 980 PL$="       [211]UMME ="+T$+" MSEK": GOSUB 1830
  90. 990 CLOSE 4: P=RA: GOTO 300
  91. 1000 REM ------------------------- HILFE
  92. 1010 GOSUB 1440: GOTO 220
  93. 1020 REM -------------------------- ENDE
  94. 1030 GOSUB 1440: SYS AT,5,13,"[194]ITTE [197]NDE BESTAETIGEN (J/N):  [146]";
  95. 1040 GET A$: IF A$="" THEN 1040
  96. 1050 IF A$="J" THEN SYS AT,35,13,"J": SYS 64738
  97. 1060 SYS AT,0,13,BL$;: GOTO 220
  98. 1070 REM ----------  WERTE AUS RAM LESEN
  99. 1080 P=P+8: PH=INT(P/K0): PL=P-PH*K0
  100. 1090 POKE PU,PL: POKE PU+1,PH: SYS RD
  101. 1100 Z=PEEK(P1)+PEEK(P2)*K0
  102. 1110 RETURN
  103. 1120 REM -----------  AUSGABE BILDSCHIRM
  104. 1130 PRINT "[147]    [206]R   [193]NZ        MSEK    MSEK/[193]NZ    "
  105. 1140 M1=0: M2=0: C1$=" ": C2$=" "
  106. 1150 FOR ZZ=1 TO L
  107. 1160 :GOSUB 1080
  108. 1170 :IF Z=K4 THEN P=P-8: PRINT E$;: GOTO 1280
  109. 1180 :GOSUB 1320
  110. 1190 :GOSUB 1370
  111. 1200 :IF T>M1 THEN M1=T: L1=ZZ: C1$="_"
  112. 1210 :T$=""
  113. 1220 :GOSUB 1400
  114. 1230 :IF AZ<2 THEN 1260
  115. 1240 :T=T/AZ: IF T>M2 THEN M2=T: L2=ZZ: C2$="_"
  116. 1250 :AZ=0: GOTO 1220
  117. 1260 :PRINT Z$;AZ$;T$
  118. 1270 NEXT
  119. 1280 IF C1$="_" THEN SYS AT,24,L1+1,C1$;
  120. 1290 IF C2$="_" THEN SYS AT,36,L2+1,C2$;
  121. 1300 RETURN
  122. 1310 REM ----------  AUFBEREITUNG NR,ANZ
  123. 1320 Z$=RIGHT$("     "+STR$(Z),6)
  124. 1330 AZ=PEEK(P3)+PEEK(P4)*K0
  125. 1340 AZ$=RIGHT$("     "+STR$(AZ),6)
  126. 1350 RETURN
  127. 1360 REM ---------------  ZEIT ERRECHNEN
  128. 1370 T=(PEEK(P5)+PEEK(P6)*K0+PEEK(P7)*K1+PEEK(P8)*K2)/CL
  129. 1380 RETURN
  130. 1390 REM ------------  AUFBEREITUNG ZEIT
  131. 1400 TR=T+R: TH=INT(TR): TL=INT((TR-TH)*K6)
  132. 1410 T$=T$+RIGHT$("         "+STR$(TH),10)+"."+RIGHT$(STR$(TL),1)
  133. 1420 RETURN
  134. 1430 REM -------------------  KOPFZEILEN
  135. 1440 PRINT "[147]  [204]AUFZEIT  -  [205]ESS  -  [211]YSTEM   [214]2.0   ";
  136. 1450 PRINT "  (C) 11/85 [160][198]RANZ [211]TOIBER              "
  137. 1460 RETURN
  138. 1470 REM ----------  EINGABE ZEILENNR AB
  139. 1480 RO=8: SYS AT,5,RO,"[193]B [206]R  ?  ";: GOSUB 1650
  140. 1490 IF A$="     " THEN ZA=0: SYS AT,14,RO,ZA: GOTO 1520
  141. 1500 ZA=VAL(A$): IF ZA<=K5 THEN SYS AT,0,22,BL$;: GOTO 1520
  142. 1510 SYS AT,6,22,"    [218]EILENNUMMER ZU GROSS    [146]";: GOTO 1480
  143. 1520 ZH=INT(ZA/K0): ZL=ZA-ZH*K0: POKE NR,ZL: POKE NR+1,ZH
  144. 1530 SYS AB: P=PEEK(PU)+PEEK(PU+1)*K0
  145. 1540 P=P-8: GOSUB 1080
  146. 1550 IF Z<K4 THEN RETURN
  147. 1560 SYS AT,6,22," [218]EILENNUMMER NICHT GEFUNDEN [146]";: GOTO 1480
  148. 1570 REM ---------  EINGABE ZEILENNR BIS
  149. 1580 RO=10: SYS AT,5,RO,"[194]IS [206]R ?  ";: GOSUB 1650
  150. 1590 IF A$="     " THEN ZB=K5: SYS AT,14,RO,ZB: RETURN
  151. 1600 ZB=VAL(A$): IF ZB>=ZA THEN 1620
  152. 1610 SYS AT,5,22,"  [218]EILENNR BIS < [218]EILENNR AB  [146]";: GOTO 1580
  153. 1620 IF ZB>K5 THEN ZB=K5
  154. 1630 SYS AT,0,22,BL$;: RETURN
  155. 1640 REM ----------------  ZAHL EINGEBEN
  156. 1650 N=1: RC=1024+14+40*RO: CO=RC+54272: POKE 198,0
  157. 1660 FOR I=1 TO 5: POKE CO+I,ZF: NEXT
  158. 1670 IF N>5 THEN N=5
  159. 1680 IF N<1 THEN N=1
  160. 1690 PO=RC+N: POKE PO,PEEK(PO)+128
  161. 1700 GET C$: IF C$="" THEN 1700
  162. 1710 IF C$>="0" AND C$<="9" THEN POKE PO,ASC(C$): N=N+1: GOTO 1670
  163. 1720 IF C$=CHR$(157) THEN POKE PO,PEEK(PO)-128: N=N-1: GOTO 1670
  164. 1730 IF C$=CHR$(29) THEN POKE PO,PEEK(PO)-128: N=N+1: GOTO 1670
  165. 1740 IF C$=CHR$(20) THEN SYS AT,15,RO,"     ";: GOTO 1650
  166. 1750 IF C$=CHR$(13) THEN POKE PO,PEEK(PO)-128: GOTO 1770
  167. 1760 GOTO 1700
  168. 1770 A$=""
  169. 1780 FOR I=1 TO 5
  170. 1790 :A$=A$+CHR$(PEEK(RC+I))
  171. 1800 NEXT
  172. 1810 RETURN
  173. 1820 REM ----------------  ZEILE DRUCKEN
  174. 1830 IF K<68 THEN 1900
  175. 1840 IF K<73 THEN PRINT# 4,"": K=K+1: GOTO 1840
  176. 1850 J=J+1: PRINT# 4,"": PRINT# 4,""
  177. 1860 PRINT# 4,"   [204]AUFZEIT - [205]ESS - [211]YSTEM  [214]2.0";
  178. 1870 PRINT# 4,"     (C) [198]RANZ [211]TOIBER 11/85      [211]EITE: ";RIGHT$(STR$(J+100),2)
  179. 1880 PRINT# 4,"": PRINT# 4,"": PRINT# 4,KZ$;KZ$: PRINT# 4,""
  180. 1890 K=8
  181. 1900 PRINT# 4,PL$: K=K+1
  182. 1910 RETURN
  183. 1920 REM -------------- TEST AUF MESSUNG
  184. 1930 PP=P: F=0: P=RA-8: A$=""
  185. 1940 GOSUB 1080
  186. 1950 FOR I=P1 TO P8: A$=A$+CHR$(PEEK(I)): NEXT
  187. 1960 IF A$="LMS-F.S." THEN 1990
  188. 1970 SYS AT,6,22," [203]EINE [205]ESSUNG GELAUFEN ! [146]"
  189. 1980 F=1: RETURN
  190. 1990 GOSUB 1080
  191. 2000 IF Z<K4 THEN P=PP: RETURN
  192. 2010 SYS AT,6,21," [215]AEHREND DER [205]ESSUNG WAR "
  193. 2020 SYS AT,6,22,"  KEIN [208]ROGRAMM GELADEN!  [146]"
  194. 2030 GOTO 1980
  195.