Subversion Repositories Kolibri OS

Rev

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

Rev 1289 Rev 1290
Line 55... Line 55...
55
;;
55
;;
56
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
56
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Line 57... Line 57...
57
 
57
 
Line 58... Line 58...
58
include 'macros.inc'
58
include 'macros.inc'
Line 59... Line 59...
59
 
59
 
Line 60... Line 60...
60
$Revision: 1289 $
60
$Revision: 1290 $
Line 1753... Line 1753...
1753
; eax=4 load cursor
1753
; eax=4 load cursor
1754
; eax=5 set cursor
1754
; eax=5 set cursor
1755
; eax=6 delete cursor   ; reserved
1755
; eax=6 delete cursor   ; reserved
1756
; eax=7 get mouse_z
1756
; eax=7 get mouse_z
Line 1757... Line 1757...
1757
 
1757
 
1758
           cmp eax, 7
1758
           cmp ebx, 7
1759
           ja msset
1759
           ja msset
1760
           jmp [mousefn+eax*4]
1760
           jmp [mousefn+ebx*4]
1761
msscreen:
1761
msscreen:
1762
           mov  eax,[MOUSE_X]
1762
           mov  eax,[MOUSE_X]
1763
           shl  eax,16
1763
           shl  eax,16
1764
           mov  ax,[MOUSE_Y]
1764
           mov  ax,[MOUSE_Y]
1765
           mov  [esp+36],eax
1765
           mov  [esp+36-4],eax
1766
           ret
1766
           ret
1767
mswin:
1767
mswin:
1768
           mov  eax,[MOUSE_X]
1768
           mov  eax,[MOUSE_X]
1769
           shl  eax,16
1769
           shl  eax,16
Line 1778... Line 1778...
1778
           shl  edi,8
1778
           shl  edi,8
1779
           sub  ax,word[edi+SLOT_BASE+APPDATA.wnd_clientbox.top]
1779
           sub  ax,word[edi+SLOT_BASE+APPDATA.wnd_clientbox.top]
1780
           rol  eax,16
1780
           rol  eax,16
1781
           sub  ax,word[edi+SLOT_BASE+APPDATA.wnd_clientbox.left]
1781
           sub  ax,word[edi+SLOT_BASE+APPDATA.wnd_clientbox.left]
1782
           rol  eax,16
1782
           rol  eax,16
1783
           mov  [esp+36],eax
1783
           mov  [esp+36-4],eax
1784
           ret
1784
           ret
1785
msbutton:
1785
msbutton:
1786
           movzx eax,byte [BTN_DOWN]
1786
           movzx eax,byte [BTN_DOWN]
1787
           mov  [esp+36],eax
1787
           mov  [esp+36-4],eax
1788
           ret
1788
           ret
1789
msz:
1789
msz:
1790
           mov   edi, [TASK_COUNT]
1790
           mov   edi, [TASK_COUNT]
1791
           movzx edi, word [WIN_POS + edi*2]
1791
           movzx edi, word [WIN_POS + edi*2]
1792
           cmp   edi, [CURRENT_TASK]
1792
           cmp   edi, [CURRENT_TASK]
1793
           jne   @f
1793
           jne   @f
1794
           mov   ax,[MOUSE_SCROLL_H]
1794
           mov   ax,[MOUSE_SCROLL_H]
1795
           shl   eax,16
1795
           shl   eax,16
1796
           mov   ax,[MOUSE_SCROLL_V]
1796
           mov   ax,[MOUSE_SCROLL_V]
1797
           mov   [esp+36],eax
1797
           mov   [esp+36-4],eax
1798
           and   [MOUSE_SCROLL_H],word 0
1798
           and   [MOUSE_SCROLL_H],word 0
1799
           and   [MOUSE_SCROLL_V],word 0
1799
           and   [MOUSE_SCROLL_V],word 0
1800
           ret
1800
           ret
1801
       @@:
1801
       @@:
1802
           and  [esp+36],dword 0
1802
           and  [esp+36-4],dword 0
1803
;           ret
1803
;           ret
1804
msset:
1804
msset:
1805
           ret
1805
           ret
Line 1806... Line 1806...
1806
 
1806
 
1807
app_load_cursor:
1807
app_load_cursor:
1808
      ;     add ebx, new_app_base
1808
      ;     add ebx, new_app_base
1809
           cmp ebx, OS_BASE
1809
           cmp ecx, OS_BASE
1810
           jae msset
1810
           jae msset
1811
           stdcall load_cursor, ebx, ecx
1811
           stdcall load_cursor, ecx, edx
1812
           mov [esp+36], eax
1812
           mov [esp+36-4], eax
Line 1813... Line 1813...
1813
           ret
1813
           ret
1814
 
1814
 
1815
app_set_cursor:
1815
app_set_cursor:
1816
           stdcall set_cursor, ebx
1816
           stdcall set_cursor, ecx
Line 1817... Line 1817...
1817
           mov [esp+36], eax
1817
           mov [esp+36-4], eax
1818
           ret
1818
           ret
1819
 
1819
 
1820
app_delete_cursor:
1820
app_delete_cursor:
Line 1821... Line 1821...
1821
           stdcall delete_cursor, ebx
1821
           stdcall delete_cursor, ecx
Line 1822... Line 1822...
1822
           mov [esp+36], eax
1822
           mov [esp+36-4], eax
Line 5165... Line 5165...
5165
 
5165
 
Line 5166... Line 5166...
5166
align 4
5166
align 4
Line 5167... Line 5167...
5167
 
5167
 
5168
syscall_cdaudio:                        ; CD
5168
syscall_cdaudio:                        ; CD
5169
 
5169
 
5170
        cmp     eax, 4
5170
        cmp     ebx, 4
5171
        jb      .audio
5171
        jb      .audio
5172
        jz      .eject
5172
        jz      .eject
5173
        cmp     eax, 5
5173
        cmp     ebx, 5
5174
        jnz     .ret
5174
        jnz     .ret
5175
.load:
5175
.load:
-
 
5176
        call    .reserve
5176
        call    .reserve
5177
        call    LoadMedium
5177
        call    LoadMedium
5178
        ;call    .free
5178
        call    .free
5179
		jmp		.free
5179
        ret
5180
;        ret
5180
.eject:
5181
.eject:
5181
        call    .reserve
5182
        call    .reserve
5182
        call    clear_CD_cache
5183
        call    clear_CD_cache
-
 
5184
        call    allow_medium_removal
5183
        call    allow_medium_removal
5185
        call    EjectMedium
5184
        call    EjectMedium
5186
;        call    .free
5185
        call    .free
5187
		jmp		.free
5186
        ret
5188
;        ret
5187
.audio:
5189
.audio:
5188
     call  sys_cd_audio
5190
     call  sys_cd_audio
Line 5189... Line 5191...
5189
     mov   [esp+36],eax
5191
     mov   [esp+36-4],eax
5190
.ret:
5192
.ret:
5191
     ret
5193
     ret
5192
 
5194
 
5193
.reserve:
5195
.reserve:
5194
        call    reserve_cd
5196
        call    reserve_cd
5195
        mov     eax, ebx
5197
        mov     eax, ecx
5196
        shr     eax, 1
5198
        shr     eax, 1
5197
        and     eax, 1
5199
        and     eax, 1
5198
        inc     eax
5200
        inc     eax
5199
        mov     [ChannelNumber], ax
5201
        mov     [ChannelNumber], ax
5200
        mov     eax, ebx
5202
        mov     eax, ecx
5201
        and     eax, 1
5203
        and     eax, 1
Line 5208... Line 5210...
5208
        mov     cl, 8
5210
        mov     cl, 8
5209
        sub     cl, bl
5211
        sub     cl, bl
5210
        mov     al, [DRIVE_DATA+1]
5212
        mov     al, [DRIVE_DATA+1]
5211
        shr     al, cl
5213
        shr     al, cl
5212
        test    al, 2
5214
        test    al, 2
5213
        jz      .err
5215
        jz      .free;.err
5214
        ret
5216
        ret
5215
.free:
5217
.free:
5216
        call    free_cd_channel
5218
        call    free_cd_channel
5217
        and     [cd_status], 0
5219
        and     [cd_status], 0
5218
        ret
5220
        ret
5219
.err:
5221
.err:
5220
        call    .free
5222
        call    .free
5221
        pop     eax
5223
;        pop     eax
5222
        ret
5224
        ret
Line 5223... Line 5225...
5223
 
5225
 
Line 5224... Line 5226...
5224
align 4
5226
align 4