;:sys36864
	;.opt oo
	*= 51200
	jmp restorex
	jmp getreturn
	jmp wandel
	jmp sound
	jmp abheb
	jmp click
	jmp logoff
	jmp wandel2
	jmp inform
komma	=$aefd
frmnum	=$ad8a
integer	=$b7f7
adrzeil	=$a613
adr	=$5f
restcont	=$a824
crs1	=204
crs2	=205
crs3	=207
key	=198
getkey	=65508
frmevl	=$ad9e
frestr	=$b6a3
stradr	=$22
tmp	=2
sid	=$d400
adrx	=$e9f0
farbram	=$ea24
bild	=$d1
farb	=$f3
cls	=$e544
findvar	=$b08b
strres	=$b475
varadr	=$49
para	=$61
print	=$ffd2
latch	=820
getx	=$b7f1
strout	=$ab1e
irqvec	=$314
oldirq	=$ea31
vic	=$d000
pointer	=2040
delt	.byte "\x9d \x9d"
	.byt 0
delay	.byt 0
restorex	jsr komma
	jsr frmnum
	jsr integer
	jsr adrzeil
	sec
	lda adr
	sbc #1
	ldy adr+1
	jmp restcont
ad2	sta tmp+3
	lda sid+27
	and #128
	beq ad0
	lda #1
ad0	clc
	adc tmp+3
	rts
getreturn	lda #0
	sta crs1
	sta key
get	jsr getkey
	cmp #13
	bne get
	lda #2
	sta crs2
get1	lda crs3
	bne get1
	sei
	lda #1
	sta crs1
	cli
	rts
wandel	jsr komma
	jsr frmevl
	jsr frestr
	sta tmp
	ldy #-1
wa1	iny
	cpy tmp
	bne wa2
	rts
wa2	lda (stradr),y
	cmp #"a"
	bcc wa1
	cmp #"z"+1
	bcs wa1
	adc #128
	sta (stradr),y
	jmp wa1
wandel2	jsr komma
	jsr frmevl
	jsr frestr
	ldy #0
	lda (stradr),y
	cmp #"a"
	bcc exit
	cmp #"z"+1
	bcs exit
	adc #128
	sta (stradr),y
exit	rts
inform	jsr lenght
	jsr findvar
	sta varadr
	sty varadr+1
	jsr frestr
	ldx #0
	stx tmp
keylp	lda #0
	sta crs1
wk	jsr getkey
	beq wk
	pha
	lda #2
	sta crs2
wx	lda crs3
	bne wx
	sei
	lda #1
	sta crs1
	cli
	pla
	cmp #13
	bne text
	lda tmp
	jsr strres
	ldy #2
setpar	lda para,y
	sta (varadr),y
	dey
	bpl setpar
	iny
settxt	cpy tmp
	beq carried
	lda latch,y
	sta (para+1),y
	iny
	bne settxt
carried	rts
text	cmp #20
	beq del
	cmp #32
	bcs ok1
wrong	jmp keylp
ok1	cmp #128
	bcc ok
	cmp #149
	bcc wrong
	cmp #156
	bcc ok
	cmp #160
	bcc wrong
ok	ldx tmp
	cpx tmp+1
	bcs wrong
	sta latch,x
	jsr print
	inc tmp
	jmp keylp
lenght	jsr getx
	stx tmp+1
	jmp komma
del	ldx tmp
	beq wrong
	lda #<delt
	ldy #>delt
	jsr strout
	dec tmp
	jmp keylp
sound	jsr sidcl
	lda #5
	sta sid+24
	lda #9
	sta sid+5
	lda #176
	sta sid+6
	lda #34
	sta sid+1
	lda #17
	sta sid+4
	lda #10
	jsr pause
	lda #0
	sta sid+4
	lda #9
	jsr pause
	lda #7
	sta sid+24
	lda #17
	sta sid+4
	lda #35
	jsr pause
	lda #0
	sta sid+4
	lda #5
	sta sid+24
	lda #9
	jsr pause
	lda #17
	sta sid+4
	lda #10
	jsr pause
	lda #0
	sta sid+4
	lda #60
pause	sta tmp
	txa
	pha
	tya
	pha
	ldx #0
pb	ldy #25
pa	dex
	bne pa
	dey
	bne pa
	dec tmp
	bne pb
	pla
	tay
	pla
	tax
	rts
sidcl	lda #0
	ldx #31
sd	sta sid,x
	dex
	bpl sd
	rts
abheb	jsr sidcl
	jsr click
	jsr sidcl
	lda #10
	jsr pause
	lda #9
	sta sid+5
	lda #240
	sta sid+6
	lda #25
	sta sid+24
	lda #170
	sta sid+1
	lda #33
	sta sid+4
	lda #36
	jsr pause
	jsr sidcl
	lda #50
	jsr pause
	ldy #26
hoerer	jsr sidcl
	lda #15
	sta sid+24
	lda #3
	jsr pause
	dey
	bne hoerer
	jsr sidcl
	lda #30
	jsr pause
	lda #15
	sta sid+24
	lda #130
	sta sid+1
	lda #240
	sta sid+6
	lda #9
	sta sid+5
	lda #17
	sta sid+4
	lda #10
	jsr pause
	ldy #8
hoerer2	jsr sidcl
	lda #15
	sta sid+24
	lda #3
	jsr pause
	dey
	bne hoerer2
	lda #50
	jsr pause
click	jsr sidcl
	lda #15
	sta sid+24
	lda #9
	sta sid+5
	lda #100
	sta sid+1
	lda #129
	sta sid+4
	ldy #2
	ldx #0
px	dex
	bne px
	dey
	bne px
	lda #0
	sta sid+4
	rts
logoff	jsr setsprit
	jsr setirq
	jsr sidcl
	jsr sidcl
	lda #255
	sta sid+15
	lda #9
	sta sid+19
	lda #0
	sta tmp
	lda #240
	sta sid+20
	lda #129
	sta sid+18
	lda #128
	sta sid+18
	lda #60
	sta tmp+1
clrloop	lda tmp
	sec
	sbc #1
	sta tmp
	lda tmp+1
	sbc #0
	sta tmp+1
	beq logend
s27	lda sid+27
	lsr
	lsr
	lsr
	cmp #25
	bcs s27
	pha
	lda sid+27
	lsr
	lsr
	lsr
	sta tmp+2
	lda sid+27
	lsr
	lsr
	lsr
	lsr
	lsr
	clc
	adc tmp+2
	jsr ad2
	tay
	pla
	tax
	tya
	pha
	jsr adrx
	jsr farbram
	pla
	tay
	lda #102
	sta (bild),y
	lda sid+27
	sta (farb),y
	jmp clrloop
logend	jsr sidcl
	jsr sidcl
	lda #255
	sta sid+15
	lda #9
	sta sid+19
	lda #0
	sta tmp
	lda #240
	sta sid+20
	lda #129
	sta sid+18
	lda #128
	sta sid+18
	lda #120
	sta tmp+1
clrl	lda tmp
	sec
	sbc #1
	sta tmp
	lda tmp+1
	sbc #0
	sta tmp+1
	beq clred
s27a	lda sid+27
	lsr
	lsr
	lsr
	cmp #25
	bcs s27a
	pha
	lda sid+27
	lsr
	lsr
	lsr
	sta tmp+2
	lda sid+27
	lsr
	lsr
	lsr
	lsr
	lsr
	clc
	adc tmp+2
	jsr ad2
	tay
	pla
	tax
	tya
	pha
	jsr adrx
	pla
	tay
	lda #32
	sta (bild),y
	bne clrl
clred	jsr sidcl
	jsr irqaus
	jmp cls
setirq	lda #<irq
	ldy #>irq
	ldx #1
	stx delay
	sei
siq	sta irqvec
	sty irqvec+1
	cli
	rts
irqaus	sei
	ldx #0
	stx vic+21
	ldx #200
	stx vic+22
	ldx #27
	stx vic+17
	lda #<oldirq
	ldy #>oldirq
	bne siq
irq	dec delay
	bne noblink
	lda #10
	sta delay
	lda vic+39
	eor #1
	sta vic+39
noblink	lda vic+17
	eor #7
	sta vic+17
	lda vic+22
	eor #19
	sta vic+22
	jmp oldirq
setsprit	lda #11
	sta pointer
	lda #1
	sta vic+21
	sta vic+23
	sta vic+29
	lda #150
	sta vic
	sta vic+1
	rts
