;:ifpeek(789)<234thensys51203
;:sys36864
	;.opt oo
	*= $c800
irqvec	=$314
oldirq	=$ea31
vic	=$d000
fa1	=vic+32
fa2	=fa1+1
cia	=$dc0d
imr	=vic+26
irr	=vic+25
ras	=vic+18
con	=ras-1
zeil1	=2024
zeil2	=zeil1+1
endirq	=$ea81
puff	=820
pag	=648
tmp	=166
tmp2	=tmp+2
getkey	=65508
	jmp menue
toirqoff	jmp irqoff
hell	.byt 1,1,15,7,12,2,11,249
nct	.byt 0
ric	.byt 0
hep	.byt 0
setras	sei
	lda #100
	sta ras
	lda con
	and #$7f
	sta con
	lda #$81
	sta imr
	lda #<testirq
	ldy #>testirq
seti	sta irqvec
	sty irqvec+1
	cli
	rts
irqoff	sei
	lda #0
	sta imr
	sta fa1
	sta fa2
	lda #<oldirq
	ldy #>oldirq
	bne seti
testirq	lda zeil1
	clc
	adc #11
	sta zeil2
	lda irr
	sta irr
	and #1
	bne ok
	lda cia
	cli
	jsr next
	jmp oldirq
ok	lda ras
	cmp zeil2
	bcs seco
	ldy zeil2
color	lda #0
setp	sta fa1
	sta fa2
	sty ras
	jmp endirq
seco	lda #0
	ldy zeil1
	jmp setp
wel	asl
	asl
	asl
	clc
	adc #47
	rts
such	lda pag
	sta tmp+1
	ldy #0
	sty tmp
	ldx #0
	stx tmp2
sulo	lda (tmp),y
	bne nix
fu	lda #" "
	sta (tmp),y
	txa
	jsr wel
	ldy tmp2
	inc tmp2
	sta puff,y
nix	cmp #42
	bne nix2
	stx erst+1
	lda tmp2
	sta erst2+1
	jmp fu
nix2	ldy #0
	clc
	lda #40
	adc tmp
	sta tmp
	lda tmp+1
	adc #0
	sta tmp+1
	inx
	cpx #25
	bne sulo
	ldx tmp2
	tya
	sta puff,x
	rts
menue	jsr such
	lda puff
	bne ok2
	lda #-1
	sta tmp
ret	jmp toirqoff
ok2	jsr setras
	lda #1
	sta nct
erst	lda #0
	jsr wel
	sta zeil1
erst2	lda #0
	sta tmp
menloop	jsr getkey
	cmp #13
	beq ret
	cmp #"\x11"
	beq down
	cmp #"\x91"
	beq up
	bne menloop
down	inc tmp
	ldx tmp
	lda puff,x
	bne nowel
	ldx #-1
	stx tmp
	bne down
nowel	sta zeil1
	jmp menloop
up	dec tmp
	bpl weirau
	ldx tmp2
	stx tmp
	jmp up
weirau	ldx tmp
	lda puff,x
	jmp nowel
next	dec nct
	bne gut
	lda #4
	sta nct
	ldx hep
	lda ric
	beq vorw
	lda hell,x
	sta color+1
	dec hep
	bpl gut
	inc hep
	inc hep
	jmp tausch
vorw	inc hep
	lda hell,x
	sta color+1
	bpl gut
	dec hep
	dec hep
tausch	lda ric
	eor #-1
	sta ric
gut	rts
