home *** CD-ROM | disk | FTP | other *** search
- 1 REM * RANDOM COPY - SOURCE TEXT
- 2 REM * (PROFIMAT)
- 3 REM *
- 4 REM * (C) 1985 FRAS
- 5 REM *
- 6 REM * STEPHAN ARNDT
- 7 REM * SUEDWESTKORSO 62
- 8 REM * 1000 BERLIN 41
- 9 REM *
- 10 POKE53280,1
- 20 POKE53281,1
- 30 PRINT"[147][151]"
- 40 :
- 50 SYS9*4096
- 60 .OPT OO
- 70 *= 828
- 80 ;
- 81 RAND = $D41B
- 82 GET = $FB
- 83 PUT = $FD
- 87 ;
- 88 ; RANDOM COPY
- 89 ;
- 90 ; UEBERTRAGEN EINER GRAFIKSEITE
- 91 ; MIT ZUFAELLIGEN PUNKTEN
- 92 ;
- 100 LDA #$05
- 101 STA COUNT+2
- 102 JSR RANDOM
- 103 SEI
- 104 LDA #53 ;KERNEL UND
- 105 STA $1 ;BASIC WEG
- 106 ;
- 110 START LDA RAND ;ZUFALLSZAHL
- 115 ADC COUNT+1
- 120 STA GET ;
- 130 STA PUT ;LOW-BYTES
- 140 LDA RAND ;ZUFALLSZAHL
- 145 ADC COUNT
- 150 AND #%00011111 ;0-31
- 160 STA GET+1 ;FUER HI-BYTE
- 170 STA PUT+1 ;
- 180 ;
- 200 CLC ;
- 210 LDA GET+1 ;SOURCE-ADDRESSE
- 220 ADC SOURCE ;BERECHNEN
- 230 STA GET+1 ;
- 240 CLC ;
- 250 LDA PUT+1 ;TARGET-ADRESSE
- 260 ADC TARGET ;BERECHNEN
- 270 STA PUT+1 ;
- 280 ;
- 300 LDA RAND ;ZUFALLSZAHL
- 305 EOR #$FF
- 310 AND #%111 ;0-7 FUER
- 320 TAX ;
- 330 LDA BITS,X ;ZWEIERPOTENZEN
- 340 STA MASK ;PUNKTADRESSIERUNG
- 350 ;
- 400 LDX #$0 ;
- 410 LDA (GET),X ;BYTE HOLEN
- 420 AND MASK ;PUNKT NEHMEN
- 425 BEQ CL
- 430 ORA (PUT),X ;EINSCHLUERFEN
- 440 STA (PUT),X ;UEBERTRAGEN
- 445 JMP NT
- 450 CL LDA MASK
- 455 EOR #$FF
- 460 AND (PUT),X
- 465 STA (PUT),X
- 495 ;
- 500 NT DEC COUNT
- 510 BNE START
- 520 DEC COUNT+1
- 530 BNE START
- 540 DEC COUNT+2
- 550 BNE START
- 560 ;
- 600 LDA SOURCE
- 610 STA GET+1
- 630 LDA TARGET
- 640 STA PUT+1
- 650 LDA #$0
- 660 STA GET
- 670 STA PUT
- 680 LDY #0
- 690 LDX #31
- 700 LP LDA (GET),Y
- 710 STA (PUT),Y
- 720 DEY
- 730 BNE LP
- 740 INC GET+1
- 750 INC PUT+1
- 760 DEX
- 765 BMI RD
- 770 BNE LP
- 775 LDY #64
- 780 BNE LP
- 782 ;
- 785 RD LDA #55 ;KERNEL UND
- 786 STA $1 ;BASIC NORMAL
- 787 CLI
- 790 ;
- 795 RTS
- 799 ;
- 800 RANDOM NOP
- 810 LDA #$80 ;ZUFALLSZAHL
- 820 STA $D418 ;AUS REGISTER
- 830 LDA #$80 ;#27 DES SID
- 840 STA $D40E ;(RAUSCHGENERATOR
- 850 STA $D40F ;DER 3. STIMME)
- 870 LDA #$0 ;
- 875 STA $D412 ;AUS
- 880 LDA #$81 ;EIN
- 885 STA $D412 ;
- 890 RTS
- 895 ;
- 900 BITS .BYTE $1,$2,$4,$8,$10,$20,$40,$80
- 910 COUNT .BYTE $FF,$FF,$05
- 920 MASK .BYTE $0
- 930 SOURCE .BYTE $E0
- 940 TARGET .BYTE $20
-