Rev 291 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 291 | Rev 378 | ||
---|---|---|---|
1 | ; |
1 | ; |
2 | ; This file is part of the Infinity sound AC97 driver. |
2 | ; This file is part of the Infinity sound driver. |
3 | ; (C) copyright Serge 2006 |
3 | ; (C) copyright Serge 2006-2007 |
4 | ; email: infinity_sound@mail.ru |
4 | ; email: infinity_sound@mail.ru |
5 | ; |
5 | ; |
6 | ; This program is free software; you can redistribute it and/or modify |
6 | ; This program is free software; you can redistribute it and/or modify |
7 | ; it under the terms of the GNU General Public License as published by |
7 | ; it under the terms of the GNU General Public License as published by |
8 | ; the Free Software Foundation; either version 2 of the License, or |
8 | ; the Free Software Foundation; either version 2 of the License, or |
9 | ; (at your option) any later version. |
9 | ; (at your option) any later version. |
10 | ; |
10 | ; |
11 | ; This program is distributed in the hope that it will be useful, |
11 | ; This program is distributed in the hope that it will be useful, |
12 | ; but WITHOUT ANY WARRANTY; without even the implied warranty of |
12 | ; but WITHOUT ANY WARRANTY; without even the implied warranty of |
13 | ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
13 | ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
14 | ; GNU General Public License for more details. |
14 | ; GNU General Public License for more details. |
- | 15 | ||
- | 16 | ||
- | 17 | SOUND_VERSION equ 0x01000100 |
|
- | 18 | ||
- | 19 | PLAY_SYNC equ 0x80000000 |
|
- | 20 | ||
- | 21 | ||
- | 22 | PCM_ALL equ 0 |
|
- | 23 | ||
- | 24 | PCM_OUT equ 0x08000000 |
|
- | 25 | PCM_RING equ 0x10000000 |
|
- | 26 | PCM_STATIC equ 0x20000000 |
|
- | 27 | PCM_FLOAT equ 0x40000000 ;reserved |
|
- | 28 | PCM_FILTER equ 0x80000000 ;reserved |
|
15 | 29 | ||
16 | PCM_2_16_48 equ 1 |
30 | PCM_2_16_48 equ 1 |
17 | PCM_1_16_48 equ 2 |
31 | PCM_1_16_48 equ 2 |
18 | 32 | ||
19 | PCM_2_16_44 equ 3 |
33 | PCM_2_16_44 equ 3 |
20 | PCM_1_16_44 equ 4 |
34 | PCM_1_16_44 equ 4 |
21 | 35 | ||
22 | PCM_2_16_32 equ 5 |
36 | PCM_2_16_32 equ 5 |
23 | PCM_1_16_32 equ 6 |
37 | PCM_1_16_32 equ 6 |
24 | 38 | ||
25 | PCM_2_16_24 equ 7 |
39 | PCM_2_16_24 equ 7 |
26 | PCM_1_16_24 equ 8 |
40 | PCM_1_16_24 equ 8 |
27 | 41 | ||
28 | PCM_2_16_22 equ 9 |
42 | PCM_2_16_22 equ 9 |
29 | PCM_1_16_22 equ 10 |
43 | PCM_1_16_22 equ 10 |
30 | 44 | ||
31 | PCM_2_16_16 equ 11 |
45 | PCM_2_16_16 equ 11 |
32 | PCM_1_16_16 equ 12 |
46 | PCM_1_16_16 equ 12 |
33 | 47 | ||
34 | PCM_2_16_12 equ 13 |
48 | PCM_2_16_12 equ 13 |
35 | PCM_1_16_12 equ 14 |
49 | PCM_1_16_12 equ 14 |
36 | 50 | ||
37 | PCM_2_16_11 equ 15 |
51 | PCM_2_16_11 equ 15 |
38 | PCM_1_16_11 equ 16 |
52 | PCM_1_16_11 equ 16 |
39 | 53 | ||
40 | PCM_2_8_48 equ 17 |
54 | PCM_2_16_8 equ 17 |
41 | PCM_1_8_48 equ 18 |
- | |
42 | - | ||
43 | PCM_2_8_44 equ 19 |
- | |
44 | PCM_1_8_44 equ 20 |
- | |
45 | - | ||
46 | PCM_2_8_32 equ 21 |
- | |
47 | PCM_1_8_32 equ 22 |
- | |
48 | - | ||
49 | PCM_2_8_24 equ 23 |
- | |
50 | PCM_1_8_24 equ 24 |
55 | PCM_1_16_8 equ 18 |
51 | 56 | ||
52 | PCM_2_8_22 equ 25 |
57 | PCM_2_8_48 equ 19 |
53 | PCM_1_8_22 equ 26 |
- | |
54 | - | ||
55 | PCM_2_8_16 equ 27 |
- | |
56 | PCM_1_8_16 equ 28 |
- | |
57 | - | ||
58 | PCM_2_8_12 equ 29 |
- | |
59 | PCM_1_8_12 equ 30 |
58 | PCM_1_8_48 equ 20 |
60 | - | ||
61 | PCM_2_8_11 equ 31 |
- | |
62 | PCM_1_8_11 equ 32 |
- | |
63 | - | ||
64 | SND_PLAY equ 1 |
- | |
65 | SND_STOP equ 2 |
- | |
66 | - | ||
67 | ; struc SND_DEV |
- | |
68 | ;{ .magic dd 0 |
- | |
69 | ; .size dd 0 |
- | |
70 | ; .count dd 0 |
- | |
71 | ; dd 0 |
- | |
72 | ; .snd_buff dd 16 dup (0) |
- | |
73 | ;} |
- | |
74 | - | ||
75 | ;virtual at 0 |
- | |
76 | ; SND_DEV SND_DEV |
- | |
- | 59 | ||
- | 60 | PCM_2_8_44 equ 21 |
|
- | 61 | PCM_1_8_44 equ 22 |
|
- | 62 | ||
- | 63 | PCM_2_8_32 equ 23 |
|
- | 64 | PCM_1_8_32 equ 24 |
|
- | 65 | ||
- | 66 | PCM_2_8_24 equ 25 |
|
- | 67 | PCM_1_8_24 equ 26 |
|
- | 68 | ||
- | 69 | PCM_2_8_22 equ 27 |
|
- | 70 | PCM_1_8_22 equ 28 |
|
- | 71 | ||
- | 72 | PCM_2_8_16 equ 29 |
|
- | 73 | PCM_1_8_16 equ 30 |
|
- | 74 | ||
- | 75 | PCM_2_8_12 equ 31 |
|
- | 76 | PCM_1_8_12 equ 32 |
|
- | 77 | ||
- | 78 | PCM_2_8_11 equ 33 |
|
- | 79 | PCM_1_8_11 equ 34 |
|
- | 80 | ||
- | 81 | PCM_2_8_8 equ 35 |
|
- | 82 | PCM_1_8_8 equ 36 |
|
- | 83 | ||
- | 84 | SRV_GETVERSION equ 0 |
|
- | 85 | SND_CREATE_BUFF equ 1 |
|
- | 86 | SND_DESTROY_BUFF equ 2 |
|
- | 87 | SND_SETFORMAT equ 3 |
|
- | 88 | SND_GETFORMAT equ 4 |
|
- | 89 | SND_RESET equ 5 |
|
- | 90 | SND_SETPOS equ 6 |
|
- | 91 | SND_GETPOS equ 7 |
|
- | 92 | SND_SETBUFF equ 8 |
|
- | 93 | SND_OUT equ 9 |
|
- | 94 | SND_PLAY equ 10 |
|
- | 95 | SND_STOP equ 11 |
|
- | 96 | SND_SETVOLUME equ 12 |
|
77 | ;end virtual |
97 | SND_GETVOLUME equ 13 |
78 | 98 | SND_SETPAN equ 14 |
|
79 | ;SND_DEV_SIZE equ 80 |
99 | SND_GETPAN equ 15 |
80 | 100 | SND_GETBUFFSIZE equ 16 |
|
81 | 101 | ||
82 | struc STREAM |
102 | struc STREAM |
83 | { |
103 | { |
84 | .magic dd ? ;'WAVE' |
104 | .magic dd ? ;'WAVE' |
85 | .destroy dd ? ;internal destructor |
105 | .destroy dd ? ;internal destructor |
86 | .fd dd ? ;next object in list |
106 | .fd dd ? ;next object in list |
87 | .bk dd ? ;prev object in list |
107 | .bk dd ? ;prev object in list |
88 | .pid dd ? ;owner id |
108 | .pid dd ? ;owner id |
89 | 109 | ||
90 | .size dd ? |
110 | .size dd ? |
91 | .str_fd dd ? |
111 | .str_fd dd ? |
92 | .str_bk dd ? |
112 | .str_bk dd ? |
93 | .device dd ? |
113 | .device dd ? |
94 | .format dd ? |
114 | .format dd ? |
95 | .flags dd ? |
115 | .flags dd ? |
96 | 116 | ||
97 | .work_buff dd ? |
117 | .out_base dd ? |
98 | .work_read dd ? |
118 | .out_wp dd ? |
99 | .work_write dd ? |
119 | .out_rp dd ? |
100 | .work_count dd ? |
120 | .out_count dd ? |
- | 121 | .out_top dd ? |
|
101 | .work_top dd ? |
122 | |
102 | .r_size dd ? |
- | |
103 | .r_end dd ? |
123 | .r_size dd ? |
104 | .r_dt dd ? |
124 | .r_dt dd ? |
105 | .r_silence dd ? |
- | |
106 | - | ||
107 | .base dd ? |
- | |
108 | .limit dd ? |
- | |
109 | .seg_0 dd ? |
- | |
110 | .lim_0 dd ? |
- | |
111 | .seg_1 dd ? |
- | |
112 | .lim_1 dd ? |
- | |
113 | .curr_seg dd ? |
- | |
114 | - | ||
115 | .buff_size dd ? |
- | |
116 | .notify_off1 dd ? |
- | |
117 | .notify_off2 dd ? |
- | |
118 | ; .notify_task dd ? |
125 | .r_silence dd ? |
- | 126 | .resample dd ? |
|
- | 127 | .l_vol dd ? |
|
- | 128 | .r_vol dd ? |
|
- | 129 | .l_amp dw ? |
|
- | 130 | .r_amp dw ? |
|
- | 131 | .pan dd ? |
|
- | 132 | ||
- | 133 | .in_base dd ? |
|
- | 134 | .in_size dd ? |
|
- | 135 | .in_wp dd ? |
|
- | 136 | .in_rp dd ? |
|
- | 137 | .in_count dd ? |
|
- | 138 | .in_free dd ? |
|
- | 139 | .in_top dd ? |
|
- | 140 | ||
- | 141 | .notify_event dd ? |
|
119 | .resample dd ? |
142 | .notify_id dd ? |
120 | } |
143 | } |
121 | 144 | ||
122 | STREAM_SIZE equ 31*4 |
145 | STREAM_SIZE equ 34*4 |
123 | FD_OFFSET equ 24 |
146 | FD_OFFSET equ 24 |
124 | 147 | ||
125 | virtual at 0 |
148 | virtual at 0 |
126 | STREAM STREAM |
149 | STREAM STREAM |
127 | end virtual |
150 | end virtual |
128 | 151 | ||
129 | struc WAVE_HEADER |
152 | struc WAVE_HEADER |
130 | { .riff_id dd ? |
153 | { .riff_id dd ? |
131 | .riff_size dd ? |
154 | .riff_size dd ? |
132 | .riff_format dd ? |
155 | .riff_format dd ? |
133 | 156 | ||
134 | .fmt_id dd ? |
157 | .fmt_id dd ? |
135 | .fmt_size dd ? |
158 | .fmt_size dd ? |
136 | .format_tag dw ? |
159 | .format_tag dw ? |
137 | .channels dw ? |
160 | .channels dw ? |
138 | .freq dd ? |
161 | .freq dd ? |
139 | .bytes_sec dd ? |
162 | .bytes_sec dd ? |
140 | .block_align dw ? |
163 | .block_align dw ? |
141 | .bits_sample dw ? |
164 | .bits_sample dw ? |
142 | 165 | ||
143 | .data_id dd ? |
166 | .data_id dd ? |
144 | .data_size dd ? |
167 | .data_size dd ? |
145 | } |
168 | } |