1 ' Svjatoslav Agejenko year: 2001
\r
2 ' decades binary data from 8 bit wave sound file.
\r
5 DECLARE SUB bysf (a$, d)
\r
6 DECLARE SUB messa (a$)
\r
7 DECLARE SUB pfo (f, t, it)
\r
16 DIM SHARED buf(-100 TO 10000)
\r
17 DIM SHARED bus AS STRING * 1000
\r
24 DIM SHARED stat(1 TO 10)
\r
27 DIM SHARED byte AS STRING * 1
\r
35 messa "searching for beginning..."
\r
37 OPEN file1$ FOR BINARY AS #1
\r
38 OPEN file2$ FOR BINARY AS #2
\r
44 b$ = RIGHT$(LEFT$(bus, a), 1)
\r
47 IF c > 127 THEN c = c - 255
\r
50 IF (EOF(2) = 0) AND (bufi < 8000) THEN GOTO 2
\r
52 IF EOF(2) = 0 THEN GOTO 2
\r
60 LINE (1, 170)-(200, 430), 0, BF
\r
61 FOR a = 1 TO bufi - (avv - 1)
\r
63 LINE (100, 170)-(100, 430), 13
\r
64 LINE (old2 - a + 100, 170)-(old2 - a + 100, 430), 11
\r
65 LINE (0, 300)-(200, 300), 13
\r
67 PSET (b, buf(b + a - 101) + 300), 0
\r
68 PSET (b, buf(b + a - 100) + 300), 14
\r
70 LINE (old2 - a + 100, 170)-(old2 - a + 100, 430), 0
\r
73 FOR b = a TO a + (avv - 1)
\r
80 pfo a + ((avv - 1) / 2 - 1), 1, oc
\r
87 pfo a + ((avv - 1) / 2 - 1), 2, oc
\r
95 FOR a = bufi - (avv - 2) TO bufi
\r
96 buf(a - (bufi - (avv - 2)) + 1) = buf(a)
\r
98 old2 = old2 - (bufi - (avv - 2)) + 1
\r
104 'LINE (201, 170)-(639, 430), 1, B
\r
105 IF d = 10 THEN px = 0: a$ = "": GOTO 5
\r
111 DIM tempr(1 TO 32000)
\r
112 GET (201, 186)-(639, 430), tempr(1)
\r
113 PUT (201, 170), tempr(1), PSET
\r
114 LINE (201, 414)-(639, 430), 0, BF
\r
126 'LINE (410, 0)-(639, 169), 1, B
\r
132 IF stat(1) = 1 THEN b = b + 128
\r
133 IF stat(2) = 1 THEN b = b + 64
\r
134 IF stat(3) = 1 THEN b = b + 32
\r
135 IF stat(4) = 1 THEN b = b + 16
\r
136 IF stat(5) = 1 THEN b = b + 8
\r
137 IF stat(6) = 1 THEN b = b + 4
\r
138 IF stat(7) = 1 THEN b = b + 2
\r
139 IF stat(8) = 1 THEN b = b + 1
\r
146 IF b = 7 OR b = 8 OR b = 10 OR b = 12 OR b = 13 THEN c$ = " "
\r
150 DIM tempr(1 TO 10000)
\r
151 GET (410, 16)-(639, 169), tempr(1)
\r
152 PUT (410, 0), tempr(1), PSET
\r
153 LINE (410, 153)-(639, 169), 0, BF
\r
155 LOCATE 10, 50 + (statl * 2)
\r
160 'IF a > 128 THEN a = a - 128: iadd ELSE oadd
\r
161 'IF a > 64 THEN a = a - 64: iadd ELSE oadd
\r
162 'IF a > 32 THEN a = a - 32: iadd ELSE oadd
\r
163 'IF a > 16 THEN a = a - 16: iadd ELSE oadd
\r
164 'IF a > 8 THEN a = a - 8: iadd ELSE oadd
\r
165 'IF a > 4 THEN a = a - 4: iadd ELSE oadd
\r
166 'IF a > 2 THEN a = a - 2: iadd ELSE oadd
\r
167 'IF a > 1 THEN iadd ELSE oadd
\r
171 'LINE (0, 0)-(409, 169), 1, B
\r
172 DIM tempr(1 TO 20000)
\r
173 GET (0, 16)-(409, 169), tempr(1)
\r
174 PUT (0, 0), tempr(1), PSET
\r
175 LINE (0, 153)-(409, 169), 0, BF
\r
183 IF wai > 0 THEN wai = wai - 1
\r
185 IF (bg - sm > 6) AND (beg = 0) THEN beg = 1: wai = 10: messa "Beginning point found!"
\r
187 IF (wai = 0) AND (beg = 1) THEN
\r
188 IF statl = 0 THEN messa "Beginning statistical analyze"
\r
192 aver = aver + stat(a)
\r
194 aver = aver * 1.5 / 10
\r
197 messa "Statistical analyze completed!"
\r
199 stat(statl) = f - old2
\r
203 IF f - old2 >= aver THEN
\r
214 IF f - old2 >= aver THEN
\r
229 IF COMMAND$ = "" THEN END
\r
236 FOR a = 1 TO LEN(b$)
\r
237 c$ = RIGHT$(LEFT$(b$, a), 1)
\r
238 IF c$ = "." OR c$ = " " THEN GOTO 1
\r
239 file1$ = file1$ + c$
\r
242 file1$ = file1$ + ".msg"
\r