123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- 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"56676D20 FFFFFF0F 510100000000000000000000C00E0000513105001501"
- print"000069EC04003C0000000000000000000000000000004C00000000000000"
- print"000000000000000000000000000000000000000000000000000000000000"
- print"00000000000000000000000000000000000000000000000000004C4F1B40"
- print"0001000070000000"
- print"A00000"
- print"A00100"
- print"A00200"
- print"A00300"
- print"A00400"
- print"A00500"
- print"A00800"
- print"A00900"
- print"A00A00"
- print"A007B8"
- print"A08000"
- print"A08100"
- print"A08200"
- print"A08300"
- print"A08400"
- print"A08500"
- print"A08800"
- print"A08900"
- print"A08A00"
- print"A087B8"
- 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 6 'ay38910x2 has 6 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)
- if chid<3 then:
- txrgo$="A0"+right$("00"+hex$(1+2*(chid mod 3)),2)+"0"+mid$(chchrfq$,1,1)
- txrgo$+=" A0"+right$("00"+hex$(0+2*(chid mod 3)),2)+mid$(chchrfq$,2,2)
- else:
- txrgo$="A0"+right$("00"+hex$(129+2*(chid mod 3)),2)+"0"+mid$(chchrfq$,1,1)
- txrgo$+=" A0"+right$("00"+hex$(128+2*(chid mod 3)),2)+mid$(chchrfq$,2,2)
- end if
- print ucase$(txrgo$)
- end if
- if mid$(txrd$,2,1)="v" then:
- chid=val(mid$(txrd$,3,2))
- chid=chid mod 6 'ay38910x2 has 6 channels
- chvlv=vldc(lstinf$(txrd$,":","]"))*0x10
- chchrvl$=right$("00"+hex$(chvlv),2)
- if chid<3 then:
- txrgo$="A0"+right$("00"+hex$(8+(chid mod 3)),2)+chchrvl$
- else:
- txrgo$="A0"+right$("00"+hex$(128+8+(chid mod 3)),2)+chchrvl$
- end if
- 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
|