📄 newg162.asm
字号:
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 + -