Rev 5234 | Rev 7737 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 5234 | Rev 5363 | ||
---|---|---|---|
1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
2 | ;; ;; |
2 | ;; ;; |
3 | ;; Copyright (C) KolibriOS team 2004-2014. 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 | format PE DLL native 0.05 |
8 | format PE DLL native 0.05 |
9 | entry START |
9 | entry START |
10 | 10 | ||
11 | DEBUG = 1 |
11 | DEBUG = 1 |
12 | 12 | ||
13 | section '.flat' code readable writable executable |
13 | section '.flat' code readable writable executable |
14 | include '../proc32.inc' |
14 | include '../proc32.inc' |
15 | include '../struct.inc' |
15 | include '../struct.inc' |
16 | include '../pci.inc' |
16 | include '../pci.inc' |
17 | include '../macros.inc' |
17 | include '../macros.inc' |
18 | include '../peimport.inc' |
18 | include '../peimport.inc' |
19 | 19 | ||
20 | VID_INTEL = 0x8086 |
20 | VID_INTEL = 0x8086 |
21 | VID_NVIDIA = 0x10DE |
21 | VID_NVIDIA = 0x10DE |
22 | VID_VIA = 0x1106 |
22 | VID_VIA = 0x1106 |
23 | VID_SIS = 0x1039 |
23 | VID_SIS = 0x1039 |
24 | VID_FM801 = 0x1319 |
24 | VID_FM801 = 0x1319 |
25 | VID_CREATIVE = 0x1102 |
25 | VID_CREATIVE = 0x1102 |
26 | VID_ATI = 0x1002 |
26 | VID_ATI = 0x1002 |
27 | VID_AMD = 0x1022 |
27 | VID_AMD = 0x1022 |
28 | VID_ULI = 0x10B9 |
28 | VID_ULI = 0x10B9 |
29 | VID_TERA = 0x6549 |
29 | VID_TERA = 0x6549 |
30 | VID_RDC = 0x17F3 |
30 | VID_RDC = 0x17F3 |
31 | VID_VMWARE = 0x15AD |
31 | VID_VMWARE = 0x15AD |
32 | 32 | ||
33 | CTRL_ICH = 0x2415 |
33 | CTRL_ICH = 0x2415 |
34 | CTRL_ICH0 = 0x2425 |
34 | CTRL_ICH0 = 0x2425 |
35 | CTRL_ICH2 = 0x2435 |
35 | CTRL_ICH2 = 0x2435 |
36 | CTRL_ICH3 = 0x2445 |
36 | CTRL_ICH3 = 0x2445 |
37 | CTRL_ICH4 = 0x24C5 |
37 | CTRL_ICH4 = 0x24C5 |
38 | CTRL_ICH5 = 0x24D5 |
38 | CTRL_ICH5 = 0x24D5 |
39 | CTRL_ICH6 = 0x266E |
39 | CTRL_ICH6 = 0x266E |
40 | CTRL_ICH7 = 0x27DE |
40 | CTRL_ICH7 = 0x27DE |
41 | 41 | ||
42 | CTRL_NFORCE = 0x01B1 |
42 | CTRL_NFORCE = 0x01B1 |
43 | CTRL_NFORCE2 = 0x006A |
43 | CTRL_NFORCE2 = 0x006A |
44 | CTRL_NFORCE3 = 0x00DA |
44 | CTRL_NFORCE3 = 0x00DA |
45 | CTRL_MCP04 = 0x003A |
45 | CTRL_MCP04 = 0x003A |
46 | CTRL_CK804 = 0x0059 |
46 | CTRL_CK804 = 0x0059 |
47 | CTRL_CK8 = 0x008A |
47 | CTRL_CK8 = 0x008A |
48 | CTRL_CK8S = 0x00EA |
48 | CTRL_CK8S = 0x00EA |
49 | CTRL_MCP51 = 0x026B |
49 | CTRL_MCP51 = 0x026B |
50 | 50 | ||
51 | CTRL_VT82C686 = 0x3058 |
51 | CTRL_VT82C686 = 0x3058 |
52 | CTRL_VT8233_5 = 0x3059 |
52 | CTRL_VT8233_5 = 0x3059 |
53 | 53 | ||
54 | CTRL_SIS = 0x7012 |
54 | CTRL_SIS = 0x7012 |
55 | 55 | ||
56 | CTRL_FM801 = 0x0801 |
56 | CTRL_FM801 = 0x0801 |
57 | 57 | ||
58 | CTRL_CT0200 = 0x0006 ; Dell OEM version (EMU10K1X) |
58 | CTRL_CT0200 = 0x0006 ; Dell OEM version (EMU10K1X) |
59 | 59 | ||
60 | CTRL_INTEL_SCH2 = 0x080a |
60 | CTRL_INTEL_SCH2 = 0x080a |
61 | CTRL_INTEL_HPT = 0x0c0c |
61 | CTRL_INTEL_HPT = 0x0c0c |
62 | CTRL_INTEL_CPT = 0x1c20 |
62 | CTRL_INTEL_CPT = 0x1c20 |
63 | CTRL_INTEL_PGB = 0x1d20 |
63 | CTRL_INTEL_PGB = 0x1d20 |
64 | CTRL_INTEL_PPT1 = 0x1e20 |
64 | CTRL_INTEL_PPT1 = 0x1e20 |
65 | CTRL_INTEL_82801F = 0x2668 |
65 | CTRL_INTEL_82801F = 0x2668 |
66 | CTRL_INTEL_63XXESB = 0x269a |
66 | CTRL_INTEL_63XXESB = 0x269a |
67 | CTRL_INTEL_82801G = 0x27d8 |
67 | CTRL_INTEL_82801G = 0x27d8 |
68 | CTRL_INTEL_82801H = 0x284b |
68 | CTRL_INTEL_82801H = 0x284b |
69 | CTRL_INTEL_82801_UNK1 = 0x2911 |
69 | CTRL_INTEL_82801_UNK1 = 0x2911 |
70 | CTRL_INTEL_82801I = 0x293e |
70 | CTRL_INTEL_82801I = 0x293e |
71 | CTRL_INTEL_82801_UNK2 = 0x293f |
71 | CTRL_INTEL_82801_UNK2 = 0x293f |
72 | CTRL_INTEL_82801JI = 0x3a3e |
72 | CTRL_INTEL_82801JI = 0x3a3e |
73 | CTRL_INTEL_82801JD = 0x3a6e |
73 | CTRL_INTEL_82801JD = 0x3a6e |
74 | CTRL_INTEL_PCH = 0x3b56 |
74 | CTRL_INTEL_PCH = 0x3b56 |
75 | CTRL_INTEL_PCH2 = 0x3b57 |
75 | CTRL_INTEL_PCH2 = 0x3b57 |
76 | CTRL_INTEL_SCH = 0x811b |
76 | CTRL_INTEL_SCH = 0x811b |
77 | CTRL_INTEL_LPT = 0x8c20 |
77 | CTRL_INTEL_LPT = 0x8c20 |
78 | 78 | ||
79 | CTRL_NVIDIA_MCP51 = 0x026c |
79 | CTRL_NVIDIA_MCP51 = 0x026c |
80 | CTRL_NVIDIA_MCP55 = 0x0371 |
80 | CTRL_NVIDIA_MCP55 = 0x0371 |
81 | CTRL_NVIDIA_MCP61_1 = 0x03e4 |
81 | CTRL_NVIDIA_MCP61_1 = 0x03e4 |
82 | CTRL_NVIDIA_MCP61_2 = 0x03f0 |
82 | CTRL_NVIDIA_MCP61_2 = 0x03f0 |
83 | CTRL_NVIDIA_MCP65_1 = 0x044a |
83 | CTRL_NVIDIA_MCP65_1 = 0x044a |
84 | CTRL_NVIDIA_MCP65_2 = 0x044b |
84 | CTRL_NVIDIA_MCP65_2 = 0x044b |
85 | CTRL_NVIDIA_MCP67_1 = 0x055c |
85 | CTRL_NVIDIA_MCP67_1 = 0x055c |
86 | CTRL_NVIDIA_MCP67_2 = 0x055d |
86 | CTRL_NVIDIA_MCP67_2 = 0x055d |
87 | CTRL_NVIDIA_MCP78_1 = 0x0774 |
87 | CTRL_NVIDIA_MCP78_1 = 0x0774 |
88 | CTRL_NVIDIA_MCP78_2 = 0x0775 |
88 | CTRL_NVIDIA_MCP78_2 = 0x0775 |
89 | CTRL_NVIDIA_MCP78_3 = 0x0776 |
89 | CTRL_NVIDIA_MCP78_3 = 0x0776 |
90 | CTRL_NVIDIA_MCP78_4 = 0x0777 |
90 | CTRL_NVIDIA_MCP78_4 = 0x0777 |
91 | CTRL_NVIDIA_MCP73_1 = 0x07fc |
91 | CTRL_NVIDIA_MCP73_1 = 0x07fc |
92 | CTRL_NVIDIA_MCP73_2 = 0x07fd |
92 | CTRL_NVIDIA_MCP73_2 = 0x07fd |
93 | CTRL_NVIDIA_MCP79_1 = 0x0ac0 |
93 | CTRL_NVIDIA_MCP79_1 = 0x0ac0 |
94 | CTRL_NVIDIA_MCP79_2 = 0x0ac1 |
94 | CTRL_NVIDIA_MCP79_2 = 0x0ac1 |
95 | CTRL_NVIDIA_MCP79_3 = 0x0ac2 |
95 | CTRL_NVIDIA_MCP79_3 = 0x0ac2 |
96 | CTRL_NVIDIA_MCP79_4 = 0x0ac3 |
96 | CTRL_NVIDIA_MCP79_4 = 0x0ac3 |
97 | CTRL_NVIDIA_0BE2 = 0x0be2 |
97 | CTRL_NVIDIA_0BE2 = 0x0be2 |
98 | CTRL_NVIDIA_0BE3 = 0x0be3 |
98 | CTRL_NVIDIA_0BE3 = 0x0be3 |
99 | CTRL_NVIDIA_0BE4 = 0x0be4 |
99 | CTRL_NVIDIA_0BE4 = 0x0be4 |
100 | CTRL_NVIDIA_GT100 = 0x0be5 |
100 | CTRL_NVIDIA_GT100 = 0x0be5 |
101 | CTRL_NVIDIA_GT106 = 0x0be9 |
101 | CTRL_NVIDIA_GT106 = 0x0be9 |
102 | CTRL_NVIDIA_GT108 = 0x0bea |
102 | CTRL_NVIDIA_GT108 = 0x0bea |
103 | CTRL_NVIDIA_GT104 = 0x0beb |
103 | CTRL_NVIDIA_GT104 = 0x0beb |
104 | CTRL_NVIDIA_GT116 = 0x0bee |
104 | CTRL_NVIDIA_GT116 = 0x0bee |
105 | CTRL_NVIDIA_MCP89_1 = 0x0d94 |
105 | CTRL_NVIDIA_MCP89_1 = 0x0d94 |
106 | CTRL_NVIDIA_MCP89_2 = 0x0d95 |
106 | CTRL_NVIDIA_MCP89_2 = 0x0d95 |
107 | CTRL_NVIDIA_MCP89_3 = 0x0d96 |
107 | CTRL_NVIDIA_MCP89_3 = 0x0d96 |
108 | CTRL_NVIDIA_MCP89_4 = 0x0d97 |
108 | CTRL_NVIDIA_MCP89_4 = 0x0d97 |
109 | CTRL_NVIDIA_GF119 = 0x0e08 |
109 | CTRL_NVIDIA_GF119 = 0x0e08 |
110 | CTRL_NVIDIA_GF110_1 = 0x0e09 |
110 | CTRL_NVIDIA_GF110_1 = 0x0e09 |
111 | CTRL_NVIDIA_GF110_2 = 0x0e0c |
111 | CTRL_NVIDIA_GF110_2 = 0x0e0c |
112 | 112 | ||
113 | CTRL_ATI_SB450 = 0x437b |
113 | CTRL_ATI_SB450 = 0x437b |
114 | CTRL_ATI_SB600 = 0x4383 |
114 | CTRL_ATI_SB600 = 0x4383 |
115 | 115 | ||
116 | CTRL_ATI_RS600 = 0x793b |
116 | CTRL_ATI_RS600 = 0x793b |
117 | CTRL_ATI_RS690 = 0x7919 |
117 | CTRL_ATI_RS690 = 0x7919 |
118 | CTRL_ATI_RS780 = 0x960f |
118 | CTRL_ATI_RS780 = 0x960f |
119 | CTRL_ATI_RS_UNK1 = 0x970f |
119 | CTRL_ATI_RS_UNK1 = 0x970f |
120 | CTRL_ATI_R600 = 0xaa00 |
120 | CTRL_ATI_R600 = 0xaa00 |
121 | CTRL_ATI_RV630 = 0xaa08 |
121 | CTRL_ATI_RV630 = 0xaa08 |
122 | CTRL_ATI_RV610 = 0xaa10 |
122 | CTRL_ATI_RV610 = 0xaa10 |
123 | CTRL_ATI_RV670 = 0xaa18 |
123 | CTRL_ATI_RV670 = 0xaa18 |
124 | CTRL_ATI_RV635 = 0xaa20 |
124 | CTRL_ATI_RV635 = 0xaa20 |
125 | CTRL_ATI_RV620 = 0xaa28 |
125 | CTRL_ATI_RV620 = 0xaa28 |
126 | CTRL_ATI_RV770 = 0xaa30 |
126 | CTRL_ATI_RV770 = 0xaa30 |
127 | CTRL_ATI_RV730 = 0xaa38 |
127 | CTRL_ATI_RV730 = 0xaa38 |
128 | CTRL_ATI_RV710 = 0xaa40 |
128 | CTRL_ATI_RV710 = 0xaa40 |
129 | CTRL_ATI_RV740 = 0xaa48 |
129 | CTRL_ATI_RV740 = 0xaa48 |
130 | 130 | ||
131 | CTRL_AMD_HUDSON = 0x780d |
131 | CTRL_AMD_HUDSON = 0x780d |
132 | 132 | ||
133 | CTRL_VIA_VT82XX = 0x3288 |
133 | CTRL_VIA_VT82XX = 0x3288 |
134 | CTRL_VIA_VT61XX = 0x9140 |
134 | CTRL_VIA_VT61XX = 0x9140 |
135 | CTRL_VIA_VT71XX = 0x9170 |
135 | CTRL_VIA_VT71XX = 0x9170 |
136 | 136 | ||
137 | CTRL_SIS_966 = 0x7502 |
137 | CTRL_SIS_966 = 0x7502 |
138 | 138 | ||
139 | CTRL_ULI_M5461 = 0x5461 |
139 | CTRL_ULI_M5461 = 0x5461 |
140 | 140 | ||
141 | CTRL_CREATIVE_CA0110_IBG = 0x0009 |
141 | CTRL_CREATIVE_CA0110_IBG = 0x0009 |
142 | CTRL_CREATIVE_SOUND_CORE3D_1 = 0x0010 |
142 | CTRL_CREATIVE_SOUND_CORE3D_1 = 0x0010 |
143 | CTRL_CREATIVE_SOUND_CORE3D_2 = 0x0012 |
143 | CTRL_CREATIVE_SOUND_CORE3D_2 = 0x0012 |
144 | 144 | ||
145 | CTRL_TERA_UNK1 = 0x1200 |
145 | CTRL_TERA_UNK1 = 0x1200 |
146 | 146 | ||
147 | CTRL_RDC_R3010 = 0x3010 |
147 | CTRL_RDC_R3010 = 0x3010 |
148 | 148 | ||
149 | CTRL_VMWARE_UNK1 = 0x1977 |
149 | CTRL_VMWARE_UNK1 = 0x1977 |
150 | 150 | ||
151 | struct SRV |
151 | struct SRV |
152 | srv_name rb 16 ;ASCIIZ string |
152 | srv_name rb 16 ;ASCIIZ string |
153 | magic dd ? ;+0x10 ;'SRV ' |
153 | magic dd ? ;+0x10 ;'SRV ' |
154 | size dd ? ;+0x14 ;size of structure SRV |
154 | size dd ? ;+0x14 ;size of structure SRV |
155 | fd dd ? ;+0x18 ;next SRV descriptor |
155 | fd dd ? ;+0x18 ;next SRV descriptor |
156 | bk dd ? ;+0x1C ;prev SRV descriptor |
156 | bk dd ? ;+0x1C ;prev SRV descriptor |
157 | base dd ? ;+0x20 ;service base address |
157 | base dd ? ;+0x20 ;service base address |
158 | entry dd ? ;+0x24 ;service START function |
158 | entry dd ? ;+0x24 ;service START function |
159 | srv_proc dd ? ;+0x28 ;user mode service handler |
159 | srv_proc dd ? ;+0x28 ;user mode service handler |
160 | srv_proc_ex dd ? ;+0x2C ;kernel mode service handler |
160 | srv_proc_ex dd ? ;+0x2C ;kernel mode service handler |
161 | ends |
161 | ends |
162 | 162 | ||
163 | 163 | ||
164 | proc START c uses ebx esi edi, state:dword, cmdline:dword |
164 | proc START c uses ebx esi edi, state:dword, cmdline:dword |
165 | 165 | ||
166 | mov eax, [srv_entry] |
166 | mov eax, [srv_entry] |
167 | cmp [state], 1 |
167 | cmp [state], 1 |
168 | jne .stop |
168 | jne .stop |
169 | 169 | ||
170 | if DEBUG |
170 | if DEBUG |
171 | mov esi, msgInit |
171 | mov esi, msgInit |
172 | invoke SysMsgBoardStr |
172 | invoke SysMsgBoardStr |
173 | end if |
173 | end if |
174 | 174 | ||
175 | test eax, eax |
175 | test eax, eax |
176 | jnz .done |
176 | jnz .done |
177 | call detect_controller |
177 | call detect_controller |
178 | ret |
178 | ret |
179 | .stop: |
179 | .stop: |
180 | test eax, eax |
180 | test eax, eax |
181 | jz .done |
181 | jz .done |
182 | leave |
182 | leave |
183 | jmp eax |
183 | jmp eax |
184 | .done: |
184 | .done: |
185 | xor eax, eax |
185 | xor eax, eax |
186 | ret |
186 | ret |
187 | endp |
187 | endp |
188 | 188 | ||
189 | proc service_proc stdcall, ioctl:dword |
189 | proc service_proc stdcall, ioctl:dword |
190 | 190 | ||
191 | or eax, -1 |
191 | or eax, -1 |
192 | ret |
192 | ret |
193 | endp |
193 | endp |
194 | 194 | ||
195 | proc detect_controller |
195 | proc detect_controller |
196 | 196 | ||
197 | invoke GetPCIList |
197 | invoke GetPCIList |
198 | mov edx, eax |
198 | mov edx, eax |
199 | 199 | ||
200 | .loop: |
200 | .loop: |
201 | mov ecx, [eax + PCIDEV.vendor_device_id] |
201 | mov ecx, [eax + PCIDEV.vendor_device_id] |
202 | mov edi, devices |
202 | mov edi, devices |
203 | @@: |
203 | @@: |
204 | mov ebx, [edi] |
204 | mov ebx, [edi] |
205 | test ebx, ebx |
205 | test ebx, ebx |
206 | jz .next |
206 | jz .next |
207 | 207 | ||
208 | cmp ecx, ebx |
208 | cmp ecx, ebx |
209 | je .found |
209 | je .found |
210 | add edi, 8 |
210 | add edi, 8 |
211 | jmp @b |
211 | jmp @b |
212 | 212 | ||
213 | .next: |
213 | .next: |
214 | mov eax, [eax + PCIDEV.fd] |
214 | mov eax, [eax + PCIDEV.fd] |
215 | cmp eax, edx |
215 | cmp eax, edx |
216 | jne .loop |
216 | jne .loop |
217 | 217 | ||
218 | if DEBUG |
218 | if DEBUG |
219 | mov esi, msgFail |
219 | mov esi, msgFail |
220 | invoke SysMsgBoardStr |
220 | invoke SysMsgBoardStr |
221 | 221 | ||
222 | mov esi, msgLoading |
222 | mov esi, msgLoading |
223 | invoke SysMsgBoardStr |
223 | invoke SysMsgBoardStr |
224 | 224 | ||
225 | mov esi, sb16 |
225 | mov esi, sb16 |
226 | invoke SysMsgBoardStr |
226 | invoke SysMsgBoardStr |
227 | 227 | ||
228 | mov esi, msgNewline |
228 | mov esi, msgNewline |
229 | invoke SysMsgBoardStr |
229 | invoke SysMsgBoardStr |
230 | end if |
230 | end if |
231 | 231 | ||
232 | invoke GetService, sb16 |
232 | invoke GetService, sb16 |
233 | test eax, eax |
233 | test eax, eax |
234 | jz .fail |
234 | jz .fail |
235 | 235 | ||
236 | mov edx, [eax+SRV.entry] |
236 | mov edx, [eax+SRV.entry] |
237 | mov [srv_entry], edx |
237 | mov [srv_entry], edx |
238 | ret |
238 | ret |
239 | 239 | ||
240 | .found: |
240 | .found: |
241 | if DEBUG |
241 | if DEBUG |
242 | mov esi, msgLoading |
242 | mov esi, msgLoading |
243 | invoke SysMsgBoardStr |
243 | invoke SysMsgBoardStr |
244 | 244 | ||
245 | mov esi, dword[edi+4] |
245 | mov esi, dword[edi+4] |
246 | invoke SysMsgBoardStr |
246 | invoke SysMsgBoardStr |
247 | 247 | ||
248 | mov esi, msgNewline |
248 | mov esi, msgNewline |
249 | invoke SysMsgBoardStr |
249 | invoke SysMsgBoardStr |
250 | end if |
250 | end if |
251 | 251 | ||
252 | invoke GetService, dword[edi+4] |
252 | invoke GetService, dword[edi+4] |
253 | test eax, eax |
253 | test eax, eax |
254 | jz .fail |
254 | jz .fail |
255 | 255 | ||
256 | mov edx, [eax+SRV.entry] |
256 | mov edx, [eax+SRV.entry] |
257 | mov [srv_entry], edx |
257 | mov [srv_entry], edx |
258 | ret |
258 | ret |
259 | 259 | ||
260 | .fail: |
260 | .fail: |
261 | xor eax, eax |
261 | xor eax, eax |
262 | ret |
262 | ret |
263 | 263 | ||
264 | endp |
264 | endp |
265 | 265 | ||
266 | align 4 |
266 | align 4 |
267 | devices dd (CTRL_ICH shl 16)+VID_INTEL, intelac97 |
267 | devices dd (CTRL_ICH shl 16)+VID_INTEL, intelac97 |
268 | dd (CTRL_ICH0 shl 16)+VID_INTEL, intelac97 |
268 | dd (CTRL_ICH0 shl 16)+VID_INTEL, intelac97 |
269 | dd (CTRL_ICH2 shl 16)+VID_INTEL, intelac97 |
269 | dd (CTRL_ICH2 shl 16)+VID_INTEL, intelac97 |
270 | dd (CTRL_ICH3 shl 16)+VID_INTEL, intelac97 |
270 | dd (CTRL_ICH3 shl 16)+VID_INTEL, intelac97 |
271 | dd (CTRL_ICH4 shl 16)+VID_INTEL, intelac97 |
271 | dd (CTRL_ICH4 shl 16)+VID_INTEL, intelac97 |
272 | dd (CTRL_ICH5 shl 16)+VID_INTEL, intelac97 |
272 | dd (CTRL_ICH5 shl 16)+VID_INTEL, intelac97 |
273 | dd (CTRL_ICH6 shl 16)+VID_INTEL, intelac97 |
273 | dd (CTRL_ICH6 shl 16)+VID_INTEL, intelac97 |
274 | dd (CTRL_ICH7 shl 16)+VID_INTEL, intelac97 |
274 | dd (CTRL_ICH7 shl 16)+VID_INTEL, intelac97 |
275 | 275 | ||
276 | dd (CTRL_NFORCE shl 16)+VID_NVIDIA, intelac97 |
276 | dd (CTRL_NFORCE shl 16)+VID_NVIDIA, intelac97 |
277 | dd (CTRL_NFORCE2 shl 16)+VID_NVIDIA, intelac97 |
277 | dd (CTRL_NFORCE2 shl 16)+VID_NVIDIA, intelac97 |
278 | dd (CTRL_NFORCE3 shl 16)+VID_NVIDIA, intelac97 |
278 | dd (CTRL_NFORCE3 shl 16)+VID_NVIDIA, intelac97 |
279 | dd (CTRL_MCP04 shl 16)+VID_NVIDIA, intelac97 |
279 | dd (CTRL_MCP04 shl 16)+VID_NVIDIA, intelac97 |
280 | dd (CTRL_CK804 shl 16)+VID_NVIDIA, intelac97 |
280 | dd (CTRL_CK804 shl 16)+VID_NVIDIA, intelac97 |
281 | dd (CTRL_CK8 shl 16)+VID_NVIDIA, intelac97 |
281 | dd (CTRL_CK8 shl 16)+VID_NVIDIA, intelac97 |
282 | dd (CTRL_CK8S shl 16)+VID_NVIDIA, intelac97 |
282 | dd (CTRL_CK8S shl 16)+VID_NVIDIA, intelac97 |
283 | dd (CTRL_MCP51 shl 16)+VID_NVIDIA, intelac97 |
283 | dd (CTRL_MCP51 shl 16)+VID_NVIDIA, intelac97 |
284 | 284 | ||
285 | dd (CTRL_VT82C686 shl 16)+VID_VIA, vt823x |
285 | dd (CTRL_VT82C686 shl 16)+VID_VIA, vt823x |
286 | dd (CTRL_VT8233_5 shl 16)+VID_VIA, vt823x |
286 | dd (CTRL_VT8233_5 shl 16)+VID_VIA, vt823x |
287 | 287 | ||
288 | dd (CTRL_SIS shl 16)+VID_SIS, sis |
288 | dd (CTRL_SIS shl 16)+VID_SIS, sis |
289 | 289 | ||
290 | dd (CTRL_FM801 shl 16)+VID_FM801, fm801 |
290 | dd (CTRL_FM801 shl 16)+VID_FM801, fm801 |
291 | 291 | ||
292 | dd (0x5000 shl 16)+0x1274, ensoniq |
292 | dd (0x5000 shl 16)+0x1274, ensoniq |
293 | dd (0x5880 shl 16)+0x1274, ensoniq |
293 | dd (0x5880 shl 16)+0x1274, ensoniq |
294 | 294 | ||
295 | dd (CTRL_CT0200 shl 16)+VID_CREATIVE, emu10k1x |
295 | dd (CTRL_CT0200 shl 16)+VID_CREATIVE, emu10k1x |
296 | ; Intel |
296 | ; Intel |
297 | dd (CTRL_INTEL_SCH2 shl 16)+VID_INTEL, intelhda |
297 | dd (CTRL_INTEL_SCH2 shl 16)+VID_INTEL, intelhda |
298 | dd (CTRL_INTEL_HPT shl 16)+VID_INTEL, intelhda |
298 | dd (CTRL_INTEL_HPT shl 16)+VID_INTEL, intelhda |
299 | dd (CTRL_INTEL_CPT shl 16)+VID_INTEL, intelhda |
299 | dd (CTRL_INTEL_CPT shl 16)+VID_INTEL, intelhda |
300 | dd (CTRL_INTEL_PGB shl 16)+VID_INTEL, intelhda |
300 | dd (CTRL_INTEL_PGB shl 16)+VID_INTEL, intelhda |
301 | dd (CTRL_INTEL_PPT1 shl 16)+VID_INTEL, intelhda |
301 | dd (CTRL_INTEL_PPT1 shl 16)+VID_INTEL, intelhda |
302 | dd (CTRL_INTEL_82801F shl 16)+VID_INTEL, intelhda |
302 | dd (CTRL_INTEL_82801F shl 16)+VID_INTEL, intelhda |
303 | dd (CTRL_INTEL_63XXESB shl 16)+VID_INTEL, intelhda |
303 | dd (CTRL_INTEL_63XXESB shl 16)+VID_INTEL, intelhda |
304 | dd (CTRL_INTEL_82801G shl 16)+VID_INTEL, intelhda |
304 | dd (CTRL_INTEL_82801G shl 16)+VID_INTEL, intelhda |
305 | dd (CTRL_INTEL_82801H shl 16)+VID_INTEL, intelhda |
305 | dd (CTRL_INTEL_82801H shl 16)+VID_INTEL, intelhda |
306 | dd (CTRL_INTEL_82801_UNK1 shl 16)+VID_INTEL, intelhda |
306 | dd (CTRL_INTEL_82801_UNK1 shl 16)+VID_INTEL, intelhda |
307 | dd (CTRL_INTEL_82801I shl 16)+VID_INTEL, intelhda |
307 | dd (CTRL_INTEL_82801I shl 16)+VID_INTEL, intelhda |
308 | dd (CTRL_INTEL_82801_UNK2 shl 16)+VID_INTEL, intelhda |
308 | dd (CTRL_INTEL_82801_UNK2 shl 16)+VID_INTEL, intelhda |
309 | dd (CTRL_INTEL_82801JI shl 16)+VID_INTEL, intelhda |
309 | dd (CTRL_INTEL_82801JI shl 16)+VID_INTEL, intelhda |
310 | dd (CTRL_INTEL_82801JD shl 16)+VID_INTEL, intelhda |
310 | dd (CTRL_INTEL_82801JD shl 16)+VID_INTEL, intelhda |
311 | dd (CTRL_INTEL_PCH shl 16)+VID_INTEL, intelhda |
311 | dd (CTRL_INTEL_PCH shl 16)+VID_INTEL, intelhda |
312 | dd (CTRL_INTEL_PCH2 shl 16)+VID_INTEL, intelhda |
312 | dd (CTRL_INTEL_PCH2 shl 16)+VID_INTEL, intelhda |
313 | dd (CTRL_INTEL_SCH shl 16)+VID_INTEL, intelhda |
313 | dd (CTRL_INTEL_SCH shl 16)+VID_INTEL, intelhda |
314 | dd (CTRL_INTEL_LPT shl 16)+VID_INTEL, intelhda |
314 | dd (CTRL_INTEL_LPT shl 16)+VID_INTEL, intelhda |
315 | ; Nvidia |
315 | ; Nvidia |
316 | dd (CTRL_NVIDIA_MCP51 shl 16)+VID_NVIDIA, intelhda |
316 | dd (CTRL_NVIDIA_MCP51 shl 16)+VID_NVIDIA, intelhda |
317 | dd (CTRL_NVIDIA_MCP55 shl 16)+VID_NVIDIA, intelhda |
317 | dd (CTRL_NVIDIA_MCP55 shl 16)+VID_NVIDIA, intelhda |
318 | dd (CTRL_NVIDIA_MCP61_1 shl 16)+VID_NVIDIA, intelhda |
318 | dd (CTRL_NVIDIA_MCP61_1 shl 16)+VID_NVIDIA, intelhda |
319 | dd (CTRL_NVIDIA_MCP61_2 shl 16)+VID_NVIDIA, intelhda |
319 | dd (CTRL_NVIDIA_MCP61_2 shl 16)+VID_NVIDIA, intelhda |
320 | dd (CTRL_NVIDIA_MCP65_1 shl 16)+VID_NVIDIA, intelhda |
320 | dd (CTRL_NVIDIA_MCP65_1 shl 16)+VID_NVIDIA, intelhda |
321 | dd (CTRL_NVIDIA_MCP65_2 shl 16)+VID_NVIDIA, intelhda |
321 | dd (CTRL_NVIDIA_MCP65_2 shl 16)+VID_NVIDIA, intelhda |
322 | dd (CTRL_NVIDIA_MCP67_1 shl 16)+VID_NVIDIA, intelhda |
322 | dd (CTRL_NVIDIA_MCP67_1 shl 16)+VID_NVIDIA, intelhda |
323 | dd (CTRL_NVIDIA_MCP67_2 shl 16)+VID_NVIDIA, intelhda |
323 | dd (CTRL_NVIDIA_MCP67_2 shl 16)+VID_NVIDIA, intelhda |
324 | dd (CTRL_NVIDIA_MCP73_1 shl 16)+VID_NVIDIA, intelhda |
324 | dd (CTRL_NVIDIA_MCP73_1 shl 16)+VID_NVIDIA, intelhda |
325 | dd (CTRL_NVIDIA_MCP73_2 shl 16)+VID_NVIDIA, intelhda |
325 | dd (CTRL_NVIDIA_MCP73_2 shl 16)+VID_NVIDIA, intelhda |
326 | dd (CTRL_NVIDIA_MCP78_1 shl 16)+VID_NVIDIA, intelhda |
326 | dd (CTRL_NVIDIA_MCP78_1 shl 16)+VID_NVIDIA, intelhda |
327 | dd (CTRL_NVIDIA_MCP78_2 shl 16)+VID_NVIDIA, intelhda |
327 | dd (CTRL_NVIDIA_MCP78_2 shl 16)+VID_NVIDIA, intelhda |
328 | dd (CTRL_NVIDIA_MCP78_3 shl 16)+VID_NVIDIA, intelhda |
328 | dd (CTRL_NVIDIA_MCP78_3 shl 16)+VID_NVIDIA, intelhda |
329 | dd (CTRL_NVIDIA_MCP78_4 shl 16)+VID_NVIDIA, intelhda |
329 | dd (CTRL_NVIDIA_MCP78_4 shl 16)+VID_NVIDIA, intelhda |
330 | dd (CTRL_NVIDIA_MCP79_1 shl 16)+VID_NVIDIA, intelhda |
330 | dd (CTRL_NVIDIA_MCP79_1 shl 16)+VID_NVIDIA, intelhda |
331 | dd (CTRL_NVIDIA_MCP79_2 shl 16)+VID_NVIDIA, intelhda |
331 | dd (CTRL_NVIDIA_MCP79_2 shl 16)+VID_NVIDIA, intelhda |
332 | dd (CTRL_NVIDIA_MCP79_3 shl 16)+VID_NVIDIA, intelhda |
332 | dd (CTRL_NVIDIA_MCP79_3 shl 16)+VID_NVIDIA, intelhda |
333 | dd (CTRL_NVIDIA_MCP79_4 shl 16)+VID_NVIDIA, intelhda |
333 | dd (CTRL_NVIDIA_MCP79_4 shl 16)+VID_NVIDIA, intelhda |
334 | dd (CTRL_NVIDIA_0BE2 shl 16)+VID_NVIDIA, intelhda |
334 | dd (CTRL_NVIDIA_0BE2 shl 16)+VID_NVIDIA, intelhda |
335 | dd (CTRL_NVIDIA_0BE3 shl 16)+VID_NVIDIA, intelhda |
335 | dd (CTRL_NVIDIA_0BE3 shl 16)+VID_NVIDIA, intelhda |
336 | dd (CTRL_NVIDIA_0BE4 shl 16)+VID_NVIDIA, intelhda |
336 | dd (CTRL_NVIDIA_0BE4 shl 16)+VID_NVIDIA, intelhda |
337 | dd (CTRL_NVIDIA_GT100 shl 16)+VID_NVIDIA, intelhda |
337 | dd (CTRL_NVIDIA_GT100 shl 16)+VID_NVIDIA, intelhda |
338 | dd (CTRL_NVIDIA_GT106 shl 16)+VID_NVIDIA, intelhda |
338 | dd (CTRL_NVIDIA_GT106 shl 16)+VID_NVIDIA, intelhda |
339 | dd (CTRL_NVIDIA_GT108 shl 16)+VID_NVIDIA, intelhda |
339 | dd (CTRL_NVIDIA_GT108 shl 16)+VID_NVIDIA, intelhda |
340 | dd (CTRL_NVIDIA_GT104 shl 16)+VID_NVIDIA, intelhda |
340 | dd (CTRL_NVIDIA_GT104 shl 16)+VID_NVIDIA, intelhda |
341 | dd (CTRL_NVIDIA_GT116 shl 16)+VID_NVIDIA, intelhda |
341 | dd (CTRL_NVIDIA_GT116 shl 16)+VID_NVIDIA, intelhda |
342 | dd (CTRL_NVIDIA_MCP89_1 shl 16)+VID_NVIDIA, intelhda |
342 | dd (CTRL_NVIDIA_MCP89_1 shl 16)+VID_NVIDIA, intelhda |
343 | dd (CTRL_NVIDIA_MCP89_2 shl 16)+VID_NVIDIA, intelhda |
343 | dd (CTRL_NVIDIA_MCP89_2 shl 16)+VID_NVIDIA, intelhda |
344 | dd (CTRL_NVIDIA_MCP89_3 shl 16)+VID_NVIDIA, intelhda |
344 | dd (CTRL_NVIDIA_MCP89_3 shl 16)+VID_NVIDIA, intelhda |
345 | dd (CTRL_NVIDIA_MCP89_4 shl 16)+VID_NVIDIA, intelhda |
345 | dd (CTRL_NVIDIA_MCP89_4 shl 16)+VID_NVIDIA, intelhda |
346 | dd (CTRL_NVIDIA_GF119 shl 16)+VID_NVIDIA, intelhda |
346 | dd (CTRL_NVIDIA_GF119 shl 16)+VID_NVIDIA, intelhda |
347 | dd (CTRL_NVIDIA_GF110_1 shl 16)+VID_NVIDIA, intelhda |
347 | dd (CTRL_NVIDIA_GF110_1 shl 16)+VID_NVIDIA, intelhda |
348 | dd (CTRL_NVIDIA_GF110_2 shl 16)+VID_NVIDIA, intelhda |
348 | dd (CTRL_NVIDIA_GF110_2 shl 16)+VID_NVIDIA, intelhda |
349 | ; ATI |
349 | ; ATI |
350 | dd (CTRL_ATI_SB450 shl 16)+VID_ATI, intelhda |
350 | dd (CTRL_ATI_SB450 shl 16)+VID_ATI, intelhda |
351 | dd (CTRL_ATI_SB600 shl 16)+VID_ATI, intelhda |
351 | dd (CTRL_ATI_SB600 shl 16)+VID_ATI, intelhda |
352 | dd (CTRL_ATI_RS600 shl 16)+VID_ATI, intelhda |
352 | dd (CTRL_ATI_RS600 shl 16)+VID_ATI, intelhda |
353 | dd (CTRL_ATI_RS690 shl 16)+VID_ATI, intelhda |
353 | dd (CTRL_ATI_RS690 shl 16)+VID_ATI, intelhda |
354 | dd (CTRL_ATI_RS780 shl 16)+VID_ATI, intelhda |
354 | dd (CTRL_ATI_RS780 shl 16)+VID_ATI, intelhda |
355 | dd (CTRL_ATI_RS_UNK1 shl 16)+VID_ATI, intelhda |
355 | dd (CTRL_ATI_RS_UNK1 shl 16)+VID_ATI, intelhda |
356 | dd (CTRL_ATI_R600 shl 16)+VID_ATI, intelhda |
356 | dd (CTRL_ATI_R600 shl 16)+VID_ATI, intelhda |
357 | dd (CTRL_ATI_RV610 shl 16)+VID_ATI, intelhda |
357 | dd (CTRL_ATI_RV610 shl 16)+VID_ATI, intelhda |
358 | dd (CTRL_ATI_RV620 shl 16)+VID_ATI, intelhda |
358 | dd (CTRL_ATI_RV620 shl 16)+VID_ATI, intelhda |
359 | dd (CTRL_ATI_RV630 shl 16)+VID_ATI, intelhda |
359 | dd (CTRL_ATI_RV630 shl 16)+VID_ATI, intelhda |
360 | dd (CTRL_ATI_RV635 shl 16)+VID_ATI, intelhda |
360 | dd (CTRL_ATI_RV635 shl 16)+VID_ATI, intelhda |
361 | dd (CTRL_ATI_RV670 shl 16)+VID_ATI, intelhda |
361 | dd (CTRL_ATI_RV670 shl 16)+VID_ATI, intelhda |
362 | dd (CTRL_ATI_RV710 shl 16)+VID_ATI, intelhda |
362 | dd (CTRL_ATI_RV710 shl 16)+VID_ATI, intelhda |
363 | dd (CTRL_ATI_RV730 shl 16)+VID_ATI, intelhda |
363 | dd (CTRL_ATI_RV730 shl 16)+VID_ATI, intelhda |
364 | dd (CTRL_ATI_RV740 shl 16)+VID_ATI, intelhda |
364 | dd (CTRL_ATI_RV740 shl 16)+VID_ATI, intelhda |
365 | dd (CTRL_ATI_RV770 shl 16)+VID_ATI, intelhda |
365 | dd (CTRL_ATI_RV770 shl 16)+VID_ATI, intelhda |
366 | ; AMD |
366 | ; AMD |
367 | dd (CTRL_AMD_HUDSON shl 16)+VID_AMD, intelhda |
367 | dd (CTRL_AMD_HUDSON shl 16)+VID_AMD, intelhda |
368 | ; VIA |
368 | ; VIA |
369 | dd (CTRL_VIA_VT82XX shl 16)+VID_VIA, intelhda |
369 | dd (CTRL_VIA_VT82XX shl 16)+VID_VIA, intelhda |
370 | dd (CTRL_VIA_VT61XX shl 16)+VID_VIA, intelhda |
370 | dd (CTRL_VIA_VT61XX shl 16)+VID_VIA, intelhda |
371 | dd (CTRL_VIA_VT71XX shl 16)+VID_VIA, intelhda |
371 | dd (CTRL_VIA_VT71XX shl 16)+VID_VIA, intelhda |
372 | ; SiS |
372 | ; SiS |
373 | dd (CTRL_SIS_966 shl 16)+VID_SIS, intelhda |
373 | dd (CTRL_SIS_966 shl 16)+VID_SIS, intelhda |
374 | ; ULI |
374 | ; ULI |
375 | dd (CTRL_ULI_M5461 shl 16)+VID_ULI, intelhda |
375 | dd (CTRL_ULI_M5461 shl 16)+VID_ULI, intelhda |
376 | ; Teradici |
376 | ; Teradici |
377 | dd (CTRL_TERA_UNK1 shl 16)+VID_ULI, intelhda |
377 | dd (CTRL_TERA_UNK1 shl 16)+VID_ULI, intelhda |
378 | ; Creative |
378 | ; Creative |
379 | dd (CTRL_CREATIVE_CA0110_IBG shl 16)+VID_CREATIVE, intelhda |
379 | dd (CTRL_CREATIVE_CA0110_IBG shl 16)+VID_CREATIVE, intelhda |
380 | dd (CTRL_CREATIVE_SOUND_CORE3D_1 shl 16)+VID_CREATIVE, intelhda |
380 | dd (CTRL_CREATIVE_SOUND_CORE3D_1 shl 16)+VID_CREATIVE, intelhda |
381 | dd (CTRL_CREATIVE_SOUND_CORE3D_2 shl 16)+VID_CREATIVE, intelhda |
381 | dd (CTRL_CREATIVE_SOUND_CORE3D_2 shl 16)+VID_CREATIVE, intelhda |
382 | ; RDC Semiconductor |
382 | ; RDC Semiconductor |
383 | dd (CTRL_RDC_R3010 shl 16)+VID_RDC, intelhda |
383 | dd (CTRL_RDC_R3010 shl 16)+VID_RDC, intelhda |
384 | ; VMware |
384 | ; VMware |
385 | dd (CTRL_VMWARE_UNK1 shl 16)+VID_VMWARE, intelhda |
385 | dd (CTRL_VMWARE_UNK1 shl 16)+VID_VMWARE, intelhda |
386 | 386 | ||
387 | dd 0 ; terminator |
387 | dd 0 ; terminator |
388 | 388 | ||
389 | 389 | ||
390 | srv_entry dd 0 |
390 | srv_entry dd 0 |
391 | 391 | ||
392 | intelac97 db 'INTELAC97', 0 |
392 | intelac97 db 'INTELAC97', 0 |
393 | vt823x db 'VT823X', 0 |
393 | vt823x db 'VT823X', 0 |
394 | sis db 'SIS', 0 |
394 | sis db 'SIS', 0 |
395 | fm801 db 'FM801', 0 |
395 | fm801 db 'FM801', 0 |
396 | ensoniq db 'ENSONIQ', 0 |
396 | ensoniq db 'ENSONIQ', 0 |
397 | emu10k1x db 'EMU10K1X', 0 |
397 | emu10k1x db 'EMU10K1X', 0 |
398 | intelhda db 'INTEL_HDA', 0 |
398 | intelhda db 'INTEL_HDA', 0 |
399 | sb16 db 'SB16', 0 |
399 | sb16 db 'SB16', 0 |
400 | 400 | ||
401 | msgInit db 'Detecting hardware...',13,10,0 |
401 | msgInit db 'Detecting hardware...',13,10,0 |
402 | msgFail db 'No compatible PCI soundcard found!',13,10,0 |
402 | msgFail db 'No compatible PCI soundcard found!',13,10,0 |
403 | msgLoading db 'Loading ',0 |
403 | msgLoading db 'Loading ',0 |
404 | msgNewline db 13,10,0 |
404 | msgNewline db 13,10,0 |
405 | 405 | ||
406 | align 4 |
406 | align 4 |
407 | data fixups |
407 | data fixups |
408 | end data |
408 | end data |