;Copyright (C) 1997-2005 ZSNES Team ( zsKnight, _Demo_, pagefault, Nach ) ; ;http://www.zsnes.com ;http://sourceforge.net/projects/zsnes ; ;This program is free software; you can redistribute it and/or ;modify it under the terms of the GNU General Public License ;as published by the Free Software Foundation; either ;version 2 of the License, or (at your option) any later ;version. ; ;This program is distributed in the hope that it will be useful, ;but WITHOUT ANY WARRANTY; without even the implied warranty of ;MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;GNU General Public License for more details. ; ;You should have received a copy of the GNU General Public License ;along with this program; if not, write to the Free Software ;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ;******************************************************* ; InitReg Initializes Registers ;******************************************************* %macro setreg 2 mov edi,%1 add edi,[regptr] mov eax,%2 mov [edi],eax %endmacro ;******************************************************* ; Registers Note : Remember to restore AH, ECX, & DX ;******************************************************* %macro checkmultchange 0 ; execute multiplication cmp byte[multchange],0 je .nomult push edx push eax xor bh,bh mov bl,[mode7B+1] mov ax,[mode7A] test bl,80h jz .noneg mov bh,0FFh .noneg imul bx mov [compmult],ax mov [compmult+2],dl pop eax pop edx mov byte[multchange],0 .nomult %endmacro %macro mouse4016doxA 2 cmp byte[JoyAPos],%1 jne .nx7 mov bx,[mousexpos] shr bx,%2 and bx,1 mov al,bl .nx7 %endmacro %macro mouse4016doyA 2 cmp byte[JoyAPos],%1 jne .ny7 mov bx,[mouseypos] shr bx,%2 and bx,1 mov al,bl .ny7 %endmacro %macro mouse4017dox 2 cmp byte[JoyBPos],%1 jne .nx7 mov bx,[mousexpos] shr bx,%2 and bx,1 mov al,bl .nx7 %endmacro %macro mouse4017doy 2 cmp byte[JoyBPos],%1 jne .ny7 mov bx,[mouseypos] shr bx,%2 and bx,1 mov al,bl .ny7 %endmacro