aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--graphics/scaler/hq2x_i386.asm57
-rw-r--r--graphics/scaler/hq3x_i386.asm57
2 files changed, 58 insertions, 56 deletions
diff --git a/graphics/scaler/hq2x_i386.asm b/graphics/scaler/hq2x_i386.asm
index 60cb0fea8b..a4bc50c979 100644
--- a/graphics/scaler/hq2x_i386.asm
+++ b/graphics/scaler/hq2x_i386.asm
@@ -49,7 +49,8 @@ const14 dd 0x000E000E,0x0000000E
threshold dd 0x00300706,0x00000000
; FIXME: zerlowbits assumes 565 mode.
; Also, in the code, the constant 0x0821 is used which also assumes 565 mode
-zerolowbits dd 0xF7DEF7DE
+highbits dd 0xF7DEF7DE
+lowbits dd 0x0821
moduloSrc dd 0
moduloDst dd 0
@@ -136,12 +137,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:
@@ -155,17 +156,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:
@@ -179,8 +180,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:
@@ -1728,12 +1729,12 @@ _hq2x_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 ecx,edx
@@ -1745,12 +1746,12 @@ _hq2x_16:
..@cross2:
shl eax,16
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
or eax,edx
@@ -1759,12 +1760,12 @@ _hq2x_16:
jmp .loopx_end
..@cross4:
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
shl edx,16
@@ -1777,12 +1778,12 @@ _hq2x_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 ecx,edx
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