www.pudn.com > zsnes117b-src.zip > regs.mac


;Copyright (C) 1997-2001 ZSNES Team ( zsknight@zsnes.com / _demo_@zsnes.com ) 
; 
;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