home *** CD-ROM | disk | FTP | other *** search
/ 64'er Special 6 / 64er_Magazin_Sonderheft_06_86-06_1986_Markt__Technik_de_Disk_1_of_3_Side_A.d64 / rc.source (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  2KB  |  123 lines

  1. 1 rem * random copy - source text
  2. 2 rem *               (profimat)
  3. 3 rem *
  4. 4 rem * (c) 1985 fras
  5. 5 rem *
  6. 6 rem * stephan arndt
  7. 7 rem * suedwestkorso 62
  8. 8 rem * 1000 berlin 41
  9. 9 rem *
  10. 10 poke53280,1
  11. 20 poke53281,1
  12. 30 print"[147][151]"
  13. 40 :
  14. 50 sys9*4096
  15. 60 .opt oo
  16. 70 *=  828
  17. 80 ;
  18. 81 rand = $d41b
  19. 82 get = $fb
  20. 83 put = $fd
  21. 87 ;
  22. 88 ; random copy
  23. 89 ;
  24. 90 ; uebertragen einer grafikseite
  25. 91 ; mit zufaelligen punkten
  26. 92 ;
  27. 100 lda #$05
  28. 101 sta count+2
  29. 102 jsr random
  30. 103 sei
  31. 104 lda #53        ;kernel und
  32. 105 sta $1         ;basic weg
  33. 106 ;
  34. 110 start lda rand       ;zufallszahl
  35. 115 adc count+1
  36. 120 sta get        ;
  37. 130 sta put        ;low-bytes
  38. 140 lda rand       ;zufallszahl
  39. 145 adc count
  40. 150 and #%00011111 ;0-31
  41. 160 sta get+1      ;fuer hi-byte
  42. 170 sta put+1      ;
  43. 180 ;
  44. 200 clc            ;
  45. 210 lda get+1      ;source-addresse
  46. 220 adc source     ;berechnen
  47. 230 sta get+1      ;
  48. 240 clc            ;
  49. 250 lda put+1      ;target-adresse
  50. 260 adc target     ;berechnen
  51. 270 sta put+1      ;
  52. 280 ;
  53. 300 lda rand       ;zufallszahl
  54. 305 eor #$ff
  55. 310 and #%111      ;0-7 fuer
  56. 320 tax            ;
  57. 330 lda bits,x     ;zweierpotenzen
  58. 340 sta mask       ;punktadressierung
  59. 350 ;
  60. 400 ldx #$0        ;
  61. 410 lda (get),x    ;byte holen
  62. 420 and mask       ;punkt nehmen
  63. 425 beq cl
  64. 430 ora (put),x    ;einschluerfen
  65. 440 sta (put),x    ;uebertragen
  66. 445 jmp nt
  67. 450 cl lda mask
  68. 455 eor #$ff
  69. 460 and (put),x
  70. 465 sta (put),x
  71. 495 ;
  72. 500 nt dec count
  73. 510 bne start
  74. 520 dec count+1
  75. 530 bne start
  76. 540 dec count+2
  77. 550 bne start
  78. 560 ;
  79. 600 lda source
  80. 610 sta get+1
  81. 630 lda target
  82. 640 sta put+1
  83. 650 lda #$0
  84. 660 sta get
  85. 670 sta put
  86. 680 ldy #0
  87. 690 ldx #31
  88. 700 lp lda (get),y
  89. 710 sta (put),y
  90. 720 dey
  91. 730 bne lp
  92. 740 inc get+1
  93. 750 inc put+1
  94. 760 dex
  95. 765 bmi rd
  96. 770 bne lp
  97. 775 ldy #64
  98. 780 bne lp
  99. 782 ;
  100. 785 rd lda #55        ;kernel und
  101. 786 sta $1         ;basic normal
  102. 787 cli
  103. 790 ;
  104. 795 rts
  105. 799 ;
  106. 800 random nop
  107. 810 lda #$80       ;zufallszahl
  108. 820 sta $d418      ;aus register
  109. 830 lda #$80       ;#27 des sid
  110. 840 sta $d40e      ;(rauschgenerator
  111. 850 sta $d40f      ;der 3. stimme)
  112. 870 lda #$0        ;
  113. 875 sta $d412      ;aus
  114. 880 lda #$81       ;ein
  115. 885 sta $d412      ;
  116. 890 rts
  117. 895 ;
  118. 900 bits   .byte $1,$2,$4,$8,$10,$20,$40,$80
  119. 910 count  .byte $ff,$ff,$05
  120. 920 mask   .byte $0
  121. 930 source .byte $e0
  122. 940 target .byte $20
  123.