Browse Source

* mandel problem fixed !!

pierre 27 years ago
parent
commit
12ed8fdf00
1 changed files with 28 additions and 4 deletions
  1. 28 4
      rtl/dos/ppi/pixel.ppi

+ 28 - 4
rtl/dos/ppi/pixel.ppi

@@ -23,13 +23,23 @@ if aktviewport.clip then viewport:=aktviewport else viewport:=aktscreen;
       movw   y,%ax
       addw   _AKTVIEWPORT,%bx
       addw   _AKTVIEWPORT+2,%ax
-      cmpw   viewport,%bx
+(*      cmpw   viewport,%bx
       jl     p_exit                        // wenn x < x1 Ende
       cmpw   -8(%ebp),%bx
       jg     p_exit                        // wenn x > x2 Ende
       cmpw   -10(%ebp),%ax
       jl     p_exit                        // wenn y < y1 Ende
       cmpw   -6(%ebp),%ax
+      jg     p_exit                        // wenn y > y2 Ende
+       assumes wrong placement of viewport !!! PM *)
+      lea    viewport,%edx
+      cmpw   (%edx),%bx
+      jl     p_exit                        // wenn x < x1 Ende
+      cmpw   4(%edx),%bx
+      jg     p_exit                        // wenn x > x2 Ende
+      cmpw   2(%edx),%ax
+      jl     p_exit                        // wenn y < y1 Ende
+      cmpw   6(%edx),%ax
       jg     p_exit                        // wenn y > y2 Ende
       movl   _Y_ARRAY(,%eax,4),%eax
       addl   _X_ARRAY(,%ebx,4),%eax     
@@ -118,7 +128,7 @@ if aktviewport.clip then viewport:=aktviewport else viewport:=aktscreen;
       movswl y,%eax
       addw   _AKTVIEWPORT,%bx
       addw   _AKTVIEWPORT+2,%ax
-      cmpw   viewport,%bx
+(*      cmpw   viewport,%bx
       jl     gp_exit                        // wenn x < x1 Ende
       cmpw   -8(%ebp),%bx
       jg     gp_exit                        // wenn x > x2 Ende
@@ -126,6 +136,17 @@ if aktviewport.clip then viewport:=aktviewport else viewport:=aktscreen;
       jl     gp_exit                        // wenn y < y1 Ende
       cmpw   -6(%ebp),%ax
       jg     gp_exit                        // wenn y > y2 Ende
+      same error : viewport is assumed to be at -12
+      that depends on alignment settings !! PM *)
+      lea    viewport,%edx
+      cmpw   (%edx),%bx
+      jl     gp_exit                        // wenn x < x1 Ende
+      cmpw   4(%edx),%bx
+      jg     gp_exit                        // wenn x > x2 Ende
+      cmpw   2(%edx),%ax
+      jl     gp_exit                        // wenn y < y1 Ende
+      cmpw   6(%edx),%ax
+      jg     gp_exit                        // wenn y > y2 Ende
       movl   _Y_ARRAY(,%eax,4),%eax
       addl   _X_ARRAY(,%ebx,4),%eax     
       movl   %eax,%esi
@@ -164,8 +185,11 @@ end; { proc }
 
 {
   $Log$
-  Revision 1.1  1998-03-25 11:18:42  root
-  Initial revision
+  Revision 1.2  1998-10-22 08:22:06  pierre
+   * mandel problem fixed !!
+
+  Revision 1.1.1.1  1998/03/25 11:18:42  root
+  * Restored version
 
   Revision 1.3  1998/01/26 11:58:33  michael
   + Added log at the end