ùúùú   s  N©  L  N©  N©  N©  N©  N©  N©  N©;file name:
;kinkkua.dat
BPLX	EQU	640
BPLY	EQU	100
BPLSIZE	EQU	BPLX*BPLY/8
CHUNKYXMAX EQU	BPLX
CHUNKYYMAX EQU	BPLY
		incdir		"work:assy/inc/"
		include		"custom.i"
		include		"exec.i"
OLib		equ		-$0228
CLib		equ		-$019e
		section		K-RAUTA,code

r3alku:		
		cmp.l		#'mare',(a0)
		beq.b		demojatkuu
		rts
demojatkuu:

		move.l		4(a0),time2
		move.l		20(a0),taulut
		move.l		24(a0),r1aos1
		move.l		28(a0),r1aos2
		move.l		32(a0),r1aos3
		move.l		50(a0),blurt
		move.l		56(a0),c2p
		jsr		precalcbump
		move.l		#partti,d0
;		rts
		
partti:		jsr		alkuhommelit
		jsr		mainloop
		jsr		lopetus
		rts


mainloop:	move.l		time2,a0
		cmp.l		#6130,(a0)
		bpl.b		r3loppu2
		jsr		valo
		jsr		bumpit
		jsr		c2p1
		add.l		#1,mones
		btst		#6,$bfe001
		bne.s		mainloop
r3loppu2:	rts



lopetus:
;		move.l		r3oldcop,cop1lch+custom
;		move.w		r3olddma,d0
;		or.w		#$8000,d0
;		move.w		d0,dmacon+custom
;		move.w		r3oldint,d0
;		or.w		#$c000,d0
;		move.w		d0,intena+custom
		move.l		r3gosote,a6
;		move.l		r1wbview,a1
;		jsr		-$de(a6)
		move.l		4,a6
		move.l		r3gosote,a1
		jsr		CLib(a6)	
		moveq		#5,d0
		lea		intstruct,a1
		move.l		$4.w,a6
		jsr		-$00ae(a6)
		moveq		#0,d0
		rts

r3intti:	move.l		a0,-(sp)
		addq.l		#1,timer

		cmp.l		#115,timer
		bpl		hopla
		cmp.l		#0,lisay
		beq.s		hopla
		sub.l		#640*2,lisay
hopla:
		addq.l		#1,timer
		move.l		time2,a0
		cmp.l		#6130-55,(a0)
		bmi		eihno
		add.l		#640*2,lisay
eihno:

		jsr		sincos
		move.l		(sp)+,a0
		rts

alkuhommelit:   move.l  	4.w,a6
		lea		r3gnimi,a1
		moveq		#0,d0
		jsr		OLib(a6)
		move.l		d0,r3gosote
		moveq		#5,d0 ;vertical blanking interrupt
		lea		intstruct,a1
		move.l		$4.w,a6
		jsr		-$00a8(a6)
 		move.l		r3gosote,a6
;		move.l		$22(a6),r1wbview
		sub.l		a1,a1
;		jsr		-$de(a6)
;		move.w		dmaconr+custom,r3olddma
;		move.w		intenar+custom,r3oldint
;		move.l		38(a6),r3oldcop
;		jsr		-$00e4(a6)
;		jsr		-$010e(a6)
;		jsr		-$010e(a6)
;		jsr		InitControl1
;		move.l		#spriten,d0
;		move.w		d0,spr0l
;		swap		d0
;		move.w		d0,spr0h
;		move.l		#spriten,d0
;		move.w		d0,spr1l
;		swap		d0
;		move.w		d0,spr1h
;		move.l		#spriten,d0
;		move.w		d0,spr2l
;		swap		d0
;		move.w		d0,spr2h
;		move.l		#spriten,d0
;		move.w		d0,spr3l
;		swap		d0
;		move.w		d0,spr3h
;		move.l		#spriten,d0
;		move.w		d0,spr4l
;		swap		d0
;		move.w		d0,spr4h
;		move.l		#spriten,d0
;		move.w		d0,spr5l
;		swap		d0
;		move.w		d0,spr5h
;		move.l		#spriten,d0
;		move.w		d0,spr6l
;		swap		d0
;		move.w		d0,spr6h
;		move.l		#spriten,d0
;		move.w		d0,spr7l
;		swap		d0
;		move.w		d0,spr7h
;
;
;		jsr		Doodo
;		jsr		Doodo
;		jsr		Doodo

; 		move.l		#custom,a0
;		move.l		#r3copperl,cop1lch(a0)
;		move.l		#0,cop2lch(a0)
;		move.w		copjmp1(a0),d0
;		move.w		#640,d0 ;xkoko
;		move.w		#100,d1 ;ykoko
;		move.w		#0,d2   ;bpl xoffset
;		move.w		#0,d3   ;bpl yoffset
;		move.w		#80,d4  ;ruudun leveys /8
;		move.l		#8000,d5 ;bplsize
;		bsr.w		c2pinit
		move.l		#0,timer
		move.l		#0,mones
		rts

;Dolights:
;		lea		taulu,a0		
;		move.w		#255,d5
;
;valoa2:		moveq.l		#0,d0
;		fmove		#1.571,fp0
;		fmul		#0.0039062,fp0
;		fmove		#3.141*3.0/2.0,fp1	
;		move.w		#255,d7
;		fmove.l		material1,fp6
;		fdiv		#1.1,fp6
;		fmove.l		material2,fp7
;		fmul		#0.2,fp7
;Lipa:
;		move.l		Nb,d6
;
;		fmove		fp1,fp2
;		fmove		fp1,fp3
;
;		fcos		fp2
;		fmul		fp6,fp2
;
;		fcos		fp3
;		fmove		fp3,fp4
;lupi:		fmul		fp3,fp4
;		subq.l		#1,d6
;		bne.s		lupi
;
;		fmul		fp7,fp4
;		fadd		fp4,fp2
;		fmove.b		fp2,(a0)+
;		fadd		fp0,fp1
;		dbf		d7,Lipa
;		add.l		#1,material1
;		dbf		d5,valoa2
;		rts


InitLightTables:

		move.w		#255-1,d7
		move.l		#-0*256,d6
		move.l		#0,a2
		move.l		taulut,a1
lightloop1:	move.l		a3,a6
		move.w		#256-1,d5
		
lightloop2:	move.l		(a6)+,d0
		move.b		d0,d1
		ror.l		#8,d0
		move.b		d0,d2
		ror.l		#8,d0
		move.b		d0,d3
		ror.l		#8,d0
		move.b		d0,d4
		and.l		#%00000000000000000000000011111111,d1
		and.l		#%00000000000000000000000011111111,d2
		and.l		#%00000000000000000000000011111111,d3
		and.l		#%00000000000000000000000011111111,d4
		move.b		(a1,d1.l),d1
		move.b		(a1,d2.l),d2
		move.b		(a1,d3.l),d3
		move.b		(a1,d4.l),d4
		move.b		d4,d0
		rol.l		#8,d0
		move.b		d3,d0
		rol.l		#8,d0
		move.b		d2,d0
		rol.l		#8,d0
		move.b		d1,d0
		lsr.l		#2,d0
		and.l		#%00111111001111110011111100111111,d0

		move.l		d0,(a0)+
		dbf		d5,lightloop2
		add.w		#256,a1
		dbf		d7,lightloop1
		rts

valo:

		lea		bitmap2,a0 ;piirrä aina tähän(160*128)
		lea		r1sintable2,a1
		move.l		a1,a2
		add.l		Fetis,a1 
		moveq.l		#0,d3
		moveq.l		#0,d1
		moveq.l		#0,d2
		move.w		#-50,d0
		move.w		s1+4,d1
		asr.w		#2,d1
		move.w		(a1,d1.w*2),d1
		asr.w		#4,d1
		add.w		d1,d1
		add.w		d1,a1

		add.w		s1+4,a2
		move.w		s1+6,d1
		asr.w		#2,d1
		move.w		(a1,d1.w*2),d1
		asr.w		#4,d1
		add.w		d1,d1
		add.w		d1,a2
		
YLoop:

		move.w		#-106,d1
		move.w		d0,d2
		muls		d2,d2
		lsr.l		#4,d2
		addq.w		#4,a1
		move.w		(a1,d2.l*2),d2
XLoop:
		addq.w		#4,a2
		move.w		d1,d3
		muls		d3,d3
		lsr.l		#5,d3
		move.w		(a2,d3.l*2),d3
		add.w		d2,d3
		asr.w		#4,d3
		add.w		#128,d3
		asl.w		#8,d3
		move.w		d3,(a0)+
		addq.w		#1,d1

		addq.w		#4,a2
		move.w		d1,d3
		muls		d3,d3
		lsr.l		#5,d3
		move.w		(a2,d3.l*2),d3
		add.w		d2,d3
		asr.w		#4,d3
		add.w		#128,d3
		asl.w		#8,d3
		move.w		d3,(a0)+
		addq.w		#1,d1

		addq.w		#4,a2
		move.w		d1,d3
		muls		d3,d3
		lsr.l		#5,d3
		move.w		(a2,d3.l*2),d3
		add.w		d2,d3
		asr.w		#4,d3
		add.w		#128,d3
		asl.w		#8,d3
		move.w		d3,(a0)+
		addq.w		#1,d1

		addq.w		#4,a2
		move.w		d1,d3
		muls		d3,d3
		lsr.l		#5,d3
		move.w		(a2,d3.l*2),d3
		add.w		d2,d3
		asr.w		#4,d3
		add.w		#128,d3
		asl.w		#8,d3
		move.w		d3,(a0)+
		addq.w		#1,d1

		cmp.w		#106,d1
		bne.s		XLoop
		lea		-211*4(a2),a2
		addq.w		#1,d0
		cmp.w		#50,d0
		bne.w		YLoop
		rts

precalcbump:
;		jsr		Dolights

		lea		bitmappib,a0
		lea		bitmappi,a1
		lea		bitmappi+320*256,a2
;		move.w		#255,d7
ly1:		move.w		#320*256/16-1,d6
lx1:		rept		4
		move.l		(a0),(a1)+
		move.l		(a0)+,(a2)+
		endr
		dbf		d6,lx1
;		dbf		d7,ly1

		lea		bitmappi2b,a0
		lea		bitmappi2,a1
		lea		bitmappi2+320*256,a2
;		move.w		#255,d7
ly2:		move.w		#320*256/16-1,d6
lx2:		rept		4
		move.l		(a0),(a1)+
		move.l		(a0)+,(a2)+
		endr
		dbf		d6,lx2
;		dbf		d7,ly2


		lea		bitmapcolors1,a0
		jsr		InitTexture
		lea		bitmapcolors1,a3
		lea		allcolors1,a0
		bsr.w		InitLightTables


		lea		bitmapcolors2,a0
		jsr		InitTexture
		lea		bitmapcolors2,a3
		lea		allcolors2,a0
		bsr.w		InitLightTables

;		lea		bumpc,a0
;		lea		bump,a1
;		move.w		#255,d7
;las2:		move.w		#256/4-1,d6
;
;las:		move.l		(a0)+,d0
;		move.l		(a1),d1
;		add.l		d0,d0
;;		add.l		d1,d1
;		add.l		d0,d1
;		move.l		d1,(a1)+
;		dbf		d6,las
;		lea		64(a0),a0
;		dbf		d7,las2

		lea		bumptaulu,a5
		lea		bump+256,a1
		lea		bump+512,a2
		lea		bump+768,a3
		add.l		#256*40,a1
		add.l		#256*40,a2
		add.l		#256*40,a3
		moveq.l		#0,d2
		moveq.l		#0,d4
		move.w		#255,d7
Bloop1:		move.w		#299,d6
Bloop2:
		move.b		-2(a2),d0
		sub.b		(a2)+,d0
		move.b		(a1)+,d1
		sub.b		(a3)+,d1
		extb		d0
		ext.w		d1
		muls		#320,d1
;		asl.l		#2,d0
		add.l		d4,d1
		add.l		d0,d1
		addq.l		#1,d4
		move.l		d1,(a5)+
		dbf		d6,Bloop2
				
		add.l		#20,d4
		lea		-44(a1),a1
		lea		-44(a2),a2
		lea		-44(a3),a3
		dbf		d7,Bloop1
		rts



sincos:		lea		s1,a0

		addq.w		#2,(a0)
		cmp.w		#720*2,(a0)
		blt.b		eisd1
		sub.w		#720*2,(a0)
eisd1:
		addq.w		#4,2(a0)
		cmp.w		#720*2,2(a0)
		blt.b		eisd2
		sub.w		#720*2,2(a0)
eisd2:
		addq.w		#6,4(a0)
		cmp.w		#720*2,4(a0)
		blt.b		eisd3
		sub.w		#720*2,4(a0)
eisd3:
		addq.w		#2,6(a0)
		cmp.w		#720*2,6(a0)
		blt.b		eisd4
		sub.w		#720*2,6(a0)
eisd4:

		addq.w		#8,8(a0)
		cmp.w		#720*2,8(a0)
		blt.b		eisd5
		sub.w		#720*2,8(a0)
eisd5:
		add.w		#10,10(a0)
		cmp.w		#720*2,10(a0)
		blt.b		eisd6
		sub.w		#720*2,10(a0)
eisd6:
Sini:
		add.l		#6,Fetis
		cmp.l		#720,Fetis
		blt.b		Ei720
		sub.l		#720,Fetis
Ei720:


		rts


bumpit:		move.w		#99,d7
		lea		allcolors1,a3
		lea		bitmap2,a4
		lea		bumptaulu,a0
		move.l		#bumptaulu,d4

		lea		r1sintable2,a2
		moveq.l		#0,d0
		moveq.l		#0,d1
		move.w		s1,d0
		asr.w		#2,d0
		move.w		(a2,d0.w*2),d0
		add.w		#1000,d0
		asr.l		#6,d0
		move.w		s1+2,d1
		asr.w		#2,d1
		move.w		(a2,d1.w*2),d1
		add.w		#1000,d1
		asr.l		#5,d1
		muls		#300,d1
		add.l		d0,d1
		asl.l		#2,d1
		add.l		d1,a0

		moveq.l		#0,d0
		moveq.l		#0,d1
		move.w		s1+4,d0
		asr.w		#2,d0
		move.w		(a2,d0.w*2),d0
		add.w		#1000,d0
		asr.l		#5,d0
		move.w		s1+6,d1
		asr.w		#2,d1
		move.w		(a2,d1.w*2),d1
		add.w		#1000,d1
		asr.l		#6,d1
		muls		#300,d1
		add.l		d0,d1
		asl.l		#2,d1
		add.l		d1,d4
		


		lea		bitmappi+320*5,a1

		moveq.l		#0,d0
		moveq.l		#0,d1
		move.w		s1+2,d0
		asr.w		#2,d0
		move.w		(a2,d0.w*2),d0
		add.w		#1000,d0
		asr.l		#4,d0
		move.w		s1+4,d1
		asr.w		#2,d1
		move.w		(a2,d1.w*2),d1
		add.w		#1000,d1
		asr.l		#4,d1
		muls		#320,d1
		add.l		d0,d1
		add.l		d1,a1


		lea		allcolors2,a5
		lea		bitmappi2+320*5,a6

		moveq.l		#0,d0
		moveq.l		#0,d1
		move.w		s1,d0
		neg.w		d0
		add.w		#720*2,d0
		asr.w		#2,d0
		move.w		(a2,d0.w*2),d0
		add.w		#1000,d0
		asr.l		#4,d0
		move.w		s1+6,d1
		neg.w		d1
		add.w		#720*2,d1
		asr.w		#2,d1
		move.w		(a2,d1.w*2),d1
		add.w		#1000,d1
		asr.l		#4,d1
		muls		#320,d1
		add.l		d0,d1
		add.l		d1,a6



		
		moveq.l		#0,d1
		moveq.l		#0,d2
		moveq.l		#0,d3

		lea		buffer,a2
lopa1:		move.w		#212,d6
lopa2:
		move.w		(a4)+,d2
		move.l		(a0)+,d0
		move.l		d2,d3
		move.b		(a1,d0.l),d2
		neg.w		d3
		move.l		(a3,d2.l*4),d5


		add.w		#255*256,d3
		move.l		(d4.l),d0
		move.b		(a6,d0.l),d3
		addq.l		#4,d4
		add.l		(a5,d3.l*4),d5		
		addq.w		#3,a2
		move.l		d5,-3(a2)


		dbf		d6,lopa2
		lea		87*4(a0),a0
		add.l		#87*4,d4
		subq.w		#2,a4
		clr.b		(a2)+
		dbf		d7,lopa1
		rts


InitTexture:	move.w		#256-1,d7
zLopa:		move.l		(a0),d0
		lsl.l		#8,d0
		move.l		d0,(a0)
		move.b		(a0),3(a0)
		move.l		(a0),d0
;		asr.l		#2,d0
;		and.l		#%00111111001111110011111100111111,d0
		move.l		d0,(a0)+
		dbf		d7,zLopa
		rts

;InitControl1:
;		lea		pla,a0
;		move.l		a0,a1
;		add.l		#BPLSIZE,a1		
;		move.w		#100-1,d7
;zloopa:
;	rept		6
;	move.l		#%01101101101101101101101101101101,(a0)+
;	move.l		#%10110110110110110110110110110110,(a0)+
;	move.l		#%11011011011011011011011011011011,(a0)+
;
;	move.l		#%11011011011011011011011011011011,(a1)+
;	move.l		#%01101101101101101101101101101101,(a1)+
;	move.l		#%10110110110110110110110110110110,(a1)+
;	endr
;	
;	move.l		#%01101101101101101101101101101101,(a0)+
;	move.l		#%10110110110110110110110110110110,(a0)+
;
;	move.l		#%11011011011011011011011011011011,(a1)+
;	move.l		#%01101101101101101101101101101101,(a1)+
;
;
;	dbf		d7,zloopa
;	rts
;		
;Doodo:
;		move.l		#pla,d0
;		move.w		d0,r3b1l
;		swap		d0
;		move.w		d0,r3b1h
;		swap		d0
;		add.l		#8000,d0
;		move.w		d0,r3b2l
;		swap		d0
;		move.w		d0,r3b2h
;		move.l		r1aos2,a0
;		move.l		r1aos1,r1aos2
;		move.l		a0,d0
;		move.l		r1aos3,r1aos1
;		move.l		a0,r1aos3
;		move.w		d0,r3b3l
;		swap		d0
;		move.w		d0,r3b3h
;		swap		d0
;		add.l		#8000,d0
;		move.w		d0,r3b4l
;		swap		d0
;		move.w		d0,r3b4h
;		swap		d0
;		add.l		#8000,d0
;		move.w		d0,r3b5l
;		swap		d0
;		move.w		d0,r3b5h
;		swap		d0
;		add.l		#8000,d0
;		move.w		d0,r3b6l
;		swap		d0
;		move.w		d0,r3b6h
;		swap		d0
;		add.l		#8000,d0
;		move.w		d0,r3b7l
;		swap		d0
;		move.w		d0,r3b7h
;		swap		d0
;		add.l		#8000,d0
;		move.w		d0,r3b8l
;		swap		d0
;		move.w		d0,r3b8h
;		rts
;
;c2pinit:
;	movem.l	d2-d3,-(sp)
;	lea	c2pp_datanew(pc),a0
;	andi.l	#$ffff,d0
;	mulu.w	d0,d3
;	lsr.l	#3,d3
;	move.l	d3,c2pp_scroffs-c2pp_data(a0)
;	mulu.w	d0,d1
;	move.l	d1,c2pp_pixels-c2pp_data(a0)
;	movem.l	(sp)+,d2-d3
;	rts
;
;; a0	c2pscreen
;; a1	bitplanes

c2p1:
;		jsr		Doodo
		lea		buffer,a0
		add.l		lisay,a0
		move.l		blurt,a4
;		lea		blur,a4
		moveq.l		#0,d0
		move.l		r1aos2,a1
		move.l		c2p,a5
		jsr		(a5)
		rts
;;	movem.l	d2-d7/a2-a6,-(sp)
;
;	bsr.w	c2pp_copyinitblock
;
;	lea	c2pp_data(pc),a2
;
;	move.l	c2pp_pixels-c2pp_data(a2),a3
;	add.l	a0,a3
;
;; add.l	#640*100,a3
;
;	add.w	#BPLSIZE,a1
;	add.l	c2pp_scroffs-c2pp_data(a2),a1
;	move.l	a1,a2
;	add.l	#BPLSIZE*3,a2
;
;	move.l		(a0)+,d0
;	add.l		(a4),d0
;	lsr.l		#1,d0
;	move.l		(a0)+,d1
;	and.l		#%01111111011111110111111101111111,d0
;	move.l		d0,(a4)+
;	add.l		(a4),d1
;	move.l		(a0)+,d2
;	lsr.l		#1,d1
;	and.l		#%01111111011111110111111101111111,d1
;	move.l		d1,(a4)+
;	add.l		(a4),d2
;	move.l		d1,d7			; Swap 4x1, part 1
;	move.l		(a0)+,d3
;	lsr.l		#1,d2
;	and.l		#%01111111011111110111111101111111,d2
;	move.l		d2,(a4)+
;	lsr.l		#4,d7
;	add.l		(a4),d3
;	lsr.l		#1,d3
;	move.l		(a0)+,d4
;	and.l		#%01111111011111110111111101111111,d3
;	move.l		d3,(a4)+
;	eor.l		d0,d7
;	add.l		(a4),d4
;	lsr.l		#1,d4
;	move.l		(a0)+,d5
;	and.l		#%01111111011111110111111101111111,d4
;	move.l		d4,(a4)+
;	and.l		#$0f0f0f0f,d7
;	add.l		(a4),d5
;	lsr.l		#1,d5
;	and.l		#%01111111011111110111111101111111,d5
;	move.l		d5,(a4)+
;	eor.l		d7,d0
;	lsl.l	#4,d7
;	eor.l	d7,d1
;	move.l	d5,d7
;	lsr.l	#4,d7
;	clr.l	-24(a0)
;	eor.l	d4,d7
;	and.l	#$0f0f0f0f,d7
;	clr.l	-20(a0)
;	eor.l	d7,d4
;	lsl.l	#4,d7
;	eor.l	d7,d5
;	clr.l	-16(a0)
;	move.w	d4,d7			; Swap 16x4, part 1
;	move.w	d0,d4
;	swap	d4
;	clr.l	-12(a0)
;	move.w	d4,d0
;	move.w	d7,d4
;	move.w	d5,d7
;	move.w	d1,d5
;	clr.l	-8(a0)
;	swap	d5
;	move.w	d5,d1
;	clr.l	-4(a0)
;	move.w	d7,d5
;
;	lsl.l	#2,d0			; Swap/merge 2x4, part 1
;	or.l	d4,d0
;	move.l	d5,d7
;	move.l	(a0)+,d4
;	lsr.l	#2,d7
;	eor.l	d1,d7
;	and.l	#$33333333,d7
;	eor.l	d7,d1
;	lsl.l	#2,d7
;	eor.l	d7,d5
;	move.l	d5,ta4
;	move.l	d3,d7			; Swap 4x1, part 2
;	move.l		(a0)+,d5
;	lsr.l		#4,d7	
;	add.l		(a4)+,d4
;	eor.l		d2,d7
;	lsr.l		#1,d4
;	add.l		(a4)+,d5
;	and.l		#%01111111011111110111111101111111,d4
;	lsr.l		#1,d5
;	move.l		d4,-8(a4)
;	and.l		#%01111111011111110111111101111111,d5
;	and.l		#$0f0f0f0f,d7
;	move.l		d5,-4(a4)
;
;	eor.l	d7,d2
;	lsl.l	#4,d7
;	eor.l	d7,d3
;	move.l	d5,d7
;	clr.l	-8(a0)
;	lsr.l	#4,d7
;	eor.l	d4,d7
;	and.l	#$0f0f0f0f,d7
;	clr.l	-4(a0)
;	eor.l	d7,d4
;	lsl.l	#4,d7
;	eor.l	d7,d5
;
;	move.w	d4,d7			; Swap 16x4, part 2
;	move.w	d2,d4
;	swap	d4
;	move.w	d4,d2
;	move.w	d7,d4
;	move.w	d5,d7
;	move.w	d3,d5
;	swap	d5
;	move.w	d5,d3
;	move.w	d7,d5
;
;	bra.w	.startss
;.xss
;
;	move.l		(a0)+,d0
;	add.l		(a4),d0
;	lsr.l		#1,d0
;	move.l		(a0)+,d1
;	and.l		#%01111111011111110111111101111111,d0
;	move.l		d0,(a4)+
;	add.l		(a4),d1
;	lsr.l		#1,d1
;	move.l		(a0)+,d2
;	and.l		#%01111111011111110111111101111111,d1
;	move.l		d1,(a4)+
;	add.l		(a4),d2
;	move.l		(a0)+,d3
;	lsr.l		#1,d2
;	and.l		#%01111111011111110111111101111111,d2
;	move.l		d2,(a4)+
;	add.l		(a4),d3
;	lsr.l		#1,d3
;	move.l		(a0)+,d4
;	and.l		#%01111111011111110111111101111111,d3
;	move.l		d3,(a4)+
;	add.l		(a4),d4
;	lsr.l		#1,d4
;	move.l		(a0)+,d5
;	and.l		#%01111111011111110111111101111111,d4
;	move.l		d4,(a4)+
;	add.l		(a4),d5
;	lsr.l		#1,d5
;	and.l		#%01111111011111110111111101111111,d5
;	move.l		d5,(a4)+
;	move.l		d7,-BPLSIZE(a1)
;	move.l	d1,d7			; Swap 4x1, part 1
;	clr.l	-24(a0)
;	lsr.l	#4,d7
;	eor.l	d0,d7
;	clr.l	-20(a0)
;	and.l	#$0f0f0f0f,d7
;	eor.l	d7,d0
;	clr.l	-16(a0)
;	lsl.l	#4,d7
;	eor.l	d7,d1
;	clr.l	-12(a0)	
;	move.l	d5,d7
;	lsr.l	#4,d7
;	clr.l	-8(a0)	
;	eor.l	d4,d7
;	and.l	#$0f0f0f0f,d7
;	clr.l	-4(a0)
;	eor.l	d7,d4
;	lsl.l	#4,d7
;	eor.l	d7,d5
;
;	move.w	d4,d7			; Swap 16x4, part 1
;	move.w	d0,d4
;	swap	d4
;	move.w	d4,d0
;	move.l	a5,(a1)+
;	move.w	d7,d4
;	move.w	d5,d7
;	move.w	d1,d5
;	swap	d5
;	move.w	d5,d1
;	move.w	d7,d5
;
;	lsl.l	#2,d0			; Swap/merge 2x4, part 1
;	or.l	d4,d0
;	move.l	(a0)+,d4
;	move.l	d5,d7
;	lsr.l	#2,d7
;	eor.l	d1,d7
;	and.l	#$33333333,d7
;	eor.l	d7,d1
;	lsl.l	#2,d7
;	eor.l	d7,d5
;	move.l	d5,ta4
;
;	move.l	(a0)+,d5
;	add.l		(a4)+,d4
;	lsr.l		#1,d4
;	add.l		(a4)+,d5
;	and.l		#%01111111011111110111111101111111,d4
;	lsr.l		#1,d5
;	move.l		d4,-8(a4)
;	and.l		#%01111111011111110111111101111111,d5
;	move.l	d3,d7			; Swap 4x1, part 2
;	lsr.l	#4,d7
;	eor.l	d2,d7
;	and.l	#$0f0f0f0f,d7
;	move.l		d5,-4(a4)
;	eor.l	d7,d2
;	lsl.l	#4,d7
;	clr.l	-8(a0)
;	eor.l	d7,d3
;	move.l	d5,d7
;	clr.l	-4(a0)
;	lsr.l	#4,d7
;	eor.l	d4,d7
;	move.l	d6,BPLSIZE-4(a1)
;	and.l	#$0f0f0f0f,d7
;	eor.l	d7,d4
;	lsl.l	#4,d7
;	eor.l	d7,d5
;
;	move.w	d4,d7			; Swap 16x4, part 2
;	move.w	d2,d4
;	swap	d4
;	move.w	d4,d2
;	move.w	d7,d4
;	move.w	d5,d7
;	move.w	d3,d5
;	swap	d5
;	move.w	d5,d3
;	move.l	a6,-BPLSIZE-4(a2)
;	move.w	d7,d5
;.startss
;	lsl.l	#2,d2			; Swap/merge 2x4, part 2
;	or.l	d4,d2
;	move.l	d5,d7
;	lsr.l	#2,d7
;	eor.l	d3,d7
;	and.l	#$33333333,d7
;	eor.l	d7,d3
;	lsl.l	#2,d7
;	eor.l	d7,d5
;
;	move.l	ta4,d4
;
;	move.l	d2,d7			; Swap 8x2, part 1
;	lsr.l	#8,d7
;	eor.l	d0,d7
;	and.l	#$00ff00ff,d7
;	eor.l	d7,d0
;	lsl.l	#8,d7
;	eor.l	d7,d2
;	move.l	d2,d7			; Swap 1x2, part 1
;	lsr.l	#1,d7
;	eor.l	d0,d7
;	and.l	#$55555555,d7
;	eor.l	d7,d0
;	move.l	d0,BPLSIZE(a2)
;	add.l	d7,d7
;	eor.l	d7,d2
;
;	move.l	d3,d7			; Swap 8x2, part 2
;	lsr.l	#8,d7
;	eor.l	d1,d7
;	and.l	#$00ff00ff,d7
;	eor.l	d7,d1
;	lsl.l	#8,d7
;	eor.l	d7,d3
;	move.l	d5,d7
;	lsr.l	#8,d7
;	eor.l	d4,d7
;	and.l	#$00ff00ff,d7
;	eor.l	d7,d4
;	lsl.l	#8,d7
;	eor.l	d7,d5
;	move.l	d2,(a2)+
;
;	move.l	d3,d6			; Swap 1x2, part 2
;	lsr.l	#1,d6
;	eor.l	d1,d6
;	and.l	#$55555555,d6
;	eor.l	d6,d1
;	add.l	d6,d6
;	eor.l	d3,d6
;	move.l	d5,d7
;	lsr.l	#1,d7
;	eor.l	d4,d7
;	and.l	#$55555555,d7
;	eor.l	d7,d4
;	add.l	d7,d7
;	eor.l	d5,d7
;
;	move.l	d1,a6
;	move.l	d4,a5
;
;;		addq.w	#1,rivi_jum_ss
;;		cmp.w	#19,rivi_jum_ss
;;		ble.s	.nyt_ei_rivi_jum_ss
;;		clr.w	rivi_jum_ss
;;		lea	640(a0),a0
;;.nyt_ei_rivi_jum_ss
;
;	cmpa.l	a0,a3
;	bgt.w	.xss
;;	cmpa.l	a0,a3
;;	bne	.xss
;.x2ss
;	move.l	d7,-BPLSIZE(a1)
;	move.l	a5,(a1)+
;	move.l	d6,BPLSIZE-4(a1)
;	move.l	a6,-BPLSIZE-4(a2)
;
;.noness
;;	movem.l	(sp)+,d2-d7/a2-a6
;	rts
;
;c2pp_copyinitblock
;	movem.l	a0-a1,-(sp)
;	lea	c2pp_datanew,a0
;	lea	c2pp_data,a1
;	moveq	#16-1,d0
;.copyss	move.l	(a0)+,(a1)+
;	dbf	d0,.copyss
;	movem.l	(sp)+,a0-a1
;	rts
;
;	cnop	0,4
;
;c2pp_data
;c2pp_scroffs dc.l 0
;c2pp_pixels dc.l 0
;	ds.l	16
;
;	cnop 0,4
;c2pp_datanew
;	ds.l	16
;
;		section		clist,data_c
;r3copperl:	dc.w		$1fc,%0100000000001111
;		dc.w		bpl1mod,0
;		dc.w		bpl2mod,-80
;		dc.w		dmacon,%0100000000100000
;		dc.w		bplcon0,%1000101000010001
;		dc.w		bplcon1,0
;		dc.w		bplcon2,%0000001000000000
;		dc.w		ddfstrt,$38
;		dc.w		ddfstop,$d0-14
;		dc.w		diwstrt,$4c81
;		dc.w		diwstop,$11c1
;		dc.w		bpl1pth
;r3b1h:		dc.w		0
;		dc.w		bpl1ptl
;r3b1l:		dc.w		0
;		dc.w		bpl2pth
;r3b2h:		dc.w		0
;		dc.w		bpl2ptl
;r3b2l:		dc.w		0
;		dc.w		bpl3pth
;r3b3h:		dc.w		0
;		dc.w		bpl3ptl
;r3b3l:		dc.w		0
;		dc.w		bpl4pth
;r3b4h:		dc.w		0
;		dc.w		bpl4ptl
;r3b4l:		dc.w		0
;		dc.w		bpl5pth
;r3b5h:		dc.w		0
;		dc.w		bpl5ptl
;r3b5l:		dc.w		0
;		dc.w		bpl6pth
;r3b6h:		dc.w		0
;		dc.w		bpl6ptl
;r3b6l:		dc.w		0
;		dc.w		bpl6pth+4
;r3b7h:		dc.w		0
;		dc.w		bpl6ptl+4
;r3b7l:		dc.w		0
;		dc.w		bpl6pth+8
;r3b8h:		dc.w		0
;		dc.w		bpl6ptl+8
;r3b8l:		dc.w		0
;		dc.w		$120
;spr0h:		dc.w		0,$122
;spr0l:		dc.w		0
;		dc.w		$124
;spr1h:		dc.w		0,$126
;spr1l:		dc.w		0
;		dc.w		$128
;spr2h:		dc.w		0,$12a
;spr2l:		dc.w		0
;		dc.w		$12c
;spr3h:		dc.w		0,$12e
;spr3l:		dc.w		0
;		dc.w		$130
;spr4h:		dc.w		0,$132
;spr4l:		dc.w		0
;		dc.w		$134
;spr5h:		dc.w		0,$136
;spr5l:		dc.w		0
;		dc.w		$138
;spr6h:		dc.w		0,$13a
;spr6l:		dc.w		0
;		dc.w		$13c
;spr7h:		dc.w		0,$13e
;spr7l:		dc.w		0
;		dc.w		$ffe1,$fffe
;		dc.w		$ffff,$fffe
;		even
;		cnop		0,256
;spriten:	blk.l		2048,0

;		section		muisti,bss_c
;		cnop		0,256 ;64-bittistä fetch modea varten
;pla:		ds.b		8000
;		ds.b		8000

		section		muuttujia,data_p
		cnop		0,256
bitmappib:	incbin		"d:kuvat/lisko.c"
;	incbin		"d:kuvat/lisko.c"
bitmapcolors1:	  incbin 		"develop:gfx/paletit/lisko.s"

bitmappi2b:	incbin		"d:kuvat/jojo.c"

		

;		incbin		"d:kuvat/jojo.c"

bitmapcolors2:  incbin 		"d:kuvat/jojo"

bump:		incbin		"d:abduction98/bump.c"
;bumpc:		incbin		"develop:gfx/testgfx/bump2.c"
		include		"develop:assy/taulukot/sini.asc"
s1:		dc.l		0,0,0,0
blurt:		dc.l		0
lisay:		dc.l		640*2*55
r3gosote	dc.l		0
r3oldint	dc.l		0
r3olddma	dc.l		0
r3oldcop	dc.l		0
r1wbview	dc.l		0
timer:		dc.l		0
mones:		dc.l		0
r1aos1:		dc.l		0
r1aos2:		dc.l		0
r1aos3:		dc.l		0
taulut:		dc.l		0
prosentti: 	dc.l 		0
time2:		dc.l		0
Fetis:		dc.l		0
c2p:		dc.l		0
ta4:		dc.l		0
r3gnimi:	dc.b		'graphics.library',0
		even
intstruct:	dc.l		0,0
		dc.b		2,0
		dc.l		inttinimi
		dc.l		0
		dc.l		r3intti
inttinimi:	dc.b		'Keksi',0
		even		

		section	chunky,bss_p
		cnop	0,256
buffer:		ds.b		640*128
		ds.b		640*128
;blur:		ds.l		320*100
bitmap2:	ds.w		256*256
bumptaulu:	ds.l		320*256
allcolors1:	ds.l		256*256
allcolors2:	ds.l		256*256
bitmappi:	ds.b		320*512
bitmappi2:	ds.b		320*512
		end
				
		
