SUBROUTINE JMNFM (XL,YL,SIDEX,SIDEY,NITER,CR,CI,COL,MCPAX,MCPAY)
C
C COPYRIGHT (C) 1985-1992 BY ART MATRIX. ALL RIGHTS RESERVED.
C
IMPLICIT REAL*8 (A-H,O-Z)
C
INTEGER*2 COL(0:MCPAX,0:MCPAY)
C
COMPLEX*16 Z,C
C
C***********************************************************************
C***********************************************************************
C
CALL DRVID ('FM ',102,2,1,8)
C
C***********************************************************************
C***********************************************************************
C
C = DCMPLX(CR,CI)
C
C ESC = 4
ESC = 10000
C
DO 2000 IY = 0,MCPAY
C
Y = YL + (IY*SIDEY)/MCPAY
C
CALL SHOWIY (10,IY,Y)
C
DO 1000 IX = 0,MCPAX
C
X = XL + (IX*SIDEX)/MCPAX
C
C***********************************************************************
C***********************************************************************
C
Z = DCMPLX(X,Y)
C
DO 400 I = 1,NITER
C
Z = Z*Z + C
C
IF (DREAL(Z)*DREAL(Z) + IMAG(Z)*IMAG(Z) .GT. ESC) GOTO 420
C
400 CONTINUE
C
COL(IX,IY) = 0
GOTO 1000
C
420 IF (ABS(IMAG(Z)) .LT. .1*ABS(DREAL(Z))) THEN
IF (IMAG(Z) .GE. 0) THEN
COL(IX,IY) = 7 + 8*I
ELSE
COL(IX,IY) = 7 + 8*I
ENDIF
ELSE
IF (IMAG(Z) .GE. 0) THEN
COL(IX,IY) = 4 + 8*I
ELSE
COL(IX,IY) = 2 + 8*I
ENDIF
ENDIF
C
C***********************************************************************
C***********************************************************************
C
1000 CONTINUE
2000 CONTINUE
C
RETURN
END