Rev 109 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 109 | Rev 485 | ||
---|---|---|---|
1 | ; |
1 | ; |
2 | ; MIXER |
2 | ; MIXER |
3 | ; |
3 | ; |
4 | ; Compile with FASM |
4 | ; Compile with FASM |
5 | ; |
5 | ; |
6 | 6 | ||
- | 7 | include 'lang.inc' |
|
- | 8 | include '..\..\..\macros.inc' |
|
7 | use32 |
9 | |
- | 10 | ||
8 | 11 | use32 |
|
9 | org 0x0 |
12 | org 0x0 |
10 | db 'MENUET00' ; 8 byte id |
13 | db 'MENUET01' ; header |
11 | dd 38 ; required os |
14 | dd 0x01 ; header version |
12 | dd START ; program start |
15 | dd START ; entry point |
13 | dd I_END ; program image size |
16 | dd I_END ; image size |
14 | dd 0x1000 ; reguired amount of memory |
17 | dd 0x1000 ; required memory |
15 | dd 0x1000 |
18 | dd 0x1000 ; esp |
16 | dd 0x00000000 ; reserved=no extended header |
- | |
17 | - | ||
18 | include 'lang.inc' |
- | |
- | 19 | dd 0x0 , 0x0 ; I_Param , I_Path |
|
- | 20 | ||
19 | include 'macros.inc' |
21 | |
20 | 22 | ||
21 | START: ; start of execution |
23 | START: ; start of execution |
22 | 24 | ||
23 | 25 | red: ; redraw |
|
24 | call draw_window ; at first, draw the window |
26 | call draw_window ; at first, draw the window |
25 | 27 | ||
26 | 28 | ||
27 | still: |
29 | still: |
28 | 30 | ||
29 | mov eax,10 ; wait here for event |
31 | mov eax,10 ; wait here for event |
30 | int 0x40 |
32 | mcall |
31 | 33 | ||
32 | cmp eax,1 ; redraw request ? |
34 | cmp eax,1 ; redraw request ? |
33 | jz red |
35 | jz red |
34 | cmp eax,2 ; key in buffer ? |
36 | cmp eax,2 ; key in buffer ? |
35 | jz key |
37 | jz key |
36 | cmp eax,3 ; button in buffer ? |
38 | cmp eax,3 ; button in buffer ? |
37 | jz button |
39 | jz button |
38 | 40 | ||
39 | jmp still |
41 | jmp still |
40 | 42 | ||
41 | red: ; redraw |
- | |
42 | call draw_window |
- | |
43 | - | ||
44 | jmp still |
- | |
45 | - | ||
46 | key: ; key |
43 | key: ; key |
47 | mov eax,2 ; just read it and ignore |
44 | mov eax,2 ; just read it and ignore |
48 | int 0x40 |
45 | mcall |
49 | 46 | ||
50 | jmp still |
47 | jmp still |
51 | 48 | ||
52 | button: ; button |
49 | button: ; button |
53 | mov eax,17 |
50 | mov eax,17 |
54 | int 0x40 |
51 | mcall |
55 | 52 | ||
56 | cmp ah,1 ; button id=1 ? |
53 | cmp ah,1 ; button id=1 ? |
57 | jnz noclose |
54 | jnz noclose |
58 | mov eax,-1 ; close this program |
55 | or eax,-1 ; close this program |
59 | int 0x40 |
56 | mcall |
60 | noclose: |
57 | noclose: |
61 | 58 | ||
62 | cmp ah,101 |
59 | cmp ah,101 |
63 | jnz nochange |
60 | jnz nochange |
64 | mov al,byte [usecard] |
61 | mov al,byte [usecard] |
65 | cld |
62 | cld |
66 | inc al |
63 | inc al |
67 | and al,3 |
64 | and al,3 |
68 | cmp al,0 |
65 | cmp al,0 |
69 | jnz nozer |
66 | jnz nozer |
70 | mov al,1 |
67 | mov al,1 |
71 | nozer: |
68 | nozer: |
72 | mov byte [usecard],al |
69 | mov byte [usecard],al |
73 | 70 | ||
74 | call drawusedcard |
71 | call drawusedcard |
75 | 72 | ||
76 | nochange: |
73 | nochange: |
77 | 74 | ||
78 | cmp byte [usecard],byte 1 |
75 | cmp byte [usecard],byte 1 |
79 | jz usesb16 |
76 | jz usesb16 |
80 | 77 | ||
81 | cmp byte [usecard],byte 2 |
78 | cmp byte [usecard],byte 2 |
82 | jnz nousesb16II |
79 | jnz nousesb16II |
83 | jmp usesb16II |
80 | jmp usesb16II |
84 | nousesb16II: |
81 | nousesb16II: |
85 | 82 | ||
86 | cmp byte [usecard],byte 3 |
83 | cmp byte [usecard],byte 3 |
87 | jnz nousewss |
84 | jnz nousewss |
88 | jmp usewss |
85 | jmp usewss |
89 | nousewss: |
86 | nousewss: |
90 | 87 | ||
91 | 88 | ||
92 | 89 | ||
93 | ; SOUND BLASTER 16 |
90 | ; SOUND BLASTER 16 |
94 | 91 | ||
95 | 92 | ||
96 | usesb16: |
93 | usesb16: |
97 | 94 | ||
98 | 95 | ||
99 | cld |
96 | cld |
100 | 97 | ||
101 | mov al,20 |
98 | mov al,20 |
102 | cmp ah,al |
99 | cmp ah,al |
103 | jge nomain |
100 | jge nomain |
104 | 101 | ||
105 | mov ecx,0 |
102 | mov ecx,0 |
106 | cmp ah,12 |
103 | cmp ah,12 |
107 | jnz nomain12 |
104 | jnz nomain12 |
108 | mov ecx,3*16+3 |
105 | mov ecx,3*16+3 |
109 | nomain12: |
106 | nomain12: |
110 | cmp ah,13 |
107 | cmp ah,13 |
111 | jnz nomain13 |
108 | jnz nomain13 |
112 | mov ecx,7*16+7 |
109 | mov ecx,7*16+7 |
113 | nomain13: |
110 | nomain13: |
114 | cmp ah,14 |
111 | cmp ah,14 |
115 | jnz nomain14 |
112 | jnz nomain14 |
116 | mov ecx,11*16+11 |
113 | mov ecx,11*16+11 |
117 | nomain14: |
114 | nomain14: |
118 | cmp ah,15 |
115 | cmp ah,15 |
119 | jnz nomain15 |
116 | jnz nomain15 |
120 | mov ecx,15*16+15 |
117 | mov ecx,15*16+15 |
121 | nomain15: |
118 | nomain15: |
122 | 119 | ||
123 | mov eax,25 |
120 | mov eax,25 |
124 | mov ebx,1 |
121 | mov ebx,1 |
125 | int 0x40 |
122 | mcall |
126 | 123 | ||
127 | jmp still |
124 | jmp still |
128 | 125 | ||
129 | nomain: |
126 | nomain: |
130 | 127 | ||
131 | mov al,30 |
128 | mov al,30 |
132 | cmp ah,al |
129 | cmp ah,al |
133 | jge nocd |
130 | jge nocd |
134 | 131 | ||
135 | mov ecx,0 |
132 | mov ecx,0 |
136 | 133 | ||
137 | cmp ah,22 |
134 | cmp ah,22 |
138 | jnz nocd12 |
135 | jnz nocd12 |
139 | mov ecx,3*16+3 |
136 | mov ecx,3*16+3 |
140 | nocd12: |
137 | nocd12: |
141 | cmp ah,23 |
138 | cmp ah,23 |
142 | jnz nocd13 |
139 | jnz nocd13 |
143 | mov ecx,7*16+7 |
140 | mov ecx,7*16+7 |
144 | nocd13: |
141 | nocd13: |
145 | cmp ah,24 |
142 | cmp ah,24 |
146 | jnz nocd14 |
143 | jnz nocd14 |
147 | mov ecx,11*16+11 |
144 | mov ecx,11*16+11 |
148 | nocd14: |
145 | nocd14: |
149 | cmp ah,25 |
146 | cmp ah,25 |
150 | jnz nocd15 |
147 | jnz nocd15 |
151 | mov ecx,15*16+15 |
148 | mov ecx,15*16+15 |
152 | nocd15: |
149 | nocd15: |
153 | 150 | ||
154 | mov eax,25 |
151 | mov eax,25 |
155 | mov ebx,2 |
152 | mov ebx,2 |
156 | int 0x40 |
153 | mcall |
157 | 154 | ||
158 | jmp still |
155 | jmp still |
159 | 156 | ||
160 | nocd: |
157 | nocd: |
161 | 158 | ||
162 | 159 | ||
163 | jmp still |
160 | jmp still |
164 | 161 | ||
165 | 162 | ||
166 | 163 | ||
167 | 164 | ||
168 | ; SOUND BLASTER 16 II |
165 | ; SOUND BLASTER 16 II |
169 | 166 | ||
170 | usesb16II: |
167 | usesb16II: |
171 | 168 | ||
172 | cld |
169 | cld |
173 | 170 | ||
174 | mov al,20 |
171 | mov al,20 |
175 | cmp ah,al |
172 | cmp ah,al |
176 | jge IIwnomain |
173 | jge IIwnomain |
177 | 174 | ||
178 | mov ecx,0 |
175 | mov ecx,0 |
179 | cmp ah,12 |
176 | cmp ah,12 |
180 | jnz IIwnomain12 |
177 | jnz IIwnomain12 |
181 | mov ecx,50 |
178 | mov ecx,50 |
182 | IIwnomain12: |
179 | IIwnomain12: |
183 | cmp ah,13 |
180 | cmp ah,13 |
184 | jnz IIwnomain13 |
181 | jnz IIwnomain13 |
185 | mov ecx,150 |
182 | mov ecx,150 |
186 | IIwnomain13: |
183 | IIwnomain13: |
187 | cmp ah,14 |
184 | cmp ah,14 |
188 | jnz IIwnomain14 |
185 | jnz IIwnomain14 |
189 | mov ecx,200 |
186 | mov ecx,200 |
190 | IIwnomain14: |
187 | IIwnomain14: |
191 | cmp ah,15 |
188 | cmp ah,15 |
192 | jnz IIwnomain15 |
189 | jnz IIwnomain15 |
193 | mov ecx,255 |
190 | mov ecx,255 |
194 | IIwnomain15: |
191 | IIwnomain15: |
195 | 192 | ||
196 | mov eax,28 |
193 | mov eax,28 |
197 | mov ebx,1 |
194 | mov ebx,1 |
198 | int 0x40 |
195 | mcall |
199 | 196 | ||
200 | jmp still |
197 | jmp still |
201 | 198 | ||
202 | IIwnomain: |
199 | IIwnomain: |
203 | 200 | ||
204 | mov al,30 |
201 | mov al,30 |
205 | cmp ah,al |
202 | cmp ah,al |
206 | jge IIwnocd |
203 | jge IIwnocd |
207 | 204 | ||
208 | mov ecx,0 |
205 | mov ecx,0 |
209 | 206 | ||
210 | cmp ah,22 |
207 | cmp ah,22 |
211 | jnz IIwnocd12 |
208 | jnz IIwnocd12 |
212 | mov ecx,50 |
209 | mov ecx,50 |
213 | IIwnocd12: |
210 | IIwnocd12: |
214 | cmp ah,23 |
211 | cmp ah,23 |
215 | jnz IIwnocd13 |
212 | jnz IIwnocd13 |
216 | mov ecx,150 |
213 | mov ecx,150 |
217 | IIwnocd13: |
214 | IIwnocd13: |
218 | cmp ah,24 |
215 | cmp ah,24 |
219 | jnz IIwnocd14 |
216 | jnz IIwnocd14 |
220 | mov ecx,200 |
217 | mov ecx,200 |
221 | IIwnocd14: |
218 | IIwnocd14: |
222 | cmp ah,25 |
219 | cmp ah,25 |
223 | jnz IIwnocd15 |
220 | jnz IIwnocd15 |
224 | mov ecx,255 |
221 | mov ecx,255 |
225 | IIwnocd15: |
222 | IIwnocd15: |
226 | 223 | ||
227 | mov eax,28 |
224 | mov eax,28 |
228 | mov ebx,2 |
225 | mov ebx,2 |
229 | int 0x40 |
226 | mcall |
230 | 227 | ||
231 | jmp still |
228 | jmp still |
232 | 229 | ||
233 | IIwnocd: |
230 | IIwnocd: |
234 | 231 | ||
235 | 232 | ||
236 | jmp still |
233 | jmp still |
237 | 234 | ||
238 | 235 | ||
239 | 236 | ||
240 | 237 | ||
241 | 238 | ||
242 | 239 | ||
243 | 240 | ||
244 | 241 | ||
245 | 242 | ||
246 | ; WINDOWS SOUND SYSTEM |
243 | ; WINDOWS SOUND SYSTEM |
247 | 244 | ||
248 | usewss: |
245 | usewss: |
249 | 246 | ||
250 | cld |
247 | cld |
251 | 248 | ||
252 | mov al,20 |
249 | mov al,20 |
253 | cmp ah,al |
250 | cmp ah,al |
254 | jge wnomain |
251 | jge wnomain |
255 | 252 | ||
256 | mov ecx,255 |
253 | mov ecx,255 |
257 | cmp ah,12 |
254 | cmp ah,12 |
258 | jnz wnomain12 |
255 | jnz wnomain12 |
259 | mov ecx,200 |
256 | mov ecx,200 |
260 | wnomain12: |
257 | wnomain12: |
261 | cmp ah,13 |
258 | cmp ah,13 |
262 | jnz wnomain13 |
259 | jnz wnomain13 |
263 | mov ecx,150 |
260 | mov ecx,150 |
264 | wnomain13: |
261 | wnomain13: |
265 | cmp ah,14 |
262 | cmp ah,14 |
266 | jnz wnomain14 |
263 | jnz wnomain14 |
267 | mov ecx,70 |
264 | mov ecx,70 |
268 | wnomain14: |
265 | wnomain14: |
269 | cmp ah,15 |
266 | cmp ah,15 |
270 | jnz wnomain15 |
267 | jnz wnomain15 |
271 | mov ecx,0 |
268 | mov ecx,0 |
272 | wnomain15: |
269 | wnomain15: |
273 | 270 | ||
274 | mov eax,27 |
271 | mov eax,27 |
275 | mov ebx,1 |
272 | mov ebx,1 |
276 | int 0x40 |
273 | mcall |
277 | 274 | ||
278 | jmp still |
275 | jmp still |
279 | 276 | ||
280 | wnomain: |
277 | wnomain: |
281 | 278 | ||
282 | mov al,30 |
279 | mov al,30 |
283 | cmp ah,al |
280 | cmp ah,al |
284 | jge wnocd |
281 | jge wnocd |
285 | 282 | ||
286 | mov ecx,255 |
283 | mov ecx,255 |
287 | 284 | ||
288 | cmp ah,22 |
285 | cmp ah,22 |
289 | jnz wnocd12 |
286 | jnz wnocd12 |
290 | mov ecx,200 |
287 | mov ecx,200 |
291 | wnocd12: |
288 | wnocd12: |
292 | cmp ah,23 |
289 | cmp ah,23 |
293 | jnz wnocd13 |
290 | jnz wnocd13 |
294 | mov ecx,150 |
291 | mov ecx,150 |
295 | wnocd13: |
292 | wnocd13: |
296 | cmp ah,24 |
293 | cmp ah,24 |
297 | jnz wnocd14 |
294 | jnz wnocd14 |
298 | mov ecx,70 |
295 | mov ecx,70 |
299 | wnocd14: |
296 | wnocd14: |
300 | cmp ah,25 |
297 | cmp ah,25 |
301 | jnz wnocd15 |
298 | jnz wnocd15 |
302 | mov ecx,0 |
299 | mov ecx,0 |
303 | wnocd15: |
300 | wnocd15: |
304 | 301 | ||
305 | mov eax,27 |
302 | mov eax,27 |
306 | mov ebx,2 |
303 | mov ebx,2 |
307 | int 0x40 |
304 | mcall |
308 | 305 | ||
309 | jmp still |
306 | jmp still |
310 | 307 | ||
311 | wnocd: |
308 | wnocd: |
312 | 309 | ||
313 | 310 | ||
314 | jmp still |
311 | jmp still |
315 | 312 | ||
316 | 313 | ||
317 | 314 | ||
318 | 315 | ||
319 | ; ********************************************* |
316 | ; ********************************************* |
320 | ; ******* WINDOW DEFINITIONS AND DRAW ******** |
317 | ; ******* WINDOW DEFINITIONS AND DRAW ******** |
321 | ; ********************************************* |
318 | ; ********************************************* |
322 | 319 | ||
323 | 320 | ||
324 | draw_window: |
321 | draw_window: |
325 | 322 | ||
326 | mov eax,12 ; function 12:tell os about windowdraw |
323 | mov eax,12 ; function 12:tell os about windowdraw |
327 | mov ebx,1 ; 1, start of draw |
324 | mov ebx,1 ; 1, start of draw |
328 | int 0x40 |
325 | mcall |
329 | 326 | ||
330 | ; DRAW WINDOW |
327 | ; DRAW WINDOW |
331 | mov eax,0 ; function 0 : define and draw window |
328 | mov eax,0 ; function 0 : define and draw window |
332 | mov ebx,100*65536+195 ; [x start] *65536 + [x size] |
329 | mov ebx,100*65536+195 ; [x start] *65536 + [x size] |
333 | mov ecx,100*65536+140 ; [y start] *65536 + [y size] |
330 | mov ecx,100*65536+140 ; [y start] *65536 + [y size] |
334 | mov edx,[wcolor] ; color of work area RRGGBB |
331 | mov edx,[wcolor] ; color of work area RRGGBB |
335 | mov esi,0x8099bbff ; color of grab bar RRGGBB,8->color glide |
332 | mov edi,title ; WINDOW LABEL |
336 | mov edi,0x0099bbee ; color of frames RRGGBB |
- | |
337 | int 0x40 |
- | |
338 | - | ||
339 | ; WINDOW LABEL |
- | |
340 | mov eax,4 ; function 4 : write text to window |
333 | mcall |
341 | mov ebx,8*65536+8 ; [x start] *65536 + [y start] |
- | |
342 | mov ecx,0x00ffffff ; color of text RRGGBB |
- | |
343 | mov edx,labelt ; pointer to text beginning |
- | |
344 | mov esi,labellen-labelt ; text length |
- | |
345 | int 0x40 |
- | |
346 | 334 | ||
347 | ; CLOSE BUTTON |
- | |
348 | mov eax,8 ; function 8 : define and draw button |
- | |
349 | mov ebx,(195-19)*65536+12 ; [x start] *65536 + [x size] |
- | |
350 | mov ecx,5*65536+12 ; [y start] *65536 + [y size] |
- | |
351 | mov edx,1 ; button id |
- | |
352 | mov esi,0x22aacc ; button color RRGGBB |
- | |
353 | ; int 0x40 |
- | |
354 | 335 | ||
355 | mov edx,16 ; button id |
336 | mov edx,16 ; button id |
356 | mov ebx,10*65536 |
337 | mov ebx,10*65536 |
357 | 338 | ||
358 | newbut: |
339 | newbut: |
359 | 340 | ||
360 | push edx |
341 | push edx |
361 | push ebx |
342 | push ebx |
362 | 343 | ||
363 | mov esi,[bcolor] |
344 | mov esi,[bcolor] |
364 | 345 | ||
365 | mov eax,8 ; function 8 : define and draw button |
346 | mov eax,8 ; function 8 : define and draw button |
366 | mov bx,22 ; [x start] *65536 + [x size] |
347 | mov bx,22 ; [x start] *65536 + [x size] |
367 | mov ecx,35*65536+8 ; [y start] *65536 + [y size] |
348 | mov ecx,35*65536+8 ; [y start] *65536 + [y size] |
368 | dec edx |
349 | dec edx |
369 | int 0x40 |
350 | mcall |
370 | mov eax,8 ; function 8 : define and draw button |
351 | mov bx,22 ; [x start] *65536 + [x size] |
371 | mov bx,22 ; [x start] *65536 + [x size] |
- | |
372 | mov ecx,45*65536+8 ; [y start] *65536 + [y size] |
352 | mov ecx,45*65536+8 ; [y start] *65536 + [y size] |
373 | dec edx |
353 | dec edx |
374 | int 0x40 |
354 | mcall |
375 | mov eax,8 ; function 8 : define and draw button |
355 | mov bx,22 ; [x start] *65536 + [x size] |
376 | mov bx,22 ; [x start] *65536 + [x size] |
- | |
377 | mov ecx,55*65536+8 ; [y start] *65536 + [y size] |
356 | mov ecx,55*65536+8 ; [y start] *65536 + [y size] |
378 | dec edx |
357 | dec edx |
379 | int 0x40 |
358 | mcall |
380 | mov eax,8 ; function 8 : define and draw button |
359 | mov bx,22 ; [x start] *65536 + [x size] |
381 | mov bx,22 ; [x start] *65536 + [x size] |
- | |
382 | mov ecx,65*65536+8 ; [y start] *65536 + [y size] |
360 | mov ecx,65*65536+8 ; [y start] *65536 + [y size] |
383 | dec edx |
361 | dec edx |
384 | int 0x40 |
362 | mcall |
385 | mov eax,8 ; function 8 : define and draw button |
363 | mov bx,22 ; [x start] *65536 + [x size] |
386 | mov bx,22 ; [x start] *65536 + [x size] |
- | |
387 | mov ecx,75*65536+8 ; [y start] *65536 + [y size] |
364 | mov ecx,75*65536+8 ; [y start] *65536 + [y size] |
388 | dec edx |
365 | dec edx |
389 | int 0x40 |
366 | mcall |
390 | 367 | ||
391 | pop ebx |
368 | pop ebx |
392 | pop edx |
369 | pop edx |
393 | 370 | ||
394 | add ebx,30*65536 |
371 | add ebx,30*65536 |
395 | add edx,10 |
372 | add edx,10 |
396 | 373 | ||
397 | cmp edx,16+6*10 |
374 | cmp edx,16+6*10 |
398 | jz butdone |
375 | jz butdone |
399 | 376 | ||
400 | jmp newbut |
377 | jmp newbut |
401 | 378 | ||
402 | butdone: |
379 | butdone: |
403 | 380 | ||
404 | 381 | ||
405 | mov eax,4 ; function 4 : write text to window |
382 | mov eax,4 ; function 4 : write text to window |
406 | mov ebx,10*65536+104 ; [x start] *65536 + [y start] |
383 | mov ebx,10*65536+104 ; [x start] *65536 + [y start] |
407 | mov ecx,0x00ffffff ; color of text RRGGBB |
384 | mov ecx,0x00ffffff ; color of text RRGGBB |
408 | mov edx,text ; pointer to text beginning |
385 | mov edx,text ; pointer to text beginning |
409 | mov esi,29 |
386 | mov esi,29 |
410 | int 0x40 |
387 | mcall |
411 | 388 | ||
412 | mov eax,8 ; function 8 : define and draw button |
389 | mov eax,8 ; function 8 : define and draw button |
413 | mov ebx,(5)*65536+185 ; [x start] *65536 + [x size] |
390 | mov ebx,(5)*65536+185 ; [x start] *65536 + [x size] |
414 | mov ecx,120*65536+14 ; [y start] *65536 + [y size] |
391 | mov ecx,120*65536+14 ; [y start] *65536 + [y size] |
415 | mov edx,101 ; button id |
392 | mov edx,101 ; button id |
416 | mov esi,[bcolor] ; button color RRGGBB |
393 | mov esi,[bcolor] ; button color RRGGBB |
417 | int 0x40 |
394 | mcall |
418 | 395 | ||
419 | call drawusedcard |
396 | call drawusedcard |
420 | 397 | ||
421 | mov eax,12 ; function 12:tell os about windowdraw |
398 | mov eax,12 ; function 12:tell os about windowdraw |
422 | mov ebx,2 ; 2, end of draw |
399 | mov ebx,2 ; 2, end of draw |
423 | int 0x40 |
400 | mcall |
424 | 401 | ||
425 | ret |
402 | ret |
426 | 403 | ||
427 | 404 | ||
428 | drawusedcard: |
405 | drawusedcard: |
429 | 406 | ||
430 | pusha |
407 | pusha |
431 | 408 | ||
432 | mov eax,13 |
409 | mov eax,13 |
433 | mov ebx,14*65536+160 |
410 | mov ebx,14*65536+160 |
434 | mov ecx,123*65536+10 |
411 | mov ecx,123*65536+10 |
435 | mov edx,[bcolor] |
412 | mov edx,[bcolor] |
436 | int 0x40 |
413 | mcall |
437 | 414 | ||
438 | mov eax,[usecard] |
415 | mov eax,[usecard] |
439 | mov edx,c3 |
416 | mov edx,c3 |
440 | 417 | ||
441 | cmp al,1 |
418 | cmp al,1 |
442 | jnz nosbc |
419 | jnz nosbc |
443 | mov edx,c1 |
420 | mov edx,c1 |
444 | nosbc: |
421 | nosbc: |
445 | cmp al,2 |
422 | cmp al,2 |
446 | jnz nosbcII |
423 | jnz nosbcII |
447 | mov edx,c2 |
424 | mov edx,c2 |
448 | nosbcII: |
425 | nosbcII: |
449 | cmp al,3 |
426 | cmp al,3 |
450 | jnz nowssc |
427 | jnz nowssc |
451 | mov edx,c3 |
428 | mov edx,c3 |
452 | nowssc: |
429 | nowssc: |
453 | 430 | ||
454 | mov eax,4 |
431 | mov eax,4 |
455 | mov ebx,14*65536+123 |
432 | mov ebx,14*65536+123 |
456 | mov ecx,0x00ffffff |
433 | mov ecx,0x00ffffff |
457 | mov esi,30 |
434 | mov esi,30 |
458 | int 0x40 |
435 | mcall |
459 | 436 | ||
460 | popa |
437 | popa |
461 | 438 | ||
462 | ret |
439 | ret |
463 | 440 | ||
464 | 441 | ||
465 | 442 | ||
466 | ; DATA AREA |
443 | ; DATA AREA |
467 | 444 | ||
468 | bcolor dd 0x5577c8 |
445 | bcolor dd 0x5577c8 |
469 | 446 | ||
470 | wcolor dd 0x03000000 |
447 | wcolor dd 0x13000000 |
471 | 448 | ||
472 | 449 | ||
473 | text: |
450 | text: |
474 | db 'MAIN CD WAVE MPU4 AUX1 AUX2' |
451 | db 'MAIN CD WAVE MPU4 AUX1 AUX2' |
475 | 452 | ||
476 | c1 db 'SOUND BLASTER 16 - MIXER I ' |
453 | c1 db 'SOUND BLASTER 16 - MIXER I ' |
477 | c2 db 'SOUND BLASTER 16 - MIXER II ' |
454 | c2 db 'SOUND BLASTER 16 - MIXER II ' |
478 | c3 db 'WINDOWS SOUND SYSTEM ' |
455 | c3 db 'WINDOWS SOUND SYSTEM ' |
479 | 456 | ||
480 | 457 | ||
481 | usecard dd 0x1 |
458 | usecard dd 0x1 |
482 | 459 | ||
483 | labelt: |
- | |
484 | db 'MIXER' |
460 | title db 'MIXER',0 |
485 | labellen: |
- | |
486 | 461 | ||
487 | I_END: |
462 | I_END: |