101 lines
2.1 KiB
Plaintext
101 lines
2.1 KiB
Plaintext
;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
|