	incdir "include/"
	include "exec/exec_lib.i"
	include "graphics/graphics_lib.i"
	include "graphics/gfxbase.i"
	include "libraries/dos_lib.i"
	include "intuition/intuition_lib.i"
	include "intuition/intuition.i"

	SECTION Programm,CODE
	suba.l a1,a1
	CALLEXEC FindTask
	move.l d0,a4
	tst.l $ac(a4)
	bne start
	lea $5c(a4),a0
	CALLEXEC WaitPort

start:	
	lea dos,a1
	move.l #15,d0
	CALLEXEC OpenLibrary
	move.l d0,_DOSBase
	beq exit1
	lea int,a1
	move.l #15,d0
	CALLEXEC OpenLibrary
	move.l d0,_IntuitionBase
	beq exit1
	move.b #0,d
	move.b #0,e
	lea gfx,a1
	move.l #15,d0
	CALLEXEC OpenLibrary
	move.l d0,_GfxBase
	beq exit1
	move.l #0,a0
	CALLINT DisplayBeep
	move.l #2500,d1
	CALLDOS Delay
	move.l _GfxBase,a0
	move.l gb_SimpleSprites(a0),d0
	move.l d0,slist
	move.l #ss,d0
	move.l slist,a0
	adda.l #4,a0
	move.l d0,(a0)
	lea ss,a0
	move.l #1,d0
	CALLGRAF GetSprite
	cmp.w #1,d0
	bne exit1
	move.l _GfxBase,a0
	move.l gb_ActiView(a0),a0
	move.l (a0),a0
	adda.l #sc_RastPort-sc_ViewPort,a0
	move.l a0,rp
	jsr zeit
	lea ss,a1
	move.w d0,6(a1)
loop:	
	move.l #3,d1
	CALLDOS Delay
	sub.w #1,time
	bne loop3
	jsr richt
	jsr zeit
loop3:	
	move.l rp,a1
	clr.l d0
	move.b d,d0
	CALLGRAF SetAPen
	lea ss,a1
	clr.l d0
	clr.l d1
	move.w 6(a1),d0
	move.w 8(a1),d1
	add.l #8,d1
	lsl.l #1,d0
	add.l #16,d0
	move.l rp,a1
	CALLGRAF WritePixel
loop2:
	clr.l d0
	move.b d,d0
r41:
	mulu #72,d0
	clr.l d1
	move.b richtung,d1
	mulu.w #288,d1
	add.l d1,d0 
	lea hoch,a2
	add.l d0,a2
	lea ss,a1
	move.l a2,(a1)
	move.b richtung,d0
	jsr koord
	add.b #1,d
	move.w 6(a1),d0
	move.w 8(a1),d1
	move.l #0,a0
	CALLGRAF MoveSprite
	sub.l #1,zahl
	beq exit
	cmp.b #4,d
	bne loop1
	move.b #0,d
loop1:	
	bra loop
exit:
	move.l #1,d0
	CALLGRAF FreeSprite
exit1:
	move.l _IntuitionBase,a1
	beq exit2
	CALLEXEC CloseLibrary
exit2:
	move.l _GfxBase,a1
	beq exit3
	CALLEXEC CloseLibrary
exit3:
	move.l _DOSBase,a1
	beq exit4	
	CALLEXEC CloseLibrary
exit4:
	rts

richt:
	move.b $bfe801,d0
	and.l #3,d0
	cmp.b richtung,d0
	beq richt
 	move.b d0,richtung
	rts	

zeit:
	move.b $bfe801,d0
	and.l #$7f,d0
	lsl.l #1,d0
	move.w d0,time
	rts

koord:
	cmp.b #0,d0
	bne koord1
	cmp.w #0,8(a1)
	beq koordf
	sub.w #1,8(a1)
koord1:
	cmp.b #1,d0
	bne koord2
	cmp.w #304,6(a1)
	beq koordf
	add.w #1,6(a1)
koord2:
	cmp.b #2,d0
	bne koord3
	cmp.w #240,8(a1)
	beq koordf
	add.w #1,8(a1)
koord3:
	cmp.b #3,d0
	bne koord4
	cmp.w #0,6(a1)
	beq koordf
	sub.w #1,6(a1)
koord4:
	rts
koordf:
	jsr richt
	rts
	



gfx:	GRAFNAME	
dos:  DOSNAME
int:  INTNAME
	even
_GfxBase: 	dc.l 0
_DOSBase:	dc.l 0
_IntuitionBase:	dc.l 0
slist:	dc.l 0
rp:		dc.l 0
zahl:		dc.l 8000
d:		dc.b 0
e:		dc.b 0
richtung:	dc.b 2
fuell:	dc.b 0
time:		dc.w 0
f:		dc.b 0
	cnop 0,4
ss:
	dc.l hoch
	dc.w 16
	dc.w 0
	dc.w 0
	dc.w 1

	SECTION sdata,DATA_C


schlaeger:
	dc.w $253f,$2d61					;koordinate 0,0
	dc.w %1111111111111111,%0000000000000000
	dc.w %1111111111111111,%0000000000000000
	dc.w %1111000000001111,%0011111111111100
	dc.w %1111100000011111,%0011111111111100
	dc.w %1111000000001111,%0011111111111100
	dc.w %1111111111111111,%0000000000000000
	dc.w %1111111111111111,%0000000000000000
	dc.w 0,0
	dc.w 0,0
	dc.w 0,0
	dc.w 0,0
	dc.w 0,0
	dc.w 0,0
	dc.w 0,0
	dc.w 0,0
	dc.w 0,0
	
	

hoch:
	dc.w $253f,$2d61
	dc.w %0000001111000000,%0000000000000000
	dc.w %0000011111100000,%0000001001000000
	dc.w %0000011111100000,%0000000000000000
	dc.w %0000001111000000,%0000000000000000
	dc.w %0000000110000000,%0000000000000000
	dc.w %1111111111111111,%0000000000000000
	dc.w %0000011111100000,%0000000000000000
	dc.w %1111111001111111,%0000000110000000
	dc.w %0000110000110000,%0000001111000000
	dc.w %0000110000110000,%0000001111000000
	dc.w %0000110000110000,%0000001111000000
	dc.w %1111111001111111,%0000000110000000
	dc.w %0000011111100000,%0000000000000000
	dc.w %0111111111111110,%0000000000000000
	dc.w %1100000000000011,%0000000000000000
	dc.w %0000000000000000,0
	dc.l 0
hoch1:
	dc.w $253f,$2d61
	dc.w %0000001111000000,%0000000000000000
	dc.w %0000011111100000,%0000001001000000
	dc.w %1100011111100011,%0000000000000000
	dc.w %0110001111000110,%0000000000000000
	dc.w %0011100110011100,%0000000000000000
	dc.w %0001111111111000,%0000000000000000
	dc.w %0000111111100000,%0000000000000000
	dc.w %0011111001111100,%0000000110000000
	dc.w %0110110000110110,%0000001111000000
	dc.w %1100110000110011,%0000001111000000
	dc.w %1100110000110011,%0000001111000000
	dc.w %0111111001111110,%0000000110000000
	dc.w %0000011111100000,%0000000000000000
	dc.w %0001111111111000,%0000000000000000
	dc.w %0111000000001110,%0000000000000000
	dc.w %1100000000000011,0
	dc.l 0
hoch2:
	dc.w $253f,$2d61
	dc.w %0000001111000000,%0000000000000000
	dc.w %0000011111100000,%0000001001000000
	dc.w %0000011111100000,%0000000000000000
	dc.w %0000001111000000,%0000000000000000
	dc.w %0000000110000000,%0000000000000000
	dc.w %1111111111111111,%0000000000000000
	dc.w %0000011111100000,%0000000000000000
	dc.w %1111111001111111,%0000000110000000
	dc.w %0000110000110000,%0000001111000000
	dc.w %0000110000110000,%0000001111000000
	dc.w %0000110000110000,%0000001111000000
	dc.w %1111111001111111,%0000000110000000
	dc.w %0000011111100000,%0000000000000000
	dc.w %0111111111111110,%0000000000000000
	dc.w %1100000000000011,%0000000000000000
	dc.w %0000000000000000,0
	dc.l 0
hoch3:
	dc.w $253f,$2d61
	dc.w %0000001111000000,%0000000000000000
	dc.w %0000011111100000,%0000001001000000
	dc.w %0000011111100000,%0000000000000000
	dc.w %1100001111000011,%0000000000000000
	dc.w %0110000110000110,%0000000000000000
	dc.w %0111111111111110,%0000000000000000
	dc.w %0011011111101100,%0000000000000000
	dc.w %0111111001111110,%0000000110000000
	dc.w %1100110000110011,%0000001111000000
	dc.w %0000110000110000,%0000001111000000
	dc.w %1100110000110011,%0000001111000000
	dc.w %0111111001111110,%0000000110000000
	dc.w %0111011111101110,%0000000000000000
	dc.w %1101111111111011,%0000000000000000
	dc.w %1000000000000001,%0000000000000000
	dc.w %0000000000000000,0
	dc.l 0
rechts:
	dc.w $253f,$2d61
	dc.w %0100100010100000,0
	dc.w %0110100010100000,0
	dc.w %0010100010100000,0
	dc.w %0010100010100000,0
	dc.w %0010111110100000,0
	dc.w %0011111111100110,0
	dc.w %0011100011101111,%0000011100000010
	dc.w %0011000001111111,%0000111110000000
	dc.w %0011000001111111,%0000111110000000
	dc.w %0011100011101111,%0000011100000010
	dc.w %0011111111100110,0
	dc.w %0010111110100000,0
	dc.w %0010100010100000,0
	dc.w %0010100010100000,0
	dc.w %0110100010100000,0
	dc.w %0100100010100000,0
	dc.l 0
rechts1:
	dc.w 0,0
	dc.w %1000011000000100,0
	dc.w %1100111100001100,0
	dc.w %0100100010011000,0
	dc.w %0110100010110000,0
	dc.w %0010111111110000,0
	dc.w %0011111111100110,0
	dc.w %0011100011101111,%0000011100000010
	dc.w %0011000001111111,%0000111110000000
	dc.w %0011000001111111,%0000111110000000
	dc.w %0011100011101111,%0000011100000010
	dc.w %0011111111100110,0
	dc.w %0010111111110000,0
	dc.w %0110100010110000,0
	dc.w %0100100010011000,0
	dc.w %1100111100001100,0
	dc.w %1000011000000100,0
	dc.l 0
rechts2:	
	dc.w 0,0
	dc.w %0100100010100000,0
	dc.w %0110100010100000,0
	dc.w %0010100010100000,0
	dc.w %0010100010100000,0
	dc.w %0010111110100000,0
	dc.w %0011111111100110,0
	dc.w %0011100011101111,%0000011100000010
	dc.w %0011000001111111,%0000111110000000
	dc.w %0011000001111111,%0000111110000000
	dc.w %0011100011101111,%0000011100000010
	dc.w %0011111111100110,0
	dc.w %0010111110100000,0
	dc.w %0010100010100000,0
	dc.w %0010100010100000,0
	dc.w %0110100010100000,0
	dc.w %0100100010100000,0
	dc.l 0
rechts3:	
	dc.w 0,0
	dc.w %0110010100001000,0
	dc.w %0011110110111000,0
	dc.w %0001100011110000,0
	dc.w %0011100011100000,0
	dc.w %0010111110100000,0
	dc.w %0011111111100110,0
	dc.w %0011100011101111,%0000011100000010
	dc.w %0011000001111111,%0000111110000000
	dc.w %0011000001111111,%0000111110000000
	dc.w %0011100011101111,%0000011100000010
	dc.w %0011111111100110,0
	dc.w %0010111110100000,0
	dc.w %0011100011100000,0
	dc.w %0001100011110000,0
	dc.w %0011110110111000,0
	dc.w %0110010100001000,0
	dc.l 0
ab:
	dc.w $253f,$2d61
	dc.w %0000000000000000,0
	dc.w %1100000000000011,%0000000000000000
	dc.w %0111111111111110,%0000000000000000
	dc.w %0000011111100000,%0000000000000000
	dc.w %1111111001111111,%0000000110000000
	dc.w %0000110000110000,%0000001111000000
	dc.w %0000110000110000,%0000001111000000
	dc.w %0000110000110000,%0000001111000000
	dc.w %1111111001111111,%0000000110000000
	dc.w %0000011111100000,%0000000000000000
	dc.w %1111111111111111,%0000000000000000
	dc.w %0000000110000000,%0000000000000000
	dc.w %0000001111000000,%0000000000000000
	dc.w %0000011111100000,%0000000000000000
	dc.w %0000011111100000,%0000001001000000
	dc.w %0000001111000000,%0000000000000000
	dc.l 0
ab1:
	dc.w $253f,$2d61
	dc.w %1100000000000011,0	;
	dc.w %0111000000001110,%0000000000000000
	dc.w %0001111111111000,%0000000000000000
	dc.w %0000011111100000,%0000000000000000
	dc.w %0111111001111110,%0000000110000000
	dc.w %1100110000110011,%0000001111000000
	dc.w %1100110000110011,%0000001111000000
	dc.w %0110110000110110,%0000001111000000
	dc.w %0011111001111100,%0000000110000000
	dc.w %0000111111100000,%0000000000000000
	dc.w %0001111111111000,%0000000000000000
	dc.w %0011100110011100,%0000000000000000
	dc.w %0110001111000110,%0000000000000000
	dc.w %1100011111100011,%0000000000000000
	dc.w %0000011111100000,%0000001001000000
	dc.w %0000001111000000,%0000000000000000
	dc.l 0
ab2:
	dc.w $253f,$2d61
	dc.w %0000000000000000,0
	dc.w %1100000000000011,%0000000000000000
	dc.w %0111111111111110,%0000000000000000
	dc.w %0000011111100000,%0000000000000000
	dc.w %1111111001111111,%0000000110000000
	dc.w %0000110000110000,%0000001111000000
	dc.w %0000110000110000,%0000001111000000
	dc.w %0000110000110000,%0000001111000000
	dc.w %1111111001111111,%0000000110000000
	dc.w %0000011111100000,%0000000000000000
	dc.w %1111111111111111,%0000000000000000
	dc.w %0000000110000000,%0000000000000000
	dc.w %0000001111000000,%0000000000000000
	dc.w %0000011111100000,%0000000000000000
	dc.w %0000011111100000,%0000001001000000
	dc.w %0000001111000000,%0000000000000000
	dc.l 0
ab3:	
	dc.w $253f,$2d61
	dc.w %0000000000000000,0	;
	dc.w %1000000000000001,%0000000000000000
	dc.w %1101111111111011,%0000000000000000
	dc.w %0111011111101110,%0000000000000000
	dc.w %0111111001111110,%0000000110000000
	dc.w %1100110000110011,%0000001111000000
	dc.w %0000110000110000,%0000001111000000
	dc.w %1100110000110011,%0000001111000000
	dc.w %0111111001111110,%0000000110000000
	dc.w %0011011111101100,%0000000000000000
	dc.w %0111111111111110,%0000000000000000
	dc.w %0110000110000110,%0000000000000000
	dc.w %1100001111000011,%0000000000000000
	dc.w %0000011111100000,%0000000000000000
	dc.w %0000011111100000,%0000001001000000
	dc.w %0000001111000000,%0000000000000000
	dc.l 0
links:
	dc.w $253f,$2d61
	dc.w %0000010100010010,0
	dc.w %0000010100010110,0
	dc.w %0000010100010100,0
	dc.w %0000010100010100,0
	dc.w %0000010111110100,0
	dc.w %0110011111111100,0
	dc.w %1111011100011100,%0100000011100000
	dc.w %1111111000001100,%0000001111110000
	dc.w %1111111000001100,%0000001111110000
	dc.w %1111011100011100,%0100000011100000
	dc.w %0110011111111100,0
	dc.w %0000010111110100,0
	dc.w %0000010100010100,0
	dc.w %0000010100010100,0
	dc.w %0000010100010110,0
	dc.w %0000010100010010,0
	dc.l 0
links1:
	dc.w $253f,$2d61
	dc.w %0010000001110000,0
	dc.w %0011000011110011,0
	dc.w %0001100100010010,0
	dc.w %0000110100010110,0
	dc.w %0000111111110100,0
	dc.w %0110011111111100,0
	dc.w %1111011100011100,%0100000011100000
	dc.w %1111111000001100,%0000000111110000
	dc.w %1111111000001100,%0000000111110000
	dc.w %1111011100011100,%0100000011100000
	dc.w %0110011111111100,0
	dc.w %0000111111110100,0
	dc.w %0000110100010110,0
	dc.w %0001100100010010,0
	dc.w %0011000011110011,0
	dc.w %0010000001110000,0
	dc.l 0
links2:	
	dc.w $253f,$2d61
	dc.w %0000010100010010,0
	dc.w %0000010100010110,0
	dc.w %0000010100010100,0
	dc.w %0000010100010100,0
	dc.w %0000010111110100,0
	dc.w %0110011111111100,0
	dc.w %1111011100011100,%0100000011100000
	dc.w %1111111000001100,%0000001111110000
	dc.w %1111111000001100,%0000001111110000
	dc.w %1111011100011100,%0100000011100000
	dc.w %0110011111111100,0
	dc.w %0000010111110100,0
	dc.w %0000010100010100,0
	dc.w %0000010100010100,0
	dc.w %0000010100010110,0
	dc.w %0000010100010010,0
	dc.l 0
links3:	
	dc.w $253f,$2d61
	dc.w %0001000010100110,0
	dc.w %0001110110111100,0
	dc.w %0000111100011000,0
	dc.w %0000011100011100,0
	dc.w %0000010111110100,0
	dc.w %0110011111111100,0
	dc.w %1111011100011100,%0100000011100000
	dc.w %1111111000001100,%0000000111110000
	dc.w %1111111000001100,%0000000111110000
	dc.w %1111011100011100,%0100000011100000
	dc.w %0110011111111100,0
	dc.w %0000010111110100,0
	dc.w %0000011100011100,0
	dc.w %0000111100011000,0
	dc.w %0001110110111100,0
	dc.w %0001000010100110,0
	dc.l 0
