Updated video code again to fix compile problems

This commit is contained in:
pagefault
2003-03-16 22:18:47 +00:00
parent 45410d2141
commit 34b8e2dd3a
2 changed files with 10 additions and 150 deletions

View File

@@ -15,6 +15,8 @@
;along with this program; if not, write to the Free Software ;along with this program; if not, write to the Free Software
;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
ALIGN32
%include "macros.mac" %include "macros.mac"
EXTSYM vesa2selec,vidbuffer,GUIOn,MMXSupport,resolutn,En2xSaI,antienab,scanlines EXTSYM vesa2selec,vidbuffer,GUIOn,MMXSupport,resolutn,En2xSaI,antienab,scanlines
@@ -38,7 +40,6 @@ NEWSYM copy640x480x16bwin
cmp byte[curblank],40h cmp byte[curblank],40h
jne .startcopy jne .startcopy
ret ret
ALIGN4
.startcopy .startcopy
push es push es
mov ax,ds mov ax,ds
@@ -74,7 +75,6 @@ ALIGN4
cmp byte[newengen],0 cmp byte[newengen],0
je .loopa je .loopa
mov ebx,SpecialLine+1 mov ebx,SpecialLine+1
ALIGN4
.loopa .loopa
mov ecx,256 mov ecx,256
cmp byte[ebx],1 cmp byte[ebx],1
@@ -118,11 +118,9 @@ ALIGN4
cmp byte[MMXSupport],1 cmp byte[MMXSupport],1
je .mmx2 je .mmx2
ret ret
ALIGN4
.mmx2 .mmx2
emms emms
ret ret
ALIGN4
.yeshires .yeshires
mov byte[ebx],0 mov byte[ebx],0
test byte[res512switch],1 test byte[res512switch],1
@@ -140,7 +138,6 @@ ALIGN4
pop ebx pop ebx
add edi,[NumBytesPerLine] add edi,[NumBytesPerLine]
jmp .return jmp .return
ALIGN4
.rightside .rightside
push ebx push ebx
mov ebx,[NumBytesPerLine] mov ebx,[NumBytesPerLine]
@@ -155,7 +152,6 @@ ALIGN4
pop ebx pop ebx
add edi,[NumBytesPerLine] add edi,[NumBytesPerLine]
jmp .return jmp .return
ALIGN4
.mmx .mmx
mov eax,[spritetablea] mov eax,[spritetablea]
mov ecx,64 mov ecx,64
@@ -192,12 +188,10 @@ ALIGN4
dec ecx dec ecx
jnz .mmxr2 jnz .mmxr2
jmp .return jmp .return
ALIGN4
.yeshiresng .yeshiresng
call HighResProc call HighResProc
jmp .return jmp .return
ALIGN4
.bng .bng
mov eax,[esi+75036*4-2] mov eax,[esi+75036*4-2]
mov ax,[esi] mov ax,[esi]
@@ -219,7 +213,6 @@ ALIGN4
jnz .bngb jnz .bngb
jmp .return jmp .return
ALIGN4
.scanlines .scanlines
mov ebx,hirestiledat+1 mov ebx,hirestiledat+1
cmp byte[GUIOn],1 cmp byte[GUIOn],1
@@ -227,7 +220,6 @@ ALIGN4
cmp byte[newengen],0 cmp byte[newengen],0
je .loopab je .loopab
mov ebx,SpecialLine+1 mov ebx,SpecialLine+1
ALIGN4
.loopab .loopab
mov ecx,256 mov ecx,256
cmp byte[ebx],1 cmp byte[ebx],1
@@ -236,7 +228,6 @@ ALIGN4
jbe .ignorehrb jbe .ignorehrb
call HighResProc call HighResProc
jmp .returnb jmp .returnb
ALIGN4
.ignorehrb .ignorehrb
cmp byte[MMXSupport],1 cmp byte[MMXSupport],1
je .mmxsl je .mmxsl
@@ -253,7 +244,6 @@ ALIGN4
add esi,64 add esi,64
add edi,[AddEndBytes] add edi,[AddEndBytes]
mov ecx,256 mov ecx,256
ALIGN4
.fslloop .fslloop
mov dword[edi],0 mov dword[edi],0
add edi,4 add edi,4
@@ -268,7 +258,7 @@ ALIGN4
cmp byte[MMXSupport],1 cmp byte[MMXSupport],1
je .mmx2 je .mmx2
ret ret
ALIGN4
.yeshiresb .yeshiresb
mov byte[ebx],0 mov byte[ebx],0
test byte[res512switch],1 test byte[res512switch],1
@@ -281,7 +271,6 @@ ALIGN4
dec ecx dec ecx
jnz .bb jnz .bb
jmp .returnb jmp .returnb
ALIGN4
.rightsideb .rightsideb
.cb .cb
mov ax,[esi] mov ax,[esi]
@@ -291,7 +280,6 @@ ALIGN4
dec ecx dec ecx
jnz .cb jnz .cb
jmp .returnb jmp .returnb
ALIGN4
.mmxsl .mmxsl
mov ecx,64 mov ecx,64
.mmxrsl .mmxrsl
@@ -308,7 +296,6 @@ ALIGN4
jnz .mmxrsl jnz .mmxrsl
jmp .returnb jmp .returnb
ALIGN4
.halfscanlines .halfscanlines
mov ebx,hirestiledat+1 mov ebx,hirestiledat+1
cmp byte[GUIOn],1 cmp byte[GUIOn],1
@@ -316,13 +303,11 @@ ALIGN4
cmp byte[newengen],0 cmp byte[newengen],0
je .loopabh je .loopabh
mov ebx,SpecialLine+1 mov ebx,SpecialLine+1
ALIGN4
.loopabh .loopabh
cmp byte[ebx],1 cmp byte[ebx],1
jbe .ignorehrbh jbe .ignorehrbh
call HighResProc call HighResProc
jmp .returnbh jmp .returnbh
ALIGN4
.ignorehrbh .ignorehrbh
cmp byte[MMXSupport],1 cmp byte[MMXSupport],1
je .mmxslh je .mmxslh
@@ -360,7 +345,6 @@ ALIGN4
cmp byte[MMXSupport],1 cmp byte[MMXSupport],1
je .mmx2 je .mmx2
ret ret
ALIGN4
.mmxslh .mmxslh
mov eax,[spritetablea] mov eax,[spritetablea]
mov ecx,64 mov ecx,64
@@ -407,7 +391,6 @@ ALIGN4
jnz .mmxr2h jnz .mmxr2h
jmp .returnbh jmp .returnbh
ALIGN4
.quartscanlines .quartscanlines
mov [lineleft],dl mov [lineleft],dl
mov ebx,hirestiledat+1 mov ebx,hirestiledat+1
@@ -416,13 +399,11 @@ ALIGN4
cmp byte[newengen],0 cmp byte[newengen],0
je .loopabh2 je .loopabh2
mov ebx,SpecialLine+1 mov ebx,SpecialLine+1
ALIGN4
.loopabh2 .loopabh2
cmp byte[ebx],1 cmp byte[ebx],1
jbe .ignorehrbh2 jbe .ignorehrbh2
call HighResProc call HighResProc
jmp .returnbh2 jmp .returnbh2
ALIGN4
.ignorehrbh2 .ignorehrbh2
cmp byte[MMXSupport],1 cmp byte[MMXSupport],1
je .mmxslh2 je .mmxslh2
@@ -464,7 +445,6 @@ ALIGN4
cmp byte[MMXSupport],1 cmp byte[MMXSupport],1
je .mmx2 je .mmx2
ret ret
ALIGN4
.mmxslh2 .mmxslh2
mov eax,[spritetablea] mov eax,[spritetablea]
mov ecx,64 mov ecx,64
@@ -511,7 +491,6 @@ ALIGN4
jnz .mmxr2h2 jnz .mmxr2h2
jmp .returnbh2 jmp .returnbh2
ALIGN4
HighResProc: HighResProc:
mov ecx,256 mov ecx,256
cmp byte[ebx],3 cmp byte[ebx],3
@@ -544,7 +523,6 @@ HighResProc:
add edi,[NumBytesPerLine] add edi,[NumBytesPerLine]
.nofielde .nofielde
ret ret
ALIGN4
.hiresmode7 .hiresmode7
cmp byte[MMXSupport],1 cmp byte[MMXSupport],1
je .yeshiresngmmxmode7 je .yeshiresngmmxmode7
@@ -572,7 +550,6 @@ ALIGN4
jnz .a2b jnz .a2b
sub esi,75036*4 sub esi,75036*4
ret ret
ALIGN4
.yeshiresngmmxmode7 .yeshiresngmmxmode7
mov ecx,64 mov ecx,64
.mmxr .mmxr
@@ -605,7 +582,6 @@ ALIGN4
jnz .mmxrb jnz .mmxrb
sub esi,75036*4 sub esi,75036*4
ret ret
ALIGN4
.hires .hires
cmp byte[MMXSupport],1 cmp byte[MMXSupport],1
je .yeshiresngmmx je .yeshiresngmmx
@@ -626,7 +602,6 @@ ALIGN4
add edi,[NumBytesPerLine] add edi,[NumBytesPerLine]
.lowerfield .lowerfield
ret ret
ALIGN4
.nofieldb .nofieldb
cmp byte[scanlines],1 cmp byte[scanlines],1
je .scanlines je .scanlines
@@ -646,10 +621,8 @@ ALIGN4
dec ecx dec ecx
jnz .bngb jnz .bngb
ret ret
ALIGN4
.scanlines .scanlines
ret ret
ALIGN4
.yeshiresngmmx .yeshiresngmmx
mov eax,[spritetablea] mov eax,[spritetablea]
mov ecx,64 mov ecx,64
@@ -678,7 +651,6 @@ ALIGN4
add edi,[NumBytesPerLine] add edi,[NumBytesPerLine]
.lowerfieldb .lowerfieldb
ret ret
ALIGN4
.nofieldc .nofieldc
cmp byte[scanlines],1 cmp byte[scanlines],1
je .scanlines je .scanlines
@@ -711,7 +683,6 @@ ALIGN4
dec ecx dec ecx
jnz .mmxr2 jnz .mmxr2
ret ret
ALIGN4
.antialias .antialias
add edi,[AddEndBytes] add edi,[AddEndBytes]
mov eax,[spritetablea] mov eax,[spritetablea]
@@ -745,7 +716,6 @@ ALIGN4
dec ecx dec ecx
jnz .mmxr2aa jnz .mmxr2aa
ret ret
ALIGN4
.halfscanlines .halfscanlines
add edi,[AddEndBytes] add edi,[AddEndBytes]
sub esi,256*2 sub esi,256*2
@@ -762,7 +732,6 @@ ALIGN4
dec ecx dec ecx
jnz .abhs jnz .abhs
ret ret
ALIGN4
.quartscanlines .quartscanlines
add edi,[AddEndBytes] add edi,[AddEndBytes]
sub esi,256*2 sub esi,256*2
@@ -782,7 +751,6 @@ ALIGN4
dec ecx dec ecx
jnz .abhs2 jnz .abhs2
ret ret
ALIGN4
.halfscanlinesmmx .halfscanlinesmmx
mov eax,[spritetablea] mov eax,[spritetablea]
mov ecx,32 mov ecx,32
@@ -811,7 +779,6 @@ ALIGN4
dec ecx dec ecx
jnz .mmxr2h jnz .mmxr2h
ret ret
ALIGN4
.quartscanlinesmmx .quartscanlinesmmx
mov eax,[spritetablea] mov eax,[spritetablea]
mov ecx,64 mov ecx,64
@@ -841,7 +808,6 @@ ALIGN4
jnz .mmxr2h2 jnz .mmxr2h2
ret ret
ALIGN4
Process2xSaIwin: Process2xSaIwin:
mov ebx,hirestiledat+1 mov ebx,hirestiledat+1
cmp byte[GUIOn],1 cmp byte[GUIOn],1
@@ -849,7 +815,6 @@ Process2xSaIwin:
cmp byte[newengen],0 cmp byte[newengen],0
je .loopabi je .loopabi
mov ebx,SpecialLine+1 mov ebx,SpecialLine+1
ALIGN4
.loopabi .loopabi
mov [InterPtr],ebx mov [InterPtr],ebx
@@ -881,7 +846,6 @@ ALIGN4
jnz .nextb jnz .nextb
pop ebx pop ebx
jmp .returninterp jmp .returninterp
ALIGN4
.ignorehr .ignorehr
;srcPtr equ 8 ;srcPtr equ 8
@@ -911,11 +875,9 @@ ALIGN4
je .super2xSaI je .super2xSaI
call _2xSaILineW call _2xSaILineW
jmp .normal jmp .normal
ALIGN4
.supereagle .supereagle
call _2xSaISuperEagleLineW call _2xSaISuperEagleLineW
jmp .normal jmp .normal
ALIGN4
.super2xSaI .super2xSaI
call _2xSaISuper2xSaILineW call _2xSaISuper2xSaILineW
.normal .normal
@@ -930,7 +892,6 @@ ALIGN4
jnz .next jnz .next
mov ecx,256 mov ecx,256
sub edi,[NumBytesPerLine] sub edi,[NumBytesPerLine]
ALIGN4
.loop .loop
mov dword[es:edi],0 mov dword[es:edi],0
add edi,4 add edi,4
@@ -939,7 +900,6 @@ ALIGN4
pop es pop es
emms emms
ret ret
ALIGN4
.returninterp .returninterp
add esi,64 add esi,64
inc dword[InterPtr] inc dword[InterPtr]
@@ -951,7 +911,6 @@ ALIGN4
pop es pop es
ret ret
ALIGN4
MMXInterpolwin: MMXInterpolwin:
mov ebx,hirestiledat+1 mov ebx,hirestiledat+1
cmp byte[GUIOn],1 cmp byte[GUIOn],1
@@ -959,7 +918,6 @@ MMXInterpolwin:
cmp byte[newengen],0 cmp byte[newengen],0
je .loopab je .loopab
mov ebx,SpecialLine+1 mov ebx,SpecialLine+1
ALIGN4
.loopab .loopab
mov dl,[resolutn] mov dl,[resolutn]
@@ -1013,7 +971,6 @@ ALIGN4
call HighResProc call HighResProc
movq mm2,[HalfTransC] movq mm2,[HalfTransC]
jmp .returninterp jmp .returninterp
ALIGN4
.ignorehr .ignorehr
mov eax,[esi+510] mov eax,[esi+510]
mov ecx,64 mov ecx,64
@@ -1090,7 +1047,6 @@ ALIGN4
pop es pop es
ret ret
ALIGN4
.scanlines .scanlines
inc dl inc dl
mov [lineleft],dl mov [lineleft],dl
@@ -1104,7 +1060,6 @@ ALIGN4
call HighResProc call HighResProc
movq mm2,[HalfTrans] movq mm2,[HalfTrans]
jmp .returninterps jmp .returninterps
ALIGN4
.ignorehrs .ignorehrs
.a .a
movq mm0,[esi] movq mm0,[esi]
@@ -1131,7 +1086,6 @@ ALIGN4
add esi,64 add esi,64
add edi,[AddEndBytes] add edi,[AddEndBytes]
mov ecx,256 mov ecx,256
ALIGN4
.fslloop .fslloop
mov dword[edi],0 mov dword[edi],0
add edi,4 add edi,4
@@ -1146,7 +1100,6 @@ ALIGN4
pop es pop es
ret ret
ALIGN4
.scanlineshalf .scanlineshalf
inc dl inc dl
mov [lineleft],dl mov [lineleft],dl
@@ -1157,7 +1110,6 @@ ALIGN4
call HighResProc call HighResProc
movq mm2,[HalfTrans] movq mm2,[HalfTrans]
jmp .returninterphs jmp .returninterphs
ALIGN4
.ignorehrhs .ignorehrhs
mov eax,[esi+510] mov eax,[esi+510]
mov ecx,64 mov ecx,64
@@ -1212,7 +1164,6 @@ ALIGN4
pop es pop es
ret ret
ALIGN4
.scanlinesquart .scanlinesquart
inc dl inc dl
mov [lineleft],dl mov [lineleft],dl
@@ -1223,7 +1174,6 @@ ALIGN4
call HighResProc call HighResProc
movq mm2,[HalfTransC] movq mm2,[HalfTransC]
jmp .returninterpqs jmp .returninterpqs
ALIGN4
.ignorehrqs .ignorehrqs
mov eax,[esi+510] mov eax,[esi+510]
mov ecx,64 mov ecx,64
@@ -1292,7 +1242,6 @@ ALIGN4
pop es pop es
ret ret
ALIGN4
NEWSYM interpolate640x480x16bwin NEWSYM interpolate640x480x16bwin
cmp byte[MMXSupport],1 cmp byte[MMXSupport],1
je MMXInterpolwin je MMXInterpolwin
@@ -1303,7 +1252,6 @@ NEWSYM interpolate640x480x16bwin
cmp byte[newengen],0 cmp byte[newengen],0
je .loopabi je .loopabi
mov ebx,SpecialLine+1 mov ebx,SpecialLine+1
ALIGN4
.loopabi .loopabi
mov [InterPtr],ebx mov [InterPtr],ebx
@@ -1338,14 +1286,12 @@ ALIGN4
add esi,66 add esi,66
add edi,[AddEndBytes] add edi,[AddEndBytes]
add edi,4 add edi,4
ALIGN4
.loopb .loopb
mov ebx,[InterPtr] mov ebx,[InterPtr]
cmp byte[ebx],1 cmp byte[ebx],1
jbe .ignorehr jbe .ignorehr
call HighResProc call HighResProc
jmp .returninterp jmp .returninterp
ALIGN4
.ignorehr .ignorehr
mov ecx,255 mov ecx,255
mov edx,[spritetablea] mov edx,[spritetablea]
@@ -1389,7 +1335,6 @@ ALIGN4
jnz .loopb jnz .loopb
pop es pop es
ret ret
ALIGN4
.returninterp .returninterp
add esi,64 add esi,64
inc dword[InterPtr] inc dword[InterPtr]
@@ -1399,7 +1344,6 @@ ALIGN4
pop es pop es
ret ret
ALIGN4
.scanlines .scanlines
xor eax,eax xor eax,eax
mov ebx,hirestiledat+1 mov ebx,hirestiledat+1
@@ -1408,7 +1352,6 @@ ALIGN4
cmp byte[newengen],0 cmp byte[newengen],0
je .loopabis je .loopabis
mov ebx,SpecialLine+1 mov ebx,SpecialLine+1
ALIGN4
.loopabis .loopabis
.loopab .loopab
mov ecx,255 mov ecx,255
@@ -1416,7 +1359,6 @@ ALIGN4
jbe .ignorehrs jbe .ignorehrs
call HighResProc call HighResProc
jmp .returninterps jmp .returninterps
ALIGN4
.ignorehrs .ignorehrs
cmp byte[ebx],1 cmp byte[ebx],1
je .yeshiresb je .yeshiresb
@@ -1441,7 +1383,6 @@ ALIGN4
add edi,4 add edi,4
add edi,[AddEndBytes] add edi,[AddEndBytes]
mov ecx,256 mov ecx,256
ALIGN4
.fslloop .fslloop
mov dword[edi],0 mov dword[edi],0
add edi,4 add edi,4
@@ -1454,7 +1395,6 @@ ALIGN4
pop es pop es
xor byte[res512switch],1 xor byte[res512switch],1
ret ret
ALIGN4
.yeshiresb .yeshiresb
mov byte[ebx],0 mov byte[ebx],0
test byte[res512switch],1 test byte[res512switch],1
@@ -1467,7 +1407,6 @@ ALIGN4
dec ecx dec ecx
jnz .bb jnz .bb
jmp .returnb jmp .returnb
ALIGN4
.rightsideb .rightsideb
.cb .cb
mov ax,[esi] mov ax,[esi]
@@ -1477,13 +1416,12 @@ ALIGN4
dec ecx dec ecx
jnz .cb jnz .cb
jmp .returnb jmp .returnb
ALIGN4
.returninterps .returninterps
add esi,64 add esi,64
inc dword[InterPtr] inc dword[InterPtr]
add edi,[AddEndBytes] add edi,[AddEndBytes]
mov ecx,256 mov ecx,256
ALIGN4
.fslloop2 .fslloop2
mov dword[edi],0 mov dword[edi],0
add edi,4 add edi,4
@@ -1495,18 +1433,15 @@ ALIGN4
pop es pop es
ret ret
ALIGN4
.scanlineshalf .scanlineshalf
xor eax,eax xor eax,eax
mov [lineleft],dl mov [lineleft],dl
ALIGN4
.loopab2 .loopab2
mov ebx,[InterPtr] mov ebx,[InterPtr]
cmp byte[ebx],1 cmp byte[ebx],1
jbe .ignorehrhs jbe .ignorehrhs
call HighResProc call HighResProc
jmp .returninterphs jmp .returninterphs
ALIGN4
.ignorehrhs .ignorehrhs
mov ecx,255 mov ecx,255
mov edx,[spritetablea] mov edx,[spritetablea]
@@ -1548,7 +1483,6 @@ ALIGN4
jnz .loopab2 jnz .loopab2
pop es pop es
ret ret
ALIGN4
.returninterphs .returninterphs
add esi,64 add esi,64
inc dword[InterPtr] inc dword[InterPtr]
@@ -1558,18 +1492,16 @@ ALIGN4
pop es pop es
ret ret
ALIGN4
.scanlinesquart .scanlinesquart
xor eax,eax xor eax,eax
mov [lineleft],dl mov [lineleft],dl
ALIGN4
.loopab3 .loopab3
mov ebx,[InterPtr] mov ebx,[InterPtr]
cmp byte[ebx],1 cmp byte[ebx],1
jbe .ignorehrqs jbe .ignorehrqs
call HighResProc call HighResProc
jmp .returninterpqs jmp .returninterpqs
ALIGN4
.ignorehrqs .ignorehrqs
mov ecx,255 mov ecx,255
mov edx,[spritetablea] mov edx,[spritetablea]
@@ -1615,7 +1547,6 @@ ALIGN4
jnz .loopab3 jnz .loopab3
pop es pop es
ret ret
ALIGN4
.returninterpqs .returninterpqs
add esi,64 add esi,64
inc dword[InterPtr] inc dword[InterPtr]

View File

@@ -15,6 +15,8 @@
;along with this program; if not, write to the Free Software ;along with this program; if not, write to the Free Software
;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
ALIGN32
%include "macros.mac" %include "macros.mac"
EXTSYM vesa2selec,vidbuffer,GUIOn,MMXSupport,resolutn,En2xSaI,antienab,scanlines EXTSYM vesa2selec,vidbuffer,GUIOn,MMXSupport,resolutn,En2xSaI,antienab,scanlines
@@ -40,7 +42,6 @@ NEWSYM copy640x480x16bwin
cmp byte[curblank],40h cmp byte[curblank],40h
jne .startcopy jne .startcopy
ret ret
ALIGN4
.startcopy .startcopy
push es push es
mov ax,ds mov ax,ds
@@ -76,7 +77,6 @@ ALIGN4
cmp byte[newengen],0 cmp byte[newengen],0
je .loopa je .loopa
mov ebx,SpecialLine+1 mov ebx,SpecialLine+1
ALIGN4
.loopa .loopa
mov ecx,256 mov ecx,256
cmp byte[ebx],1 cmp byte[ebx],1
@@ -120,11 +120,9 @@ ALIGN4
cmp byte[MMXSupport],1 cmp byte[MMXSupport],1
je .mmx2 je .mmx2
ret ret
ALIGN4
.mmx2 .mmx2
emms emms
ret ret
ALIGN4
.yeshires .yeshires
mov byte[ebx],0 mov byte[ebx],0
test byte[res512switch],1 test byte[res512switch],1
@@ -142,7 +140,6 @@ ALIGN4
pop ebx pop ebx
add edi,[NumBytesPerLine] add edi,[NumBytesPerLine]
jmp .return jmp .return
ALIGN4
.rightside .rightside
push ebx push ebx
mov ebx,[NumBytesPerLine] mov ebx,[NumBytesPerLine]
@@ -157,7 +154,6 @@ ALIGN4
pop ebx pop ebx
add edi,[NumBytesPerLine] add edi,[NumBytesPerLine]
jmp .return jmp .return
ALIGN4
.mmx .mmx
mov eax,[spritetablea] mov eax,[spritetablea]
mov ecx,64 mov ecx,64
@@ -194,12 +190,10 @@ ALIGN4
dec ecx dec ecx
jnz .mmxr2 jnz .mmxr2
jmp .return jmp .return
ALIGN4
.yeshiresng .yeshiresng
call HighResProc call HighResProc
jmp .return jmp .return
ALIGN4
.bng .bng
mov eax,[esi+75036*4-2] mov eax,[esi+75036*4-2]
mov ax,[esi] mov ax,[esi]
@@ -221,7 +215,6 @@ ALIGN4
jnz .bngb jnz .bngb
jmp .return jmp .return
ALIGN4
.scanlines .scanlines
mov ebx,hirestiledat+1 mov ebx,hirestiledat+1
cmp byte[GUIOn],1 cmp byte[GUIOn],1
@@ -229,7 +222,6 @@ ALIGN4
cmp byte[newengen],0 cmp byte[newengen],0
je .loopab je .loopab
mov ebx,SpecialLine+1 mov ebx,SpecialLine+1
ALIGN4
.loopab .loopab
mov ecx,256 mov ecx,256
cmp byte[ebx],1 cmp byte[ebx],1
@@ -238,7 +230,6 @@ ALIGN4
jbe .ignorehrb jbe .ignorehrb
call HighResProc call HighResProc
jmp .returnb jmp .returnb
ALIGN4
.ignorehrb .ignorehrb
cmp byte[MMXSupport],1 cmp byte[MMXSupport],1
je .mmxsl je .mmxsl
@@ -255,7 +246,6 @@ ALIGN4
add esi,64 add esi,64
add edi,[AddEndBytes] add edi,[AddEndBytes]
mov ecx,256 mov ecx,256
ALIGN4
.fslloop .fslloop
mov dword[edi],0 mov dword[edi],0
add edi,4 add edi,4
@@ -270,7 +260,7 @@ ALIGN4
cmp byte[MMXSupport],1 cmp byte[MMXSupport],1
je .mmx2 je .mmx2
ret ret
ALIGN4
.yeshiresb .yeshiresb
mov byte[ebx],0 mov byte[ebx],0
test byte[res512switch],1 test byte[res512switch],1
@@ -283,7 +273,6 @@ ALIGN4
dec ecx dec ecx
jnz .bb jnz .bb
jmp .returnb jmp .returnb
ALIGN4
.rightsideb .rightsideb
.cb .cb
mov ax,[esi] mov ax,[esi]
@@ -293,7 +282,6 @@ ALIGN4
dec ecx dec ecx
jnz .cb jnz .cb
jmp .returnb jmp .returnb
ALIGN4
.mmxsl .mmxsl
mov ecx,64 mov ecx,64
.mmxrsl .mmxrsl
@@ -310,7 +298,6 @@ ALIGN4
jnz .mmxrsl jnz .mmxrsl
jmp .returnb jmp .returnb
ALIGN4
.halfscanlines .halfscanlines
mov ebx,hirestiledat+1 mov ebx,hirestiledat+1
cmp byte[GUIOn],1 cmp byte[GUIOn],1
@@ -318,13 +305,11 @@ ALIGN4
cmp byte[newengen],0 cmp byte[newengen],0
je .loopabh je .loopabh
mov ebx,SpecialLine+1 mov ebx,SpecialLine+1
ALIGN4
.loopabh .loopabh
cmp byte[ebx],1 cmp byte[ebx],1
jbe .ignorehrbh jbe .ignorehrbh
call HighResProc call HighResProc
jmp .returnbh jmp .returnbh
ALIGN4
.ignorehrbh .ignorehrbh
cmp byte[MMXSupport],1 cmp byte[MMXSupport],1
je .mmxslh je .mmxslh
@@ -362,7 +347,6 @@ ALIGN4
cmp byte[MMXSupport],1 cmp byte[MMXSupport],1
je .mmx2 je .mmx2
ret ret
ALIGN4
.mmxslh .mmxslh
mov eax,[spritetablea] mov eax,[spritetablea]
mov ecx,64 mov ecx,64
@@ -409,7 +393,6 @@ ALIGN4
jnz .mmxr2h jnz .mmxr2h
jmp .returnbh jmp .returnbh
ALIGN4
.quartscanlines .quartscanlines
mov [lineleft],dl mov [lineleft],dl
mov ebx,hirestiledat+1 mov ebx,hirestiledat+1
@@ -418,13 +401,11 @@ ALIGN4
cmp byte[newengen],0 cmp byte[newengen],0
je .loopabh2 je .loopabh2
mov ebx,SpecialLine+1 mov ebx,SpecialLine+1
ALIGN4
.loopabh2 .loopabh2
cmp byte[ebx],1 cmp byte[ebx],1
jbe .ignorehrbh2 jbe .ignorehrbh2
call HighResProc call HighResProc
jmp .returnbh2 jmp .returnbh2
ALIGN4
.ignorehrbh2 .ignorehrbh2
cmp byte[MMXSupport],1 cmp byte[MMXSupport],1
je .mmxslh2 je .mmxslh2
@@ -466,7 +447,6 @@ ALIGN4
cmp byte[MMXSupport],1 cmp byte[MMXSupport],1
je .mmx2 je .mmx2
ret ret
ALIGN4
.mmxslh2 .mmxslh2
mov eax,[spritetablea] mov eax,[spritetablea]
mov ecx,64 mov ecx,64
@@ -513,7 +493,6 @@ ALIGN4
jnz .mmxr2h2 jnz .mmxr2h2
jmp .returnbh2 jmp .returnbh2
ALIGN4
HighResProc: HighResProc:
mov ecx,256 mov ecx,256
cmp byte[ebx],3 cmp byte[ebx],3
@@ -546,7 +525,6 @@ HighResProc:
add edi,[NumBytesPerLine] add edi,[NumBytesPerLine]
.nofielde .nofielde
ret ret
ALIGN4
.hiresmode7 .hiresmode7
cmp byte[MMXSupport],1 cmp byte[MMXSupport],1
je .yeshiresngmmxmode7 je .yeshiresngmmxmode7
@@ -574,7 +552,6 @@ ALIGN4
jnz .a2b jnz .a2b
sub esi,75036*4 sub esi,75036*4
ret ret
ALIGN4
.yeshiresngmmxmode7 .yeshiresngmmxmode7
mov ecx,64 mov ecx,64
.mmxr .mmxr
@@ -607,7 +584,6 @@ ALIGN4
jnz .mmxrb jnz .mmxrb
sub esi,75036*4 sub esi,75036*4
ret ret
ALIGN4
.hires .hires
cmp byte[MMXSupport],1 cmp byte[MMXSupport],1
je .yeshiresngmmx je .yeshiresngmmx
@@ -628,7 +604,6 @@ ALIGN4
add edi,[NumBytesPerLine] add edi,[NumBytesPerLine]
.lowerfield .lowerfield
ret ret
ALIGN4
.nofieldb .nofieldb
cmp byte[scanlines],1 cmp byte[scanlines],1
je .scanlines je .scanlines
@@ -648,10 +623,8 @@ ALIGN4
dec ecx dec ecx
jnz .bngb jnz .bngb
ret ret
ALIGN4
.scanlines .scanlines
ret ret
ALIGN4
.yeshiresngmmx .yeshiresngmmx
mov eax,[spritetablea] mov eax,[spritetablea]
mov ecx,64 mov ecx,64
@@ -680,7 +653,6 @@ ALIGN4
add edi,[NumBytesPerLine] add edi,[NumBytesPerLine]
.lowerfieldb .lowerfieldb
ret ret
ALIGN4
.nofieldc .nofieldc
cmp byte[scanlines],1 cmp byte[scanlines],1
je .scanlines je .scanlines
@@ -713,7 +685,6 @@ ALIGN4
dec ecx dec ecx
jnz .mmxr2 jnz .mmxr2
ret ret
ALIGN4
.antialias .antialias
add edi,[AddEndBytes] add edi,[AddEndBytes]
mov eax,[spritetablea] mov eax,[spritetablea]
@@ -747,7 +718,6 @@ ALIGN4
dec ecx dec ecx
jnz .mmxr2aa jnz .mmxr2aa
ret ret
ALIGN4
.halfscanlines .halfscanlines
add edi,[AddEndBytes] add edi,[AddEndBytes]
sub esi,256*2 sub esi,256*2
@@ -764,7 +734,6 @@ ALIGN4
dec ecx dec ecx
jnz .abhs jnz .abhs
ret ret
ALIGN4
.quartscanlines .quartscanlines
add edi,[AddEndBytes] add edi,[AddEndBytes]
sub esi,256*2 sub esi,256*2
@@ -784,7 +753,6 @@ ALIGN4
dec ecx dec ecx
jnz .abhs2 jnz .abhs2
ret ret
ALIGN4
.halfscanlinesmmx .halfscanlinesmmx
mov eax,[spritetablea] mov eax,[spritetablea]
mov ecx,32 mov ecx,32
@@ -813,7 +781,6 @@ ALIGN4
dec ecx dec ecx
jnz .mmxr2h jnz .mmxr2h
ret ret
ALIGN4
.quartscanlinesmmx .quartscanlinesmmx
mov eax,[spritetablea] mov eax,[spritetablea]
mov ecx,64 mov ecx,64
@@ -843,7 +810,6 @@ ALIGN4
jnz .mmxr2h2 jnz .mmxr2h2
ret ret
ALIGN4
Process2xSaIwin: Process2xSaIwin:
mov ebx,hirestiledat+1 mov ebx,hirestiledat+1
cmp byte[GUIOn],1 cmp byte[GUIOn],1
@@ -851,7 +817,6 @@ Process2xSaIwin:
cmp byte[newengen],0 cmp byte[newengen],0
je .loopabi je .loopabi
mov ebx,SpecialLine+1 mov ebx,SpecialLine+1
ALIGN4
.loopabi .loopabi
mov [InterPtr],ebx mov [InterPtr],ebx
@@ -883,7 +848,6 @@ ALIGN4
jnz .nextb jnz .nextb
pop ebx pop ebx
jmp .returninterp jmp .returninterp
ALIGN4
.ignorehr .ignorehr
;srcPtr equ 8 ;srcPtr equ 8
@@ -913,11 +877,9 @@ ALIGN4
je .super2xSaI je .super2xSaI
call _2xSaILineW call _2xSaILineW
jmp .normal jmp .normal
ALIGN4
.supereagle .supereagle
call _2xSaISuperEagleLineW call _2xSaISuperEagleLineW
jmp .normal jmp .normal
ALIGN4
.super2xSaI .super2xSaI
call _2xSaISuper2xSaILineW call _2xSaISuper2xSaILineW
.normal .normal
@@ -932,7 +894,6 @@ ALIGN4
jnz .next jnz .next
mov ecx,256 mov ecx,256
sub edi,[NumBytesPerLine] sub edi,[NumBytesPerLine]
ALIGN4
.loop .loop
mov dword[es:edi],0 mov dword[es:edi],0
add edi,4 add edi,4
@@ -941,7 +902,6 @@ ALIGN4
pop es pop es
emms emms
ret ret
ALIGN4
.returninterp .returninterp
add esi,64 add esi,64
inc dword[InterPtr] inc dword[InterPtr]
@@ -953,7 +913,6 @@ ALIGN4
pop es pop es
ret ret
ALIGN4
MMXInterpolwin: MMXInterpolwin:
mov ebx,hirestiledat+1 mov ebx,hirestiledat+1
cmp byte[GUIOn],1 cmp byte[GUIOn],1
@@ -961,7 +920,6 @@ MMXInterpolwin:
cmp byte[newengen],0 cmp byte[newengen],0
je .loopab je .loopab
mov ebx,SpecialLine+1 mov ebx,SpecialLine+1
ALIGN4
.loopab .loopab
mov dl,[resolutn] mov dl,[resolutn]
@@ -1015,7 +973,6 @@ ALIGN4
call HighResProc call HighResProc
movq mm2,[HalfTransC] movq mm2,[HalfTransC]
jmp .returninterp jmp .returninterp
ALIGN4
.ignorehr .ignorehr
mov eax,[esi+510] mov eax,[esi+510]
mov ecx,64 mov ecx,64
@@ -1092,7 +1049,6 @@ ALIGN4
pop es pop es
ret ret
ALIGN4
.scanlines .scanlines
inc dl inc dl
mov [lineleft],dl mov [lineleft],dl
@@ -1106,7 +1062,6 @@ ALIGN4
call HighResProc call HighResProc
movq mm2,[HalfTrans] movq mm2,[HalfTrans]
jmp .returninterps jmp .returninterps
ALIGN4
.ignorehrs .ignorehrs
.a .a
movq mm0,[esi] movq mm0,[esi]
@@ -1133,7 +1088,6 @@ ALIGN4
add esi,64 add esi,64
add edi,[AddEndBytes] add edi,[AddEndBytes]
mov ecx,256 mov ecx,256
ALIGN4
.fslloop .fslloop
mov dword[edi],0 mov dword[edi],0
add edi,4 add edi,4
@@ -1148,7 +1102,6 @@ ALIGN4
pop es pop es
ret ret
ALIGN4
.scanlineshalf .scanlineshalf
inc dl inc dl
mov [lineleft],dl mov [lineleft],dl
@@ -1159,7 +1112,6 @@ ALIGN4
call HighResProc call HighResProc
movq mm2,[HalfTrans] movq mm2,[HalfTrans]
jmp .returninterphs jmp .returninterphs
ALIGN4
.ignorehrhs .ignorehrhs
mov eax,[esi+510] mov eax,[esi+510]
mov ecx,64 mov ecx,64
@@ -1214,7 +1166,6 @@ ALIGN4
pop es pop es
ret ret
ALIGN4
.scanlinesquart .scanlinesquart
inc dl inc dl
mov [lineleft],dl mov [lineleft],dl
@@ -1225,7 +1176,6 @@ ALIGN4
call HighResProc call HighResProc
movq mm2,[HalfTransC] movq mm2,[HalfTransC]
jmp .returninterpqs jmp .returninterpqs
ALIGN4
.ignorehrqs .ignorehrqs
mov eax,[esi+510] mov eax,[esi+510]
mov ecx,64 mov ecx,64
@@ -1294,7 +1244,6 @@ ALIGN4
pop es pop es
ret ret
ALIGN4
NEWSYM interpolate640x480x16bwin NEWSYM interpolate640x480x16bwin
cmp byte[MMXSupport],1 cmp byte[MMXSupport],1
je MMXInterpolwin je MMXInterpolwin
@@ -1305,7 +1254,6 @@ NEWSYM interpolate640x480x16bwin
cmp byte[newengen],0 cmp byte[newengen],0
je .loopabi je .loopabi
mov ebx,SpecialLine+1 mov ebx,SpecialLine+1
ALIGN4
.loopabi .loopabi
mov [InterPtr],ebx mov [InterPtr],ebx
@@ -1340,14 +1288,12 @@ ALIGN4
add esi,66 add esi,66
add edi,[AddEndBytes] add edi,[AddEndBytes]
add edi,4 add edi,4
ALIGN4
.loopb .loopb
mov ebx,[InterPtr] mov ebx,[InterPtr]
cmp byte[ebx],1 cmp byte[ebx],1
jbe .ignorehr jbe .ignorehr
call HighResProc call HighResProc
jmp .returninterp jmp .returninterp
ALIGN4
.ignorehr .ignorehr
mov ecx,255 mov ecx,255
mov edx,[spritetablea] mov edx,[spritetablea]
@@ -1391,7 +1337,6 @@ ALIGN4
jnz .loopb jnz .loopb
pop es pop es
ret ret
ALIGN4
.returninterp .returninterp
add esi,64 add esi,64
inc dword[InterPtr] inc dword[InterPtr]
@@ -1401,7 +1346,6 @@ ALIGN4
pop es pop es
ret ret
ALIGN4
.scanlines .scanlines
xor eax,eax xor eax,eax
mov ebx,hirestiledat+1 mov ebx,hirestiledat+1
@@ -1410,7 +1354,6 @@ ALIGN4
cmp byte[newengen],0 cmp byte[newengen],0
je .loopabis je .loopabis
mov ebx,SpecialLine+1 mov ebx,SpecialLine+1
ALIGN4
.loopabis .loopabis
.loopab .loopab
mov ecx,255 mov ecx,255
@@ -1418,7 +1361,6 @@ ALIGN4
jbe .ignorehrs jbe .ignorehrs
call HighResProc call HighResProc
jmp .returninterps jmp .returninterps
ALIGN4
.ignorehrs .ignorehrs
cmp byte[ebx],1 cmp byte[ebx],1
je .yeshiresb je .yeshiresb
@@ -1443,7 +1385,6 @@ ALIGN4
add edi,4 add edi,4
add edi,[AddEndBytes] add edi,[AddEndBytes]
mov ecx,256 mov ecx,256
ALIGN4
.fslloop .fslloop
mov dword[edi],0 mov dword[edi],0
add edi,4 add edi,4
@@ -1456,7 +1397,6 @@ ALIGN4
pop es pop es
xor byte[res512switch],1 xor byte[res512switch],1
ret ret
ALIGN4
.yeshiresb .yeshiresb
mov byte[ebx],0 mov byte[ebx],0
test byte[res512switch],1 test byte[res512switch],1
@@ -1469,7 +1409,6 @@ ALIGN4
dec ecx dec ecx
jnz .bb jnz .bb
jmp .returnb jmp .returnb
ALIGN4
.rightsideb .rightsideb
.cb .cb
mov ax,[esi] mov ax,[esi]
@@ -1479,13 +1418,12 @@ ALIGN4
dec ecx dec ecx
jnz .cb jnz .cb
jmp .returnb jmp .returnb
ALIGN4
.returninterps .returninterps
add esi,64 add esi,64
inc dword[InterPtr] inc dword[InterPtr]
add edi,[AddEndBytes] add edi,[AddEndBytes]
mov ecx,256 mov ecx,256
ALIGN4
.fslloop2 .fslloop2
mov dword[edi],0 mov dword[edi],0
add edi,4 add edi,4
@@ -1497,18 +1435,15 @@ ALIGN4
pop es pop es
ret ret
ALIGN4
.scanlineshalf .scanlineshalf
xor eax,eax xor eax,eax
mov [lineleft],dl mov [lineleft],dl
ALIGN4
.loopab2 .loopab2
mov ebx,[InterPtr] mov ebx,[InterPtr]
cmp byte[ebx],1 cmp byte[ebx],1
jbe .ignorehrhs jbe .ignorehrhs
call HighResProc call HighResProc
jmp .returninterphs jmp .returninterphs
ALIGN4
.ignorehrhs .ignorehrhs
mov ecx,255 mov ecx,255
mov edx,[spritetablea] mov edx,[spritetablea]
@@ -1550,7 +1485,6 @@ ALIGN4
jnz .loopab2 jnz .loopab2
pop es pop es
ret ret
ALIGN4
.returninterphs .returninterphs
add esi,64 add esi,64
inc dword[InterPtr] inc dword[InterPtr]
@@ -1560,18 +1494,16 @@ ALIGN4
pop es pop es
ret ret
ALIGN4
.scanlinesquart .scanlinesquart
xor eax,eax xor eax,eax
mov [lineleft],dl mov [lineleft],dl
ALIGN4
.loopab3 .loopab3
mov ebx,[InterPtr] mov ebx,[InterPtr]
cmp byte[ebx],1 cmp byte[ebx],1
jbe .ignorehrqs jbe .ignorehrqs
call HighResProc call HighResProc
jmp .returninterpqs jmp .returninterpqs
ALIGN4
.ignorehrqs .ignorehrqs
mov ecx,255 mov ecx,255
mov edx,[spritetablea] mov edx,[spritetablea]
@@ -1617,7 +1549,6 @@ ALIGN4
jnz .loopab3 jnz .loopab3
pop es pop es
ret ret
ALIGN4
.returninterpqs .returninterpqs
add esi,64 add esi,64
inc dword[InterPtr] inc dword[InterPtr]
@@ -1631,8 +1562,6 @@ SECTION .bss
InterPtr resd 1 InterPtr resd 1
SECTION .text SECTION .text
%ifdef __MINGW__ %ifdef __MINGW__
NEWSYM CopyVWinAsmEnd NEWSYM CopyVWinAsmEnd
%endif %endif