C 26-nov-79 update for pixel read write C C CODE TO SHIP A BUFFER TO/FROM COMTAL C INTEGER IDATA(4096) DO 2 I = 0,4095 2 IDATA(I+1)=I C CALL COMGO(ISTAT) IF ( ISTAT .EQ. 0 )STOP CONTINUE 9001 TYPE 9002 9002 FORMAT(1H ,'0=BLK XFER,1=OFFSET,2=PT XFER =') READ(5,9003,ERR=9001)IOFF 9003 FORMAT(I5) GOTO(15,7,15),IOFF+1 !DIRECT US 7 CONTINUE 9004 TYPE 9005 9005 FORMAT(1H ,'ENTER 0 FOR X OR 1 FOR Y OFFSET = ' ) READ(5,9006,ERR=9004)IOFF 9006 FORMAT(I5) CONTINUE 9007 TYPE 9008 9008 FORMAT(1H ,'ENTER AMOUNT OF OFFSET=' ) READ(5,9009,ERR=9007)IAMT 9009 FORMAT(I5) CONTINUE 9010 TYPE 9011 9011 FORMAT(1H ,'ENTER IMAGE # TO OFFSET=' ) READ(5,9012,ERR=9010)NUMBER 9012 FORMAT(I5) IDATA(1) = IAMT + ISHFT(NUMBER,11) + ISHFT(IOFF,14) CALL COM1(8,0,0,IDATA,-1) CONTINUE 9013 TYPE 9014 9014 FORMAT(1H ,' ENTER 0 TO SEND ANOTHER OFFSET , 1 TO ROLL IT NOW=' ) READ(5,9015,ERR=9013)IROLL 9015 FORMAT(I5) IF(IROLL .EQ. 0)GOTO 7 DO 11 J=1,IROLL DO 10 I=0,511 IDATA(1)="3000 IDATA(2)="45000 CALL COM1(8,0,0,IDATA,-2) 10 CONTINUE 11 CONTINUE GOTO 7 C 15 CONTINUE 9016 TYPE 9017 9017 FORMAT(1H ,' ENTER COMTAL TRANSFER TYPE: TO=0 , FROM=4 = ' ) READ(5,9018,ERR=9016)IDIRCT 9018 FORMAT(I5) TYPE 8001 8001 FORMAT(1H ,' ',I5 ) CONTINUE 9019 TYPE 9020 9020 FORMAT(1H ,' ENTER COMTAL DISPLAY TYPE: IMAGE=0 , GRAPHIC=1 =' ) READ(5,9021,ERR=9019)ITYPE 9021 FORMAT(I5) TYPE 8002 8002 FORMAT(1H ,' ',I5 ) CONTINUE 9022 TYPE 9023 9023 FORMAT(1H ,' ENTER COMTAL IMAGE/GRAPHIC NUMBER: 0-3 = ' ) READ(5,9024,ERR=9022)NUMBER 9024 FORMAT(I5) TYPE 8003 8003 FORMAT(1H ,' ',I5 ) CONTINUE IF(IOFF .EQ. 2) GOTO 50 !USER WANTS PT XFER C C use this for blk xfer 9025 TYPE 9026 9026 FORMAT(1H ,' ENTER ROLL = 2 OR NO-ROLL =0 = ' ) READ(5,9027,ERR=9025)IROLL 9027 FORMAT(I5) ICMD = IDIRCT+ITYPE+IROLL TYPE 8004 8004 FORMAT(1H ,' ',I5 ) CONTINUE 9028 TYPE 9029 9029 FORMAT(1H ,' ENTER COMTAL LINE NUMBER TO START=' ) READ(5,9030,ERR=9028)LINE 9030 FORMAT(I5) TYPE 8005 8005 FORMAT(1H ,' ',I5 ) CONTINUE 9031 TYPE 9032 9032 FORMAT(1H ,' ENTER NUMBER OF WORDS TO TRANSFER=' ) READ(5,9033,ERR=9031)IBYTES 9033 FORMAT(I5) CALL COM1(ICMD,NUMBER,LINE,IDATA,-IBYTES) GOTO 15 30 STOP C 50 CONTINUE !COME HERE FOR PT XFER C 8299 type 8300 8300 format('$enter x coordinate(1-512)=') read(5,9006,err=8299)IDATA(1) IDATA(1) = IDATA(1) -1 !GET TO 0-511 SPACE 8302 type 8301 8301 format('$enter y coordinate=') read(5,9006,err=8302)IDATA(2) IDATA(2) = IDATA(2) -1 !GET TO 0-511 SPACE C get x & y coords C keep to 512 C IDATA(1) = IDATA(1) .and. "777 IDATA(2) = IDATA(2) .and. "777 CALL COM1(12,NUMBER,LINE,IDATA,-2) !LOAD PT COORDS C C if(IDIRCT .ne. 0)goto 60 C 8304 type 8305 8305 format('$enter DECIMAL value to be output=') read(5,9006,err=8304)IWORD C 60 continue ICMD = 13 !default TO COMATL IMAGE memory if(IDIRCT .ne. 0)ICMD = 16 !default FROM COMTAL IMAGE memory ICMD = ICMD + ITYPE C C build command TO/FROM IMAGE/GRAPHIC C CALL COM1(ICMD,NUMBER,LINE,IWORD,-1) !SEND/GET DATA AT(X,Y) IF(IDIRCT .EQ. 0)GOTO 15 IBYTE = ISHFT(IWORD,-8) .AND. "377 !KEEP HIGH BYTE TYPE 52,IWORD,IBYTE 52 FORMAT(1H ,O8,I8) GOTO 15 C END