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 >
Commodore BASIC  |  2022-10-26  |  4KB  |  111 lines

  1. 10 sys36864
  2. 20 .opt oo
  3. 30 *= 52000
  4. 100 cg =115
  5. 102 rb =820
  6. 800 lda onoff:eor #128:sta onoff:bmi ein:jmp 58451
  7. 900 ein lda #<neuevl:ldy #>neuevl:sta $30a:sty $30b
  8. 902 lda #<neubef:ldy #>neubef:sta $308:sty $309
  9. 904 lda #<hi:ldy #>hi:jmp $ab1e
  10. 1000 hi .byt 13:.asc "numeric converter 1.0":.byt 13
  11. 1002 .asc "by n. heusler 04.91":.byt 13,0
  12. 1100 err1 .asc "bas[197]
  13. 1200 rotab .[198] "mdclxvi
  14. 1202 wert .wor 1000,500,100,50,10,5,1
  15. 1204 flpk .byt $70,$27,$c5,$ac,$48
  16. 1206 flp1000 .byt $8a,$7a,0,0,0
  17. 1208 wetab .wor 900,800,700,600,500,400,300,200,100
  18. 1210 .wor 90,80,70,60,50,40,30,20,10
  19. 1212 .wor 9,8,7,6,5,4,3,2,1
  20. 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]
  21. 1222 .[198] "x(NULL)xx(NULL)x(NULL)(NULL)i(NULL)viiright$viright$vright$(NULL)i(NULL)iiright$iright$right$
  22. 1900 base brk:brk:brk:brk:brk
  23. 1902 tmp brk
  24. 1904 last .wor 0
  25. 1906 flp brk:brk:brk:brk:brk
  26. 1908 ptr brk
  27. 1910 onoff brk
  28. 1912 help brk:brk:brk:brk:brk
  29. 2000 neuevl lda #0:sta $d
  30. 2010 jsr cg:cmp #"[":beq belin
  31. 2012 cmp #"$":bne no16:ldx #16:bne sb
  32. 2014 no16 cmp #"%":bne no2:ldx #2:bne sb
  33. 2016 no2 cmp #"&":bne no8:ldx #8:bne sb
  34. 2018 no8 cmp #"!":beq rom
  35. 2090 jsr 121:jmp $ae8d
  36. 2092 sb jsr cg:jmp sb2
  37. 2100 belin jsr $b79b:lda #"]":jsr $aeff
  38. 2102 sb2 cpx #1:beq ro1:txa:bne be1
  39. 2104 be2 lda #<err1:sta 34:lda #>err1:jmp 42053
  40. 2106 be1 cpx #37:bcs be2:jsr setbase
  41. 2108 jsr fac0
  42. 2120 be3 jsr 121:bcc be4:cmp #"a":bcc be5:cmp #"z"+1:bcs be5:sbc #6
  43. 2122 be4 sec:sbc #48:cmp tmp:bcs be5:pha
  44. 2124 lda $61:beq be6:lda #<base:ldy #>base:jsr $ba28
  45. 2126 be6 jsr cg:pla:beq be3:jsr $bd7e:jmp be3
  46. 2130 be5 jmp 121
  47. 2200 rom jsr cg
  48. 2202 ro1 ldx #0:stx last:stx last+1
  49. 2204 ro2 jsr 121:ldy #0
  50. 2206 ro3 cmp rotab,y:beq ro4:iny:cpy #7:bcc ro3:bcs ro5
  51. 2208 ro4 tya:asl:sta rb,x:jsr cg:inx:bne ro2
  52. 2210 ro5 stx tmp:jsr fac0
  53. 2220 ro7 lda tmp:beq ro6:dec tmp:ldx #<base:ldy #>base:jsr $bbd4
  54. 2222 ldx tmp:ldy rb,x:tya:pha:pha:ldx wert,y:lda wert+1,y:jsr xafac:pla:tay
  55. 2232 lda wert+1,y:cmp last+1:bcc ro8:bne ro9:lda wert,y:cmp last:bcs ro9
  56. 2234 ro8 jsr $bfb4
  57. 2236 ro9 lda #<base:ldy #>base:jsr $b867
  58. 2238 pla:tay:lda wert,y:sta last:lda wert+1,y:sta last+1
  59. 2240 jmp ro7
  60. 2290 ro6 jmp 121
  61. 3002 xafac stx $63:sta $62:ldx #$90:sec:jmp $bc49
  62. 3010 fac0 lda #0:ldx #10
  63. 3012 f0 sta $5d,x:dex:bpl f0:rts
  64. 3020 setbase stx tmp:lda #0:jsr xafac:ldx #<base:ldy #>base:jmp $bbd4
  65. 4000 neubef jsr cg:cmp #$99:beq dprint:jsr 121:jmp $a7e7
  66. 4001 dprint jsr cg:jsr print:jmp $a7ae
  67. 4002 print cmp #$91:beq on:jsr 121:jmp $aaa0
  68. 4004 on jsr cg:lda #"[":jsr $aeff:jsr $b79e:txa:bne on1
  69. 4006 on2 jmp be2
  70. 4008 on1 cpx #37:bcs on2
  71. 4009 jsr setbase:lda #"]":jsr $aeff:lda #3:jsr $a3fb:ldx #5
  72. 4010 re1 lda base,x:pha:dex:bpl re1
  73. 4014 jsr $ad8a:ldx #0
  74. 4015 re2 pla:sta base,x:inx:cpx #6:bcc re2
  75. 4016 lda $66:bpl on3:jsr $bfb4:lda #"-":.byt $2c
  76. 4018 on3 lda #32:jsr $ffd2:jsr $b849:jsr $bccc:lda #0:sta ptr
  77. 4019 ldx tmp:cpx #1:beq roman
  78. 4020 on4 lda #<base:ldy #>base:jsr $bc5b:bmi on6
  79. 4022 ldx #<help:ldy #>help:jsr $bbd4:lda #<base:ldy #>base:jsr $bba2
  80. 4023 lda #<help:ldy #>help:jsr $bb0f
  81. 4024 ldx #<flp:ldy #>flp:jsr $bbd4
  82. 4026 jsr $bccc:lda #<flp:ldy #>flp:jsr $b850
  83. 4028 lda #<base:ldy #>base:jsr $ba28:jsr ziff
  84. 4030 lda #<flp:ldy #>flp:jsr $bba2:jsr $bccc:jmp on4
  85. 4040 on6 jsr ziff:ldx ptr:dex
  86. 4042 on7 lda rb,x:jsr $ffd2:dex:bpl on7
  87. 4044 eop jsr 121:jmp print
  88. 4100 roman =*
  89. 4110 rm1 lda #<flp1000:ldy #>flp1000:jsr $bc5b:beq rm3:bmi rm2
  90. 4112 rm3 lda #"m":jsr $ffd2:lda #<flp1000:ldy #>flp1000:jsr $b850
  91. 4114 jsr $bfb4:jmp rm1
  92. 4116 rm2 ldx #0
  93. 4118 rm4 stx ptr:jsr $bc9b
  94. 4120 lda ptr:asl:tax:lda $64:cmp wetab+1,x:bcc rm5:bne rm6
  95. 4122 lda $65:cmp wetab,x:bcc rm5
  96. 4124 rm6 ldx ptr:stx flp:ldy #-1
  97. 4126 rm7 dec flp:bmi rm8
  98. 4128 rm9 iny:lda rotxt,y:bpl rm9:bmi rm7
  99. 4130 rm8 iny:lda rotxt,y:pha:and #127:jsr $ffd2:pla:bpl rm8
  100. 4132 lda ptr:asl:tax:lda $65:sec:sbc wetab,x:sta $65:lda $64:sbc wetab+1,x
  101. 4134 sta $64:bcc rma
  102. 4136 rm5 lda $64:ora $65:beq rma:ldx $65:lda $64:jsr xafac
  103. 4138 ldx ptr:inx:cpx #27:bcc rm4
  104. 4140 rma jmp eop
  105. 4200 ziff lda #<flpk:ldy #>flpk:jsr $b867
  106. 4202 jsr $bc9b:lda $65:cmp #10:bcc zi1:adc #6
  107. 4204 zi1 clc:adc #48:ldx ptr:inc ptr:sta rb,x:rts
  108. 4300 c ldx #<f:ldy #>f:jsr $bbd4
  109. 4302 ldy #0:jsr $bdd7:jsr $aad7:lda #<f:ldy #>f:jmp $bba2
  110. 4304 f =*
  111.