home *** CD-ROM | disk | FTP | other *** search
/ 64'er 1989 February / 64er_Magazin_89-02_1989_Markt__Technik_de_Disk_1_of_2_Side_A.d64 / floppy.quell (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  8KB  |  615 lines

  1. 10 open1,8,2,"fobj,p,w":sys32768:.opt o1:*= $0300
  2. 11 ;
  3. 12 .byte $a0,$ea
  4. 13 .byte <puffer,>puffer
  5. 14 .byte <kopf,>kopf
  6. 15 .byte <format,>format
  7. 16 .byte <read,>read
  8. 17 .byte <write,>write
  9. 18 ;
  10. 19 sei
  11. 21 lda $1c0c
  12. 22 ora #$0e
  13. 23 sta $1c0c
  14. 24 lda #$21
  15. 25 sta $2c
  16. 26 lda #01
  17. 27 sta $2d
  18. 28 lda $1c00
  19. 29 ora #04
  20. 30 sta $1c00
  21. 31 start  ldx #$20
  22. 32 txs
  23. 33 lda #15
  24. 34 sta $1800
  25. 35 jsr einein
  26. 36 asl a
  27. 37 sta l1+1
  28. 42 l1  jmp ($0300)
  29. 43 ;
  30. 50 puffer  lda #$21
  31. 51 sta $2c
  32. 52 lda #01
  33. 53 sta $2d
  34. 54 jmp start
  35. 55 ;
  36. 120 sync  lda #$d0
  37. 121 sta $1805
  38. 122 sec
  39. 123 s2  bit $1805
  40. 124 bpl s1
  41. 125 bit $1c00
  42. 126 bmi s2
  43. 127 lda $1c01
  44. 128 clv
  45. 129 clc
  46. 130 s1  rts
  47. 131 ;
  48. 150 ein  ldy #00
  49. 151 lda #02
  50. 152 sta ee+2
  51. 153 jsr in
  52. 154 lda #07:sta ee+2
  53. 155 ldy #$bc
  54. 156 jmp in
  55. 157 ;
  56. 160 einein  ldy #$ff
  57. 161 lda #01
  58. 162 sta ee+2
  59. 163 jsr in
  60. 164 lda $01ff
  61. 165 rts
  62. 166 ;
  63. 170 in  stx $55
  64. 171 ldx #16
  65. 172 i1  lda $1800
  66. 173 bpl i1
  67. 174 stx $1800
  68. 175 nop
  69. 176 nop
  70. 177 ldx #00
  71. 178 stx $1800
  72. 179 nop
  73. 180 nop
  74. 181 i2  lda $1800
  75. 182 bpl i2
  76. 183 nop
  77. 184 nop
  78. 185 ldx $1800
  79. 186 lda tab45,x
  80. 187 nop
  81. 188 ldx $1800
  82. 189 ora tab67,x
  83. 190 nop
  84. 191 nop
  85. 192 nop
  86. 193 ldx $1800
  87. 194 ora tab01,x
  88. 195 nop
  89. 196 ldx $1800
  90. 197 ora tab23,x
  91. 198 ee  sta $0200,y
  92. 199 iny
  93. 200 bne i2
  94. 201 ldx #15
  95. 202 stx $1800
  96. 203 ldx $55
  97. 204 rts
  98. 205 ;
  99. 206 tab45 .byte $00,$20
  100. 207 tab67 .byte $00,$80,$10,$30,$40,$c0
  101. 208 tab01 .byte $00,$02
  102. 209 tab23 .byte $00,$08,$01,$03,$04,$0c
  103. 210 ;
  104. 250 aus  ldy #00
  105. 251 lda #02
  106. 252 sta aa+2
  107. 253 jsr out
  108. 254 ldy #$bc
  109. 255 lda #07:sta aa+2
  110. 256 jmp out
  111. 257 ;
  112. 260 einaus  sta $01ff
  113. 261 ldy #$ff
  114. 262 lda #01
  115. 263 sta aa+2
  116. 264 ;
  117. 270 out  stx $55
  118. 271 ldx #16
  119. 272 o1  lda $1800
  120. 273 bpl o1
  121. 274 stx $1800
  122. 275 aa  lda $0200,y
  123. 276 sta $54
  124. 277 lsr a
  125. 278 lsr a
  126. 279 lsr a
  127. 280 lsr a
  128. 281 o2  ldx $1800
  129. 282 bpl o2
  130. 283 sta $1800
  131. 284 asl a
  132. 285 and #15
  133. 286 sta $1800
  134. 287 lda !$0054
  135. 288 and #15
  136. 289 sta $1800
  137. 290 asl a
  138. 291 and #15
  139. 292 sta $1800
  140. 293 iny
  141. 294 bne aa
  142. 295 ldx #15
  143. 296 stx $1800
  144. 297 ldx $55
  145. 298 rts
  146. 300 ;
  147. 320 format  jsr einein
  148. 321 sta $23
  149. 322 jsr kopf1
  150. 323 jsr sync
  151. 324 bcs format1
  152. 325 f1  bvc f1
  153. 326 clv
  154. 327 lda $1c01
  155. 328 cmp #$52
  156. 329 beq f2
  157. 330 cmp #$55
  158. 331 beq f2
  159. 332 bne format1
  160. 333 f2  jmp start
  161. 334 ;
  162. 335 format1  lda #00
  163. 336 sta $30
  164. 337 sta $34
  165. 338 sta $19
  166. 339 lda #02
  167. 340 sta $31
  168. 341 f3  lda $19
  169. 342 sta $54
  170. 343 lda #08
  171. 344 sta $52
  172. 345 lda $23
  173. 346 sta $55
  174. 347 lda $12
  175. 348 eor $13
  176. 349 eor $23
  177. 350 eor $19
  178. 351 sta $53
  179. 352 jsr $f6d0
  180. 353 lda $12
  181. 354 sta $53
  182. 355 lda $13
  183. 356 sta $52
  184. 357 lda #00
  185. 358 sta $54
  186. 359 sta $55
  187. 360 jsr $f6d0
  188. 361 dec $34
  189. 362 dec $34
  190. 363 inc $19
  191. 364 lda $19
  192. 365 cmp $43
  193. 366 bne f3
  194. 367 lda #00
  195. 368 sta $ac
  196. 369 lda $43
  197. 370 sta $ad
  198. 371 lda #$ce
  199. 372 sta $1c0c
  200. 373 lda #$ff
  201. 374 sta $1c03
  202. 375 lda #$55
  203. 376 sta $1c01
  204. 377 ldx #01
  205. 378 jsr $fe24
  206. 379 fa  lda #$ff
  207. 380 sta $1c01
  208. 381 ldx #05
  209. 382 f4  bvc f4
  210. 383 clv
  211. 384 dex
  212. 385 bne f4
  213. 386 ldx #08
  214. 387 ldy $ac
  215. 388 f6  lda $0200,y
  216. 389 sta $1c01
  217. 390 f5  bvc f5
  218. 391 clv
  219. 392 iny
  220. 393 dex
  221. 394 bne f6
  222. 395 sty $ac
  223. 396 ldx #$0b
  224. 397 lda #$55
  225. 398 sta $1c01
  226. 399 f7  bvc f7
  227. 400 clv
  228. 401 dex
  229. 402 bne f7
  230. 403 lda #$ff
  231. 404 sta $1c01
  232. 405 ldx #05
  233. 406 f8  bvc f8
  234. 407 clv
  235. 408 dex
  236. 409 bne f8
  237. 410 ldx #03
  238. 411 f99  lda gcr1,x
  239. 412 sta $1c01
  240. 413 f9  bvc f9
  241. 414 clv
  242. 415 dex
  243. 416 bpl f99
  244. 417 ldy #$40
  245. 418 fb  ldx #04
  246. 419 fcc lda gcr2,x
  247. 420 sta $1c01
  248. 421 fc  bvc fc
  249. 422 clv
  250. 423 dex
  251. 424 bpl fcc
  252. 425 dey
  253. 426 bne fb
  254. 427 ldx #08
  255. 428 lda #$55
  256. 429 sta $1c01
  257. 430 fd  bvc fd
  258. 431 clv
  259. 432 dex
  260. 433 bne fd
  261. 434 dec $ad
  262. 435 bne fa
  263. 436 jsr $fe00
  264. 437 jmp start
  265. 438 ;
  266. 450 read  lda #00
  267. 451 sta $97
  268. 452 sta $52
  269. 453 lda #05
  270. 454 ldx $43
  271. 455 stx $ad
  272. 456 r1  sta $b1,x
  273. 457 dex
  274. 458 bne r1
  275. 459 stx $b0
  276. 460 r9  lda #07
  277. 461 sta $53
  278. 462 ldx #$2a
  279. 463 r4  jsr sync
  280. 464 bcc r2
  281. 465 lda #$f1
  282. 466 r5  jsr einaus
  283. 467 jmp start
  284. 468 r2  bvc r2
  285. 469 clv
  286. 470 lda $1c01
  287. 471 cmp #$52
  288. 472 beq r3
  289. 473 dex
  290. 474 bne r4
  291. 475 lda #$f2
  292. 476 bne r5
  293. 477 ;
  294. 478 r3  jsr header1
  295. 494 r7  cmp $43
  296. 495 bcc r8
  297. 496 r10  lda $b0
  298. 497 inc $b0
  299. 498 cmp $43
  300. 499 bne r9
  301. 500 jmp rfertig
  302. 501 ;
  303. 502 r8  tax
  304. 503 lda $b2,x
  305. 504 beq r10
  306. 505 bmi r10
  307. 506 stx $96
  308. 507 ldy #00
  309. 508 sty $a8
  310. 509 sty $a9
  311. 510 sty $aa
  312. 511 sty $ab
  313. 512 sty $b1
  314. 513 sty $b0
  315. 514 ldy #$bc
  316. 515 jsr sync
  317. 516 ldx #$40
  318. 517 r11 bvc r11
  319. 518 clv
  320. 519 lda $1c01
  321. 520 sta ($52),y
  322. 521 eor $a8
  323. 522 sta $a8
  324. 523 iny
  325. 524 r12 bvc r12
  326. 525 clv
  327. 526 lda $1c01
  328. 527 sta ($52),y
  329. 528 eor $a9
  330. 529 sta $a9
  331. 530 iny
  332. 531 r13 bvc r13
  333. 532 clv
  334. 533 lda $1c01
  335. 534 sta ($52),y
  336. 535 eor $aa
  337. 536 sta $aa
  338. 537 iny
  339. 538 bne r14
  340. 539 lda #02:sta $53
  341. 540 r14 bvc r14
  342. 541 clv
  343. 542 lda $1c01
  344. 543 sta ($52),y
  345. 544 eor $ab
  346. 545 sta $ab
  347. 546 iny
  348. 547 r15 bvc r15
  349. 548 clv
  350. 549 lda $1c01
  351. 550 sta ($52),y
  352. 551 eor $b1
  353. 552 sta $b1
  354. 553 iny
  355. 554 dex
  356. 555 bne r11
  357. 556 r16 bvc r16
  358. 557 clv
  359. 558 lda $1c01
  360. 559 sta ($52),y
  361. 560 eor $a8
  362. 561 sta $a8
  363. 562 iny
  364. 563 r17 bvc r17
  365. 564 clv
  366. 565 lda $1c01
  367. 566 sta ($52),y
  368. 567 eor $a9
  369. 568 sta $a9
  370. 569 iny
  371. 570 r18 bvc r18
  372. 571 clv
  373. 572 lda $1c01
  374. 573 sta ($52),y
  375. 574 and #$40
  376. 575 eor $aa
  377. 576 sta $aa
  378. 577 iny
  379. 578 r19 bvc r19
  380. 579 clv
  381. 580 lda $1c01
  382. 581 sta ($52),y
  383. 582 ldx $96
  384. 583 lda $b1
  385. 584 lsr a
  386. 585 lsr a
  387. 586 eor $a8
  388. 587 lsr a
  389. 588 php
  390. 589 lsr a
  391. 590 eor $a9
  392. 591 lsr a
  393. 592 lsr a
  394. 593 eor $aa
  395. 594 and #02
  396. 595 bne r30
  397. 596 plp
  398. 597 ror a
  399. 598 lsr a
  400. 599 eor $aa
  401. 600 lsr a
  402. 601 lsr a
  403. 602 eor $ab
  404. 603 and #$10
  405. 604 beq r30
  406. 605 inc $97
  407. 606 lda $b2,x
  408. 607 ora #$80
  409. 608 sta $b2,x
  410. 609 txa
  411. 610 jsr einaus
  412. 611 jsr aus
  413. 612 r40  dec $ad
  414. 613 beq rfertig
  415. 614 jmp r9
  416. 615 ;
  417. 616 rfertig  lda $97
  418. 617 beq r20
  419. 618 lda #$fd
  420. 619 bne r21
  421. 620 r20  lda #$fc
  422. 621 r21  jsr einaus
  423. 622 ldx #00
  424. 623 r22  txa
  425. 624 tay
  426. 625 iny
  427. 626 lda $b2,x
  428. 627 sta ($2c),y
  429. 628 bmi r44
  430. 629 txa
  431. 630 jsr einaus
  432. 631 r44  inx
  433. 632 cpx $43
  434. 633 bne r22
  435. 634 lda #$f3
  436. 635 jsr einaus
  437. 636 ldy #00
  438. 637 lda $97
  439. 638 sta ($2c),y
  440. 639 lda $97:beq r222:lda $2c
  441. 640 clc
  442. 641 adc #22
  443. 642 sta $2c
  444. 643 r222 jmp start
  445. 644 ;
  446. 650 r30  dec $b2,x
  447. 651 beq r40
  448. 652 jmp r9
  449. 653 ;
  450. 680 write  ldx #00
  451. 681 w11  txa
  452. 682 tay
  453. 683 iny
  454. 684 lda ($2c),y
  455. 685 sta $b2,x
  456. 686 inx
  457. 687 cpx $43
  458. 688 bne w11
  459. 689 ldy #00
  460. 690 lda ($2c),y
  461. 691 sta $97
  462. 692 hloop  jsr header
  463. 693 clc
  464. 694 adc #03
  465. 695 cmp $43
  466. 696 bcc w2
  467. 697 sec
  468. 698 sbc $43
  469. 699 w2  tax
  470. 700 lda $b2,x
  471. 701 bpl hloop
  472. 702 txa
  473. 703 sta $53
  474. 704 jsr einaus
  475. 705 jsr ein
  476. 706 w3  jsr header
  477. 707 cmp $53
  478. 708 bne w3
  479. 709 ldx #13
  480. 710 w4  bvc w4
  481. 711 clv
  482. 712 dex
  483. 713 bne w4
  484. 714 lda #$ce
  485. 715 sta $1c0c
  486. 716 lda #$ff
  487. 717 sta $1c03
  488. 718 ldx #05
  489. 719 sta $1c01
  490. 720 w5  bvc w5
  491. 721 clv
  492. 722 dex
  493. 723 bne w5
  494. 724 ldx #$bc
  495. 725 w66  lda $0700,x
  496. 726 sta $1c01
  497. 727 w6  bvc w6
  498. 728 clv
  499. 729 inx
  500. 730 bne w66
  501. 731 w77  lda $0200,x
  502. 732 sta $1c01
  503. 733 w7  bvc w7
  504. 734 clv
  505. 735 inx
  506. 736 bne w77
  507. 737 ldx #04
  508. 738 lda #$55
  509. 739 sta $1c01
  510. 740 w8  bvc w8
  511. 741 clv
  512. 742 dex
  513. 743 bne w8
  514. 744 jsr $fe00
  515. 745 ldx $53
  516. 746 lda #00
  517. 747 sta $b2,x
  518. 748 dec $97
  519. 749 bne hloop
  520. 750 lda $2c
  521. 751 clc
  522. 752 adc #22
  523. 753 sta $2c
  524. 754 lda #$f1
  525. 755 jsr einaus
  526. 756 jmp start
  527. 757 ;
  528. 800 kopf  jsr einein
  529. 801 sta $23
  530. 802 jsr kopf1
  531. 803 jmp start
  532. 804 ;
  533. 805 kopf1  pha
  534. 806 ldx #$ca:stx k12
  535. 807 ldx #00
  536. 808 sec
  537. 809 sbc $22
  538. 810 bcs k9
  539. 811 ldx #$e8:stx k12
  540. 812 ldx #01
  541. 813 k9  stx k10+1
  542. 815 asl a
  543. 816 tax
  544. 817 k10 lda #00
  545. 818 eor $1c00
  546. 819 sec
  547. 820 rol a
  548. 821 and #03
  549. 822 eor $1c00
  550. 823 sta $1c00
  551. 824 lda #150
  552. 825 sta $1805
  553. 826 k11  lda $1805
  554. 827 bmi k11
  555. 828 k12  dex
  556. 829 bne k10
  557. 830 pla
  558. 831 sta $22
  559. 832 k1  ldx #05
  560. 833 lda $22
  561. 834 k3  dex
  562. 835 cmp tabt,x
  563. 836 bcs k3
  564. 837 lda tabs,x
  565. 838 sta $43
  566. 839 cpx #00
  567. 840 beq k4
  568. 841 dex
  569. 842 k4  txa
  570. 843 asl a
  571. 844 asl a
  572. 845 asl a
  573. 846 asl a
  574. 847 asl a
  575. 848 sta $44
  576. 849 lda $1c00
  577. 850 and #$9f
  578. 851 ora $44
  579. 852 sta $1c00
  580. 853 lda $1c0c
  581. 854 ora #$0e
  582. 855 sta $1c0c
  583. 856 rts
  584. 857 ;
  585. 858 tabt .byte $ff,$24,$1f,$19,$12
  586. 859 tabs .byte $11,$11,$12,$13,$15
  587. 888 ;
  588. 900 header  jsr sync
  589. 901 h1  bvc h1
  590. 902 clv
  591. 903 lda $1c01
  592. 904 cmp #$52
  593. 905 bne header
  594. 906 header1  ldx #03
  595. 907 h2  bvc h2
  596. 908 clv
  597. 909 lda $1c01
  598. 910 dex
  599. 911 bne h2
  600. 912 tax
  601. 913 php
  602. 914 lsr a
  603. 915 lsr a
  604. 916 and #$1f
  605. 917 tax
  606. 918 lda $f8c0,x
  607. 919 plp
  608. 920 bpl h3
  609. 921 ora #$10
  610. 922 h3  rts
  611. 930 ;
  612. 950 gcr1  .byte $29,$a5,$d4,$55
  613. 951 gcr2  .byte $29,$a5,$94,$52,$4a
  614. 960 ;
  615.