;:sys36864
	;.opt oo
	*= 52222
s1	=50	;einschlafen
s2	=8	;aufwachen
max	=26
x	=219
y	=38
traen	=255	;blinzelgeschw.
v	=$d000
	lda pur+1
	ora pur+2
	beq an
	sei
	lda pur+1
	sta 788
	lda pur+2
	sta 789
	lda #0
	sta v+21
	sta pur+1
	sta pur+2
	cli
	rts
an	sei
	lda 788
	sta pur+1
	lda 789
	sta pur+2
	lda #<irq
	ldy #>irq
	sta 788
	sty 789
	cli
	ldy #63
er	lda #-1
	sta 832,y
	lda #0
	sta 704,y
	sta 896,y
	sta 960,y
	dey
	bpl er
	sta mode
	sta sleep
	ldx #20
se1	lda ab999,x
	sta 999,x
	dex
	bpl se1
	lda #192
	sta 930
	sta 921
	lda #1
	sta 923
	sta 926
	sta del
	sta follw
	lda #224
	sta 924
	sta 927
	ldx #26
se2	lda ab740,x
	sta 740,x
	lda ab868,x
	sta 868,x
	dex
	bpl se2
	ldx #12
	stx v+32
	ldx #15
	stx v+33
	lda #x-3
	sta v+8
	lda #x+27
	sta v+10
	lda #traen
	sta bliz
	lda #<hi
	ldy #>hi
	jmp $ab1e
hi	.byt 147,13
	.byte "\x11\x11\x97big brother is watching you!"
	.byt 13,13
	.byte "n. heusler, 5.92"
	.byt 13,0
sleep	brk
mode	brk
del	.byt 1
taste	brk
tmp	brk
links	brk
rechts	brk
follw	.byt 1
blink	brk
bliz	brk
sgn	brk
xcos	.byt -5,-5,-4,-3,-3,-2,-1,1,2,3,4,4,5,6,6,6
ysin	.byt 7 , 7, 8, 8, 9, 9, 9,9,9,9,9,9,9,8,8,7
ab999	.byt 28,0,56,62,0,124,127,0,254,127,0
	.byt 254,127,0,254,62,0,124,28,0,56
ab740	.byt 62,0,124,99,0,198,193,129,131,128,129
	.byt 1,128,129,1,128,129,1,193,129,131,99,0
	.byt 198,62,0,124
ab868	.byt 193,255,131,128,255,1,0,126,0,0,126
	.byt 0,0,126,0,0,126,0,0,126,0,128,255,1,193,255,131
zuw	.byt 0,1,2,3,3,4,4,5,5,5,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9
arctan	=*
	.byt 000,000,000,000,000,000,000,000,000,000
	.byt 000,000,128,255,255,255,255,255,255,255
	.byt 000,000,000,000,000,000,000,000,017,017
	.byt 017,034,132,219,237,238,238,254,255,255
	.byt 000,000,000,017,017,017,017,017,017,033
	.byt 034,067,133,186,220,221,238,238,238,238
	.byt 017,017,017,017,017,017,017,033,034,050
	.byt 051,084,134,169,203,204,221,221,238,238
	.byt 017,017,017,017,033,034,034,034,051,067
	.byt 068,101,135,152,186,187,204,220,221,221
	.byt 033,034,034,034,034,034,051,051,067,068
	.byt 085,102,135,152,169,186,187,204,204,220
	.byt 034,034,034,051,051,051,067,068,068,085
	.byt 101,118,135,136,153,170,186,187,187,204
	.byt 051,051,051,051,067,068,068,084,085,101
	.byt 102,119,135,136,152,153,170,170,187,187
	.byt 051,051,067,068,068,068,085,085,101,102
	.byt 102,119,135,136,152,153,153,170,170,186
	.byt 067,068,068,068,084,085,085,101,102,102
	.byt 118,119,135,136,136,153,153,153,170,170
doub	cmp #40
	bcc rueck
	sbc #40
rueck	rts
irq	lda #255
	sta v+21
	and #251
	sta v+27
	ldx #13
	stx 2040
	inx
	stx 2044
	stx 2045
	inx
	stx 2042
	lda #11
	sta 2041
	sta 2043
	lda 646
	sta v+40
	sta v+42
	sta v+43
	sta v+44
	lda v+33
	sta v+39
	sta v+41
	lda #x
	sta v
	sta v+2
	sta v+4
	sta v+6
	lda #y
	sta v+1
	sta v+3
	clc
	adc sleep
	clc
	adc blink
	sec
	sbc #max
	cmp #y
	bcc setvert
	lda #y
setvert	sta v+5
	sta v+7
	lda #0
	sta v+23
	lda #15
	sta v+29
	lda 203
	cmp #64
	beq weiter
	lda mode
	beq on
	lda #3
	sta mode
	lda taste
	bne weiter
	lda #1
	sta taste
	.byt $2c
on	lda #0
	sta del
weiter	dec del
	bne nix
	ldx mode
	beq wach
	dex
	beq insleep
	dex
	beq dead
	lda #s2
	dec sleep
	bpl set
	lda #0
	sta sleep
	sta mode
	beq set
insleep	lda #s1
	inc sleep
	ldx sleep
	cpx #max+1
	bcc set
	inc mode
	bne dead
wach	lda #0
	sta taste
	lda #1
	sta sleep
	sta mode
	lda #s1
	bne set
dead	lda #max
	sta sleep
	lda #0
	sta bliz
	lda #0
	sta blink
	sta sgn
	lda #1
set	sta del
nix	ldx 214
	lda zuw,x
	asl
	sta tmp
	asl
	asl
	adc tmp
	asl
	sta tmp
	lda 211
	jsr doub
	lsr
	php
	clc
	adc tmp
	tay
	lda arctan,y
	plp
	bcc low1
	lsr
	lsr
	lsr
	lsr
low1	and #15
	tax
	lda xcos,x
	clc
	adc #x
	sta links
	lda ysin,x
	clc
	adc #y
	sta v+9
	lda 211
	jsr doub
	sec
	sbc #4
	bpl left
	lda #0
left	lsr
	php
	clc
	adc tmp
	tay
	lda arctan,y
	plp
	bcc low2
	lsr
	lsr
	lsr
	lsr
low2	and #15
	tax
	lda xcos,x
	clc
	adc #x+30
	sta rechts
	lda ysin,x
	clc
	adc #y
	sta v+11
	dec follw
	bne reok
	lda #2
	sta follw
	lda links
	cmp v+8
	beq liok
	bcc lidn
	inc v+8
	bne liok
lidn	dec v+8
liok	lda rechts
	cmp v+10
	beq reok
	bcc redn
	inc v+10
	bne reok
redn	dec v+10
reok	lda sgn
	bne guck
	lda #0
	sta blink
	dec bliz
	bne end
	lda #1
	sta sgn
	sta blink
	bne end
guck	clc
	adc blink
	sta blink
	bne action
	sta sgn
	lda #traen
	sta bliz
	bne end
action	cmp #max
	bne end
	lda #-1
	sta sgn
end	=*
pur	jmp 0
