converter_b_k051649_1a.sdlbas 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  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"56676D201C0F0000610100000000000000000000E00D0000F8F502000000"
  23. print"0000000000003C0000000000000000000000000000008C00000000000000"
  24. print"000000000000000000000000000000000000000000000000000000000000"
  25. print"0000000000000000000000000000000000000000000000000000 00000000" '4C4F1B00
  26. print"000200000000000000000000000000000000000000000000000000000000"
  27. print"000000000000 4C4F1B00 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. lct=0
  70. open finp$ for input as #1
  71. while eof(1)=0
  72. file input #1,txrd$
  73. setcaption("b:"+str$(lct)):lct+=1
  74. if mid$(txrd$,1,1)="[" then:
  75. if mid$(txrd$,2,1)="f" then:
  76. chid=val(mid$(txrd$,3,2))
  77. chid=chid mod 5 'k051649 has 5 channels
  78. chfqv=vldc(lstinf$(txrd$,":","]"))
  79. chfqv2=int(26.6984611843*2^(8-chfqv))
  80. if chfqv2>2047 then:chfqv2=2047:end if
  81. if chfqv2<0 then:chfqv2=0:end if
  82. chchrfq$=right$("000"+hex$(chfqv2),3)
  83. txrgo$="D201"+right$("00"+hex$(1+2*chid),2)+"0"+mid$(chchrfq$,1,1)
  84. txrgo$+=" D201"+right$("00"+hex$(0+2*chid),2)+mid$(chchrfq$,2,2)
  85. print ucase$(txrgo$)
  86. end if
  87. if mid$(txrd$,2,1)="v" then:
  88. chid=val(mid$(txrd$,3,2))
  89. chid=chid mod 5 'k051649 has 5 channels
  90. chvlv=vldc(lstinf$(txrd$,":","]"))*0x10
  91. chchrvl$=right$("00"+hex$(chvlv),2)
  92. txrgo$="D202"+right$("00"+hex$(chid),2)+chchrvl$
  93. print ucase$(txrgo$)
  94. end if
  95. if mid$(txrd$,2,3)="wvb" then:
  96. wvblv=vldc(lstinf$(txrd$,":","]"))
  97. wvblv2=wvblv*44100
  98. wvblv3a=wvblv2 mod 65536
  99. wvblv3b=int(wvblv2/65536)
  100. wvblv3as$=ucase$(right$("0000"+hex$(wvblv3a),4))
  101. for ii=1 to wvblv3b:print"61FFFF":next
  102. print "61"+mid$(wvblv3as$,3,2)+mid$(wvblv3as$,1,2)
  103. end if
  104. end if
  105. wend
  106. print:print "66":print
  107. close #1