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

📄 newg162.asm

📁 linux下的任天堂模拟器代码。供大家参考。
💻 ASM
📖 第 1 页 / 共 4 页
字号:
    jnz near %%finline    drawlinengwin16b %1,%2,%3,%%loop,%%finline,%4,%5,%6,%9%%loop    push eax    mov ebx,[ngcwinptr]    mov eax,[ngcpixleft]    mov [ebx],eax    pop eax    cmp dword[ngcwinmode],1    je near .winclipped    jmp .loop%endmacroNEWSYM drawlineng2b16b    determinetransp drawlineng2b16btdrawlineng2b16bnt    CheckWindowing drawlineng2bwin    drawline16bmacro tltype2b,preparet2ba,cachesingle2bng,ngpalcon2b,test2ba,03h,procpixels,procpixelstdrawlineng2bwin:    drawline16bwmacro tltype2b,preparet2ba,cachesingle2bng,ngpalcon2b,test2ba,03h,procpixels,procpixelst,procpixelstwdrawlineng2b16bt    test byte[BGMS1+ebx*2+1],dl    jnz near drawlineng2b16bms    test byte[scadtng+ebx],dl    jz near drawlineng2b16bnt    CheckWindowing drawlineng2bwint    drawline16bmacro tltype2b,preparet2ba,cachesingle2bng,ngpalcon2b,test2ba,03h,procpixelstr,procpixelsttdrawlineng2bwint:    drawline16bwmacro tltype2b,preparet2ba,cachesingle2bng,ngpalcon2b,test2ba,03h,procpixelstr,procpixelstt,procpixelstwtdrawlineng2b16bms:    test byte[scadtng+ebx],dl    jz near drawlineng2b16bmsnt    DetermineWindow drawlineng2b16bmstmsw, drawlineng2b16bmstmw, drawlineng2b16bmstsw    drawline16bmacro tltype2b,preparet2ba,cachesingle2bng,ngpalcon2b,test2ba,03h,procpixelsmst,procpixelstmstdrawlineng2b16bmstmsw:    drawline16bwmacro tltype2b,preparet2ba,cachesingle2bng,ngpalcon2b,test2ba,03h,procpixelsmst,procpixelstmst,procpixelstwmstdrawlineng2b16bmstmw:    drawline16bw2macro tltype2b,preparet2ba,cachesingle2bng,ngpalcon2b,test2ba,03h,procpixelsmst,procpixelstmst,procpixelstwsmt,procpixelss,procpixelstsdrawlineng2b16bmstsw:    drawline16bw2macro tltype2b,preparet2ba,cachesingle2bng,ngpalcon2b,test2ba,03h,procpixelsmst,procpixelstmst,procpixelstwmsbt,procpixelstr,procpixelsttdrawlineng2b16bmsnt    DetermineWindow drawlineng2b16bmsntmsw, drawlineng2b16bmsntmw, drawlineng2b16bmsntsw    drawline16bmacro tltype2b,preparet2ba,cachesingle2bng,ngpalcon2b,test2ba,03h,procpixelsmsnt,procpixelstmsntdrawlineng2b16bmsntmsw:    drawline16bwmacro tltype2b,preparet2ba,cachesingle2bng,ngpalcon2b,test2ba,03h,procpixelsmsnt,procpixelstmsnt,procpixelstwmsntdrawlineng2b16bmsntmw:    drawline16bw2macro tltype2b,preparet2ba,cachesingle2bng,ngpalcon2b,test2ba,03h,procpixelsmsnt,procpixelstmsnt,procpixelstwsmnt,procpixelss,procpixelstsdrawlineng2b16bmsntsw:    drawline16bw2macro tltype2b,preparet2ba,cachesingle2bng,ngpalcon2b,test2ba,03h,procpixelsmsnt,procpixelstmsnt,procpixelstwmsbnt,procpixelsnt,procpixelstntNEWSYM drawlineng4b16b    determinetransp drawlineng4b16btdrawlineng4b16bnt    CheckWindowing drawlineng4bwin    drawline16bmacro tltype4b,preparet4ba,cachesingle4bng,ngpalcon4b,test4ba,0Fh,procpixels,procpixelstdrawlineng4bwin:    drawline16bwmacro tltype4b,preparet4ba,cachesingle4bng,ngpalcon4b,test4ba,0Fh,procpixels,procpixelst,procpixelstwdrawlineng4b16bt    test byte[BGMS1+ebx*2+1],dl    jnz near drawlineng4b16bms    test byte[scadtng+ebx],dl    jz near drawlineng4b16bnt    CheckWindowing drawlineng4bwint    drawline16bmacro tltype4b,preparet4ba,cachesingle4bng,ngpalcon4b,test4ba,0Fh,procpixelstr,procpixelsttdrawlineng4bwint:    drawline16bwmacro tltype4b,preparet4ba,cachesingle4bng,ngpalcon4b,test4ba,0Fh,procpixelstr,procpixelstt,procpixelstwtdrawlineng4b16bms:    test byte[scadtng+ebx],dl    jz near drawlineng4b16bmsnt    DetermineWindow drawlineng4b16bmstmsw, drawlineng4b16bmstmw, drawlineng4b16bmstsw    drawline16bmacro tltype4b,preparet4ba,cachesingle4bng,ngpalcon4b,test4ba,0Fh,procpixelsmst,procpixelstmstdrawlineng4b16bmstmsw:    drawline16bwmacro tltype4b,preparet4ba,cachesingle4bng,ngpalcon4b,test4ba,0Fh,procpixelsmst,procpixelstmst,procpixelstwmstdrawlineng4b16bmstmw:    drawline16bw2macro tltype4b,preparet4ba,cachesingle4bng,ngpalcon4b,test4ba,0Fh,procpixelsmst,procpixelstmst,procpixelstwsmt,procpixelss,procpixelstsdrawlineng4b16bmstsw:    drawline16bw2macro tltype4b,preparet4ba,cachesingle4bng,ngpalcon4b,test4ba,0Fh,procpixelsmst,procpixelstmst,procpixelstwmsbt,procpixelstr,procpixelsttdrawlineng4b16bmsnt    DetermineWindow drawlineng4b16bmsntmsw, drawlineng4b16bmsntmw, drawlineng4b16bmsntsw    drawline16bmacro tltype4b,preparet4ba,cachesingle4bng,ngpalcon4b,test4ba,0Fh,procpixelsmsnt,procpixelstmsntdrawlineng4b16bmsntmsw:    drawline16bwmacro tltype4b,preparet4ba,cachesingle4bng,ngpalcon4b,test4ba,0Fh,procpixelsmsnt,procpixelstmsnt,procpixelstwmsntdrawlineng4b16bmsntmw:    drawline16bw2macro tltype4b,preparet4ba,cachesingle4bng,ngpalcon4b,test4ba,0Fh,procpixelsmsnt,procpixelstmsnt,procpixelstwsmnt,procpixelss,procpixelstsdrawlineng4b16bmsntsw:    drawline16bw2macro tltype4b,preparet4ba,cachesingle4bng,ngpalcon4b,test4ba,0Fh,procpixelsmsnt,procpixelstmsnt,procpixelstwmsbnt,procpixelsnt,procpixelstntNEWSYM drawlineng8b16b    determinetransp drawlineng8b16btdrawlineng8b16bnt    CheckWindowing drawlineng8bwin    drawline16bmacro tltype8b,preparet8ba,cachesingle8bng,ngpalcon8b,test8ba,0FFh,procpixels,procpixelstdrawlineng8bwin:    drawline16bwmacro tltype8b,preparet8ba,cachesingle8bng,ngpalcon8b,test8ba,0FFh,procpixels,procpixelst,procpixelstwdrawlineng8b16bt    test byte[BGMS1+ebx*2+1],dl    jnz near drawlineng8b16bms    test byte[scadtng+ebx],dl    jz near drawlineng8b16bnt    CheckWindowing drawlineng8bwint    drawline16bmacro tltype8b,preparet8ba,cachesingle8bng,ngpalcon8b,test8ba,0FFh,procpixelstr,procpixelsttdrawlineng8bwint:    drawline16bwmacro tltype8b,preparet8ba,cachesingle8bng,ngpalcon8b,test8ba,0FFh,procpixelstr,procpixelstt,procpixelstwtdrawlineng8b16bms:    test byte[scadtng+ebx],dl    jz near drawlineng8b16bmsnt    DetermineWindow drawlineng8b16bmstmsw, drawlineng8b16bmstmw, drawlineng8b16bmstsw    drawline16bmacro tltype8b,preparet8ba,cachesingle8bng,ngpalcon8b,test8ba,0FFh,procpixelsmst,procpixelstmstdrawlineng8b16bmstmsw:    drawline16bwmacro tltype8b,preparet8ba,cachesingle8bng,ngpalcon8b,test8ba,0FFh,procpixelsmst,procpixelstmst,procpixelstwmstdrawlineng8b16bmstmw:    drawline16bw2macro tltype8b,preparet8ba,cachesingle8bng,ngpalcon8b,test8ba,0FFh,procpixelsmst,procpixelstmst,procpixelstwsmt,procpixelss,procpixelstsdrawlineng8b16bmstsw:    drawline16bw2macro tltype8b,preparet8ba,cachesingle8bng,ngpalcon8b,test8ba,0FFh,procpixelsmst,procpixelstmst,procpixelstwmsbt,procpixelstr,procpixelsttdrawlineng8b16bmsnt    DetermineWindow drawlineng8b16bmsntmsw, drawlineng8b16bmsntmw, drawlineng8b16bmsntsw    drawline16bmacro tltype8b,preparet8ba,cachesingle8bng,ngpalcon8b,test8ba,0FFh,procpixelsmsnt,procpixelstmsntdrawlineng8b16bmsntmsw:    drawline16bwmacro tltype8b,preparet8ba,cachesingle8bng,ngpalcon8b,test8ba,0FFh,procpixelsmsnt,procpixelstmsnt,procpixelstwmsntdrawlineng8b16bmsntmw:    drawline16bw2macro tltype8b,preparet8ba,cachesingle8bng,ngpalcon8b,test8ba,0FFh,procpixelsmsnt,procpixelstmsnt,procpixelstwsmnt,procpixelss,procpixelstsdrawlineng8b16bmsntsw:    drawline16bw2macro tltype8b,preparet8ba,cachesingle8bng,ngpalcon8b,test8ba,0FFh,procpixelsmsnt,procpixelstmsnt,procpixelstwmsbnt,procpixelsnt,procpixelstnt;******************************************; 16x16 tiles - line by line engine;******************************************%macro drawline16bmacro16x16 8    mov byte[tleftn],17%%loop    mov cx,[vrama+eax]    xor ecx,[ng16bprval]    test ecx,2000h    jnz near %%finline    drawlineng16x1616b %1,%2,%3,%%loop,%%finline,%4,%5,%6,%7,%8    ret%endmacro%macro drawline16bwmacro16x16 9    WinClipMacro16x16 %%processwinclip2b    drawlineng16x1616b %1,%2,%3,.loop,.finline,%4,%5,%6,%7,%8%%processwinclip2b    mov ebx,[ngcwinptr]    mov cx,[vrama+eax]    mov ebx,[ebx]    xor ecx,[ng16bprval]    mov [ngcpixleft],ebx    test ecx,2000h    jnz near %%finline    drawlineng16x16win16b %1,%2,%3,%%loop,%%finline,%4,%5,%6,%9%%loop    push eax    mov ebx,[ngcwinptr]    mov eax,[ngcpixleft]    mov [ebx],eax    pop eax    cmp dword[ngcwinmode],1    je near .winclipped    jmp .loop%endmacro%macro drawline16bw2macro16x16 11    mov byte[tleftn],17    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]    mov cx,[vrama+eax]    cmp dword[ebx],16    jbe near %%processwinclip2b    sub dword[ebx],16    xor ecx,[ng16bprval]    test ecx,2000h    jnz near .finlineb    drawlineng16x1616b %1,%2,%3,.winclipped,.finlineb,%4,%5,%6,%10,%11.loop    mov ebx,[ngcwinptr]    mov cx,[vrama+eax]    cmp dword[ebx],16    jbe near %%processwinclip2b    sub dword[ebx],16    xor ecx,[ng16bprval]    test ecx,2000h    jnz near .finline    drawlineng16x1616b %1,%2,%3,.loop,.finline,%4,%5,%6,%7,%8%%processwinclip2b    mov ebx,[ngcwinptr]    mov cx,[vrama+eax]    mov ebx,[ebx]    xor ecx,[ng16bprval]    mov [ngcpixleft],ebx    test ecx,2000h    jnz near %%finline    drawlineng16x16win16b %1,%2,%3,%%loop,%%finline,%4,%5,%6,%9%%loop    push eax    mov ebx,[ngcwinptr]    mov eax,[ngcpixleft]    mov [ebx],eax    pop eax    cmp dword[ngcwinmode],1    je near .winclipped    jmp .loop%endmacroNEWSYM drawlineng16x162b16b    determinetransp drawlineng2b16bt16x16drawlineng2b16bnt16x16    CheckWindowing drawlineng2bwin16x16    drawline16bmacro16x16 tltype2b,preparet2ba,cachesingle2bng,ngpalcon2b,test2ba,03h,procpixels,procpixelstdrawlineng2bwin16x16:    drawline16bwmacro16x16 tltype2b,preparet2ba,cachesingle2bng,ngpalcon2b,test2ba,03h,procpixels,procpixelst,procpixelstwdrawlineng2b16bt16x16    test byte[BGMS1+ebx*2+1],dl    jnz near drawlineng2b16bms16x16    test byte[scadtng+ebx],dl    jz near drawlineng2b16bnt16x16    CheckWindowing drawlineng2bwint16x16    drawline16bmacro16x16 tltype2b,preparet2ba,cachesingle2bng,ngpalcon2b,test2ba,03h,procpixelstr,procpixelsttdrawlineng2bwint16x16:    drawline16bwmacro16x16 tltype2b,preparet2ba,cachesingle2bng,ngpalcon2b,test2ba,03h,procpixelstr,procpixelstt,procpixelstwtdrawlineng2b16bms16x16:    test byte[scadtng+ebx],dl    jz near drawlineng2b16bmsnt16x16    DetermineWindow drawlineng2b16bmstmsw16x16, drawlineng2b16bmstmw16x16, drawlineng2b16bmstsw16x16    drawline16bmacro16x16 tltype2b,preparet2ba,cachesingle2bng,ngpalcon2b,test2ba,03h,procpixelsmst,procpixelstmstdrawlineng2b16bmstmsw16x16:    drawline16bwmacro16x16 tltype2b,preparet2ba,cachesingle2bng,ngpalcon2b,test2ba,03h,procpixelsmst,procpixelstmst,procpixelstwmstdrawlineng2b16bmstmw16x16:    drawline16bw2macro16x16 tltype2b,preparet2ba,cachesingle2bng,ngpalcon2b,test2ba,03h,procpixelsmst,procpixelstmst,procpixelstwsmt,procpixelss,procpixelstsdrawlineng2b16bmstsw16x16:    drawline16bw2macro16x16 tltype2b,preparet2ba,cachesingle2bng,ngpalcon2b,test2ba,03h,procpixelsmst,procpixelstmst,procpixelstwmsbt,procpixelstr,procpixelsttdrawlineng2b16bmsnt16x16    DetermineWindow drawlineng2b16bmsntmsw16x16, drawlineng2b16bmsntmw16x16, drawlineng2b16bmsntsw16x16    drawline16bmacro16x16 tltype2b,preparet2ba,cachesingle2bng,ngpalcon2b,test2ba,03h,procpixelsmsnt,procpixelstmsntdrawlineng2b16bmsntmsw16x16:    drawline16bwmacro16x16 tltype2b,preparet2ba,cachesingle2bng,ngpalcon2b,test2ba,03h,procpixelsmsnt,procpixelstmsnt,procpixelstwmsntdrawlineng2b16bmsntmw16x16:    drawline16bw2macro16x16 tltype2b,preparet2ba,cachesingle2bng,ngpalcon2b,test2ba,03h,procpixelsmsnt,procpixelstmsnt,procpixelstwsmnt,procpixelss,procpixelstsdrawlineng2b16bmsntsw16x16:    drawline16bw2macro16x16 tltype2b,preparet2ba,cachesingle2bng,ngpalcon2b,test2ba,03h,procpixelsmsnt,procpixelstmsnt,procpixelstwmsbnt,procpixelsnt,procpixelstntNEWSYM drawlineng16x164b16b    determinetransp drawlineng4b16bt16x16drawlineng4b16bnt16x16    CheckWindowing drawlineng4bwin16x16    drawline16bmacro16x16 tltype4b,preparet4ba,cachesingle4bng,ngpalcon4b,test4ba,0Fh,procpixels,procpixelstdrawlineng4bwin16x16:    drawline16bwmacro16x16 tltype4b,preparet4ba,cachesingle4bng,ngpalcon4b,test4ba,0Fh,procpixels,procpixelst,procpixelstwdrawlineng4b16bt16x16    test byte[BGMS1+ebx*2+1],dl    jnz near drawlineng4b16bms16x16    test byte[scadtng+ebx],dl    jz near drawlineng4b16bnt16x16    CheckWindowing drawlineng4bwint16x16    drawline16bmacro16x16 tltype4b,preparet4ba,cachesingle4bng,ngpalcon4b,test4ba,0Fh,procpixelstr,procpixelsttdrawlineng4bwint16x16:    drawline16bwmacro16x16 tltype4b,preparet4ba,cachesingle4bng,ngpalcon4b,test4ba,0Fh,procpixelstr,procpixelstt,procpixelstwtdrawlineng4b16bms16x16:    test byte[scadtng+ebx],dl    jz near drawlineng4b16bmsnt16x16    DetermineWindow drawlineng4b16bmstmsw16x16, drawlineng4b16bmstmw16x16, drawlineng4b16bmstsw16x16    drawline16bmacro16x16 tltype4b,preparet4ba,cachesingle4bng,ngpalcon4b,test4ba,0Fh,procpixelsmst,procpixelstmstdrawlineng4b16bmstmsw16x16:    drawline16bwmacro16x16 tltype4b,preparet4ba,cachesingle4bng,ngpalcon4b,test4ba,0Fh,procpixelsmst,procpixelstmst,procpixelstwmstdrawlineng4b16bmstmw16x16:    drawline16bw2macro16x16 tltype4b,preparet4ba,cachesingle4bng,ngpalcon4b,test4ba,0Fh,procpixelsmst,procpixelstmst,procpixelstwsmt,procpixelss,procpixelstsdrawlineng4b16bmstsw16x16:    drawline16bw2macro16x16 tltype4b,preparet4ba,cachesingle4bng,ngpalcon4b,test4ba,0Fh,procpixelsmst,procpixelstmst,procpixelstwmsbt,procpixelstr,procpixelsttdrawlineng4b16bmsnt16x16    DetermineWindow drawlineng4b16bmsntmsw16x16, drawlineng4b16bmsntmw16x16, drawlineng4b16bmsntsw16x16    drawline16bmacro16x16 tltype4b,preparet4ba,cachesingle4bng,ngpalcon4b,test4ba,0Fh,procpixelsmsnt,procpixelstmsntdrawlineng4b16bmsntmsw16x16:    drawline16bwmacro16x16 tltype4b,preparet4ba,cachesingle4bng,ngpalcon4b,test4ba,0Fh,procpixelsmsnt,procpixelstmsnt,procpixelstwmsntdrawlineng4b16bmsntmw16x16:    drawline16bw2macro16x16 tltype4b,preparet4ba,cachesingle4bng,ngpalcon4b,test4ba,0Fh,procpixelsmsnt,procpixelstmsnt,procpixelstwsmnt,procpixelss,procpixelstsdrawlineng4b16bmsntsw16x16:    drawline16bw2macro16x16 tltype4b,preparet4ba,cachesingle4bng,ngpalcon4b,test4ba,0Fh,procpixelsmsnt,procpixelstmsnt,procpixelstwmsbnt,procpixelsnt,procpixelstntNEWSYM drawlineng16x168b16b    determinetransp drawlineng8b16bt16x16drawlineng8b16bnt16x16    CheckWindowing drawlineng8bwin16x16    drawline16bmacro16x16 tltype8b,preparet8ba,cachesingle8bng,ngpalcon8b,test8ba,0FFh,procpixels,procpixelstdrawlineng8bwin16x16:    drawline16bwmacro16x16 tltype8b,preparet8ba,cachesingle8bng,ngpalcon8b,test8ba,0FFh,procpixels,procpixelst,procpixelstwdrawlineng8b16bt16x16    test byte[BGMS1+ebx*2+1],dl    jnz near drawlineng8b16bms16x16    test byte[scadtng+ebx],dl    jz near drawlineng8b16bnt16x16    CheckWindowing drawlineng8bwint16x16    drawline16bmacro16x16 tltype8b,preparet8ba,cachesingle8bng,ngpalcon8b,test8ba,0FFh,procpixelstr,procpixelsttdrawlineng8bwint16x16:    drawline16bwmacro16x16 tltype8b,preparet8ba,cachesingle8bng,ngpalcon8b,test8ba,0FFh,procpixelstr,procpixelstt,procpixelstwtdrawlineng8b16bms16x16:    test byte[scadtng+ebx],dl    jz near drawlineng8b16bmsnt16x16    DetermineWindow drawlineng8b16bmstmsw16x16, drawlineng8b16bmstmw16x16, drawlineng8b16bmstsw16x16    drawline16bmacro16x16 tltype8b,preparet8ba,cachesingle8bng,ngpalcon8b,test8ba,0FFh,procpixelsmst,procpixelstmstdrawlineng8b16bmstmsw16x16:    drawline16bwmacro16x16 tltype8b,preparet8ba,cachesingle8bng,ngpalcon8b,test8ba,0FFh,procpixelsmst,procpixelstmst,procpixelstwmstdrawlineng8b16bmstmw16x16:    drawline16bw2macro16x16 tltype8b,preparet8ba,cachesingle8bng,ngpalcon8b,test8ba,0FFh,procpixelsmst,procpixelstmst,procpixelstwsmt,procpixelss,procpixelstsdrawlineng8b16bmstsw16x16:    drawline16bw2macro16x16 tltype8b,preparet8ba,cachesingle8bng,ngpalcon8b,test8ba,0FFh,procpixelsmst,procpixelstmst,procpixelstwmsbt,procpixelstr,procpixelsttdrawlineng8b16bmsnt16x16    DetermineWindow drawlineng8b16bmsntmsw16x16, drawlineng8b16bmsntmw16x16, drawlineng8b16bmsntsw16x16    drawline16bmacro16x16 tltype8b,preparet8ba,cachesingle8bng,ngpalcon8b,test8ba,0FFh,procpixelsmsnt,procpixelstmsntdrawlineng8b16bmsntmsw16x16:    drawline16bwmacro16x16 tltype8b,preparet8ba,cachesingle8bng,ngpalcon8b,test8ba,0FFh,procpixelsmsnt,procpixelstmsnt,procpixelstwmsntdrawlineng8b16bmsntmw16x16:    drawline16bw2macro16x16 tltype8b,preparet8ba,cachesingle8bng,ngpalcon8b,test8ba,0FFh,procpixelsmsnt,procpixelstmsnt,procpixelstwsmnt,procpixelss,procpixelstsdrawlineng8b16bmsntsw16x16:    drawline16bw2macro16x16 tltype8b,preparet8ba,cachesingle8bng,ngpalcon8b,test8ba,0FFh,procpixelsmsnt,procpixelstmsnt,procpixelstwmsbnt,procpixelsnt,procpixelstnt%macro drawline16bmacro16x8 10    cmp byte[curmosaicsz],1    ja near %%res640    cmp byte[res640],0    je near %%res640    mov byte[tleftn],33%%loop    mov cx,[vrama+eax]    xor ecx,[ng16bprval]    test ecx,2000h    jnz near %%finline    drawlineng16x816b %1,%2,%3,%%loop,%%finline,%4,%5,%6,%7,%8    ret%%res640    push ebx    mov cl,[curmosaicsz]%%mosloop    mov byte[SpecialLine+ebx],0    inc ebx    dec cl    jnz %%mosloop    pop ebx    mov byte[tleftn],33%%loopb    mov cx,[vrama+eax]    xor ecx,[ng16bprval]    test ecx,2000h    jnz near %%finlineb

⌨️ 快捷键说明

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