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 / rechner.quell (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  19KB  |  1,216 lines

  1. 10 open1,8,2,"robj,p,w":sys32768:.opt o1:*= $0e00
  2. 11 ;
  3. 20 jmp start
  4. 100 print  pla
  5. 101 sta $9b
  6. 102 pla
  7. 103 sta $9c
  8. 104 ldy #00
  9. 105 lda #$1f
  10. 106 bne p1
  11. 107 p3  lda ($9b),y
  12. 108 p1  inc $9b
  13. 109 bne p2
  14. 110 inc $9c
  15. 111 p2  cmp #00
  16. 112 beq p33
  17. 113 jsr $ffd2
  18. 114 jmp p3
  19. 115 p33 jmp ($009b)
  20. 116 ;
  21. 120 dezimal  sed
  22. 121 ldx #08
  23. 122 sta $9b
  24. 123 lda #00
  25. 124 sta $9c
  26. 125 d1  asl $9b
  27. 126 adc $9c
  28. 127 sta $9c
  29. 128 dex
  30. 129 bne d1
  31. 130 cld
  32. 131 pha
  33. 132 lsr a
  34. 133 lsr a
  35. 134 lsr a
  36. 135 lsr a
  37. 136 jsr d2
  38. 137 pla
  39. 138 d2  and #$0f
  40. 139 clc
  41. 140 adc #$30
  42. 141 jmp $ffd2
  43. 142 ;
  44. 150 diskaus  lda di1
  45. 151 sta di2
  46. 152 cmp #$12
  47. 153 bne di3
  48. 154 lda #$92
  49. 156 bne di4
  50. 157 di3  lda #$12
  51. 158 di4  sta di22
  52. 159 jsr print
  53. 160 ;
  54. 161 di1 .byte $12,$b0,$c0,$c0,$c0,$c0,$c0,$c0
  55. 162 .byte $ae,$9d,$9d,$9d,$9d,$9d,$9d,$9d
  56. 163 .byte $9d,$11,$dd
  57. 164 di22  .byte $92,$20,$20
  58. 165 di2 .byte $12,$20
  59. 166 .byte $20,$d7,$20,$dd,$9d,$9d,$9d,$9d
  60. 167 .byte $9d,$9d,$9d,$9d,$11,$dd,$20,$20
  61. 168 .byte $d5,$c9,$20,$20,$dd,$9d,$9d,$9d
  62. 169 .byte $9d,$9d,$9d,$9d,$9d,$11,$dd,$20
  63. 170 .byte $20,$ca,$cb,$20,$20,$dd,$9d,$9d
  64. 171 .byte $9d,$9d,$9d,$9d,$9d,$9d,$11,$dd
  65. 172 .byte $20,$20,$d5,$c9,$20,$20,$dd,$9d
  66. 173 .byte $9d,$9d,$9d,$9d,$9d,$9d,$9d,$11
  67. 174 .byte $dd,$20,$20,$dd,$dd,$20,$20,$dd
  68. 175 .byte $9d,$9d,$9d,$9d,$9d,$9d,$9d,$9d
  69. 176 .byte $11,$dd,$20,$20,$ca,$cb,$20,$20
  70. 177 .byte $dd,$9d,$9d,$9d,$9d,$9d,$9d,$9d
  71. 178 .byte $9d,$11,$ad,$c0,$c0,$c0,$c0,$c0
  72. 179 .byte $c0,$bd,$00
  73. 180 rts
  74. 181 ;
  75. 200 oben  pha
  76. 201 lda #$20
  77. 202 ldy #00
  78. 203 o1  sta $0400,y
  79. 204 dey
  80. 205 bne o1
  81. 206 ldy #$90
  82. 207 o2  sta $04ff,y
  83. 208 dey
  84. 209 bne o2
  85. 210 pla
  86. 211 sta di1
  87. 212 lda $d3
  88. 213 pha
  89. 214 lda $d6
  90. 215 pha
  91. 216 txa
  92. 217 pha
  93. 218 ldx #01
  94. 219 ldy #04
  95. 220 jsr $e50c
  96. 221 jsr diskaus
  97. 222 pla
  98. 223 sta di1
  99. 224 ldx #01
  100. 225 ldy #$1c
  101. 226 jsr $e50c
  102. 227 jsr diskaus
  103. 228 jsr zwischen
  104. 229 pla
  105. 230 tax
  106. 231 pla
  107. 232 tay
  108. 233 jsr $e50c
  109. 234 lda #$63
  110. 235 ldy #$27
  111. 236 o3  sta $058f,y
  112. 237 dey
  113. 238 bne o3
  114. 239 jmp farbe
  115. 240 ;
  116. 250 zwischen  ldx #01
  117. 251 ldy #$0e
  118. 252 jsr $e50c
  119. 253 jsr print
  120. 254 .asc "[146]pass: ":.byte 0
  121. 255 lda $61
  122. 256 jsr dezimal
  123. 257 ldx #03
  124. 258 ldy #$0e
  125. 259 jsr $e50c
  126. 260 jsr print
  127. 261 .asc "[146]errors: ":.byte 0
  128. 262 lda $62
  129. 263 jsr dezimal
  130. 264 ldx #05
  131. 265 ldy #$0e
  132. 266 jsr $e50c
  133. 267 jsr print
  134. 268 .asc "[146]zieldisk: ":.byte 0
  135. 269 ldx $8c
  136. 270 inx
  137. 271 txa
  138. 272 jsr dezimal
  139. 273 ldx #07
  140. 274 ldy #$0e
  141. 275 jsr $e50c
  142. 276 jsr print
  143. 277 .asc "[146]zeit : ":.byte 0
  144. 278 lda $dc0b
  145. 279 lda $dc0a
  146. 280 jsr z1:jsr $ffd2
  147. 281 lda #$2e
  148. 282 jsr $ffd2
  149. 283 lda $dc09
  150. 284 pha
  151. 285 jsr z2
  152. 286 jsr $ffd2
  153. 287 pla
  154. 288 jsr z1
  155. 289 jsr $ffd2
  156. 290 lda $dc08
  157. 291 rts
  158. 292 ;
  159. 295 z1  and #$0f
  160. 296 ora #$30
  161. 297 rts
  162. 298 z2  lsr a
  163. 299 lsr a
  164. 300 lsr a
  165. 301 lsr a
  166. 302 ora #$30
  167. 303 rts
  168. 304 ;
  169. 320 farbe  lda #06
  170. 321 ldy #00
  171. 322 f1  sta $d800,y
  172. 323 sta $d900,y
  173. 324 sta $da00,y
  174. 325 sta $db00,y
  175. 326 iny
  176. 327 bne f1
  177. 328 rts
  178. 329 ;
  179. 340 bildaus  lda $d011
  180. 341 and #$ef
  181. 342 sta $d011
  182. 343 ldx #00
  183. 344 ldy #$96
  184. 345 bi1  inx
  185. 346 bne bi1
  186. 347 dey
  187. 348 bne bi1
  188. 349 rts
  189. 350 ;
  190. 360 bildan  lda $d011
  191. 361 ora #$10
  192. 362 sta $d011
  193. 363 rts
  194. 364 ;
  195. 365 taste  lda #00
  196. 366 sta $c6
  197. 367 ta1  jsr $ffe4
  198. 368 beq ta1
  199. 369 rts
  200. 370 ;
  201. 371 uhraus  lda #00
  202. 372 sta $dc0b
  203. 373 rts
  204. 374 ;
  205. 375 uhran  lda $dc08
  206. 376 sta $dc08
  207. 377 rts
  208. 378 ;
  209. 380 linkssym  lda #$12
  210. 381 ldx #$92
  211. 382 bne lk1
  212. 383 ;
  213. 384 rechtssym  ldx #$12
  214. 385 lda #$92
  215. 386 lk1  jmp oben
  216. 387 ;
  217. 390 quell cli
  218. 391 jsr uhraus
  219. 392 inc $61
  220. 393 jsr linkssym
  221. 394 qu1  jsr bildan
  222. 395 jsr taste
  223. 396 jsr bildaus:jsr uhran
  224. 397 sei
  225. 398 rts
  226. 399 ;
  227. 400 ziel  cli
  228. 401 jsr uhraus
  229. 402 jsr rechtssym
  230. 403 jmp qu1
  231. 404 ;
  232. 410 syncerr  jsr trackerr
  233. 411 jsr print
  234. 412 .asc ":sync not found":.byte 0
  235. 413 sei
  236. 414 rts
  237. 415 ;
  238. 420 headerr  jsr trackerr
  239. 421 jsr print
  240. 422 .asc ":header not found":.byte 0
  241. 423 sei
  242. 424 rts
  243. 425 ;
  244. 430 trackerr  jsr print
  245. 431 .byte 13
  246. 432 .asc "trackerror in ":.byte 0
  247. 433 lda $fb
  248. 434 jsr dezimal
  249. 435 ldx $fb
  250. 436 inc tracktab,x
  251. 437 rts
  252. 438 ;
  253. 440 readerr  inc $62
  254. 441 pha
  255. 442 jsr print
  256. 443 .byte 13
  257. 444 .asc "read error,":.byte 0
  258. 445 lda $fb
  259. 446 jsr dezimal
  260. 447 lda #$2c
  261. 448 jsr $ffd2
  262. 449 pla
  263. 450 jsr dezimal
  264. 451 sei
  265. 452 rts
  266. 453 ;
  267. 460 unlesbar  ldx #$17
  268. 461 ldy #01
  269. 462 jsr $e50c
  270. 463 jsr print
  271. 464 .asc "diskette ist nicht lesbar !"
  272. 465 .byte 0
  273. 466 jsr taste
  274. 467 rts
  275. 468 ;
  276. 470 ende  dec $fe
  277. 471 jsr print
  278. 472 .byte 13,13
  279. 473 .asc "weiter mit tastendruck":.byte 0
  280. 474 cli
  281. 475 jsr uhraus
  282. 476 jsr linkssym
  283. 477 jsr bildan
  284. 478 jsr taste
  285. 479 lda #03
  286. 480 sta $dd00
  287. 481 rts
  288. 482 ;
  289. 490 tracktab  .byte 0,0,0,0,0,0,0,0,0,0
  290. 491 .byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  291. 492 .byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  292. 493 ;
  293. 500 sektoren  ldx #05
  294. 501 lda $fb
  295. 502 se1  dex
  296. 503 cmp stab,x
  297. 504 bcs se1
  298. 505 lda stab1,x
  299. 506 sta $6b
  300. 507 rts
  301. 508 ;
  302. 509 stab  .byte $ff,$24,$1f,$19,$12
  303. 510 stab1 .byte $11,$11,$12,$13,$15
  304. 511 ;
  305. 520 trackstart  ldx $fb
  306. 521 lda $ab
  307. 522 clc
  308. 523 adc lowtab,x
  309. 524 sta $ab
  310. 525 lda $ac
  311. 526 adc hightab,x
  312. 527 sta $ac
  313. 528 rts
  314. 529 ;
  315. 530 zaehlsetz  ldx $fb
  316. 531 lda ztab,x
  317. 532 sta zae+1
  318. 533 rts
  319. 534 ;
  320. 545 ;
  321. 550 holmasch  jsr bildaus
  322. 551 sei
  323. 552 lda #$35
  324. 553 sta $01
  325. 554 lda #00
  326. 555 sta $a7:lda #$15
  327. 556 sta $a9
  328. 557 lda #$09
  329. 558 sta $aa
  330. 559 lda #$70
  331. 560 sta $a8
  332. 561 ldx #05
  333. 562 ho2  ldy #00
  334. 563 ho1  lda ($a9),y
  335. 564 sta ($a7),y
  336. 565 iny
  337. 566 bne ho1
  338. 567 inc $a8
  339. 568 inc $aa
  340. 569 dex
  341. 570 bne ho2
  342. 571 lda #$37
  343. 572 sta $01
  344. 573 cli
  345. 574 jmp farbe
  346. 575 ;
  347. 580 startmasch  lda #00
  348. 581 sta $a7
  349. 582 sta $a9
  350. 583 lda #$70
  351. 584 sta $a8
  352. 585 lda #03
  353. 586 sta $aa
  354. 587 sm5  lda $f9
  355. 588 jsr $ed0c
  356. 589 lda #$6f
  357. 590 jsr $edb9
  358. 591 lda #$4d
  359. 592 jsr $eddd
  360. 593 lda #$2d
  361. 594 jsr $eddd
  362. 595 lda #$57
  363. 596 jsr $eddd
  364. 597 lda $a9
  365. 598 jsr $eddd
  366. 599 lda $aa
  367. 600 jsr $eddd
  368. 601 lda #$20
  369. 602 jsr $eddd
  370. 603 ldy #00
  371. 604 sm1  lda ($a7),y
  372. 605 jsr $eddd
  373. 606 iny
  374. 607 cpy #$20
  375. 608 bcc sm1
  376. 609 jsr $edfe
  377. 610 clc
  378. 611 lda $a7
  379. 612 adc #$20
  380. 613 sta $a7
  381. 614 bcc sm2
  382. 615 inc $a8
  383. 616 clc
  384. 617 sm2  lda $a9
  385. 618 ldx $aa
  386. 619 adc #$20
  387. 620 sta $a9
  388. 621 bcc sm3
  389. 622 inc $aa
  390. 623 inx
  391. 624 sm3  cpx #08
  392. 625 bcc sm5
  393. 626 lda $f9
  394. 627 jsr $ed0c
  395. 628 lda #$6f
  396. 629 jsr $edb9
  397. 630 ldx #04
  398. 631 sm6  lda mem,x
  399. 632 jsr $eddd
  400. 633 dex
  401. 634 bpl sm6
  402. 635 jsr $edfe
  403. 636 l12  lda #$93
  404. 637 jsr $ffd2
  405. 638 ldx #$0a
  406. 639 ldy #$00
  407. 640 jmp $e50c
  408. 641 ;
  409. 642 mem  .byte 3,12
  410. 643 .asc "e-m"
  411. 644 ;
  412. 650 open  lda #15
  413. 651 ldx $f9
  414. 652 tay
  415. 653 jsr $ffba
  416. 654 lda #00
  417. 655 jsr $ffbd
  418. 656 jmp $ffc0
  419. 657 ;
  420. 660 einein  ldy #$ff
  421. 661 lda #03
  422. 662 sta ee+2
  423. 663 jsr in
  424. 664 lda $03ff
  425. 665 rts
  426. 666 ;
  427. 670 ein  ldy #00
  428. 671 lda #04
  429. 672 sta ee+2
  430. 673 jsr in
  431. 674 lda #03:sta ee+2
  432. 675 ldy #$bc
  433. 676 ;
  434. 680 in  stx $03bb
  435. 681 ldx #11
  436. 682 stx $dd00
  437. 683 ldx #03
  438. 684 in1  lda $dd00
  439. 685 bpl in1
  440. 686 stx $dd00
  441. 687 in2  nop
  442. 688 nop
  443. 689 lda #11
  444. 690 sta $dd00
  445. 691 nop
  446. 692 nop
  447. 693 ldx #03
  448. 694 stx $dd00
  449. 695 ldx $dd00
  450. 696 lda tab57,x
  451. 697 ldx $dd00
  452. 698 ora tab46,x
  453. 699 nop
  454. 700 ldx $dd00
  455. 701 ora tab13,x
  456. 702 ldx $dd00
  457. 703 ora tab02,x
  458. 704 ee  sta $0400,y
  459. 705 iny
  460. 706 bne in2
  461. 707 ldx $03bb
  462. 708 rts
  463. 709 ;
  464. 730 ;
  465. 750 einaus  ldy #$ff
  466. 751 sta $03ff
  467. 752 lda #03
  468. 753 sta aa+2
  469. 754 jmp out
  470. 755 ;
  471. 756 aus  ldy #00
  472. 757 lda #04
  473. 758 sta aa+2
  474. 759 jsr out
  475. 760 lda #03:sta aa+2
  476. 761 ldy #$bc
  477. 762 ;
  478. 763 out  stx $03bb
  479. 764 lda #11
  480. 765 sta $dd00
  481. 766 ldx #03
  482. 767 ou1  lda $dd00
  483. 768 bpl ou1
  484. 769 stx $dd00
  485. 770 aa  lda $0400,y
  486. 771 ldx #11
  487. 772 stx $dd00
  488. 773 tax
  489. 774 and #240
  490. 775 sta $dd00
  491. 776 lsr a
  492. 777 lsr a
  493. 778 and #240
  494. 779 sta $dd00
  495. 780 txa
  496. 781 and #15
  497. 782 tax
  498. 783 lda tab,x
  499. 784 sta $dd00
  500. 785 lsr a
  501. 786 lsr a
  502. 787 and #240
  503. 788 sta $dd00
  504. 789 nop
  505. 790 nop
  506. 791 nop
  507. 792 iny
  508. 793 bne aa
  509. 794 lda #03
  510. 795 sta $dd00
  511. 796 ldx $03bb
  512. 797 rts
  513. 798 .byte 0,0,0,0,0,0,0,0
  514. 799 tab02  .byte 0,0,0,$05,0,0,0,0
  515. 800 tab13  .byte 0,0,0,$0a,0,0,0,0
  516. 801 tab46  .byte 0,0,0,$50,0,0,0,0
  517. 802 tab57  .byte 0,0,0,$a0,0,0,0,0
  518. 803 .byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  519. 804 .byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  520. 805 .byte 0,0,0,$01,0,0,0,0,0,0,0,$02,0,0,0,0
  521. 806 .byte 0,0,0,$10,0,0,0,0,0,0,0,$20,0,0,0,0
  522. 807 .byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  523. 808 .byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  524. 809 .byte 0,0,0,$04,0,0,0,0,0,0,0,$08,0,0,0,0
  525. 810 .byte 0,0,0,$40,0,0,0,0,0,0,0,$80,0,0,0,0
  526. 811 .byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  527. 812 .byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  528. 813 .byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  529. 814 .byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  530. 815 ;
  531. 816 tab .byte $00,$10,$20,$30
  532. 817 .byte $40,$50,$60,$70,$80,$90,$a0
  533. 818 .byte $b0,$c0,$d0,$e0,$f0
  534. 819 ;
  535. 820 werttast  sta $a7
  536. 821 tax
  537. 822 lda wert1,x
  538. 823 sta $a9
  539. 824 lda wert2,x
  540. 825 sta $aa
  541. 826 ldy #00
  542. 827 lda ($a9),y
  543. 828 ora #$80
  544. 829 sta ($a9),y
  545. 830 w1  jsr taste
  546. 831 cmp #$30
  547. 832 bcc w1
  548. 833 ldx $a7
  549. 834 cmp wert3,x
  550. 835 bcs w1
  551. 836 ldy #00
  552. 837 sta ($a9),y
  553. 838 sec
  554. 839 sbc #$30
  555. 840 sta $a8
  556. 841 iny
  557. 842 lda ($a9),y
  558. 843 ora #$80
  559. 844 sta ($a9),y
  560. 845 w2  jsr taste
  561. 846 pha
  562. 847 lda $a7
  563. 848 asl a
  564. 849 asl a
  565. 850 clc
  566. 851 adc $a7
  567. 852 adc $a8
  568. 853 tax
  569. 854 pla
  570. 855 cmp wert4,x
  571. 856 bcc w2
  572. 857 cmp wert5,x
  573. 858 bcs w2
  574. 859 ldy #01
  575. 860 sta ($a9),y
  576. 861 sec
  577. 862 sbc #$30
  578. 863 tax
  579. 864 lda $a8
  580. 865 asl a
  581. 866 asl a
  582. 867 asl a
  583. 868 sta $a7
  584. 869 lda $a8
  585. 870 asl a
  586. 871 clc
  587. 872 adc $a7
  588. 873 stx $a8
  589. 874 clc
  590. 875 adc $a8
  591. 876 rts
  592. 877 ;
  593. 880 wert1  .byte $d8,$65,$b3,$08
  594. 881 wert2  .byte 4,6,6,7
  595. 882 wert3  .byte $32,$35,$35,$32
  596. 883 wert4  .byte $31,$30,0,0,0
  597. 884 .byte $31,$30,$30,$30,$30
  598. 885 .byte $31,$30,$30,$30,$30
  599. 886 .byte $38,$30,0,0,0
  600. 887 wert5  .byte $3a,$31,0,0,0
  601. 888 .byte $3a,$3a,$3a,$3a,$31
  602. 889 .byte $3a,$3a,$3a,$3a,$31
  603. 890 .byte $3a,$32,0,0,0
  604. 891 ;
  605. 900 von  lda #52
  606. 901 sta $01
  607. 902 ldy #$43
  608. 903 v1  lda $03bc,y
  609. 904 sta ($a9),y
  610. 905 dey
  611. 906 bpl v1
  612. 907 ldy #00
  613. 908 v2  lda $0400,y
  614. 909 sta ($a7),y
  615. 910 iny
  616. 911 bne v2
  617. 912 lda #$37
  618. 913 sta $01
  619. 914 rts
  620. 915 ;
  621. 920 nach  lda #52
  622. 921 sta $01
  623. 922 ldy #$43
  624. 923 n1  lda ($a9),y
  625. 924 sta $03bc,y
  626. 925 dey
  627. 926 bpl n1
  628. 927 ldy #00
  629. 928 n2  lda ($a7),y
  630. 929 sta $0400,y
  631. 930 iny
  632. 931 bne n2
  633. 932 lda #$37
  634. 933 sta $01
  635. 934 rts
  636. 935 ;
  637. 1000 kopieren  jsr open
  638. 1001 ldx #15
  639. 1002 jsr $ffc9
  640. 1003 lda #$49
  641. 1004 jsr $ffd2
  642. 1005 jsr $ffcc
  643. 1006 ldx #$0f
  644. 1007 jsr $ffc6
  645. 1008 jsr $ffcf
  646. 1009 pha
  647. 1010 k1  jsr $ffcf
  648. 1011 cmp #13
  649. 1012 bne k1
  650. 1013 jsr $ffcc:lda #15:jsr $ffc3
  651. 1014 pla
  652. 1015 cmp #$30
  653. 1016 beq k2
  654. 1017 jmp unlesbar
  655. 1018 k2  jsr holmasch
  656. 1019 jsr startmasch
  657. 1020 lda #$93
  658. 1021 jsr $ffd2
  659. 1022 ldx $fe
  660. 1023 cpx $fd
  661. 1024 bcs k3
  662. 1025 ldy $fd
  663. 1026 sty $fe
  664. 1027 stx $fd
  665. 1028 k3  inc $fe
  666. 1029 ldx #$0a
  667. 1030 ldy #00
  668. 1031 jsr $e50c
  669. 1032 sei
  670. 1033 lda #00
  671. 1034 sta $61
  672. 1035 sta $62
  673. 1036 lda $fd
  674. 1037 sta $fa
  675. 1038 lda $fe
  676. 1039 sta $fc
  677. 1040 lda $dc0f
  678. 1041 and #$7f
  679. 1042 sta $dc0f
  680. 1043 lda $dc0e
  681. 1044 ora #$80
  682. 1045 sta $dc0e
  683. 1046 lda #00
  684. 1047 sta $dc0b
  685. 1048 sta $dc0a
  686. 1049 sta $dc09
  687. 1050 sta $dc08
  688. 1051 ldx #40
  689. 1052 k4  sta tracktab,x
  690. 1053 dex
  691. 1054 bpl k4
  692. 1055 k10  lda #00
  693. 1056 sta $8b
  694. 1057 sta $8c
  695. 1058 jsr quell:lda #$fa:sta $ab:lda #$1f:sta $ac:lda #01:jsr einaus
  696. 1059 lda $fa
  697. 1060 sta $fb:jsr zaehlsetz
  698. 1061 k6  lda #02
  699. 1062 jsr einaus
  700. 1063 lda $fb
  701. 1064 jsr einaus
  702. 1065 jsr read
  703. 1066 jsr trackstart
  704. 1067 inc $fb
  705. 1068 inc $8b
  706. 1069 lda $fb
  707. 1070 cmp $fe
  708. 1071 beq k5
  709. 1072 ldx $8b
  710. 1073 zae cpx #08
  711. 1074 bne k6
  712. 1075 k5  ldx $fa
  713. 1076 stx $8d
  714. 1077 sta $fa
  715. 1078 lda #00
  716. 1079 sta $8c
  717. 1080 k9  ldx $8d
  718. 1081 stx $fb
  719. 1082 jsr ziel:lda #$fa:sta $ab:lda #$1f:sta $ac
  720. 1083 lda #01
  721. 1084 jsr einaus
  722. 1085 lda #00
  723. 1086 sta $8b
  724. 1087 k8  lda #03
  725. 1088 jsr einaus
  726. 1089 lda $fb
  727. 1090 jsr einaus
  728. 1091 ldx $fb
  729. 1092 lda tracktab,x
  730. 1093 bne k7
  731. 1094 jsr write
  732. 1095 k7  jsr trackstart
  733. 1096 inc $fb
  734. 1097 inc $8b
  735. 1098 lda $fb
  736. 1099 cmp $fa
  737. 1100 bne k8
  738. 1101 sta $8e
  739. 1102 inc $8c
  740. 1103 lda $8c
  741. 1104 cmp $8f
  742. 1105 bne k9
  743. 1106 lda $8e
  744. 1107 cmp $fe
  745. 1108 beq kfertig
  746. 1109 jmp k10
  747. 1110 ;
  748. 1111 kfertig  jsr print
  749. 1112 .byte 13,13,13
  750. 1113 .asc "kopiervorgang ist beendet."
  751. 1114 .byte 0
  752. 1115 sei:lda #00
  753. 1116 jsr einaus
  754. 1117 jmp ende
  755. 1118 ;
  756. 1200 start  lda #21
  757. 1201 sta $d018
  758. 1202 lda #01
  759. 1203 sta $fd
  760. 1204 sta $8f
  761. 1205 lda #15
  762. 1206 sta $d020
  763. 1207 sta $d021
  764. 1208 lda #08
  765. 1209 sta $f9
  766. 1210 lda #$28
  767. 1211 sta $fe
  768. 1212 st1  jsr print
  769. 1213 .byte $93,$1f
  770. 1214 .asc "  **** master - copy plus  v 1.2 ****  ":.byte 13,13
  771. 1215 .asc "   (c) 1988 by frank riemenschneider  ":.byte 13,13,13
  772. 1216 .asc " a[146]nzahl kopien:":.byte 13,13
  773. 1217 .asc " b[146]efehl senden":.byte 13,13
  774. 1218 .asc " d[146]irektory zeigen":.byte 13,13
  775. 1219 .asc " k[146]opieren":.byte 13,13
  776. 1220 .asc " v[146]erify disk":.byte 13,13
  777. 1221 .asc " s[146]tarttrack:":.byte 13,13
  778. 1222 .asc " e[146]ndtrack:":.byte 13,13
  779. 1223 .asc " g[146]eraetenummer:":.byte 13,13
  780. 1224 .asc " p[146]rogrammende":.byte 13,13
  781. 1225 .asc " i[146]nfo":.byte 0
  782. 1226 ;
  783. 1230 ldx #15
  784. 1231 ldy #13
  785. 1232 jsr $e50c
  786. 1233 lda $fd
  787. 1234 jsr dezimal
  788. 1235 ldx #$11
  789. 1236 ldy #$0b
  790. 1237 jsr $e50c
  791. 1238 lda $fe
  792. 1239 jsr dezimal
  793. 1240 ldx #$13
  794. 1241 ldy #$10
  795. 1242 jsr $e50c
  796. 1243 lda $f9
  797. 1244 jsr dezimal
  798. 1245 ldx #05
  799. 1246 ldy #$10
  800. 1247 jsr $e50c
  801. 1248 lda $8f
  802. 1249 jsr dezimal
  803. 1250 st2  jsr taste
  804. 1251 cmp #"b"
  805. 1252 bne m1
  806. 1253 jsr befehl
  807. 1254 jmp st1
  808. 1255 m1  cmp #"d"
  809. 1256 bne m2
  810. 1257 jsr direktory
  811. 1258 jmp st1
  812. 1259 m2  cmp #"k"
  813. 1260 bne m3
  814. 1261 jsr kopieren
  815. 1262 jmp st1
  816. 1263 m3  cmp #"s"
  817. 1264 bne m4
  818. 1265 lda #01
  819. 1266 jsr werttast
  820. 1267 sta $fd
  821. 1268 jmp st2
  822. 1269 m4  cmp #"e"
  823. 1270 bne m5
  824. 1271 lda #02
  825. 1272 jsr werttast
  826. 1273 sta $fe
  827. 1274 jmp st2
  828. 1275 m5  cmp #"p"
  829. 1276 bne m6
  830. 1277 jmp $fce2
  831. 1278 m6  cmp #"g"
  832. 1279 bne m7
  833. 1280 lda #03
  834. 1281 jsr werttast
  835. 1282 sta $f9
  836. 1283 jmp st2
  837. 1284 m7  cmp #"a"
  838. 1285 bne m8
  839. 1286 lda #00
  840. 1287 jsr werttast
  841. 1288 sta $8f
  842. 1289 jmp st2
  843. 1290 m8  cmp #"v"
  844. 1291 bne m9
  845. 1292 jsr verify
  846. 1293 jmp st1
  847. 1294 m9  cmp #"i"
  848. 1295 bne st2
  849. 1296 jsr info
  850. 1297 jmp st1
  851. 1298 ;
  852. 1305 ztab .byte 0,8,8,8,8,8,8,8,8,8,8,8,8,8,8
  853. 1306 .byte 9,9,9,9,9,9,9,9,9,9
  854. 1307 .byte 10,10,10,10,10,10,10,10
  855. 1308 .byte 10,10,10,10,10,10,10,10
  856. 1309 ;
  857. 1430 lowtab  .byte 0,$94,$94,$94
  858. 1431 .byte $94,$94,$94,$94,$94,$94,$94
  859. 1432 .byte $94,$94,$94,$94,$94,$94,$94
  860. 1433 .byte $0c,$0c,$0c,$0c,$0c,$0c,$0c
  861. 1434 .byte $c8,$c8,$c8,$c8,$c8,$c8
  862. 1435 .byte $84,$84,$84,$84,$84
  863. 1436 .byte $84,$84,$84,$84,$84
  864. 1437 ;
  865. 1438 hightab  .byte 0,$1a,$1a,$1a
  866. 1439 .byte $1a,$1a,$1a,$1a,$1a,$1a,$1a
  867. 1440 .byte $1a,$1a,$1a,$1a,$1a,$1a,$1a
  868. 1441 .byte $18,$18,$18,$18,$18,$18,$18
  869. 1442 .byte $16,$16,$16,$16,$16,$16
  870. 1443 .byte $15,$15,$15,$15,$15
  871. 1444 .byte $15,$15,$15,$15,$15
  872. 1445 ;
  873. 2000 read  jsr sektoren
  874. 2001 lda #04
  875. 2002 jsr einaus
  876. 2003 re1  jsr einein
  877. 2004 tax
  878. 2005 bmi error
  879. 2006 pha
  880. 2007 jsr ein
  881. 2008 pla
  882. 2009 asl a
  883. 2010 tax
  884. 2011 lda sektab,x
  885. 2012 clc
  886. 2013 adc $ab
  887. 2014 sta $a7
  888. 2015 sta $a9
  889. 2016 lda sektab+1,x
  890. 2017 adc $ac
  891. 2018 sta $a8
  892. 2019 adc #01
  893. 2020 sta $aa
  894. 2021 jsr von
  895. 2022 jmp re1
  896. 2023 ;
  897. 2025 error  cmp #$f2
  898. 2026 bne re2
  899. 2027 jmp headerr
  900. 2028 re2  cmp #$f1
  901. 2029 bne re3
  902. 2030 jmp syncerr
  903. 2031 re3  cmp #$fc
  904. 2032 bne re4
  905. 2033 ldx $fb
  906. 2034 inc tracktab,x
  907. 2035 re4  ldy #00
  908. 2036 re6  jsr einein
  909. 2037 cmp #$f3
  910. 2038 beq re8
  911. 2039 jsr readerr
  912. 2040 jmp re6
  913. 2041 re8  rts
  914. 2042 ;
  915. 2045 sektab  .byte $00,$00,$44,$01
  916. 2046 .byte $88,$02,$cc,$03,$10,$05
  917. 2047 .byte $54,$06,$98,$07,$dc,$08
  918. 2048 .byte $20,$0a,$64,$0b,$a8,$0c
  919. 2049 .byte $ec,$0d,$30,$0f,$74,$10
  920. 2050 .byte $b8,$11,$fc,$12,$40,$14
  921. 2051 .byte $84,$15,$c8,$16,$0c,$18
  922. 2052 .byte $50,$19
  923. 2053 ;
  924. 3000 write  jsr sektoren
  925. 3001 lda #05
  926. 3002 jsr einaus
  927. 3003 wr2  jsr einein
  928. 3004 cmp #$f1
  929. 3005 beq wr1
  930. 3006 asl a
  931. 3007 tax
  932. 3008 lda sektab,x
  933. 3009 clc
  934. 3010 adc $ab
  935. 3011 sta $a7
  936. 3012 sta $a9
  937. 3013 lda sektab+1,x
  938. 3014 adc $ac
  939. 3015 sta $a8
  940. 3016 adc #01
  941. 3017 sta $aa
  942. 3018 jsr nach
  943. 3019 jsr aus
  944. 3020 jmp wr2
  945. 3021 wr1  rts
  946. 3022 ;
  947. 4000 verify jsr open
  948. 4001 ldx #15
  949. 4002 jsr $ffc9
  950. 4003 lda #$49
  951. 4004 jsr $ffd2
  952. 4005 jsr $ffcc
  953. 4006 ldx #$0f
  954. 4007 jsr $ffc6
  955. 4008 jsr $ffcf
  956. 4009 pha
  957. 4010 v11  jsr $ffcf
  958. 4011 cmp #13
  959. 4012 bne v11
  960. 4013 jsr $ffcc:lda #15:jsr $ffc3
  961. 4014 pla
  962. 4015 cmp #$30
  963. 4016 beq v22
  964. 4017 jmp unlesbar
  965. 4018 v22  jsr holmasch
  966. 4019 lda #$ea
  967. 4020 sta $732b
  968. 4021 sta $732c
  969. 4022 sta $732d
  970. 4029 jsr startmasch
  971. 4030 lda #$93
  972. 4031 jsr $ffd2:jsr farbe
  973. 4032 ldx $fe
  974. 4033 cpx $fd
  975. 4034 bcs v3
  976. 4035 ldy $fd
  977. 4036 sty $fe
  978. 4037 stx $fd
  979. 4038 v3  inc $fe
  980. 4042 lda #00
  981. 4043 sta $61
  982. 4044 sta $62
  983. 4045 lda $fd
  984. 4046 sta $fa
  985. 4047 jsr bildaus:jsr aufbau:sei
  986. 4048 lda #01
  987. 4049 jsr einaus
  988. 4050 v6 lda #02
  989. 4051 jsr einaus:lda $fa:jsr einaus
  990. 4052 jsr verify1
  991. 4053 inc $fa
  992. 4054 lda $fa
  993. 4055 cmp $fe
  994. 4056 bne v6:lda #00:jsr einaus
  995. 4057 ldx #$18
  996. 4058 ldy #01
  997. 4059 jsr $e50c
  998. 4060 jsr print
  999. 4061 .asc "verify ist beendet. weiter mit taste !":.byte 0
  1000. 4062 jsr bildan:cli
  1001. 4063 jsr taste
  1002. 4064 lda #03
  1003. 4065 sta $dd00
  1004. 4066 dec $fe
  1005. 4067 rts
  1006. 4068 ;
  1007. 4200 aufbau  jsr print
  1008. 4201 .byte $93,$11
  1009. 4202 .asc "0000000001111111111"
  1010. 4203 .asc "222222222233333333334"
  1011. 4204 .asc "12345678901234567890"
  1012. 4205 .asc "12345678901234567890":.byte 0
  1013. 4206 lda #$28
  1014. 4207 sta $a7
  1015. 4208 v8  ldx $a7:dex
  1016. 4209 lda vtab1,x
  1017. 4210 tax
  1018. 4211 v7  lda vtab2,x
  1019. 4212 sta $a9
  1020. 4213 lda vtab3,x
  1021. 4214 sta $aa
  1022. 4215 ldy $a7
  1023. 4216 dey
  1024. 4217 lda #$2e
  1025. 4218 sta ($a9),y
  1026. 4219 dex
  1027. 4220 bpl v7
  1028. 4221 dec $a7
  1029. 4222 lda $a7
  1030. 4223 bne v8
  1031. 4224 jsr stern
  1032. 4225 v9 sta $03ff,x
  1033. 4226 dex
  1034. 4227 cpx $fa
  1035. 4228 bcs v9
  1036. 4229 rts
  1037. 4230 ;
  1038. 4300 vtab1  .byte $14,$14,$14,$14,$14
  1039. 4301 .byte $14,$14,$14,$14,$14
  1040. 4302 .byte $14,$14,$14,$14,$14
  1041. 4303 .byte $14,$14,$12,$12,$12,$12
  1042. 4304 .byte $12,$12,$12,$11,$11,$11
  1043. 4305 .byte $11,$11,$11
  1044. 4306 .byte $10,$10,$10,$10,$10,$10
  1045. 4307 .byte $10,$10,$10,$10
  1046. 4308 vtab2  .byte $78,$a0,$c8,$f0,$18
  1047. 4309 .byte $40,$68,$90,$b8,$e0,$08,$30
  1048. 4310 .byte $58,$80,$a8,$d0,$f8,$20,$48
  1049. 4311 .byte $70,$98
  1050. 4312 vtab3  .byte 4,4,4,4,5,5,5,5,5,5,6,6,6,6,6,6,6,7,7,7,7
  1051. 4313 ;
  1052. 4400 stern  ldx $fe
  1053. 4401 dex
  1054. 4402 lda #"*"
  1055. 4403 rts
  1056. 4404 ;
  1057. 4500 verify1  lda #04
  1058. 4501 jsr einaus
  1059. 4502 ve1  jsr einein
  1060. 4503 tax
  1061. 4504 bmi verror
  1062. 4505 jmp ve1
  1063. 4506 ;
  1064. 4510 verror  cmp #$f2
  1065. 4511 bne ve2
  1066. 4512 jmp vheaderr
  1067. 4513 ve2  cmp #$f1
  1068. 4514 bne ve3
  1069. 4515 jmp vsyncerr
  1070. 4516 ve3  ldy #00
  1071. 4517 ve6  jsr einein
  1072. 4518 cmp #$f3
  1073. 4519 beq ve8
  1074. 4520 jsr vreaderr
  1075. 4521 jmp ve6
  1076. 4522 ve8  rts
  1077. 4523 ;
  1078. 4524 vreaderr  tay
  1079. 4526 lda vtab2,y
  1080. 4527 sta $a9
  1081. 4528 lda vtab3,y
  1082. 4529 sta $aa
  1083. 4530 ldy $fa
  1084. 4531 dey
  1085. 4532 lda #$12
  1086. 4533 sta ($a9),y
  1087. 4534 rts
  1088. 4535 ;
  1089. 4600 vsyncerr  lda #$13
  1090. 4601 .byte $2c
  1091. 4602 vheaderr  lda #08
  1092. 4603 pha
  1093. 4604 ldx $fa
  1094. 4605 dex
  1095. 4606 lda vtab1,x
  1096. 4607 tax
  1097. 4608 vea  lda vtab2,x
  1098. 4609 sta $a9
  1099. 4610 lda vtab3,x
  1100. 4611 sta $aa
  1101. 4612 ldy $fa
  1102. 4613 dey
  1103. 4614 pla
  1104. 4615 pha
  1105. 4616 sta ($a9),y
  1106. 4617 dex
  1107. 4618 bpl vea
  1108. 4619 pla
  1109. 4620 rts
  1110. 4621 ;
  1111. 5000 befehl  ldx #$17
  1112. 5001 ldy #01
  1113. 5002 jsr $e50c
  1114. 5003 jsr print
  1115. 5004 .asc "befehl: ":.byte 0
  1116. 5005 jsr open
  1117. 5006 ldx #15
  1118. 5007 jsr $ffc9
  1119. 5008 bf  jsr $ffcf
  1120. 5009 jsr $ffd2
  1121. 5010 cmp #13
  1122. 5011 bne bf
  1123. 5012 jsr $ffcc
  1124. 5013 lda #15
  1125. 5014 jmp $ffc3
  1126. 5015 ;
  1127. 6000 direktory  ldx #$10
  1128. 6001 dir1  lda $60,x
  1129. 6002 sta $03ef,x
  1130. 6003 dex
  1131. 6004 bpl dir1
  1132. 6005 lda #$9a
  1133. 6006 jsr $ffd2
  1134. 6007 jsr $bdcd
  1135. 6008 lda #$1f
  1136. 6009 jsr $ffd2
  1137. 6010 lda #$93
  1138. 6011 jsr $ffd2
  1139. 6012 lda #02
  1140. 6013 ldx $f9
  1141. 6014 ldy #00
  1142. 6015 jsr $ffba
  1143. 6016 ldx #<dollar
  1144. 6017 ldy #>dollar
  1145. 6018 lda #01
  1146. 6019 jsr $ffbd
  1147. 6020 jsr $ffc0
  1148. 6021 ldx #02
  1149. 6022 jsr $ffc6
  1150. 6023 jsr $ffcf
  1151. 6024 lda $90
  1152. 6025 bne dirout
  1153. 6026 jsr $ffcf
  1154. 6027 dir2  lda #$16
  1155. 6028 sta $8b
  1156. 6029 dir5  dec $8b
  1157. 6030 bne dir3
  1158. 6031 jsr druck
  1159. 6036 ldx #02
  1160. 6037 jsr $ffc6
  1161. 6038 lda #$93
  1162. 6039 jsr $ffd2
  1163. 6040 jmp dir2
  1164. 6041 dir3  jsr $ffcf
  1165. 6042 jsr $ffcf
  1166. 6043 beq dirout
  1167. 6044 jsr print
  1168. 6045 .byte 13,32,32,32,0
  1169. 6046 jsr $ffcf
  1170. 6047 tax:jsr $ffcf
  1171. 6048 jsr $bdcd
  1172. 6049 lda #32
  1173. 6050 jsr $ffd2
  1174. 6051 dir4  jsr $ffcf
  1175. 6052 beq dir5
  1176. 6053 ldy $90
  1177. 6054 bne dirout
  1178. 6055 jsr $ffd2
  1179. 6056 jmp dir4
  1180. 6057 ;
  1181. 6058 dirout  jsr druck
  1182. 6059 lda #02
  1183. 6060 jsr $ffc3
  1184. 6061 ldx #$10
  1185. 6062 dir7  lda $03ef,x
  1186. 6063 sta $60,x
  1187. 6064 dex
  1188. 6065 bpl dir7
  1189. 6066 rts
  1190. 6067 ;
  1191. 6068 dollar .asc "$"
  1192. 6069 ;
  1193. 6160 druck  jsr print
  1194. 6161 .byte 13,13
  1195. 6162 .asc "     weiter mit tastendruck":.byte 0
  1196. 6163 jsr $ffcc
  1197. 6164 jsr taste
  1198. 6165 rts
  1199. 6166 ;
  1200. 7000 info  ldx #00
  1201. 7001 inf1 lda $1ca0,x
  1202. 7002 sta $04a3,x
  1203. 7003 lda $1da0,x
  1204. 7004 sta $05a3,x
  1205. 7005 lda $1ea0,x
  1206. 7006 sta $06a3,x
  1207. 7007 inx
  1208. 7008 bne inf1
  1209. 7009 ldx #43
  1210. 7010 inf2  lda $1fa0,x
  1211. 7011 sta $07a3,x
  1212. 7012 dex
  1213. 7013 bpl inf2
  1214. 7014 jsr taste
  1215. 7015 rts
  1216.