Subversion Repositories Kolibri OS

Rev

Rev 374 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 374 Rev 376
Line 9... Line 9...
9
 
9
 
10
public _SetBuffer@16
10
public _SetBuffer@16
Line 11... Line 11...
11
public _PlayBuffer@8
11
public _PlayBuffer@8
12
 
12
 
13
align 4
-
 
14
proc _SetBuffer@16 stdcall,str:dword, src:dword, offs:dword, size:dword
-
 
15
           locals
-
 
16
             handle     dd ?
-
 
17
             io_code    dd ?
-
 
18
             input      dd ?
-
 
19
             inp_size   dd ?
-
 
20
             output     dd ?
-
 
Line 21... Line 13...
21
             out_size   dd ?
13
align 4
22
           endl
14
_SetBuffer@16:   ;str:dword, src:dword, offs:dword, size:dword
-
 
15
 
23
 
16
           push ebx
24
           push ebx
17
           push ecx
25
           push ecx
-
 
26
           mov eax, [hSound]
18
           
27
           lea ebx, [str]
19
           xor eax, eax
28
           xor ecx, ecx
20
           lea ebx, [esp+12]   ;[stream]
29
 
21
 
30
           mov [handle], eax
22
           push eax            ;.out_size
31
           mov [io_code], SND_SETBUFF
23
           push eax            ;.output
32
           mov [input], ebx
24
           push 16             ;.inp_size
Line 33... Line 25...
33
           mov [inp_size], 16
25
           push ebx            ;.input
34
           mov [output], ecx
26
           push SND_SETBUFF    ;.code
35
           mov [out_size], ecx
27
           push dword [hSound] ;.handle
36
 
28
 
-
 
29
           mov eax, 68
37
           mov eax, 68
30
           mov ebx, 17
38
           mov ebx, 17
31
           mov ecx, esp
39
           lea ecx, [handle]
32
           int 0x40
40
           int 0x40
-
 
Line 41... Line 33...
41
           pop ecx 
33
           add esp, 24
42
           pop ebx
34
           pop ecx 
43
           ret
-
 
44
endp
-
 
45
 
-
 
46
align 4
-
 
47
proc _PlayBuffer@8 stdcall, str:dword,flags:dword
-
 
48
           locals
-
 
49
             handle     dd ?
-
 
50
             io_code    dd ?
-
 
Line 51... Line 35...
51
             input      dd ?
35
           pop ebx
52
             inp_size   dd ?
36
           ret 16
-
 
37
           
53
             output     dd ?
38
align 4
54
             out_size   dd ?
39
_PlayBuffer@8:          ;str:dword,flags:dword
55
           endl
-
 
56
 
40
 
57
           push ebx
41
           push ebx
58
           push ecx
42
           push ecx
59
           mov eax, [hSound]
43
 
60
           lea ebx, [str]
44
           xor eax, eax
61
           xor ecx, ecx
45
           lea ebx, [esp+12]   ;[stream]
62
 
46
 
Line 63... Line 47...
63
           mov [handle], eax
47
           push eax            ;.out_size
64
           mov [io_code], SND_PLAY
48
           push eax            ;.output
65
           mov [input], ebx
49
           push 8              ;.inp_size
66
           mov [inp_size], 4
50
           push ebx            ;.input
-
 
51
           push SND_PLAY       ;.code
67
           mov [output], ecx
52
           push dword [hSound] ;.handle
68
           mov [out_size], ecx
53
 
69
 
54
           mov eax, 68
70
           mov eax, 68
55
           mov ebx, 17