/kernel/trunk/drivers/infinity.asm |
---|
359,6 → 359,9 |
cmp [edi+out_size], 8 |
jne .fail |
pushfd |
cli |
xor ebx, ebx |
push 48 |
push ebx ; local storage |
392,6 → 395,7 |
@@: |
mov edi, [edi+output] |
emms |
fild qword [edx+STREAM.time_stamp] |
fiadd dword [esp] ; primary buffer offset |
fidiv dword [esp+4] ; total_samples / frequency |
399,6 → 403,8 |
fstp qword [edi] |
add esp, 8 |
popfd |
xor eax, eax |
ret |
endp |
547,6 → 553,7 |
mov dword [edi+STREAM.time_stamp], ebx |
mov dword [edi+STREAM.time_stamp+4], ebx |
mov dword [edi+STREAM.last_ts], ebx |
stdcall AllocPages, dword 64/4 |
mov edi, [str] |
/kernel/trunk/drivers/main.inc |
---|
127,6 → 127,7 |
.time_base dq ? |
.time_stamp dq ? |
.last_ts dd ? |
.notify_event dd ? |
.notify_id dd ? |
/kernel/trunk/drivers/mixer.asm |
---|
100,6 → 100,7 |
add dword [esi+STREAM.time_stamp], 4096 |
adc dword [esi+STREAM.time_stamp+4], 0 |
mov dword [esi+STREAM.last_ts], 0 |
mov eax, [esi+STREAM.out_rp] |
cmp eax, [esi+STREAM.out_top] |
/kernel/trunk/drivers/sound.asm |
---|
459,10 → 459,12 |
cmp eax, DEV_GET_POS |
jne @F |
mov ebx, 4096 |
mov ebx, 8192 |
mov edx, 0x18 |
xor eax, eax |
call [ctrl.ctrl_read16] |
sub ebx, eax |
shr ebx, 1 |
mov edx, [edi+output] |
mov [edx], ebx |
xor eax, eax |