Subversion Repositories Kolibri OS

Rev

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

Rev 2455 Rev 5077
Line 1... Line 1...
1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2
;;                                                              ;;
2
;;                                                              ;;
3
;; Copyright (C) KolibriOS team 2006-2011. All rights reserved. ;;
3
;; Copyright (C) KolibriOS team 2006-2014. All rights reserved. ;;
4
;; Distributed under terms of the GNU General Public License    ;;
4
;; Distributed under terms of the GNU General Public License    ;;
5
;;                                                              ;;
5
;;                                                              ;;
6
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
6
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Line 7... Line 7...
7
 
7
 
Line 25... Line 25...
25
        cmp     [play_count], 0
25
        cmp     [play_count], 0
26
        je      .clear
26
        je      .clear
Line 27... Line 27...
27
 
27
 
28
        lea     eax, [fpu_state+16]
28
        lea     eax, [fpu_state+16]
29
        and     eax, -16            ;must be 16b aligned
29
        and     eax, -16            ;must be 16b aligned
Line 30... Line 30...
30
        call    FpuSave
30
        invoke  FpuSave
31
 
31
 
32
        call    update_streams
32
        call    update_streams
33
.mix:
33
.mix:
Line 64... Line 64...
64
        dec     [main_count]
64
        dec     [main_count]
65
        jnz     .mix
65
        jnz     .mix
66
.exit:
66
.exit:
67
        lea     eax, [fpu_state+16]
67
        lea     eax, [fpu_state+16]
68
        and     eax, -16
68
        and     eax, -16
69
        call    FpuRestore
69
        invoke  FpuRestore
70
        ret
70
        ret
71
.done:
71
.done:
72
        mov     ecx, [main_count]
72
        mov     ecx, [main_count]
73
        shl     ecx, 7    ;ecx*= 512/4
73
        shl     ecx, 7    ;ecx*= 512/4
Line 194... Line 194...
194
        jz      .exit
194
        jz      .exit
Line 195... Line 195...
195
 
195
 
196
        mov     ebx, [ebx+STREAM.notify_id]
196
        mov     ebx, [ebx+STREAM.notify_id]
197
        mov     edx, EVENT_WATCHED
197
        mov     edx, EVENT_WATCHED
198
        xor     esi, esi
198
        xor     esi, esi
199
        call    RaiseEvent   ;eax, ebx, edx, esi
199
        invoke  RaiseEvent   ;eax, ebx, edx, esi
200
.exit:
200
.exit:
201
        ret
201
        ret
Line 202... Line 202...
202
endp
202
endp
Line 265... Line 265...
265
        test    eax, eax
265
        test    eax, eax
266
        jz      .exit
266
        jz      .exit
Line 267... Line 267...
267
 
267
 
268
        mov     ebx, [ebx+STREAM.notify_id]
268
        mov     ebx, [ebx+STREAM.notify_id]
269
        xor     edx, edx
269
        xor     edx, edx
270
        call    RaiseEvent   ;eax, ebx, edx, esi
270
        invoke  RaiseEvent   ;eax, ebx, edx, esi
271
.exit:
271
.exit:
272
        ret
272
        ret
Line 273... Line 273...
273
endp
273
endp