Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | Download | RSS feed

  1. format MS COFF
  2.  
  3. include "snd.inc"
  4. include "proc32.inc"
  5.  
  6. section '.text' align 16 code readable executable
  7.  
  8. public _SetTimeBase@12
  9. public _GetTimeStamp@8
  10. public _GetDevTime@4
  11.  
  12. extrn hSound
  13. extrn hrdwSound
  14.  
  15. align 4
  16. _SetTimeBase@12:       ;stdcall str:dword, timebase:qword
  17.  
  18.            push ebx
  19.            push ecx
  20.  
  21.            xor eax, eax
  22.            lea ebx, [esp+12]    ;[stream]
  23.  
  24.            push eax             ;.out_size
  25.            push eax             ;.output
  26.            push 12              ;.inp_size
  27.            push ebx             ;.input
  28.            push SND_SETTIMEBASE ;.code
  29.            push dword [hSound]  ;.handle
  30.  
  31.            mov eax, 68
  32.            mov ebx, 17
  33.            mov ecx, esp
  34.            int 0x40
  35.            add esp, 24
  36.            pop ecx
  37.            pop ebx
  38.            ret 12
  39.  
  40. align 4
  41. _GetTimeStamp@8: ; stdcall, str:dword, pstamp:dword
  42.  
  43.            push ebx
  44.            push ecx
  45.  
  46.            lea ebx, [esp+12]      ;[stream]
  47.            mov eax, [esp+16]      ;[pstamp]
  48.  
  49.            push 8                 ;.out_size
  50.            push eax               ;.output
  51.            push 4                 ;.inp_size
  52.            push ebx               ;.input
  53.            push SND_GETTIMESTAMP  ;.code
  54.            push dword [hSound]    ;.handle
  55.  
  56.            mov eax, 68
  57.            mov ebx, 17
  58.            mov ecx, esp
  59.            int 0x40
  60.            add esp, 24
  61.            pop ecx
  62.            pop ebx
  63.            ret 8
  64.  
  65. align 4
  66. _GetDevTime@4: ; pstamp:dword
  67.  
  68.            push ebx
  69.            push ecx
  70.  
  71.            xor ebx, ebx
  72.            mov eax, [esp+12]      ;[pstamp]
  73.  
  74.            push 4                 ;.out_size
  75.            push eax               ;.output
  76.            push ebx               ;.inp_size
  77.            push ebx               ;.input
  78.            push 9                 ;.code
  79.            push dword [hrdwSound] ;.handle
  80.  
  81.            mov eax, 68
  82.            mov ebx, 17
  83.            mov ecx, esp
  84.            int 0x40
  85.            add esp, 24
  86.            pop ecx
  87.            pop ebx
  88.            ret 4
  89.  
  90.  
  91.