;:poke56,128:clr
;:sys36864
	;.opt oo
	*= $8000
vic	=$d000
bank	=$dd00
page	=648
konf	=1
tmp	=2
cint	=65409
tmp2	=4
chars	=$e000
strout	=$ab1e
crs1	=204
crs2	=205
crs3	=207
get	=65508
print	=$ffd2
quote	=212
return	=$aad7
setnam	=$ffbd
second	=185
device	=186
load	=$ffd5
store	=157
setpar	=$ffba
open	=$ffc0
close	=$ffc3
clall	=$ffe7
st	=144
chkin	=$ffc6
clrchn	=$ffcc
iecin	=$ee13
key	=198
buffer	=1024
mem	=$500
endmem	=$700
space	=$ab3f
axout	=$bdcd
rept	=650
clrx	=59903
setcr	=58732
zeile	=214
spalte	=211
	jmp go
title	.byte "\x93\x11\x08\x9bTrenn-O-mat 1.0     @\x11\x9d@\x91\x9d\x91@\x11   Nikolaus Heus"
	.byte "ler\x11(c) nh-280189-arr   @\x11\x9d@\x91    Zwengauerweg 18"
	.byte "\x11ein NSS-Programm    @\x11\x9d@\x91   8000 Muenchen 71"
	.byte "\x11----------------------------------------"
	.byte "\x11Bildsch.zeichensatz ?                b"
	.byte "\x9d\x9d\x9d\x9d\x9d\x9d\x9d\x9d\x9d\x9d\x9d\x9d\x9d\x9d\x9d\x9d"
	brk
delt	.byte "\x9d \x9d"
	brk
undname	.byte "\x11Name des Textfiles  ?                T"
	.byte "\x9d\x9d\x9d\x9d\x9d\x9d\x9d\x9d\x9d\x9d\x9d\x9d\x9d\x9d\x9d\x9d"
	brk
ioerr	.byt 13
	.byte "\x11Diskettenfehler !\x11"
	brk
laeng	.byte "\x11Ab wie vielen Zeichen fuer ein Wort"
	.byt 13
	.byte "Trennvorschlag erfragen ?"
	.byt 13
	.byte "\x11Bitte druecken Sie <+>, <->, <RETURN>\x91\x91"
da	.byt 13
	.byte "\x91\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d"
	brk
hallo	.byt 13
	.byte "Trenne "
	brk
crt	.byte " \x12@\x92 "
	brk
how	.byt 13,13,13
	.byte "Druecken Sie <+>,<->,<SPACE>,<RETURN>"
	brk
strich	.byt 13
	.byte "\x11----------------------------------------"
	brk
name	.byte "               "
typ	brk
laenge	brk
wordlen	brk
curs	brk
textin	ldy #0
	sty key
tlp	sty tmp2
	lda #0
	sta crs1
waitk	jsr get
	beq waitk
	cmp #20
	beq ja
	cmp #13
	beq ja
	cmp #64
	beq waitk
	cmp #32
	bcc waitk
ja	ldx #2
	stx crs2
	ldy tmp2
wc	ldx crs3
	bne wc
	inc crs1
	cmp #20
	bne nodel
	tya
	beq tlp
	sty tmp2
	lda #<delt
	ldy #>delt
	jsr strout
	ldy tmp2
	dey
	jmp tlp
nodel	cmp #13
	beq fertig
	cpy #15
	bcs tlp
	cmp #128
	bcc ok
	cmp #149
	bcc tlp
	cmp #156
	bcc ok
	cmp #160
	bcc tlp
ok	sta (tmp),y
	iny
	jsr print
	lda #0
	sta quote
	beq tlp
fertig	jmp return
getname	sta typ
	lda #<name
	ldy #>name
	sta tmp
	sty tmp+1
	jsr textin
	lda #32
delname	cpy #15
	bcs deled
	sta name,y
	iny
	bne delname
deled	lda #16
	sta store
	ldx #<name
	ldy #>name
	jmp setnam
set0	lda #0
	sta chars
	lda #24
	ldx #7
set1	sta chars,x
	dex
	bne set1
	lda #128
	ldx #7
set2	sta chars+$400,x
	dex
	bpl set2
	rts
go	jsr clall
	jsr cint
	lda #51
	sei
	sta konf
	ldx #8
	ldy #0
	sty tmp
	sty tmp2
	lda #$d8
	sta tmp+1
	lda #>chars
	sta tmp2+1
copych	lda (tmp),y
	sta (tmp2),y
	iny
	bne copych
	inc tmp+1
	inc tmp2+1
	dex
	bne copych
	lda #55
	sta konf
	cli
	ldx #0
	stx bank
	lda #196
	sta page
	lda #24
	sta vic+24
	stx vic+33
	stx vic+32
	jsr set0
	lda #128
	sta rept
	lda #<title
	ldy #>title
	jsr strout
	lda #"b"
	jsr getname
	lda device
	cmp #8
	bcc noflop
	cmp #15
	bcc flop
noflop	lda #8
	sta device
flop	lda #0
	sta second
	ldx #<chars
	ldy #>chars
	jsr load
	jsr set0
	lda #<undname
	ldy #>undname
	jsr strout
	lda #"T"
	jsr getname
	ldx device
	lda #2
	tay
	jsr setpar
	jsr open
	lda st
	beq gut
io	jsr clall
	lda #<ioerr
	ldy #>ioerr
	jmp strout
gut	lda #<laeng
	ldy #>laeng
	jsr strout
	lda #10
	sta laenge
l	lda #<da
	ldy #>da
	jsr strout
	lda #0
	ldx laenge
	jsr axout
	jsr space
k	jsr get
	cmp #13
	beq stat
	cmp #"-"
	bne pl
	lda laenge
	cmp #2
	bcc k
	dec laenge
	bne l
pl	cmp #"+"
	bne k
	lda laenge
	cmp #29
	bcs k
	inc laenge
	bne l
stat	ldx #16
	jsr clrx
	lda #<strich
	ldy #>strich
	jsr strout
	ldx #2
	jsr chkin
	lda st
	bne io
	lda #<mem
	ldy #>mem
	sta tmp
	sty tmp+1
	ldy #0
inloop	sty tmp2
	jsr iecin
	ldy tmp2
	tax
	lda st
	and #191
	bne io
	lda st
	and #64
	beq neoi
	jmp eoi
neoi	txa
	cmp #160
	beq word
	cmp #"_"
	beq word
	cmp #32
	beq word
	sta buffer,y
	iny
	cpy #31
	bcc inloop
	bcs must
word	sta buffer,y
	iny
	cpy laenge
	bcc notrenn
	beq notrenn
must	sty wordlen
	lda #<hallo
	ldy #>hallo
	jsr strout
	ldx #0
worout	lda buffer,x
	jsr print
	inx
	cpx wordlen
	bcc worout
	lda #<how
	ldy #>how
	jsr strout
	jsr clrchn
	lda #0
	sta key
	sta curs
show	lda #17
	sta zeile
	lda #7
	clc
	adc curs
	sta spalte
	jsr setcr
	lda #<crt
	ldy #>crt
	jsr strout
kk	jsr get
	beq kk
	cmp #"+"
	bne mi
	lda curs
	cmp wordlen
	bcs kk
	inc curs
	bne show
mi	cmp #"-"
	bne gru
	lda curs
	beq kk
	dec curs
	bpl show
gru	jmp kk
eoi	jmp clrchn
notrenn	ldy #0
	jmp inloop
