Program:
	move.l	sp,stack

	move.l	4,a6
	move.l	276(a6),a3
	tst.l	172(a3)
	bne.s	fromCLI
fromWB
	lea	92(a3),a0		; get wb msg
	jsr	-384(a6)
	move.l	4.w,a6
	lea	92(a3),a0
	jsr	-372(a6)
	move.l	d0,wbmsg
fromcli:
	move.l	4.w,a6
	move.l	#intname,a1
	clr.l	d0
	jsr	-552(a6)
	move.l	d0,intbase

	move.l	4.w,a6
	move.l	#dosname,a1
	clr.l	d0
	jsr	-552(a6)
	move.l	d0,dosbase

	move.l	4.w,a6
	move.l	#gfxname,a1
	clr.l	d0
	jsr	-552(a6)
	move.l	d0,gfxbase

	move.l	intbase,a6
	lea	newwindow,a0
	jsr	-204(a6)
	move.l	d0,window
	tst.l	d0
	beq.W	error

	move.l	window,a0
	add.l	#50,a0
	move.l	(a0),rastport
	lea	lyterki,a0
	move.l	#20,xl
lyto:	move.l	(a0)+,adrl
	tst.l	adrl
	beq.L	loop
	add.l	#20,xl
	move.l	#20,yl
	move.l	xl,d0
	move.l	yl,d1
	subq.l	#1,d0
	subq.l	#1,d1
	move.l	#9,d2
	move.l	#10,d3
	bsr.w	ramka
	bsr.w	literka
	add.l	#1,yl
	bsr.w	literka

	add.l	#20,yl
	move.l	xl,d0
	move.l	yl,d1
	subq.l	#1,d0
	subq.l	#1,d1
	move.l	#9,d2
	move.l	#9,d3
	bsr.w	ramka
	bsr.w	literka

	bra.L	lyto
loop:	bsr.w	message
	bra.s	loop

lyterki:
	dc.l	le,ls,lb,lh,ln,lk,lpyt,0

	bsr.w	rysujpanel
	bsr.w	demo

poczczekania:
	lea	prefire,a0
	bsr.w	scrollinit
	move.w	#100,d0
czekaj:
	bsr.w	poczrmb
	bsr.w	wf
	lea	prefire,a0
	bsr.w	scrolltext
	subq.w	#1,d0
	bne.s	nomess
	move.w	#100,d0
	bsr.w	message
nomess:
	bsr.w firetest
	bne.s	czekaj
wroc:	move.w	#0,mouse
	tst.b	mousebutton
	bne.s	nieustawmyszy
	move.w	#1,mouse
nieustawmyszy:
;	bsr.w	message
;	bsr.w	wf
fire:	bsr.w firetest
	beq.s	fire

	move.l	stack,sp

	move.l	dosbase(pc),a6
	moveq	#4,d1
	jsr	-198(a6)

	bsr.L	gra
	move.l	#0,wysw_czas
	move.l	#0,liniaadr
	bra.s	poczczekania

poczrmb:
	movem.l	d0-d7/a0-a6,-(sp)
	bsr.w	rmb
	bne.L	poczend
	bsr.w	windowsmall
poczlop:

	moveq	#1,d1
	move.l	dosbase,a6
	jsr	-198(a6)

	bsr.w	rmb
	bne.s	poczlop
	bsr.w	windowbig

	bsr.w	rysujpanel

	lea	arcanoid,a0
	clr.l	d0
	clr.l	d1
	move.l	#75,d3
	move.l	#300,d4
	move.l	#61,d5
	move.l	#10,d2
	bsr.w	rysuj

	lea	mi4,a0
	clr.l	d0
	clr.l	d1
	move.l	#35,d3
	move.l	#76,d4
	move.l	#34,d5
	move.l	#122,d2	
	bsr.w	rysuj

	move.l	scrolladr,a0
	move.w	#37,d1
lettersearch:
	tst.b	-(a0)
	bmi.s	lettersearch
	dbf	d1,lettersearch

	clr.b	licznik
	bsr.w	line

poczend:
	movem.l	(sp)+,d0-d7/a0-a6
	rts

gra:
; **********************

	move.l	#1,nrpl
	move.l	#5,zycia
	move.l	#0,punkty

	move.l	#bonusy,bonusyadr

plloop:
	lea	pltab,a0
	move.l	nrpl,d0
	subq.l	#1,d0
	asl.l	#2,d0
	add.l	d0,a0
	move.l	(a0),a0
	cmp.l	#0,a0
	bne.s	nost
	move.l	#1,nrpl
	bra.s	plloop
nost:
	bsr.w	rysujpanel
	bsr.w	rysujplansze

;	*****************
;	move.l	#1,ilkloc

	move.l	#144,xp
	move.l	#165,yp

gloop:
	move.l	#0,adl
	move.l	#0,adrl
	clr.w	klej
	clr.b	hard

	bsr.w	pokazzycia

	bsr.w	pokazplansze

	bsr.w	pokazpunkty

	bsr.w	pippal
	move.l	#$04002,kx
	move.l	#$FFFFc002,ky
	clr.w	czas
	move.w	#-10,d0
	bsr.L	kula
	tst.l	zycia
	bpl.s	gnext
	move.l	#over,liniaadr
	move.w	#150,d7
ov_loop:
	bsr.w	wf
	bsr.w	firetest
	beq.L	koniec
	dbf	d7,ov_loop
	bra.W	koniec
gnext:	tst.l	ilkloc
	bne.W	gloop

	bsr.w	random
	move.w	rnd,d0
	asr.w	#4,d0
	and.w	#%1111111111111100,d0
	lea	nltable,a0
	move.l	(a0,d0.w),liniaadr

	add.l	#1,nrpl
	bra.W	plloop

nltable:
	dc.l	NEXTL,GOOD,CUP,YEAH

pokazplansze:
	movem.l	d0-d7/a0-a6,-(sp)
	lea	nrpl,a0
	lea	cyfra,a1
	bsr.w	conv
	lea	cyfra+16,a1
	move.l	#329,d2
	move.l	#108,d3
	move.l	#20,d4
	move.l	#2,d0
	bsr.w	piszcyfre
	movem.l	(sp)+,d0-d7/a0-a6
	rts

pokazwsio:
	bsr.w	pokazplansze
	bsr.w	pokazzycia
	bsr.w	pokazpunkty
	rts

odswiezwsio:
	bsr.w	wf
	bsr.w	rysujpanel
	bsr.w	pokazklocki
	bsr.w	pokazwsio
	bsr.w	pokazkulke
	bsr.w	rysujpaletke
	bsr.w	literka
	rts

pokazklocki:
	move.l	a0,-(sp)
	lea	plact,a0
	bsr.w	rysujplansze
	move.l	(sp)+,a0
	rts

pokazkulke:
	movem.l	d0-d1,-(sp)
	move.l	xe,d0
	move.l	ye,d1
	bsr.w	rysujkulke
	movem.l	(sp)+,d0-d1
	rts

rmb:
	movem.l	d0-d7/a0-a6,-(sp)
	move.l	intbase,a0
	move.l	$34(a0),d0
	cmp.l	window,d0
	bne.L	rmbend
	movem.l	(sp)+,d0-d7/a0-a6
	btst	#10,$dff016
	rts
rmbend:	movem.l	(sp)+,d0-d7/a0-a6
	rts

windowsmall:
	movem.l	d0-d7/a0-a6,-(sp)

	move.l	window,a0
	move.l	intbase,a6
	move.l	#0,d0
	move.l	#-199,d1
	jsr	-288(a6)

	moveq	#20,d1
	move.l	dosbase,a6
	jsr	-198(a6)

	movem.l	(sp)+,d0-d7/a0-a6
	rts

windowbig:
	movem.l	d0-d7/a0-a6,-(sp)

	move.l	window,a0
	move.w	6(a0),d0
	add.w	#210,d0
	cmp.w	#255,d0
	ble.s	nomovewindow

	move.w	6(a0),d1
	sub.w	#45,d1
	neg.w	d1
	clr.l	d0
	move.l	intbase,a6
	jsr	-168(a6)

nomovewindow:
	move.l	window,a0
	move.l	intbase,a6
	move.l	#0,d0
	move.l	#199,d1
	jsr	-288(a6)

	moveq	#20,d1
	move.l	dosbase,a6
	jsr	-198(a6)

	movem.l	(sp)+,d0-d7/a0-a6
	rts

rmbtrap:
	movem.l	d0-d7/a0-a6,-(sp)

	bsr.w	rmb
	bne.s	rmbtrapend
	bsr.w	windowsmall

rmbloop:

	moveq	#1,d1
	move.l	dosbase,a6
	jsr	-198(a6)

	bsr.w	rmb
	bne.s	rmbloop

	bsr.w	windowbig
	bsr.w	odswiezwsio

rmbtrapend:
	movem.l	(sp)+,d0-d7/a0-a6
	rts

kula:
	bsr.w	joy
	movem.l	d0-d1,-(sp)
	move.l	xe,d0
	move.l	ye,d1

	bsr.w	literka
	move.l	adl,adrl
	bsr.w	rysujkulke
	movem.l	(sp)+,d0-d1

	move.l	d0,xe
	move.l	d1,ye

; ********************************
;	move.l	d0,xp

	bsr.w	rysujkulke
	bsr.w	ruchliterki
	bsr.w	literka
	bsr.w	kasujpaletke
	bsr.w	rysujpaletke

	bsr.w	rmbtrap

	bsr.w	kolzpal

	add.w	#1,czas
	cmp.w	#15,czas
	bne.s	nzw

	bsr.w	message
	move.w	#0,czas
	move.l	#8,d1
	move.l	kx,d0
	asr.l	d1,d0
	add.l	d0,kx
	move.l	ky,d0
	asr.l	d1,d0
	add.l	d0,ky

nzw:
	move.l	d0,-(sp)
	move.l	ky,d0
	cmp.l	#$a000,d0
	blt.s	niep
	move.l	#$a000,ky
niep:	cmp.l	#-$a000,d0
	bgt.s	niemp
	move.l	#-$a000,ky
niemp:	tst.l	d0
	bpl.s	ydod
	neg.l	d0
ydod:	asl.l	#1,d0
	cmp.l	kx,d0
	bge.s	nied
	move.l	d0,kx
nied:	neg.l	d0
	cmp.l	kx,d0
	ble.s	niemd
	move.l	d0,kx
niemd:
	move.l	(sp)+,d0

	move.w	#7,d7
ilop:	move.l	x,d0
	move.l	y,d1
	add.l	kx,d0
	add.l	ky,d1
	move.l	d0,x
	move.l	d1,y
	swap	d0
	swap	d1
	ext.l	d0
	ext.l	d1
	tst.l	kx
	bpl.s	nu
	tst.l	d0
	bpl.s	nu
	neg.l	kx
nu:	tst.l	ky
	bpl.s	nu2
	tst.l	d1
	bpl.s	nu2
	neg.l	ky
nu2:
	tst.l	kx
	bmi.s	bo3
	cmp.l	#310,d0		
	ble.s	bo3			
	neg.l	kx			
bo3:					
	cmp.l	#174,d1
	ble.s	bo4

	bsr.w	random
	move.w	rnd,d0
	asr.w	#4,d0
	and.w	#%1111111111111100,d0
	lea	lbtable,a0
	move.l	(a0,d0.w),liniaadr

	move.l	xe,d0
	move.l	ye,d1
	bsr.w	rysujkulke
	bsr.w	literka

	sub.l	#1,zycia
	rts

lbtable:
	dc.l	shit,lost,mis,bye

bo4:
	tst.l	ky
	bpl.s	next
	bsr.w	kolizjag
	beq.s	next
	neg.l	ky
next:
	tst.l	ky
	bmi.s	next2
	bsr.w	kolizjad
	beq.s	next2
	neg.l	ky
next2:
	tst.l	kx
	bpl.s	next3
	bsr.w	kolizjal
	beq.s	next3
	neg.l	kx
next3:
	tst.l	kx
	bmi.s	next4
	bsr.w	kolizjap
	beq.s	next4
	neg.l	kx
next4:
	dbf	d7,ilop

	bsr.w	wf

	tst.l	ilkloc
	bne.L	niez

	move.l	xe,d0
	move.l	ye,d1
	bsr.w	rysujkulke

	move.l	xp,sxp
	move.l	yp,syp
	clr.l	yp
	bsr.w	kasujpaletke

	rts

wyswietlacz:
	move.l	a0,-(sp)
	move.l	liniaadr,a0
	cmp.l	#0,a0
	beq.s	wysw_here
	tst.l	wysw_czas
	bmi.s	wysw_nocl
	bsr.w	clearstatline
wysw_nocl:
	move.l	#150,wysw_czas
	clr.l	liniaadr
	bsr.w	line
	move.l	(sp)+,a0
	rts
wysw_here:
	tst.l	wysw_czas
	bne.s	wysw_end
	bmi.s	wysw_noop
	bsr.w	clearstatline
wysw_end:
	sub.l	#1,wysw_czas
wysw_noop:
	move.l	(sp)+,a0
	rts
wysw_czas:
	dc.l	0
liniaadr:
	dc.l	0
message:
	movem.l	d0-d7/a0-a6,-(sp)
	move.b	#1,mousebutton
	move.l	window,a0
	move.l	86(a0),a0
	move.l	4.w,a6
	jsr	-372(a6)
	tst.l	d0
	beq.s	nm
	move.l	d0,a1
	move.l	20(a1),d2
	move.l	4.w,a6
	jsr	-378(a6)
	cmp.w	#8,d2
	bne.s	nomousebutton
	move.b	#0,mousebutton
nomousebutton:
	cmp.w	#512,d2
	beq.s	end
nm:
	movem.l	(sp)+,d0-d7/a0-a6
	rts

mousebutton:
	dc.w	1

niez:
	bra.w	kula

koniec:	rts

powrot:	move.l	stack,sp
	rts

end:	move.l	stack,sp
	bsr.W	close

quit:	move.l	wbmsg,d2
	beq.s	nowb
	move.l	4.w,a6
	jsr	-132(a6)
	move.l	d2,a1
	move.l	4.w,a6
	jsr	-378(a6)
nowb:
	clr.l	d0
	rts

punkty:	dc.l	0
czas:	dc.w	0
nrpl:	dc.l	0
zycia:	dc.l	0
ilkloc:	dc.l	0
scr:	dc.l	0
wbmsg:	dc.l	0
stack:	dc.l	0
adl:	dc.l	0
adrl:	dc.l	0
xl:	dc.l	0
yl:	dc.l	0

xe:	dc.l	0
ye:	dc.l	0

wf:
	movem.l	d0-d7/a0-a6,-(sp)
	bsr.w	wyswietlacz
	bsr.w	pointer
	move.l	dosbase,a6
	clr.l	d1
	jsr	-198(a6)
	move.l	gfxbase,a6
	jsr	-270(a6)
	movem.l	(sp)+,d0-d7/a0-a6

	rts

random:
	movem.l	d0-d1/a6,-(sp)

	move.l	intbase,a6
	add.l	#78,a6
	move.b	(a6)+,d0
	move.b	(a6)+,d1
	eor.b	d1,d0
	and.w	#$FF,d0
	move.w	d0,rnd

	movem.l	(sp)+,d0-d1/a6
	rts

rnd:	dc.w	0

firetest:
	move.b	$bfe001,firestat
	bsr.w	message
	tst.b	mousebutton
	bne.s	fire_here
	btst	#6,firestat
	rts
fire_here:
	btst	#7,firestat
	rts

firestat:
	dc.w	0

;********************************************************************

pippal:
	movem.l	d0-d7/a0-a6,-(sp)
tutaj:
	bsr.w	joy
	move.l	xp,d0
	move.l	yp,d1
	move.l	d0,d2
	move.l	d1,d3
	sub.l	#6,d1
	add.l	#32,d0
	bsr.w	kasujpaletke
	bsr.w	rysujpaletke
	bsr.w	rysujkulke
	move.l	d0,xe
	move.l	d1,ye
	bsr.w	rmbtrap
	bsr.w	wf
	bsr.w firetest
	beq.s	tamitu
	bsr.w	rysujkulke
	bra.s	tutaj
tamitu:
	movem.l	d0-d7/a0-a6,-(sp)
	move.l	#1,d1
	move.l	dosbase,a6
	jsr	-198(a6)	
	movem.l	(sp)+,d0-d7/a0-a6
	bsr.w firetest
	beq.s	tamitu
	bsr.w	rysujkulke
	swap	d0
	move.l	d0,x
	swap	d1
	move.l	d1,y
	move.l	#-10,xe
	movem.l	(sp)+,d0-d7/a0-a6
	rts

;*********************************************************************

kolzpal:
	movem.l	d0-d7/a0-a6,-(sp)
	tst.l	ky
	bmi.W	k_end
	move.l	x,d0
	move.l	y,d1
	swap	d0
	swap	d1
	move.l	xp,d2
	move.l	yp,d3

	add.w	#6,d1
	cmp.w	d3,d1
	blt.W	k_end
	sub.w	d3,d1
	cmp.w	#5,d1
	bge.W	k_end

	add.w	#6,d0
	cmp.w	d0,d2
	bgt.W	k_end
	sub.w	#4,d0
	add.w	#64,d2
	cmp.w	d0,d2
	blt.W	k_end
	sub.w	#32,d2
	add.w	#2,d0
	sub.w	d2,d0
	ext.l	d0
	swap	d0
	asr.l	#6,d0

	add.l	d0,kx
	
	neg.l	ky
	
	tst.w	klej
	beq.W	nieklej

	tst.l	d0
	bne.s	dznz
	move.l	#$200,d0
dznz:	move.l	d0,kx
	move.l	xe,d0
	move.l	ye,d1
	bsr.w	rysujkulke

	move.l	xe,d4
	sub.l	xp,d4
	move.l	yp,d5
	sub.l	ye,d5

	bsr.w	literka
kleisie:
	bsr.w	joy
	move.l	xp,d0
	move.l	yp,d1
	move.l	d0,d2
	move.l	d1,d3
	sub.l	d5,d1
	add.l	d4,d0
	move.l	adl,adrl
	bsr.w	ruchliterki
	bsr.w	literka
	bsr.w	kasujpaletke
	bsr.w	rysujpaletke
	bsr.w	rysujkulke
	move.l	d0,xe
	move.l	d1,ye
	bsr.w	rmbtrap
	bsr.w	wf
	bsr.w	literka
	bsr.w firetest
	beq.s	klej_koniec
	bsr.w	rysujkulke
	bra.s	kleisie
klej_koniec:
	move.l	adl,adrl
	bsr.w	ruchliterki
	bsr.w	literka
	bsr.w	wf
	bsr.w	literka
	bsr.w firetest
	beq.s	klej_koniec
	bsr.w	literka
	swap	d0
	swap	d1
	move.l	d0,x
	move.l	d1,y
	
nieklej:
k_end:
	movem.l	(sp)+,d0-d7/a0-a6
	rts	

;***************************************************************

close:
	move.l	intbase(pc),a6
	move.l	window,a0
	jsr	-72(a6)

clint:
	move.l	intbase,a1
	move.l	4.w,a6
	jsr	-414(a6)

	move.l	dosbase,a1
	move.l	4.w,a6
	jsr	-414(a6)

	move.l	gfxbase,a1
	move.l	4.w,a6
	jsr	-414(a6)

	rts

error:	bsr.s	clint
	bra.W	quit

mouse:	dc.w	0

pointer:
	movem.l	d0-d7/a0-a6,-(sp)
	move.l	window,a0
	move.w	108(a0),d0
	move.w	110(a0),d1
	tst.w	d0
	bmi.s	psta
	tst.w	d1
	bmi.s	psta
;	cmp.w	#475,d0
	cmp.w	#320,d0
	bge.s	psta
;	cmp.w	#200,d1
	cmp.w	#180,d1
	bge.s	psta
	lea	mypointer,a1
	move.l	window,a0
	move.l	#5,d0
	move.l	#5,d1
	clr.l	d2
	clr.l	d3
	move.l	intbase,a6
	jsr	-270(a6)
	bra.s	joy_dalej
psta:	move.l	window,a6
	move.l	intbase,a6
	jsr	-60(a6)
joy_dalej:
	movem.l	(sp)+,d0-d7/a0-a6
	rts

joy:
	movem.l	d0-d7/a0-a6,-(sp)
	move.l	xp,sxp
	move.l	yp,syp

	tst.w	mouse
	beq.s	nomouse
	move.l	window,a0
	move.w	108(a0),d0
	sub.w	#32,d0
	ext.l	d0
	move.l	d0,xp

nomouse:
	move.w	$dff00c,d0
	btst	#9,d0
	beq.s	da1
	sub.l	#10,xp
da1:
	btst	#1,d0
	beq.s	da2
	add.l	#10,xp
da2:	cmp.l	#1,xp
	bge.s	niezm1
	move.l	#1,xp
niezm1:	cmp.l	#255,xp
	ble.s	niezm2
	move.l	#255,xp
niezm2:
	movem.l	(sp)+,d0-d7/a0-a6
	rts

mypointer:
	dc.w	0,0
	dc.w	%1111000000000000,%1111100000000000
	dc.w	%1110000000000000,%1001000000000000
	dc.w	%1100000000000000,%1010000000000000
	dc.w	%1000000000000000,%1100000000000000
	dc.w	%0000000000000000,%1000000000000000

; d0 - x
; d1 - y

kolizja:
	move.l	#0,kol
	asr.l	#5,d0
	asr.l	#3,d1
	tst.l	d0
	bmi.W	kkend
	tst.l	d1
	bmi.W	kkend
	cmp.l	#20,d1
	bge.W	kkend
	cmp.l	#10,d0
	bge.W	kkend
	movem.l	d0-d1,-(sp)
	mulu	#10,d1
	add.l	d1,d0
	lea	plact,a0
	add.l	d0,a0
	move.b	(a0),d2
	bsr.w	kloc
	beq.W	nokloc
	movem.l	(sp)+,d0-d1
	cmp.b	#8,d2
	bge.s	tuskacz
	move.b	#32,(a0)
	asl.l	#5,d0
	asl.l	#3,d1
	sub.l	#1,ilkloc

	add.l	#1,punkty
	add.l	d2,punkty

	bsr.w	pokazpunkty
	bsr.w	zyciowybonus

	bsr.w	rysujklocek

	cmp.l	#0,adrl
	bne.s	tuskacz
	bsr.w	random
	move.w	rnd,d2
	asl.w	#2,d2
	lea	litery,a0
	move.l	(a0,d2.w),a0
	beq.s	tuskacz
	add.l	#12,d0
	move.l	d0,xl
	move.l	d1,yl
	move.l	a0,adl
tuskacz:
	cmp.b	#1,hard
	beq.s	kkend
	move.l	#1,kol
kkend:
	tst.l	kol
	rts

literka:
	cmp.l	#0,adrl
	bne.s	l_r
	rts
l_r:	movem.l	d0-d7/a0-a6,-(sp)
	move.l	xl,d2
	move.l	yl,d3
	move.l	#%01100110,d6
	move.l	adrl,a0
;	bsr.s	l_lap
	clr.l	d0
	clr.l	d1
	move.l	rastport,a1
	move.l	#8,d4
	move.l	#8,d5
;	move.l	#%11001100,d6
	move.l	gfxbase,a6
	jsr	putbitmap	
	movem.l	(sp)+,d0-d7/a0-a6
	rts

; d2 - xlit
; d3 - ylit

l_lap:	movem.l	d0-d5/d7/a0-a6,-(sp)
	add.l	#8,d3
	cmp.l	yp,d3
	blt.s	la_end
	add.l	#8,d2
	cmp.l	xp,d2
	ble.s	la_end
	sub.l	#72,d2
	cmp.l	xp,d2
	bge.s	la_end
	bsr.s	l_zlap
la_end:
	movem.l	(sp)+,d0-d5/d7/a0-a6
	rts
	
l_zlap:
	clr.b	hard
	move.l	adrl,a2
	clr.l	adl
	clr.l	adrl
	clr.l	d6
	cmp.l	#le,a2
	beq.W	lextrazycie
	cmp.l	#lb,a2
	beq.W	lbonus
	cmp.l	#ln,a2
	beq.W	lnastpl
	cmp.l	#ls,a2
	beq.W	lspowolnienie
	cmp.l	#lk,a2
	beq.W	lklej
	cmp.l	#lpyt,a2
	beq.s	lpytajnik
	cmp.l	#lh,a2
	beq.s	lhardball
	rts

lhardball:
	clr.w	klej
	move.b	#1,hard
	move.l	#haract,liniaadr
	rts

hard:	dc.w	0

lpytajnik:
	bsr.w	random
	move.w	rnd,d0
	lea	cowylosowane,a0
	add.l	d0,a0
	move.b	(a0),d0
	subq	#1,d0
	beq.W	lextrazycie
	subq	#1,d0
	beq.W	lspowolnienie
	subq	#1,d0
	beq.W	lbonus
	subq	#1,d0
	beq.W	lnastpl
	subq	#1,d0
	beq.W	lklej
	subq	#1,d0
	beq.s	lhardball
	move.l	#nothing,liniaadr
	add.l	#10,punkty
	bsr.w	pokazpunkty
	clr.w	klej
	rts

cowylosowane:
	blk.b	4,1		;ûycie
	blk.b	60,2		;spowolnienie
	blk.b	12,3		;bonus
	blk.b	6,4		;nast. plansza
	blk.b	60,5		;klej
	blk.b	12,6		;hardball
	blk.b	512

	even

lextrazycie:
	move.l	#xtra,liniaadr
	add.l	#10,punkty
	bsr.w	pokazpunkty
	clr.w	klej
	add.l	#1,zycia
	bsr.w	pokazzycia
	rts
lbonus:
	move.l	#bonus,liniaadr
	add.l	#60,punkty
	bsr.w	pokazpunkty
	clr.w	klej
	rts
lnastpl:
	add.l	#10,punkty
	bsr.w	pokazpunkty
	clr.w	klej
	clr.l	ilkloc
	bra.W	koniec
lspowolnienie:
	move.l	#sldown,liniaadr
	add.l	#10,punkty
	bsr.w	pokazpunkty
	clr.w	klej
	move.l	d0,-(sp)
	move.l	ky,d0
	cmp.l	#$4000,d0
	bgt.s	s_zmy
	cmp.l	#-$4000,d0
	blt.s	s_zmy
	bra.s	s_nex
s_zmy:	asr.l	#2,d0
	sub.l	d0,ky
s_nex:	move.l	kx,d0
	cmp.l	#$8000,d0
	bgt.s	s_zmn
	cmp.l	#-$8000,d0
	blt.s	s_zmn
	bra.s	s_exit
	blt.w	s_zmn
s_zmn:	asr.l	#3,d0
	sub.l	d0,kx
s_exit:
	move.l	(sp)+,d0
	rts
lklej:
	move.l	#glu,liniaadr
	add.l	#10,punkty
	bsr.L	pokazpunkty
	move.w	#1,klej
	rts

klej:	dc.w	0

ruchliterki:
	move.l	d0,-(sp)
	move.l	yl,d0
	subq.l	#6,d0
	cmp.l	yp,d0
	bgt.s	rl_k
	addq.l	#7,d0
	move.l	d0,yl
	move.l	(sp)+,d0
	rts
rl_k:
	move.l	(sp)+,d0
	move.l	#0,adrl
	move.l	#0,adl
	rts

nokloc:	movem.l	(sp)+,d0-d1
;	movem.l	(sp)+,d0-d7/a0-a6
	tst.l	kol
	rts

zyciowybonus:
	movem.l	d0-d7/a0-a6,-(sp)
	move.l	bonusyadr,a0
	move.l	(a0)+,d0
	cmp.l	punkty,d0
	bgt.s	zyboend
	move.l	a0,bonusyadr
	addq.l	#1,zycia
	move.l	#xtra,liniaadr
	bsr.s	pokazzycia
zyboend:
	movem.l	(sp)+,d0-d7/a0-a6
	rts

pokazpunkty:
	movem.l	d0-d7/a0-a6,-(sp)
	lea	punkty,a0
	lea	cyfra,a1
	bsr.w	conv
	lea	cyfra,a1
	move.l	#329,d2
	move.l	#24,d3
	move.l	#20,d4
	move.l	#6,d0
	bsr.w	piszcyfre
	movem.l	(sp)+,d0-d7/a0-a6
	rts

pokazzycia:
	movem.l	d0-d7/a0-a6,-(sp)
	lea	zycia,a0
	lea	cyfra,a1
	bsr.w	conv
	lea	cyfra+16,a1
	move.l	#2,d0
	move.l	#329,d2
	move.l	#65,d3
	move.l	#20,d4
	bsr.w	piszcyfre
	movem.l	(sp)+,d0-d7/a0-a6
	rts

; podaje nr. klocka
; d2 - dana z planszy

; d2 - numer

kloc:	cmp.b	#32,d2
	bne.s	jest
	moveq	#-1,d2
	bra.s	kend
jest:	sub.b	#48,d2
	cmp.b	#7,d2
	ble.s	nietw
	sub.b	#41,d2	
nietw:	ext.w	d2
	ext.l	d2
kend:	cmp.l	#-1,d2
	rts

; a0 - adres

rysujplansze:
	movem.l	d0-d7/a0-a6,-(sp)
	move.l	#0,ilkloc
	lea	plact,a1
	move.w	#19,d6
rloop1:	move.w	#9,d7
rloop2:
	move.b	(a0)+,d2
	move.b	d2,(a1)+
	bsr.s	kloc
	beq.s	niema
	move.w	#9,d0
	sub.w	d7,d0
	ext.l	d0
	asl.l	#5,d0
	move.w	#19,d1
	sub.w	d6,d1
	ext.l	d1
	asl.l	#3,d1
	cmp.l	#8,d2
	bge.s	niedoddoilkloc
	add.l	#1,ilkloc
niedoddoilkloc:
	bsr.w	rysujklocek
niema:	dbf	d7,rloop2
	dbf	d6,rloop1		
	movem.l	(sp)+,d0-d7/a0-a6
	rts

rysujpanel:
	bsr.w	prawypanel
	bsr.s	lewypanel
	bsr.w	statusline
	rts

lewypanel:
	movem.l	d0-d7/a0-a6,-(sp)
	clr.l	d0
	clr.l	d1
	move.l	#320,d2
	move.l	#179,d3
	bsr.s	ramka
	movem.l	(sp)+,d0-d7/a0-a6
	rts

statusline:
	movem.l	d0-d7/a0-a6,-(sp)
	clr.l	d0
	move.l	#181,d1
	move.l	#320,d2
	move.l	#12,d3
	bsr.w	ramka
	movem.l	(sp)+,d0-d7/a0-a6
	rts

ramka:
	movem.l	d0-d7/a0-a6,-(sp)
	lea	tab1,a0

	add.l	#11,d1
	addq.l	#4,d0
	move.w	d0,tu1
	move.w	d1,tam1
	move.w	d0,tu2
	move.w	d1,tam2
	sub.l	#11,d1
	subq.l	#4,d0

	move.w	#0,(a0)+
	move.w	d3,(a0)+
	move.w	#0,(a0)+
	move.w	#0,(a0)+
	move.w	d2,(a0)+
	move.w	#0,(a0)+

	move.w	d2,(a0)+
	move.w	#0,(a0)+
	move.w	d2,(a0)+
	move.w	d3,(a0)+
	move.w	#0,(a0)+
	move.w	d3,(a0)+

	move.l	d2,d4
	move.l	d3,d5
	move.l	d0,d2
	move.l	d1,d3

	lea	panel,a0
	clr.l	d0
	clr.l	d1
	move.l	rastport,a1
	move.l	#0,d6
	move.l	gfxbase,a6
	jsr	putbitmap

	lea	poleramka,a1
	moveq	#0,d0
	moveq	#0,d1
	move.l	rastport,a0
	move.l	intbase,a6
	jsr	-108(a6)

	movem.l	(sp)+,d0-d7/a0-a6
	rts
clearstatline:
	movem.l	d0-d7/a0-a6,-(sp)
	lea	panel,a0
	clr.l	d0
	clr.l	d1
	move.l	#1,d2
	move.l	#182,d3
	move.l	#319,d4
	move.l	#11,d5
	move.l	rastport,a1
	move.l	#0,d6
	move.l	gfxbase,a6
	jsr	putbitmap
	movem.l	(sp)+,d0-d7/a0-a6
	rts

putbitmap:
	movem.l	d2-d3,-(sp)
	add.w	#4,d2
	add.w	#11,d3
	jsr	-606(a6)
	movem.l	(sp)+,d2-d3
	rts

; d0 - speed

scrollstatline:
	movem.l	d0-d7/a0-a6,-(sp)
	move.l	rastport,a1
	clr.l	d1
	move.l	#4+4,d2
	move.l	#182+11,d3
	move.l	#319+4,d4
	move.l	#191+11,d5
	move.l	gfxbase,a6
	jsr	-396(a6)
	movem.l	(sp)+,d0-d7/a0-a6
	rts

poleramka:
tu1:	dc.w	0
tam1:	dc.w	0
	dc.b	2,0
	dc.b	0
	dc.b	3
	dc.l	tab1
	dc.l	poleramka2
poleramka2:
tu2:	dc.w	0
tam2:	dc.w	0
	dc.b	1,0
	dc.b	0
	dc.b	3
	dc.l	tab2
	dc.l	0

tab1:
	blk.w	6
tab2:
	blk.w	6

prawypanel:
	movem.l	d0-d7/a0-a6,-(sp)
	lea	panel,a0
	clr.l	d0
	clr.l	d1
	move.l	#324,d2
	clr.l	d3
	move.l	rastport,a1
	move.l	#129,d4
	move.l	#194,d5
	move.l	#%11001100,d6
	move.l	gfxbase,a6
	jsr	putbitmap	
	movem.l	(sp)+,d0-d7/a0-a6
	rts

; *** d1 - timeout

wait:
wait_loop:
	movem.l	d0-d7/a0-a6,-(sp)
	bsr.w	message
	moveq.l	#1,d1
	move.l	dosbase,a6
	jsr	-198(a6)
	movem.l	(sp)+,d0-d7/a0-a6
	bsr.w firetest
	beq.w	wroc
	dbf	d1,wait_loop
	rts

termos:
;	incbin	"Termos16y.228.24.raw"
of:
;	incbin	"Of58y.48.28.raw"
union:
;	incbin	"Union95y.192.42.raw"

bitmapstruct:
szer:	dc.w	2
wys:	dc.w	8
	dc.b	0
	dc.b	2
	dc.w	0
adres1b:
	dc.l	0
adres2b:
	dc.l	0

demo:
	move.l	#15,d1
	bsr.w	wait

	lea	termos,a0
	clr.l	d0
	clr.l	d1
	move.l	#228,d4
	move.l	#24,d5
	move.l	#16,d3
	move.l	#46,d2
	bsr.w	rysuj
	move.l	#15,d1
	bsr.w	wait

	lea	of,a0
	clr.l	d0
	clr.l	d1
	move.l	#48,d4
	move.l	#28,d5
	move.l	#58,d3
	move.l	#136,d2
	bsr.w	rysuj
	move.l	#15,d1
	bsr.w	wait

	lea	union,a0
	clr.l	d0
	clr.l	d1
	move.l	#192,d4
	move.l	#42,d5
	move.l	#95,d3
	move.l	#64,d2
	bsr.w	rysuj
	move.l	#15,d1
	bsr.w	wait

	move.l	#150,d3
	move.l	#119,d7
	clr.l	d1
	move.l	#10,d5
demo_loop:
	move.l	#116,d4

	lea	presents,a0
	bsr.w	bitmapcreate
	move.l	#120,d4
	sub.l	d7,d4
	move.l	d7,d2
	add.l	#200,d2
	lea	presents,a0
	bsr.w	rysnob
	bsr.w firetest
	beq.W	wroc
	bsr.w	wf
	subq.l	#1,d7
	dbf	d7,demo_loop

	move.w	#49,d7
demo_loop2:
	subq.l	#2,d2
	bsr.w	rysnob
	bsr.w	wf
	dbf	d7,demo_loop2

	moveq.l	#25,d1
	bsr.w	wait

	bsr.w	lewypanel

	lea	arcanoid+76,a0
	move.l	#75,d3
	move.l	#300,d4
	move.l	#61,d5
	move.l	#10,d2
	bsr.w	rysuj

	lea	mianim,a1
	move.l	#35,d3
	move.l	#76,d4
	move.l	#34,d5
	move.l	#122,d2	
d_animloop:
	move.l	(a1)+,a0
	cmp.l	#0,a0
	beq.s	d_ale
	bsr.w	rysuj
	move.l	#2,d1
	bsr.w	wait
	bra.s	d_animloop
d_ale:
	move.l	#25,d1
	bsr.w	wait
	rts

arcanoid:
;	incbin	"Arcanoid72y.300.59.raw"
mi1:;	incbin	"Mini40y.76.34.1.raw"
mi2:;	incbin	"Mini40y.76.34.2.raw"
mi3:;	incbin	"Mini40y.76.34.3.raw"
mi4:;	incbin	"Mini40y.76.34.4.raw"
mi5:;	incbin	"Mini40y.76.34.5.raw"
mi6:;	incbin	"Mini40y.76.34.6.raw"

mianim:	dc.l	mi1,mi2,mi3,mi4,mi5,mi6,mi5,mi4,0

presents:
;	incbin	"Presents116*10.raw"

alphabet:
;	incbin	"chars.raw"

chartable:
	blk.b	33,42	; 32
	dc.b	26,42,42,42,42,42,46,41,43,42,45,39,40,38,48 ;47
	dc.b	37,28,29,30,31,32,33,34,35,36 ; 57
	dc.b	44,42,42,42,42 ; 62
	dc.b	27,42 ; 64
	dc.b	0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 ; 79
	dc.b	16,17,18,19,20,21,22,23,24,25 ; 90
	blk.b	103,42 ; 193
	dc.b	47 ; 194
	blk.b	61,42 ; 255


prefire:
	dc.b	-2,8,' PRESS FIRE OR LEFT MOUSE BUTTON   '
	blk.b	200,-1
	dc.b	-2,2
	dc.b	'     THIS GAME IS 100 PERCENT PURE ASSEMBLER CODE '
	DC.B	"AND IT'S WRITTEN IN SEKA(!) ASSEMBLER. "
	DC.B	'CONTACT US FOR BUG REPORTS, NEW IDEAS, OR '
	DC.B	'SOMETHING ELSE AT:',-2,2 
	DC.B	' MATTA BBS'
	DC.B	' ++48 - 22 - 3 1 4 3 2 8   22.00 - 15.00'
	blk.b	400,-1
	DC.B	', OR WRITE TO OUR SWAPPERS:'
	dc.b	-2,1
	dc.b	' DIODAK OF TERMOS: '
	DC.B	'JANUSZ KULIGOWSKI UL. WÂSKA 3 03-064 '
	DC.B	'WARSZAWA 99,     PIT OF TERMOS: '
	DC.B	'NA SZLAKOWISKU 9/93 27-200 STARACHOWICE.           '
	dc.b	-2,2
	DC.B	' THANKS TO BONE AND DAFFY OF AM FOR PLAY TESTING. '
	DC.B	'THIS GAME IS TOTALLY FREEWARE. IF YOU LIKE IT '
	DC.B	'YOU MAY SEND ME SOMETHING, WHAT YOU WANT, '
	dc.b	"IF YOU WANT OF COURSE."
	DC.B	' THERE IS ONE BUG IN THIS VERSION - BLINKING OF '
	DC.B	'THE BALL ON A SLOWER MACHINES '
	DC.B	"(NO DOUBLE BUFFERING) AND I DON'T KNOW "
	DC.B	"HOW TO FIX HIM. IF YOU HAVE ANY IDEA THEN "
	DC.B	"CONTACT US - I'LL BE VERY GRATEFULL. "
	DC.B	"         ENJOY !                          "
	DC.B	"TERMOS FOREVER !                    "

	DC.B	0

	even

XTRA:	DC.B	'              EXTRA BALL!               '
BONUS:	DC.B	'            BONUS - 50 PTS.             '
LOST:	DC.B	'             LOST ONE BALL              '
NEXTL:   DC.B	'             NEXT LEVEL...              '
SHIT:	DC.B	'               OH, SHIT!                '
MIS:	DC.B	"            YOU'VE MISSED !             "
GOOD:	DC.B	'              GOOD WORK !               '
CUP:	DC.B	'         NEXT LEVEL COMMING UP...       '
YEAH:	DC.B	'                 YEAH!                  '
OVER:	DC.B	'            !! GAME OVER !!             '
BYE:	DC.B	'                 BYE !                  '
SLDOWN:	DC.B	'               SLOW DOWN                '
GLU:	DC.B	'                 GLUE                   '
NOTHING:DC.B	'                NOTHING                 '
HARACT:	DC.B	'          HARD BALL ACTIVATED           '

	EVEN

; a0 - text

scrolltext:
	movem.l	a1/d0-d3,-(sp)
	move.l	scrolladr,a1
	move.b	(a1),d0
	cmp.b	#-1,d0
	beq.s	scr_end
	tst.b	licznik
	bne.s	scroll_only
	move.b	speed,d0
	ext.w	d0
	ext.l	d0
	move.l	#8,d1
	divu	d0,d1
	move.b	d1,licznik
scr_tu:
	move.b	(a1)+,d0
	tst.b	d0
	bne.s	nores
	move.l	a0,a1
	bra.s	scr_tu
nores:	cmp.b	#-2,d0
	bne.s	nospeedchange
	move.b	(a1)+,speed
	bra.s	scr_tu
nospeedchange:
	move.l	#308,d2
	move.l	#183,d3
	bsr.w	char
scroll_only:
	sub.b	#1,licznik
	move.b	speed,d0
	ext.w	d0
	ext.l	d0
	bsr.w	scrollstatline
	move.l	a1,scrolladr
	movem.l	(sp)+,a1/d0-d3
	rts

scr_end:
	addq	#1,a1
	move.l	a1,scrolladr
	movem.l	(sp)+,a1/d0-d3
	rts


speed:	dc.b	2
	even
licznik:
	dc.w	0

; a0 - scrolltext

scrollinit:
	clr.b	licznik
	move.l	a0,scrolladr
	bsr.w	clearstatline
	move.l	scrolladr,a0
	rts
scrolladr:
	dc.l	0
pustalinia:
	dc.b	'                                        '

; a0 - linia

line:
	movem.l	a0/d2-d3/d7,-(sp)
	move.l	#4,d2
	move.l	#183,d3
	move.w	#38,d7
l_loop:	move.b	(a0)+,d0
	bmi.s	l_loop
	bsr.w	char
	addq	#8,d2
	dbf	d7,l_loop
	movem.l	(sp)+,a0/d2-d3/d7
	rts

; d0 - nr. znaku
; d2 - x
; d3 - y

char:
	cmp.b	#32,d0
	bne.s	char_nosp
	rts
char_nosp:
	movem.l	a0/d0-d5,-(sp)
	and.w	#$ff,d0
	lea	chartable,a0
	move.b	(a0,d0.w),d0
	lea	alphabet,a0
	and.l	#$ff,d0
	mulu	#11,d0
	add.l	#1,d0
	move.l	#1,d1
	move.l	#8,d4
	move.l	#8,d5
	move.w	#68,szer
	move.w	#10,wys
	move.l	a0,adres1b
	move.l	a0,adres2b
	add.l	#680,adres2b
	bsr.w	rysnob
	movem.l	(sp)+,a0/d0-d5
	rts

; *****************************************************
; *** a0 - obiekt
; *** d0 - move x
; *** d1 - move y
; *** d2 - x
; *** d3 - y
; *** d4 - size x
; *** d5 - size y
; *****************************************************
rysuj:
	bsr.s	bitmapcreate
rysnob:	movem.l	d0-d7/a0-a6,-(sp)
	lea	bitmapstruct,a0
	move.l	rastport,a1
	move.l	gfxbase,a6
	move.l	#%11001100,d6
	jsr	putbitmap
	movem.l	(sp)+,d0-d7/a0-a6
	rts

bitmapcreate:
	movem.l	a0/d4-d6,-(sp)
	move.w	d4,d6
	add.w	#15,d6
	asr.w	#3,d6
	and.w	#$fffe,d6
	move.w	d6,szer
	move.w	d5,wys
	move.l	a0,adres1b
	mulu	d5,d6
	ext.l	d6
	add.l	d6,a0
	move.l	a0,adres2b
	movem.l	(sp)+,a0/d4-d6
	rts

; a0 - cyfra
; d0 - ilosc znakow
; d2 - x
; d3 - y
; d4 - krok x

piszcyfre:
	movem.l	d0-d7/a0-a6,-(sp)
	subq.l	#1,d0
p_next:	move.l	(a1)+,a0
	movem.l	d0-d4/a1,-(sp)
	clr.l	d0
	clr.l	d1
	move.l	rastport,a1
	move.l	#19,d4
	move.l	#17,d5
	move.l	#%11001100,d6	
	move.l	gfxbase,a6
	jsr	putbitmap
	movem.l	(sp)+,d0-d4/a1
	add.l	d4,d2
	dbf	d0,p_next
	movem.l	(sp)+,d0-d7/a0-a6
	rts

; d0-x
; d1-y
; d2-nr

rysujklocek:
	movem.l	d0-d7/a0-a6,-(sp)
	lea	tablicaklockow,a0
	asl.l	#2,d2
	add.l	d2,a0
	move.l	(a0),a0
	move.l	d0,d2
	move.l	d1,d3
	clr.l	d0
	clr.l	d1
	move.l	rastport,a1
	move.l	#32,d4
	move.l	#8,d5
	move.l	#%01100110,d6
	move.l	gfxbase(pc),a6
	jsr	putbitmap
	movem.l	(sp)+,d0-d7/a0-a6
	rts

kolizjag:
	movem.l	d0-d7/a0-a6,-(sp)
	sub.l	#2,d1
	add.l	#7,d0
	bsr.w	kolizja
	movem.l	(sp)+,d0-d7/a0-a6
	tst.l	kol
	rts
kolizjad:
	movem.l	d0-d7/a0-a6,-(sp)
	add.l	#6,d1
	add.l	#7,d0
	bsr.w	kolizja
	movem.l	(sp)+,d0-d7/a0-a6
	tst.l	kol
	rts
kolizjal:
	movem.l	d0-d7/a0-a6,-(sp)
	add.l	#3,d0
	add.l	#2,d1
	bsr.w	kolizja
	movem.l	(sp)+,d0-d7/a0-a6
	tst.l	kol
	rts
kolizjap:
	movem.l	d0-d7/a0-a6,-(sp)
	add.l	#10,d0
	add.l	#3,d1
	bsr.w	kolizja
	movem.l	(sp)+,d0-d7/a0-a6
	tst.l	kol
	rts

kol:	dc.l	0
sxp:	dc.l	0
syp:	dc.l	0

kasujpaletke:
	movem.l	d0-d7/a0-a6,-(sp)
	move.l	sxp,d0
	move.l	syp,d1
	cmp.l	xp,d0
	bne.s	kas
	cmp.l	yp,d1
	bne.s	kas
	movem.l	(sp)+,d0-d7/a0-a6
	rts
kas:
	lea	kaspal,a0
	clr.l	d0
	clr.l	d1
	move.l	sxp,d2
	move.l	syp,d3
	move.l	rastport,a1
	move.l	#64,d4
	move.l	#6,d5
	move.l	#%0,d6
	move.l	gfxbase(pc),a6
	jsr	putbitmap
	movem.l	(sp)+,d0-d7/a0-a6
	rts

rysujpaletke:
	movem.l	d0-d7/a0-a6,-(sp)
	lea	paletka,a0
	clr.l	d0
	clr.l	d1
	move.l	yp,d3
	move.l	rastport,a1
	move.l	#64,d4
	move.l	#6,d5
	move.l	#%11001100,d6
	move.l	gfxbase(pc),a6
	move.l	xp,d2
	move.l	gfxbase(pc),a6
	jsr	putbitmap
	movem.l	(sp)+,d0-d7/a0-a6
	rts

; d0-x
; d1-y

rysujkulke:
	cmp.w	#-10,d0
	bne.s	rysujk
	rts
rysujk:	movem.l	d0-d7/a0-a6,-(sp)
	move.l	d0,d2
	move.l	d1,d3
	lea	kulkabitmap,a0
	clr.l	d0
	clr.l	d1
	move.l	rastport,a1
	move.l	#10,d4
	move.l	#6,d5
	move.l	#%01100110,d6
	move.l	gfxbase(pc),a6
	jsr	putbitmap
	movem.l	(sp)+,d0-d7/a0-a6
	rts

bonusy:
	dc.l	2000,4000
	dc.l	6000,8000,10000,15000
	dc.l	20000,25000,30000,35000,40000,45000,50000
	dc.l	55000,60000,65000,70000,75000,80000,85000,90000
	dc.l	95000,100000,150000,200000,250000,300000,350000
	dc.l	400000,450000,500000,550000,600000,650000
	dc.l	700000,750000,800000,850000,900000,950000,10000000
	dc.l	$7fffffff

bonusyadr:
	dc.l	0

xp:	dc.l	0
yp:	dc.l	0

rastport:
	dc.l	0

intname:
	dc.b	'intuition.library',0
	even
intbase:
	dc.l	0
dosname:
	dc.b	'dos.library',0
	even
dosbase:
	dc.l	0
gfxname:
	dc.b	'graphics.library',0
	even
gfxbase:
	dc.l	0
newwindow:
	dc.w	80
	dc.w	45
	dc.w	480
	dc.w	210
	dc.b	0
	dc.b	1
	dc.l	512+8
	dc.l	2+4+8+$10000;+1024
	dc.l	0
	dc.l	0
	dc.l	WINNAME
	dc.l	0
	dc.l	0
	dc.w	0
	dc.w	0
	dc.w	480
	dc.w	10
	dc.w	1

window:	dc.l	0

winname:
	dc.b	'MiniArcanoid v0.6. All work done by PP of Termos.',0
	even
x:	dc.l	$a00000
y:	dc.l	$960000
kx:	dc.l	$010000
ky:	dc.l	$FFFf0000
tablicaklockow:
	dc.l	kl1,kl2,kl3,kl4,kl5,kl6,kl7,kl8
	dc.l	tkl1,tkl2,tkl3,tkl4,tkl5,tkl6,tkl7,tkl8

kursor:	dc.l	$00000000

paletka:
	dc.w	8
	dc.w	6
	dc.b	0
	dc.b	2
	dc.w	0
	dc.l	pal
	dc.l	pal+48
pal:;	incbin	"Paletka.raw"

kaspal:
	dc.w	0
	dc.w	6
	dc.b	0
	dc.b	2
	dc.w	0
	dc.l	kp
	dc.l	kp+48
kp:	blk.b	96

kulka:;	incbin	"Kulka.raw"

kulkabitmap:
	dc.w	2
	dc.w	6
	dc.b	0
	dc.b	2
	dc.w	0
	dc.l	kulka
	dc.l	kulka+16

kl1:
	dc.w	4
	dc.w	8
	dc.b	0
	dc.b	2
	dc.w	0
	dc.l	kl1d
	dc.l	kl1d+32
kl1d:;	incbin	"k1.raw"
kl2:
	dc.w	4
	dc.w	8
	dc.b	0
	dc.b	2
	dc.w	0
	dc.l	kl2d
	dc.l	kl2d+32
kl2d:;	incbin	"k2.raw"
kl3:
	dc.w	4
	dc.w	8
	dc.b	0
	dc.b	2
	dc.w	0
	dc.l	kl3d
	dc.l	kl3d+32
kl3d:;	incbin	"k3.raw"
kl4:
	dc.w	4
	dc.w	8
	dc.b	0
	dc.b	2
	dc.w	0
	dc.l	kl4d
	dc.l	kl4d+32
kl4d:;	incbin	"k4.raw"
kl5:
	dc.w	4
	dc.w	8
	dc.b	0
	dc.b	2
	dc.w	0
	dc.l	kl5d
	dc.l	kl5d+32
kl5d:;	incbin	"k5.raw"
kl6:
	dc.w	4
	dc.w	8
	dc.b	0
	dc.b	2
	dc.w	0
	dc.l	kl6d
	dc.l	kl6d+32
kl6d:;	incbin	"k6.raw"
kl7:
	dc.w	4
	dc.w	8
	dc.b	0
	dc.b	2
	dc.w	0
	dc.l	kl7d
	dc.l	kl7d+32
kl7d:;	incbin	"k7.raw"
kl8:
	dc.w	4
	dc.w	8
	dc.b	0
	dc.b	2
	dc.w	0
	dc.l	kl8d
	dc.l	kl8d+32
kl8d:;	incbin	"k8.raw"
tkl1:
	dc.w	4
	dc.w	8
	dc.b	0
	dc.b	2
	dc.w	0
	dc.l	tkl1d
	dc.l	tkl1d+32
tkl1d:;	incbin	"t1.raw"
tkl2:
	dc.w	4
	dc.w	8
	dc.b	0
	dc.b	2
	dc.w	0
	dc.l	tkl2d
	dc.l	tkl2d+32
tkl2d:;	incbin	"t2.raw"
tkl3:
	dc.w	4
	dc.w	8
	dc.b	0
	dc.b	2
	dc.w	0
	dc.l	tkl3d
	dc.l	tkl3d+32
tkl3d:;	incbin	"t3.raw"
tkl4:
	dc.w	4
	dc.w	8
	dc.b	0
	dc.b	2
	dc.w	0
	dc.l	tkl4d
	dc.l	tkl4d+32
tkl4d:;	incbin	"t4.raw"
tkl5:
	dc.w	4
	dc.w	8
	dc.b	0
	dc.b	2
	dc.w	0
	dc.l	tkl5d
	dc.l	tkl5d+32
tkl5d:;	incbin	"t5.raw"
tkl6:
	dc.w	4
	dc.w	8
	dc.b	0
	dc.b	2
	dc.w	0
	dc.l	tkl6d
	dc.l	tkl6d+32
tkl6d:;	incbin	"t6.raw"
tkl7:
	dc.w	4
	dc.w	8
	dc.b	0
	dc.b	2
	dc.w	0
	dc.l	tkl7d
	dc.l	tkl7d+32
tkl7d:;	incbin	"t7.raw"
tkl8:
	dc.w	4
	dc.w	8
	dc.b	0
	dc.b	2
	dc.w	0
	dc.l	tkl8d
	dc.l	tkl8d+32
tkl8d:;	incbin	"t8.raw"

cyfry:	dc.l	c0,c1,c2,c3,c4,c5,c6,c7,c8,c9

dzielonko:
	dc.l	10000,1000,100,10,1

; liczba do cyfra

; a0 - liczba
; a1 - cyfra

conv:	
	move.l	(a0),d1
	lea	cyfry,a2
	lea	dzielonko,a3
	moveq.l	#5,d0
	move.l	#c0,(a1)
	cmp.l	#99999,d1
	ble.s	wlproc
	move.l	#c1,(a1)
wlproc:	add.l	#4,a1
	subq	#1,d0
c_loop:	move.l	d1,d2
	move.l	(a3)+,d3
	divu	d3,d2
	ext.l	d2
	tst.w	d2
	bne.s	nz
	move.l	#c0,(a1)+
	dbf	d0,c_loop
	rts

nz:	mulu	d2,d3
	asl.w	#2,d2
	move.l	(a2,d2.w),(a1)+
	sub.l	d3,d1
	dbf	d0,c_loop
	rts

cyfra:	blk.l	6

c0:	dc.w	4
	dc.w	17
	dc.b	0
	dc.b	2
	dc.w	0
	dc.l	c0r
	dc.l	c0r+68
c0r:;	incbin	"0.raw"

c1:	dc.w	4
	dc.w	17
	dc.b	0
	dc.b	2
	dc.w	0
	dc.l	c1r
	dc.l	c1r+68
c1r:;	incbin	"1.raw"

c2:	dc.w	4
	dc.w	17
	dc.b	0
	dc.b	2
	dc.w	0
	dc.l	c2r
	dc.l	c2r+68
c2r:;	incbin	"2.raw"

c3:	dc.w	4
	dc.w	17
	dc.b	0
	dc.b	2
	dc.w	0
	dc.l	c3r
	dc.l	c3r+68
c3r:;	incbin	"3.raw"

c4:	dc.w	4
	dc.w	17
	dc.b	0
	dc.b	2
	dc.w	0
	dc.l	c4r
	dc.l	c4r+68
c4r:;	incbin	"4.raw"

c5:	dc.w	4
	dc.w	17
	dc.b	0
	dc.b	2
	dc.w	0
	dc.l	c5r
	dc.l	c5r+68
c5r:;	incbin	"5.raw"

c6:	dc.w	4
	dc.w	17
	dc.b	0
	dc.b	2
	dc.w	0
	dc.l	c6r
	dc.l	c6r+68
c6r:;	incbin	"6.raw"

c7:	dc.w	4
	dc.w	17
	dc.b	0
	dc.b	2
	dc.w	0
	dc.l	c7r
	dc.l	c7r+68
c7r:;	incbin	"7.raw"

c8:	dc.w	4
	dc.w	17
	dc.b	0
	dc.b	2
	dc.w	0
	dc.l	c8r
	dc.l	c8r+68
c8r:;	incbin	"8.raw"

c9:	dc.w	4
	dc.w	17
	dc.b	0
	dc.b	2
	dc.w	0
	dc.l	c9r
	dc.l	c9r+68
c9r:;	incbin	"9.raw"

panel:	dc.w	18
	dc.w	194
	dc.b	0
	dc.b	2
	dc.w	0
	dc.l	pan
	dc.l	pan+3492
pan:;	incbin	"panel.129.194.raw"

; ******************************************************************

litery:
	dc.l	lb,lb,lb
	dc.l	le
	dc.l	ls,ls,ls,ls,ls,ls,ls,ls,lh,lh
	dc.l	ln,ln
	dc.l	lk,lk,lk,lk,lk,lk
	dc.l	lpyt,lpyt,lpyt,lpyt,lpyt,lpyt,lpyt,lpyt
	dc.l	lpyt,lpyt,lpyt,lpyt
	blk.l	500

;*******************************************************************

lh:
	dc.w	2
	dc.w	8
	dc.b	0
	dc.b	2
	dc.w	0
	dc.l	lh+16
	dc.l	lh+32
	incbin	"h.raw"
le:
	dc.w	2
	dc.w	8
	dc.b	0
	dc.b	2
	dc.w	0
	dc.l	le+16
	dc.l	le+16+16
	incbin	"e.raw"
lb:
	dc.w	2
	dc.w	8
	dc.b	0
	dc.b	2
	dc.w	0
	dc.l	lb+16
	dc.l	lb+16+16
	incbin	"b.raw"
ln:	dc.w	2
	dc.w	8
	dc.b	0
	dc.b	2
	dc.w	0
	dc.l	ln+16
	dc.l	ln+16+16
	incbin	"n.raw"
ls:	dc.w	2
	dc.w	8
	dc.b	0
	dc.b	2
	dc.w	0
	dc.l	ls+16
	dc.l	ls+16+16
	incbin	"s.raw"
lk:	dc.w	2
	dc.w	8
	dc.b	0
	dc.b	2
	dc.w	0
	dc.l	lk+16
	dc.l	lk+16+16
	incbin	"g.raw"

lpyt:	dc.w	2
	dc.w	8
	dc.b	0
	dc.b	2
	dc.w	0
	dc.l	lpyt+16
	dc.l	lpyt+16+16
	incbin	"?.raw"

plact:
	blk.b	1000

;******************************************************************

pltab:	dc.l	pl1,pl2,pl3,pl4,pl5,pl6,pl7,pl8,pl9,pl10,pl11,pl12
	dc.l	pl13,pl14,pl15,pl16,pl17,pl18,pl19,pl20,0

;******************************************************************

pl1:
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'0000000000'
	dc.b	'1111111111'
	dc.b	'2222222222'
	dc.b	'3333333333'
	dc.b	'4444444444'
	dc.b	'5555555555'
	dc.b	'6666666666'
	dc.b	'7777777777'
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
pl2:
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	' 12344321 '
	dc.b	' 45677654 '
	dc.b	' 567ff765 '
	dc.b	' 567ff765 '
	dc.b	' 45677654 '
	dc.b	' 12344321 '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '

pl3:
	dc.b	'          '
	dc.b	'    00    '
	dc.b	'   0110   '
	dc.b	'   0110   '
	dc.b	'  011110  '
	dc.b	'  011110  '
	dc.b	' 022  220 '
	dc.b	' 0 f  f 0 '
	dc.b	' 0      0 '
	dc.b	' 0  bb  0 '
	dc.b	' 0      0 '
	dc.b	'  0d  d0  '
	dc.b	'  0 dd 0  '
	dc.b	'  01  10  '
	dc.b	'   0110   '
	dc.b	'    00    '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
pl4:
	dc.b	'          '
	dc.b	'76543210  '
	dc.b	'6543210   '
	dc.b	'543210    '
	dc.b	'43210     '
	dc.b	'3210      '
	dc.b	'210       '
	dc.b	'10        '
	dc.b	'0         '
	dc.b	'          '
	dc.b	'abcd  efgh'
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '

pl5:
	dc.b	'  bcddcb  '
	dc.b	'          '
	dc.b	' a      a '
	dc.b	' a 4444 a '
	dc.b	' b 5555 b '
	dc.b	' c 6666 c '
	dc.b	' d 7777 d '
	dc.b	' c 6666 c '
	dc.b	' b 5555 b '
	dc.b	' a 4444 a '
	dc.b	' f 1111 f '
	dc.b	' g 2222 g '
	dc.b	' h 3333 h '
	dc.b	' g 2222 g '
	dc.b	' f 1111 f '
	dc.b	' e 0000 e '
	dc.b	' eeeeeeee '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '

pl6:
	dc.b	'7012345670'
	dc.b	'6  123  67'
	dc.b	'5 7 12 4 6'
	dc.b	'4 6 01 3 5'
	dc.b	'3 5 70 2 4'
	dc.b	'2 4 67 1 3'
	dc.b	'1  456  12'
	dc.b	'0 2345 701'
	dc.b	'7 1234 670'
	dc.b	'6 0123 567'
	dc.b	'5 7012 456'
	dc.b	'4567012345'
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '

pl7:
	dc.b	'3   aa   4'
	dc.b	'23  dd  45'
	dc.b	'23  hh  45'
	dc.b	'123 ee 456'
	dc.b	'123    456'
	dc.b	'0123  4567'
	dc.b	'0123  4567'
	dc.b	' 01234567 '
	dc.b	' 01234567 '
	dc.b	'  012567  '
	dc.b	'  012567  '
	dc.b	'   0167   '
	dc.b	'   0167   '
	dc.b	'    07    '
	dc.b	'    07    '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '

pl8:
	dc.b	'00  11  22'
	dc.b	'00  11  22'
	dc.b	'00  11  22'
	dc.b	'  cc  aa  '
	dc.b	'  cc  aa  '
	dc.b	'  cc  aa  '
	dc.b	'33  44  55'
	dc.b	'33  44  55'
	dc.b	'33  44  55'
	dc.b	'  ff  dd  '
	dc.b	'  ff  dd  '
	dc.b	'  ff  dd  '
	dc.b	'66  77  00'
	dc.b	'66  77  00'
	dc.b	'66  77  00'
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
pl9:
	dc.b	'00      aa'
	dc.b	'00      aa'
	dc.b	' 11       '
	dc.b	' 11       '
	dc.b	'  22      '
	dc.b	'  22      '
	dc.b	'   33     '
	dc.b	'   33     '
	dc.b	'    44    '
	dc.b	'    44    '
	dc.b	'     55   '
	dc.b	'     55   '
	dc.b	'      66  '
	dc.b	'      66  '
	dc.b	'       77 '
	dc.b	'       77 '
	dc.b	'aa      00'
	dc.b	'aa      00'
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
pl10:
	dc.b	'6000000006'
	dc.b	'0        0'
	dc.b	'0 111111 0'
	dc.b	'0 12cc21 0'
	dc.b	'0 12cc21 0'
	dc.b	'0 111111 0'
	dc.b	'0        0'
	dc.b	'6000000006'
	dc.b	'          '
	dc.b	'7333333337'
	dc.b	'3        3'
	dc.b	'3 444444 3'
	dc.b	'3 45ff54 3'
	dc.b	'3 45ff54 3'
	dc.b	'3 444444 3'
	dc.b	'3        3'
	dc.b	'7333333337'
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
pl11:
	dc.b	'ffffffffff'
	dc.b	'b        b'
	dc.b	'b        b'
	dc.b	'b0123210 b'
	dc.b	'bbbbbbbb1b'
	dc.b    'b        b'
	dc.b    'b        b'
	dc.b	'b 4567654b'
	dc.b	'b1bbbbbbbb'
	dc.b	'b        b'
	dc.b	'b        b'
	dc.b	'b0123210 b'
	dc.b	'bbbbbbbb1b'
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
pl12:
	dc.b	'          '
	dc.b	'          '
	dc.b	' d d  d d '
	dc.b	' c c  c c '
	dc.b	' b7b  b7b '
	dc.b	' aaa  aaa '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'   d55d   '
	dc.b	'   c66c   '
	dc.b	'   b77b   '
	dc.b	'   aaaa   '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
pl13:
	dc.b	'          '
	dc.b	'    00    '
	dc.b	'   1111   '
	dc.b	'  112211  '
	dc.b	' 11222211 '
	dc.b	'1122332211'
	dc.b	'1234554321'
	dc.b	'4567007654'
	dc.b	'4567  7654'
	dc.b	'4567  7654'
	dc.b	'4567007654'
	dc.b	'1234554321'
	dc.b	'1122332211'
	dc.b	' 11222211 '
	dc.b	'  112211  '
	dc.b	'   1111   '
	dc.b	'    00    '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
pl14:
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	' aaaaeeee '
	dc.b	' a77ae33e '
	dc.b	' b66bf22f '
	dc.b	' c55cg11g '
	dc.b	' d44dh00h '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '

pl15:
	dc.b	'0101010101'
	dc.b	'1212121212'
	dc.b	'2323232323'
	dc.b	'3434343434'
	dc.b	'4545454545'
	dc.b	'5656565656'
	dc.b	'6767676767'
	dc.b	'0101010101'
	dc.b	'1212121212'
	dc.b	'2323232323'
	dc.b	'3434343434'
	dc.b	'4545454545'
	dc.b	'5656565656'
	dc.b	'6767676767'
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
pl16:
	dc.b	'          '
	dc.b	'          '
	dc.b	'   a  a   '
	dc.b	'   a  a   '
	dc.b	'  aa  aa  '
	dc.b	'  aa  aa  '
	dc.b	' bbb  bbb '
	dc.b	' bbb11bbb '
	dc.b	' cc1221cc '
	dc.b	' c126621c '
	dc.b	' c126621c '
	dc.b	' ddd66ddd '
	dc.b	'  dddddd  '
	dc.b	'    dd    '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
pl17:
	dc.b	'0000000000'
	dc.b	'1111111111'
	dc.b	' cccccccc '
	dc.b	' cccccccc '
	dc.b	'3333333333'
	dc.b	'4444444444'
	dc.b	' ffffffff '
	dc.b	' ffffffff '
	dc.b	'6666666666'
	dc.b	'7777777777'
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
pl18:
	dc.b	'          '
	dc.b	'4444444444'
	dc.b	'5555555555'
	dc.b	'          '
	dc.b	' aa  aaaa '
	dc.b	'bbb bb  bb'
	dc.b	' cc cc  cc'
	dc.b	' dd  dddd '
	dc.b	' ee ee  ee'
	dc.b	' ff ff  ff'
	dc.b	' gg  gggg '
	dc.b	'          '
	dc.b	'6666666666'
	dc.b	'7777777777'
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
pl19:
	dc.b	'aaaaaaaaaa'
	dc.b	'aabbccbbaa'
	dc.b	'aabbccbbaa'
	dc.b	'aaaaaaaaaa'
	dc.b	'7777  7777'
	dc.b	'7777  7777'
	dc.b	'666    666'
	dc.b	'666    666'
	dc.b	'55      55'
	dc.b	'55      55'
	dc.b	'4        4'
	dc.b	'4        4'
	dc.b	'3        3'
	dc.b	'3        3'
	dc.b	'22      22'
	dc.b	'22      22'
	dc.b	'111    111'
	dc.b	'111    111'
	dc.b	'0000  0000'
	dc.b	'0000  0000'
pl20:
	dc.b	'0        1'
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'    45    '
	dc.b	'    67    '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'          '
	dc.b	'2        3'
