123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- function lstinf$(a$,b$,c$)
- adra=1:adrb=1:blngt=len(b$):d$=""
- while adrb<=blngt
- if mid$ (a$,adra,1)=mid$ (b$,adrb,1) then:adrb+=1:end if
- adra=adra+1
- end while
- while mid$(a$,adra,1)<>left$(c$,1)
- d$=d$+mid$(a$,adra,1):adra=adra+1
- end while
- lstinf$=d$
- end function
- function vldc(a$)
- t0$="!"+a$+".0.0.0."
- t1$=lstinf$(t0$,"!",".")
- t2$=lstinf$(t0$,".",".")
- t3=10^(len(t2$))
- vldc=val(t1$)+(val(t2$)/t3)
- end function
- dim chfq[16],chvl[16]
- finp$="_.csv"
- if argc>2 then:finp$=argv(2):end if
- print"56676D201C0F0000610100000000000000000000E00D0000F8F502000000"
- print"0000000000003C0000000000000000000000000000008C00000000000000"
- print"000000000000000000000000000000000000000000000000000000000000"
- print"0000000000000000000000000000000000000000000000000000 00000000" '4C4F1B00
- print"000200000000000000000000000000000000000000000000000000000000"
- print"000000000000 4C4F1B00 0000000000000000000000000000000000000000"
- print"00000000 00000000 00000000"
- print"D20100D4 D201029E D2010478"
- print"D2010502 D2010679 D2010702"
- print"D2020008 D2020108 D202020B D202030A"
- print"D203000F D2030000"
- print"D2000000 D2000119 D2000231 D2000347"
- print"D200045A D200056A D2000675 D200077D"
- print"D200087F D200097D D2000A75 D2000B6A"
- print"D2000C5A D2000D47 D2000E31 D2000F19"
- print"D2001080 D2001190 D20012A0 D20013B0"
- print"D20014C0 D20015D0 D20016E0 D20017F0"
- print"D2001800 D2001910 D2001A20 D2001B30"
- print"D2001C40 D2001D50 D2001E60 D2001F70"
- print"D203000F D2030000"
- print"D2002000 D2002119 D2002231 D2002347"
- print"D200245A D200256A D2002675 D200277D"
- print"D200287F D200297D D2002A75 D2002B6A"
- print"D2002C5A D2002D47 D2002E31 D2002F19"
- print"D2003080 D2003190 D20032A0 D20033B0"
- print"D20034C0 D20035D0 D20036E0 D20037F0"
- print"D2003800 D2003910 D2003A20 D2003B30"
- print"D2003C40 D2003D50 D2003E60 D2003F70"
- print"D203000F D2030000"
- print"D2004000 D2004100 D2004200 D2004380"
- print"D2004400 D2004570 D2004670 D2004770"
- print"D2004800 D2004900 D2004A00 D2004B80"
- print"D2004C00 D2004D00 D2004E00 D2004F80"
- print"D2005080 D2005180 D2005280 D2005300"
- print"D2005480 D2005500 D2005600 D2005700"
- print"D2005800 D2005980 D2005A80 D2005B80"
- print"D2005C00 D2005D80 D2005E80 D2005F80"
- print"D203000F D2030000"
- print"D2006000 D2006100 D2006200 D2006380"
- print"D2006400 D2006570 D2006670 D2006770"
- print"D2006800 D2006900 D2006A00 D2006B80"
- print"D2006C00 D2006D00 D2006E00 D2006F80"
- print"D2007080 D2007180 D2007280 D2007300"
- print"D2007480 D2007500 D2007600 D2007700"
- print"D2007800 D2007980 D2007A80 D2007B80"
- print"D2007C00 D2007D80 D2007E80 D2007F80"
- print"D203000F"
- lct=0
- open finp$ for input as #1
- while eof(1)=0
- file input #1,txrd$
- setcaption("b:"+str$(lct)):lct+=1
- if mid$(txrd$,1,1)="[" then:
- if mid$(txrd$,2,1)="f" then:
- chid=val(mid$(txrd$,3,2))
- chid=chid mod 5 'k051649 has 5 channels
- chfqv=vldc(lstinf$(txrd$,":","]"))
- chfqv2=int(26.6984611843*2^(8-chfqv))
- if chfqv2>2047 then:chfqv2=2047:end if
- if chfqv2<0 then:chfqv2=0:end if
- chchrfq$=right$("000"+hex$(chfqv2),3)
- txrgo$="D201"+right$("00"+hex$(1+2*chid),2)+"0"+mid$(chchrfq$,1,1)
- txrgo$+=" D201"+right$("00"+hex$(0+2*chid),2)+mid$(chchrfq$,2,2)
- print ucase$(txrgo$)
- end if
- if mid$(txrd$,2,1)="v" then:
- chid=val(mid$(txrd$,3,2))
- chid=chid mod 5 'k051649 has 5 channels
- chvlv=vldc(lstinf$(txrd$,":","]"))*0x10
- chchrvl$=right$("00"+hex$(chvlv),2)
- txrgo$="D202"+right$("00"+hex$(chid),2)+chchrvl$
- print ucase$(txrgo$)
- end if
- if mid$(txrd$,2,3)="wvb" then:
- wvblv=vldc(lstinf$(txrd$,":","]"))
- wvblv2=wvblv*44100
- wvblv3a=wvblv2 mod 65536
- wvblv3b=int(wvblv2/65536)
- wvblv3as$=ucase$(right$("0000"+hex$(wvblv3a),4))
- for ii=1 to wvblv3b:print"61FFFF":next
- print "61"+mid$(wvblv3as$,3,2)+mid$(wvblv3as$,1,2)
- end if
- end if
- wend
- print:print "66":print
- close #1
|