;:sys36864
	;.opt oo
	*= 52000
cg	=115
rb	=820
	lda onoff
	eor #128
	sta onoff
	bmi ein
	jmp 58451
ein	lda #<neuevl
	ldy #>neuevl
	sta $30a
	sty $30b
	lda #<neubef
	ldy #>neubef
	sta $308
	sty $309
	lda #<hi
	ldy #>hi
	jmp $ab1e
hi	.byt 13
	.byte "numeric converter 1.0"
	.byt 13
	.byte "by n. heusler 04.91"
	.byt 13,0
err1	.byte "basE"
rotab	.byte "mdclxvi"
wert	.word 1000,500,100,50,10,5,1
flpk	.byt $70,$27,$c5,$ac,$48
flp1000	.byt $8a,$7a,0,0,0
wetab	.word 900,800,700,600,500,400,300,200,100
	.word 90,80,70,60,50,40,30,20,10
	.word 9,8,7,6,5,4,3,2,1
rotxt	.byte "cMdccCdcCdCDcDccCcCCxClxxXlxXlXL"
	.byte "xLxxXxXXiXviiIviIvIViViiIiII"
base	brk
	brk
	brk
	brk
	brk
tmp	brk
last	.word 0
flp	brk
	brk
	brk
	brk
	brk
ptr	brk
onoff	brk
help	brk
	brk
	brk
	brk
	brk
neuevl	lda #0
	sta $d
	jsr cg
	cmp #"["
	beq belin
	cmp #"$"
	bne no16
	ldx #16
	bne sb
no16	cmp #"%"
	bne no2
	ldx #2
	bne sb
no2	cmp #"&"
	bne no8
	ldx #8
	bne sb
no8	cmp #"!"
	beq rom
	jsr 121
	jmp $ae8d
sb	jsr cg
	jmp sb2
belin	jsr $b79b
	lda #"]"
	jsr $aeff
sb2	cpx #1
	beq ro1
	txa
	bne be1
be2	lda #<err1
	sta 34
	lda #>err1
	jmp 42053
be1	cpx #37
	bcs be2
	jsr setbase
	jsr fac0
be3	jsr 121
	bcc be4
	cmp #"a"
	bcc be5
	cmp #"z"+1
	bcs be5
	sbc #6
be4	sec
	sbc #48
	cmp tmp
	bcs be5
	pha
	lda $61
	beq be6
	lda #<base
	ldy #>base
	jsr $ba28
be6	jsr cg
	pla
	beq be3
	jsr $bd7e
	jmp be3
be5	jmp 121
rom	jsr cg
ro1	ldx #0
	stx last
	stx last+1
ro2	jsr 121
	ldy #0
ro3	cmp rotab,y
	beq ro4
	iny
	cpy #7
	bcc ro3
	bcs ro5
ro4	tya
	asl
	sta rb,x
	jsr cg
	inx
	bne ro2
ro5	stx tmp
	jsr fac0
ro7	lda tmp
	beq ro6
	dec tmp
	ldx #<base
	ldy #>base
	jsr $bbd4
	ldx tmp
	ldy rb,x
	tya
	pha
	pha
	ldx wert,y
	lda wert+1,y
	jsr xafac
	pla
	tay
	lda wert+1,y
	cmp last+1
	bcc ro8
	bne ro9
	lda wert,y
	cmp last
	bcs ro9
ro8	jsr $bfb4
ro9	lda #<base
	ldy #>base
	jsr $b867
	pla
	tay
	lda wert,y
	sta last
	lda wert+1,y
	sta last+1
	jmp ro7
ro6	jmp 121
xafac	stx $63
	sta $62
	ldx #$90
	sec
	jmp $bc49
fac0	lda #0
	ldx #10
f0	sta $5d,x
	dex
	bpl f0
	rts
setbase	stx tmp
	lda #0
	jsr xafac
	ldx #<base
	ldy #>base
	jmp $bbd4
neubef	jsr cg
	cmp #$99
	beq dprint
	jsr 121
	jmp $a7e7
dprint	jsr cg
	jsr print
	jmp $a7ae
print	cmp #$91
	beq on
	jsr 121
	jmp $aaa0
on	jsr cg
	lda #"["
	jsr $aeff
	jsr $b79e
	txa
	bne on1
on2	jmp be2
on1	cpx #37
	bcs on2
	jsr setbase
	lda #"]"
	jsr $aeff
	lda #3
	jsr $a3fb
	ldx #5
re1	lda base,x
	pha
	dex
	bpl re1
	jsr $ad8a
	ldx #0
re2	pla
	sta base,x
	inx
	cpx #6
	bcc re2
	lda $66
	bpl on3
	jsr $bfb4
	lda #"-"
	.byt $2c
on3	lda #32
	jsr $ffd2
	jsr $b849
	jsr $bccc
	lda #0
	sta ptr
	ldx tmp
	cpx #1
	beq roman
on4	lda #<base
	ldy #>base
	jsr $bc5b
	bmi on6
	ldx #<help
	ldy #>help
	jsr $bbd4
	lda #<base
	ldy #>base
	jsr $bba2
	lda #<help
	ldy #>help
	jsr $bb0f
	ldx #<flp
	ldy #>flp
	jsr $bbd4
	jsr $bccc
	lda #<flp
	ldy #>flp
	jsr $b850
	lda #<base
	ldy #>base
	jsr $ba28
	jsr ziff
	lda #<flp
	ldy #>flp
	jsr $bba2
	jsr $bccc
	jmp on4
on6	jsr ziff
	ldx ptr
	dex
on7	lda rb,x
	jsr $ffd2
	dex
	bpl on7
eop	jsr 121
	jmp print
roman	=*
rm1	lda #<flp1000
	ldy #>flp1000
	jsr $bc5b
	beq rm3
	bmi rm2
rm3	lda #"m"
	jsr $ffd2
	lda #<flp1000
	ldy #>flp1000
	jsr $b850
	jsr $bfb4
	jmp rm1
rm2	ldx #0
rm4	stx ptr
	jsr $bc9b
	lda ptr
	asl
	tax
	lda $64
	cmp wetab+1,x
	bcc rm5
	bne rm6
	lda $65
	cmp wetab,x
	bcc rm5
rm6	ldx ptr
	stx flp
	ldy #-1
rm7	dec flp
	bmi rm8
rm9	iny
	lda rotxt,y
	bpl rm9
	bmi rm7
rm8	iny
	lda rotxt,y
	pha
	and #127
	jsr $ffd2
	pla
	bpl rm8
	lda ptr
	asl
	tax
	lda $65
	sec
	sbc wetab,x
	sta $65
	lda $64
	sbc wetab+1,x
	sta $64
	bcc rma
rm5	lda $64
	ora $65
	beq rma
	ldx $65
	lda $64
	jsr xafac
	ldx ptr
	inx
	cpx #27
	bcc rm4
rma	jmp eop
ziff	lda #<flpk
	ldy #>flpk
	jsr $b867
	jsr $bc9b
	lda $65
	cmp #10
	bcc zi1
	adc #6
zi1	clc
	adc #48
	ldx ptr
	inc ptr
	sta rb,x
	rts
c	ldx #<f
	ldy #>f
	jsr $bbd4
	ldy #0
	jsr $bdd7
	jsr $aad7
	lda #<f
	ldy #>f
	jmp $bba2
f	=*
