      PROGRAM TestScrn
      DIMENSION KOLS(8),NDS(8)
      COMMON IBUF(20480),IEX(160)
      CHARACTER*40 NAME
      DATA KOLS/0,1,2,3,4,5,6,7/,NDS/0,1,2,3,4,5,6,7/
    2 PRINT 102
  102 FORMAT(' Enter file name ')
      READ 103,NAME
  103 FORMAT(A)
    5 PRINT 104
  104 FORMAT(' which mode (1 or 2)')
      READ *,M
      CALL RDSCRN(NAME,M,IBUF,IERR)
      IF(IERR.NE.0) THEN
        PRINT 101,IERR
  101   FORMAT(' IERR ',I1)
        STOP
      ENDIF
C            NC is number of colour bounds
      NC=4*M
C            NX is number of pixels in row
      NX=320/M
C            NY is number of rows
      NY=256
      CALL GRATS(10)
      CALL MODE(M)
      CALL STARTCODE1(NX,M,NC,KOLS,NDS,1,1)
C        LINE is address of start of line; (begin at bottom!)
      LINE=(NY-1)*(NX/4)+1
      DO 10 I=1,NY
        CALL FCOL1(IBUF(LINE))
   10 LINE=LINE-NX/4
      CALL STOPCODE1
C            now remove the bytes for square pictures
      NX=256/M
      NY=NX
C      CALL UCOCOP(IBUF,IBUF,NY,NX/4,80,NX/4)
      NXBY4=NX/4
      IBIN=1
      IBOUT=1
      DO 15 I=1,NY
        DO 14 J=1,NXBY4
   14   IBUF(IBOUT+J-1)=IBUF(IBIN+J-1)
        IBOUT=IBOUT+NXBY4
        IBIN=IBIN+80
   15 CONTINUE
C            now plot again
      CALL VDU(12)
      CALL STARTCODE1(NX,M,NC,KOLS,NDS,1,M)
      J=(NY-1)*(NX/4)+1
      DO 20 I=1,NY
        CALL FCOL1(IBUF(J))
   20 J=J-NX/4
      CALL STOPCODE1
      END
