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 |