;:sys36864 ;.opt oo *= 52000 cg =115 rb =820 lda onoff eor #128 sta onoff bmi ein jmp 58451 ein lda #neuevl sta $30a sty $30b lda #neubef sta $308 sty $309 lda #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 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 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 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 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 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 jsr $bc5b bmi on6 ldx #help jsr $bbd4 lda #base jsr $bba2 lda #help jsr $bb0f ldx #flp jsr $bbd4 jsr $bccc lda #flp jsr $b850 lda #base jsr $ba28 jsr ziff lda #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 jsr $bc5b beq rm3 bmi rm2 rm3 lda #"m" jsr $ffd2 lda #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 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 jsr $bbd4 ldy #0 jsr $bdd7 jsr $aad7 lda #f jmp $bba2 f =*