home *** CD-ROM | disk | FTP | other *** search
/ 64'er / 64ER_CD.iso / s85xx / s8508.d64 / quell-code (.txt) < prev    next >
Commodore BASIC  |  1995-03-30  |  4KB  |  248 lines

  1. 100 SYS32768
  2. 110 .OPT OO,P
  3. 120 *= $3400
  4. 121 ;
  5. 122 ; VARIABLEN-DEKLARATION
  6. 123 ;
  7. 125 ALT = $6A ; ZEROPAGE ADRESSEN FUER
  8. 126 NEU = $6C ; VERSCHIEBE-ROUTINE
  9. 130 CHROUT = $FFD2
  10. 140 CHRIN = $FFCF
  11. 150 STROUT = $AB1E
  12. 160 POS1 =  850 ; SPEICHER FUER
  13. 170 POS2 =  860 ; KOMBINATIONEN
  14. 180 POS3 =  870
  15. 190 POS4 =  880
  16. 200 SCHWARZE = 890 ; EINGABEN MITSPIELER
  17. 210 CSCHWARZE = 900 ; ERRECHNETE EINGABEN
  18. 220 WEISSE = 910 ; ( SIEHE AL(null)RITHMUS )
  19. 230 CWEISSE = 920 ;
  20. 240 RUNDE = 830
  21. 245 ; DIVERSE HILFSREGISTER
  22. 250 CPOS1 = 831
  23. 260 CPOS2 = 832
  24. 270 CPOS3 = 833
  25. 280 CPOS4 = 834
  26. 290 CV1 = 835
  27. 300 CV2 = 836
  28. 310 CV3 = 837
  29. 320 CV4 = 838
  30. 330 H1 = 839
  31. 340 H2 = 840
  32. 360 MIN = 841
  33. 370 ;
  34. 372 ; PROGRAMM-START
  35. 374 ;
  36. 380 LDA #147
  37. 390 JSR CHROUT ; BILDSCHIRM LOESCHEN
  38. 470 LDA #1
  39. 475 STA RUNDE ; RUNDE INITIALISIERT
  40. 480 STA POS1:STA POS2:STA POS3:STA POS4 ; SCHLEIFE INITIALISIERT AUF '1111'
  41. 485 ;
  42. 486 ; 1. VERSUCH '1234' ABSPEICHERN UND AUSGEBEN
  43. 487 ;
  44. 490 STA POS1+1
  45. 500 ASL A :STA POS2+1
  46. 510 ASL A :STA POS3+1
  47. 520 ASL A :STA POS4+1
  48. 540 LDA #<TEXT
  49. 550 LDY #>TEXT
  50. 560 JSR STROUT
  51. 570 JSR ANTWORT
  52. 572 CPY #$FF ; KOMBINATION GEFUNDEN JA/NEIN
  53. 574 BNE L0 ; NEIN - ALSO SUCHEN
  54. 576 RTS ; JA - ZURUECK INS BASIC
  55. 580 L0 JMP LILOOP
  56. 600 ;
  57. 610 ; GROSSE SCHLEIFE - '1111' BIS '6666'
  58. 620 ;
  59. 640 GRLOOP LDA POS1
  60. 650 AND #%00100000
  61. 660 BNE MASSN1
  62. 670 ASL POS1
  63. 680 JMP LILOOP
  64. 690 MASSN1 LDA #1
  65. 700 STA POS1
  66. 710 TEST2 LDA POS2
  67. 720 AND #%00100000
  68. 730 BNE MASSN2
  69. 740 ASL POS2
  70. 750 JMP LILOOP
  71. 760 MASSN2 LDA #1
  72. 770 STA POS2
  73. 780 TEST3 LDA POS3
  74. 790 AND #%00100000
  75. 800 BNE MASSN3
  76. 810 ASL POS3
  77. 820 JMP LILOOP
  78. 830 MASSN3 LDA #1
  79. 840 STA POS3
  80. 850 TEST4 LDA POS4
  81. 860 AND #%00100000
  82. 870 BNE MASSN4
  83. 880 ASL POS4
  84. 890 JMP LILOOP
  85. 900 MASSN4 LDA #$6B:LDY #$A3 ; KOMBINATION NICHT GEFUNDEN
  86. 910 JSR STROUT ; 'ERROR' AUSGEBEN
  87. 930 RTS ; UND ZURUECK INS BASIC.
  88. 932 ;
  89. 933 ; UNTERPROGRAMM ANZAHL SCHWARZE ERMITTELN
  90. 934 ;
  91. 940 BLACKS LDA #0
  92. 950 STA CSCHWARZE,X
  93. 960 POS1V LDA POS1
  94. 970 AND POS1,X
  95. 980 BEQ POS2V
  96. 990 INC CSCHWARZE,X
  97. 1000 POS2V LDA POS2
  98. 1010 AND POS2,X
  99. 1020 BEQ POS3V
  100. 1030 INC CSCHWARZE,X
  101. 1040 POS3V LDA POS3
  102. 1050 AND POS3,X
  103. 1060 BEQ POS4V
  104. 1070 INC CSCHWARZE,X
  105. 1080 POS4V LDA POS4
  106. 1090 AND POS4,X
  107. 1100 BEQ BFIN
  108. 1110 INC CSCHWARZE,X
  109. 1120 BFIN RTS
  110. 1122 ;
  111. 1124 ; UNTERPROGRAMM ANZAHL WEISSE ERMITTELN
  112. 1126 ;
  113. 1130 WHITES LDA POS1
  114. 1140 STA CPOS1
  115. 1150 LDA POS2
  116. 1160 STA CPOS2
  117. 1170 LDA POS3
  118. 1180 STA CPOS3
  119. 1190 LDA POS4
  120. 1200 STA CPOS4
  121. 1210 LDA POS1,X
  122. 1220 STA CV1
  123. 1230 LDA POS2,X
  124. 1240 STA CV2
  125. 1250 LDA POS3,X
  126. 1260 STA CV3
  127. 1270 LDA POS4,X
  128. 1280 STA CV4
  129. 1290 LDA #0
  130. 1300 STA MIN
  131. 1310 LDY #6
  132. 1330 LOS LDA #0
  133. 1340 STA H1
  134. 1350 STA H2
  135. 1400 TXA:PHA:LDA #3:TAX
  136. 1410 L1 LSR CPOS1,X
  137. 1420 BCC L2
  138. 1430 INC H1
  139. 1440 L2 LSR CV1,X
  140. 1450 BCC L3
  141. 1460 INC H2
  142. 1470 L3 DEX
  143. 1480 BPL L1
  144. 1490 PLA:TAX
  145. 1600 MINFIND LDA H1
  146. 1610 SEC
  147. 1620 SBC H2
  148. 1630 BMI H2GROSS
  149. 1640 H1GROSS LDA MIN
  150. 1650 CLC
  151. 1660 ADC H2
  152. 1670 STA MIN
  153. 1680 JMP YKLEINER
  154. 1690 H2GROSS LDA MIN
  155. 1700 CLC
  156. 1710 ADC H1
  157. 1720 STA MIN
  158. 1730 YKLEINER DEY
  159. 1740 BNE LOS
  160. 1750 LDA MIN
  161. 1760 SEC
  162. 1770 SBC CSCHWARZE,X
  163. 1780 STA CWEISSE,X
  164. 1790 WFIN RTS
  165. 1792 ;
  166. 1794 ; KLEINE SCHLEIFE - KOMBINATION LOGISCH-RICHTIG (J/N)
  167. 1796 ;
  168. 1800 LILOOP LDX RUNDE
  169. 1810 LISTART JSR BLACKS
  170. 1820 LDA CSCHWARZE,X
  171. 1830 CMP SCHWARZE,X
  172. 1840 BEQ L4
  173. 1845 JMP GRLOOP
  174. 1850 L4 JSR WHITES
  175. 1860 LDA CWEISSE,X
  176. 1870 CMP WEISSE,X
  177. 1880 BEQ L5
  178. 1885 JMP GRLOOP
  179. 1890 L5 DEX
  180. 1900 BNE LISTART
  181. 1902 ;
  182. 1904 ; LOGISCH-RICHTIGE KOMBINATION AUSGEBEN
  183. 1906 ;
  184. 1910 LDX RUNDE
  185. 1920 INX
  186. 1930 LDA POS1
  187. 1940 STA POS1,X:STA CV1
  188. 1950 LDA POS2
  189. 1960 STA POS2,X:STA CV2
  190. 1970 LDA POS3
  191. 1980 STA POS3,X:STA CV3
  192. 1990 LDA POS4
  193. 2000 STA POS4,X:STA CV4
  194. 2080 LDY #0
  195. 2090 L6 LDA #0:TAX
  196. 2095 CLC:INY
  197. 2100 LDA CV1-1,Y
  198. 2110 L7 LSR A
  199. 2120 INX
  200. 2130 BCC L7
  201. 2140 TXA:CLC:ADC #$30
  202. 2150 JSR CHROUT
  203. 2160 CPY #4
  204. 2170 BNE L6
  205. 2190 INC RUNDE
  206. 2200 JSR ANTWORT
  207. 2202 CPY #$FF
  208. 2204 BNE L8
  209. 2206 RTS
  210. 2210 L8 JMP GRLOOP
  211. 2212 ;
  212. 2214 ; UNTERPROGRAMM ANTWORT HOLEN
  213. 2216 ;
  214. 2220 ANTWORT LDA #$0D:JSR CHROUT
  215. 2230 JSR CHRIN
  216. 2240 LDX RUNDE
  217. 2250 SEC:SBC #$30
  218. 2252 CMP #4
  219. 2254 BNE L9
  220. 2256 LDA #$64:LDY #$A3:JSR STROUT
  221. 2258 LDY #$FF
  222. 2259 RTS
  223. 2260 L9 STA SCHWARZE,X:LDA #$0D:JSR CHROUT
  224. 2270 JSR CHRIN
  225. 2280 SEC:SBC #$30:STA WEISSE,X
  226. 2290 LDA #$0D
  227. 2300 JSR CHROUT:RTS
  228. 2310 ;
  229. 2311 ; '1234'
  230. 2312 ;
  231. 2320 TEXT .ASC "1234" : .BYT 0
  232. 3000 ;
  233. 3005 ; VERSCHIEBEN NACH $3400
  234. 3010 ;
  235. 3100 LDA #0:STA ALT:STA NEU
  236. 3110 LDA #$04:STA ALT+1
  237. 3120 LDA #$34:STA NEU+1
  238. 3130 L10 LDY #0
  239. 3140 L11 LDA (ALT),Y:STA (NEU),Y
  240. 3170 INY
  241. 3180 BNE L11
  242. 3190 LDA ALT+1
  243. 3200 CMP #$07
  244. 3210 BEQ AUFGEHTS
  245. 3220 INC ALT+1:INC NEU+1
  246. 3230 CLC:BCC L10
  247. 3240 AUFGEHTS JMP $3400 ; PROGRAMM-START
  248.