home *** CD-ROM | disk | FTP | other *** search
/ 64'er / 64ER_CD.iso / sh0x / sh06g.d64 / rc.source (.txt) < prev    next >
Encoding:
Commodore BASIC  |  1995-03-30  |  2.2 KB  |  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.