שתשת                                        *********************************
*				*
*	SPRITES v.2.0		*
*	     by			*
*	JUDAS/SAINT GROUP	*
*				*
* Date:27.09.93     2:19:00	*
*				*
* Program wyswietla sprite'a	*
* o dowolnej wysokosci 		*
* i szerokosci 16 pikseli	*
* w trzech kolorach na dowolnej	*
* pozycji ekranu i czeka na	*
* nacisniecie lewego klawisza	*
* myszki.			*
*				*
*********************************

Custom		equ	$dff000
CIAAPRA		equ	$bfe001

COP1LC		equ	$080
COPJMP1		equ	$088
DIWSTRT		equ	$08e
DIWSTOP		equ	$090
DDFSTRT		equ	$092
DDFSTOP		equ	$094
DMACON		equ	$096
BPL1PTH		equ	$0e0
BPL1PTL		equ	$0e2
BPLCON0		equ	$100
COLOR00		equ	$180
COLOR17		equ	$1a2
COLOR18		equ	$1a4
COLOR19		equ	$1a6
SPR0PTH		equ	$120
SPR0PTL		equ	$122
SPR1PTH		equ	$124
SPR1PTL		equ	$126
SPR2PTH		equ	$128
SPR2PTL		equ	$12a
SPR3PTH		equ	$12c
SPR3PTL		equ	$12e
SPR4PTH		equ	$130
SPR4PTL		equ	$132
SPR5PTH		equ	$134
SPR5PTL		equ	$136
SPR6PTH		equ	$138
SPR6PTL		equ	$13a
SPR7PTH		equ	$13c
SPR7PTL		equ	$13e

***********************************************************************
		SECTION	Sprites1,code_p
;-----------------------------------------------------------------------
Start:		movem.l	d0-a7,-(sp)		;store regs
;-----------------------------------------------------------------------
		move.l	#Screen,d0
		move.w	d0,Screen_lo
		swap	d0
		move.w	d0,Screen_hi
;-----------------------------------------------------------------------
		move.l	#Sprite,d0
		move.w	d0,Sprite_lo
		swap	d0
		move.w	d0,Sprite_hi
;-----------------------------------------------------------------------
		lea	Sprite,a0
		move.w	#280,d0		;x
		move.w	#160,d1		;y
		moveq	#24,d2		;height in pix

		moveq	#0,d3
		asr.w	#1,d0
		move.b	d1,d3
		rol.w	#8,d3
		move.b	d0,d3
		rol.l	#8,d3
		add.w	d2,d1
		move.b	d1,d3
		rol.l	#8,d3
		move.l	d3,(a0)
;-----------------------------------------------------------------------
		lea	Custom,a5
		move.l	#CopperList,COP1LC(a5)
		clr.w	COPJMP1(a5)
;-----------------------------------------------------------------------
		move.w	#$8220,DMACON(a5)	;DMA sprites on
;-----------------------------------------------------------------------
MouseWait:	btst	#6,CIAAPRA		;wait for button
		bne.b	MouseWait
;-----------------------------------------------------------------------
		movem.l	(sp)+,d0-a7		;restore regs
		moveq	#0,d0			;all ok
End:		rts
************************************************************************
************************************************************************
		SECTION	Sprites2,data_c
;-----------------------------------------------------------------------
Sprite:
		dc.w	$0000,$0000		;x,y,height
		dc.w	$ffff,$0000		;color 1
		dc.w	$ffff,$0000
		dc.w	$ffff,$0000
		dc.w	$ffff,$0000
		dc.w	$ffff,$0000
		dc.w	$ffff,$0000
		dc.w	$ffff,$0000
		dc.w	$ffff,$0000
		dc.w	$0000,$ffff		;color 2
		dc.w	$0000,$ffff
		dc.w	$0000,$ffff
		dc.w	$0000,$ffff
		dc.w	$0000,$ffff
		dc.w	$0000,$ffff
		dc.w	$0000,$ffff
		dc.w	$0000,$ffff
		dc.w	$ffff,$ffff		;color 3
		dc.w	$ffff,$ffff
		dc.w	$ffff,$ffff
		dc.w	$ffff,$ffff
		dc.w	$ffff,$ffff
		dc.w	$ffff,$ffff
		dc.w	$ffff,$ffff
		dc.w	$ffff,$ffff
		dc.w	$0,0			;end sprite data
;-----------------------------------------------------------------------
CopperList:
		dc.w	DIWSTRT,$2981
		dc.w	DIWSTOP,$29c1
		dc.w	DDFSTRT,$0038		;lores screen
		dc.w	DDFSTOP,$00d0
		dc.w	BPLCON0,$1200		;1 plane
		dc.w	COLOR00,$0000		;ground=black
		dc.w	COLOR17,$0f00		;red
		dc.w	COLOR18,$00f0		;green
		dc.w	COLOR19,$000f		;blue
		dc.w	BPL1PTH
Screen_hi:	dc.w	$0000
		dc.w	BPL1PTL
Screen_lo:	dc.w	$0000
		dc.w	SPR0PTH
Sprite_hi:	dc.w	$0000
		dc.w	SPR0PTL
Sprite_lo:	dc.w	$0000
		dc.w	SPR1PTH,$0000		;unused sprites off
		dc.w	SPR1PTL,$0000
		dc.w	SPR2PTH,$0000
		dc.w	SPR2PTL,$0000
		dc.w	SPR3PTH,$0000
		dc.w	SPR3PTL,$0000
		dc.w	SPR4PTH,$0000
		dc.w	SPR4PTL,$0000
		dc.w	SPR5PTH,$0000
		dc.w	SPR5PTL,$0000
		dc.w	SPR6PTH,$0000
		dc.w	SPR6PTL,$0000
		dc.w	SPR7PTH,$0000
		dc.w	SPR7PTL,$0000

		dc.w	$ffff,$fffe
;-----------------------------------------------------------------------
Screen:		blk.b	40*256,0
