.TITLE IMGRSX .IDENT /COLOR/ ; ; IMAGE I/O DATA BASE ; ; MACRO LIBRARY CALLS ; .MCALL GCMLB$,FDBDF$,FDAT$A,FDOP$A,FDRC$A,NMBLK$,FSRSZ$ .MCALL CSI$SW,CSI$ND,CSI$SV .IF DF RSTS FSRSZ$ 4,<512.*2+80.> .IFF FSRSZ$ 4,<512.*4+80.> .ENDC TTBLK:: FDBDF$ FDAT$A R.VAR,FD.CR FDOP$A 3,,TTFIL ;LUN=3 FDRC$A ,TTBUF,TTLIN ; ; set up command input file TTFIL: NMBLK$ CMO,CMD TTIBLK::GCMLB$ 2,IMG,TTIBUF ;LUN=1 ; ; set up input file blks TTLDMY::FDBDF$ FDAT$A 2 FDOP$A 4,,TTLFIL ;LUN=4 TTLFIL:: NMBLK$ IMAGE,IMG,,SY,0 ; ; set up output file blks LSTBLK::FDBDF$ FDAT$A R.VAR,FD.FTN FDOP$A 5,,LSTFIL ;LUN=5 .IF DF RSTS FDRC$A FD.RWM ; .ENDC LSTFIL:: NMBLK$ IMAGE,IMG,,SY,0 ; IMGTYP:: .rad50 /IMG/ ;IMAGE TYPE FILENAME EXTENSION DMPTYP:: .rad50 /DMP/ ;DMP type extension for spooled pictures ; COLDEV:: .ascii /LP/ ;default TRILOG COLOR printer device COLUNT:: .word 1 ;default " " " " ; .PSECT SWTCH,GBL ; ; switch bit definitions ; ; SWPMSK==1 ;byte swap on the fly GRAMSK==2 ;use 1 bit graphics format not 8 bit image format IMGMSK==4 ;SELECT A FILE FROM MAGTAPE BY FILE NUMBER BYTMSK==10 ;substitute this byte value into graphics/image IYMSK==20 ;initial Y line number given ? NUMMSK==40 ;NUMBER OF lines to xfer given ? YINMSK==100 ;incr for Y line count positive or negative APPMSK==200 ;append an image to output file DSKMSK==200 ;DESPIKING filter using convolution kernel RWDMSK==400 ;rewind tape to start CPTMSK==10000 ;COLOR PLOT MASK-to TRILOG COLORPLOT 100 KERMSK==20000 ;set convolver kernel directly MODMSK==20000 ;modify output file using input file SPLMSK==40000 ;spool a graphics image to printer CVLMSK==40000 ;convolver applied to input data ASCMSK==100000 ;ASCII character string input mask ; ; input side switch values SWTBLI:: CSI$SW BS,SWPMSK,$SWTHI,SET ;byte swap CSI$SW GR,GRAMSK,$SWTHI,SET,NEG ;graphics value CSI$SW FL,IMGMSK,$SWTHI,SET,,IMGVAL ;FILE NUMBER CSI$SW BY,BYTMSK,$SWTHI,SET,,BYTVAL ;sub byt val CSI$SW YY,IYMSK,$SWTHI,SET,,IYVAL ;line to start CSI$SW NL,NUMMSK,$SWTHI,SET,,NUMVAL ;num to xfer CSI$SW YI,YINMSK,$SWTHI,SET,,YINVAL ;num to INCR CSI$SW RW,RWDMSK,$SWTHI,SET ;rewind tape CSI$SW KE,KERMSK,$SWTHI,SET,NEG,CONVOL ;convolver kernel CSI$SW CV,CVLMSK,$SWTHI,SET,NEG,CONVOL ;convolver CSI$SW DS,DSKMSK,$SWTHI,SET,NEG,CONVOL ;convolver & despike CSI$SW AS,ASCMSK,$SWTHI,SET,,ASCIN ;ASCII input ; ; output side switch values ; output switches can be negated for display setup purposes ; SWTBLO:: CSI$SW BS,SWPMSK,$SWTHO,SET ;byte swap CSI$SW GR,GRAMSK,$SWTHO,SET,NEG ;graphics value CSI$SW FL,IMGMSK,$SWTHO,SET,NEG,IMGOUT ;FILE NUMBER CSI$SW BY,BYTMSK,$SWTHO,SET,,BYTOUT ;sub byt val CSI$SW YY,IYMSK,$SWTHO,SET,,IYOUT ;line to start CSI$SW NL,NUMMSK,$SWTHO,SET,,NUMVAL ;num to xfer CSI$SW YI,YINMSK,$SWTHO,SET,,YINOUT ;num to INCR CSI$SW AP,APPMSK,$SWTHO,SET ;append to file CSI$SW RW,RWDMSK,$SWTHO,SET ;rewind tape CSI$SW MO,MODMSK,$SWTHO,SET,,MODOUT ;MODIFY output CSI$SW SP,SPLMSK,$SWTHO,SET ;spool it CSI$SW CP,CPTMSK,$SWTHO,SET,,CPTVAL ;color print ; ; IMGVAL: CSI$SV decimal,IMGLOW,2 ; INPUT starting image # to mov from file CSI$SV decimal,IMGHGH,2 ; INPUT ending image # to move from file CSI$ND ; BYTVAL: CSI$SV decimal,BYTEIL,2 CSI$SV decimal,BYTEIH,2 CSI$ND ; IYVAL: CSI$SV decimal,INITYI,2 CSI$SV decimal,LASTYI,2 CSI$ND ; YINVAL: CSI$SV decimal,INCRYI,2 CSI$ND ; ; CONVOL: CSI$SV decimal,ALPHA,2 ;alpha kernel param CSI$SV decimal,BETA,2 ;beta kernel parameter ; CSI$SV decimal,c,2 ;beta kernel parameter CSI$SV decimal,D,2 ;beta kernel parameter CSI$SV decimal,E,2 ;beta kernel parameter CSI$SV decimal,F,2 ;beta kernel parameter CSI$SV decimal,G,2 ;beta kernel parameter CSI$SV decimal,H,2 ;beta kernel parameter CSI$SV decimal,I,2 ;beta kernel parameter CSI$ND ; ASCIN: CSI$SV decimal,ASCSIZ,2 ;size of ascii chars CSI$ND ; ; NUMVAL: CSI$SV decimal,NLINES,2 CSI$ND ; CPTVAL: CSI$SV decimal,CPTNUM,2 ;number of colors to print CSI$ND ; IMGOUT: CSI$SV decimal,IMAGEO,2 ; OUTPUT !!! CSI$SV decimal,IMAGOH,2; OUTPUT CSI$ND ; BYTOUT: CSI$SV decimal,BYTEO,2 CSI$ND ; IYOUT: CSI$SV decimal,INITYO,2 CSI$SV decimal,LASTYO,2 CSI$ND ; YINOUT: CSI$SV decimal,INCRYO,2 CSI$ND ; ; MODOUT: CSI$SV ASCII,MODTYP,1 ;ascii char to define the op CSI$SV decimal,BASE,2 ;base to be included in modify ops CSI$ND ; ; SPSAV:: .blkw 1 $SWTHI:: .blkw 1 ;INPUT switch word $SWTHO:: .blkw 1 ;OUTPUT switch word .END