converter_b_k051649x2_1a.sdlbas 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. function lstinf$(a$,b$,c$)
  2. adra=1:adrb=1:blngt=len(b$):d$=""
  3. while adrb<=blngt
  4. if mid$ (a$,adra,1)=mid$ (b$,adrb,1) then:adrb+=1:end if
  5. adra=adra+1
  6. end while
  7. while mid$(a$,adra,1)<>left$(c$,1)
  8. d$=d$+mid$(a$,adra,1):adra=adra+1
  9. end while
  10. lstinf$=d$
  11. end function
  12. function vldc(a$)
  13. t0$="!"+a$+".0.0.0."
  14. t1$=lstinf$(t0$,"!",".")
  15. t2$=lstinf$(t0$,".",".")
  16. t3=10^(len(t2$))
  17. vldc=val(t1$)+(val(t2$)/t3)
  18. end function
  19. dim chfq[16],chvl[16]
  20. finp$="_.csv"
  21. if argc>2 then:finp$=argv(2):end if
  22. print"56676D20 FFFFFF00 610100000000000000000000E00D0000F8F502000000"
  23. print"0000000000003C0000000000000000000000000000008C00000000000000"
  24. print"000000000000000000000000000000000000000000000000000000000000"
  25. print"0000000000000000000000000000000000000000000000000000 00000000" '4C4F1B00
  26. print"000200000000000000000000000000000000000000000000000000000000"
  27. print"000000000000 4C4F1B40 0000000000000000000000000000000000000000"
  28. print"00000000 00000000 00000000"
  29. print"D20100D4 D201029E D2010478"
  30. print"D2010502 D2010679 D2010702"
  31. print"D2020008 D2020108 D202020B D202030A"
  32. print"D203000F D2030000"
  33. print"D2000000 D2000119 D2000231 D2000347"
  34. print"D200045A D200056A D2000675 D200077D"
  35. print"D200087F D200097D D2000A75 D2000B6A"
  36. print"D2000C5A D2000D47 D2000E31 D2000F19"
  37. print"D2001080 D2001190 D20012A0 D20013B0"
  38. print"D20014C0 D20015D0 D20016E0 D20017F0"
  39. print"D2001800 D2001910 D2001A20 D2001B30"
  40. print"D2001C40 D2001D50 D2001E60 D2001F70"
  41. print"D203000F D2030000"
  42. print"D2002000 D2002119 D2002231 D2002347"
  43. print"D200245A D200256A D2002675 D200277D"
  44. print"D200287F D200297D D2002A75 D2002B6A"
  45. print"D2002C5A D2002D47 D2002E31 D2002F19"
  46. print"D2003080 D2003190 D20032A0 D20033B0"
  47. print"D20034C0 D20035D0 D20036E0 D20037F0"
  48. print"D2003800 D2003910 D2003A20 D2003B30"
  49. print"D2003C40 D2003D50 D2003E60 D2003F70"
  50. print"D203000F D2030000"
  51. print"D2004000 D2004100 D2004200 D2004380"
  52. print"D2004400 D2004570 D2004670 D2004770"
  53. print"D2004800 D2004900 D2004A00 D2004B80"
  54. print"D2004C00 D2004D00 D2004E00 D2004F80"
  55. print"D2005080 D2005180 D2005280 D2005300"
  56. print"D2005480 D2005500 D2005600 D2005700"
  57. print"D2005800 D2005980 D2005A80 D2005B80"
  58. print"D2005C00 D2005D80 D2005E80 D2005F80"
  59. print"D203000F D2030000"
  60. print"D2006000 D2006100 D2006200 D2006380"
  61. print"D2006400 D2006570 D2006670 D2006770"
  62. print"D2006800 D2006900 D2006A00 D2006B80"
  63. print"D2006C00 D2006D00 D2006E00 D2006F80"
  64. print"D2007080 D2007180 D2007280 D2007300"
  65. print"D2007480 D2007500 D2007600 D2007700"
  66. print"D2007800 D2007980 D2007A80 D2007B80"
  67. print"D2007C00 D2007D80 D2007E80 D2007F80"
  68. print"D203000F"
  69. print"D28100D4 D281029E D2810478"
  70. print"D2810502 D2810679 D2810702"
  71. print"D2820008 D2820108 D282020B D282030A"
  72. print"D283000F D2830000"
  73. print"D2800000 D2800119 D2800231 D2800347"
  74. print"D280045A D280056A D2800675 D280077D"
  75. print"D280087F D280097D D2800A75 D2800B6A"
  76. print"D2800C5A D2800D47 D2800E31 D2800F19"
  77. print"D2801080 D2801190 D28012A0 D28013B0"
  78. print"D28014C0 D28015D0 D28016E0 D28017F0"
  79. print"D2801800 D2801910 D2801A20 D2801B30"
  80. print"D2801C40 D2801D50 D2801E60 D2801F70"
  81. print"D283000F D2830000"
  82. print"D2802000 D2802119 D2802231 D2802347"
  83. print"D280245A D280256A D2802675 D280277D"
  84. print"D280287F D280297D D2802A75 D2802B6A"
  85. print"D2802C5A D2802D47 D2802E31 D2802F19"
  86. print"D2803080 D2803190 D28032A0 D28033B0"
  87. print"D28034C0 D28035D0 D28036E0 D28037F0"
  88. print"D2803800 D2803910 D2803A20 D2803B30"
  89. print"D2803C40 D2803D50 D2803E60 D2803F70"
  90. print"D283000F D2830000"
  91. print"D2804000 D2804100 D2804200 D2804380"
  92. print"D2804400 D2804570 D2804670 D2804770"
  93. print"D2804800 D2804900 D2804A00 D2804B80"
  94. print"D2804C00 D2804D00 D2804E00 D2804F80"
  95. print"D2805080 D2805180 D2805280 D2805300"
  96. print"D2805480 D2805500 D2805600 D2805700"
  97. print"D2805800 D2805980 D2805A80 D2805B80"
  98. print"D2805C00 D2805D80 D2805E80 D2805F80"
  99. print"D283000F D2830000"
  100. print"D2806000 D2806100 D2806200 D2806380"
  101. print"D2806400 D2806570 D2806670 D2806770"
  102. print"D2806800 D2806900 D2806A00 D2806B80"
  103. print"D2806C00 D2806D00 D2806E00 D2806F80"
  104. print"D2807080 D2807180 D2807280 D2807300"
  105. print"D2807480 D2807500 D2807600 D2807700"
  106. print"D2807800 D2807980 D2807A80 D2807B80"
  107. print"D2807C00 D2807D80 D2807E80 D2807F80"
  108. print"D283000F"
  109. lct=0
  110. open finp$ for input as #1
  111. while eof(1)=0
  112. file input #1,txrd$
  113. setcaption("b:"+str$(lct)):lct+=1
  114. if mid$(txrd$,1,1)="[" then:
  115. if mid$(txrd$,2,1)="f" then:
  116. chid=val(mid$(txrd$,3,2))
  117. chid=chid mod 10 'k051649x2 has 10 channels
  118. chfqv=vldc(lstinf$(txrd$,":","]"))
  119. chfqv2=int(26.6984611843*2^(8-chfqv))
  120. if chfqv2>2047 then:chfqv2=2047:end if
  121. if chfqv2<0 then:chfqv2=0:end if
  122. chchrfq$=right$("000"+hex$(chfqv2),3)
  123. if int(chid/5)=0 then
  124. txrgo$="D201"+right$("00"+hex$(1+2*(chid mod 5)),2)+"0"+mid$(chchrfq$,1,1)
  125. txrgo$+=" D201"+right$("00"+hex$(0+2*(chid mod 5)),2)+mid$(chchrfq$,2,2)
  126. else
  127. txrgo$="D281"+right$("00"+hex$(1+2*(chid mod 5)),2)+"0"+mid$(chchrfq$,1,1)
  128. txrgo$+=" D281"+right$("00"+hex$(0+2*(chid mod 5)),2)+mid$(chchrfq$,2,2)
  129. end if
  130. print ucase$(txrgo$)
  131. end if
  132. if mid$(txrd$,2,1)="v" then:
  133. chid=val(mid$(txrd$,3,2))
  134. chid=chid mod 10 'k051649x2 has 10 channels
  135. chvlv=vldc(lstinf$(txrd$,":","]"))*0x10
  136. chchrvl$=right$("00"+hex$(chvlv),2)
  137. if int(chid/5)=0 then
  138. txrgo$="D202"+right$("00"+hex$(chid mod 5),2)+chchrvl$
  139. else
  140. txrgo$="D282"+right$("00"+hex$(chid mod 5),2)+chchrvl$
  141. end if
  142. print ucase$(txrgo$)
  143. end if
  144. if mid$(txrd$,2,3)="wvb" then:
  145. wvblv=vldc(lstinf$(txrd$,":","]"))
  146. wvblv2=wvblv*44100
  147. wvblv3a=wvblv2 mod 65536
  148. wvblv3b=int(wvblv2/65536)
  149. wvblv3as$=ucase$(right$("0000"+hex$(wvblv3a),4))
  150. for ii=1 to wvblv3b:print"61FFFF":next
  151. print "61"+mid$(wvblv3as$,3,2)+mid$(wvblv3as$,1,2)
  152. end if
  153. end if
  154. wend
  155. print:print "66":print
  156. close #1