home *** CD-ROM | disk | FTP | other *** search
/ 64'er / 64ER_CD.iso / 89xx / 8905.d64 / quelltext (.txt) < prev    next >
Commodore BASIC  |  1995-03-30  |  14KB  |  979 lines

  1. 100 (null)
  2. 110 ;
  3. 120 ; (null): CHIPCHIK'S ASSE
  4. 130 ;
  5. 140 ;"[192][192][192][192][192][192][192][192][192][192][192][192][192][192][178][192][192][192][192][192][192][192][192][192][192][192][192][192][192]
  6. 150 ;"PSEUDO OP.    (null) ENTSPRICHT
  7. 160 ;"CHIPCHIK'S:   [221] IN HYPRA-ASS:
  8. 170 ;"TANTANTANTANTANTANTANTANTANTANTANTANTANTAN(null)TANTANTANTANTANTANTANTANTANTANTANTANTANTAN
  9. 180 ;"GO            [221]    ---
  10. 190 ;"*= $0801      (null) .BA $0801
  11. 200 ;"LABEL = $XX   [221] .EQ LABEL = $XX
  12. 210 ;".ASC          (null) .TX
  13. 220 ;".WORD         [221] .WO
  14. 230 ;".OBJ#8,"NA"   (null) .OB"NA,P,W"+.EN
  15. 240 ;".LIST(#G,"NA")[221] .LI,FN,G,SA
  16. 250 ;".LABEL 128    (null) .SY 1,3
  17. 260 ;"[192][192][192][192][192][192][192][192][192][192][192][192][192][192][177][192][192][192][192][192][192][192][192][192][192][192][192][192][192]
  18. 270 ;
  19. 280 [172][178] $0801
  20. 290 ;
  21. 300 .OBJ#8,"DELUXE DATAS"
  22. 310 ;
  23. 320 ; LABEL[171][150]INITI[145]
  24. 330 ; 
  25. 340 [161]IN   [178] $FFE4
  26. 350 BSOUT   [178] $FFD2
  27. 360 B[198][145]  [178] $01
  28. 370 B[198][145]2 [178] $3FF
  29. 380 VIC     [178] $D000
  30. 390 STROUT  [178] $AB1E
  31. 400 BUFFER  [178] $0200
  32. 410 CRSR    [178] $CC
  33. 420 STR     [178] $02
  34. 430 STR2    [178] $AB
  35. 440 FAC     [178] $64
  36. 450 FACSTR  [178] $100
  37. 460 [181]FL   [178] $BC49
  38. 470 CHR[161]  [178] $73
  39. 480 CHR[203]T  [178] $79
  40. 490 FRMNUM  [178] $AD8A
  41. 500 [180]FT   [178] $B3A2
  42. 510 [161]ADR  [178] $B7F7
  43. 520 CIVAYF  [178] $B391
  44. 530 [181]OUT  [178] $BDCD
  45. 540 [135]Y   [178] $A474
  46. 550 ILLQUAN [178] $B248
  47. 560 [156]     [178] $A660
  48. 570 [181]     [178] $14
  49. 580 TRANS1  [178] $FB
  50. 590 TRANS2  [178] $FD
  51. 600 TRANS3  [178] $C1
  52. 610 TRANS4  [178] $AC
  53. 620 LAENGE  [178] $7E9
  54. 630 ADLOW   [178] $7EA
  55. 640 ADHIGH  [178] $7EB
  56. 650 NUMDAT  [178] $7EC
  57. 660 NUMDAT2 [178] $7ED
  58. 670 ZEILO   [178] $7EE
  59. 680 ZEIHI   [178] $7EF
  60. 690 [169]    [178] $7F0
  61. 700 SUM     [178] $7F1
  62. 710 SUMME   [178] $7F2
  63. 720 STRING  [178] $7F8
  64. 730 CHKCOM  [178] $AEFD
  65. 740 COMBYT  [178] $E200
  66. 750 FRMEVL  [178] $AD9E
  67. 760 ERR     [178] $A437
  68. 770 OUTSTR  [178] $AB24
  69. 780 FOUT    [178] $BDDD
  70. 790 MAIN1   [178] $A49C
  71. 800 VECA483 [178] $302
  72. 810 ZFDZ    [178] $22
  73. 820 PC      [178] $7A
  74. 830 VAR     [178] $2D
  75. 840 [162]     [178] $A644
  76. 850 ;
  77. 860 ;
  78. 870 ;
  79. 880 ; BASIC ZEILE ERZEUGEN
  80. 890 ;
  81. 900 .W[176]D L1
  82. 910 .W[176]D 1987
  83. 920 .BYTE $9E
  84. 930 .[198] "2061"
  85. 940 .BYTE $00
  86. 950 L1 .W[176]D $00
  87. 960 ;
  88. 970 ; STARTADRESSE EINLESEN
  89. 980 ;
  90. 990 ;
  91. 1000 LDA #$06
  92. 1010 STA VIC[170]32
  93. 1020 STA VIC[170]33
  94. 1030 LDA #[179]TX1
  95. 1040 LDY #[177]TX1
  96. 1050 JSR STROUT
  97. 1060 LDA #$00
  98. 1070 STA CRSR
  99. 1080 ;
  100. 1090 ; BIS ZU 5 ZAH[195] EINLESEN UND
  101. 1100 ; IN DEN EINGABEPUFFER SCHREIBEN
  102. 1110 ; DANN PC DARAUF [185]ITI[145]IEREN
  103. 1120 ; UND WERT ALS 2[171]BYTE [181]EGER
  104. 1130 ; EINLESEN
  105. 1140 ;
  106. 1150 LDX #$00
  107. 1160 L2  STX STR
  108. 1170 L3  JSR [161]IN
  109. 1180 CMP #$0D
  110. 1190 BEQ [142]
  111. 1200 CMP #$14
  112. 1210 BEQ DEL
  113. 1220 LDX STR
  114. 1230 CPX #5
  115. 1240 BCS L2
  116. 1250 CMP #$30
  117. 1260 BCC L3
  118. 1270 CMP #$3A
  119. 1280 BCS L3
  120. 1290 JSR BSOUT
  121. 1300 LDX STR
  122. 1310 STA BUFFER,X
  123. 1320 INX
  124. 1330 BNE L2
  125. 1340 ;
  126. 1350 DEL LDX STR
  127. 1360 BEQ L3
  128. 1370 LDA #[179]TX2
  129. 1380 LDY #[177]TX2
  130. 1390 JSR STROUT
  131. 1400 LDX STR
  132. 1410 DEX
  133. 1420 JMP L2
  134. 1430 ;
  135. 1440 [142] LDA #$01
  136. 1450 STA CRSR
  137. 1460 LDA #$20
  138. 1470 JSR BSOUT
  139. 1480 LDX #$00
  140. 1490 LDY #$02
  141. 1500 STX PC
  142. 1510 STY PC[170]1
  143. 1520 LDX STR
  144. 1530 LDA #":"
  145. 1540 STA BUFFER,X
  146. 1550 ;
  147. 1560 ; 2[171]BYTE [181]EGER HO[195]
  148. 1570 ;
  149. 1580 JSR FRMNUM
  150. 1590 JSR [161]ADR
  151. 1600 ;
  152. 1610 LDA #[179]TX3
  153. 1620 LDY #[177]TX3
  154. 1630 JSR STROUT
  155. 1640 LDX [181]
  156. 1650 STX TRANS2
  157. 1660 STX TRANS3
  158. 1670 LDA [181][170]1
  159. 1680 STA TRANS2[170]1
  160. 1690 STA TRANS3[170]1
  161. 1700 JSR [181]OUT
  162. 1710 LDA #"-"
  163. 1720 JSR BSOUT
  164. 1730 ;
  165. 1740 ; PROGRAMM VERSCHIEBEN
  166. 1750 ;
  167. 1760 LDA #[179]PROGRAM
  168. 1770 STA TRANS1
  169. 1780 LDA #[177]PROGRAM
  170. 1790 STA TRANS1[170]1
  171. 1800 ;
  172. 1810 ; 1. ADRESSEN ANPASSEN
  173. 1820 ;
  174. 1830 TST1 LDX #23
  175. 1840 TST2 LDA TAB1,X
  176. 1850 DEX
  177. 1860 CMP TRANS1[170]1
  178. 1870 BNE TST3
  179. 1880 LDA TAB1,X
  180. 1890 CMP TRANS1
  181. 1900 BNE TST3
  182. 1910 LDA TAB2,X
  183. 1920 STA TRANS4
  184. 1930 INX
  185. 1940 LDA TAB2,X
  186. 1950 STA TRANS4[170]1
  187. 1960 LDA TRANS2
  188. 1970 LDY #$00
  189. 1980 STA (TRANS4),Y
  190. 1990 LDA TRANS2[170]1
  191. 2000 INY
  192. 2010 INY
  193. 2020 STA (TRANS4),Y
  194. 2030 LDX #0
  195. 2040 ;
  196. 2050 TST3 DEX
  197. 2060 BPL TST2
  198. 2070 ;
  199. 2080 ;
  200. 2090 TST13 INC VIC[170]32
  201. 2100 INC TRANS1
  202. 2110 BNE ITS1
  203. 2120 INC TRANS1[170]1
  204. 2130 ITS1 INC TRANS2
  205. 2140 BNE ITS2
  206. 2150 INC TRANS2[170]1
  207. 2160 ;
  208. 2170 ITS2 LDA TRANS1
  209. 2180 CMP #[179][128]
  210. 2190 BNE TST14
  211. 2200 LDA TRANS1[170]1
  212. 2210 CMP #[177][128]
  213. 2220 BEQ V0
  214. 2230 ;
  215. 2240 TST14 JMP TST1
  216. 2250 ;
  217. 2260 TAB1 .W[176]D ST1,ST2,ST3,LOA,ST4
  218. 2270 .W[176]D ST5,ST6,ST7,NO,YES,ST8
  219. 2280 .W[176]D ST9
  220. 2290 ;
  221. 2300 TAB2 .W[176]D [185]T1[170]1,[185]T2[170]1,OK2[170]1
  222. 2310 .W[176]D LOAOUT[170]1,OK3[170]1,OK5[170]1,OK6[170]1
  223. 2320 .W[176]D OK7[170]1,NOSUM[170]1,YESOUT[170]1
  224. 2330 .W[176]D OK8[170]1,OKA[170]1
  225. 2340 ;
  226. 2350 ; 2. VERSCHIEBEN
  227. 2360 ;
  228. 2370 V0 LDA #[179]PROGRAM
  229. 2380 LDY #[177]PROGRAM
  230. 2390 STA TRANS1
  231. 2400 STY TRANS1[170]1
  232. 2410 LDA TRANS3
  233. 2420 STA TRANS2
  234. 2430 LDA TRANS3[170]1
  235. 2440 STA TRANS2[170]1
  236. 2450 ;
  237. 2460 LDY #0
  238. 2470 V1 LDA (TRANS1),Y
  239. 2480 STA (TRANS2),Y
  240. 2490 INC TRANS1
  241. 2500 BNE V2
  242. 2510 INC TRANS1[170]1
  243. 2520 V2 INC TRANS2
  244. 2530 BNE V3
  245. 2540 INC TRANS2[170]1
  246. 2550 ;
  247. 2560 V3 INC VIC[170]33
  248. 2570 LDA TRANS1
  249. 2580 CMP #[179][128]
  250. 2590 BNE V1
  251. 2600 LDA TRANS1[170]1
  252. 2610 CMP #[177][128]
  253. 2620 BNE V1
  254. 2630 ;
  255. 2640 ;
  256. 2650 ; BEDIENUNGSANLEITUNG UND
  257. 2660 ; '[135]Y.' AUSGEBEN
  258. 2670 ;
  259. 2680 ;
  260. 2690 LDA #$06
  261. 2700 STA VIC[170]32
  262. 2710 STA VIC[170]33
  263. 2720 LDX TRANS2
  264. 2730 LDA TRANS2[170]1
  265. 2740 JSR [181]OUT
  266. 2750 LDA #[179]SYTXT
  267. 2760 LDY #[177]SYTXT
  268. 2770 JSR STROUT
  269. 2780 LDX TRANS3
  270. 2790 LDA TRANS3[170]1
  271. 2800 JSR [181]OUT
  272. 2810 LDA #[179]TX4
  273. 2820 LDY #[177]TX4
  274. 2830 JSR STROUT
  275. 2840 JSR [162]
  276. 2850 JMP [135]Y
  277. 2860 ;
  278. 2870 ;
  279. 2880 .BYTE $00
  280. 2890 ;
  281. 2900 ; STRINGS
  282. 2910 ;
  283. 2920 ;
  284. 2930 TX1 .[198]"LOADDELUXE DATAS BY J.LUETTGAU"
  285. 2940 .BYTE $0D,$0E
  286. 2950 .[198]"ENTER START-ADRESS OF DATA-MAKER"
  287. 2960 .BYTE $0D
  288. 2970 .[198]"TAB(TAB(TAB(TAB(TAB(CMDCMDCMDCMDCMDON"
  289. 2980 .BYTE $00
  290. 2990 ;
  291. 3000 TX2 .[198]" CMDCMD CMD"
  292. 3010 .BYTE $00
  293. 3020 ;
  294. 3030 TX3 .BYTE $0D
  295. 3040 .[198]"PROGRAM TRANSFERED TO "
  296. 3050 .BYTE $00
  297. 3060 ;
  298. 3070 SYTXT .BYTE$0D,$0D
  299. 3080 .[198]"USING:"
  300. 3090 .BYTE $0D,$0D
  301. 3100 .[198]"SYS"
  302. 3110 .BYTE $00
  303. 3120 ;
  304. 3130 TX4 .[198]"(,A$),A,B(,C,D,E,F)"
  305. 3140 .BYTE $0D,$0D
  306. 3150 .[198]"A$=STRING ('DATA' OR '.BYTE' E.G.)
  307. 3160 .BYTE $0D,$0D
  308. 3170 .ASC"A=START,B=END,C=DATAS/LINE"
  309. 3180 .BYTE $0D,$0D
  310. 3190 .ASC"D=FIRST LINE,E=STEP"
  311. 3200 .BYTE $0D,$0D
  312. 3210 .ASC"F<>0 = CHECKSUM, G=VALUE OF $01"
  313. 3220 .BYTE $0D,$00
  314. 3230 ;
  315. 3240 ;
  316. 3250 ; PROGRAMM
  317. 3260 ;
  318. 3270 ;
  319. 3280 ;
  320. 3290 PROGRAM  LDA #6
  321. 3300 STA VIC+32
  322. 3310 STA VIC+33
  323. 3320 ;
  324. 3330 ;
  325. 3340 POST1 LDA #<ST1
  326. 3350 LDY #>ST1
  327. 3360 JSR STROUT
  328. 3370 ;
  329. 3380 ; PROGRAMMZEIGER RETTEN
  330. 3390 ;
  331. 3400 LDA PC
  332. 3410 LDY PC+1
  333. 3420 STA STRING
  334. 3430 STY STRING+1
  335. 3440 ;
  336. 3450 JSR CHKCOM
  337. 3460 ;
  338. 3470 ; AUSDRUCK HOLEN UND AUSWERTEN
  339. 3480 ; WENN STRING, DANN WEITER
  340. 3490 ; WENN ZAHL, DANN DEFAULTWERTE
  341. 3500 ; FUER STRING SETZEN, PC ZU-
  342. 3510 ; RUECKHOLEN UND WEITER BEI
  343. 3520 ; STARTADRESSE EINLESEN
  344. 3530 ;
  345. 3540 JSR FRMEVL
  346. 3550 LDA $0D
  347. 3560 BMI OK01
  348. 3570 LDA STRING
  349. 3580 LDY STRING+1
  350. 3590 STA PC
  351. 3600 STY PC+1
  352. 3610 LDA #4
  353. 3620 STA LAENGE
  354. 3630 LDA #"D"
  355. 3640 STA STRING
  356. 3650 LDA #"A"
  357. 3660 STA STRING+1
  358. 3670 LDA #"T"
  359. 3680 STA STRING+2
  360. 3690 LDA #"A"
  361. 3700 STA STRING+3
  362. 3710 LDA #$00
  363. 3720 STA STRING+4
  364. 3730 ;
  365. 3740 ; EINGELESENEN STRING AUSGEBEN
  366. 3750 ;
  367. 3760 LDA #<STRING
  368. 3770 LDY #>STRING
  369. 3780 JSR STROUT
  370. 3790 ;
  371. 3800 ; UNBEDINGTER SPRUNG
  372. 3810 ;
  373. 3820 LDY #0
  374. 3830 BEQ POST2
  375. 3840 ;
  376. 3850 ; STRING IN RESERVIERTEN BEREICH
  377. 3860 ;
  378. 3870 OK01 LDY #0
  379. 3880 ;
  380. 3890 ; STRING-LAENGE HOLEN
  381. 3900 ;
  382. 3910 LDA (FAC),Y
  383. 3920 ;
  384. 3930 ; WENN STRING LEER DANN FEHLER
  385. 3940 ;
  386. 3950 BNE OK0
  387. 3960 JMP ILLQUAN
  388. 3970 OK0 STA LAENGE
  389. 3980 INY
  390. 3990 ;
  391. 4000 ; ADRESSE HOLEN & STRING AUSGEBEN
  392. 4010 ;
  393. 4020 LDA (FAC),Y
  394. 4030 STA ADLOW
  395. 4040 STA ZFDZ
  396. 4050 INY
  397. 4060 LDA (FAC),Y
  398. 4070 STA ADHIGH
  399. 4080 STA ZFDZ+1
  400. 4090 LDA LAENGE
  401. 4100 JSR OUTSTR
  402. 4110 ;
  403. 4120 ; WENN LAENGER ALS 8 DANN FEHLER
  404. 4130 ;
  405. 4140 LDY LAENGE
  406. 4150 CPY #9
  407. 4160 BCC OK1
  408. 4170 LDX #23
  409. 4180 JMP ERR
  410. 4190 ;
  411. 4200 ; STRING UEBERTRAGEN
  412. 4210 ;
  413. 4220 OK1 DEY
  414. 4230 OK11 LDA (ZFDZ),Y
  415. 4240 STA STRING,Y
  416. 4250 DEY
  417. 4260 BPL OK11
  418. 4270 ;
  419. 4280 ; STARTADRESSE EINLESEN
  420. 4290 ;
  421. 4300 POST2 LDA #<ST2
  422. 4310 LDY #>ST2
  423. 4320 JSR STROUT
  424. 4330 JSR CHKCOM
  425. 4340 JSR FRMNUM
  426. 4350 JSR GETADR
  427. 4360 STY TRANS1
  428. 4370 STA TRANS1+1
  429. 4380 LDX TRANS1
  430. 4390 JSR INTOUT
  431. 4400 ;
  432. 4410 ; ENDADRESSE EINLESEN
  433. 4420 ;
  434. 4430 OK2 LDA #<ST3
  435. 4440 LDY #>ST3
  436. 4450 JSR STROUT
  437. 4460 JSR CHKCOM
  438. 4470 JSR FRMNUM
  439. 4480 JSR GETADR
  440. 4490 STY TRANS2
  441. 4500 STA TRANS2+1
  442. 4510 LDX TRANS2
  443. 4520 JSR INTOUT
  444. 4530 ;
  445. 4540 ; ENDE KLEINER ALS START
  446. 4550 ;
  447. 4560 LDA TRANS2+1
  448. 4570 CMP TRANS1+1
  449. 4580 BEQ TEST1
  450. 4590 BCS OK3
  451. 4600 BCC LOAOUT
  452. 4610 TEST1 LDA TRANS2
  453. 4620 CMP TRANS1
  454. 4630 BCS OK3
  455. 4640 ;
  456. 4650 ; JA! FEHLERMELDUNG
  457. 4660 ;
  458. 4670 LOAOUT LDA #<LOA
  459. 4680 LDY #>LOA
  460. 4690 JSR STROUT
  461. 4700 JMP READY
  462. 4710 ;
  463. 4720 ; ANZAHL DATAS PRO ZEILE
  464. 4730 ;
  465. 4740 OK3 LDA #<ST4
  466. 4750 LDY #>ST4
  467. 4760 JSR STROUT
  468. 4770 JSR CHR(null)T
  469. 4780 BNE OK31
  470. 4790 ;
  471. 4800 ; WENN NICHT ANGEGEBEN, DANN 8
  472. 4810 ;
  473. 4820 LDX #8
  474. 4830 BNE OK4
  475. 4840 ;
  476. 4850 OK31 JSR COMBYT
  477. 4860 ;
  478. 4870 ; MEHR ALS 20 = FEHLER !
  479. 4880 ;
  480. 4890 CPX #21
  481. 4900 BCC OK4
  482. 4910 ILL JMP ILLQUAN
  483. 4920 ;
  484. 4930 OK4 STX NUMDAT
  485. 4940 STX NUMDAT2
  486. 4950 ;
  487. 4960 ; NULL DATAS = FEHLER !
  488. 4970 ;
  489. 4980 CPX #$00
  490. 4990 BEQ ILL
  491. 5000 ;
  492. 5010 LDA #00
  493. 5020 JSR INTOUT
  494. 5030 ;
  495. 5040 ; ERSTE ZEILENNUMMER EINLESEN
  496. 5050 ;
  497. 5060 OK5 LDA #<ST5
  498. 5070 LDY #>ST5
  499. 5080 JSR STROUT
  500. 5090 JSR CHR(null)T
  501. 5100 BNE LDLIN
  502. 5110 ;
  503. 5120 ; FALLS NICHT ANGEGEBEN DANN 100
  504. 5130 ;
  505. 5140 LDY #100
  506. 5150 LDA #00
  507. 5160 BEQ OK51
  508. 5170 ;
  509. 5180 LDLIN JSR CHKCOM
  510. 5190 JSR FRMNUM
  511. 5200 JSR GETADR
  512. 5210 ;
  513. 5220 OK51 STY ZEILO
  514. 5230 STA ZEIHI
  515. 5240 CMP #$FA
  516. 5250 BCS ILL
  517. 5260 LDX ZEILO
  518. 5270 JSR INTOUT
  519. 5280 ;
  520. 5290 ; SCHRITTWEITE EINLESEN
  521. 5300 ;
  522. 5310 OK6 LDA #<ST6
  523. 5320 LDY #>ST6
  524. 5330 JSR STROUT
  525. 5340 JSR CHR(null)T
  526. 5350 BNE LDSTEP
  527. 5360 ;
  528. 5370 ; WENN NICHT ANGEGEBEN DANN 10
  529. 5380 ;
  530. 5390 LDX #10
  531. 5400 STX STEP
  532. 5410 BNE STEPOUT
  533. 5420 ;
  534. 5430 LDSTEP JSR COMBYT
  535. 5440 STX STEP
  536. 5450 CPX #$00
  537. 5460 ;
  538. 5470 ; SCHRITTWEITE NULL = FEHLER !
  539. 5480 ;
  540. 5490 BNE STEPOUT
  541. 5500 JMP ILLQUAN
  542. 5510 ;
  543. 5520 STEPOUT LDA #0
  544. 5530 JSR INTOUT
  545. 5540 ;
  546. 5550 ; CHECKSUMME JA/NEIN
  547. 5560 ;
  548. 5570 OK7 LDA #<ST7
  549. 5580 LDY #>ST7
  550. 5590 JSR STROUT
  551. 5600 ;
  552. 5610 ; NICHT ANGEGEBEN => NEIN
  553. 5620 ;
  554. 5630 JSR CHR(null)T
  555. 5640 BNE LDSUM
  556. 5650 STA SUM
  557. 5660 BEQ NOSUM
  558. 5670 ;
  559. 5680 LDSUM JSR COMBYT
  560. 5690 STX SUM
  561. 5700 CPX #$00
  562. 5710 ;
  563. 5720 ; 0 = NEIN , <> 0 = JA
  564. 5730 ;
  565. 5740 BNE YESOUT
  566. 5750 NOSUM LDA #<NO
  567. 5760 LDY #>NO
  568. 5770 LDX #0
  569. 5780 BEQ SUMOUT
  570. 5790 YESOUT LDA #<YES
  571. 5800 LDY #>YES
  572. 5810 SUMOUT JSR STROUT
  573. 5820 ;
  574. 5830 ; SPEICHERKONFIGURATION [PEEK(1)]
  575. 5840 ;
  576. 5850 OKA LDA #<ST9
  577. 5860 LDY #>ST9
  578. 5870 JSR STROUT
  579. 5880 ;
  580. 5890 ; WENN NICHT ANGEGEBEN DANN 55
  581. 5900 ;
  582. 5910 JSR CHR(null)T
  583. 5920 BNE PEE1
  584. 5930 LDX #$37
  585. 5940 STX BASCON2
  586. 5950 BNE PEE2
  587. 5960 ;
  588. 5970 PEE1 JSR COMBYT
  589. 5980 STX BASCON2
  590. 5990 LDA #$00
  591. 6000 PEE2 JSR INTOUT
  592. 6010 ;
  593. 6020 OK8 LDA #<ST8
  594. 6030 LDY #>ST8
  595. 6040 JSR STROUT
  596. 6050 ;
  597. 6060 ; BEFEHLSWORT IN INTERPRETERCODE
  598. 6070 ; WANDELN (SOFERN MOEGLICH)
  599. 6080 ;
  600. 6090 LDX LAENGE
  601. 6100 LDA #$00
  602. 6110 BEQ SIB2
  603. 6120 SIB LDA STRING,X
  604. 6130 SIB2 STA BUFFER,X
  605. 6140 DEX
  606. 6150 BPL SIB
  607. 6160 LDA #$FF
  608. 6170 STA PC
  609. 6180 LDA #$01
  610. 6190 STA PC+1
  611. 6200 LDA #$80
  612. 6210 JSR $FE18
  613. 6220 JSR CHRGET
  614. 6230 LDX #$FF
  615. 6240 STX $3A
  616. 6250 JSR $A579
  617. 6260 LDX #0
  618. 6270 SIB3 LDA BUFFER,X
  619. 6280 STA STRING,X
  620. 6290 BEQ SIB4
  621. 6300 INX
  622. 6310 BNE SIB3
  623. 6320 SIB4 DEX
  624. 6330 STX LAENGE
  625. 6340 JSR NEW
  626. 6350 LDA #$01
  627. 6360 LDY #$08
  628. 6370 STA VAR
  629. 6380 STY VAR+1
  630. 6390 STA VAR+2
  631. 6400 STY VAR+3
  632. 6410 LDA #$00
  633. 6420 STA SUMME
  634. 6430 STA SUMME+1
  635. 6440 ;
  636. 6450 ;
  637. 6460 ; ZEILENNUMMER IN BASICSPEICHER
  638. 6470 ;
  639. 6480 OK9 LDY #2
  640. 6490 LDA ZEILO
  641. 6500 STA (VAR),Y
  642. 6510 INY
  643. 6520 LDA ZEIHI
  644. 6530 STA (VAR),Y
  645. 6540 INY
  646. 6550 ;
  647. 6560 ; BEFEHLSSTRING IN SPEICHER
  648. 6570 ;
  649. 6580 LDX #$00
  650. 6590 W1 LDA STRING,X
  651. 6600 BEQ W2
  652. 6610 STA (VAR),Y
  653. 6620 INY
  654. 6630 INX
  655. 6640 BNE W1
  656. 6650 ;
  657. 6660 ;
  658. 6670 TOK93 BCC OK9
  659. 6680 ;
  660. 6690 ; NUMMER DER MOMENTAN ERZEUGTEN
  661. 6700 ; ZEILE AUSGEBEN
  662. 6710 ;
  663. 6720 W2 STY STR
  664. 6730 LDX #23
  665. 6740 LDY #7
  666. 6750 CLC
  667. 6760 JSR $FFF0
  668. 6770 LDX ZEILO
  669. 6780 LDA ZEIHI
  670. 6790 JSR INTOUT
  671. 6800 LDY STR
  672. 6810 ;
  673. 6820 ; AKTUELLE SPEICHERZELLE AUSGEBEN
  674. 6830 ;
  675. 6840 W4 STY STR
  676. 6850 LDX #23
  677. 6860 LDY #24
  678. 6870 CLC
  679. 6880 JSR $FFF0
  680. 6890 LDX TRANS1
  681. 6900 LDA TRANS1+1
  682. 6910 JSR INTOUT
  683. 6920 LDY STR
  684. 6930 ;
  685. 6940 ; SPEICHER AUSLESEN, WERT IN
  686. 6950 ; STRING WANDELN UND IN BAS.SP.
  687. 6960 ;
  688. 6970 STY STR
  689. 6980 LDY #0
  690. 6990 SEI
  691. 7000 LDA BASCON2
  692. 7010 STA BASCON
  693. 7020 LDA (TRANS1),Y
  694. 7030 LDY #$37
  695. 7040 STY BASCON
  696. 7050 CLI
  697. 7060 TAY
  698. 7070 PHA
  699. 7080 JSR SGNFT
  700. 7090 JSR FOUT
  701. 7100 LDX #1
  702. 7110 LDY STR
  703. 7120 W5 LDA FACSTR,X
  704. 7130 BEQ W6
  705. 7140 STA (VAR),Y
  706. 7150 INY
  707. 7160 INX
  708. 7170 BNE W5
  709. 7180 ;
  710. 7190 ; CHECKSUMME AKTUALISIEREN
  711. 7200 ;
  712. 7210 W6 STY STR:PLA
  713. 7220 CLC
  714. 7230 ADC SUMME
  715. 7240 STA SUMME
  716. 7250 LDA SUMME+1
  717. 7260 ADC #0
  718. 7270 STA SUMME+1
  719. 7280 ;
  720. 7290 ; PRUFEN, OB ENDADRESSE ERREICHT
  721. 7300 ;
  722. 7310 LDA TRANS1+1
  723. 7320 CMP TRANS2+1
  724. 7330 BNE TEST2
  725. 7340 LDA TRANS1
  726. 7350 CMP TRANS2
  727. 7360 BNE TEST2
  728. 7370 BEQ JOUT
  729. 7380 ;
  730. 7390 TOK92 BCC TOK93
  731. 7400 TOW4 BNE W4
  732. 7410 ;
  733. 7420 ; MAX. ANZAHL DATAS PRO ZEILE
  734. 7430 ;
  735. 7440 TEST2 DEC NUMDAT2
  736. 7450 BNE TOW7
  737. 7460 ;
  738. 7470 ; JA, DANN ZEILE IN BASIC PRG
  739. 7480 ; EINFUEGEN
  740. 7490 ;
  741. 7500 NEXTZEILE LDA #$FF
  742. 7510 .BYTE $2C
  743. 7520 JOUT  LDA #$00
  744. 7530 STA STR2
  745. 7540 LDA SUM
  746. 7550 BEQ CHKS2
  747. 7560 ;
  748. 7570 ; CHECKSUMME IN STRING UND
  749. 7580 ; AN DATA-ZEILE ANHAENGEN
  750. 7590 ;
  751. 7600 LDY STR
  752. 7610 LDA #","
  753. 7620 STA (VAR),Y
  754. 7630 INY
  755. 7640 STY STR
  756. 7650 LDY SUMME
  757. 7660 LDA SUMME+1
  758. 7670 JSR CIVAYF
  759. 7680 JSR FOUT
  760. 7690 LDY STR
  761. 7700 LDX #1
  762. 7710 ;
  763. 7720 CHKS3 LDA FACSTR,X
  764. 7730 BEQ CHKS2
  765. 7740 STA (VAR),Y
  766. 7750 INY
  767. 7760 INX
  768. 7770 BNE CHKS3
  769. 7780 ;
  770. 7790 ;ZEILE MIT NULLBYTE ABSCHLIESSEN
  771. 7800 ;
  772. 7810 CHKS2 LDA #$00
  773. 7820 STA (VAR),Y
  774. 7830 INY
  775. 7840 STY STR
  776. 7850 ;
  777. 7860 ; VARIABLENZEIGER ERHOEHEN
  778. 7870 ;
  779. 7880 TYA
  780. 7890 LDY #$00
  781. 7900 CLC
  782. 7910 ADC VAR
  783. 7920 STA (VAR),Y
  784. 7930 LDA VAR+1
  785. 7940 ADC #$00
  786. 7950 INY
  787. 7960 STA (VAR),Y
  788. 7970 ;
  789. 7980 ; WENN SPEICHER VOLL DANN ENDE
  790. 7990 ;
  791. 8000 LDA VAR+1
  792. 8010 CMP $38
  793. 8020 BCC ERH
  794. 8030 BNE NERH
  795. 8040 LDA VAR
  796. 8050 CMP $37
  797. 8060 BCC ERH
  798. 8070 ;
  799. 8080 ; SPEICHEROBERGRENZE ERREICHT
  800. 8090 ;
  801. 8100 NERH LDA #$02
  802. 8110 LDX #$00
  803. 8120 STA STR2
  804. 8130 LDA VAR+3
  805. 8140 STA VAR+1
  806. 8150 LDA VAR+2
  807. 8160 STA VAR
  808. 8170 TXA
  809. 8180 BEQ ERH2
  810. 8190 ;
  811. 8200 TOW7 BNE TOW71
  812. 8210 TOW41 BNE TOW4
  813. 8220 TOK9 BCC TOK92
  814. 8230 ;
  815. 8240 ERH LDA VAR
  816. 8250 STA VAR+2
  817. 8260 LDA VAR+1
  818. 8270 STA VAR+3
  819. 8280 LDY #$00
  820. 8290 LDA (VAR),Y
  821. 8300 TAX
  822. 8310 INY
  823. 8320 LDA (VAR),Y
  824. 8330 STX VAR
  825. 8340 STA VAR+1
  826. 8350 DEY
  827. 8360 STY STR
  828. 8370 ;
  829. 8380 ; PRUEFEN OB STOP-TASTE GEDRUECKT
  830. 8390 ;
  831. 8400 LDA $CB
  832. 8410 CMP #$3F
  833. 8420 BNE NBRE
  834. 8430 LDA #1
  835. 8440 STA STR2
  836. 8450 ;
  837. 8460 ; WENN ENDE NICHT ERREICHT WEITER
  838. 8470 ;
  839. 8480 NBRE LDA STR2
  840. 8490 BMI NEI2
  841. 8500 ;
  842. 8510 ERH2 LDY#0:TYA
  843. 8520 STA (VAR),Y
  844. 8530 INY
  845. 8540 STA (VAR),Y
  846. 8550 LDA VAR
  847. 8560 CLC
  848. 8570 ADC #2
  849. 8580 STA VAR
  850. 8590 STA $2F
  851. 8600 STA $31
  852. 8610 LDA VAR+1
  853. 8620 ADC #0
  854. 8630 STA VAR+1
  855. 8640 STA $30
  856. 8650 STA $32
  857. 8660 LDA $37
  858. 8670 LDY $38
  859. 8680 STA $33
  860. 8690 STY $34
  861. 8700 LDA STR2
  862. 8710 BNE BREAK
  863. 8720 JMP READY
  864. 8730 ;
  865. 8740 TOW42 BNE TOW41
  866. 8750 TOW71 BNE W7
  867. 8760 TOK91 BCC TOK9
  868. 8770 ;
  869. 8780 BREAK CMP #1
  870. 8790 BNE OOM
  871. 8800 LDX #30
  872. 8810 JMP ERR
  873. 8820 OOM CMP #2
  874. 8830 BNE OE
  875. 8840 LDX #16
  876. 8850 JMP ERR
  877. 8860 OE JMP ILLQUAN
  878. 8870 ;
  879. 8880 ; ZEIGER IN SPEICHER ERHOEHEN
  880. 8890 ;
  881. 8900 NEI2 LDA NUMDAT
  882. 8910 STA NUMDAT2
  883. 8920 INC TRANS1
  884. 8930 BNE ZEILE2
  885. 8940 INC TRANS1+1
  886. 8950 ;
  887. 8960 ; CHECKSUMME = 0 FUER NEUEZEILE
  888. 8970 ;
  889. 8980 ZEILE2  LDA #0
  890. 8990 STA SUMME
  891. 9000 STA SUMME+1
  892. 9010 ;
  893. 9020 ; NEUE ZEILENNUMMER BERECHNEN
  894. 9030 ;
  895. 9040 LDA ZEILO
  896. 9050 CLC
  897. 9060 ADC STEP
  898. 9070 STA ZEILO
  899. 9080 LDA ZEIHI
  900. 9090 ADC #0
  901. 9100 STA ZEIHI
  902. 9110 ;
  903. 9120 ; >63999 DANN FEHLER !
  904. 9130 ;
  905. 9140 CMP #$FA
  906. 9150 BCC TOK91
  907. 9160 LDA #3
  908. 9170 STA STR2
  909. 9180 BNE ERH2
  910. 9190 ;
  911. 9200 ; KOMMA ANFUEGEN UND NAECHSTES
  912. 9210 ; DATA-STATEMENT ERZEUGEN
  913. 9220 ;
  914. 9230 W7 LDA #","
  915. 9240 LDY STR
  916. 9250 STA (VAR),Y
  917. 9260 INY
  918. 9270 STY STR
  919. 9280 INC TRANS1
  920. 9290 BNE TOW42
  921. 9300 INC TRANS1+1
  922. 9310 BNE TOW42
  923. 9320 ;
  924. 9330 ; VERWENDETE ZEICHENKETTEN:
  925. 9340 ; 
  926. 9350 ST1 .ASC"[147]DELUXE DATAS BY JOERG LUETTGAU"
  927. 9360 .BYTE $0E,$0D
  928. 9370 .ASC"PARAMETER :"
  929. 9380 .BYTE $0D
  930. 9390 .ASC"[163][163][163][163][163][163][163][163][163][163][163]"
  931. 9400 .BYTE $0D
  932. 9410 .ASC"CODE           : "
  933. 9420 .BYTE $00
  934. 9430 ;
  935. 9440 ST2 .BYTE $0D,$0D
  936. 9450 .ASC"START ADRESS   : "
  937. 9460 .BYTE $00
  938. 9470 ;
  939. 9480 ST3 .BYTE $0D,$0D
  940. 9490 .ASC"END ADRESS     : "
  941. 9500 .BYTE $00
  942. 9510 ;
  943. 9520 LOA .BYTE$0D,$0D
  944. 9530 .ASC"?ADRESS TOO LOW ERROR"
  945. 9540 .BYTE$00
  946. 9550 ;
  947. 9560 ST5 .BYTE $0D,$0D
  948. 9570 .ASC"FIRST LINE     : "
  949. 9580 .BYTE $00
  950. 9590 ;
  951. 9600 ST6 .BYTE $0D,$0D
  952. 9610 .ASC"STEP           : "
  953. 9620 .BYTE $00
  954. 9630 ;
  955. 9640 ST7 .BYTE $0D,$0D
  956. 9650 .ASC"CHECKSUM ?     : "
  957. 9660 .BYTE $00
  958. 9670 ;
  959. 9680 ST9 .BYTE $0D,$0D
  960. 9690 .ASC"VALUE OF $01   : "
  961. 9700 .BYTE $00
  962. 9710 ;
  963. 9720 NO .ASC"NO"
  964. 9730 .BYTE $00
  965. 9740 ;
  966. 9750 YES .ASC"YES"
  967. 9760 .BYTE $00
  968. 9770 ;
  969. 9780 ST8 .BYTE $0D,$0D,$0D
  970. 9790 .ASC"LINE :         MEMORY :"
  971. 9800 .BYTE $00
  972. 9810 ;
  973. 9820 ST4 .BYTE $0D,$0D
  974. 9830 .ASC"DATAS PER LINE : "
  975. 9840 .BYTE $00
  976. 9850 ;
  977. 9860 END NOP
  978. 9870 ;
  979.