Subversion Repositories Kolibri OS

Rev

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

Rev 5077 Rev 5363
1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2
;;                                                              ;;
2
;;                                                              ;;
3
;; Copyright (C) KolibriOS team 2004-2011. All rights reserved. ;;
3
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
4
;; Distributed under terms of the GNU General Public License    ;;
4
;; Distributed under terms of the GNU General Public License    ;;
5
;;                                                              ;;
5
;;                                                              ;;
6
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
6
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
7
 
7
 
8
 
8
 
9
AD_LOSEL   equ BIT5
9
AD_LOSEL   equ BIT5
10
AD_HPSEL   equ BIT10
10
AD_HPSEL   equ BIT10
11
 
11
 
12
align 4
12
align 4
13
proc detect_codec
13
proc detect_codec
14
           locals
14
           locals
15
             codec_id dd ?
15
             codec_id dd ?
16
           endl
16
           endl
17
 
17
 
18
        stdcall codec_read, dword 0x7C
18
        stdcall codec_read, dword 0x7C
19
        shl     eax, 16
19
        shl     eax, 16
20
        mov     [codec_id], eax
20
        mov     [codec_id], eax
21
 
21
 
22
        stdcall codec_read, dword 0x7E
22
        stdcall codec_read, dword 0x7E
23
        or      eax, [codec_id]
23
        or      eax, [codec_id]
24
 
24
 
25
        mov     [codec.chip_id], eax
25
        mov     [codec.chip_id], eax
26
        and     eax, 0xFFFFFF00
26
        and     eax, 0xFFFFFF00
27
 
27
 
28
        mov     edi, codecs
28
        mov     edi, codecs
29
@@:
29
@@:
30
        mov     ebx, [edi]
30
        mov     ebx, [edi]
31
        test    ebx, ebx
31
        test    ebx, ebx
32
        jz      .unknown
32
        jz      .unknown
33
 
33
 
34
        cmp     eax, ebx
34
        cmp     eax, ebx
35
        jne     .next
35
        jne     .next
36
        mov     eax, [edi+4]
36
        mov     eax, [edi+4]
37
        mov     [codec.ac_vendor_ids], eax
37
        mov     [codec.ac_vendor_ids], eax
38
        mov     esi, eax
38
        mov     esi, eax
39
        invoke  SysMsgBoardStr
39
        invoke  SysMsgBoardStr
40
        stdcall detect_chip, [edi+8]
40
        stdcall detect_chip, [edi+8]
41
 
41
 
42
        ret
42
        ret
43
.next:
43
.next:
44
        add     edi, 12
44
        add     edi, 12
45
        jmp     @B
45
        jmp     @B
46
.unknown:
46
.unknown:
47
        mov     [codec.ac_vendor_ids], ac_unknown
47
        mov     [codec.ac_vendor_ids], ac_unknown
48
        mov     [codec.chip_ids], chip_unknown
48
        mov     [codec.chip_ids], chip_unknown
49
 
49
 
50
        mov     esi, chip_unknown
50
        mov     esi, chip_unknown
51
        invoke  SysMsgBoardStr
51
        invoke  SysMsgBoardStr
52
        mov     eax, [codec.chip_id]
52
        mov     eax, [codec.chip_id]
53
        call    dword2str
53
        call    dword2str
54
        invoke  SysMsgBoardStr
54
        invoke  SysMsgBoardStr
55
        ret
55
        ret
56
endp
56
endp
57
 
57
 
58
align 4
58
align 4
59
proc detect_chip stdcall, chip_tab:dword
59
proc detect_chip stdcall, chip_tab:dword
60
 
60
 
61
        mov     eax, [codec.chip_id]
61
        mov     eax, [codec.chip_id]
62
        and     eax, 0xFF
62
        and     eax, 0xFF
63
 
63
 
64
        mov     edi, [chip_tab]
64
        mov     edi, [chip_tab]
65
@@:
65
@@:
66
        mov     ebx, [edi]
66
        mov     ebx, [edi]
67
        cmp     ebx, 0xFF
67
        cmp     ebx, 0xFF
68
        je      .unknown
68
        je      .unknown
69
 
69
 
70
        cmp     eax, ebx
70
        cmp     eax, ebx
71
        jne     .next
71
        jne     .next
72
        mov     eax, [edi+4]
72
        mov     eax, [edi+4]
73
        mov     [codec.chip_ids], eax
73
        mov     [codec.chip_ids], eax
74
        mov     esi, eax
74
        mov     esi, eax
75
        invoke  SysMsgBoardStr
75
        invoke  SysMsgBoardStr
76
        ret
76
        ret
77
.next:
77
.next:
78
        add     edi, 8
78
        add     edi, 8
79
        jmp     @b
79
        jmp     @b
80
.unknown:
80
.unknown:
81
        mov     [codec.chip_ids], chip_unknown
81
        mov     [codec.chip_ids], chip_unknown
82
        mov     esi, chip_unknown
82
        mov     esi, chip_unknown
83
        invoke  SysMsgBoardStr
83
        invoke  SysMsgBoardStr
84
        mov     eax, [codec.chip_id]
84
        mov     eax, [codec.chip_id]
85
        call    dword2str
85
        call    dword2str
86
        invoke  SysMsgBoardStr
86
        invoke  SysMsgBoardStr
87
        ret
87
        ret
88
endp
88
endp
89
 
89
 
90
align 4
90
align 4
91
proc setup_codec
91
proc setup_codec
92
 
92
 
93
        xor     eax, eax
93
        xor     eax, eax
94
        stdcall codec_write, dword CODEC_AUX_VOL
94
        stdcall codec_write, dword CODEC_AUX_VOL
95
 
95
 
96
        mov     eax, 0x0B0B
96
        mov     eax, 0x0B0B
97
        stdcall codec_write, dword CODEC_MASTER_VOL_REG
97
        stdcall codec_write, dword CODEC_MASTER_VOL_REG
98
 
98
 
99
        mov     ax, 0x08
99
        mov     ax, 0x08
100
        stdcall codec_write, dword 0x0C
100
        stdcall codec_write, dword 0x0C
101
 
101
 
102
        mov     ax, 0x0808
102
        mov     ax, 0x0808
103
        stdcall codec_write, dword CODEC_PCM_OUT_REG
103
        stdcall codec_write, dword CODEC_PCM_OUT_REG
104
 
104
 
105
        mov     ax, 0x0808
105
        mov     ax, 0x0808
106
        stdcall codec_write, dword 0x10
106
        stdcall codec_write, dword 0x10
107
 
107
 
108
        mov     ax, 0x0808
108
        mov     ax, 0x0808
109
        stdcall codec_write, dword 0x12
109
        stdcall codec_write, dword 0x12
110
 
110
 
111
        mov     ax, 0x0808
111
        mov     ax, 0x0808
112
        stdcall codec_write, dword 0x16
112
        stdcall codec_write, dword 0x16
113
 
113
 
114
 
114
 
115
        stdcall codec_read, dword CODEC_EXT_AUDIO_CTRL_REG
115
        stdcall codec_read, dword CODEC_EXT_AUDIO_CTRL_REG
116
        and     eax, 0FFFFh - BIT1                 ; clear DRA (BIT1)
116
        and     eax, 0FFFFh - BIT1                 ; clear DRA (BIT1)
117
        or      eax, BIT0                         ; set VRA (BIT0)
117
        or      eax, BIT0                         ; set VRA (BIT0)
118
        stdcall codec_write, dword CODEC_EXT_AUDIO_CTRL_REG
118
        stdcall codec_write, dword CODEC_EXT_AUDIO_CTRL_REG
119
 
119
 
120
        stdcall set_sample_rate, dword 48000
120
        stdcall set_sample_rate, dword 48000
121
 
121
 
122
.init_error:
122
.init_error:
123
        xor     eax, eax                             ; exit with error
123
        xor     eax, eax                             ; exit with error
124
        ret
124
        ret
125
endp
125
endp
126
 
126
 
127
 
127
 
128
; param
128
; param
129
;  eax= volume  -10000 - 0 for both channels
129
;  eax= volume  -10000 - 0 for both channels
130
 
130
 
131
align 4
131
align 4
132
set_master_vol:
132
set_master_vol:
133
        cmp     eax, 0
133
        cmp     eax, 0
134
        jl      @F
134
        jl      @F
135
        xor     eax, eax
135
        xor     eax, eax
136
        jmp     .set
136
        jmp     .set
137
@@:
137
@@:
138
        cmp     eax, -9450
138
        cmp     eax, -9450
139
        jg      .set
139
        jg      .set
140
        mov     eax, -9450    ;clamp into 6 bits
140
        mov     eax, -9450    ;clamp into 6 bits
141
.set:
141
.set:
142
        cdq
142
        cdq
143
        mov     ebx, -150
143
        mov     ebx, -150
144
        idiv    ebx
144
        idiv    ebx
145
        mov     ah, al
145
        mov     ah, al
146
        stdcall codec_write, dword CODEC_MASTER_VOL_REG
146
        stdcall codec_write, dword CODEC_MASTER_VOL_REG
147
        xor     eax, eax
147
        xor     eax, eax
148
        ret
148
        ret
149
 
149
 
150
align 4
150
align 4
151
proc get_master_vol stdcall, pvol:dword
151
proc get_master_vol stdcall, pvol:dword
152
 
152
 
153
        stdcall codec_read, dword CODEC_MASTER_VOL_REG
153
        stdcall codec_read, dword CODEC_MASTER_VOL_REG
154
        and     eax, 0x3F
154
        and     eax, 0x3F
155
        imul    eax, -150
155
        imul    eax, -150
156
        mov     ebx, [pvol]
156
        mov     ebx, [pvol]
157
        mov     [ebx], eax
157
        mov     [ebx], eax
158
        xor     eax, eax
158
        xor     eax, eax
159
        ret
159
        ret
160
endp
160
endp
161
 
161
 
162
align 4
162
align 4
163
proc set_sample_rate stdcall, rate:dword
163
proc set_sample_rate stdcall, rate:dword
164
        mov     eax, [rate]
164
        mov     eax, [rate]
165
        stdcall codec_write, dword CODEC_PCM_FRONT_DACRATE_REG
165
        stdcall codec_write, dword CODEC_PCM_FRONT_DACRATE_REG
166
        ret
166
        ret
167
endp
167
endp
168
 
168
 
169
patch_AD:
169
patch_AD:
170
        stdcall codec_read, 0x76
170
        stdcall codec_read, 0x76
171
        or      ax, BIT5+BIT10
171
        or      ax, BIT5+BIT10
172
        stdcall codec_write, 0x76
172
        stdcall codec_write, 0x76
173
        ret
173
        ret
174
 
174
 
175
 
175
 
176
align 16
176
align 16
177
ac_unknown     db 'unknown manufacturer',13,10,0
177
ac_unknown     db 'unknown manufacturer',13,10,0
178
ac_Realtek     db 'Realtek Semiconductor',13,10,0
178
ac_Realtek     db 'Realtek Semiconductor',13,10,0
179
ac_Analog      db 'Analog Devices',13,10,0
179
ac_Analog      db 'Analog Devices',13,10,0
180
ac_CMedia      db 'C-Media Electronics',13,10,0
180
ac_CMedia      db 'C-Media Electronics',13,10,0
181
ac_Cirrus      db 'Cirrus Logic',13,10,0
181
ac_Cirrus      db 'Cirrus Logic',13,10,0
182
ac_Wolfson     db 'Wolfson Microelectronics',13,10,0
182
ac_Wolfson     db 'Wolfson Microelectronics',13,10,0
183
ac_VIA         db 'VIA Technologies',13,10,0
183
ac_VIA         db 'VIA Technologies',13,10,0
184
ac_SigmaTel    db 'SigmaTel',13,10,0
184
ac_SigmaTel    db 'SigmaTel',13,10,0
185
ac_eMicro      db 'eMicro',13,10,0
185
ac_eMicro      db 'eMicro',13,10,0
186
 
186
 
187
chip_unknown   db 'unknown codec id ', 0
187
chip_unknown   db 'unknown codec id ', 0
188
 
188
 
189
CHIP_ANALOG    equ 0x41445300
189
CHIP_ANALOG    equ 0x41445300
190
CHIP_REALTEK   equ 0x414C4700
190
CHIP_REALTEK   equ 0x414C4700
191
CHIP_CMEDIA    equ 0x434D4900
191
CHIP_CMEDIA    equ 0x434D4900
192
CHIP_CIRRUS    equ 0x43525900
192
CHIP_CIRRUS    equ 0x43525900
193
CHIP_WOLFSON   equ 0x574D4C00
193
CHIP_WOLFSON   equ 0x574D4C00
194
CHIP_VIA       equ 0x56494100
194
CHIP_VIA       equ 0x56494100
195
CHIP_SIGMATEL  equ 0x83847600
195
CHIP_SIGMATEL  equ 0x83847600
196
CHIP_EMICRO    equ 0x454D4300
196
CHIP_EMICRO    equ 0x454D4300
197
 
197
 
198
align 16
198
align 16
199
codecs         dd CHIP_ANALOG, ac_Analog,  chips_Analog
199
codecs         dd CHIP_ANALOG, ac_Analog,  chips_Analog
200
               dd CHIP_CMEDIA, ac_CMedia,  chips_CMedia
200
               dd CHIP_CMEDIA, ac_CMedia,  chips_CMedia
201
               dd CHIP_REALTEK,ac_Realtek, chips_Realtek
201
               dd CHIP_REALTEK,ac_Realtek, chips_Realtek
202
               dd CHIP_CIRRUS, ac_Cirrus,  chips_Cirrus
202
               dd CHIP_CIRRUS, ac_Cirrus,  chips_Cirrus
203
               dd CHIP_WOLFSON,ac_Wolfson, chips_Wolfson
203
               dd CHIP_WOLFSON,ac_Wolfson, chips_Wolfson
204
               dd CHIP_VIA,    ac_VIA,     chips_VIA
204
               dd CHIP_VIA,    ac_VIA,     chips_VIA
205
               dd CHIP_SIGMATEL,    ac_SigmaTel,     chips_SigmaTel
205
               dd CHIP_SIGMATEL,    ac_SigmaTel,     chips_SigmaTel
206
               dd CHIP_EMICRO,    ac_eMicro,     chips_eMicro
206
               dd CHIP_EMICRO,    ac_eMicro,     chips_eMicro
207
               dd 0
207
               dd 0
208
 
208
 
209
align 16
209
align 16
210
chips_Analog   dd 0x03, chip_AD1819
210
chips_Analog   dd 0x03, chip_AD1819
211
               dd 0x40, chip_AD1881
211
               dd 0x40, chip_AD1881
212
               dd 0x48, chip_AD1881A
212
               dd 0x48, chip_AD1881A
213
               dd 0x60, chip_AD1884
213
               dd 0x60, chip_AD1884
214
               dd 0x61, chip_AD1886
214
               dd 0x61, chip_AD1886
215
               dd 0x62, chip_AD1887
215
               dd 0x62, chip_AD1887
216
               dd 0x63, chip_AD1886A
216
               dd 0x63, chip_AD1886A
217
               dd 0x70, chip_AD1980
217
               dd 0x70, chip_AD1980
218
               dd 0x72, chip_AD1981A
218
               dd 0x72, chip_AD1981A
219
               dd 0x74, chip_AD1981B
219
               dd 0x74, chip_AD1981B
220
               dd 0x75, chip_AD1985
220
               dd 0x75, chip_AD1985
221
               dd 0xFF
221
               dd 0xFF
222
 
222
 
223
chips_Realtek:
223
chips_Realtek:
224
               dd 0x10, chip_ALC201a
224
               dd 0x10, chip_ALC201a
225
               dd 0x20, chip_ALC650
225
               dd 0x20, chip_ALC650
226
               dd 0x21, chip_ALC650D
226
               dd 0x21, chip_ALC650D
227
               dd 0x22, chip_ALC650E
227
               dd 0x22, chip_ALC650E
228
               dd 0x23, chip_ALC650F
228
               dd 0x23, chip_ALC650F
229
               dd 0x60, chip_ALC655
229
               dd 0x60, chip_ALC655
230
               dd 0x80, chip_ALC658
230
               dd 0x80, chip_ALC658
231
               dd 0x81, chip_ALC658D
231
               dd 0x81, chip_ALC658D
232
               dd 0x90, chip_ALC850
232
               dd 0x90, chip_ALC850
233
               dd 0xFF
233
               dd 0xFF
234
 
234
 
235
chips_CMedia   dd 0x41, chip_CM9738
235
chips_CMedia   dd 0x41, chip_CM9738
236
               dd 0x61, chip_CM9739
236
               dd 0x61, chip_CM9739
237
               dd 0x69, chip_CM9780
237
               dd 0x69, chip_CM9780
238
               dd 0x78, chip_CM9761
238
               dd 0x78, chip_CM9761
239
               dd 0x82, chip_CM9761
239
               dd 0x82, chip_CM9761
240
               dd 0x83, chip_CM9761
240
               dd 0x83, chip_CM9761
241
               dd 0xFF
241
               dd 0xFF
242
 
242
 
243
chips_Cirrus   dd 0x00, chip_CS4297
243
chips_Cirrus   dd 0x00, chip_CS4297
244
               dd 0x10, chip_CS4297A
244
               dd 0x10, chip_CS4297A
245
               dd 0x20, chip_CS4298
245
               dd 0x20, chip_CS4298
246
               dd 0x28, chip_CS4294
246
               dd 0x28, chip_CS4294
247
               dd 0x30, chip_CS4299
247
               dd 0x30, chip_CS4299
248
               dd 0x34, chip_CS4299D
248
               dd 0x34, chip_CS4299D
249
               dd 0x48, chip_CS4201
249
               dd 0x48, chip_CS4201
250
               dd 0x58, chip_CS4205
250
               dd 0x58, chip_CS4205
251
               dd 0x60, chip_CS4291
251
               dd 0x60, chip_CS4291
252
               dd 0x70, chip_CS4202
252
               dd 0x70, chip_CS4202
253
               dd 0xFF
253
               dd 0xFF
254
 
254
 
255
chips_Wolfson  dd 0x00, chip_WM9700
255
chips_Wolfson  dd 0x00, chip_WM9700
256
               dd 0x03, chip_WM9703
256
               dd 0x03, chip_WM9703
257
               dd 0x04, chip_WM9704
257
               dd 0x04, chip_WM9704
258
               dd 0xFF
258
               dd 0xFF
259
 
259
 
260
chips_VIA      dd 0x61, chip_VIA1612A
260
chips_VIA      dd 0x61, chip_VIA1612A
261
               dd 0xFF
261
               dd 0xFF
262
 
262
 
263
chips_SigmaTel dd 0x58, chip_STAC9758
263
chips_SigmaTel dd 0x58, chip_STAC9758
264
               dd 0xFF
264
               dd 0xFF
265
 
265
 
266
chips_eMicro   dd 0x28, chip_EM28028
266
chips_eMicro   dd 0x28, chip_EM28028
267
               dd 0xFF
267
               dd 0xFF
268
 
268
 
269
align 16
269
align 16
270
;Analog Devices
270
;Analog Devices
271
chip_AD1819      db 'AD1819 ',0dh,0ah,00h
271
chip_AD1819      db 'AD1819 ',0dh,0ah,00h
272
chip_AD1881      db 'AD1881 ',0dh,0ah,00h
272
chip_AD1881      db 'AD1881 ',0dh,0ah,00h
273
chip_AD1881A     db 'AD1881A',0dh,0ah,00h
273
chip_AD1881A     db 'AD1881A',0dh,0ah,00h
274
chip_AD1884      db 'AD1885 ',0dh,0ah,00h
274
chip_AD1884      db 'AD1885 ',0dh,0ah,00h
275
chip_AD1885      db 'AD1885 ',0dh,0ah,00h
275
chip_AD1885      db 'AD1885 ',0dh,0ah,00h
276
chip_AD1886      db 'AD1886 ',0dh,0ah,00h
276
chip_AD1886      db 'AD1886 ',0dh,0ah,00h
277
chip_AD1886A     db 'AD1886A',0dh,0ah,00h
277
chip_AD1886A     db 'AD1886A',0dh,0ah,00h
278
chip_AD1887      db 'AD1887 ',0dh,0ah,00h
278
chip_AD1887      db 'AD1887 ',0dh,0ah,00h
279
chip_AD1980      db 'AD1980 ',0dh,0ah,00h
279
chip_AD1980      db 'AD1980 ',0dh,0ah,00h
280
chip_AD1981A     db 'AD1981A',0dh,0ah,00h
280
chip_AD1981A     db 'AD1981A',0dh,0ah,00h
281
chip_AD1981B     db 'AD1981B',0dh,0ah,00h
281
chip_AD1981B     db 'AD1981B',0dh,0ah,00h
282
chip_AD1985      db 'AD1985 ',0dh,0ah,00h
282
chip_AD1985      db 'AD1985 ',0dh,0ah,00h
283
 
283
 
284
;Realtek
284
;Realtek
285
chip_ALC201a     db 'ALC201a',0dh,0ah,00h
285
chip_ALC201a     db 'ALC201a',0dh,0ah,00h
286
chip_ALC650      db 'ALC650 ',0dh,0ah,00h
286
chip_ALC650      db 'ALC650 ',0dh,0ah,00h
287
chip_ALC650D     db 'ALC650D',0dh,0ah,00h
287
chip_ALC650D     db 'ALC650D',0dh,0ah,00h
288
chip_ALC650E     db 'ALC650E',0dh,0ah,00h
288
chip_ALC650E     db 'ALC650E',0dh,0ah,00h
289
chip_ALC650F     db 'ALC650F',0dh,0ah,00h
289
chip_ALC650F     db 'ALC650F',0dh,0ah,00h
290
chip_ALC655      db 'ALC655 ',0dh,0ah,00h
290
chip_ALC655      db 'ALC655 ',0dh,0ah,00h
291
chip_ALC658      db 'ALC658 ',0dh,0ah,00h
291
chip_ALC658      db 'ALC658 ',0dh,0ah,00h
292
chip_ALC658D     db 'ALC658D',0dh,0ah,00h
292
chip_ALC658D     db 'ALC658D',0dh,0ah,00h
293
chip_ALC850      db 'ALC850 ',0dh,0ah,00h
293
chip_ALC850      db 'ALC850 ',0dh,0ah,00h
294
 
294
 
295
;CMedia
295
;CMedia
296
chip_CM9738      db 'CMI9738', 0dh,0ah,0
296
chip_CM9738      db 'CMI9738', 0dh,0ah,0
297
chip_CM9739      db 'CMI9739', 0dh,0ah,0
297
chip_CM9739      db 'CMI9739', 0dh,0ah,0
298
chip_CM9780      db 'CMI9780', 0dh,0ah,0
298
chip_CM9780      db 'CMI9780', 0dh,0ah,0
299
chip_CM9761      db 'CMI9761', 0dh,0ah,0
299
chip_CM9761      db 'CMI9761', 0dh,0ah,0
300
 
300
 
301
;Cirrus
301
;Cirrus
302
chip_CS4297      db 'CS4297',13,10,0
302
chip_CS4297      db 'CS4297',13,10,0
303
chip_CS4297A     db 'CS4297A',13,10,0
303
chip_CS4297A     db 'CS4297A',13,10,0
304
chip_CS4298      db 'CS4298',13,10,0
304
chip_CS4298      db 'CS4298',13,10,0
305
chip_CS4294      db 'CS4294',13,10,0
305
chip_CS4294      db 'CS4294',13,10,0
306
chip_CS4299      db 'CS4299',13,10,0
306
chip_CS4299      db 'CS4299',13,10,0
307
chip_CS4299D     db 'CS4299D',13,10,0
307
chip_CS4299D     db 'CS4299D',13,10,0
308
chip_CS4201      db 'CS4201',13,10,0
308
chip_CS4201      db 'CS4201',13,10,0
309
chip_CS4205      db 'CS4205',13,10,0
309
chip_CS4205      db 'CS4205',13,10,0
310
chip_CS4291      db 'CS4291',13,10,0
310
chip_CS4291      db 'CS4291',13,10,0
311
chip_CS4202      db 'CS4202',13,10,0
311
chip_CS4202      db 'CS4202',13,10,0
312
 
312
 
313
;Wolfson
313
;Wolfson
314
chip_WM9700      db 'WM9704',13,10,0
314
chip_WM9700      db 'WM9704',13,10,0
315
chip_WM9703      db 'WM9703/9704',13,10,0
315
chip_WM9703      db 'WM9703/9704',13,10,0
316
chip_WM9704      db 'WM9704 (quad)',13,10,0
316
chip_WM9704      db 'WM9704 (quad)',13,10,0
317
 
317
 
318
;VIA
318
;VIA
319
chip_VIA1612A    db 'VIA1612A',13,10,0
319
chip_VIA1612A    db 'VIA1612A',13,10,0
320
 
320
 
321
;SigmaTel
321
;SigmaTel
322
chip_STAC9758    db 'STAC9758,59',13,10,0
322
chip_STAC9758    db 'STAC9758,59',13,10,0
323
 
323
 
324
;eMicro
324
;eMicro
325
chip_EM28028     db 'EM28028',13,10,0
325
chip_EM28028     db 'EM28028',13,10,0