start	= 0

******* AmigaT3 Inbetweener
*	Game Over, Continue & Levelend Gfx
*	(p) 1993 NEON
******* (c) 1992,1993 Softgold


DATA_SCORE		= $200
DATA_LIFES		= $204
DATA_ALL_LIFES		= $206
DATA_DIAMONDS		= $208
DATA_ALL_DIAMONDS	= $20a
DATA_CONTINUES		= $220

	;/* Hardware-include-file      */
	;/* (p) 1990 by Peter Thierolf */

custom	= $dff000

bltddat	= $000
dmaconr	= $002
vposr	= $004
vhposr	= $006
dskdatr	= $008
joy0dat	= $00a
joy1dat	= $00c
clxdat	= $00e
adkconr	= $010
pot0dat	= $012
pot1dat	= $014
potgor	= $016
serdatr	= $018
dskbytr	= $01a
intenar	= $01c
intreqr	= $01e
dskpth	= $020
dskptl	= $022
dsklen	= $024
dskdat	= $026
refptr	= $028
vposw	= $02a
vhposw	= $02c
copcon	= $02e
serdat	= $030
serper	= $032
potgo	= $034
joytest	= $036
strequ	= $038
strvbl	= $03a
strhor	= $03c
strlong	= $03e
bltcon0	= $040
bltcon1	= $042
bltafwm	= $044
bltalwm	= $046
bltcpth	= $048
bltcptl	= $04a
bltbpth	= $04c
bltbptl	= $04e
bltapth	= $050
bltaptl	= $052
bltdpth	= $054
bltdptl	= $056
bltsize	= $058

bltcmod	= $060
bltbmod	= $062
bltamod	= $064
bltdmod	= $066

bltcdat	= $070
bltbdat	= $072
bltadat	= $074

dsksync	= $07e
cop1lch	= $080
cop1lcl	= $082
cop2lch	= $084
cop2lcl	= $086
copjmp1	= $088
copjmp2	= $08a
copins	= $08c
diwstrt	= $08e
diwstop	= $090
ddfstrt	= $092
ddfstop	= $094
dmacon	= $096
clxcon	= $098
intena	= $09a
intreq	= $09c
adkcon	= $09e

audlch	= $000
audlcl	= $002
audlen	= $004
audper	= $006
audvol	= $008
auddat	= $00a

aud0	= $0a0
aud1	= $0b0
aud2	= $0c0
aud3	= $0e0

bpl1pth	= $0e0
bpl1ptl	= $0e2
bpl2pth	= $0e4
bpl2ptl	= $0e6
bpl3pth	= $0e8
bpl3ptl	= $0ea
bpl4pth	= $0ec
bpl4ptl	= $0ee
bpl5pth	= $0f0
bpl5ptl	= $0f2
bpl6pth	= $0f4
bpl6ptl	= $0f6

bplcon0	= $100
bplcon1	= $102
bplcon2	= $104

bpl1mod	= $108
bpl2mod	= $10a

bpl1dat	= $110
bpl2dat	= $112
bpl3dat	= $114
bpl4dat	= $116
bpl5dat	= $118
bpl6dat	= $11a

spr0pth	= $120
spr0ptl	= $122
spr1pth	= $124
spr1ptl	= $126
spr2pth	= $128
spr2ptl	= $12a
spr3pth	= $12c
spr3ptl	= $12e
spr4pth	= $130
spr4ptl	= $132
spr5pth	= $134
spr5ptl	= $136
spr6pth	= $138
spr6ptl	= $13a
spr7pth	= $13c
spr7ptl	= $13e

sprpos	= $000
sprctl	= $002
sprdata	= $004
sprdatb	= $006

spr0	= $140
spr1	= $148
spr2	= $150
spr3	= $158
spr4	= $160
spr5	= $168
spr6	= $170
spr7	= $178

color	= $180

	;/* Cia's */

ciaa	= $bfe001
ciab	= $bfd000

pra	= $000
prb	= $100
ddra	= $200
ddrb	= $300
talo	= $400
tahi	= $500
tblo	= $600
tbhi	= $700
todlo	= $800
todmid	= $900
todhi	= $a00
sdr	= $c00
icr	= $d00
cra	= $e00
crb	= $f00

Pic	= $40000
font	= $40000+32032
mdat	= font+2240
tfmx	= mdat+2172
DPic	= $50000

	dc.l	$4a3e0
	IFNE	start
	dc.l	$4a3e0
	ELSEIF
	dc.l	0
	ENDC

	ORG	$4a3e0

	bra.w	Start			;Je nach Mode starten
	bra.w	do_ausblend2		;Ausblenden, nach dem laden!

Start:
	IFNE	start
	moveq	#3,d0
	ENDC
	move.w	d0,Mode

	sf	highlight_flag
	move.b	#16,global_count

	lea	custom,a5
	move.w	#$0020,dmacon(a5)
	lea	$0140(a5),a0
	moveq	#8-1,d7
.clear_sprites:
	move.w	#$0000,(a0)
	addq.l	#8,a0
	dbf	d7,.clear_sprites

	lea	smpl,a0
	move.w	#$817f,$404(a0)

	lea	Clist(pc),a0
	move.l	a0,cop1lch(a5)
	move.w	#$87c0,dmacon(a5)

	move.w	#$000,$dff180

	lea	Pic+4*8000,a0
	tst.w	Mode
	bmi.s	.light
	cmp.w	#2,Mode			;Ladescreen ohne Schrift
	beq.s	.light
	lea	newcoltab(pc),a0
.light:
	lea	coltab,a1
	moveq	#16-1,d7
.set_cols:
	move.w	(a0)+,(a1)+
	dbf	d7,.set_cols

	move.l	#Pic,bltapth(a5)
	move.l	#DPic,bltdpth(a5)
	move.w	#0,bltamod(a5)
	move.w	#0,bltdmod(a5)
	move.w	#$09f0,bltcon0(a5)
	move.l	#-1,bltalwm(a5)
	move.w	#$0000,bltcon1(a5)
	move.w	#64*200*4+20,bltsize(a5)
.wait_blit0:
	btst	#14,dmaconr(a5)
	bne.s	.wait_blit0

	move.l	#DPic+8000*4,bltdpth(a5)
	move.w	#$0100,bltcon0(a5)
	move.w	#64*200+20,bltsize(a5)

.wait_blit1:
	btst	#14,dmaconr(a5)
	bne.s	.wait_blit1

	move.l	DATA_SCORE,d0
	bsr	bcd_to_dec
	lea	end_text5+8(pc),a1
	lea	dummy_text(pc),a0
	moveq	#6-1,d7
.copy_score:
	move.b	(a0)+,(a1)+
	dbf	d7,.copy_score

	moveq	#0,d0
	move.w	DATA_DIAMONDS,d0
	bsr	long_to_dec
	lea	end_text1+21(pc),a1
	lea	dummy_text+3(pc),a0
	move.b	(a0)+,(a1)+
	move.b	(a0)+,(a1)+
	move.b	(a0)+,(a1)+

	moveq	#0,d0
	move.w	DATA_ALL_DIAMONDS,d0
	sub.w	DATA_DIAMONDS,d0
	bsr	long_to_dec
	lea	end_text2+21(pc),a1
	lea	dummy_text+3(pc),a0
	move.b	(a0)+,(a1)+
	move.b	(a0)+,(a1)+
	move.b	(a0)+,(a1)+

	moveq	#0,d0
	move.w	DATA_LIFES,d0
	bsr	long_to_dec
	lea	end_text3+18(pc),a1
	lea	dummy_text+4(pc),a0
	move.b	(a0)+,(a1)+
	move.b	(a0)+,(a1)+

	moveq	#0,d0
	move.w	DATA_ALL_LIFES,d0
	sub.w	DATA_LIFES,d0
	bsr	long_to_dec
	lea	end_text4+18(pc),a1
	lea	dummy_text+4(pc),a0
	move.b	(a0)+,(a1)+
	move.b	(a0)+,(a1)+

	moveq	#0,d0
	move.b	DATA_CONTINUES,d0
	bsr	long_to_dec
	move.b	dummy_text+5,cont_text3+18

	move.b	#16,blend_count

	tst.w	Mode
	beq.s	.show_level_screen
	bpl	.show_game_over_screen
	bmi	.show_continue_screen

.show_level_screen:
	bsr	.print_level_all
	st	highlight_flag

	bsr	.print_level_all

	move.w	#$ffff,Color2_Ypos

	lea	Pic+4*8000,a0
	lea	coltab+32,a1
	moveq	#16-1,d7
.set_cols2:
	move.w	(a0)+,(a1)+
	dbf	d7,.set_cols2

.load_only:
	move.l	#mdat,d0
	move.l	#smpl,d1
	jsr	tfmx+52
	moveq	#0,d0
	jsr	tfmx+72			;Fade auf 0
	moveq	#0,d0
	jsr	tfmx+44			;Musik einblenden.

	move.l	#$00030028,d0
	jsr	tfmx+72

.start_vbi:
	move.l	#vbi,$6c
	move.w	#$c020,intena(a5)

	bra	.main_loop

.print_level_all:
	lea	end_text1(pc),a0
	lea	DPic+8+40*40,a1
	bsr	print

	lea	end_text2(pc),a0
	lea	DPic+8+60*40,a1
	bsr	print

	lea	end_text3(pc),a0
	lea	DPic+10+90*40,a1
	bsr	print

	lea	end_text4(pc),a0
	lea	DPic+10+110*40,a1
	bsr	print

	lea	end_text5(pc),a0
	lea	DPic+13+160*40,a1
	bra	print

.show_game_over_screen:
	cmp.w	#2,Mode
	beq	.load_only
	cmp.w	#3,Mode
	beq	.show_easy_screen

	move.w	#$ffff,Color2_Ypos

	bsr	.print_game_over_all
	st	highlight_flag

	bsr	.print_game_over_all

	lea	Pic+4*8000,a0
	lea	coltab+32,a1
	moveq	#16-1,d7
.set_cols3:
	move.w	(a0)+,(a1)+
	dbf	d7,.set_cols3

	bra	.load_only

.print_game_over_all:
	lea	over_text1(pc),a0
	lea	DPic+15+60*40,a1
	bsr	print

	lea	end_text5(pc),a0
	lea	DPic+13+160*40,a1
	bra	print

.show_easy_screen:
	move.w	#$3007,Color2_Ypos

	move.w	#$8007,Color3_Ypos

	bsr	.easy_print

	st	highlight_flag

	bsr	.easy_print

	bra	.load_only
.easy_print:
	lea	easy_text1(pc),a0
	lea	DPic+12+70*40,a1
	bsr	print

	lea	easy_text2(pc),a0
	lea	DPic+9+110*40,a1
	bsr	print

	lea	easy_text3(pc),a0
	lea	DPic+13+150*40,a1
	bra	print

.show_continue_screen:
	move.w	#$c007,Color2_Ypos

	lea	cont_text1(pc),a0
	lea	DPic+15+130*40,a1
	bsr	print

	lea	cont_text2(pc),a0
	lea	DPic+17+155*40,a1
	bsr	print

	lea	cont_text3(pc),a0
	lea	DPic+10+190*40,a1
	bsr	print

	bsr	show_big_number

	bsr	create_highlight_colors

	move.b	#1,highlight_flag

	move.l	#mdat,d0
	move.l	#smpl,d1
	jsr	tfmx+52
	moveq	#0,d0
	jsr	tfmx+72			;Fade auf 0
	moveq	#1,d0
	jsr	tfmx+44			;Musik einblenden.

	move.l	#$00030028,d0
	jsr	tfmx+72

	bra	.start_vbi

.main_loop:
	move.l	$dff004,d0
	and.l	#$1ff00,d0
	cmp.l	#$d000,d0
	bne.s	.main_loop

	bsr	blend_um

	tst.w	Mode
	bmi	.count_numbers

	;Checken, ob eingeblendet ist.

	IFEQ	start

	subq.b	#1,global_count
	beq	.quit
	ENDC

.wait_tos:
	move.l	$dff004,d0
	and.l	#$1ff00,d0
	cmp.l	#$08000,d0
	bne.s	.wait_tos

	IFEQ	start
	tst.w	Mode
	bpl	.main_loop
	ENDC

	btst	#7,$bfe001
	bne	.main_loop
	bra.s	.selected
.out:	;Zeit ist Abgelaufen!

	move.b	#1,highlight_flag
	lea	cont_text4(pc),a0		;YES lschen.
	lea	DPic+17+155*40,a1
	bsr	print


	st	continue
.selected:
	st	highlight_flag

	lea	cont_text4(pc),a0
	lea	DPic+17+155*40,a1

	tst.b	continue
	beq.s	.use_this2
	lea	cont_text5(pc),a0
	lea	DPic+21+155*40,a1

.use_this2:
	bsr	print

	move.w	#75,vbi_counter

	moveq	#2,d0
	jsr	tfmx+44

.wait_song:
	tst.w	vbi_counter
	bne.s	.wait_song

	bsr	do_ausblend
	move.b	continue,d0
	rts

.quit:
	cmp.w	#2,Mode
	beq.s	.no_counter
	move.w	#10*50,vbi_counter
.no_counter:
	lea	Clist(pc),a0
	rts

.count_numbers:
	subq.b	#1,number_verz
	bpl.s	.no_new
	move.b	#50,number_verz
	addq.b	#1,number
	cmp.b	#10,number
	beq	.out
	bsr	show_big_number
	move.l	#$00000300,d0
	jsr	tfmx+48
.no_new:

	tst.b	continue
	beq.s	.check_left

	tst.b	continue_is			;steht schon richtig!
	bne.s	.no_switch
	st	continue_is
	move.b	#1,highlight_flag

	move.l	#$00010300,d0
	jsr	tfmx+48

	lea	cont_text4(pc),a0		;YES lschen.
	lea	DPic+17+155*40,a1
	bsr	print
	sf	blink_verz
	bra.s	.no_switch

.check_left:
	tst.b	continue_is			;steht es schon richtig ?
	beq.s	.no_switch			;Ja, nix mehr lschen!

	sf	continue_is
	move.b	#1,highlight_flag

	move.l	#$00010300,d0
	jsr	tfmx+48

	lea	cont_text5(pc),a0		;NO lschen.
	lea	DPic+21+155*40,a1
	bsr	print

	sf	blink_verz
	bra.s	.no_switch

.no_switch:
	subq.b	#1,blink_verz
	bpl.s	.no_blink
	move.b	#13,blink_verz

	eor.b	#$80,highlight_flag
	lea	cont_text4(pc),a0
	lea	DPic+17+155*40,a1

	tst.b	continue_is
	beq.s	.use_this
	lea	cont_text5(pc),a0
	lea	DPic+21+155*40,a1

.use_this:
	bsr	print
.no_blink:
	move.w	$dff00c,d1
	btst	#1,d1
	bne	.right
	btst	#9,d1
	beq	.no_dir
	sf	continue
	bra.s	.no_dir
.right:
	st	continue
.no_dir:
	bra	.wait_tos

do_ausblend2:
	btst	#7,$bfe001
	beq	do_ausblend			;Durch Knopfdruck abbrechbar
	tst.w	vbi_counter			;Die mindest-Zeit ist noch nicht abgelaufen!
	bne.s	do_ausblend2
	clr.w	vbi_counter
do_ausblend:
	move.b	#16,blend_count
	move.l	#$00010000,d0
	jsr	tfmx+72

.ausblend:
	move.l	$dff004,d0
	and.l	#$1ff00,d0
	cmp.l	#$d000,d0
	bne.s	.ausblend

	bsr	blend_out
	tst.b	blend_count
	bne.s	.ausblend

	jmp	tfmx+40			;AllOff

vbi:
	jsr	tfmx+36
	tst.w	vbi_counter
	beq.s	.null
	subq.w	#1,vbi_counter
.null:
	move.w	#$0020,$dff000+intreq
	nop
	rte


blink_verz:	dc.b	0
continue:	dc.b	0
continue_is:	dc.b	0
blend_count:	dc.b	0
global_count:	dc.b	16

dummy_text:	dc.b	0,0,0,0,0,0
	even

vbi_counter:	dc.w	0
Mode:		dc.w	0

bcd_to_dec:
	lea	dummy_text+6(pc),a0
	moveq	#6-1,d7
.loop:
	move.b	d0,d1
	and.b	#$0f,d1
	add.b	#"0",d1
	move.b	d1,-(a0)
	lsr.l	#4,d0
	dbf	d7,.loop
	rts


long_to_dec:
	lea	dummy_text(pc),a0

	move.l	#100000,d1
	moveq	#6-1,d7
.loop:
	divu	d1,d0
	add.b	#"0",d0
	move.b	d0,(a0)+
	clr.w	d0
	swap	d0
	divu	#10,d1
	dbf	d7,.loop
	rts

blend_um:
	tst.b	blend_count
	beq	.no_blend
	subq.b	#1,blend_count
	lea	dest_coltab(pc),a1
	lea	coltab(pc),a0
	moveq	#40-1,d7
.fade_in:
	move.w	(a1),d0
	move.w	d0,d1
	and.w	#$f00,d1
	move.w	(a0),d2
	and.w	#$f00,d2
	cmp.w	d2,d1
	beq.s	.no_red
	add.w	#$100,d1
.no_red:
	move.w	d1,d6

	move.w	d0,d1
	and.w	#$f0,d1
	move.w	(a0),d2
	and.w	#$f0,d2
	cmp.w	d2,d1
	beq.s	.no_green
	add.w	#$10,d1
.no_green:
	or.w	d1,d6

	move.w	d0,d1
	and.w	#$f,d1
	move.w	(a0),d2
	and.w	#$f,d2
	cmp.w	d2,d1
	beq.s	.no_blue
	add.w	#$1,d1
.no_blue:
	or.w	d1,d6
	move.w	d6,(a1)+
	addq.l	#2,a0
	dbf	d7,.fade_in
	bra.s	set_colors
.no_blend:
	rts

blend_out:
	tst.b	blend_count
	beq	.no_blend
	subq.b	#1,blend_count

	lea	dest_coltab(pc),a1
	lea	coltab(pc),a0
	moveq	#40-1,d7
.fade_out:
	move.w	(a1),d0
	move.w	d0,d1
	and.w	#$f00,d1
	beq.s	.no_red
	sub.w	#$100,d1
.no_red:
	move.w	d1,d6

	move.w	d0,d1
	and.w	#$f0,d1
	beq.s	.no_green
	sub.w	#$10,d1
.no_green:
	or.w	d1,d6

	move.w	d0,d1
	and.w	#$f,d1
	beq.s	.no_blue
	sub.w	#$1,d1
.no_blue:
	or.w	d1,d6
	move.w	d6,(a1)+
	addq.l	#2,a0
	dbf	d7,.fade_out
	bra.s	set_colors
.no_blend:
	rts

set_colors:
	lea	Clist,a1
	lea	dest_coltab+2(pc),a0
	moveq	#31-1,d7
.set_loop:
	move.w	(a0)+,2(a1)
	addq.l	#4,a1
	dbf	d7,.set_loop
	lea	Colors2+2,a1
	move.w	(a0)+,(a1)
	move.w	(a0)+,4(a1)
	move.w	(a0)+,8(a1)
	move.w	(a0)+,12(a1)

	lea	Colors3+2,a1
	move.w	(a0)+,(a1)
	move.w	(a0)+,4(a1)
	move.w	(a0)+,8(a1)
	move.w	(a0),12(a1)
	rts

show_big_number:
	lea	DPic+13+2*40+4*8000,a0
	lea	number_font(pc),a1
	moveq	#0,d0
	move.b	number,d0
	asl.w	#3,d0
	lea	(a1,d0.w),a1
	moveq	#6,d5
.yloop:
	move.b	(a1)+,d0
	moveq	#7,d7
.bitloop:
	btst	d7,d0
	beq.s	.clear
	moveq	#15,d6
	lea	(a0),a2
.setloop:
	st	(a2)
	st	1(a2)
	lea	40(a2),a2
	dbf	d6,.setloop
.next:
	addq.l	#2,a0
	dbf	d7,.bitloop
	add.l	#16*40-16,a0
	dbf	d5,.yloop
	rts

.clear:
	moveq	#15,d6
	lea	(a0),a2
.clearloop:
	sf	(a2)
	sf	1(a2)
	lea	40(a2),a2
	dbf	d6,.clearloop
	bra.s	.next

	rts

create_highlight_colors:
	lea	Pic+4*8000,a0
	lea	coltab+32,a1
	moveq	#16-1,d7
.loop:
	move.w	(a0)+,d0
	move.w	d0,d1
	and.w	#$f00,d1
	add.w	#$800,d1
	cmp.w	#$f00,d1
	blt.s	.okr
	move.w	#$f00,d1
.okr:
	move.w	d1,d6

	move.w	d0,d1
	and.w	#$f0,d1
	add.w	#$80,d1
	cmp.w	#$f0,d1
	blt.s	.okg
	move.w	#$f0,d1
.okg:
	or.w	d1,d6

	move.w	d0,d1
	and.w	#$f,d1
	add.w	#$8,d1
	cmp.w	#$f,d1
	blt.s	.okb
	move.w	#$f,d1
.okb:
	or.w	d1,d6
	move.w	d6,(a1)+

	dbf	d7,.loop
	rts

number:		dc.b	0
number_verz:	dc.b	50+16

number_font:
	dc.b	%01111100
	dc.b	%01000100
	dc.b	%01000100
	dc.b	%01111100
	dc.b	%00000100
	dc.b	%00000100
	dc.b	%01111100,0

	dc.b	%01111100
	dc.b	%01000100
	dc.b	%01000100
	dc.b	%01111100
	dc.b	%01000100
	dc.b	%01000100
	dc.b	%01111100,0

	dc.b	%01111100
	dc.b	%00000100
	dc.b	%00000100
	dc.b	%00000100
	dc.b	%00000100
	dc.b	%00000100
	dc.b	%00000100,0

	dc.b	%01111100
	dc.b	%01000000
	dc.b	%01000000
	dc.b	%01111100
	dc.b	%01000100
	dc.b	%01000100
	dc.b	%01111100,0

	dc.b	%01111100
	dc.b	%01000000
	dc.b	%01000000
	dc.b	%01111100
	dc.b	%00000100
	dc.b	%00000100
	dc.b	%01111100,0

	dc.b	%01000100
	dc.b	%01000100
	dc.b	%01000100
	dc.b	%01111100
	dc.b	%00000100
	dc.b	%00000100
	dc.b	%00000100,0

	dc.b	%01111100
	dc.b	%00000100
	dc.b	%00000100
	dc.b	%00011100
	dc.b	%00000100
	dc.b	%00000100
	dc.b	%01111100,0

	dc.b	%01111100
	dc.b	%00000100
	dc.b	%00000100
	dc.b	%01111100
	dc.b	%01000000
	dc.b	%01000000
	dc.b	%01111100,0

	dc.b	%00010000
	dc.b	%00010000
	dc.b	%00010000
	dc.b	%00010000
	dc.b	%00010000
	dc.b	%00010000
	dc.b	%00010000,0

	dc.b	%01111100
	dc.b	%01000100
	dc.b	%01000100
	dc.b	%01000100
	dc.b	%01000100
	dc.b	%01000100
	dc.b	%01111100,0

	even

	;Textstring in a0, Pointer to Destination in a1!

print:
	lea	font,a6
.loop:
	moveq	#0,d0
	move.b	(a0)+,d0
	beq.s	.out
	bsr	do_one_char
	addq.l	#1,a1
	bra.s	.loop
.out:
	rts

do_one_char:

	cmp.b	#" ",d0
	beq	.skip

	cmp.b	#"!",d0
	beq.s	.ausruf
	cmp.b	#"?",d0
	beq.s	.frage
	cmp.b	#":",d0
	beq.s	.doppel
	cmp.b	#"/",d0
	beq.s	.schrg

	cmp.b	#"0",d0
	blt	.skip
	beq.s	.null
	cmp.b	#"9",d0
	ble.s	.zahl
	and.b	#$5f,d0
	cmp.b	#"A",d0
	blt	.skip
	sub.w	#65,d0
	bra.s	.use
.zahl:
	sub.w	#23,d0
	bra.s	.use
.ausruf:
	moveq	#39,d0
	bra.s	.use
.frage:
	moveq	#36,d0
	bra.s	.use
.doppel:
	moveq	#38,d0
	bra.s	.use
.schrg:
	moveq	#37,d0
	bra.s	.use

.null:
	moveq	#35,d0
.use:
	move.l	a1,a2
	lea	(a6,d0.w),a4
	add.w	#40*7+560*3,d0	;Zur Maske Springen!
	moveq	#7-1,d7
.loop:
	move.b	(a6,d0.w),d2
	move.b	d2,d3
	not.b	d2

	tst.b	highlight_flag
	beq.s	.no_high
	bpl.s	.high_clear

	move.b	d3,8000*4(a2)
	bra.s	.goon
.high_clear:
	sf	8000*4(a2)
	bra.s	.goon
.no_high:
	move.b	(a2),d1
	and.b	d2,d1
	move.b	(a4),d4
	and.b	d3,d4
	or.b	d4,d1
	move.b	d1,(a2)

	move.b	8000(a2),d1
	and.b	d2,d1
	move.b	560(a4),d4
	and.b	d3,d4
	or.b	d4,d1
	move.b	d1,8000(a2)

	move.b	8000*2(a2),d1
	and.b	d2,d1
	move.b	560*2(a4),d4
	and.b	d3,d4
	or.b	d4,d1
	move.b	d1,8000*2(a2)

	move.b	8000*3(a2),d1
	and.b	d2,d1
	move.b	560*3(a4),d4
	and.b	d3,d4
	or.b	d4,d1
	move.b	d1,8000*3(a2)
.goon:
	lea	40(a2),a2		;Destination
	lea	40(a4),a4		;Quelle
	add.w	#40,d0
	dbf	d7,.loop
.skip:
	rts

highlight_flag:	dc.b	0

end_text1:	dc.b	"diamonds collected : 001",0
end_text2:	dc.b	"            missed : 000",0
end_text3:	dc.b	"lives collected : 01",0
end_text4:	dc.b	"         missed : 00",0
end_text5:	dc.b	"score : 000000",0

over_text1:	dc.b	"Game Over",0

cont_text1:	dc.b	"Continue ?",0
cont_text2:	dc.b	"Yes No",0
cont_text3:	dc.b	"Continues Left : 00",0

cont_text4:	dc.b	"Yes",0
cont_text5:	dc.b	"No",0

easy_text1:	dc.b	"Congratulations!",0
easy_text2:	dc.b	"you completed easy mode",0
easy_text3:	dc.b	"now try normal",0

coltab:		dcb.w	32,0
		dc.w	$f00,$c00,$800,$500
		dc.w	$fff,$ccc,$888,$555

dest_coltab:	dcb.w	40,0

newcoltab:	dc.w	$000,$620,$962,$A75,$410,$810,$951,$971
		dc.w	$AAA,$58B,$159,$026,$777,$444,$111,$000

	even

Clist:
	dc.w	$0182,$0000
	dc.w	$0184,$0000
	dc.w	$0186,$0000
	dc.w	$0188,$0000
	dc.w	$018a,$0000
	dc.w	$018c,$0000
	dc.w	$018e,$0000
	dc.w	$0190,$0000
	dc.w	$0192,$0000
	dc.w	$0194,$0000
	dc.w	$0196,$0000
	dc.w	$0198,$0000
	dc.w	$019a,$0000
	dc.w	$019c,$0000
	dc.w	$019e,$0000

	dc.w	$01a0,$0000
	dc.w	$01a2,$0000
	dc.w	$01a4,$0000
	dc.w	$01a6,$0000
	dc.w	$01a8,$0000
	dc.w	$01aa,$0000
	dc.w	$01ac,$0000
	dc.w	$01ae,$0000
	dc.w	$01b0,$0000
	dc.w	$01b2,$0000
	dc.w	$01b4,$0000
	dc.w	$01b6,$0000
	dc.w	$01b8,$0000
	dc.w	$01ba,$0000
	dc.w	$01bc,$0000
	dc.w	$01be,$0000

	dc.w	$00e0,$0004
	dc.w	$00e4,$0005
	dc.w	$00e8,$0005
	dc.w	$00ec,$0005
	dc.w	$00f0,$0005

	dc.w	$00e2,$fffe
	dc.w	$00e6,$1f3e
	dc.w	$00ea,$3e7e
	dc.w	$00ee,$5dbe
	dc.w	$00f2,$7cfe

	dc.w	$008e,$3491
	dc.w	$0090,$fcc1
	dc.w	$0092,$0034
	dc.w	$0093,$00d0

	dc.w	$0108,$fffe
	dc.w	$010a,$fffe
	dc.w	$0102,$0088
	dc.w	$0100,$5000

Color2_Ypos:
	dc.w	$c007,$fffe
Colors2:
	dc.w	$01b0,$0000
	dc.w	$01b8,$0000
	dc.w	$01ba,$0000
	dc.w	$01bc,$0000
	dc.w	$01a0,$0000
Color3_Ypos:
	dc.w	$ffff,$fffe
Colors3:
	dc.w	$01b0,$0000
	dc.w	$01b8,$0000
	dc.w	$01ba,$0000
	dc.w	$01bc,$0000
	dc.w	$01a0,$0000
	dc.w	$ffff,$fffe
smpl:
