17,6 → 17,7 |
|
include 'proc32.inc' |
include 'main.inc' |
include 'imports.inc' |
|
DEBUG equ 1 |
|
30,25 → 31,6 |
public service_proc |
public version |
|
extrn AttachIntHandler |
extrn SysMsgBoardStr |
extrn PciApi |
extrn PciRead32 |
extrn PciRead8 |
extrn PciWrite8 |
extrn AllocKernelSpace |
extrn MapPage |
extrn RegService |
extrn KernelAlloc |
extrn KernelFree |
extrn GetPgAddr |
extrn GetCurrentTask |
extrn GetService |
extrn ServiceHandler |
extrn FpuSave |
extrn FpuRestore |
extrn SendEvent |
|
SND_CREATE_BUFF equ 2 |
SND_PLAY equ 3 |
SND_STOP equ 4 |
212,13 → 194,17 |
|
mov edi, [str] |
mov [edi+STREAM.base], eax |
mov [edi+STREAM.seg_0], eax |
mov [edi+STREAM.curr_seg], eax |
mov [edi+STREAM.notify_off1], eax |
add eax, 0x8000 |
add eax, 0x7FFF |
mov [edi+STREAM.lim_0], eax |
inc eax |
mov [edi+STREAM.seg_1], eax |
mov [edi+STREAM.notify_off2], eax |
add eax, 0x7FFF |
mov [edi+STREAM.limit], eax |
|
mov [edi+STREAM.lim_1], eax |
inc eax |
|
mov [edi+STREAM.work_buff], eax |
266,7 → 252,6 |
|
mov eax, [str] |
ret |
|
.fail: |
xor eax, eax |
ret |
367,7 → 352,7 |
mov [ebx+STREAM.work_write], eax |
mov [ebx+STREAM.work_count], 0 |
|
mov eax, [ebx+STREAM.base] |
mov eax, [ebx+STREAM.seg_0] |
mov [ebx+STREAM.curr_seg], eax |
|
mov esi, [ebx+STREAM.curr_seg] |
520,6 → 505,7 |
ret |
endp |
|
if 0 |
align 4 |
proc check_stream |
|
529,11 → 515,15 |
mov esi, [play_list+edx] |
|
mov eax, [esi+STR.curr_seg] |
cmp eax, [esi+STR.limit] |
cmp eax, [esi+STR.lim_0] |
jb .next |
|
.m1: |
mov eax,[esi+STR.base] |
mov eax, [esi+STREAM.seg_0] |
mov ecx, [esi+STREAM.lim_0] |
xchg eax, [ebx+STREAM.seg_1] |
xchg ecx, [ebx+STREAM.lim_1] |
mov [esi+STREAM.seg_0], eax |
mov [esi+STREAM.lim_0], ecx |
mov [esi+STR.curr_seg], eax |
.next: |
add edx, 4 |
540,8 → 530,8 |
loop .l1 |
ret |
endp |
end if |
|
|
align 4 |
proc prepare_playlist |
|
733,7 → 723,7 |
mm_mask dq 0xFF00FF00FF00FF00 |
|
stream_map dd 0xFFFF ; 16 |
version dd 0x00010001 |
version dd 0x00020002 |
|
szInfinity db 'INFINITY',0 |
szSound db 'SOUND',0 |