fixed URL's
[qbasicapps.git] / networking / digital data over analog audio channel / msg2xi.bas
1 ' Svjatoslav Agejenko year:2001\r
2 ' converts binary file into 8 bit wave sound file without header.\r
3 \r
4 DECLARE SUB start ()\r
5 DECLARE SUB iadd ()\r
6 DECLARE SUB oadd ()\r
7 DECLARE SUB byt (a!)\r
8 \r
9 DIM SHARED iwa(1 TO 20)\r
10 DIM SHARED owa(1 TO 41)\r
11 DIM SHARED iwad$\r
12 DIM SHARED owad$\r
13 DIM SHARED file1$\r
14 DIM SHARED file2$\r
15 DIM SHARED bytee AS STRING * 1\r
16 \r
17 \r
18 start\r
19 \r
20 OPEN file1$ FOR BINARY AS #1\r
21 OPEN file2$ FOR BINARY AS #2\r
22 \r
23 FOR a = 1 TO 50\r
24 iadd\r
25 NEXT a\r
26 oadd\r
27 \r
28 2\r
29 GET #2, , bytee\r
30 byt ASC(bytee)\r
31 IF EOF(2) = 0 THEN GOTO 2\r
32 \r
33 CLOSE #2\r
34 CLOSE #1\r
35 \r
36 SYSTEM\r
37 \r
38 SUB byt (a)\r
39 'PRINT "===="\r
40 a = a + 1\r
41 IF a > 128 THEN a = a - 128: iadd ELSE oadd\r
42 IF a > 64 THEN a = a - 64: iadd ELSE oadd\r
43 IF a > 32 THEN a = a - 32: iadd ELSE oadd\r
44 IF a > 16 THEN a = a - 16: iadd ELSE oadd\r
45 IF a > 8 THEN a = a - 8: iadd ELSE oadd\r
46 IF a > 4 THEN a = a - 4: iadd ELSE oadd\r
47 IF a > 2 THEN a = a - 2: iadd ELSE oadd\r
48 IF a > 1 THEN iadd ELSE oadd\r
49 'b$ = INPUT$(1)\r
50 END SUB\r
51 \r
52 SUB iadd\r
53 PUT #1, , iwad$\r
54 END SUB\r
55 \r
56 SUB oadd\r
57 PUT #1, , owad$\r
58 END SUB\r
59 \r
60 SUB start\r
61 IF COMMAND$ = "" THEN END\r
62 \r
63 pi = 3.141592654#\r
64  \r
65 b = 0\r
66 FOR a = pi / 2 TO 2.5 * pi STEP (2 * pi / 20)\r
67 b = b + 1\r
68 iwa(b) = SIN(a) * 100\r
69 IF iwa(b) < 0 THEN iwa(b) = iwa(b) + 255\r
70 NEXT a\r
71 \r
72 b = 0\r
73 FOR a = pi / 2 TO 2.5 * pi STEP (2 * pi / 40)\r
74 b = b + 1\r
75 owa(b) = SIN(a) * 100\r
76 IF owa(b) < 0 THEN owa(b) = owa(b) + 255\r
77 NEXT a\r
78 \r
79 FOR a = 1 TO 20\r
80 iwad$ = iwad$ + CHR$(iwa(a))\r
81 NEXT a\r
82 \r
83 FOR a = 1 TO 40\r
84 owad$ = owad$ + CHR$(owa(a))\r
85 NEXT a\r
86 \r
87 \r
88 \r
89 b$ = COMMAND$\r
90 file2$ = b$\r
91 file1$ = ""\r
92 FOR a = 1 TO LEN(b$)\r
93 c$ = RIGHT$(LEFT$(b$, a), 1)\r
94 IF c$ = "." OR c$ = " " THEN GOTO 1\r
95 file1$ = file1$ + c$\r
96 NEXT a\r
97 1\r
98 file1$ = file1$ + ".xi"\r
99 END SUB\r
100 \r