Subversion Repositories Kolibri OS

Rev

Rev 281 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 281 Rev 285
1
;
1
;
2
;   This file is part of the Infinity sound AC97 driver.
2
;   This file is part of the Infinity sound AC97 driver.
3
;   (C) copyright Serge 2006
3
;   (C) copyright Serge 2006
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
 
15
 
16
PCM_2_16_48    equ   1
16
PCM_2_16_48    equ   1
17
PCM_1_16_48    equ   2
17
PCM_1_16_48    equ   2
18
 
18
 
19
PCM_2_16_44    equ   3
19
PCM_2_16_44    equ   3
20
PCM_1_16_44    equ   4
20
PCM_1_16_44    equ   4
21
 
21
 
22
PCM_2_16_32    equ   5
22
PCM_2_16_32    equ   5
23
PCM_1_16_32    equ   6
23
PCM_1_16_32    equ   6
24
 
24
 
25
PCM_2_16_24    equ   7
25
PCM_2_16_24    equ   7
26
PCM_1_16_24    equ   8
26
PCM_1_16_24    equ   8
27
 
27
 
28
PCM_2_16_22    equ   9
28
PCM_2_16_22    equ   9
29
PCM_1_16_22    equ  10
29
PCM_1_16_22    equ  10
30
 
30
 
31
PCM_2_16_16    equ  11
31
PCM_2_16_16    equ  11
32
PCM_1_16_16    equ  12
32
PCM_1_16_16    equ  12
33
 
33
 
34
PCM_2_16_12    equ  13
34
PCM_2_16_12    equ  13
35
PCM_1_16_12    equ  14
35
PCM_1_16_12    equ  14
36
 
36
 
37
PCM_2_16_11    equ  15
37
PCM_2_16_11    equ  15
38
PCM_1_16_11    equ  16
38
PCM_1_16_11    equ  16
39
 
39
 
40
PCM_2_8_48     equ  17
40
PCM_2_8_48     equ  17
41
PCM_1_8_48     equ  18
41
PCM_1_8_48     equ  18
42
 
42
 
43
PCM_2_8_44     equ  19
43
PCM_2_8_44     equ  19
44
PCM_1_8_44     equ  20
44
PCM_1_8_44     equ  20
45
 
45
 
46
PCM_2_8_32     equ  21
46
PCM_2_8_32     equ  21
47
PCM_1_8_32     equ  22
47
PCM_1_8_32     equ  22
48
 
48
 
49
PCM_2_8_24     equ  23
49
PCM_2_8_24     equ  23
50
PCM_1_8_24     equ  24
50
PCM_1_8_24     equ  24
51
 
51
 
52
PCM_2_8_22     equ  25
52
PCM_2_8_22     equ  25
53
PCM_1_8_22     equ  26
53
PCM_1_8_22     equ  26
54
 
54
 
55
PCM_2_8_16     equ  27
55
PCM_2_8_16     equ  27
56
PCM_1_8_16     equ  28
56
PCM_1_8_16     equ  28
57
 
57
 
58
PCM_2_8_12     equ  29
58
PCM_2_8_12     equ  29
59
PCM_1_8_12     equ  30
59
PCM_1_8_12     equ  30
60
 
60
 
61
PCM_2_8_11     equ  31
61
PCM_2_8_11     equ  31
62
PCM_1_8_11     equ  32
62
PCM_1_8_11     equ  32
63
 
63
 
64
SND_PLAY       equ   1
64
SND_PLAY       equ   1
65
SND_STOP       equ   2
65
SND_STOP       equ   2
66
 
66
 
67
;  struc SND_DEV
67
;  struc SND_DEV
68
;{ .magic          dd 0
68
;{ .magic          dd 0
69
;  .size           dd 0
69
;  .size           dd 0
70
;  .count          dd 0
70
;  .count          dd 0
71
;                  dd 0
71
;                  dd 0
72
;  .snd_buff       dd 16 dup (0)
72
;  .snd_buff       dd 16 dup (0)
73
;}
73
;}
74
 
74
 
75
;virtual at 0
75
;virtual at 0
76
; SND_DEV SND_DEV
76
; SND_DEV SND_DEV
77
;end virtual
77
;end virtual
78
 
78
 
79
;SND_DEV_SIZE     equ 80
79
;SND_DEV_SIZE     equ 80
80
 
80
 
81
 
81
 
82
struc STREAM
82
struc STREAM
83
{   .magic         dd 0
83
{   .magic         dd 0
84
    .size          dd 0
84
    .size          dd 0
85
    .device        dd 0
85
    .device        dd 0
86
    .format        dd 0
86
    .format        dd 0
87
    .flags         dd 0
87
    .flags         dd 0
88
 
88
 
89
    .work_buff     dd 0
89
    .work_buff     dd 0
90
    .work_read     dd 0
90
    .work_read     dd 0
91
    .work_write    dd 0
91
    .work_write    dd 0
92
    .work_count    dd 0
92
    .work_count    dd 0
93
    .work_top      dd 0
93
    .work_top      dd 0
94
    .r_buff        dd 0
-
 
95
    .r_size        dd 0
94
    .r_size        dd 0
96
    .r_end         dd 0
95
    .r_end         dd 0
97
    .r_dt          dd 0
96
    .r_dt          dd 0
98
    .r_silence     dd 0
97
    .r_silence     dd 0
99
 
98
 
100
    .base          dd 0
99
    .base          dd 0
101
    .limit         dd 0
100
    .limit         dd 0
102
    .seg_0         dd 0
101
    .seg_0         dd 0
103
    .lim_0         dd 0
102
    .lim_0         dd 0
104
    .seg_1         dd 0
103
    .seg_1         dd 0
105
    .lim_1         dd 0
104
    .lim_1         dd 0
106
    .curr_seg      dd 0
105
    .curr_seg      dd 0
107
 
106
 
108
    .buff_size     dd 0
107
    .buff_size     dd 0
109
    .notify_off1   dd 0
108
    .notify_off1   dd 0
110
    .notify_off2   dd 0
109
    .notify_off2   dd 0
111
    .notify_task   dd 0
110
    .notify_task   dd 0
112
    .resample      dd 0
111
    .resample      dd 0
113
}
112
}
114
 
113
 
115
STREAM_SIZE    equ 27*4
114
STREAM_SIZE    equ 26*4
116
 
115
 
117
virtual at 0
116
virtual at 0
118
 STREAM STREAM
117
 STREAM STREAM
119
end virtual
118
end virtual
120
 
119
 
121
struc WAVE_HEADER
120
struc WAVE_HEADER
122
{   .riff_id        dd  ?
121
{   .riff_id        dd  ?
123
    .riff_size      dd  ?
122
    .riff_size      dd  ?
124
    .riff_format    dd  ?
123
    .riff_format    dd  ?
125
 
124
 
126
    .fmt_id         dd  ?
125
    .fmt_id         dd  ?
127
    .fmt_size       dd  ?
126
    .fmt_size       dd  ?
128
    .format_tag     dw  ?
127
    .format_tag     dw  ?
129
    .channels       dw  ?
128
    .channels       dw  ?
130
    .freq           dd  ?
129
    .freq           dd  ?
131
    .bytes_sec      dd  ?
130
    .bytes_sec      dd  ?
132
    .block_align    dw  ?
131
    .block_align    dw  ?
133
    .bits_sample    dw  ?
132
    .bits_sample    dw  ?
134
 
133
 
135
    .data_id        dd  ?
134
    .data_id        dd  ?
136
    .data_size      dd  ?
135
    .data_size      dd  ?
137
}
136
}