Subversion Repositories Kolibri OS

Rev

Rev 203 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 203 Rev 227
Line 109... Line 109...
109
 
109
 
110
align 4
110
align 4
111
proc update_stream
111
proc update_stream
112
	   locals
112
	   locals
-
 
113
             stream_index  dd ?
-
 
114
             ev_code       dd ?  ;EVENT
-
 
115
             ev_offs       dd ?
113
             stream_index  dd ?
116
                           rd 4
Line 114... Line 117...
114
	   endl
117
	   endl
115
 
118
 
116
	   mov [stream_index], 0
119
	   mov [stream_index], 0
Line 174... Line 177...
174
	   dec [play_count]
177
	   dec [play_count]
175
	   jnz .l1
178
	   jnz .l1
Line 176... Line 179...
176
 
179
 
177
	   ret
180
	   ret
-
 
181
@@:
-
 
182
           mov [ev_code], 0xFF000001
178
@@:
183
           mov [ev_offs], ecx
-
 
184
           mov eax, [ebx+STREAM.notify_task]
179
           mov eax, [ebx+STREAM.notify_task]
185
 
-
 
186
           lea edx, [ev_code]
-
 
187
           push ebx
-
 
188
           stdcall SendEvent, eax, edx
180
           call pid_to_slot
189
           pop ebx
181
           test eax, eax
190
           test eax, eax
-
 
191
           jnz .l_end
182
           jnz @f
192
 
183
           not eax
193
           not eax
184
           mov [ebx+STREAM.notify_task], eax      ;-1
-
 
185
           jmp .l_end
-
 
186
@@:
-
 
187
           shl eax, 8
-
 
188
           mov [eax+PROC_BASE+32],ecx
-
 
189
           or dword [eax+PROC_BASE+0xA8],EVENT_NOTIFY
194
           mov [ebx+STREAM.notify_task], eax      ;-1
190
.l_end:
195
.l_end:
191
	   inc [stream_index]
196
	   inc [stream_index]
192
	   dec [play_count]
197
	   dec [play_count]
193
	   jnz .l1
198
	   jnz .l1
194
	   ret
199
	   ret
Line 195... Line 200...
195
endp
200
endp
196
 
201
 
197
align 4
-
 
198
proc refill stdcall, str:dword
202
align 4
-
 
203
proc refill stdcall, str:dword
199
 
204
	   locals
200
;    if DEBUG
205
             ev_code       dd ?  ;EVENT
201
;           mov    esi, msgUser
206
             ev_offs       dd ?
Line 202... Line 207...
202
;           call   [SysMsgBoardStr]
207
                           rd 4
203
;     end if
-
 
204
 
208
	   endl
205
	   mov ebx, [str]
209
 
206
 
210
	   mov ebx, [str]
207
	   mov ecx, [ebx+STREAM.work_write]
211
	   mov ecx, [ebx+STREAM.work_write]
208
	   cmp ecx, [ebx+STREAM.work_top]
212
	   cmp ecx, [ebx+STREAM.work_top]
Line 243... Line 247...
243
	   cmp eax, [ebx+STREAM.notify_off1]
247
	   cmp eax, [ebx+STREAM.notify_off1]
244
	   je @f
248
	   je @f
Line 245... Line 249...
245
 
249
 
246
	   ret
250
	   ret
-
 
251
@@:
-
 
252
           mov [ev_code], 0xFF000001
247
@@:
253
           mov [ev_offs], ecx
-
 
254
           mov eax, [ebx+STREAM.notify_task]
248
           mov eax, [ebx+STREAM.notify_task]
255
 
-
 
256
           lea edx, [ev_code]
-
 
257
           push ebx
-
 
258
           stdcall SendEvent, eax, edx
249
           call pid_to_slot
259
           pop ebx
250
           test eax, eax
260
           test eax, eax
251
           jnz @f
261
           jnz @F
252
           not eax
262
           not eax
253
           mov [ebx+STREAM.notify_task], eax      ;-1
-
 
254
           ret
263
           mov [ebx+STREAM.notify_task], eax      ;-1
255
@@:
-
 
256
           shl eax, 8
-
 
257
           mov [eax+PROC_BASE+32],ecx
-
 
258
           or dword [eax+PROC_BASE+0xA8],EVENT_NOTIFY
264
@@:
259
	   ret
265
	   ret
Line 260... Line 266...
260
endp
266
endp
261
 
267