home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er 1991 November
/
64er_Magazin_91-11_1991_Markt__Technik_de_Side_A.d64
/
num.conv.src
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
4KB
|
111 lines
10 sys36864
20 .opt oo
30 *= 52000
100 cg =115
102 rb =820
800 lda onoff:eor #128:sta onoff:bmi ein:jmp 58451
900 ein lda #<neuevl:ldy #>neuevl:sta $30a:sty $30b
902 lda #<neubef:ldy #>neubef:sta $308:sty $309
904 lda #<hi:ldy #>hi:jmp $ab1e
1000 hi .byt 13:.asc "numeric converter 1.0":.byt 13
1002 .asc "by n. heusler 04.91":.byt 13,0
1100 err1 .asc "bas[197]
1200 rotab .[198] "mdclxvi
1202 wert .wor 1000,500,100,50,10,5,1
1204 flpk .byt $70,$27,$c5,$ac,$48
1206 flp1000 .byt $8a,$7a,0,0,0
1208 wetab .wor 900,800,700,600,500,400,300,200,100
1210 .wor 90,80,70,60,50,40,30,20,10
1212 .wor 9,8,7,6,5,4,3,2,1
1220 rotxt .asc "c[205]dcc[195]dc[195]d[195][196]c[196]cc[195]c[195][195]x[195]lxx[216]lx[216]l[216][204]
1222 .[198] "x(NULL)xx(NULL)x(NULL)(NULL)i(NULL)viiright$viright$vright$(NULL)i(NULL)iiright$iright$right$
1900 base brk:brk:brk:brk:brk
1902 tmp brk
1904 last .wor 0
1906 flp brk:brk:brk:brk:brk
1908 ptr brk
1910 onoff brk
1912 help brk:brk:brk:brk:brk
2000 neuevl lda #0:sta $d
2010 jsr cg:cmp #"[":beq belin
2012 cmp #"$":bne no16:ldx #16:bne sb
2014 no16 cmp #"%":bne no2:ldx #2:bne sb
2016 no2 cmp #"&":bne no8:ldx #8:bne sb
2018 no8 cmp #"!":beq rom
2090 jsr 121:jmp $ae8d
2092 sb jsr cg:jmp sb2
2100 belin jsr $b79b:lda #"]":jsr $aeff
2102 sb2 cpx #1:beq ro1:txa:bne be1
2104 be2 lda #<err1:sta 34:lda #>err1:jmp 42053
2106 be1 cpx #37:bcs be2:jsr setbase
2108 jsr fac0
2120 be3 jsr 121:bcc be4:cmp #"a":bcc be5:cmp #"z"+1:bcs be5:sbc #6
2122 be4 sec:sbc #48:cmp tmp:bcs be5:pha
2124 lda $61:beq be6:lda #<base:ldy #>base:jsr $ba28
2126 be6 jsr cg:pla:beq be3:jsr $bd7e:jmp be3
2130 be5 jmp 121
2200 rom jsr cg
2202 ro1 ldx #0:stx last:stx last+1
2204 ro2 jsr 121:ldy #0
2206 ro3 cmp rotab,y:beq ro4:iny:cpy #7:bcc ro3:bcs ro5
2208 ro4 tya:asl:sta rb,x:jsr cg:inx:bne ro2
2210 ro5 stx tmp:jsr fac0
2220 ro7 lda tmp:beq ro6:dec tmp:ldx #<base:ldy #>base:jsr $bbd4
2222 ldx tmp:ldy rb,x:tya:pha:pha:ldx wert,y:lda wert+1,y:jsr xafac:pla:tay
2232 lda wert+1,y:cmp last+1:bcc ro8:bne ro9:lda wert,y:cmp last:bcs ro9
2234 ro8 jsr $bfb4
2236 ro9 lda #<base:ldy #>base:jsr $b867
2238 pla:tay:lda wert,y:sta last:lda wert+1,y:sta last+1
2240 jmp ro7
2290 ro6 jmp 121
3002 xafac stx $63:sta $62:ldx #$90:sec:jmp $bc49
3010 fac0 lda #0:ldx #10
3012 f0 sta $5d,x:dex:bpl f0:rts
3020 setbase stx tmp:lda #0:jsr xafac:ldx #<base:ldy #>base:jmp $bbd4
4000 neubef jsr cg:cmp #$99:beq dprint:jsr 121:jmp $a7e7
4001 dprint jsr cg:jsr print:jmp $a7ae
4002 print cmp #$91:beq on:jsr 121:jmp $aaa0
4004 on jsr cg:lda #"[":jsr $aeff:jsr $b79e:txa:bne on1
4006 on2 jmp be2
4008 on1 cpx #37:bcs on2
4009 jsr setbase:lda #"]":jsr $aeff:lda #3:jsr $a3fb:ldx #5
4010 re1 lda base,x:pha:dex:bpl re1
4014 jsr $ad8a:ldx #0
4015 re2 pla:sta base,x:inx:cpx #6:bcc re2
4016 lda $66:bpl on3:jsr $bfb4:lda #"-":.byt $2c
4018 on3 lda #32:jsr $ffd2:jsr $b849:jsr $bccc:lda #0:sta ptr
4019 ldx tmp:cpx #1:beq roman
4020 on4 lda #<base:ldy #>base:jsr $bc5b:bmi on6
4022 ldx #<help:ldy #>help:jsr $bbd4:lda #<base:ldy #>base:jsr $bba2
4023 lda #<help:ldy #>help:jsr $bb0f
4024 ldx #<flp:ldy #>flp:jsr $bbd4
4026 jsr $bccc:lda #<flp:ldy #>flp:jsr $b850
4028 lda #<base:ldy #>base:jsr $ba28:jsr ziff
4030 lda #<flp:ldy #>flp:jsr $bba2:jsr $bccc:jmp on4
4040 on6 jsr ziff:ldx ptr:dex
4042 on7 lda rb,x:jsr $ffd2:dex:bpl on7
4044 eop jsr 121:jmp print
4100 roman =*
4110 rm1 lda #<flp1000:ldy #>flp1000:jsr $bc5b:beq rm3:bmi rm2
4112 rm3 lda #"m":jsr $ffd2:lda #<flp1000:ldy #>flp1000:jsr $b850
4114 jsr $bfb4:jmp rm1
4116 rm2 ldx #0
4118 rm4 stx ptr:jsr $bc9b
4120 lda ptr:asl:tax:lda $64:cmp wetab+1,x:bcc rm5:bne rm6
4122 lda $65:cmp wetab,x:bcc rm5
4124 rm6 ldx ptr:stx flp:ldy #-1
4126 rm7 dec flp:bmi rm8
4128 rm9 iny:lda rotxt,y:bpl rm9:bmi rm7
4130 rm8 iny:lda rotxt,y:pha:and #127:jsr $ffd2:pla:bpl rm8
4132 lda ptr:asl:tax:lda $65:sec:sbc wetab,x:sta $65:lda $64:sbc wetab+1,x
4134 sta $64:bcc rma
4136 rm5 lda $64:ora $65:beq rma:ldx $65:lda $64:jsr xafac
4138 ldx ptr:inx:cpx #27:bcc rm4
4140 rma jmp eop
4200 ziff lda #<flpk:ldy #>flpk:jsr $b867
4202 jsr $bc9b:lda $65:cmp #10:bcc zi1:adc #6
4204 zi1 clc:adc #48:ldx ptr:inc ptr:sta rb,x:rts
4300 c ldx #<f:ldy #>f:jsr $bbd4
4302 ldy #0:jsr $bdd7:jsr $aad7:lda #<f:ldy #>f:jmp $bba2
4304 f =*