59,15 → 59,7 |
|
cmp ah,101 |
jnz nochange |
mov al,byte [usecard] |
cld |
inc al |
and al,3 |
cmp al,0 |
jnz nozer |
mov al,1 |
nozer: |
mov byte [usecard],al |
xor byte [usecard], 3 ; 1 <-> 2 |
|
call drawusedcard |
|
74,28 → 66,13 |
nochange: |
|
cmp byte [usecard],byte 1 |
jz usesb16 |
jnz usesb16II |
|
cmp byte [usecard],byte 2 |
jnz nousesb16II |
jmp usesb16II |
nousesb16II: |
|
cmp byte [usecard],byte 3 |
jnz nousewss |
jmp usewss |
nousewss: |
|
|
|
; SOUND BLASTER 16 |
|
|
usesb16: |
|
|
cld |
|
mov al,20 |
cmp ah,al |
jge nomain |
235,85 → 212,6 |
|
|
|
|
|
|
|
|
|
; WINDOWS SOUND SYSTEM |
|
usewss: |
|
cld |
|
mov al,20 |
cmp ah,al |
jge wnomain |
|
mov ecx,255 |
cmp ah,12 |
jnz wnomain12 |
mov ecx,200 |
wnomain12: |
cmp ah,13 |
jnz wnomain13 |
mov ecx,150 |
wnomain13: |
cmp ah,14 |
jnz wnomain14 |
mov ecx,70 |
wnomain14: |
cmp ah,15 |
jnz wnomain15 |
mov ecx,0 |
wnomain15: |
|
mov eax,27 |
mov ebx,1 |
mcall |
|
jmp still |
|
wnomain: |
|
mov al,30 |
cmp ah,al |
jge wnocd |
|
mov ecx,255 |
|
cmp ah,22 |
jnz wnocd12 |
mov ecx,200 |
wnocd12: |
cmp ah,23 |
jnz wnocd13 |
mov ecx,150 |
wnocd13: |
cmp ah,24 |
jnz wnocd14 |
mov ecx,70 |
wnocd14: |
cmp ah,25 |
jnz wnocd15 |
mov ecx,0 |
wnocd15: |
|
mov eax,27 |
mov ebx,2 |
mcall |
|
jmp still |
|
wnocd: |
|
|
jmp still |
|
|
|
|
; ********************************************* |
; ******* WINDOW DEFINITIONS AND DRAW ******** |
; ********************************************* |
335,38 → 233,31 |
|
|
mov edx,16 ; button id |
mov ebx,10*65536 |
mov ebx,10*65536+22 |
|
newbut: |
|
push edx |
push ebx |
|
mov esi,[bcolor] |
|
mov eax,8 ; function 8 : define and draw button |
mov bx,22 ; [x start] *65536 + [x size] |
mov ecx,35*65536+8 ; [y start] *65536 + [y size] |
dec edx |
mcall |
mov bx,22 ; [x start] *65536 + [x size] |
mov ecx,45*65536+8 ; [y start] *65536 + [y size] |
dec edx |
mcall |
mov bx,22 ; [x start] *65536 + [x size] |
mov ecx,55*65536+8 ; [y start] *65536 + [y size] |
dec edx |
mcall |
mov bx,22 ; [x start] *65536 + [x size] |
mov ecx,65*65536+8 ; [y start] *65536 + [y size] |
dec edx |
mcall |
mov bx,22 ; [x start] *65536 + [x size] |
mov ecx,75*65536+8 ; [y start] *65536 + [y size] |
dec edx |
mcall |
|
pop ebx |
pop edx |
|
add ebx,30*65536 |
373,13 → 264,9 |
add edx,10 |
|
cmp edx,16+6*10 |
jz butdone |
jnz newbut |
|
jmp newbut |
|
butdone: |
|
|
mov eax,4 ; function 4 : write text to window |
mov ebx,10*65536+104 ; [x start] *65536 + [y start] |
mov ecx,0x00ffffff ; color of text RRGGBB |
413,21 → 300,12 |
mov edx,[bcolor] |
mcall |
|
mov eax,[usecard] |
mov edx,c3 |
mov edx,c1 |
|
cmp al,1 |
jnz nosbc |
mov edx,c1 |
nosbc: |
cmp al,2 |
cmp [usecard],2 |
jnz nosbcII |
mov edx,c2 |
nosbcII: |
cmp al,3 |
jnz nowssc |
mov edx,c3 |
nowssc: |
|
mov eax,4 |
mov ebx,14*65536+123 |
453,14 → 331,10 |
|
c1 db 'SOUND BLASTER 16 - MIXER I ' |
c2 db 'SOUND BLASTER 16 - MIXER II ' |
c3 db 'WINDOWS SOUND SYSTEM ' |
|
|
usecard dd 0x1 |
usecard db 0x1 |
|
title db 'MIXER',0 |
|
I_END: |
|
|
|