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

📄 newgfx2.asm

📁 linux下的任天堂模拟器代码。供大家参考。
💻 ASM
📖 第 1 页 / 共 2 页
字号:
drawlineng2bwin:    WinClipMacro Processwinclip2b    drawlineng tltype2b, preparet2ba, cachesingle2bng,.loop,.finline,ngpalcon2b,test2ba,03hProcesswinclip2b:    mov ebx,[ngcwinptr]    mov cx,[vrama+eax]    mov ebx,[ebx]    xor ecx,[ng16bprval]    mov [ngcpixleft],ebx    test ecx,2000h    jnz near .finline    drawlinengwin tltype2b, preparet2ba, cachesingle2bng,.loop,.finline,ngpalcon2b,test2ba,03h.loop    push eax    mov ebx,[ngcwinptr]    mov eax,[ngcpixleft]    mov [ebx],eax    pop eax    cmp dword[ngcwinmode],1    je near drawlineng2bwin.winclipped    jmp drawlineng2bwin.loopNEWSYM drawlineng4b    cmp byte[ngwinen],1    je near drawlineng4bwin    mov byte[tleftn],33.loop    mov cx,[vrama+eax]    xor ecx,[ng16bprval]    test ecx,2000h    jnz near .finline    drawlineng tltype4b, preparet4ba, cachesingle4bng,.loop,.finline,ngpalcon4b,test4ba,0Fh    retdrawlineng4bwin:    WinClipMacro Processwinclip4b    drawlineng tltype4b, preparet4ba, cachesingle4bng,.loop,.finline,ngpalcon4b,test4ba,0FhProcesswinclip4b:    mov ebx,[ngcwinptr]    mov cx,[vrama+eax]    mov ebx,[ebx]    xor ecx,[ng16bprval]    mov [ngcpixleft],ebx    test ecx,2000h    jnz near .finline    drawlinengwin tltype4b, preparet4ba, cachesingle4bng,.loop,.finline,ngpalcon4b,test4ba,0Fh.loop    push eax    mov ebx,[ngcwinptr]    mov eax,[ngcpixleft]    mov [ebx],eax    pop eax    cmp dword[ngcwinmode],1    je near drawlineng4bwin.winclipped    jmp drawlineng4bwin.loopNEWSYM drawlineng8b    cmp byte[ngwinen],1    je near drawlineng8bwin    mov byte[tleftn],33.loop    mov cx,[vrama+eax]    xor ecx,[ng16bprval]    test ecx,2000h    jnz near .finline    drawlineng tltype8b, preparet8ba, cachesingle8bng,.loop,.finline,ngpalcon8b,test8ba,0FFh    retdrawlineng8bwin:    WinClipMacro Processwinclip8b    drawlineng tltype8b, preparet8ba, cachesingle8bng,.loop,.finline,ngpalcon8b,test8ba,0FFhProcesswinclip8b:    mov ebx,[ngcwinptr]    mov cx,[vrama+eax]    mov ebx,[ebx]    xor ecx,[ng16bprval]    mov [ngcpixleft],ebx    test ecx,2000h    jnz near .finline    drawlinengwin tltype8b, preparet8ba, cachesingle8bng,.loop,.finline,ngpalcon8b,test8ba,0FFh.loop    push eax    mov ebx,[ngcwinptr]    mov eax,[ngcpixleft]    mov [ebx],eax    pop eax    cmp dword[ngcwinmode],1    je near drawlineng8bwin.winclipped    jmp drawlineng8bwin.loop;******************************************; 16x16 tiles - line by line engine;******************************************NEWSYM drawlineng16x162b    cmp byte[ngwinen],1    je near drawlineng16x162bwin    mov byte[tleftn],17.loop    mov cx,[vrama+eax]    xor ecx,[ng16bprval]    test ecx,2000h    jnz near .finline    drawlineng16x16 tltype2b, preparet2ba, cachesingle2bng,.loop,.finline,ngpalcon2b,test2ba,03h    retdrawlineng16x162bwin:    WinClipMacro16x16 Processwinclip16x162b    drawlineng16x16 tltype2b, preparet2ba, cachesingle2bng,.loop,.finline,ngpalcon2b,test2ba,03hProcesswinclip16x162b:    mov ebx,[ngcwinptr]    mov cx,[vrama+eax]    mov ebx,[ebx]    xor ecx,[ng16bprval]    mov [ngcpixleft],ebx    test ecx,2000h    jnz near .finline    drawlineng16x16win tltype2b, preparet2ba, cachesingle2bng,.loop,.finline,ngpalcon2b,test2ba,03h.loop    push eax    mov ebx,[ngcwinptr]    mov eax,[ngcpixleft]    mov [ebx],eax    pop eax    cmp dword[ngcwinmode],1    je near drawlineng16x162bwin.winclipped    jmp drawlineng16x162bwin.loopNEWSYM drawlineng16x164b    cmp byte[ngwinen],1    je near drawlineng16x164bwin    mov byte[tleftn],17.loop    mov cx,[vrama+eax]    xor ecx,[ng16bprval]    test ecx,2000h    jnz near .finline    drawlineng16x16 tltype4b, preparet4ba, cachesingle4bng,.loop,.finline,ngpalcon4b,test4ba,0Fh    retdrawlineng16x164bwin:    WinClipMacro16x16 Processwinclip16x164b    drawlineng16x16 tltype4b, preparet4ba, cachesingle4bng,.loop,.finline,ngpalcon4b,test4ba,0FhProcesswinclip16x164b:    mov ebx,[ngcwinptr]    mov cx,[vrama+eax]    mov ebx,[ebx]    xor ecx,[ng16bprval]    mov [ngcpixleft],ebx    test ecx,2000h    jnz near .finline    drawlineng16x16win tltype4b, preparet4ba, cachesingle4bng,.loop,.finline,ngpalcon4b,test4ba,0Fh.loop    push eax    mov ebx,[ngcwinptr]    mov eax,[ngcpixleft]    mov [ebx],eax    pop eax    cmp dword[ngcwinmode],1    je near drawlineng16x164bwin.winclipped    jmp drawlineng16x164bwin.loopNEWSYM drawlineng16x168b    cmp byte[ngwinen],1    je near drawlineng16x168bwin    mov byte[tleftn],17.loop    mov cx,[vrama+eax]    xor ecx,[ng16bprval]    test ecx,2000h    jnz near .finline    drawlineng16x16 tltype8b, preparet8ba, cachesingle8bng,.loop,.finline,ngpalcon8b,test8ba,0FFh    retdrawlineng16x168bwin:    WinClipMacro16x16 Processwinclip16x168b    drawlineng16x16 tltype8b, preparet8ba, cachesingle8bng,.loop,.finline,ngpalcon8b,test8ba,0FFhProcesswinclip16x168b:    mov ebx,[ngcwinptr]    mov cx,[vrama+eax]    mov ebx,[ebx]    xor ecx,[ng16bprval]    mov [ngcpixleft],ebx    test ecx,2000h    jnz near .finline    drawlineng16x16win tltype8b, preparet8ba, cachesingle8bng,.loop,.finline,ngpalcon8b,test8ba,0FFh.loop    push eax    mov ebx,[ngcwinptr]    mov eax,[ngcpixleft]    mov [ebx],eax    pop eax    cmp dword[ngcwinmode],1    je near drawlineng16x168bwin.winclipped    jmp drawlineng16x168bwin.loopNEWSYM drawlineng16x84b    mov byte[tleftn],33.loop2b    mov cx,[vrama+eax]    xor ecx,[ng16bprval]    test ecx,2000h    jnz near .fintile2b    drawlineng16x8 tltype4b, preparet4ba, cachesingle4bng,.loop2b,.fintile2b,ngpalcon4b,test4ba,0FhNEWSYM drawlineng16x82b    mov byte[tleftn],33.loopb2b    mov cx,[vrama+eax]    xor ecx,[ng16bprval]    test ecx,2000h    jnz near .fintileb2b    drawlineng16x8 tltype2b, preparet2ba, cachesingle2bng,.loopb2b,.fintileb2b,ngpalcon2b,test2ba,03h%macro WinClipMacroom 1    mov byte[tleftn],33    mov dword[ngcwinptr],ngwintable    mov dword[ngcwinmode],0    cmp dword[ngwintable],0    jne near .loop    add dword[ngcwinptr],4    mov dword[ngcwinmode],1.winclipped    mov ebx,[ngcwinptr]    cmp dword[ebx],8    jbe near %1    sub dword[ebx],8    mov ebx,[cbgval]    add word[ofsmmptr],2    inc dword[bg1totng+ebx*4]    add word[ofsmtptr],2    mov ax,[ofsmmptr]    mov ebx,[yposngom]    mov edx,[flipyposngom]    mov [yposng],ebx    mov [flipyposng],edx    add edi,8    test eax,03Fh    jnz .next    mov bx,[bgtxadd]    add ax,bx    add [ofsmmptr],bx    add word[ofsmtptr],bx.next    mov ebx,[ofsmcptr]    add ebx,[ofsmcptr2]    mov ecx,[ofsmval]    add dword[ofshvaladd],8    test dword[ebx],ecx    jz .noofsm2    mov ebx,[ebx]    mov ax,[ofsmtptr]    and ebx,3FFh    add ebx,[ofsmcyps]    test ebx,100h    jz .noupper2    add ax,[ofsmady].noupper2    and ebx,0FFh    mov edx,ebx    shr ebx,3    and edx,07h    shl ebx,6    shl edx,3    add ax,bx    mov [yposng],edx    xor edx,38h    mov [flipyposng],edx.noofsm2    mov ebx,[ofsmcptr]    add ebx,[ofsmcptr2]    add dword[ofsmcptr2],2    mov ecx,[ofsmvalh]    and dword[ofsmcptr2],3Fh    test dword[ebx-40h],ecx    jz .noofsmh    mov ebx,[ebx-40h]    sub ax,[ofsmtptr]    add ax,[ofsmtptrs]    add ebx,[ofshvaladd]    test ebx,100h    jz .noleft    add ax,[ofsmadx].noleft    and ebx,0F8h    shr ebx,2    add ax,bx.noofsmh    dec byte[tleftn]    jnz near .winclipped    pop ebx    cmp byte[curmosaicsz],1    jne near domosaicng    ret.loop    mov ebx,[ngcwinptr]    mov cx,[vrama+eax]    cmp dword[ebx],8    jbe near %1    sub dword[ebx],8    xor ecx,[ng16bprval]    test ecx,2000h    jnz near .finline%endmacroNEWSYM drawlinengom4b    cmp byte[ngwinen],1    je near drawlinengom4bwin    mov byte[tleftn],33.loopd    mov cx,[vrama+eax]    xor ecx,[ng16bprval]    test ecx,2000h    jnz near .fintiled    drawlinengom  tltype4b, preparet4ba, cachesingle4bng,.loopd,.fintiled,ngpalcon4b,test4ba,0Fhdrawlinengom4bwin:    WinClipMacroom Processwinclipom4b    drawlinengom  tltype4b, preparet4ba, cachesingle4bng,.loop,.finline,ngpalcon4b,test4ba,0FhProcesswinclipom4b:    mov ebx,[ngcwinptr]    mov cx,[vrama+eax]    mov ebx,[ebx]    xor ecx,[ng16bprval]    mov [ngcpixleft],ebx    test ecx,2000h    jnz near .fintiled    drawlinengomwin  tltype4b, preparet4ba, cachesingle4bng,.loop,.fintiled,ngpalcon4b,test4ba,0Fh.loop    push eax    mov ebx,[ngcwinptr]    mov eax,[ngcpixleft]    mov [ebx],eax    pop eax    cmp dword[ngcwinmode],1    je near drawlinengom4bwin.winclipped    jmp drawlinengom4bwin.loop

⌨️ 快捷键说明

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