⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 newgfx16.mac

📁 linux下的任天堂模拟器代码。供大家参考。
💻 MAC
📖 第 1 页 / 共 5 页
字号:
;Copyright (C) 1997-2007 ZSNES Team ( zsKnight, _Demo_, pagefault, Nach );;http://www.zsnes.com;http://sourceforge.net/projects/zsnes;https://zsnes.bountysource.com;;This program is free software; you can redistribute it and/or;modify it under the terms of the GNU General Public License;version 2 as published by the Free Software Foundation.;;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.; drawtileng16b%macro ngsub 2    test dword[BGMS1+ebx*2+1],%1    jz near %2    test dword[BGMS1+ebx*2],%1    jnz near %2    test byte[FillSubScr+ebx],1    jnz near %2%endmacro%macro ngmain 2    test dword[BGMS1+ebx*2],%1    jnz %%yesmain    test byte[FillSubScr+ebx],1    jz near %2    test dword[BGMS1+ebx*2+1],%1    jz near %2%%yesmain%endmacro%macro sprdrawpra16bng 1    or al,al    jz %%skip    add al,ch    test byte[sprpriodata+ebx-%1+16],dl    jnz %%skip    mov ax,[ebp+eax*2]    mov [edi+ebx*2-%1*2],ax    xor eax,eax    or byte[sprpriodata+ebx-%1+16],dl%%skip%endmacro%macro sprdrawprb16bng 1    or al,al    jz %%skip    add al,ch    mov ax,[ebp+eax*2]    mov [edi+ebx*2-%1*2],ax    xor eax,eax%%skip%endmacro%macro sprdrawprawb16bng 1    or al,al    jz %%skip    add al,dh    test byte[sprpriodata+ebx-%1+16],dl    jnz %%skip    cmp byte[ecx+ebx-%1],1    je %%skip    or byte[sprpriodata+ebx-%1+16],dl    mov ax,[ebp+eax*2]    mov [edi+ebx*2-%1*2],ax    xor eax,eax%%skip%endmacro%macro sprdrawprbwb16bng 1    or al,al    jz %%skip    add al,dh    cmp byte[ecx+ebx-%1],1    je %%skip    mov ax,[ebp+eax*2]    mov [edi+ebx*2-%1*2],ax    xor eax,eax%%skip%endmacro%macro sprdrawpra16bngt 1    or al,al    jz %%skip    add al,ch    test byte[sprpriodata+ebx-%1+16],dl    jnz %%skip    mov ax,[ebp+eax*2+512]    or byte[sprpriodata+ebx-%1+16],dl    cmp ch,128+64    jae %%yestransp    and eax,[UnusedBitXor]%%yestransp    mov [edi+ebx*2-%1*2],ax    xor eax,eax%%skip%endmacro%macro sprdrawprb16bngt 1    or al,al    jz %%skip    add al,ch    mov ax,[ebp+eax*2+512]    cmp ch,128+64    jae %%yestransp    and eax,[UnusedBitXor]%%yestransp    mov [edi+ebx*2-%1*2],ax    xor eax,eax%%skip%endmacro%macro sprdrawprawb16bngt 1    or al,al    jz %%skip    add al,dh    test byte[sprpriodata+ebx-%1+16],dl    jnz %%skip    cmp byte[ecx+ebx-%1],1    je %%skip    or byte[sprpriodata+ebx-%1+16],dl    mov ax,[ebp+eax*2+512]    cmp dh,128+64    jae %%yestransp    and eax,[UnusedBitXor]%%yestransp    mov [edi+ebx*2-%1*2],ax    xor eax,eax%%skip%endmacro%macro sprdrawprbwb16bngt 1    or al,al    jz %%skip    add al,dh    cmp byte[ecx+ebx-%1],1    je %%skip    mov ax,[ebp+eax*2+512]    cmp dh,128+64    jae %%yestransp    and eax,[UnusedBitXor]%%yestransp    mov [edi+ebx*2-%1*2],ax    xor eax,eax%%skip%endmacro%macro sprdrawpra16bngmst 1    or al,al    jz %%skip    add al,ch    test byte[sprpriodata+ebx-%1+16],dl    jnz %%skip    mov ax,[ebp+eax*2+512]    cmp ch,128+64    jae %%yestransp    and eax,[UnusedBitXor]%%yestransp    mov [edi+ebx*2-%1*2],ax    and eax,[UnusedBitXor]    mov [edi+ebx*2-%1*2+75036*2],ax    xor eax,eax    or byte[sprpriodata+ebx-%1+16],dl%%skip%endmacro%macro sprdrawprb16bngmst 1    or al,al    jz %%skip    add al,ch    mov ax,[ebp+eax*2+512]    cmp ch,128+64    jae %%yestransp    and eax,[UnusedBitXor]%%yestransp    mov [edi+ebx*2-%1*2],ax    and eax,[UnusedBitXor]    mov [edi+ebx*2-%1*2+75036*2],ax    xor eax,eax%%skip%endmacro%macro sprdrawprawb16bngmst 1    or al,al    jz %%skip    add al,dh    test byte[sprpriodata+ebx-%1+16],dl    jnz %%skip    cmp byte[ecx+ebx-%1],1    je %%skip    or byte[sprpriodata+ebx-%1+16],dl    mov ax,[ebp+eax*2+512]    cmp dh,128+64    jae %%yestransp    and eax,[UnusedBitXor]%%yestransp    mov [edi+ebx*2-%1*2],ax    and eax,[UnusedBitXor]    mov [edi+ebx*2-%1*2+75036*2],ax    xor eax,eax%%skip%endmacro%macro sprdrawprbwb16bngmst 1    or al,al    jz %%skip    add al,dh    cmp byte[ecx+ebx-%1],1    je %%skip    mov ax,[ebp+eax*2+512]    cmp dh,128+64    jae %%yestransp    and eax,[UnusedBitXor]%%yestransp    mov [edi+ebx*2-%1*2],ax    and eax,[UnusedBitXor]    mov [edi+ebx*2-%1*2+75036*2],ax    xor eax,eax%%skip%endmacro%macro sprdrawprawb16bngst 1    or al,al    jz %%skip    add al,dh    test byte[sprpriodata+ebx-%1+16],dl    jnz %%skip    or byte[sprpriodata+ebx-%1+16],dl    mov ax,[ebp+eax*2+512]    cmp dh,128+64    jae %%yestransp    and eax,[UnusedBitXor]%%yestransp    mov [edi+ebx*2-%1*2],ax    cmp byte[ecx+ebx-%1],1    je %%skip    and eax,[UnusedBitXor]    mov [edi+ebx*2-%1*2+75036*2],ax%%skip    xor eax,eax%endmacro%macro sprdrawprbwb16bngst 1    or al,al    jz %%skip    add al,dh    mov ax,[ebp+eax*2+512]    cmp dh,128+64    jae %%yestransp    and eax,[UnusedBitXor]%%yestransp    mov [edi+ebx*2-%1*2],ax    cmp byte[ecx+ebx-%1],1    je %%skip    and eax,[UnusedBitXor]    mov [edi+ebx*2-%1*2+75036*2],ax%%skip    xor eax,eax%endmacro%macro sprdrawprawb16bngmt 1    or al,al    jz %%skip    add al,dh    test byte[sprpriodata+ebx-%1+16],dl    jnz %%skip    or byte[sprpriodata+ebx-%1+16],dl    mov ax,[ebp+eax*2]    mov [edi+ebx*2-%1*2+75036*2],ax    cmp byte[ecx+ebx-%1],1    je %%skip    cmp dh,128+64    jae %%yestransp    and eax,[UnusedBitXor]%%yestransp    or ax,[UnusedBit]    mov [edi+ebx*2-%1*2],ax%%skip    xor eax,eax%endmacro%macro sprdrawprbwb16bngmt 1    or al,al    jz %%skip    add al,dh    mov ax,[ebp+eax*2]    mov [edi+ebx*2-%1*2+75036*2],ax    cmp byte[ecx+ebx-%1],1    je %%skip    or ax,[UnusedBit]    cmp dh,128+64    jae %%yestransp    and eax,[UnusedBitXor]%%yestransp    mov [edi+ebx*2-%1*2],ax%%skip    xor eax,eax%endmacro%macro sprdrawpra16bngnt 1    or al,al    jz %%skip    add al,ch    test byte[sprpriodata+ebx-%1+16],dl    jnz %%skip    mov ax,[ebp+eax*2]    mov [edi+ebx*2-%1*2],ax    xor eax,eax    or byte[sprpriodata+ebx-%1+16],dl%%skip%endmacro%macro sprdrawprb16bngnt 1    or al,al    jz %%skip    add al,ch    mov ax,[ebp+eax*2]    mov [edi+ebx*2-%1*2],ax    xor eax,eax%%skip%endmacro%macro sprdrawprawb16bngnt 1    or al,al    jz %%skip    add al,dh    test byte[sprpriodata+ebx-%1+16],dl    jnz %%skip    or byte[sprpriodata+ebx-%1+16],dl    cmp byte[ecx+ebx-%1],1    je %%skip    mov ax,[ebp+eax*2]    mov [edi+ebx*2-%1*2],ax    xor eax,eax%%skip%endmacro%macro sprdrawprbwb16bngnt 1    or al,al    jz %%skip    add al,dh    cmp byte[ecx+ebx-%1],1    je %%skip    mov ax,[ebp+eax*2]    mov [edi+ebx*2-%1*2],ax    xor eax,eax%%skip%endmacro%macro sprdrawpra16bngmsnt 1    or al,al    jz %%skip    add al,ch    test byte[sprpriodata+ebx-%1+16],dl    jnz %%skip    mov ax,[ebp+eax*2]    mov [edi+ebx*2-%1*2],ax    mov [edi+ebx*2-%1*2+75036*2],ax    xor eax,eax    or byte[sprpriodata+ebx-%1+16],dl%%skip%endmacro%macro sprdrawprb16bngmsnt 1    or al,al    jz %%skip    add al,ch    mov ax,[ebp+eax*2]    mov [edi+ebx*2-%1*2],ax    mov [edi+ebx*2-%1*2+75036*2],ax    xor eax,eax%%skip%endmacro%macro sprdrawprawb16bngmsnt 1    or al,al    jz %%skip    add al,dh    test byte[sprpriodata+ebx-%1+16],dl    jnz %%skip    or byte[sprpriodata+ebx-%1+16],dl    cmp byte[ecx+ebx-%1],1    je %%skip    mov ax,[ebp+eax*2]    mov [edi+ebx*2-%1*2],ax    mov [edi+ebx*2-%1*2+75036*2],ax    xor eax,eax%%skip%endmacro%macro sprdrawprbwb16bngmsnt 1    or al,al    jz %%skip    add al,dh    cmp byte[ecx+ebx-%1],1    je %%skip    mov ax,[ebp+eax*2]    mov [edi+ebx*2-%1*2],ax    mov [edi+ebx*2-%1*2+75036*2],ax    xor eax,eax%%skip%endmacro%macro sprdrawprawb16bngsnt 1    or al,al    jz %%skip    add al,dh    test byte[sprpriodata+ebx-%1+16],dl    jnz %%skip    or byte[sprpriodata+ebx-%1+16],dl    mov ax,[ebp+eax*2]    mov [edi+ebx*2-%1*2],ax    cmp byte[ecx+ebx-%1],1    je %%skip    mov [edi+ebx*2-%1*2+75036*2],ax%%skip    xor eax,eax%endmacro%macro sprdrawprbwb16bngsnt 1    or al,al    jz %%skip    add al,dh    mov ax,[ebp+eax*2]    mov [edi+ebx*2-%1*2],ax    cmp byte[ecx+ebx-%1],1    je %%skip    mov [edi+ebx*2-%1*2+75036*2],ax%%skip    xor eax,eax%endmacro%macro sprdrawprawb16bngmnt 1    or al,al    jz %%skip    add al,dh    test byte[sprpriodata+ebx-%1+16],dl    jnz %%skip    or byte[sprpriodata+ebx-%1+16],dl    mov ax,[ebp+eax*2]    mov [edi+ebx*2-%1*2+75036*2],ax    cmp byte[ecx+ebx-%1],1    je %%skip    mov [edi+ebx*2-%1*2],ax%%skip    xor eax,eax%endmacro%macro sprdrawprbwb16bngmnt 1    or al,al    jz %%skip    add al,dh    mov ax,[ebp+eax*2]    mov [edi+ebx*2-%1*2+75036*2],ax    cmp byte[ecx+ebx-%1],1    je %%skip    mov [edi+ebx*2-%1*2],ax%%skip    xor eax,eax%endmacro%macro sprdrawpra216bng 1    or al,al    jz %%skip    or byte[sprpriodata+ebx-%1+16],dl%%skip%endmacro%macro sprdrawpra16bnghr 1    or al,al    jz %%skip    add al,ch    test byte[sprpriodata+ebx-%1+16],dl    jnz %%skip    mov ax,[ebp+eax*2]    mov [edi+ebx*2-%1*2],ax    mov [edi+ebx*2-%1*2+75036*4],ax    xor eax,eax    or byte[sprpriodata+ebx-%1+16],dl%%skip%endmacro%macro sprdrawprb16bnghr 1    or al,al    jz %%skip    add al,ch    mov ax,[ebp+eax*2]    mov [edi+ebx*2-%1*2+75036*4],ax    mov [edi+ebx*2-%1*2],ax    xor eax,eax%%skip%endmacro%macro sprdrawprawb16bnghr 1    or al,al    jz %%skip    add al,dh    test byte[sprpriodata+ebx-%1+16],dl    jnz %%skip    cmp byte[ecx+ebx-%1],1    je %%skip    or byte[sprpriodata+ebx-%1+16],dl    mov ax,[ebp+eax*2]    mov [edi+ebx*2-%1*2+75036*4],ax    mov [edi+ebx*2-%1*2],ax    xor eax,eax%%skip%endmacro%macro sprdrawprbwb16bnghr 1    or al,al    jz %%skip    add al,dh    cmp byte[ecx+ebx-%1],1    je %%skip    mov ax,[ebp+eax*2]    mov [edi+ebx*2-%1*2+75036*4],ax    mov [edi+ebx*2-%1*2],ax    xor eax,eax%%skip%endmacro%macro sprdrawpra16bngthr 1    or al,al    jz %%skip    add al,ch    test byte[sprpriodata+ebx-%1+16],dl    jnz %%skip    mov ax,[ebp+eax*2+512]    or byte[sprpriodata+ebx-%1+16],dl    cmp ch,128+64    jae %%yestransp    and eax,[UnusedBitXor]%%yestransp    mov [edi+ebx*2-%1*2],ax    mov [edi+ebx*2-%1*2+75036*4],ax    xor eax,eax%%skip%endmacro%macro sprdrawprb16bngthr 1    or al,al    jz %%skip    add al,ch    mov ax,[ebp+eax*2+512]    cmp ch,128+64    jae %%yestransp    and eax,[UnusedBitXor]%%yestransp    mov [edi+ebx*2-%1*2],ax    mov [edi+ebx*2-%1*2+75036*4],ax    xor eax,eax%%skip%endmacro%macro sprdrawprawb16bngthr 1    or al,al    jz %%skip    add al,dh    test byte[sprpriodata+ebx-%1+16],dl    jnz %%skip    cmp byte[ecx+ebx-%1],1    je %%skip    or byte[sprpriodata+ebx-%1+16],dl    mov ax,[ebp+eax*2+512]    cmp dh,128+64    jae %%yestransp    and eax,[UnusedBitXor]%%yestransp    mov [edi+ebx*2-%1*2],ax    mov [edi+ebx*2-%1*2+75036*4],ax    xor eax,eax%%skip%endmacro%macro sprdrawprbwb16bngthr 1    or al,al    jz %%skip    add al,dh    cmp byte[ecx+ebx-%1],1    je %%skip    mov ax,[ebp+eax*2+512]    cmp dh,128+64    jae %%yestransp    and eax,[UnusedBitXor]%%yestransp    mov [edi+ebx*2-%1*2],ax    mov [edi+ebx*2-%1*2+75036*4],ax    xor eax,eax%%skip%endmacro%macro sprdrawpra16bngmsthr 1    or al,al    jz %%skip    add al,ch    test byte[sprpriodata+ebx-%1+16],dl    jnz %%skip    mov ax,[ebp+eax*2+512]    cmp ch,128+64    jae %%yestransp    and eax,[UnusedBitXor]%%yestransp    mov [edi+ebx*2-%1*2],ax    mov [edi+ebx*2-%1*2+75036*4],ax    and eax,[UnusedBitXor]    mov [edi+ebx*2-%1*2+75036*2],ax    mov [edi+ebx*2-%1*2+75036*6],ax    xor eax,eax    or byte[sprpriodata+ebx-%1+16],dl%%skip%endmacro%macro sprdrawprb16bngmsthr 1    or al,al    jz %%skip    add al,ch    mov ax,[ebp+eax*2+512]    cmp ch,128+64    jae %%yestransp    and eax,[UnusedBitXor]%%yestransp    mov [edi+ebx*2-%1*2],ax    mov [edi+ebx*2-%1*2+75036*4],ax    and eax,[UnusedBitXor]    mov [edi+ebx*2-%1*2+75036*2],ax    mov [edi+ebx*2-%1*2+75036*6],ax    xor eax,eax%%skip%endmacro%macro sprdrawprawb16bngmsthr 1    or al,al    jz %%skip    add al,dh    test byte[sprpriodata+ebx-%1+16],dl    jnz %%skip    cmp byte[ecx+ebx-%1],1    je %%skip    or byte[sprpriodata+ebx-%1+16],dl    mov ax,[ebp+eax*2+512]    cmp dh,128+64    jae %%yestransp    and eax,[UnusedBitXor]%%yestransp    mov [edi+ebx*2-%1*2],ax    mov [edi+ebx*2-%1*2+75036*4],ax    and eax,[UnusedBitXor]    mov [edi+ebx*2-%1*2+75036*2],ax    mov [edi+ebx*2-%1*2+75036*6],ax    xor eax,eax

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -