* --------------------
* -     Rev 1.2      -
* -        by        -
* -  Marc  Fischlin  -
* -        in        -
* -       2/88       -
* --------------------
	incdir	"ram:include/"
	include	intuition/intuition.i
	include	intuition/intuition_lib.i
	include	exec/exec_lib.i
	include	graphics/graphics_lib.i
	include	libraries/dos.i
	include	libraries/dos_lib.i
	include	misc/easystart.i
	jmp	staaart
*  TextMacro :
* -------------
PRINT		MACRO
		clr.l		d5
		clr.l		d6
		clr.l		d0
		lea		\1,a4
notlenred_\@	move.b		(a4)+,d5
		tst.l		d5
		beq		prilenred_\@
		add		#1,d0
		jmp		notlenred_\@
prilenred_\@	move.w		d0,d6
		move.l		wptr,a1
		move.l		wd_RPort(a1),a1
		move.w		#1,d0
		CALLGRAF	SetAPen
		move.w		\2,d0
		move.w		\3,d1
		move.l		wptr,a1
		move.l		wd_RPort(a1),a1
		CALLGRAF	Move
		move.l		wptr,a1
		move.l		wd_RPort(a1),a1
		move.w		d6,d0
		lea		\1,a0
		CALLGRAF	Text
		endm
*  GadgetMacro :
* ---------------
GADGET		move.l		d0,(a0)
		add.w		#131,d1
		move.w		d1,$04(a0)
		add		#2,d2
		move.w		d2,$06(a0)
		move.w		#29,$08(a0)
		move.w		#14,$0a(a0)
		move.w		#GADGHCOMP,$0c(a0)
		move.w		#RELVERIFY,$0e(a0)
		move.w		#1,$10(a0)
		move.l		#border,$12(a0)
		move.l		#0,$16(a0)
		move.l		#0,$1a(a0)
		move.l		#0,$1e(a0)
		move.l		#0,$22(a0)
		move.w		d3,$26(a0)
		move.l		#0,$28(a0)
		rts
*  FillMacro :
* -------------------
FILL		MACRO
		move.l		wptr,a1
		move.l		wd_RPort(a1),a1
		move.w		\3,d0
		CALLGRAF	SetAPen
		move.w		\1,d0
		add		#131,d0
		move.w		\2,d1
		add		#2,d1
		move.w		\1,d2
		add		#159,d2
		move.w		\2,d3
		add		#15,d3
		move.l		wptr,a1
		move.l		wd_RPort(a1),a1
		CALLGRAF	RectFill	
		endm
*  BlueMacro :
* -------------
ASK		MACRO
		lea		\1,a0		;ist der Platz noch frei ?
		move.l		\2,d0
		move.b		0(a0,d0),d1
		cmp.b		#0,d1
		beq		\4
		jmp		\3
		endm
*  Change :
* ----------
CHANGE		MACRO				;was wird um-
		clr.l		d5		;gedreht ?
		clr.l		d3
		clr.l		d2
		clr.l		d6
		move.b		byte,d6
		move.b		offset,d5
		lea		tableII,a3
		move.l		0(a3,d5),a5
		move.b		\4,0(a5,d6)
		move		d5,d3
		move		d6,d2
		mulu		#30,d2
		add		#2,d2
		move.w		d2,xfill
		lsr		#2,d3
		mulu		#15,d3
		add		#11,d3
		move.w		d3,yfill
		FILL		xfill,yfill,\5
cb_\@		sub		\1,d5
		sub		\2,d6
		cmp		#0,d5
		blt		cds_\@
		cmp		#28,d5
		bgt		cds_\@
		cmp		#0,d6
		blt		cds_\@
		cmp		#7,d6
		bgt		cds_\@
		lea		tableII,a3
		move.l		0(a3,d5),a5
		move.b		0(a5,d6),d4
		cmp.b		\3,d4
		beq		reach_\@
		jmp		cds_\@
reach_\@	move.b		\4,0(a5,d6)
		move		d5,d3
		move		d6,d2
		mulu		#30,d2
		add		#2,d2
		move.w		d2,xfill
		lsr		#2,d3
		mulu		#15,d3
		add		#11,d3
		move.w		d3,yfill
		FILL		xfill,yfill,\5
		jmp		cb_\@
cds_\@		nop		
		endm
*  PossibleMacro :
* -----------------
POSSIBLE	MACRO				;ist der zug möglich ?
		clr.l		d5
		clr.l		d6
		move.b		offset,d5
		move.b		byte,d6
		lea		counter,a3
		move		#0,(a3)
		lea		tableII,a5
		sub		\1,d5
		sub		\2,d6
		move.l		0(a5,d5),a4
		move.b		0(a4,d6),d3
		move.b		fab1,d4		
		cmp.b		d4,d3
		beq		voryep_\@
		jmp		pback_\@
voryep_\@	add.b		#1,(a3)	
yep_\@		sub		\1,d5
		cmp		#0,d5
		blt		pback_\@
		cmp		#28,d5
		bgt		pback_\@
		sub		\2,d6
		cmp		#0,d6
		blt		pback_\@
		cmp		#7,d6
		bgt		pback_\@
		move.l		0(a5,d5),a4
		move.b		0(a4,d6),d3		
		move.b		fab1,d4
		cmp.b		d4,d3
		beq		voryep_\@
		move.b		fab2,d4
		cmp.b		d4,d3
		beq		pok_\@
		jmp		pback_\@
pok_\@		lea		\3,a0
		move.b		#1,(a0)
		move.b		endcounter,d2
		lea		endcounter,a3
		move.b		counter,d3
		add.b		d3,d2
		move.b		d2,(a3)		
		jmp		preally_\@
pback_\@	lea		\3,a0
		move.b		#0,(a0)
preally_\@	nop
		endm	
*  HexerMacro :
* --------------
HEXER		MACRO
		lea		\1,a5
		move.b		\2,d5
		and.l		#$ffff,d5
		divs		#10,d5
		add.b		#"0",d5
		move.b		d5,(a5)+
		swap		d5
		and.l		#$ffff,d5
		add.b		#"0",d5
		move.b		d5,(a5)+
		PRINT		\1,#81,\3
		endm
*  Intuition oeffnen :
* ---------------------
staaart		lea		intname,a1
		moveq		#0,d0
		CALLEXEC	OpenLibrary
		move.l		d0,_IntuitionBase
*  Graphics oeffnen :
* --------------------
		lea		grafname,a1
		moveq		#0,d0
		CALLEXEC	OpenLibrary
		move.l		d0,_GfxBase
*  DOS oeffnen :
* ---------------
		lea		DOSname,a1
		moveq		#0,d0
		CALLEXEC	OpenLibrary
		move.l		d0,_DOSBase	
*  OpenMainWindow :
* ------------------
	lea	gadget1,a0
	move.l	#gadget2,d0	;alle Gadgets initialisieren
	move.l	#2,d1
	move.l	#11,d2
	move.l	#1,d3
	jsr	GADGET
	lea	gadget2,a0
	move.l	#gadget3,d0
	move.l	#32,d1
	move.l	#11,d2
	move.l	#9,d3
	jsr	GADGET
	lea	gadget3,a0
	move.l	#gadget4,d0
	move.l	#62,d1
	move.l	#11,d2
	move.l	#17,d3
	jsr	GADGET
	lea	gadget4,a0
	move.l	#gadget5,d0
	move.l	#92,d1
	move.l	#11,d2
	move.l	#25,d3
	jsr	GADGET
	lea	gadget5,a0
	move.l	#gadget6,d0
	move.l	#122,d1
	move.l	#11,d2
	move.l	#33,d3
	jsr	GADGET
	lea	gadget6,a0
	move.l	#gadget7,d0
	move.l	#152,d1
	move.l	#11,d2
	move.l	#41,d3
	jsr	GADGET
	lea	gadget7,a0
	move.l	#gadget8,d0
	move.l	#182,d1
	move.l	#11,d2
	move.l	#49,d3
	jsr	GADGET
	lea	gadget8,a0
	move.l	#gadget9,d0
	move.l	#212,d1
	move.l	#11,d2
	move.l	#57,d3
	jsr	GADGET
	lea	gadget9,a0
	move.l	#gadget10,d0
	move.l	#2,d1
	move.l	#26,d2
	move.l	#2,d3
	jsr	GADGET
	lea	gadget10,a0
	move.l	#gadget11,d0
	move.l	#32,d1
	move.l	#26,d2
	move.l	#10,d3
	jsr	GADGET
	lea	gadget11,a0
	move.l	#gadget12,d0
	move.l	#62,d1
	move.l	#26,d2
	move.l	#18,d3
	jsr	GADGET
	lea	gadget12,a0
	move.l	#gadget13,d0
	move.l	#92,d1
	move.l	#26,d2
	move.l	#26,d3
	jsr	GADGET
	lea	gadget13,a0
	move.l	#gadget14,d0
	move.l	#122,d1
	move.l	#26,d2
	move.l	#34,d3
	jsr	GADGET
	lea	gadget14,a0
	move.l	#gadget15,d0
	move.l	#152,d1
	move.l	#26,d2
	move.l	#42,d3
	jsr	GADGET
	lea	gadget15,a0
	move.l	#gadget16,d0
	move.l	#182,d1
	move.l	#26,d2
	move.l	#50,d3
	jsr	GADGET
	lea	gadget16,a0
	move.l	#gadget17,d0
	move.l	#212,d1
	move.l	#26,d2
	move.l	#58,d3
	jsr	GADGET
	lea	gadget17,a0
	move.l	#gadget18,d0
	move.l	#2,d1
	move.l	#41,d2
	move.l	#3,d3
	jsr	GADGET
	lea	gadget18,a0
	move.l	#gadget19,d0
	move.l	#32,d1
	move.l	#41,d2
	move.l	#11,d3
	jsr	GADGET
	lea	gadget19,a0
	move.l	#gadget20,d0
	move.l	#62,d1
	move.l	#41,d2
	move.l	#19,d3
	jsr	GADGET
	lea	gadget20,a0
	move.l	#gadget21,d0
	move.l	#92,d1
	move.l	#41,d2
	move.l	#27,d3
	jsr	GADGET
	lea	gadget21,a0
	move.l	#gadget22,d0
	move.l	#122,d1
	move.l	#41,d2
	move.l	#35,d3
	jsr	GADGET
	lea	gadget22,a0
	move.l	#gadget23,d0
	move.l	#152,d1
	move.l	#41,d2
	move.l	#43,d3
	jsr	GADGET
	lea	gadget23,a0
	move.l	#gadget24,d0
	move.l	#182,d1
	move.l	#41,d2
	move.l	#51,d3
	jsr	GADGET
	lea	gadget24,a0
	move.l	#gadget25,d0
	move.l	#212,d1
	move.l	#41,d2
	move.l	#59,d3
	jsr	GADGET
	lea	gadget25,a0
	move.l	#gadget26,d0
	move.l	#2,d1
	move.l	#56,d2
	move.l	#4,d3
	jsr	GADGET
	lea	gadget26,a0
	move.l	#gadget27,d0
	move.l	#32,d1
	move.l	#56,d2
	move.l	#12,d3
	jsr	GADGET
	lea	gadget27,a0
	move.l	#gadget28,d0
	move.l	#62,d1
	move.l	#56,d2
	move.l	#20,d3
	jsr	GADGET
	lea	gadget28,a0
	move.l	#gadget29,d0
	move.l	#92,d1
	move.l	#56,d2
	move.l	#28,d3
	jsr	GADGET
	lea	gadget29,a0
	move.l	#gadget30,d0
	move.l	#122,d1
	move.l	#56,d2
	move.l	#36,d3
	jsr	GADGET
	lea	gadget30,a0
	move.l	#gadget31,d0
	move.l	#152,d1
	move.l	#56,d2
	move.l	#44,d3
	jsr	GADGET
	lea	gadget31,a0
	move.l	#gadget32,d0
	move.l	#182,d1
	move.l	#56,d2
	move.l	#52,d3
	jsr	GADGET
	lea	gadget32,a0
	move.l	#gadget33,d0
	move.l	#212,d1
	move.l	#56,d2
	move.l	#60,d3
	jsr	GADGET
	lea	gadget33,a0
	move.l	#gadget34,d0
	move.l	#2,d1
	move.l	#71,d2
	move.l	#5,d3
	jsr	GADGET
	lea	gadget34,a0
	move.l	#gadget35,d0
	move.l	#32,d1
	move.l	#71,d2
	move.l	#13,d3
	jsr	GADGET
	lea	gadget35,a0
	move.l	#gadget36,d0
	move.l	#62,d1
	move.l	#71,d2
	move.l	#21,d3
	jsr	GADGET
	lea	gadget36,a0
	move.l	#gadget37,d0
	move.l	#92,d1
	move.l	#71,d2
	move.l	#29,d3
	jsr	GADGET
	lea	gadget37,a0
	move.l	#gadget38,d0
	move.l	#122,d1
	move.l	#71,d2
	move.l	#37,d3
	jsr	GADGET
	lea	gadget38,a0
	move.l	#gadget39,d0
	move.l	#152,d1
	move.l	#71,d2
	move.l	#45,d3
	jsr	GADGET
	lea	gadget39,a0
	move.l	#gadget40,d0
	move.l	#182,d1
	move.l	#71,d2
	move.l	#53,d3
	jsr	GADGET
	lea	gadget40,a0
	move.l	#gadget41,d0
	move.l	#212,d1
	move.l	#71,d2
	move.l	#61,d3
	jsr	GADGET
	lea	gadget41,a0
	move.l	#gadget42,d0
	move.l	#2,d1
	move.l	#86,d2
	move.l	#6,d3
	jsr	GADGET
	lea	gadget42,a0
	move.l	#gadget43,d0
	move.l	#32,d1
	move.l	#86,d2
	move.l	#14,d3
	jsr	GADGET
	lea	gadget43,a0
	move.l	#gadget44,d0
	move.l	#62,d1
	move.l	#86,d2
	move.l	#22,d3
	jsr	GADGET
	lea	gadget44,a0
	move.l	#gadget45,d0
	move.l	#92,d1
	move.l	#86,d2
	move.l	#30,d3
	jsr	GADGET
	lea	gadget45,a0
	move.l	#gadget46,d0
	move.l	#122,d1
	move.l	#86,d2
	move.l	#38,d3
	jsr	GADGET
	lea	gadget46,a0
	move.l	#gadget47,d0
	move.l	#152,d1
	move.l	#86,d2
	move.l	#46,d3
	jsr	GADGET
	lea	gadget47,a0
	move.l	#gadget48,d0
	move.l	#182,d1
	move.l	#86,d2
	move.l	#54,d3
	jsr	GADGET
	lea	gadget48,a0
	move.l	#gadget49,d0
	move.l	#212,d1
	move.l	#86,d2
	move.l	#62,d3
	jsr	GADGET
	lea	gadget49,a0
	move.l	#gadget50,d0
	move.l	#2,d1
	move.l	#101,d2
	move.l	#7,d3
	jsr	GADGET
	lea	gadget50,a0
	move.l	#gadget51,d0
	move.l	#32,d1
	move.l	#101,d2
	move.l	#15,d3
	jsr	GADGET
	lea	gadget51,a0
	move.l	#gadget52,d0
	move.l	#62,d1
	move.l	#101,d2
	move.l	#23,d3
	jsr	GADGET
	lea	gadget52,a0
	move.l	#gadget53,d0
	move.l	#92,d1
	move.l	#101,d2
	move.l	#31,d3
	jsr	GADGET
	lea	gadget53,a0
	move.l	#gadget54,d0
	move.l	#122,d1
	move.l	#101,d2
	move.l	#39,d3
	jsr	GADGET
	lea	gadget54,a0
	move.l	#gadget55,d0
	move.l	#152,d1
	move.l	#101,d2
	move.l	#47,d3
	jsr	GADGET
	lea	gadget55,a0
	move.l	#gadget56,d0
	move.l	#182,d1
	move.l	#101,d2
	move.l	#55,d3
	jsr	GADGET
	lea	gadget56,a0
	move.l	#gadget57,d0
	move.l	#212,d1
	move.l	#101,d2
	move.l	#63,d3
	jsr	GADGET
	lea	gadget57,a0
	move.l	#gadget58,d0
	move.l	#2,d1
	move.l	#116,d2
	move.l	#8,d3
	jsr	GADGET
	lea	gadget58,a0
	move.l	#gadget59,d0
	move.l	#32,d1
	move.l	#116,d2
	move.l	#16,d3
	jsr	GADGET
	lea	gadget59,a0
	move.l	#gadget60,d0
	move.l	#62,d1
	move.l	#116,d2
	move.l	#24,d3
	jsr	GADGET
	lea	gadget60,a0
	move.l	#gadget61,d0
	move.l	#92,d1
	move.l	#116,d2
	move.l	#32,d3
	jsr	GADGET
	lea	gadget61,a0
	move.l	#gadget62,d0
	move.l	#122,d1
	move.l	#116,d2
	move.l	#40,d3
	jsr	GADGET
	lea	gadget62,a0
	move.l	#gadget63,d0
	move.l	#152,d1
	move.l	#116,d2
	move.l	#48,d3
	jsr	GADGET
	lea	gadget63,a0
	move.l	#gadget64,d0
	move.l	#182,d1
	move.l	#116,d2
	move.l	#56,d3
	jsr	GADGET
	lea	gadget64,a0
	move.l	#bts,d0
	move.l	#212,d1
	move.l	#116,d2
	move.l	#64,d3
	jsr	GADGET
		lea		wdef,a0
		CALLINT     	OpenWindow
		move.l		d0,wptr
		FILL		#92,#56,#3
		FILL		#122,#56,#2
		FILL		#92,#71,#2
		FILL		#122,#71,#3
		PRINT		msg1,#33,#90
		PRINT		msg4,#33,#104
vorevent	move.b		#0,upper
		move.b		#0,drupper
		move.b		#0,righter
		move.b		#0,drowner
		move.b		#0,downer
		move.b		#0,dlowner
		move.b		#0,lefter
		move.b		#0,dlupper
		move.b		#2,mode
		move.b		#0,ou
event2		clr.l		d5
		clr.l		d4
		move.b		ou,d4
		move.b		#1,d5
		add.b		d5,d4
		lea		ou,a5
		move.b		d4,(a5)
		clr.l		d5
		move.b		ou,d5
		cmp.b		#61,d5		;ist schon alles voll ?
		beq		youpass
		lea		offset,a3
		lea		byte,a4
		lea		tableIV,a0
		lsl		#2,d5
		move.l		0(a0,d5),a0
		jmp		(a0)
eve4		move.b		endcounter,d0
		cmp.b		#0,d0
		beq		event2
		move.b		#0,endcounter
		move.b		#0,mode
		jmp		event
youpass		move.b		passone,d0
		cmp.b		#1,d0
		beq		yopa2
		jmp		u3
yopa2		move.b		#0,mode
		move.b		#0,endcounter
		move.b		you,d0
		move.b		cpu,d1
		sub.b		d0,d1
		add.b		#64,d1
		cmp.b		#64,d1
		beq		yep1
		cmp.b		#64,d1
		bgt		yep2
		PRINT		msg5,#22,#126
		jmp		event
yep1		PRINT		msg6,#6,#126
		jmp		event
yep2		PRINT		msg7,#18,#126
		jmp		event
pe1		ASK		one,#0,pe2,iwi1 	;was ist frei ?
pe2		ASK		eight,#0,pe3,iwi8
pe3		ASK		one,#7,pe4,iwi57b
pe4		ASK		eight,#7,pl1,iwi64b
pl1		ASK		one,#2,pl2,iwi17
pl2		ASK		one,#3,pl3,iwi25
pl3		ASK		one,#4,pl4,iwi33be
pl4		ASK		one,#5,pl5,iwi41be
pl5		ASK		two,#2,pl6,iwi18
pl6		ASK		two,#3,pl7,iwi26
pl7		ASK		two,#4,pl8,iwi34be
pl8		ASK		two,#5,pl9,iwi42b
pl9		ASK		three,#0,pl10,iwi3
pl10		ASK		three,#1,pl11,iwi11
pl11		ASK		three,#2,pl12,iwi19
pl12		ASK		three,#3,pl13,iwi27
pl13		ASK		three,#4,pl14,iwi35be
pl14		ASK		three,#5,pl15,iwi43b
pl15		ASK		three,#6,pl16,iwi51b
pl16		ASK		three,#7,pl17,iwi59b
pl17		ASK		four,#0,pl18,iwi4
pl18		ASK		four,#1,pl19,iwi12
pl19		ASK		four,#2,pl20,iwi20
pl20		ASK		four,#5,pl21,iwi44b
pl21		ASK		four,#6,pl22,iwi52b
pl22		ASK		four,#7,pl23,iwi60b
pl23		ASK		five,#0,pl24,iwi5
pl24		ASK		five,#1,pl25,iwi13
pl25		ASK		five,#2,pl26,iwi21
pl26		ASK		five,#5,pl27,iwi45b
pl27		ASK		five,#6,pl28,iwi53b
pl28		ASK		five,#7,pl29,iwi61b
pl29		ASK		six,#0,pl30,iwi6
pl30		ASK		six,#1,pl31,iwi14
pl31		ASK		six,#2,pl32,iwi22
pl32		ASK		six,#3,pl33,iwi30
pl33		ASK		six,#4,pl34,iwi38be
pl34		ASK		six,#5,pl35,iwi46b
pl35		ASK		six,#6,pl36,iwi54b
pl36		ASK		six,#7,pl37,iwi62b
pl37		ASK		seven,#2,pl38,iwi23
pl38		ASK		seven,#3,pl39,iwi31
pl39		ASK		seven,#4,pl40,iwi39be
pl40		ASK		seven,#5,pl41,iwi47b
pl41		ASK		eight,#2,pl42,iwi24
pl42		ASK		eight,#3,pl43,iwi32
pl43		ASK		eight,#4,pl44,iwi40be
pl44		ASK		eight,#5,pl45,iwi48b
pl45		ASK		one,#1,pl46,iwi9
pl46		ASK		two,#0,pl47,iwi2
pl47		ASK		two,#1,pl48,iwi10
pl48		ASK		eight,#1,pl49,iwi16
pl49		ASK		seven,#0,pl50,iwi7
pl50		ASK		seven,#1,pl51,iwi15
pl51		ASK		one,#6,pl52,iwi49b
pl52		ASK		two,#7,pl53,iwi58b
pl53		ASK		two,#6,pl54,iwi50b
pl54		ASK		eight,#6,pl55,iwi56b
pl55		ASK		seven,#7,pl56,iwi63b
pl56		ASK		seven,#6,eve4,iwi55b
event		move.b		#0,upper
		move.b		#0,drupper
		move.b		#0,righter
		move.b		#0,drowner
		move.b		#0,downer
		move.b		#0,dlowner
		move.b		#0,lefter
		move.b		#0,dlupper
		move.l		wptr,a0
		move.l		wd_UserPort(a0),a0
		move.l		a0,a5
		CALLEXEC	WaitPort
		move.l		a5,a0
		CALLEXEC	GetMsg
		move.l		d0,a1
		move.l		im_Class(a1),d4
		move.w		im_Code(a1),d5
		move.l		im_IAddress(a1),a4
		CALLEXEC	ReplyMsg
		cmp.l		#CLOSEWINDOW,d4
		beq		dubblepseudo
		move.w		gg_GadgetID(a4),d0
		sub		#1,d0
		lsl		#2,d0
		lea.l		table,a0
		move.l		0(a0,d0),a0
		lea		offset,a3
		lea		byte,a4
		jmp		(a0)
* Your move :					
* ------------
iw1		ASK		one,#0,event,iwi1
iwi1		move.b		#0,(a3)			;was willst du ziehen ?
		move.b		#0,(a4)
		jsr		poss
		jmp		zwischen
iw2		ASK		two,#0,event,iwi2
iwi2		move.b		#4,(a3)
		move.b		#0,(a4)
		jsr		poss
		jmp		zwischen
dubblepseudo	jmp		pseudoclosemain
iw3		ASK		three,#0,event,iwi3
iwi3		move.b		#8,(a3)
		move.b		#0,(a4)
		jsr		poss
		jmp		zwischen
iw4		ASK		four,#0,event,iwi4
iwi4		move.b		#12,(a3)
		move.b		#0,(a4)
		jsr		poss
		jmp		zwischen
iw5		ASK		five,#0,event,iwi5
iwi5		move.b		#16,(a3)
		move.b		#0,(a4)
		jsr		poss
		jmp		zwischen
pseudoevent	jmp		vorevent
iw6		ASK		six,#0,event,iwi6
iwi6		move.b		#20,(a3)
		move.b		#0,(a4)
		jsr		poss
		jmp		zwischen
iw7		ASK		seven,#0,event,iwi7
iwi7		move.b		#24,(a3)
		move.b		#0,(a4)
		jsr		poss
		jmp		zwischen
iw8		ASK		eight,#0,event,iwi8
iwi8		move.b		#28,(a3)
		move.b		#0,(a4)
		jsr		poss		
		jmp		zwischen
iw9		ASK		one,#1,event,iwi9
iwi9		move.b		#0,(a3)
		move.b		#1,(a4)
		jsr		poss
		jmp		zwischen
backy1		jmp		backy2
bts1		jmp		bts2
ots1		jmp		ots2
iw10		ASK		two,#1,event,iwi10
iwi10		move.b		#4,(a3)
		move.b		#1,(a4)
		jsr		poss
		jmp		zwischen
iw11		ASK		three,#1,event,iwi11
iwi11		move.b		#8,(a3)
		move.b		#1,(a4)
		jsr		poss
		jmp		zwischen
iw12		ASK		four,#1,pseudoevent,iwi12
iwi12		move.b		#12,(a3)
		move.b		#1,(a4)
		jsr		poss
		jmp		zwischen
iw13		ASK		five,#1,pseudoevent,iwi13
iwi13		move.b		#16,(a3)
		move.b		#1,(a4)
		jsr		poss
		jmp		zwischen
iw14		ASK		six,#1,pseudoevent,iwi14
iwi14		move.b		#20,(a3)
		move.b		#1,(a4)
		jsr		poss
		jmp		zwischen
iw15		ASK		seven,#1,pseudoevent,iwi15
iwi15		move.b		#24,(a3)
		move.b		#1,(a4)
		jsr		poss
		jmp		zwischen
iw16		ASK		eight,#1,pseudoevent,iwi16
iwi16		move.b		#28,(a3)
		move.b		#1,(a4)
		jsr		poss
		jmp		zwischen
iw17		ASK		one,#2,pseudoevent,iwi17
iwi17		move.b		#0,(a3)
		move.b		#2,(a4)
		jsr		poss
		jmp		zwischen
iw18		ASK		two,#2,pseudoevent,iwi18
iwi18		move.b		#4,(a3)
		move.b		#2,(a4)
		jsr		poss
		jmp		zwischen
iw19		ASK		three,#2,pseudoevent,iwi19
iwi19		move.b		#8,(a3)
		move.b		#2,(a4)
		jsr		poss
		jmp		zwischen
iw20		ASK		four,#2,pseudoevent,iwi20
iwi20		move.b		#12,(a3)
		move.b		#2,(a4)
		jsr		poss
		jmp		zwischen
iw21		ASK		five,#2,pseudoevent,iwi21
iwi21		move.b		#16,(a3)
		move.b		#2,(a4)
		jsr		poss
		jmp		zwischen
iwi33be		jmp		iwi33
iwi34be		jmp		iwi34
iwi35be		jmp		iwi35
iwi38be		jmp		iwi38
iwi39be		jmp		iwi39
iwi40be		jmp		iwi40
iw22		ASK		six,#2,pseudoevent,iwi22
iwi22		move.b		#20,(a3)
		move.b		#2,(a4)
		jsr		poss
		jmp		zwischen
iw23		ASK		seven,#2,pseudoevent,iwi23
iwi23		move.b		#24,(a3)
		move.b		#2,(a4)
		jsr		poss
		jmp		zwischen
u3		jmp		u4
iwi41be		jmp		iwi41
iwi42b		jmp		iwi42
iwi43b		jmp		iwi43
iwi44b		jmp		iwi44
iwi45b		jmp		iwi45
iwi46b		jmp		iwi46
iwi47b		jmp		iwi47
iwi48b		jmp		iwi48
iwi49b		jmp		iwi49
iwi50b		jmp		iwi50
iw24		ASK		eight,#2,pseudoevent,iwi24
iwi24		move.b		#28,(a3)
		move.b		#2,(a4)
		jsr		poss
		jmp		zwischen
depsef		jmp		pseudoevent
iw25		ASK		one,#3,depsef,iwi25
iwi25		move.b		#0,(a3)
		move.b		#3,(a4)
		jsr		poss
		jmp		zwischen
iw26		ASK		two,#3,depsef,iwi26
iwi26		move.b		#4,(a3)
		move.b		#3,(a4)
		jsr		poss
		jmp		zwischen
iwi51b		jmp		iwi51
iwi52b		jmp		iwi52
iwi53b		jmp		iwi53
iwi54b		jmp		iwi54
iwi55b		jmp		iwi55
iwi56b		jmp		iwi56
iwi57b		jmp		iwi57
iwi58b		jmp		iwi58
iwi59b		jmp		iwi59
iwi60b		jmp		iwi60
iwi61b		jmp		iwi61
iwi62b		jmp		iwi62
iwi63b		jmp		iwi63
iwi64b		jmp		iwi64
iw27		ASK		three,#3,depsef,iwi27
iwi27		move.b		#8,(a3)
		move.b		#3,(a4)
		jsr		poss
		jmp		zwischen
iw28		ASK		four,#3,depsef,depsef
		jmp		depsef
iw29		ASK		five,#3,depsef,depsef
		jmp		depsef
pseudoclosemain	jmp		closemain
iw30		ASK		six,#3,depsef,iwi30
iwi30		move.b		#20,(a3)
		move.b		#3,(a4)
		jsr		poss
		jmp		zwischen
iw31		ASK		seven,#3,depsef,iwi31
iwi31		move.b		#24,(a3)
		move.b		#3,(a4)
		jsr		poss
		jmp		zwischen
iw32		ASK		eight,#3,depsef,iwi32
iwi32		move.b		#28,(a3)
		move.b		#3,(a4)
		jsr		poss
		jmp		zwischen
eve5		jmp		eve4
iw33		ASK		one,#4,depsef,iwi33
iwi33		move.b		#0,(a3)
		move.b		#4,(a4)
		jsr		poss
		jmp		zwischen
iw34		ASK		two,#4,depsef,iwi34
iwi34		move.b		#4,(a3)
		move.b		#4,(a4)
		jsr		poss
		jmp		zwischen
iw35		ASK		three,#4,depsef,iwi35
iwi35		move.b		#8,(a3)
		move.b		#4,(a4)
		jsr		poss
		jmp		zwischen
iw36		ASK		four,#4,depsef,depsef
		jmp		depsef
iw37		ASK		five,#4,depsef,depsef
		jmp		depsef
iw38		ASK		six,#4,depsef,iwi38
iwi38		move.b		#20,(a3)
		move.b		#4,(a4)
		jsr		poss
		jmp		zwischen
iw39		ASK		seven,#4,depsef,iwi39
iwi39		move.b		#24,(a3)
		move.b		#4,(a4)
		jsr		poss
		jmp		zwischen
backy2		jmp		backy3
bts2		jmp		bts3
ots2		jmp		ots3
iw40		ASK		eight,#4,depsef,iwi40
iwi40		move.b		#28,(a3)
		move.b		#4,(a4)
		jsr		poss
		jmp		zwischen
iw41		ASK		one,#5,depsef,iwi41
iwi41		move.b		#0,(a3)
		move.b		#5,(a4)
		jsr		poss
		jmp		zwischen
iw42		ASK		two,#5,depsef,iwi42
iwi42		move.b		#4,(a3)
		move.b		#5,(a4)
		jsr		poss
		jmp		zwischen
iw43		ASK		three,#5,depsef,iwi43
iwi43		move.b		#8,(a3)
		move.b		#5,(a4)
		jsr		poss
		jmp		zwischen
iw44		ASK		four,#5,depsef,iwi44
iwi44		move.b		#12,(a3)
		move.b		#5,(a4)
		jsr		poss
		jmp		zwischen
iw45		ASK		five,#5,depsef,iwi45
iwi45		move.b		#16,(a3)
		move.b		#5,(a4)
		jsr		poss
		jmp		zwischen
iw46		ASK		six,#5,depsef,iwi46
iwi46		move.b		#20,(a3)
		move.b		#5,(a4)
		jsr		poss
		jmp		zwischen
iw47		ASK		seven,#5,depsef,iwi47
iwi47		move.b		#24,(a3)
		move.b		#5,(a4)
		jsr		poss
		jmp		zwischen
iwi1b		jmp		iwi1
iwi2b		jmp		iwi2
iwi3b		jmp		iwi3
iwi4b		jmp		iwi4
iwi5b		jmp		iwi5
iwi6b		jmp		iwi6
iw48		ASK		eight,#5,depsef,iwi48
iwi48		move.b		#28,(a3)
		move.b		#5,(a4)
		jsr		poss
		jmp		zwischen
iw49		ASK		one,#6,depsef,iwi49
iwi49		move.b		#0,(a3)
		move.b		#6,(a4)
		jsr		poss
		jmp		zwischen
iw50		ASK		two,#6,depsef,iwi50
iwi50		move.b		#4,(a3)
		move.b		#6,(a4)
		jsr		poss
		jmp		zwischen
iwi7b		jmp		iwi7
iwi8b		jmp		iwi8
iwi9b		jmp		iwi9
iwi10b		jmp		iwi10
iwi11b		jmp		iwi11
iwi12b		jmp		iwi12
iw51		ASK		three,#6,depsef,iwi51
iwi51		move.b		#8,(a3)
		move.b		#6,(a4)
		jsr		poss
		jmp		zwischen
iw52		ASK		four,#6,depsef,iwi52
iwi52		move.b		#12,(a3)
		move.b		#6,(a4)
		jsr		poss
		jmp		zwischen
iwi13b		jmp		iwi13
iwi14b		jmp		iwi14
iwi15b		jmp		iwi15
iwi16b		jmp		iwi16
iwi17b		jmp		iwi17
iwi18b		jmp		iwi18
iwi19b		jmp		iwi19
iwi20b		jmp		iwi20
iw53		ASK		five,#6,depsef,iwi53
iwi53		move.b		#16,(a3)
		move.b		#6,(a4)
		jsr		poss
		jmp		zwischen
iw54		ASK		six,#6,depsef,iwi54
iwi54		move.b		#20,(a3)
		move.b		#6,(a4)
		jsr		poss
		jmp		zwischen
iwi21b		jmp		iwi21
iwi22b		jmp		iwi22
iwi23b		jmp		iwi23
iwi24b		jmp		iwi24
iwi25b		jmp		iwi25
iwi26b		jmp		iwi26
iwi27b		jmp		iwi27
iw55		ASK		seven,#6,depsef,iwi55
iwi55		move.b		#24,(a3)
		move.b		#6,(a4)
		jsr		poss
		jmp		zwischen
iwi30b		jmp		iwi30
iwi31b		jmp		iwi31
iwi32b		jmp		iwi32
iwi33b		jmp		iwi33
iwi34b		jmp		iwi34
iwi35b		jmp		iwi35
iwi38b		jmp		iwi38
iwi39b		jmp		iwi39
iwi40b		jmp		iwi40
iwi41b		jmp		iwi41
iw56		ASK		eight,#6,depsef,iwi56
iwi56		move.b		#28,(a3)
		move.b		#6,(a4)
		jsr		poss
		jmp		zwischen
iw57		ASK		one,#7,depsef,iwi57
iwi57		move.b		#0,(a3)
		move.b		#7,(a4)
		jsr		poss
		jmp		zwischen
u4		jmp		u5
iw58		ASK		two,#7,depsef,iwi58
iwi58		move.b		#4,(a3)
		move.b		#7,(a4)
		jsr		poss
		jmp		zwischen
iw59		ASK		three,#7,depsef,iwi59
iwi59		move.b		#8,(a3)
		move.b		#7,(a4)
		jsr		poss
		jmp		zwischen
iw60		ASK		four,#7,depsef,iwi60
iwi60		move.b		#12,(a3)
		move.b		#7,(a4)
		jsr		poss
		jmp		zwischen
iw61		ASK		five,#7,depsef,iwi61
iwi61		move.b		#16,(a3)
		move.b		#7,(a4)
		jsr		poss
		jmp		zwischen
rucksack	jmp		depsef
iw62		ASK		six,#7,depsef,iwi62
iwi62		move.b		#20,(a3)
		move.b		#7,(a4)
		jsr		poss
		jmp		zwischen
iw63		ASK		seven,#7,depsef,iwi63
iwi63		move.b		#24,(a3)
		move.b		#7,(a4)
		jsr		poss
		jmp		zwischen
iw64		ASK		eight,#7,depsef,iwi64
iwi64		move.b		#28,(a3)
		move.b		#7,(a4)
		jsr		poss
zwischen	move.b		mode,d0
		cmp.b		#1,d0
		beq		movein
		cmp.b		#2,d0
		beq		eve5
		move.b		endcounter,d0
		cmp.b		#0,d0
		beq		rucksack
		lea		cop1,a5
		lea		one,a4
		jsr		chab
		lea		cop2,a5
		lea		two,a4
		jsr		chab
		lea		cop3,a5
		lea		three,a4
		jsr		chab
		lea		cop4,a5
		lea		four,a4
		jsr		chab
		lea		cop5,a5
		lea		five,a4
		jsr		chab
		lea		cop6,a5
		lea		six,a4
		jsr		chab
		lea		cop7,a5
		lea		seven,a4
		jsr		chab
		lea		cop8,a5
		lea		eight,a4
		jsr		chab
		move.b		upper,d0
		cmp.b		#0,d0
		beq		n1
		CHANGE		#4,#0,#2,#1,#3
n1		move.b		drupper,d0
		cmp.b		#0,d0
		beq		n2
		CHANGE		#4,#-1,#2,#1,#3
n2		move.b		righter,d0
		cmp.b		#0,d0
		beq		n3
		CHANGE		#0,#-1,#2,#1,#3
n3		move.b		drowner,d0
		cmp.b		#0,d0
		beq		n4
		CHANGE		#-4,#-1,#2,#1,#3
n4		move.b		downer,d0
		cmp.b		#0,d0
		beq		n5
		CHANGE		#-4,#0,#2,#1,#3
n5		move.b		dlowner,d0
		cmp.b		#0,d0
		beq		n6
		CHANGE		#-4,#1,#2,#1,#3
n6		move.b		lefter,d0
		cmp.b		#0,d0
		beq		n7
		CHANGE		#0,#1,#2,#1,#3
n7		move.b		dlupper,d0
		cmp.b		#0,d0
		beq		fxs
		CHANGE		#4,#1,#2,#1,#3
fxs		lea		mode,a0
		move.b		#1,(a0)
		jsr		count
		HEXER		msg2,you,#90
		HEXER		msg3,cpu,#104
u5		move.b		cpu,d0		;der Computer zieht !
		cmp.b		#0,d0
		beq		r2
		move.b		#0,passone
		lea		hicounter,a0
		move.b		#0,(a0)
		lea		endcounter,a0
		move.b		#0,(a0)
		move.b		#0,abagain
		lea		mode,a0
		move.b		#1,(a0)
		move.b		#1,fab1
		move.b		#2,fab2
u7		lea		ou,a0
		move.b		#0,(a0)
uptohim		move.b		#0,upper
		move.b		#0,drupper
		move.b		#0,righter
		move.b		#0,dlupper
		move.b		#0,downer
		move.b		#0,dlowner
		move.b		#0,lefter
		move.b		#0,dlupper
		clr.l		d5
		clr.l		d4
		move.b		ou,d4
		move.b		#1,d5
		add.b		d5,d4
		lea		ou,a5
		move.b		d4,(a5)
		clr.l		d5
		move.b		ou,d5
		cmp.b		#61,d5
		beq		executeit
		cmp.b		#5,d5
		beq		m5
		cmp.b		#29,d5
		beq		m11
u2		lea		offset,a3
		lea		byte,a4
		lea		tableIII,a0
		move.b		ou,d5
		lsl		#2,d5
		move.l		0(a0,d5),a0
		jmp		(a0)
e1		ASK		one,#0,e2,iwi1b		;was ist frei ?
e2		ASK		eight,#0,e3,iwi8b
e3		ASK		one,#7,e4,iwi57
e4		ASK		eight,#7,l1,iwi64
l1		ASK		one,#2,l2,iwi17b
l2		ASK		one,#3,l3,iwi25b
l3		ASK		one,#4,l4,iwi33b
l4		ASK		one,#5,l5,iwi41b
l5		ASK		three,#0,l6,iwi3b
l6		ASK		four,#0,l7,iwi4b
l7		ASK		five,#0,l8,iwi5b
l8		ASK		six,#0,l9,iwi6b
l9		ASK		eight,#2,l10,iwi24b
l10		ASK		eight,#3,l11,iwi32b
l11		ASK		eight,#4,l12,iwi40b
l12		ASK		eight,#5,l13,iwi48
l13		ASK		four,#7,l14,iwi60
l14		ASK		five,#7,l15,iwi61
l15		ASK		six,#7,l16,iwi62
l16		ASK		three,#7,l17,iwi59
l17		ASK		one,#1,l18,iwi9b
l18		ASK		two,#0,l19,iwi2b
l19		ASK		eight,#1,l20,iwi16b
l20		ASK		seven,#0,l21,iwi7b
l21		ASK		one,#6,l22,iwi49
l22		ASK		two,#7,l23,iwi58
l23		ASK		eight,#6,l24,iwi56
l24		ASK		seven,#7,l25,iwi63
l25		ASK		five,#2,l26,iwi21b
l26		ASK		five,#5,l27,iwi45
l27		ASK		five,#6,l28,iwi53
l28		ASK		three,#5,l29,iwi43
l29		ASK		two,#5,l30,iwi42
l30		ASK		six,#1,l31,iwi14b
l31		ASK		six,#2,l32,iwi22b
l32		ASK		six,#3,l33,iwi30b
l33		ASK		six,#4,l34,iwi38b
l34		ASK		six,#5,l35,iwi46
l35		ASK		six,#6,l36,iwi54
l36		ASK		three,#6,l37,iwi51
l37		ASK		seven,#2,l38,iwi23b
l38		ASK		seven,#3,l39,iwi31b
l39		ASK		seven,#4,l40,iwi39b
l40		ASK		seven,#5,l41,iwi47
l41		ASK		two,#2,l42,iwi18b
l42		ASK		three,#1,l43,iwi11b
l43		ASK		three,#2,l44,iwi19b
l44		ASK		three,#3,l45,iwi27b
l45		ASK		two,#3,l46,iwi26b
l46		ASK		four,#1,l47,iwi12b
l47		ASK		four,#2,l48,iwi20b
l48		ASK		four,#5,l49,iwi44
l49		ASK		four,#6,l50,iwi52
l50		ASK		three,#4,l51,iwi35b
l51		ASK		two,#4,l52,iwi34b
l52		ASK		five,#1,l53,iwi13b
l53		ASK		two,#6,l54,iwi50
l54		ASK		seven,#1,l55,iwi15b
l55		ASK		two,#1,l56,iwi10b
l56		ASK		seven,#6,movein,iwi55
movein		move.b		endcounter,d0
		cmp.b		#0,d0
		beq		uptohim
		add.b		#1,d0
		move.b		d0,endcounter
		move.b		ou,d0
		cmp.b		#57,d0
		bge		m8
m7		move.b		hicounter,d1
		move.b		endcounter,d0
		sub.b		d1,d0
		add.b		#63,d0
		cmp.b		#63,d0
		beq		m40
		cmp.b		#63,d0
		bge		m2
m3		move.b		#0,endcounter
		jmp		uptohim
m2		lea		hicounter,a0
		move.b		endcounter,d0
		move.b		d0,(a0)
		move.b		#0,endcounter
		move.b		offset,d2
		move.b		d2,highoff
		move.b		byte,d2
		move.b		d2,highbyte
		move.b		upper,d2
		move.b		d2,hiupper
		move.b		drupper,d2
		move.b		d2,hidrupper
		move.b		righter,d2
		move.b		d2,hirighter
		move.b		drowner,d2
		move.b		d2,hidrowner
		move.b		downer,d2
		move.b		d2,hidowner
		move.b		dlowner,d2
		move.b		d2,hidlowner
		move.b		lefter,d2
		move.b		d2,hilefter
		move.b		dlupper,d2
		move.b		d2,hidlupper
		jmp		m3
m40		move.b		$dff007,d0
		btst		#1,d0
		beq		m3
		jmp		m2
m8		move.b		#1,endcounter
		jmp		m7
m5		move.b		hicounter,d0
		cmp.b		#0,d0
		beq		u2
		jmp		executeit
m11		move.b		hicounter,d0
		cmp.b		#0,d0
		beq		u2
		move.b		highbyte,d0
		cmp.b		#0,d0
		beq		m12
		cmp.b		#7,d0
		beq		m12
		move.b		hirighter,d0
		cmp.b		#0,d0
		beq		m13
		jmp		m18
m13		clr.l		d2
		clr.l		d3
		move.b		highoff,d2
		lea		tableII,a4
		move.l		0(a4,d2),a5
		move.b		highbyte,d3
		add		#1,d3
		move.b		0(a5,d3),d4
		cmp.b		#1,d4
		beq		m16
		jmp		m18
m16		move.b		#1,hicounter
		jmp		u2	
m18		move.b		hilefter,d0
		cmp.b		#0,d0
		beq		m19
		jmp		executeit
m19		clr.l		d2
		clr.l		d3
		move.b		highoff,d2
		lea		tableII,a4
		move.l		0(a4,d2),a5
		move.b		highbyte,d3
		sub		#1,d3
		move.b		0(a5,d3),d4
		cmp.b		#1,d4
		beq		m22
		jmp		executeit
m22		move.b		#1,hicounter
		jmp		u2		
m12		move.b		hidowner,d0
		cmp.b		#0,d0
		beq		m23
		jmp		m28
m23		clr.l		d2
		clr.l		d3
		move.b		highoff,d2
		add		#4,d2
		lea		tableII,a4
		move.l		0(a4,d2),a5
		move.b		highbyte,d3
		move.b		0(a5,d3),d4
		cmp.b		#1,d4
		beq		m26
		jmp		m28
m26		move.b		#1,hicounter
		jmp		u2	
m28		move.b		hiupper,d0
		cmp.b		#0,d0
		beq		m29
		jmp		executeit
m29		clr.l		d2
		clr.l		d3
		move.b		highoff,d2
		sub		#4,d2
		lea		tableII,a4
		move.l		0(a4,d2),a5
		move.b		highbyte,d3
		move.b		0(a5,d3),d4
		cmp.b		#1,d4
		beq		m32
		jmp		executeit
m32		move.b		#1,hicounter
		jmp		u2		
m6		move.b		#0,mode
		jmp		rucksack
executeit	move.b		hicounter,d0
		cmp.b		#0,d0
		beq		r3
		move.b		abagain,d0
		cmp.b		#0,d0
		beq		ex2
		jsr		blink
		move.b		highoff,d2
		move.b		d2,offset
		move.b		highbyte,d2
		move.b		d2,byte
		move.b		hiupper,d0
		cmp.b		#0,d0
		beq		n1b
		CHANGE		#4,#0,#1,#2,#2
n1b		move.b		hidrupper,d0
		cmp.b		#0,d0
		beq		n2b
		CHANGE		#4,#-1,#1,#2,#2
n2b		move.b		hirighter,d0
		cmp.b		#0,d0
		beq		n3b
		CHANGE		#0,#-1,#1,#2,#2
n3b		move.b		hidrowner,d0
		cmp.b		#0,d0
		beq		n4b
		CHANGE		#-4,#-1,#1,#2,#2
n4b		move.b		hidowner,d0
		cmp.b		#0,d0
		beq		n5b
		CHANGE		#-4,#0,#1,#2,#2
n5b		move.b		hidlowner,d0
		cmp.b		#0,d0
		beq		n6b
		CHANGE		#-4,#1,#1,#2,#2
n6b		move.b		hilefter,d0
		cmp.b		#0,d0
		beq		n7b
		CHANGE		#0,#1,#1,#2,#2
n7b		move.b		hidlupper,d0
		cmp.b		#0,d0
		beq		fxsb
		CHANGE		#4,#1,#1,#2,#2
fxsb		jsr		count
		HEXER		msg2,you,#90
		HEXER		msg3,cpu,#104
		jmp		r2
r3		move.b		#1,passone
r2		move.b		#2,fab1
		move.b		#1,fab2
		move.b		#0,mode
		jmp		rucksack
ex2		move.b		#1,abagain
		jmp		u7
bts3		jsr		clear
		jmp		u5
ots3		jsr		clear
		jmp		rucksack
*  ChangeOld :
* -------------
chab		move.l		#8,d5
ch2		move.b		(a4)+,(a5)+
		sub		#1,d5
		beq		ch3
		jmp		ch2
ch3		rts
*  Back :
* --------					;wenn "Back" gedrückt wurde
backy3		lea		one,a4
		lea		cop1,a5
		move.l		#8,d4
bac1		move.b		(a5)+,(a4)+
		sub		#1,d4
		beq		bac2
		jmp		bac1
bac2		lea		two,a4
		lea		cop2,a5
		move.l		#8,d4
bac3		move.b		(a5)+,(a4)+
		sub		#1,d4
		beq		bac4
		jmp		bac3
bac4		lea		three,a4
		lea		cop3,a5
		move.l		#8,d4
bac5		move.b		(a5)+,(a4)+
		sub		#1,d4
		beq		bac6
		jmp		bac5
bac6		lea		four,a4
		lea		cop4,a5
		move.l		#8,d4
bac7		move.b		(a5)+,(a4)+
		sub		#1,d4
		beq		bac8
		jmp		bac7		
bac8		lea		five,a4
		lea		cop5,a5
		move.l		#8,d4
bac9		move.b		(a5)+,(a4)+
		sub		#1,d4
		beq		bac10
		jmp		bac9
bac10		lea		six,a4
		lea		cop6,a5
		move.l		#8,d4
bac11		move.b		(a5)+,(a4)+
		sub		#1,d4
		beq		bac12
		jmp		bac11
bac12		lea		seven,a4
		lea		cop7,a5
		move.l		#8,d4
bac13		move.b		(a5)+,(a4)+
		sub		#1,d4
		beq		bac14
		jmp		bac13
bac14		lea		eight,a4
		lea		cop8,a5
		move.l		#8,d4
bac15		move.b		(a5)+,(a4)+
		sub		#1,d4
		beq		bac16
		jmp		bac15
		jmp		rucksack
bac16		move.l		wptr,a1
		move.l		wd_RPort(a1),a1
		move.l		#0,d0
		CALLGRAF	SetAPen
		move.l		wptr,a1
		move.l		wd_RPort(a1),a1
		move.l		#133,d0
		move.l		#13,d1
		move.l		#377,d2
		move.l		#131,d3
		CALLGRAF	RectFill
		move.l		gadget1,a0
		move.l		wptr,a1
		move.l		#0,a2
		CALLINT		RefreshGadget
		clr.l		d5
		clr.l		d6
btouch		lea		tableII,a3
		move.l		0(a3,d5),a3
		move.l		#8,d4
bwhich		move.b		(a3)+,d6
		cmp.b		#0,d6
		beq		bnext
		cmp.b		#2,d6
		beq		bacblac
		cmp.b		#1,d6
		beq		bacora
brunter		add		#4,d5
		cmp		#32,d5
		beq		brrret
		jmp		btouch
bacora		move.l		#8,d3
		sub		d4,d3
		mulu		#30,d3
		add		#2,d3
		move.w		d3,xfill
		move.l		d5,d3
		lsr		#2,d3
		mulu		#15,d3
		add		#11,d3
		move.w		d3,yfill
		FILL		xfill,yfill,#3
		jmp		bnext
bacblac		move.l		#8,d3
		sub		d4,d3
		mulu		#30,d3
		add		#2,d3
		move.w		d3,xfill
		move.l		d5,d2
		lsr		#2,d2
		mulu		#15,d2
		add		#11,d2
		move.w		d2,yfill
		FILL		xfill,yfill,#2
bnext		sub		#1,d4
		beq		brunter
		jmp		bwhich
brrret		jsr		count
		HEXER		msg2,you,#90
		HEXER		msg2,cpu,#104
		PRINT		msg9,#6,#126
		jmp		rucksack
*  Blinker :
* -----------					;blink mal kurz (s/w)
blink		clr.l		d2
		clr.l		d3
		move.b		highbyte,d2
		mulu		#30,d2
		add		#2,d2
		move.w		d2,xfill
		move.b		highoff,d3
		lsr		#2,d3
		mulu		#15,d3
		add		#11,d3
		move.w		d3,yfill
		move.l		#4,d5
b4		sub		#1,d5
		cmp		#0,d5
		beq		bret
		FILL		xfill,yfill,#1
		move.l		#20000,d6
b1		sub		#1,d6
		cmp		#0,d6
		beq		b2
		jmp		b1
b2		FILL		xfill,yfill,#2
		move.l		#20000,d6
b5		sub		#1,d6
		cmp		#0,d6
		beq		b4
		jmp		b5
bret		rts
*  Possnotmac :
* --------------
poss		POSSIBLE	#4,#0,upper	;möglich ?
		POSSIBLE	#4,#-1,drupper
		POSSIBLE	#0,#-1,righter
		POSSIBLE	#-4,#-1,drowner
		POSSIBLE	#-4,#0,downer
		POSSIBLE	#-4,#1,dlowner
		POSSIBLE	#0,#1,lefter
		POSSIBLE	#4,#1,dlupper
		rts
*  Counter :
* -----------					;durchzählen
count		clr.l		d5
		clr.l		d6
		lea		you,a5
		lea		cpu,a4
		move.b		#0,(a5)
		move.b		#0,(a4)
touchdown	lea		tableII,a3
		move.l		0(a3,d5),a3
		move.l		#8,d2
which		move.b		(a3)+,d3
		cmp.b		#0,d3
		beq		next
		cmp.b		#2,d3
		beq		toblack
		cmp.b		#1,d3
		beq		toorange
toblack		add.b		#1,(a4)
		jmp		next
toorange	add.b		#1,(a5)
next		sub		#1,d2
		tst		d2
		beq		runter
		jmp		which
runter		add		#4,d5
		cmp		#32,d5
		beq		cret
		jmp		touchdown
cret		rts
*  Clear :
* ---------
clear		move.l		wptr,a1
		move.l		wd_RPort(a1),a1
		move.l		#0,d0
		CALLGRAF	SetAPen
		move.l		wptr,a1
		move.l		wd_RPort(a1),a1
		move.l		#133,d0
		move.l		#13,d1
		move.l		#377,d2
		move.l		#131,d3
		CALLGRAF	RectFill
		move.l		gadget1,a0
		move.l		wptr,a1
		move.l		#0,a2
		CALLINT		RefreshGadget
		lea		one,a0
		lea		two,a1
		lea		three,a2
		lea		six,a3
		lea		seven,a4
		lea		eight,a5
		move.l		#8,d0
cl2		move.b		#0,(a0)+
		move.b		#0,(a1)+
		move.b		#0,(a2)+		
		move.b		#0,(a3)+
		move.b		#0,(a4)+
		move.b		#0,(a5)+
		sub		#1,d0
		tst		d0
		beq		cl6
		jmp		cl2
cl6		lea		cop1,a0
		lea		cop2,a1
		lea		cop3,a2
		lea		cop6,a3
		lea		cop7,a4
		lea		cop8,a5
		move.l		#8,d0
cl7		move.b		#0,(a0)+
		move.b		#0,(a1)+
		move.b		#0,(a2)+		
		move.b		#0,(a3)+
		move.b		#0,(a4)+
		move.b		#0,(a5)+
		sub		#1,d0
		tst		d0
		beq		cl3
		jmp		cl7
cl3		lea		four,a0
		lea		five,a1
		lea		cop4,a2
		lea		cop5,a3
		move.b		#0,(a0)+
		move.b		#0,(a1)+
		move.b		#0,(a0)+
		move.b		#0,(a1)+
		move.b		#0,(a0)+
		move.b		#0,(a1)+		
		move.b		#1,(a0)+
		move.b		#2,(a1)+
		move.b		#2,(a0)+
		move.b		#1,(a1)+
		move.b		#0,(a0)+
		move.b		#0,(a1)+
		move.b		#0,(a0)+
		move.b		#0,(a1)+
		move.b		#0,(a0)+
		move.b		#0,(a1)+
		move.b		#0,(a2)+
		move.b		#0,(a3)+
		move.b		#0,(a2)+
		move.b		#0,(a3)+
		move.b		#0,(a2)+
		move.b		#0,(a3)+		
		move.b		#1,(a2)+
		move.b		#2,(a3)+
		move.b		#2,(a2)+
		move.b		#1,(a3)+
		move.b		#0,(a2)+
		move.b		#0,(a3)+
		move.b		#0,(a2)+
		move.b		#0,(a3)+
		move.b		#0,(a2)+
		move.b		#0,(a3)+
		move.b		#2,you
		move.b		#2,cpu
		PRINT		msg1,#33,#90
		PRINT		msg4,#33,#104
		FILL		#92,#56,#3
		FILL		#122,#56,#2
		FILL		#92,#71,#2
		FILL		#122,#71,#3
		PRINT		msg9,#6,#126
		rts
*  finish activity :
* -------------------
closemain	move.l		wptr,a0
		CALLINT		CloseWindow
closeDOS	move.l		_DOSBase,a1
		CALLEXEC	CloseLibrary
closegraf	move.l		_GfxBase,a1
		CALLEXEC	CloseLibrary
closeint	move.l		_IntuitionBase,a1
		CALLEXEC	CloseLibrary
stop_it		rts
W_gadgets equ	WINDOWCLOSE!WINDOWDRAG!WINDOWDEPTH
W_extras  equ   SMART_REFRESH!ACTIVATE
W_Title		dc.b	"  REVCOMP V1.2   by   MARC FISCHLIN  ",0
		even					     
wdef		dc.w	130,32
		dc.w	380,136
		dc.b	2,1
		dc.l 	GADGETUP!CLOSEWINDOW
		dc.l	W_gadgets!W_extras
		dc.l	gadget1
		dc.l	0
		dc.l	W_Title
		dc.l	0,0
		dc.w	50,50,400,200
		dc.w	WBENCHSCREEN
intname		INTNAME
grafname  	GRAFNAME
DOSname		DOSNAME
_IntuitionBase	ds.l	1
_GfxBase	ds.l	1
_DOSBase 	ds.l	1
wptr		ds.l	1
counter		dc.w	0
endcounter	dc.w	0
xfill		dc.w	0
yfill		dc.w	0
ou		dc.b	0
abx		dc.b	0
ab1		dc.b	0
abagain		dc.b	0
test		dc.b	0
highoff		dc.b	0
highbyte	dc.b	0
hicounter	dc.b	0
ecke		dc.b	0
hiupper		dc.b	0
hidrupper	dc.b	0
hirighter	dc.b	0
hidrowner	dc.b	0
hidowner	dc.b	0
hidlowner	dc.b	0
hilefter	dc.b	0
hidlupper	dc.b	0
passone		dc.b	0
upper		dc.b	0
drupper		dc.b	0
righter		dc.b	0
drowner		dc.b	0
downer		dc.b	0
dlowner		dc.b	0
lefter		dc.b	0
dlupper		dc.b	0
you		dc.b	0
cpu		dc.b	0
offset		dc.b	0
byte		dc.b	0
mode		dc.b	0
fab1		dc.b	2
fab2		dc.b	1
		even		
one		dc.b	0,0,0,0,0,0,0,0
two		dc.b	0,0,0,0,0,0,0,0
three		dc.b	0,0,0,0,0,0,0,0
four		dc.b	0,0,0,1,2,0,0,0
five		dc.b	0,0,0,2,1,0,0,0
six		dc.b	0,0,0,0,0,0,0,0
seven		dc.b	0,0,0,0,0,0,0,0
eight		dc.b	0,0,0,0,0,0,0,0
		even
cop1		dc.b	0,0,0,0,0,0,0,0
cop2		dc.b	0,0,0,0,0,0,0,0
cop3		dc.b	0,0,0,0,0,0,0,0
cop4		dc.b	0,0,0,1,2,0,0,0
cop5		dc.b	0,0,0,2,1,0,0,0
cop6		dc.b	0,0,0,0,0,0,0,0
cop7		dc.b	0,0,0,0,0,0,0,0
cop8		dc.b	0,0,0,0,0,0,0,0
		even
tableIV		dc.l	0
		dc.l	pe1
		dc.l	pe2
		dc.l	pe3
		dc.l	pe4
		dc.l	pl1
		dc.l	pl2
		dc.l	pl3
		dc.l	pl4
		dc.l	pl5
		dc.l	pl6
		dc.l	pl7
		dc.l	pl8
		dc.l	pl9
		dc.l	pl10
		dc.l	pl11
		dc.l	pl12
		dc.l	pl13
		dc.l	pl14
		dc.l	pl15
		dc.l	pl16
		dc.l	pl17
		dc.l	pl18
		dc.l	pl19
		dc.l	pl20
		dc.l	pl21
		dc.l	pl22
		dc.l	pl23
		dc.l	pl24
		dc.l	pl25
		dc.l	pl26
		dc.l	pl27
		dc.l	pl28
		dc.l	pl29
		dc.l	pl30
		dc.l	pl31
		dc.l	pl32
		dc.l	pl33
		dc.l	pl34
		dc.l	pl35
		dc.l	pl36
		dc.l	pl37
		dc.l	pl38
		dc.l	pl39
		dc.l	pl40
		dc.l	pl41
		dc.l	pl42
		dc.l	pl43
		dc.l	pl44
		dc.l	pl45
		dc.l	pl46
		dc.l	pl47
		dc.l	pl48
		dc.l	pl49
		dc.l	pl50
		dc.l	pl51
		dc.l	pl52
		dc.l	pl53
		dc.l	pl54
		dc.l	pl55
		dc.l	pl56
tableIII	dc.l	0
		dc.l	e1
		dc.l	e2
		dc.l	e3
		dc.l	e4
		dc.l	l1
		dc.l	l2
		dc.l	l3
		dc.l	l4
		dc.l	l5
		dc.l	l6
		dc.l	l7
		dc.l	l8
		dc.l	l9
		dc.l	l10
		dc.l	l11
		dc.l	l12
		dc.l	l13
		dc.l	l14
		dc.l	l15
		dc.l	l16
		dc.l	l17
		dc.l	l18
		dc.l	l19
		dc.l	l20
		dc.l	l21
		dc.l	l22
		dc.l	l23
		dc.l	l24
		dc.l	l25
		dc.l	l26
		dc.l	l27
		dc.l	l28
		dc.l	l29
		dc.l	l30
		dc.l	l31
		dc.l	l32
		dc.l	l33
		dc.l	l34
		dc.l	l35
		dc.l	l36
		dc.l	l37
		dc.l	l38
		dc.l	l39
		dc.l	l40
		dc.l	l41
		dc.l	l42
		dc.l	l43
		dc.l	l44
		dc.l	l45
		dc.l	l46
		dc.l	l47
		dc.l	l48
		dc.l	l49
		dc.l	l50
		dc.l	l51
		dc.l	l52
		dc.l	l53
		dc.l	l54
		dc.l	l55
		dc.l	l56
tableII		dc.l	one
		dc.l	two
		dc.l	three
		dc.l	four
		dc.l	five
		dc.l	six
		dc.l	seven
		dc.l	eight
table		dc.l	iw1
		dc.l	iw2
		dc.l	iw3
		dc.l	iw4
		dc.l	iw5
		dc.l	iw6
		dc.l	iw7
		dc.l	iw8
		dc.l	iw9
		dc.l	iw10
		dc.l	iw11
		dc.l	iw12
		dc.l	iw13
		dc.l	iw14
		dc.l	iw15
		dc.l	iw16
		dc.l	iw17
		dc.l	iw18
		dc.l	iw19
		dc.l	iw20
		dc.l	iw21
		dc.l	iw22
		dc.l	iw23
		dc.l	iw24
		dc.l	iw25
		dc.l	iw26
		dc.l	iw27
		dc.l	iw28
		dc.l	iw29
		dc.l	iw30
		dc.l	iw31
		dc.l	iw32
		dc.l	iw33
		dc.l	iw34
		dc.l	iw35
		dc.l	iw36
		dc.l	iw37
		dc.l	iw38
		dc.l	iw39
		dc.l	iw40
		dc.l	iw41
		dc.l	iw42
		dc.l	iw43
		dc.l	iw44
		dc.l	iw45
		dc.l	iw46
		dc.l	iw47
		dc.l	iw48
		dc.l	iw49
		dc.l	iw50
		dc.l	iw51
		dc.l	iw52
		dc.l	iw53
		dc.l	iw54
		dc.l	iw55
		dc.l	iw56
		dc.l	iw57
		dc.l	iw58
		dc.l	iw59
		dc.l	iw60
		dc.l	iw61
		dc.l	iw62
		dc.l	iw63
		dc.l	iw64
		dc.l	bts1
		dc.l	ots1
		dc.l	backy1
*  Messages :
* ------------
msg1		dc.b	"YOU : 02",0
msg4		dc.b	"CPU : 02",0
msg2		dc.b	"  ",0
msg3		dc.b	"  ",0
msg5		dc.b	"- You win -",0
msg6		dc.b	"- Game's tied -",0
msg7		dc.b	"- You lose -",0
msg9		dc.b	"               ",0
		even
*  Gadgets :
* -----------
border		dc.w	0,0
		dc.b	1,0,0,5
		dc.l	koord
		dc.l 	0
koord		dc.w	-1,-1
		dc.w	29,-1
		dc.w	29,14
		dc.w	-1,14
		dc.w	-1,-1
gadget1		ds.b $2c
		even
gadget2		ds.b $2c
		even
gadget3		ds.b $2c
		even
gadget4		ds.b $2c
		even
gadget5		ds.b $2c
		even
gadget6		ds.b $2c
		even
gadget7		ds.b $2c
		even
gadget8		ds.b $2c
		even
gadget9		ds.b $2c
		even
gadget10	ds.b $2c
		even
gadget11	ds.b $2c
		even
gadget12	ds.b $2c
		even
gadget13	ds.b $2c
		even
gadget14	ds.b $2c
		even
gadget15	ds.b $2c
		even
gadget16	ds.b $2c
		even
gadget17	ds.b $2c
		even
gadget18	ds.b $2c
		even
gadget19	ds.b $2c
		even
gadget20	ds.b $2c
		even
gadget21	ds.b $2c
		even
gadget22	ds.b $2c
		even
gadget23	ds.b $2c
		even
gadget24	ds.b $2c
		even
gadget25	ds.b $2c
		even
gadget26	ds.b $2c
		even
gadget27	ds.b $2c
		even
gadget28	ds.b $2c
		even
gadget29	ds.b $2c
		even
gadget30	ds.b $2c
		even
gadget31	ds.b $2c
		even
gadget32	ds.b $2c
		even
gadget33	ds.b $2c
		even
gadget34	ds.b $2c
		even
gadget35	ds.b $2c
		even
gadget36	ds.b $2c
		even
gadget37	ds.b $2c
		even
gadget38	ds.b $2c
		even
gadget39	ds.b $2c
		even
gadget40	ds.b $2c
		even
gadget41	ds.b $2c
		even
gadget42	ds.b $2c
		even
gadget43	ds.b $2c
		even
gadget44	ds.b $2c
		even
gadget45	ds.b $2c
		even
gadget46	ds.b $2c
		even
gadget47	ds.b $2c
		even
gadget48	ds.b $2c
		even
gadget49	ds.b $2c
		even
gadget50	ds.b $2c
		even
gadget51	ds.b $2c
		even
gadget52	ds.b $2c
		even
gadget53	ds.b $2c
		even
gadget54	ds.b $2c
		even
gadget55	ds.b $2c
		even
gadget56	ds.b $2c
		even
gadget57	ds.b $2c
		even
gadget58	ds.b $2c
		even
gadget59	ds.b $2c
		even
gadget60	ds.b $2c
		even
gadget61	ds.b $2c
		even
gadget62	ds.b $2c
		even
gadget63	ds.b $2c
		even
gadget64	ds.b $2c
bts		dc.l	ots
		dc.w	5,20,123,9
		dc.w	GADGHCOMP
		dc.w	RELVERIFY
		dc.w	1
		dc.l	border2
		dc.l	0
		dc.l	bts_text
		dc.l	0,0
		dc.w	65
		dc.l	0
bts_text	dc.b	1,0,0,0
		dc.w	2,1
		dc.l	0
		dc.l	bts_real
		dc.l	0
bts_real	dc.b	" Black  starts",0
		even                    
border2		dc.w	0,0
		dc.b	1,0,0,5
		dc.l	koords2
		dc.l	0
koords2		dc.w	-1,-1,123,-1,123,9,-1,9,-1,-1
ots		dc.l	backy
		dc.w	5,40,123,9
		dc.w	GADGHCOMP
		dc.w	RELVERIFY
		dc.w	1
		dc.l	border2
		dc.l	0
		dc.l	ots_text
		dc.l	0,0
		dc.w	66
		dc.l	0
ots_text	dc.b	1,0,0,0
		dc.w	2,1
		dc.l	0
		dc.l	ots_real
		dc.l	0
ots_real	dc.b	" Orange starts",0
backy		dc.l	0
		dc.w	5,60,123,9
		dc.w	GADGHCOMP
		dc.w	RELVERIFY
		dc.w	1
		dc.l	border2
		dc.l	0
		dc.l	backy_text
		dc.l	0,0
		dc.w	67
		dc.l	0
backy_text	dc.b	1,0,0,0
		dc.w	6,1
		dc.l	0
		dc.l	backy_real
		dc.l	0		
backy_real	dc.b	"     Back     ",0
