From ab5e3db9e3d1fae2abf97cf4770c8caab8ae81cc Mon Sep 17 00:00:00 2001 From: Max Horn Date: Sat, 24 Jan 2009 06:26:43 +0000 Subject: Moved 565 mode specific bits of HQ2x/HQ3x asm to 'variables' svn-id: r36034 --- graphics/scaler/hq3x_i386.asm | 57 ++++++++++++++++++++++--------------------- 1 file changed, 29 insertions(+), 28 deletions(-) (limited to 'graphics/scaler/hq3x_i386.asm') diff --git a/graphics/scaler/hq3x_i386.asm b/graphics/scaler/hq3x_i386.asm index 8c33f6447f..43bfd85540 100644 --- a/graphics/scaler/hq3x_i386.asm +++ b/graphics/scaler/hq3x_i386.asm @@ -44,9 +44,10 @@ SECTION .data reg_blank dd 0,0 const7 dd 0x00070007,0x00000007 threshold dd 0x00300706,0x00000000 -zerolowbits dd 0xF7DEF7DE ; FIXME: zerlowbits assumes 565 mode. ; Also, in the code, the constant 0x0821 is used which also assumes 565 mode +highbits dd 0xF7DEF7DE +lowbits dd 0x0821 moduloSrc dd 0 moduloDst dd 0 @@ -133,12 +134,12 @@ SECTION .text mov ecx,%3 cmp edx,ecx je %%fin - and edx,[zerolowbits] - and ecx,[zerolowbits] + and edx,[highbits] + and ecx,[highbits] add ecx,edx shr ecx,1 - add ecx,0x0821 - and ecx,[zerolowbits] + add ecx,[lowbits] + and ecx,[highbits] add edx,ecx shr edx,1 %%fin: @@ -152,17 +153,17 @@ SECTION .text mov ecx,%4 cmp edx,ecx je %%fin1 - and edx,[zerolowbits] - and ecx,[zerolowbits] + and edx,[highbits] + and ecx,[highbits] add ecx,edx shr ecx,1 - add ecx,0x0821 + add ecx,[lowbits] %%fin1: mov edx,%2 cmp edx,ecx je %%fin2 - and ecx,[zerolowbits] - and edx,[zerolowbits] + and ecx,[highbits] + and edx,[highbits] add edx,ecx shr edx,1 %%fin2: @@ -223,8 +224,8 @@ SECTION .text mov ecx,%3 cmp edx,ecx je %%fin - and edx,[zerolowbits] - and ecx,[zerolowbits] + and edx,[highbits] + and ecx,[highbits] add edx,ecx shr edx,1 %%fin: @@ -2302,12 +2303,12 @@ _hq3x_16: shl eax,16 or eax,edx mov ecx,[w2] - and edx,[zerolowbits] - and ecx,[zerolowbits] + and edx,[highbits] + and ecx,[highbits] add ecx,edx shr ecx,1 - add ecx,0x0821 - and ecx,[zerolowbits] + add ecx,[lowbits] + and ecx,[highbits] add edx,ecx shr edx,1 mov [edi],dx @@ -2323,12 +2324,12 @@ _hq3x_16: shl eax,16 or eax,edx mov ecx,[w4] - and edx,[zerolowbits] - and ecx,[zerolowbits] + and edx,[highbits] + and ecx,[highbits] add ecx,edx shr ecx,1 - add ecx,0x0821 - and ecx,[zerolowbits] + add ecx,[lowbits] + and ecx,[highbits] add edx,ecx shr edx,1 mov [edi],dx @@ -2343,12 +2344,12 @@ _hq3x_16: shl eax,16 or eax,edx mov ecx,[w6] - and edx,[zerolowbits] - and ecx,[zerolowbits] + and edx,[highbits] + and ecx,[highbits] add ecx,edx shr ecx,1 - add ecx,0x0821 - and ecx,[zerolowbits] + add ecx,[lowbits] + and ecx,[highbits] add edx,ecx shr edx,1 mov [edi],eax @@ -2363,12 +2364,12 @@ _hq3x_16: shl eax,16 or eax,edx mov ecx,[w8] - and edx,[zerolowbits] - and ecx,[zerolowbits] + and edx,[highbits] + and ecx,[highbits] add ecx,edx shr ecx,1 - add ecx,0x0821 - and ecx,[zerolowbits] + add ecx,[lowbits] + and ecx,[highbits] add edx,ecx shr edx,1 mov [edi],eax -- cgit v1.2.3