File ANSTR.FT (FORTRAN source file)

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

      SUBROUTINE ANSTR(CHAR,IADE)
      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 IADE(1)
      DATA MAXLEN/60/
      IPT=1
C * PLACE THE TERMINAL IN A/N MODE, IF NEEDED
      IF(KKMODE .NE. 0)CALL ALFMOD
C * GET A NEWLINE WHEN THE BEAM POSITION IS OUTSIDE MARGINS
      IF(KBEAMX .LT. KLMRGN)GO TO 10
      IF(KBEAMX .LT. KRMRGN)GO TO 20
10    CALL NEWLIN
C * CALCULATE NUMBER OF CHARACTERS POSSIBLE TO PUT ON LINE
20    ISEND=((KRMRGN-KBEAMX)*KFACTR+KHORSZ-1)/KHORSZ
C * PUT OUT AT LEAST ONE CHARACTER
      IF(ISEND .LT. 1)ISEND=1
C * DON'T SEND ENOUGH CHARACTERS TO CAUSE BUFFER TRUNCATION
      IF(ISEND .GT. MAXLEN)ISEND=MAXLEN
      IEND=IPT+ISEND-1
C * SEND ONLY NUMBER OF CHARACTERS RECEIVED
      IF(IEND .GT. NCHAR)ISEND=NCHAR-IPT+1
      CALL TOUTST(ISEND,IADE(IPT))
C * UPDATE THE BEAM
      KBEAMX=KBEAMX+(ISEND*KHORSZ+KFACTR/2)/KFACTR
      IPT=IPT+ISEND
C * REPEAT ON NEWLINE UNTIL ALL CHARACTERS SENT
      IF(IEND .LT. NCHAR)GO TO 10
      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