File XYCNVT.FT (FORTRAN source file)

Directory of image this file is from
This file as a plain text file

      SUBROUTINE XYCNVT(IX,IY)
      COMMON /TKTRNX/ TMINVX,TMINVY,TMAXVX,TMAXVY,TREALX,TREALY,
     1 TIMAGX,TIMAGY,TRCOSF,TRSINF,TRSCAL,TRFACX,TRFACY,
     2 TRPAR1,TRPAR2,TRPAR3,TRPAR4,TRPAR5,TRPAR6,KMOFLG(8),KPAD2,
     3 KBAUDR,KGNFLG,KGRAFL,KHOMEY,KKMODE,KHORSZ,KVERSZ,KTBLSZ,
     4 KSIZEF,KLMRGN,KRMRGN,KFACTR,KTERM,KLINE,KZAXIS,KBEAMX,KBEAMY,
     5 KMOVEF,KPCHAR(5),KDASHT,KMINSX,KMINSY,KMAXSX,KMAXSY,KEYCON,
     6 KINLFT,KOTLFT,KUNIT
      DIMENSION IPLT(5),IOPT(5)
      DATA IDREW,ISYN /0,22/
C * RECEIVE THE PLOT CHARACTERS
      CALL PLTCHR(IX,IY,IPLT)
C * OPTIMIZE THE OUTPUT
      LEN=0
C * CHECK IF HIGH Y IS NEEDED
      IF(KPCHAR(1) .EQ. IPLT(1))GO TO 10
C * INCLUDE HIGH Y IF NEEDED
      LEN=1
      KPCHAR(1)=IPLT(1)
      IOPT(1)=IPLT(1)
C * CHECK IF LSBYX IS NEEDED
10    IF(KTERM .LE. 2)GO TO 20
      IF(KPCHAR(2) .EQ. IPLT(2))GO TO 20
C * INCLUDE LSBYX IF NEEDED
      LEN=LEN+1
      KPCHAR(2)=IPLT(2)
      IOPT(LEN)=IPLT(2)
      GO TO 30
C * CHECK IF LOW Y IS NEEDED
20    IF(KPCHAR(3) .NE. IPLT(3))GO TO 30
      IF(KPCHAR(4) .EQ. IPLT(4))GO TO 40
C * INCLUDE LOW Y IF NEEDED
30    LEN=LEN+1
      KPCHAR(3)=IPLT(3)
      IOPT(LEN)=IPLT(3)
C * CHECK IF HIGH X IS NEEDED
      IF(KPCHAR(4) .EQ. IPLT(4))GO TO 50
C * INCLUDE HIGH X IF NEEDED
      LEN=LEN+1
      KPCHAR(4)=IPLT(4)
      IOPT(LEN)=IPLT(4)
C * CHECK IF LOW X IS NEEDED
40    IF(KPCHAR(5) .NE. IPLT(5))GO TO 50
C * CHECK IF ALL THE CHARACTERS ARE THE SAME
      IF(LEN .NE. 0)GO TO 50
C * CHECK IF (GS) FOR DARK VECTOR ALREADY SENT
      IF(KMOVEF .EQ. 1)GO TO 50
C * CHECK IF VECTOR IS ALREADY DRAWN TO SPOT
      IF(IDREW .EQ. 1)GO TO 80
C * INCLUDE THE LOW X
50    LEN=LEN+1
      KPCHAR(5)=IPLT(5)
      IOPT(LEN)=IPLT(5)
C * CHECK FOR POSSIBLE SPEED PROBLEM
60    IF(LEN .GE. KPAD2)GO TO 70

LEN=LEN+1 IOPT(LEN)=ISYN GO TO 60 C * SEND THE ARRAY TO THE OUTPUT BUFFER 70 CALL TOUTST(LEN,IOPT) C * SET THE COMMON AND HISTORY VARIABLES C * SET THE DREW HERE FLAG IDREW=1 C * REMOVE THE DREW HERE FLAG IF DID'NT DRAW IF(KMOVEF .EQ. 1)IDREW=0 C * REMOVE THE MOVE FLAG KMOVEF=0 80 KBEAMX=IX KBEAMY=IY RETURN END



Feel free to contact me, David Gesswein djg@pdp8online.com with any questions, comments on the web site, or if you have related equipment, documentation, software etc. you are willing to part with.  I am interested in anything PDP-8 related, computers, peripherals used with them, DEC or third party, or documentation. 

PDP-8 Home Page   PDP-8 Site Map   PDP-8 Site Search