home *** CD-ROM | disk | FTP | other *** search
- ; ndpp -X22 -X59 -X171 -X210 -X214 -X215 -X226 -X239 -X325 -X328 -X334 -X335
- ; -X357 -X358 -X382 -X502 -X505 -X510
- name mouse.p
- .387
- assume cs:codeseg
- assume ds:dataseg
- codeseg segment dword er use32 public 'code'
- dataseg segment dword rw use32 public 'data'
-
- dataseg ends
- align 4
- _init_mouse proc near
-
- ; .bf: ;
-
- cmp dword ptr ds:_a,0
- jne L5
- push 4
- push 1
- call _calloc
- add esp,8
- mov dword ptr ds:_a,eax
- push 4
- push 1
- call _calloc
- add esp,8
- mov dword ptr ds:_b,eax
- push 4
- push 1
- call _calloc
- add esp,8
- mov dword ptr ds:_c,eax
- push 4
- push 1
- call _calloc
- add esp,8
- mov dword ptr ds:_d,eax
- align 4
- L5:
-
- mov eax,dword ptr ds:_a
- mov dword ptr [eax],0
- push dword ptr ds:_d
- push dword ptr ds:_c
- push dword ptr ds:_b
- push dword ptr ds:_a
- call _mouse
- add esp,16
- mov eax,dword ptr ds:_a
- cmp dword ptr [eax],-1
- jne L4 short
- mov eax,dword ptr ds:_b
- mov eax,[eax]
- ret
- align 4
-
-
- align 4
- L4:
-
- xor eax,eax
- align 4
- L2:
-
- align 4
- L1:
-
- ; .ef: ;
-
- ret
- align 4
-
- align 4
- _init_mouse endp
- dataseg segment dword rw use32 public 'data'
-
- dataseg ends
- align 4
- _show_mouse_cursor proc near
-
- ; .bf: ;
-
- mov eax,dword ptr ds:_a
- mov dword ptr [eax],1
- push dword ptr ds:_d
- push dword ptr ds:_c
- push dword ptr ds:_b
- push dword ptr ds:_a
- call _mouse
- add esp,16
- ; .ef: ;
-
- ret
- align 4
-
- align 4
- _show_mouse_cursor endp
- dataseg segment dword rw use32 public 'data'
-
- dataseg ends
- align 4
- _hide_mouse_cursor proc near
-
- ; .bf: ;
-
- mov eax,dword ptr ds:_a
- mov dword ptr [eax],2
- push dword ptr ds:_d
- push dword ptr ds:_c
- push dword ptr ds:_b
- push dword ptr ds:_a
- call _mouse
- add esp,16
- ; .ef: ;
-
- ret
- align 4
-
- align 4
- _hide_mouse_cursor endp
- dataseg segment dword rw use32 public 'data'
-
- dataseg ends
- align 4
- _get_mouse proc near
-
- mov eax,[esp]+4
- ; .bf: ;
-
- mov ecx,dword ptr ds:_a
- mov dword ptr [ecx],3
- push dword ptr [esp]+12
- push dword ptr [esp]+12
- push eax
- push dword ptr ds:_a
- call _mouse
- add esp,16
- ; .ef: ;
-
- ret
- align 4
-
- align 4
- _get_mouse endp
- dataseg segment dword rw use32 public 'data'
-
-
- ;_i eax local
- ;_j [esp]+8 local
- ;_k [esp]+12 local
- dataseg ends
- align 4
- _set_mouse proc near
-
- mov eax,[esp]+4
- ; .bf: ;
-
- mov ecx,dword ptr ds:_a
- mov dword ptr [ecx],4
- push dword ptr [esp]+8
- push eax
- push dword ptr ds:_b
- push dword ptr ds:_a
- call _mouse
- add esp,16
- ; .ef: ;
-
- ret
- align 4
-
- align 4
- _set_mouse endp
- dataseg segment dword rw use32 public 'data'
-
-
- ;_i eax local
- ;_j [esp]+8 local
- dataseg ends
- align 4
- _get_press proc near
-
- mov eax,[esp]+4
- ; .bf: ;
-
- mov ecx,[esp]+8
- mov edx,[eax]
- mov [ecx],edx
- mov dword ptr [eax],5
- push dword ptr [esp]+16
- push dword ptr [esp]+16
- push dword ptr [esp]+16
- push eax
- call _mouse
- add esp,16
- ; .ef: ;
-
- ret
- align 4
-
- align 4
- _get_press endp
- dataseg segment dword rw use32 public 'data'
-
-
- ;_i eax local
- ;_j [esp]+8 local
- ;_k [esp]+12 local
- ;_l [esp]+16 local
- dataseg ends
- align 4
- _get_release proc near
-
- mov eax,[esp]+4
- ; .bf: ;
-
- mov ecx,[esp]+8
- mov edx,[eax]
- mov [ecx],edx
- mov dword ptr [eax],6
- push dword ptr [esp]+16
- push dword ptr [esp]+16
- push dword ptr [esp]+16
- push eax
- call _mouse
- add esp,16
- ; .ef: ;
-
- ret
- align 4
-
- align 4
- _get_release endp
- dataseg segment dword rw use32 public 'data'
-
-
- ;_i eax local
- ;_j [esp]+8 local
- ;_k [esp]+12 local
- ;_l [esp]+16 local
- dataseg ends
- align 4
- _mouse_viewport proc near
-
- mov eax,[esp]+4
- ; .bf: ;
-
- mov ecx,dword ptr ds:_a
- mov dword ptr [ecx],7
- push dword ptr [esp]+8
- push eax
- push dword ptr ds:_b
- push dword ptr ds:_a
- call _mouse
- add esp,16
- mov eax,dword ptr ds:_a
- mov dword ptr [eax],8
- push dword ptr [esp]+16
- push dword ptr [esp]+16
- push dword ptr ds:_b
- push dword ptr ds:_a
- call _mouse
- add esp,16
- ; .ef: ;
-
- ret
- align 4
-
- align 4
- _mouse_viewport endp
- dataseg segment dword rw use32 public 'data'
-
-
- ;_i eax local
- ;_j [esp]+8 local
- ;_k [esp]+12 local
- ;_l [esp]+16 local
- dataseg ends
- align 4
- _read_motion proc near
-
- push ebx
- mov ebx,[esp]+8
- ; .bf: ;
-
- mov eax,dword ptr ds:_a
- mov dword ptr [eax],11
- mov dword ptr [ebx],0
- mov eax,[esp]+12
- mov dword ptr [eax],0
- push dword ptr [esp]+12
- push ebx
- push dword ptr ds:_b
- push dword ptr ds:_a
- call _mouse
- add esp,16
- cmp dword ptr [ebx],32767
- jle L41 short
- sub dword ptr [ebx],65536
- align 4
- L41:
-
- mov eax,[esp]+12
- cmp dword ptr [eax],32767
- jle L39 short
- mov eax,[esp]+12
- sub dword ptr [eax],65536
- align 4
- L39:
-
- ; .ef: ;
-
- pop ebx
- ret
- align 4
-
- align 4
- _read_motion endp
- dataseg segment dword rw use32 public 'data'
-
-
- ;_i ebx local
- ;_j [esp]+12 local
- dataseg ends
- align 4
- _set_mp_ratio proc near
-
- mov eax,[esp]+4
- ; .bf: ;
-
- mov ecx,dword ptr ds:_a
- mov dword ptr [ecx],15
- push dword ptr [esp]+8
- push eax
- push dword ptr ds:_b
- push dword ptr ds:_a
- call _mouse
- add esp,16
- ; .ef: ;
-
- ret
- align 4
-
- align 4
- _set_mp_ratio endp
- dataseg segment dword rw use32 public 'data'
-
-
- ;_i eax local
- ;_j [esp]+8 local
- dataseg ends
- align 4
- _set_mouse_cursor proc near
-
- mov eax,[esp]+4
- ; .bf: ;
-
- mov ecx,dword ptr ds:_a
- mov dword ptr [ecx],9
- mov ecx,dword ptr ds:_b
- mov edx,[eax]
- mov [ecx],edx
- mov eax,dword ptr ds:_c
- mov ecx,[esp]+8
- mov edx,[ecx]
- mov [eax],edx
- mov eax,dword ptr ds:_d
- mov ecx,[esp]+12
- mov edx,[ecx]
- mov [eax],edx
- push dword ptr ds:_d
- push dword ptr ds:_c
- push dword ptr ds:_b
- push dword ptr ds:_a
- call _mouse
- add esp,16
- ; .ef: ;
-
- ret
- align 4
-
- align 4
- _set_mouse_cursor endp
- dataseg segment dword rw use32 public 'data'
-
-
- ;_i eax local
- ;_j [esp]+8 local
- ;_k [esp]+12 local
- dataseg ends
- align 4
- _set_subroutine proc near
-
- push ebx
- mov eax,[esp]+8
- ; .bf: ;
-
- mov ecx,dword ptr ds:_a
- mov dword ptr [ecx],12
- mov ecx,dword ptr ds:_b
- mov ebx,[esp]+16
- mov edx,[ebx]
- mov [ecx],edx
- mov ecx,dword ptr ds:_c
- mov edx,[eax]
- mov [ecx],edx
- mov eax,dword ptr ds:_d
- mov ecx,[esp]+12
- mov edx,[ecx]
- mov [eax],edx
- push dword ptr ds:_d
- push dword ptr ds:_c
- push dword ptr ds:_b
- push dword ptr ds:_a
- call _mouse
- add esp,16
- ; .ef: ;
-
- pop ebx
- ret
- align 4
-
- align 4
- _set_subroutine endp
- dataseg segment dword rw use32 public 'data'
-
-
- ;_i eax local
- ;_j [esp]+12 local
- ;_k [esp]+16 local
- dataseg ends
- dataseg segment dword rw use32 public 'data'
-
- ;__argc __argc import
- ;__input __input import
- ;__output __output import
- dataseg ends
- extrn _mouse:near
- extrn _calloc:near
- dataseg segment dword rw use32 public 'data'
-
- comm near _d:dword
- comm near _c:dword
- comm near _b:dword
- comm near _a:dword
- public _set_subroutine
- public _set_mouse_cursor
- public _set_mp_ratio
- public _read_motion
- public _mouse_viewport
- public _get_release
- public _get_press
- public _set_mouse
- public _get_mouse
- public _hide_mouse_cursor
- public _show_mouse_cursor
- public _init_mouse
- dataseg ends
- codeseg ends
- end
-