;*********************************
;* Rotacja kolorow - Mini Plazma * 		
;*	      Autor :	 	 *
;*    Ireneusz Kulaga ( Keri)    *
;*********************************
;
; Uzyj:
; 
; SEKA>ri
; NAME>df0:SOURCES/COLORS.RAW
; BEG>$60000
; END>	<Return>
; 
; SEKA>a
; OPTIONS> <Return>
; No Errors
;
; SEKA>j
;
Start:	
	move.l	#copper,$dff080	; \
	clr.w	$dff088		; -- Copper
				;
Loop:				; Petla rotacji kolorow

	move.w	K15,BUF		; Przeslij slowo z pod adresu koloru 15 do bufora 
	move.w	K14,K15		; Przeslij slowo z pod adresu koloru 14 pod adres koloru 15
	move.w	K13,K14
	move.w	K12,K13
	move.w	K11,K12
	move.w	K10,K11
	move.w	K9,K10
	move.w	K8,K9
	move.w	K7,K8
	move.w	K6,K7
	move.w	K5,K6
	move.w	K4,K5
	move.w	K3,K4
	move.w	K2,K3
	move.w	K1,K2
	move.w	BUF,K1		; - || -   -||-  - || - adresu Buffora pod adres koloru 1 
	bsr	Wait
	btst	#6,$bfe001	; Test Przycisku myszy
	bne	Loop
	rts
Wait:				; Petla opuzniajaca
	clr.l	d5		; Skasuj d5
W1:
	add.l	#$1,d5		; Dodaj 1 do d5
	cmpi.l	#$d00,d5	; Sprawdz czy w d5 jest $a00 ( Tempo )
	bne	W1		; Jesli	nie to powrot do W1
	rts			; Wyjscie z podprogramu
Copper:
	dc.l	$00960020			;DMA
	dc.l	$01080000,$010a0000		;modulacja 
	dc.l	$01000000,$01020000,$01040000	;rejestry kontroli obrazu
	dc.l	$008e2c71,$009030e1,$00920038,$009400d0 ; Wielkosc obrazu

	dc.w	$00e0,$0006,$00e2,$0000	; Adresy 4 Bit-planeow dla obrazka
	dc.w	$00e4,$0006,$00e6,$2800	;
	dc.w	$00e8,$0006,$00ea,$5000	; obrazek pod $60000
	dc.w	$00ec,$0006,$00ee,$7800

;------ Tablica kolorow dla obrazka ( plazmy ) ------

K0:	dc.l	$01800000	; Tlo
K1:	dc.l	$018200f2 	; Kolor 1
K2:	dc.l	$018400f4	; Kolor 2
K3:	dc.l	$018600f6	; itd.
K4:	dc.l	$018800fa
K5:	dc.l	$018a00fe
K6:	dc.l	$018c00ef
K7:	dc.l	$018e00cf
K8:	dc.l	$0190058c
K9:	dc.l	$01920c54
K10:	dc.l	$01940f30
K11:	dc.l	$01960f00
K12:	dc.l	$01980f00
K13:	dc.l	$019a0f00
K14:	dc.l	$019c0f00
K15:	dc.l	$019e0f02

	dc.w	$2a07,$fffe	;czekamy na rastra $2a
	dc.w	$0100,$4200     ;Lowres,4 bitp-laney,kolorory na Compose Video
	dc.w	$ffdf,$fffe	;Ostatnia linia NTSC
	dc.w	$2b07,$fffe	;czekamy na ostatnia linie PAL
	dc.w	$0100,$0000	;wylaczanie Bit-planeow
	dc.w	$ffff,$fffe	;Koniec Coppera

BUF:	dc.w	$0		;Buffor aby nie opciac ostatniego koloru

