SUBROUTINE ZOOMFM (XL,YL,SIDEX,SIDEY,NITER,COL,MCPAX,MCPAY)
C
C COPYRIGHT (C) 1985-1992 BY ART MATRIX. ALL RIGHTS RESERVED.
C
IMPLICIT REAL*8 (A-H,O-Z)
C
INCLUDE 'RC.INC'
C
INTEGER*2 COL(0:MCPAX,0:MCPAY)
C
COMPLEX*16 Z,L,L2,LM5,LP5,A,B,V
C
C***********************************************************************
C***********************************************************************
C
CALL DRVID ('FM ',102,1,2,5)
C
C***********************************************************************
C***********************************************************************
C
EPS = 1.D-6
C
DO 2000 IY = 0,MCPAY
C
Y = YL + (IY*SIDEY)/MCPAY
C
CALL SHOWIY (10,IY,Y)
IF (RC .EQ. 1) RETURN
C
DO 1000 IX = 0,MCPAX
C
X = XL + (IX*SIDEX)/MCPAX
C
C***********************************************************************
C***********************************************************************
C
L = DCMPLX(X,Y)
C
L2 = L*L
A = ( .25D0,0) - L2
B = (-.75D0,0) - L2
LM5 = L - ( .50D0,0)
LP5 = L + ( .50D0,0)
C
C***********************************************************************
C***********************************************************************
C
Z = 0
C
DO 400 I = 1,NITER
C
Z = (2*Z*Z*Z + A)/(3*Z*Z + B)
C
V = Z - (1,0)
IF (DREAL(V)*DREAL(V) + IMAG(V)*IMAG(V) .LE. EPS ) GOTO 100
V = Z - LM5
IF (DREAL(V)*DREAL(V) + IMAG(V)*IMAG(V) .LE .EPS ) GOTO 200
V = Z + LP5
IF (DREAL(V)*DREAL(V) + IMAG(V)*IMAG(V) .LE .EPS ) GOTO 300
C
400 CONTINUE
C
COL(IX,IY) = 3
GOTO 1000
C
100 COL(IX,IY) = 1 + 5*I
GOTO 1000
C
200 COL(IX,IY) = 4 + 5*I
GOTO 1000
C
300 COL(IX,IY) = 2 + 5*I
GOTO 1000
C
C***********************************************************************
C***********************************************************************
C
1000 CONTINUE
2000 CONTINUE
C
RETURN
END