Add HQ2X and HQ4X, also add HQxX support to SDL port
This commit is contained in:
2172
zsnes/src/video/hq2x16.asm
Normal file
2172
zsnes/src/video/hq2x16.asm
Normal file
File diff suppressed because it is too large
Load Diff
2145
zsnes/src/video/hq2x32.asm
Normal file
2145
zsnes/src/video/hq2x32.asm
Normal file
File diff suppressed because it is too large
Load Diff
@@ -26,38 +26,20 @@ EXTSYM vidbuffer,curblank,MMXSupport,GUIOn,GUIOn2,
|
||||
EXTSYM vidbufferofsb
|
||||
EXTSYM FilteredGUI,resolutn,lineleft,cfield
|
||||
EXTSYM hirestiledat,newengen,SpecialLine,HalfTrans
|
||||
EXTSYM hq3xFilter
|
||||
EXTSYM hqFilter
|
||||
EXTSYM AddEndBytes
|
||||
EXTSYM NumBytesPerLine
|
||||
EXTSYM WinVidMemStart
|
||||
EXTSYM BitConv32Ptr
|
||||
EXTSYM RGBtoYUVPtr
|
||||
EXTSYM prevline, nextline, deltaptr, xcounter
|
||||
EXTSYM w1, w2, w3, w4, w5, w6, w7, w8, w9
|
||||
EXTSYM reg_blank, const7, cross, threshold
|
||||
|
||||
%ifdef __MINGW__
|
||||
NEWSYM CopyVWinAsmStart
|
||||
%endif
|
||||
|
||||
SECTION .bss
|
||||
NEWSYM prevline, resd 1
|
||||
NEWSYM nextline, resd 1
|
||||
NEWSYM deltaptr, resd 1
|
||||
NEWSYM xcounter, resd 1
|
||||
NEWSYM w1, resd 1
|
||||
NEWSYM w2, resd 1
|
||||
NEWSYM w3, resd 1
|
||||
NEWSYM w4, resd 1
|
||||
NEWSYM w5, resd 1
|
||||
NEWSYM w6, resd 1
|
||||
NEWSYM w7, resd 1
|
||||
NEWSYM w8, resd 1
|
||||
NEWSYM w9, resd 1
|
||||
NEWSYM cross, resd 1
|
||||
|
||||
SECTION .data
|
||||
NEWSYM reg_blank, dd 0,0
|
||||
NEWSYM const7, dd 0x00070007,0x00000007
|
||||
NEWSYM threshold, dd 0x00300706,0x00000000
|
||||
|
||||
SECTION .text
|
||||
|
||||
%macro TestDiff 2
|
||||
@@ -409,12 +391,12 @@ SECTION .text
|
||||
mov [edi+ebx*2+4],ax
|
||||
%endmacro
|
||||
|
||||
NEWSYM copy768x720x16bwin
|
||||
NEWSYM hq3x_16b
|
||||
cmp byte[curblank],40h
|
||||
jne .startcopy
|
||||
ret
|
||||
.startcopy
|
||||
push es
|
||||
pushad
|
||||
mov ax,ds
|
||||
mov es,ax
|
||||
mov esi,[vidbuffer]
|
||||
@@ -429,7 +411,7 @@ NEWSYM copy768x720x16bwin
|
||||
.filtergui
|
||||
cmp byte[MMXSupport],0
|
||||
je nointerp
|
||||
cmp byte[hq3xFilter],0
|
||||
cmp byte[hqFilter],0
|
||||
jne hq3x
|
||||
|
||||
;----------------------------;
|
||||
@@ -458,7 +440,7 @@ nointerp:
|
||||
add esi,64
|
||||
dec dl
|
||||
jnz near .loopy
|
||||
pop es
|
||||
popad
|
||||
ret
|
||||
|
||||
;----------------------------;
|
||||
@@ -2607,7 +2589,7 @@ hq3x:
|
||||
jmp .loopy
|
||||
.fin
|
||||
emms
|
||||
pop es
|
||||
popad
|
||||
ret
|
||||
|
||||
HighResProc:
|
||||
|
||||
@@ -26,7 +26,7 @@ EXTSYM vidbuffer,curblank,MMXSupport,GUIOn,GUIOn2,
|
||||
EXTSYM vidbufferofsb
|
||||
EXTSYM FilteredGUI,resolutn,lineleft,cfield
|
||||
EXTSYM hirestiledat,newengen,SpecialLine
|
||||
EXTSYM hq3xFilter
|
||||
EXTSYM hqFilter
|
||||
EXTSYM AddEndBytes
|
||||
EXTSYM NumBytesPerLine
|
||||
EXTSYM WinVidMemStart
|
||||
@@ -34,23 +34,13 @@ EXTSYM BitConv32Ptr
|
||||
EXTSYM RGBtoYUVPtr
|
||||
EXTSYM prevline, nextline, deltaptr, xcounter
|
||||
EXTSYM w1, w2, w3, w4, w5, w6, w7, w8, w9
|
||||
EXTSYM c1, c2, c3, c4, c5, c6, c7, c8, c9
|
||||
EXTSYM reg_blank, const7, cross, threshold
|
||||
|
||||
%ifdef __MINGW__
|
||||
NEWSYM CopyVWinAsmStart
|
||||
%endif
|
||||
|
||||
SECTION .bss
|
||||
NEWSYM c1, resd 1
|
||||
NEWSYM c2, resd 1
|
||||
NEWSYM c3, resd 1
|
||||
NEWSYM c4, resd 1
|
||||
NEWSYM c5, resd 1
|
||||
NEWSYM c6, resd 1
|
||||
NEWSYM c7, resd 1
|
||||
NEWSYM c8, resd 1
|
||||
NEWSYM c9, resd 1
|
||||
|
||||
SECTION .text
|
||||
|
||||
%macro TestDiff 2
|
||||
@@ -360,12 +350,12 @@ SECTION .text
|
||||
mov [edi+ebx*2+8],eax
|
||||
%endmacro
|
||||
|
||||
NEWSYM copy768x720x32bwin
|
||||
NEWSYM hq3x_32b
|
||||
cmp byte[curblank],40h
|
||||
jne .startcopy
|
||||
ret
|
||||
.startcopy
|
||||
push es
|
||||
pushad
|
||||
mov ax,ds
|
||||
mov es,ax
|
||||
mov esi,[vidbuffer]
|
||||
@@ -380,7 +370,7 @@ NEWSYM copy768x720x32bwin
|
||||
.filtergui
|
||||
cmp byte[MMXSupport],0
|
||||
je nointerp
|
||||
cmp byte[hq3xFilter],0
|
||||
cmp byte[hqFilter],0
|
||||
jne hq3x
|
||||
|
||||
;----------------------------;
|
||||
@@ -413,7 +403,7 @@ nointerp:
|
||||
add esi,64
|
||||
dec byte[lineleft]
|
||||
jnz near .loopy
|
||||
pop es
|
||||
popad
|
||||
ret
|
||||
|
||||
;----------------------------;
|
||||
@@ -2639,7 +2629,7 @@ hq3x:
|
||||
jmp .loopy
|
||||
.fin
|
||||
emms
|
||||
pop es
|
||||
popad
|
||||
ret
|
||||
|
||||
HighResProc:
|
||||
|
||||
4288
zsnes/src/video/hq4x16.asm
Normal file
4288
zsnes/src/video/hq4x16.asm
Normal file
File diff suppressed because it is too large
Load Diff
4212
zsnes/src/video/hq4x32.asm
Normal file
4212
zsnes/src/video/hq4x32.asm
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user