Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 567 → Rev 568

/kernel/trunk/drivers/infinity.asm
322,13 → 322,12
jnz .test_ring
;staic
test eax, PCM_STATIC
jz .fail
test eax, PCM_OUT+PCM_RING
jnz .fail
jz .test_out ;use PCM_OUT as default format
jmp .test_ok
.test_out:
test eax, PCM_RING+PCM_STATIC
jnz .fail
or [format], PCM_OUT ;force set
jmp .test_ok
.test_ring:
test eax, PCM_OUT+PCM_STATIC
621,8 → 620,8
 
mov edx, [str]
mov eax, [edx+STREAM.format]
test eax, PCM_STATIC+PCM_RING
jnz .fail
test eax, PCM_OUT
jz .fail
 
cmp ax, PCM_ALL
je .fail
786,8 → 785,8
proc SetBufferPos stdcall, str:dword, pos:dword
 
mov edx, [str]
test [edx+STREAM.format], PCM_OUT+PCM_RING
jnz .fail
test [edx+STREAM.format], PCM_STATIC
jz .fail
 
mov [edx+STREAM.flags], SND_STOP
 
813,8 → 812,8
proc GetBufferPos stdcall, str:dword
 
mov edx, [str]
test [edx+STREAM.format], PCM_OUT+PCM_RING
jnz .fail
test [edx+STREAM.format], PCM_STATIC
jz .fail
 
mov ebx, [edx+STREAM.in_rp]
sub ebx, [edx+STREAM.in_base]
940,9 → 939,6
 
align 4
proc play_buffer stdcall, str:dword, flags:dword
locals
fpu_state rb 528
endl
 
mov ebx, [str]
mov eax, [ebx+STREAM.format]
/kernel/trunk/drivers/mixer.asm
74,9 → 74,7
proc update_stream
locals
stream_index dd ?
ev_code dd ? ;EVENT
ev_offs dd ?
rd 4
event rd 6
endl
 
mov [stream_index], 0
112,6 → 110,7
jmp .skip
.copy:
mov ebx, esi
mov esi, [ebx+STREAM.in_rp]
mov edi, [ebx+STREAM.out_wp]
cmp edi, [ebx+STREAM.out_top]
jb @f
119,23 → 118,58
sub edi, 64*1024
mov [ebx+STREAM.out_wp], edi
@@:
mov esi, [ebx+STREAM.in_rp]
mov ecx, 16384/4
test [ebx+STREAM.format], PCM_RING
jnz .stream
 
mov ecx, [ebx+STREAM.in_count]
test ecx, ecx
jz .done
 
cmp ecx, 16384
jbe @F
mov ecx, 16386
@@:
sub [ebx+STREAM.in_count], ecx
.stream:
add [ebx+STREAM.in_free], ecx
add [ebx+STREAM.out_count], ecx
 
shr ecx, 2
cld
rep movsd
 
mov [ebx+STREAM.out_wp], edi
 
cmp esi, [ebx+STREAM.in_top]
jb @f
 
sub esi, 0x10000
sub esi, [ebx+STREAM.in_size]
@@:
mov [ebx+STREAM.in_rp], esi
test [ebx+STREAM.format], PCM_RING
jz .done
 
sub esi, [ebx+STREAM.in_base]
sub esi, 128
lea edx, [event]
 
mov dword [edx], RT_INP_EMPTY
mov dword [edx+4], 0
mov dword [edx+8], ebx
mov dword [edx+12], esi
 
mov eax, [ebx+STREAM.notify_event]
test eax, eax
jz .l_end
 
mov ebx, [ebx+STREAM.notify_id]
xor ecx, ecx
call RaiseEvent ;eax, ebx, ecx, edx
jmp .l_end
.done:
mov eax, [ebx+STREAM.notify_event]
test eax, eax
jz .l_end
 
mov ebx, [ebx+STREAM.notify_id]
mov ecx, EVENT_WATCHED
xor edx, edx
151,7 → 185,6
proc refill stdcall, str:dword
locals
r_size rd 1
event rd 6
endl
 
mov ebx, [str]
/kernel/trunk/drivers/sound.asm
750,7 → 750,7
 
if 0
 
;;patch for some ugly BIOS
;;patch for some ugly BIOS ICH-ICH5 compatible
cmp [ctrl.vendor], VID_INTEL
jne .default