diff --git a/unix/gdev/iism70/README b/unix/gdev/iism70/README deleted file mode 100644 index 8023068b3..000000000 --- a/unix/gdev/iism70/README +++ /dev/null @@ -1,18 +0,0 @@ -UNIX IRAF/FIO device driver for the IIS Model 70 -(will probably also work for the model 75). 11/85 dct ----------------------------------------------------------------------- - -This directory contains the IRAF/FIO driver subroutines for the IIS Model 70 -image display on UNIX. On a UNIX system the ZIFOBF (binary file) driver is -used to access the display, hence the subroutines herein merely map the calls -into the corresponding BF procedures. - - -Driver Procedures: - - zopm70 -- open + allocate - zclm70 -- close + deallocate - zrdm70 -- asynchronous binary read - zwrm70 -- asynchronous binary write - zwtm70 -- wait for i/o completion, return status - zstm70 -- get device status diff --git a/unix/gdev/iism70/m70.h b/unix/gdev/iism70/m70.h deleted file mode 100644 index 6a1a7d284..000000000 --- a/unix/gdev/iism70/m70.h +++ /dev/null @@ -1,27 +0,0 @@ -# Definitions for the VMS/IIS device driver. - -define IIS_READ 1 # read function code -define IIS_WRITE 0 # write function code -define IIS_INACTIVE -1 # no i/o in progress - -define EFN EFN2 # EFN to use for i/o -define EFN1W 0 # efn #1, wait for completion -define EFN2 1 # efn #2, no wait for completion -define EFN3 2 # efn #3, no wait for completion - -# Function control block structure for IIS. The first part of the structure -# is filled in by VMS at open time; all we need to know is the offset of the -# device name. We use the latter part of the buffer - -define LEN_FCB 30 -define FCB_U_NAME (P2S($1)+16+($2)-1) -define FCB_STATUS Memi[$1+20] # channel status (r, w, err) -define FCB_NBYTES Memi[$1+21] # nbytes last transfer -define FCB_EFN Memi[$1+22] # event flag used for transfer - -# IIS device status words. - -define IIS_FILSIZE (512 * 512 * SZB_CHAR) -define IIS_BLKSIZE 1024 -define IIS_OPTBUFSIZE (512 * SZB_CHAR) -define IIS_MAXBUFSIZE 32768 diff --git a/unix/gdev/iism70/mkpkg b/unix/gdev/iism70/mkpkg deleted file mode 100644 index 57b920c5a..000000000 --- a/unix/gdev/iism70/mkpkg +++ /dev/null @@ -1,15 +0,0 @@ -# Make the UNIX version of the IIS driver. - -$checkout libsys.a lib$ -$update libsys.a -$checkin libsys.a lib$ -$exit - -libsys.a: - zclm70.x - zopm70.x - zrdm70.x - zstm70.x m70.h - zwrm70.x - zwtm70.x - ; diff --git a/unix/gdev/iism70/zclm70.x b/unix/gdev/iism70/zclm70.x deleted file mode 100644 index 719bc727d..000000000 --- a/unix/gdev/iism70/zclm70.x +++ /dev/null @@ -1,12 +0,0 @@ -# Copyright(c) 1986 Association of Universities for Research in Astronomy Inc. - -# ZCLM70 -- Close and deallocate the IIS. - -procedure zclm70 (chan, status) - -int chan -int status - -begin - call zclsbf (chan, status) -end diff --git a/unix/gdev/iism70/zopm70.x b/unix/gdev/iism70/zopm70.x deleted file mode 100644 index 5c49d506d..000000000 --- a/unix/gdev/iism70/zopm70.x +++ /dev/null @@ -1,14 +0,0 @@ -# Copyright(c) 1986 Association of Universities for Research in Astronomy Inc. - -# ZOPM70 -- Open the IIS for binary file i/o. The device will be automatically -# allocated if necessary. - -procedure zopm70 (device, mode, chan) - -char device[ARB] # packed UNIX device name -int mode # access mode -int chan # receives device channel - -begin - call zopnbf (device, mode, chan) -end diff --git a/unix/gdev/iism70/zrdm70.x b/unix/gdev/iism70/zrdm70.x deleted file mode 100644 index f3ef3f2a0..000000000 --- a/unix/gdev/iism70/zrdm70.x +++ /dev/null @@ -1,14 +0,0 @@ -# Copyright(c) 1986 Association of Universities for Research in Astronomy Inc. - -# ZRDM70 -- Initiate an asynchronous read from the IIS. - -procedure zrdm70 (chan, buf, nbytes, offset) - -int chan # FCB pointer for device -char buf[ARB] # output buffer -int nbytes # number of bytes to read -long offset # not used for this device - -begin - call zardbf (chan, buf, nbytes, offset) -end diff --git a/unix/gdev/iism70/zstm70.x b/unix/gdev/iism70/zstm70.x deleted file mode 100644 index 2b790dfa8..000000000 --- a/unix/gdev/iism70/zstm70.x +++ /dev/null @@ -1,28 +0,0 @@ -# Copyright(c) 1986 Association of Universities for Research in Astronomy Inc. - -include -include -include "m70.h" - -# ZSTM70 -- Return device status for the IIS. - -procedure zstm70 (chan, what, lvalue) - -int chan # FCB pointer for device -int what # status parameter -long lvalue - -begin - switch (what) { - case FSTT_FILSIZE: - lvalue = IIS_FILSIZE - case FSTT_BLKSIZE: - lvalue = IIS_BLKSIZE - case FSTT_OPTBUFSIZE: - lvalue = IIS_OPTBUFSIZE - case FSTT_MAXBUFSIZE: - lvalue = IIS_MAXBUFSIZE - default: - lvalue = ERR - } -end diff --git a/unix/gdev/iism70/zwrm70.x b/unix/gdev/iism70/zwrm70.x deleted file mode 100644 index 10545f991..000000000 --- a/unix/gdev/iism70/zwrm70.x +++ /dev/null @@ -1,14 +0,0 @@ -# Copyright(c) 1986 Association of Universities for Research in Astronomy Inc. - -# ZWRM70 -- Initiate an asynchronous write to the IIS. - -procedure zwrm70 (chan, buf, nbytes, offset) - -int chan # FCB pointer for device -char buf[ARB] # input buffer -int nbytes # number of bytes to write -long offset # not used for this device - -begin - call zawrbf (chan, buf, nbytes, offset) -end diff --git a/unix/gdev/iism70/zwtm70.x b/unix/gdev/iism70/zwtm70.x deleted file mode 100644 index b2523c31a..000000000 --- a/unix/gdev/iism70/zwtm70.x +++ /dev/null @@ -1,13 +0,0 @@ -# Copyright(c) 1986 Association of Universities for Research in Astronomy Inc. - -# ZWTM70 -- Wait for i/o completion and return the number of bytes read or -# written or ERR. Repetitive calls return the same value. - -procedure zwtm70 (chan, status) - -int chan # FCB pointer for device -int status # nbytes transferred or ERR - -begin - call zawtbf (chan, status) -end diff --git a/unix/gdev/iism75/README b/unix/gdev/iism75/README deleted file mode 100644 index 60433d4dd..000000000 --- a/unix/gdev/iism75/README +++ /dev/null @@ -1,24 +0,0 @@ -UNIX IRAF/FIO device driver for the IIS Model 75 -2 Feb 1896 Dct.; ported to UNIX from VMS 10 Mar 1987 SRo. ----------------------------------------------------------------------- - -This directory contains the IRAF/FIO driver subroutines for the IIS Model 75 -image display. This directory is self contained. - -The model 75 interface is implemented as a transformation on the data stream -for the model 70. The high level code thinks that it is talking to a model -70; we translate the headers as necessary for the model 75 before passing -them on to the device. This approach does not provide full access to the -capabilities of the model 75, however the existing high level code is all -written for the model 70 and we are not at present interested in the advanced -features of either display. - - -Driver Procedures: - - zopm75 -- open + allocate - zclm75 -- close + deallocate - zrdm75 -- asynchronous binary read - zwrm75 -- asynchronous binary write - zwtm75 -- wait for i/o completion, return status - zstm75 -- get device status diff --git a/unix/gdev/iism75/iis.h b/unix/gdev/iism75/iis.h deleted file mode 100644 index 515c0def5..000000000 --- a/unix/gdev/iism75/iis.h +++ /dev/null @@ -1,106 +0,0 @@ -# IIS.H -- Hardware definitions for the IIS models 70 and 75. - -# Define header -define LEN_IISHDR 8 # Length of IIS header - -define XFERID $1[1] # transfer id -define THINGCT $1[2] # thing count -define SUBUNIT $1[3] # subuint select -define CHECKSUM $1[4] # check sum -define XREG $1[5] # x register -define YREG $1[6] # y register -define ZREG $1[7] # z register -define TREG $1[8] # t register - -# Transfer ID definitions -define BYTEORDER 20B -define PMA 40B -define ACCELERATE 100B -define REPEAT 200B -define IREAD 100000B -define IWRITE 000000B -define PACKED 40000B -define BYPASSIFM 20000B -define PAGEMODE 10000B -define ADDWRITE 4000B -define ACCUM 2000B -define BLOCKXFER 1000B -define VRETRACE 400B - -define M70_BYTE 10000B -define M70_MUX32 200B - -# Subunits -define REFRESH 1 -define LUT 2 -define OFM 3 -define IFM 4 -define FEEDBACK 5 -define SCROLLZOOM 6 -define VIDEOM 7 -define SUMPROC 8 -define GRAPHICS 9 -define CURSOR 10 -define ALU 11 - -define M70_SCROLL 6 -define M70_ZOOM 12 - -# Command definitions -define COMMAND 100000B -define ERASE 100000B # Erase - -define SCROLL 1B -define ZOOM 10000B -define WRAP 1000B - -define M70_ADVXONTC 100000B # Advance x on thing count -define M70_ADVXONYOV 40000B # Advance x on y overflow -define M70_ADVYONXOV 100000B # Advance y on x overflow -define M70_ADVYONTC 40000B # Advance y on thing count - -define M75_ADVXONTC 400B # Advance x on thing count -define M75_ADVXONYOV 200B # Advance x on y overflow -define M75_ADVYONXOV 2000B # Advance y on x overflow -define M75_ADVYONTC 4000B # Advance y on thing count - -# 4 - Button Trackball -define PUSH 40000B -define BUTTONA 400B -define BUTTONB 1000B -define BUTTONC 2000B -define BUTTOND 4000B - -# Display channels -define CHAN1 1B -define CHAN2 2B -define CHAN3 4B -define CHAN4 10B -define GRCHAN 100000B - -define LEN_IISFRAMES 4 -define IISFRAMES CHAN1, CHAN2, CHAN3, CHAN4 - -# Colors -define BLUE 1B -define GREEN 2B -define RED 4B -define MONO 7B - -# Bit plane selections -define BITPL0 1B -define BITPL1 2B -define BITPL2 4B -define BITPL3 10B -define BITPL4 20B -define BITPL5 40B -define BITPL6 100B -define BITPL7 200B -define ALLBITPL 377B - -# IIS Sizes -define MCXSCALE 64 # Metacode x scale -define MCYSCALE 64 # Metacode y scale -define IIS_XDIM 512 -define IIS_YDIM 512 -define SZB_IISHDR 16 # Size of IIS header in bytes diff --git a/unix/gdev/iism75/m75.h b/unix/gdev/iism75/m75.h deleted file mode 100644 index 832aa423c..000000000 --- a/unix/gdev/iism75/m75.h +++ /dev/null @@ -1,28 +0,0 @@ -# Definitions for the Model 75 UNIX/IIS device driver. - -define IIS_READ 1 # read function code -define IIS_WRITE 0 # write function code -define IIS_INACTIVE 2 # no i/o in progress - -# Function control block structure containing only our own internal variables. - -define LEN_FCB 20 -define FCB_CHAN Memi[($1)] # os channel -define FCB_STATUS Mems[P2S(($1)+1)] # channel status (r, w, err) -define FCB_NBYTES Mems[P2S(($1)+2)] # nbytes last transfer -define FCB_STATE Mems[P2S(($1)+3)] # instruction processing state -define FCB_IISHDR Mems[P2S(($1)+4)] # m70 header of current instr. - # (extra space) - -# Instruction processing states - -define READY 0 # ready for new instruction -define DATA_READ 1 # read data to complete instruction -define DATA_WRITE 2 # write data to complete instruction - -# IIS device status words. - -define IIS_FILSIZE (512 * 512 * SZB_CHAR) -define IIS_BLKSIZE 1024 -define IIS_OPTBUFSIZE (512 * SZB_CHAR) -define IIS_MAXBUFSIZE 16384 diff --git a/unix/gdev/iism75/m75put.x b/unix/gdev/iism75/m75put.x deleted file mode 100644 index 01ca65115..000000000 --- a/unix/gdev/iism75/m75put.x +++ /dev/null @@ -1,160 +0,0 @@ -# Copyright(c) 1986 Association of Universities for Research in Astronomy Inc. - -include -include "m75.h" -include "iis.h" - -# M75PUT -- Translate an M70 instruction+data into an M75 instruction+data and -# output it to the display device. We are called after both the instruction -# header and the data (if any) have been received. The M70 header has been -# saved in the the channel descriptor and the data, if any, is in BUF. - -procedure m75put (fcb, buf, nbytes_buf, offset) - -pointer fcb # pointer to channel descriptor -short buf[ARB] # data array -int nbytes_buf # nbytes of data in buffer -long offset # not used - -int ifcb -bool use_altbuf -short altbuf[128] -short m70[LEN_IISHDR] -short m75[LEN_IISHDR] -int nbytes, status, sum, i -int xferid, subunit, xreg, yreg -int and(), or(), not() - -begin - ifcb = fcb - use_altbuf = false - - # Retrieve the M70 header from the channel descriptor. - call amovs (FCB_IISHDR(fcb), m70, LEN_IISHDR) - - xferid = XFERID(m70) - subunit = SUBUNIT(m70) - xreg = XREG(m70) - yreg = YREG(m70) - - if (THINGCT(m70) == 0) - nbytes = 0 - else - nbytes = nbytes_buf - - # Start with a copy of the header for the M75, but turn off those bits - # in the transfer id which the M70 knows nothing about and hence could - # not have set. - - call amovs (m70, m75, LEN_IISHDR) - XFERID(m75) = and (xferid, - not (BYTEORDER+PMA+ACCELERATE+REPEAT+PAGEMODE)) - - # Translate the remaining fields of the header as necessary for each - # subunit. - - switch (and (subunit, 77B)) { - case REFRESH: - if (and (xreg, M70_ADVXONTC) != 0) - subunit = or (subunit, M75_ADVXONTC) - if (and (xreg, M70_ADVXONYOV) != 0) - subunit = or (subunit, M75_ADVXONYOV) - if (and (yreg, M70_ADVYONTC) != 0) - subunit = or (subunit, M75_ADVYONTC) - if (and (yreg, M70_ADVYONXOV) != 0) - subunit = or (subunit, M75_ADVYONXOV) - - SUBUNIT(m75) = subunit - XREG(m75) = and (xreg, IIS_XDIM-1) - YREG(m75) = and (yreg, IIS_YDIM-1) - - case LUT: - XREG(m75) = and (xreg, 1777B) - YREG(m75) = 0 - - case OFM: - XREG(m75) = and (xreg, 1777B) - YREG(m75) = 0 - - # The M70 feeds a 10 bit output DAC while the M75 DAC is 8 bits. - do i = 1, nbytes_buf / (SZB_CHAR * SZ_SHORT) - buf[i] = buf[i] / 4 - - case FEEDBACK: - subunit = COMMAND + FEEDBACK - SUBUNIT(m75) = subunit - XREG(m75) = 0 - YREG(m75) = 0 - - case GRAPHICS: - XREG(m75) = and (xreg, 777B) - - # In a command mode transfer, the status register value is passed - # as data for the M70, but in the T register for the M75. - - if (and (subunit, COMMAND) != 0) { - TREG(m75) = buf[1] - THINGCT(m75) = 0 - nbytes = 0 - } - - case CURSOR: - XREG(m75) = and (xreg, 7777B) - YREG(m75) = 0 - - case M70_SCROLL: - SUBUNIT(m75) = SCROLLZOOM - XREG(m75) = and (xreg, 3B) - YREG(m75) = 0 - ZREG(m75) = ALLBITPL - TREG(m75) = SCROLL + WRAP - - case M70_ZOOM: - SUBUNIT(m75) = SCROLLZOOM - THINGCT(m75) = 2 - XREG(m75) = and (xreg, 3B) - YREG(m75) = 0 - ZREG(m75) = ALLBITPL - TREG(m75) = ZOOM + SCROLL + WRAP - - # There are up to 3 words of data for the M70: zoom factor, - # x center, y center. For the M75 the zoom is specified - # separately for each axis in the high bits of the word which - # contains the axis center. For simplicity we require that - # all 3 words always be given. - - altbuf[1] = buf[1] * 10000B + buf[2] - altbuf[2] = buf[1] * 10000B + buf[3] - use_altbuf = true - nbytes = 2 * (SZ_SHORT * SZB_CHAR) - } - - # Compute the checksum for the new header. - - CHECKSUM(m75) = 1 - if (THINGCT(m75) > 0) - THINGCT(m75) = -THINGCT(m75) - - sum = 0 - do i = 1, LEN_IISHDR - sum = sum + m75[i] - - CHECKSUM(m75) = -sum - - # Output the header. - - call zzwrii (fcb, m75, SZB_IISHDR, offset) - call zwtm75 (ifcb, status) - if (status == ERR) { - FCB_STATUS(fcb) = ERR - return - } - - # Output the data block, if any. - - if (nbytes > 0) - if (use_altbuf) - call zzwrii (fcb, altbuf, nbytes, offset) - else - call zzwrii (fcb, buf, nbytes, offset) -end diff --git a/unix/gdev/iism75/mkpkg b/unix/gdev/iism75/mkpkg deleted file mode 100644 index 97387aec2..000000000 --- a/unix/gdev/iism75/mkpkg +++ /dev/null @@ -1,18 +0,0 @@ -# Mkpkg for the UNIX version of the IIS driver. - -$checkout libsys.a lib$ -$update libsys.a -$checkin libsys.a lib$ -$exit - -libsys.a: - m75put.x iis.h m75.h - zclm75.x m75.h - zopm75.x m75.h - zrdm75.x iis.h m75.h - zstm75.x m75.h - zwrm75.x iis.h m75.h - zwtm75.x m75.h - zzrdii.x m75.h - zzwrii.x m75.h - ; diff --git a/unix/gdev/iism75/zclm75.x b/unix/gdev/iism75/zclm75.x deleted file mode 100644 index 989358d97..000000000 --- a/unix/gdev/iism75/zclm75.x +++ /dev/null @@ -1,19 +0,0 @@ -# Copyright(c) 1986 Association of Universities for Research in Astronomy Inc. - -include -include "m75.h" - -# ZCLM75 -- Close and deallocate the IIS. - -procedure zclm75 (ifcb, status) - -int ifcb # pointer to channel descriptor passed as int -int status -pointer fcb - -begin - fcb = ifcb - call zclsbf (FCB_CHAN(fcb), status) - - call mfree (fcb, TY_STRUCT) -end diff --git a/unix/gdev/iism75/zopm75.x b/unix/gdev/iism75/zopm75.x deleted file mode 100644 index 33a9acf8f..000000000 --- a/unix/gdev/iism75/zopm75.x +++ /dev/null @@ -1,32 +0,0 @@ -# Copyright(c) 1986 Association of Universities for Research in Astronomy Inc. - -include -include "m75.h" - -# ZOPM75 -- Open the IIS for binary file i/o. - -procedure zopm75 (device, mode, ifcb) - -char device[ARB] # packed UNIX device name -int mode # access mode -int ifcb # pointer to channel descriptor passed as int - -pointer fcb -int chan - -begin - call calloc (fcb, LEN_FCB, TY_STRUCT) - ifcb = fcb - - FCB_STATUS(fcb) = IIS_INACTIVE - FCB_NBYTES(fcb) = 0 - FCB_STATE(fcb) = READY - - call zopnbf (device, mode, chan) - - if (chan < 0) { - call mfree (fcb, TY_STRUCT) - ifcb = ERR - } else - FCB_CHAN(fcb) = chan -end diff --git a/unix/gdev/iism75/zrdm75.x b/unix/gdev/iism75/zrdm75.x deleted file mode 100644 index 9cc2498df..000000000 --- a/unix/gdev/iism75/zrdm75.x +++ /dev/null @@ -1,163 +0,0 @@ -# Copyright(c) 1986 Association of Universities for Research in Astronomy Inc. - -include -include "m75.h" -include "iis.h" - -# ZRDM75 -- Initiate an asynchronous read of data from the IIS. Note that -# the zwrm75 procedure is called to write the header for data reads, as well -# as writes. Hence we should be called only after the header has been saved -# in the channel descriptor by ZWRM75, leaving the channel in state DATA_READ. -# Our task is to translate and output the header, read the M75 data block, and -# return the data block to the user after performing any transformations -# necessary to make it look like M70fdata. - -procedure zrdm75 (ifcb, buf, nbytes_buf, offset) - -int ifcb # pointer to channel descriptor passed as int -short buf[ARB] # data array -int nbytes_buf # nbytes of data in buffer -long offset # not used - -pointer fcb -short m70[LEN_IISHDR] -short m75[LEN_IISHDR] -int nbytes, status, sum, i -int xferid, subunit, xreg, yreg -int and(), or(), not() - -begin - fcb = ifcb - nbytes = nbytes_buf - - if (FCB_STATE(fcb) != DATA_READ) { - FCB_STATUS(fcb) = ERR - return - } - - # Retrieve the M70 header from the channel descriptor. - call amovs (FCB_IISHDR(fcb), m70, LEN_IISHDR) - - xferid = XFERID(m70) - subunit = SUBUNIT(m70) - xreg = XREG(m70) - yreg = YREG(m70) - - # Start with a copy of the header for the M75, but turn off those bits - # in the transfer id which the M70 knows nothing about and hence could - # not have set. - - call amovs (m70, m75, LEN_IISHDR) - XFERID(m75) = and (xferid, - not (BYTEORDER+PMA+ACCELERATE+REPEAT+PAGEMODE)) - - # Translate the remaining fields of the header as necessary for each - # subunit. - - switch (and (subunit, 77B)) { - case REFRESH: - if (and (xreg, M70_ADVXONTC) != 0) - subunit = or (subunit, M75_ADVXONTC) - if (and (xreg, M70_ADVXONYOV) != 0) - subunit = or (subunit, M75_ADVXONYOV) - if (and (yreg, M70_ADVYONTC) != 0) - subunit = or (subunit, M75_ADVYONTC) - if (and (yreg, M70_ADVYONXOV) != 0) - subunit = or (subunit, M75_ADVYONXOV) - - SUBUNIT(m75) = subunit - XREG(m75) = and (xreg, IIS_XDIM-1) - YREG(m75) = and (yreg, IIS_YDIM-1) - - case LUT: - XREG(m75) = and (xreg, 1777B) - YREG(m75) = 0 - - case OFM: - XREG(m75) = and (xreg, 1777B) - YREG(m75) = 0 - - # The M70 OFM lookup table is 10 bits deep, whereas the M75 table - # is only 8 bits deep, so scale the 8 bit M75 values up to 10 bits. - - do i = 1, nbytes_buf / (SZB_CHAR * SZ_SHORT) - buf[i] = buf[i] * 4 - - case FEEDBACK: - subunit = COMMAND + FEEDBACK - SUBUNIT(m75) = subunit - XREG(m75) = 0 - YREG(m75) = 0 - - case GRAPHICS: - XREG(m75) = and (xreg, 777B) - TREG(m75) = 0 # ?? - - case CURSOR: - XREG(m75) = and (xreg, 7777B) - YREG(m75) = 0 - - case M70_SCROLL: - SUBUNIT(m75) = SCROLLZOOM - XREG(m75) = and (xreg, 3B) - YREG(m75) = 0 - ZREG(m75) = ALLBITPL - TREG(m75) = SCROLL + WRAP - - case M70_ZOOM: - SUBUNIT(m75) = SCROLLZOOM - THINGCT(m75) = 2 - nbytes = 2 * (SZ_SHORT * SZB_CHAR) - XREG(m75) = and (xreg, 3B) - YREG(m75) = 0 - ZREG(m75) = ALLBITPL - TREG(m75) = ZOOM - } - - # Compute the checksum for the new header. - - CHECKSUM(m75) = 1 - if (THINGCT(m75) > 0) - THINGCT(m75) = -THINGCT(m75) - - sum = 0 - do i = 1, LEN_IISHDR - sum = sum + m75[i] - - CHECKSUM(m75) = -sum - - # Output the header. - - call zzwrii (fcb, m75, SZB_IISHDR, offset) - call zwtm75 (ifcb, status) - if (status == ERR) { - FCB_STATUS(fcb) = ERR - return - } - - # Read the data block. - - if (nbytes > 0) { - call zzrdii (fcb, buf, nbytes, offset) - call zwtm75 (ifcb, status) - if (status <= 0) { - FCB_STATUS(fcb) = ERR - return - } - } - - # Perform any transformations on the data just read necessary to - # convert it into M70 format. If the number of bytes read is - # different than that expected by the M70, be sure to set the - # expected count in the channel descriptor for the next ZWTM75. - - if (and (subunit, 77B) == ZOOM) { - FCB_NBYTES(fcb) = 3 * (SZ_SHORT * SZB_CHAR) - FCB_STATUS(fcb) = IIS_INACTIVE - buf[3] = mod (int(buf[2]), 10000B) - buf[2] = mod (int(buf[1]), 10000B) - buf[1] = buf[1] / 10000B - } - - FCB_STATE(fcb) = READY -end diff --git a/unix/gdev/iism75/zstm75.x b/unix/gdev/iism75/zstm75.x deleted file mode 100644 index b1e9923cc..000000000 --- a/unix/gdev/iism75/zstm75.x +++ /dev/null @@ -1,28 +0,0 @@ -# Copyright(c) 1986 Association of Universities for Research in Astronomy Inc. - -include -include -include "m75.h" - -# ZSTM75 -- Return device status for the IIS. - -procedure zstm75 (ifcb, what, lvalue) - -int ifcb # pointer to channel descriptor passed as int -int what # status parameter -long lvalue - -begin - switch (what) { - case FSTT_FILSIZE: - lvalue = IIS_FILSIZE - case FSTT_BLKSIZE: - lvalue = IIS_BLKSIZE - case FSTT_OPTBUFSIZE: - lvalue = IIS_OPTBUFSIZE - case FSTT_MAXBUFSIZE: - lvalue = IIS_MAXBUFSIZE - default: - lvalue = ERR - } -end diff --git a/unix/gdev/iism75/zwrm75.x b/unix/gdev/iism75/zwrm75.x deleted file mode 100644 index 38bb0f3cb..000000000 --- a/unix/gdev/iism75/zwrm75.x +++ /dev/null @@ -1,76 +0,0 @@ -# Copyright(c) 1986 Association of Universities for Research in Astronomy Inc. - -include -include "m75.h" -include "iis.h" - -# ZWRM75 -- Initiate an asynchronous write to the IIS. We are called to -# output the header of all instructions sent to the IIS. There are 3 types -# of instructions; those which consist only of a header write, those which -# consist of a header write followed by a data write, and those which -# consist of a header write followed by a data read. Translation of an M70 -# instruction into an M75 instruction may involve moving information between -# the header and data block, hence we must save the headers of the read and -# write instructions until the data has been read or written. The STATE -# variable in the channel descriptor is used to keep track of the instruction -# processing state. - -procedure zwrm75 (ifcb, buf, nbytes, offset) - -int ifcb # pointer to channel descriptor passed as int -char buf[ARB] # input buffer -int nbytes # number of bytes to write -long offset # not used for this device - -pointer fcb -int xferid, and() - -begin - fcb = ifcb - - if (FCB_STATE(fcb) == READY) { - # Start a new instruction. - - if (nbytes != SZB_IISHDR) { - FCB_STATUS(fcb) = ERR - return - } - - # Save the M70 header in the descriptor. - call amovs (buf, FCB_IISHDR(fcb), LEN_IISHDR) - xferid = XFERID(buf) - - # Determine the state for the new instruction. - - if (THINGCT(buf) == 0) - FCB_STATE(fcb) = READY - else if (and (xferid, IREAD) != 0) - FCB_STATE(fcb) = DATA_READ - else - FCB_STATE(fcb) = DATA_WRITE - - # If the new state is READY, no data read or write is needed, - # so just translate and output the header. - - if (FCB_STATE(fcb) == READY) - call m75put (fcb, buf, nbytes, offset) - else { - # Set up a channel status as if we had just written the new - # header, so that the next ZWTM75 will not return an error. - - FCB_STATUS(fcb) = IIS_INACTIVE - FCB_NBYTES(fcb) = SZB_IISHDR - } - - } else if (FCB_STATE(fcb) == DATA_WRITE) { - # This is the second zwrm75 call for a hdr+data output - # instruction. - - call m75put (fcb, buf, nbytes, offset) - FCB_STATE(fcb) = READY - - } else { - # ZRDM75 should have been called, set error on the channel. - FCB_STATUS(fcb) = ERR - } -end diff --git a/unix/gdev/iism75/zwtm75.x b/unix/gdev/iism75/zwtm75.x deleted file mode 100644 index 491b0f505..000000000 --- a/unix/gdev/iism75/zwtm75.x +++ /dev/null @@ -1,29 +0,0 @@ -# Copyright(c) 1986 Association of Universities for Research in Astronomy Inc. - -include -include "m75.h" - -# ZWTM75 -- Wait for i/o completion and return the number of bytes read or -# written or ERR. Repetitive calls return the same value. - -procedure zwtm75 (ifcb, status) - -int ifcb # pointer to channel descriptor passed as int -int status # nbytes transferred or ERR - -pointer fcb - -begin - fcb = ifcb - - switch (FCB_STATUS(fcb)) { - case ERR: - status = ERR - case IIS_INACTIVE: - status = FCB_NBYTES(fcb) - - default: - call zawtbf (FCB_CHAN(fcb), status) - FCB_STATUS(fcb) = IIS_INACTIVE - } -end diff --git a/unix/gdev/iism75/zzrdii.x b/unix/gdev/iism75/zzrdii.x deleted file mode 100644 index f72058c34..000000000 --- a/unix/gdev/iism75/zzrdii.x +++ /dev/null @@ -1,17 +0,0 @@ -# Copyright(c) 1986 Association of Universities for Research in Astronomy Inc. - -include -include "m75.h" - -# ZZRDII -- Initiate an asynchronous read from the IIS. - -procedure zzrdii (fcb, buf, nbytes, offset) - -pointer fcb # pointer to channel descriptor -char buf[ARB] # output buffer -int nbytes # number of bytes to read -long offset # not used for this device - -begin - call zardbf (FCB_CHAN(fcb), buf, nbytes, offset) -end diff --git a/unix/gdev/iism75/zzwrii.x b/unix/gdev/iism75/zzwrii.x deleted file mode 100644 index 8515cc64c..000000000 --- a/unix/gdev/iism75/zzwrii.x +++ /dev/null @@ -1,17 +0,0 @@ -# Copyright(c) 1986 Association of Universities for Research in Astronomy Inc. - -include -include "m75.h" - -# ZZWRII -- Initiate an asynchronous write to the IIS. - -procedure zzwrii (fcb, buf, nbytes, offset) - -pointer fcb # pointer to channel descriptor -char buf[ARB] # input buffer -int nbytes # number of bytes to write -long offset # not used for this device - -begin - call zawrbf (FCB_CHAN(fcb), buf, nbytes, offset) -end diff --git a/unix/gdev/m70vms/README b/unix/gdev/m70vms/README deleted file mode 100644 index 23a068247..000000000 --- a/unix/gdev/m70vms/README +++ /dev/null @@ -1,68 +0,0 @@ -VMS IRAF/FIO device driver for the IIS Model 70 -(will probably also work for the model 75). 11/85 dct ----------------------------------------------------------------------- - -This directory contains the IRAF/FIO driver subroutines for the IIS Model 70 -image display on VMS. This directory is self contained; no external code is -required other than the VMS/IIS device driver itself. The code should be -portable to any VMS system. - - -Driver Procedures: - - zopm70 -- open + allocate - zclm70 -- close + deallocate - zrdm70 -- asynchronous binary read - zwrm70 -- asynchronous binary write - zwtm70 -- wait for i/o completion, return status - zstm70 -- get device status - - -On a UNIX system the ordinary binary file driver (ZFIOBF) may be used for these -functions. This might work on VMS too, but the IRAF/VMS binary file driver is -complicated and uses RMS, so I did not bother to try. This driver uses a -modified version local KPNO IIS library, which I suppose came originally from -IIS corp. The interface procedures are written in VMS Fortran and make direct -calls to the VMS system services. The original library has been modified to -convert all the names to the prefix "m70", and to remove all Fortran i/o. - - -VMS/IIS Interface Procedures: - - m70get (fcb, error) # open+allocate+mclear - m70rel (fcb) # close+deallocate - m70opn (fcb, error) # open - m70cls (fcb) # close - m70mcl (fcb, error) # master clear - - m70io (fcb, data, count, read, opcd, iosb, error) - m70wt (fcb, bfnum, bfcnt, iosb, error) - m70wti (fcb, func, time, button, x, y) - - -M70IO: I/O between M70 and a VAX. - - fcb function communications block. - data input/output buffer. - count number of words to read/write. - read 0 -> write, 1 -> read. - opcd :: 0 -> qio with efn = 1 and wait for completion - 1 -> qio with efn = 2 - 2 -> qio with efn = 3 - iosb I/O status quadword - error :: -1 => display not available - 0 => success - 1 => time/out - 2 => invalid or non-responding device - 1000 > machine dependent error code - - -M70WT: Wait for i/o. - - fcb function communication block. - bfnum used to determine event flag to wait for - bfcnt number of words in buffer. should be -1 indicating - i/o pending. reset to zero when i/o completed. - iosb i/o status block - error 0 success, -1 not acquired, 1 timeout, - 2 invalid device, 1000+n system dep. error diff --git a/unix/gdev/m70vms/fcbu.inc b/unix/gdev/m70vms/fcbu.inc deleted file mode 100644 index 54f232449..000000000 --- a/unix/gdev/m70vms/fcbu.inc +++ /dev/null @@ -1,6 +0,0 @@ -c -c vax offsets for display.for and termio.for -c - parameter fcb_u_spool = 21 - parameter fcb_u_m70_chan = 19 - parameter fcb_u_m70_name = 17 diff --git a/unix/gdev/m70vms/m70.h b/unix/gdev/m70vms/m70.h deleted file mode 100644 index 16b4c9380..000000000 --- a/unix/gdev/m70vms/m70.h +++ /dev/null @@ -1,30 +0,0 @@ -# Definitions for the VMS/IIS device driver. - -define IIS_READ 1 # read function code -define IIS_WRITE 0 # write function code -define IIS_INACTIVE 2 # no i/o in progress - -define EFN EFN2 # EFN to use for i/o -define EFN1W 0 # efn #1, wait for completion -define EFN2 1 # efn #2, no wait for completion -define EFN3 2 # efn #3, no wait for completion - -# Function control block structure for IIS. The first part of the structure -# is filled in by VMS at open time; all we need to know is the offset of the -# device name. We use the latter part of the buffer for our own internal -# variables. - -define LEN_FCB 28 -define FCB_U_NAME Mems[($1)+16+($2)-1] -define FCB_IOSB Mems[($1)+20+($2)-1] -define FCB_KCHAN Mems[($1)+24] # NULL if on local node, else remote -define FCB_STATUS Mems[($1)+25] # channel status (r, w, err) -define FCB_NBYTES Mems[($1)+26] # nbytes last transfer -define FCB_EFN Mems[($1)+27] # event flag used for transfer - -# IIS device status words. - -define IIS_FILSIZE (512 * 512 * SZB_CHAR) -define IIS_BLKSIZE 1024 -define IIS_OPTBUFSIZE (512 * SZB_CHAR) -define IIS_MAXBUFSIZE 32768 diff --git a/unix/gdev/m70vms/m70cls.f b/unix/gdev/m70vms/m70cls.f deleted file mode 100644 index 9eb2fcd3c..000000000 --- a/unix/gdev/m70vms/m70cls.f +++ /dev/null @@ -1,26 +0,0 @@ - subroutine m70cls (fcb) -c -c Routine to close model 70 display -c - integer fcb(*) - include 'fcbu.inc' -c - integer*4 sys$dassgn, chan, junk - integer*2 chan2(2) - equivalence (chan, chan2) -c -c call wtexec (fcb) -c - chan2(1) = fcb(fcb_u_m70_chan) - chan2(2) = fcb(fcb_u_m70_chan+1) -c -c if (chan.ne.0) call lib$signal (%val(sys$dassgn (%val(chan)))) - if (chan.ne.0) then - junk = sys$dassgn (%val(chan)) - endif -c - fcb(fcb_u_m70_chan) = 0 - fcb(fcb_u_m70_chan+1) = 0 -c - return - end diff --git a/unix/gdev/m70vms/m70get.f b/unix/gdev/m70vms/m70get.f deleted file mode 100644 index c9d0b1c29..000000000 --- a/unix/gdev/m70vms/m70get.f +++ /dev/null @@ -1,43 +0,0 @@ - subroutine m70get (fcb, error) -c -c Routine to get (allocate) the model 70 -c -c arguments: -c -c fcb function communications block -c -c error -2 => device already allocated -c -1 => m70 not acquired -c 0 => success -c 1 => timeout -c 2 => invalid device or powerfail -c >=1000 machine dependent error number -c - integer fcb(*), error -c - include 'fcbu.inc' - external ss$_normal, ss$_devalloc - integer*4 len,status, sys$alloc - integer*2 nam2(2), stat - byte nam(4) - character name*4, result*8 - equivalence (nam2, nam), (name, nam), (status, stat) -c - nam2(1) = fcb(fcb_u_m70_name) - nam2(2) = fcb(fcb_u_m70_name+1) -c - status = sys$alloc (name, len, result,) - if (status.ne.%loc(ss$_normal)) then - if (status .eq. %loc(ss$_devalloc)) then - error = -2 - else - error = 1000 + stat - endif - else - call m70opn (fcb, error) - if (error .ne. 0) return - call m70mcl (fcb, error) - endif -c - return - end diff --git a/unix/gdev/m70vms/m70io.f b/unix/gdev/m70vms/m70io.f deleted file mode 100644 index cbe0418ec..000000000 --- a/unix/gdev/m70vms/m70io.f +++ /dev/null @@ -1,75 +0,0 @@ - subroutine m70io (fcb, data, count, read, opcd, iosb, error) -c -c Routine does io between M70 and a VAX -c -c Parameters: -c -c fcb function communications block. -c -c data input/output buffer. -c -c count number of words to read/write. -c -c read 0 -> write, 1 -> read. -c -c opcd 0 -> qio with efn = 1 and wait for completion -c 1 -> qio with efn = 2 -c 2 -> qio with efn = 3 -c -c iosb I/O status quadword -c -c error -1 => display not available -c 0 => success -c 1 => time/out -c 2 => invalid or non-responding device -c 1000 > machine dependent error code -c - integer fcb(*), data(1), count, read, opcd, error - integer*4 iosb(2) -c - include 'fcbu.inc' - external io$_writevblk, io$_readvblk, ss$_timeout, ss$_powerfail - integer*4 chan, sys$qio, sys$waitfr, func, status, l_iosb(2) - integer*2 chan2(2), stat(2) - equivalence (chan, chan2), (status, stat(1)) -c - chan2(1) = fcb(fcb_u_m70_chan) - chan2(2) = fcb(fcb_u_m70_chan+1) -c - if (read.eq.1) then - func = %loc(io$_readvblk) - else - func = %loc(io$_writevblk) - endif -c - if (opcd.eq.0) then - status = sys$qio (%val(opcd+1), %val(chan), %val(func), - 1 l_iosb,,, data, %val(2*count),,,,) - if (status) then - status = sys$waitfr (%val(1)) - if (l_iosb(1)) then - error = 0 - else - stat(1) = lib$match_cond - 1 (iosb, ss$_timeout, ss$_powerfail) - if (stat(1) .eq. 0) then - error = 1000 + iosb(1) - else - error = stat(1) - endif - endif - else - error = 1000 + stat(1) - endif - else - status = sys$qio (%val(opcd+1), %val(chan), %val(func), - 1 iosb,,, data, %val(2*count),,,,) - if (status) then - error = 0 - else - error = 1000 + stat(1) - endif - endif -c - return - end diff --git a/unix/gdev/m70vms/m70mcl.f b/unix/gdev/m70vms/m70mcl.f deleted file mode 100644 index c9fb5c98c..000000000 --- a/unix/gdev/m70vms/m70mcl.f +++ /dev/null @@ -1,35 +0,0 @@ - subroutine m70mcl (fcb, error) -c -c master clear model 70 -c - integer fcb(*), error -c - include 'fcbu.inc' - external io$_rewind, ss$_normal - integer*4 status, iosb(2), chan, sys$qiow - integer*2 chan2(2), iostat, stat - equivalence (chan, chan2), (iosb, iostat) - equivalence (status, stat) - external ss$_timeout, ss$_powerfail -c - chan2(1) = fcb(fcb_u_m70_chan) - chan2(2) = fcb(fcb_u_m70_chan+1) -c - status = sys$qiow (, %val(chan), io$_rewind, iosb,,,,,,,,) - if (status) then - if (iosb(1)) then - error = 0 - else - status = lib$match_cond (iosb, ss$_timeout, ss$_powerfail) - if (status .eq. 0) then - error = 1000 + iostat - else - error = status - endif - endif - else - error = 1000 + stat - endif -c - return - end diff --git a/unix/gdev/m70vms/m70opn.f b/unix/gdev/m70vms/m70opn.f deleted file mode 100644 index 4bb91b3a9..000000000 --- a/unix/gdev/m70vms/m70opn.f +++ /dev/null @@ -1,41 +0,0 @@ - subroutine m70opn (FCB, error) -C -c Routine to open model 70 -c -c Error is returned as: -c -1 = display open -c 0 = OK -c 1 = timeout -c 2 = invalid or non-responding device -c >= 1000 : machine dependent error number -c - integer fcb(*), error - include 'fcbu.inc' -C - integer*4 sys$assign, chan, status - integer*2 chan2(2), name2(2), stat(2) - byte name1(4) - character*4 m70 - equivalence (chan, chan2), (status, stat(1)) - equivalence (name1, name2), (name1, m70) -C - name2(1) = fcb(fcb_u_m70_name) - name2(2) = fcb(fcb_u_m70_name+1) - chan2(1) = fcb(fcb_u_m70_chan) - chan2(2) = fcb(fcb_u_m70_chan+1) -c - if (chan.eq.0) then - status = sys$assign ('_'//m70//':', chan,,) - if (status) then - fcb(fcb_u_m70_chan) = chan2(1) - fcb(fcb_u_m70_chan+1) = chan2(2) - error = 0 - else - error = 1000 + stat(1) - endif - else - error = -1 - endif -c - return - end diff --git a/unix/gdev/m70vms/m70rel.f b/unix/gdev/m70vms/m70rel.f deleted file mode 100644 index 7b686d103..000000000 --- a/unix/gdev/m70vms/m70rel.f +++ /dev/null @@ -1,19 +0,0 @@ - subroutine m70rel (fcb) -c -c routine to release(DEALLOCATE) the model 70 -c - integer fcb(*) -c - include 'fcbu.inc' - integer*2 dev2(2) - byte dev(4) - character*4 m70 - equivalence (dev2,dev), (m70,dev) -c - call m70cls (fcb) - dev2(1) = fcb(fcb_u_m70_name) - dev2(2) = fcb(fcb_u_m70_name+1) - call sys$dalloc ('_'//m70//':',) -c - return - end diff --git a/unix/gdev/m70vms/m70wt.f b/unix/gdev/m70vms/m70wt.f deleted file mode 100644 index 715a1c687..000000000 --- a/unix/gdev/m70vms/m70wt.f +++ /dev/null @@ -1,44 +0,0 @@ - subroutine m70wt (fcb, bfnum, bfcnt, iosb, error) -c -c routine to wait for completion of buffer write on pdp-11's -c -c fcb function communication block. -c bfnum used to determine event flag to wait for -c bfcnt number of words in buffer. should be -1 indicating -c i/o pending. reset to zero when i/o completed. -c iosb i/o status block -c error 0 success, -1 not acquired, 1 timeout, -c 2 invalid device, 1000+n system dep. error -c - integer fcb(*) - integer bfnum, bfcnt, error - integer*4 iosb(2), status - integer*2 stat(2) -c - integer*4 sys$waitfr - equivalence (status, stat(1)) - external ss$_timeout, ss$_powerfail -c -c is this wait required? -c - error = 0 - if (bfcnt .ge. 0) return -c - status = sys$waitfr (%val(bfnum+1)) - if (status) then - bfcnt = 0 - if (.not. iosb(1)) then - stat(1) = lib$match_cond - 1 (iosb, ss$_timeout, ss$_powerfail) - if (stat(1) .eq. 0) then - error = 1000 + iosb(1) - else - error = stat(1) - endif - endif - else - error = 1000 + stat(1) - endif -c - return - end diff --git a/unix/gdev/m70vms/m70wti.f b/unix/gdev/m70vms/m70wti.f deleted file mode 100644 index 0aabd1fde..000000000 --- a/unix/gdev/m70vms/m70wti.f +++ /dev/null @@ -1,46 +0,0 @@ - subroutine m70wti (fcb, func, time, button, x, y) -c -c This routine waits for the appropriate interupt from the -c Unibus M70 interface card, then returns button and cursor -c information. -c -c -c parameter descriptions: -c -c fcb is a system info. array. -c -c func is interpreted: -c 0 ==> wait for button push. -c 1 ==> wait for cursor move. -c 2 ==> wait for button push or cursor move. -c - integer fcb(*), func, time, button, x, y -c - include 'fcbu.inc' - external io$_rewindoff - integer*4 sys$qiow, mask, chan, iosb(2) - integer*2 chan2(2) - equivalence (chan, chan2) -c - chan2(1) = fcb(fcb_u_m70_chan) ! get M70 channel - chan2(2) = fcb(fcb_u_m70_chan+1) -c - if (func.eq.0) then - mask = '0400'x ! wait for button - elseif (func.eq.1) then - mask = '0800'x ! wait for trackball - elseif (func.eq.2) then - mask = '0C00'x ! wait for button or trackball - else - mask = '0C00'x - endif -c - status = sys$qiow (, %val(chan), io$_rewindoff, - 1 iosb,,,%val(mask),,,,,) -c -c Get button word and X-Y position of cursor -c - call rbutn (fcb, button, x, y) -c - return - end diff --git a/unix/gdev/m70vms/mkpkg b/unix/gdev/m70vms/mkpkg deleted file mode 100644 index 976cc1e4c..000000000 --- a/unix/gdev/m70vms/mkpkg +++ /dev/null @@ -1,29 +0,0 @@ -# Makelib for the VMS version of the IIS driver. - -$checkout libpkg.a ../ -$update libpkg.a -$checkin libpkg.a ../ -$exit - -libpkg.a: - @(i2) - zclm70.x m70.h - zopm70.x m70.h - zrdm70.x m70.h - zstm70.x m70.h - zwrm70.x m70.h - zwtm70.x m70.h - ; - -i2: # Compile the VMS/Fortran IIS i/o routines with the VMS /NOI4 option. - $set XFLAGS = "-c -O -i2" - - m70cls.f fcbu.inc - m70get.f fcbu.inc - m70io.f fcbu.inc - m70mcl.f fcbu.inc - m70opn.f fcbu.inc - m70rel.f fcbu.inc - m70wt.f - m70wti.f fcbu.inc - ; diff --git a/unix/gdev/m70vms/zclm70.x b/unix/gdev/m70vms/zclm70.x deleted file mode 100644 index a7ebb8f7b..000000000 --- a/unix/gdev/m70vms/zclm70.x +++ /dev/null @@ -1,24 +0,0 @@ -# Copyright(c) 1986 Association of Universities for Research in Astronomy Inc. - -include -include -include "m70.h" - -# ZCLM70 -- Close and deallocate the IIS. - -procedure zclm70 (chan, status) - -int chan # FCB pointer for device -int status -pointer fcb - -begin - fcb = chan - if (FCB_KCHAN(fcb) == NULL) { - call zwtm70 (chan, status) - call m70rel (Mems[fcb]) - } else - call zclsbf (FCB_KCHAN(fcb), status) - - call mfree (fcb, TY_SHORT) -end diff --git a/unix/gdev/m70vms/zopm70.x b/unix/gdev/m70vms/zopm70.x deleted file mode 100644 index f338dbe74..000000000 --- a/unix/gdev/m70vms/zopm70.x +++ /dev/null @@ -1,59 +0,0 @@ -# Copyright(c) 1986 Association of Universities for Research in Astronomy Inc. - -include -include -include "m70.h" - -# ZOPM70 -- Open the IIS for binary file i/o. The device will be automatically -# allocated if necessary. - -procedure zopm70 (device, mode, chan) - -char device[ARB] # packed VMS device name -int mode # access mode -int chan # receives device channel - -pointer fcb -int kchan -char upkdev[SZ_FNAME] -int ki_connect() - -short ier -% character m70*4 -% integer*2 namw(2) -% equivalence (m70, namw) - -begin - call calloc (fcb, LEN_FCB, TY_SHORT) - - # Use the binary file driver if the device resides on a remote node. - # This precludes remote access to a VMS hosted IIS at present. - - if (ki_connect (device) != NULL) { - call zopnbf (device, mode, kchan) - if (kchan != ERR) - FCB_KCHAN(fcb) = kchan - } else { - # Load string descriptor for device name into FCB. - call strupk (device, upkdev, SZ_FNAME) -% call f77pak (upkdev, m70, 4) - - FCB_U_NAME(fcb,1) = namw[1] - FCB_U_NAME(fcb,2) = namw[2] - FCB_KCHAN(fcb) = NULL - FCB_STATUS(fcb) = IIS_INACTIVE - FCB_NBYTES(fcb) = 0 - - # Allocate and open the device. - call m70get (Mems[fcb], ier) - kchan = ier - if (kchan != 0) - kchan = ERR - } - - if (kchan < 0) { - call mfree (fcb, TY_SHORT) - chan = ERR - } else - chan = fcb -end diff --git a/unix/gdev/m70vms/zrdm70.x b/unix/gdev/m70vms/zrdm70.x deleted file mode 100644 index 2bf726abe..000000000 --- a/unix/gdev/m70vms/zrdm70.x +++ /dev/null @@ -1,36 +0,0 @@ -# Copyright(c) 1986 Association of Universities for Research in Astronomy Inc. - -include -include -include "m70.h" - -# ZRDM70 -- Initiate an asynchronous read from the IIS. - -procedure zrdm70 (chan, buf, nbytes, offset) - -int chan # FCB pointer for device -char buf[ARB] # output buffer -int nbytes # number of bytes to read -long offset # not used for this device - -pointer fcb -short rwflag, opcd, nwords, ier -data rwflag /IIS_READ/, opcd /EFN/ - -begin - fcb = chan - if (FCB_KCHAN(fcb) == NULL) { - nwords = nbytes / (SZ_SHORT * SZB_CHAR) - call m70io (Mems[fcb], buf, nwords, rwflag, opcd, FCB_IOSB(fcb,1), - ier) - - FCB_NBYTES(fcb) = nbytes - FCB_EFN(fcb) = opcd - - if (ier != 0) - FCB_STATUS(fcb) = ERR - else - FCB_STATUS(fcb) = IIS_READ - } else - call zardbf (FCB_KCHAN(fcb), buf, nbytes, offset) -end diff --git a/unix/gdev/m70vms/zstm70.x b/unix/gdev/m70vms/zstm70.x deleted file mode 100644 index 2b790dfa8..000000000 --- a/unix/gdev/m70vms/zstm70.x +++ /dev/null @@ -1,28 +0,0 @@ -# Copyright(c) 1986 Association of Universities for Research in Astronomy Inc. - -include -include -include "m70.h" - -# ZSTM70 -- Return device status for the IIS. - -procedure zstm70 (chan, what, lvalue) - -int chan # FCB pointer for device -int what # status parameter -long lvalue - -begin - switch (what) { - case FSTT_FILSIZE: - lvalue = IIS_FILSIZE - case FSTT_BLKSIZE: - lvalue = IIS_BLKSIZE - case FSTT_OPTBUFSIZE: - lvalue = IIS_OPTBUFSIZE - case FSTT_MAXBUFSIZE: - lvalue = IIS_MAXBUFSIZE - default: - lvalue = ERR - } -end diff --git a/unix/gdev/m70vms/zwrm70.x b/unix/gdev/m70vms/zwrm70.x deleted file mode 100644 index 7cc1ef8ab..000000000 --- a/unix/gdev/m70vms/zwrm70.x +++ /dev/null @@ -1,36 +0,0 @@ -# Copyright(c) 1986 Association of Universities for Research in Astronomy Inc. - -include -include -include "m70.h" - -# ZWRM70 -- Initiate an asynchronous write to the IIS. - -procedure zwrm70 (chan, buf, nbytes, offset) - -int chan # FCB pointer for device -char buf[ARB] # input buffer -int nbytes # number of bytes to write -long offset # not used for this device - -pointer fcb -short rwflag, opcd, nwords, ier -data rwflag /IIS_WRITE/, opcd /EFN/ - -begin - fcb = chan - if (FCB_KCHAN(fcb) == NULL) { - nwords = nbytes / (SZ_SHORT * SZB_CHAR) - call m70io (Mems[fcb], buf, nwords, rwflag, opcd, FCB_IOSB(fcb,1), - ier) - - FCB_NBYTES(fcb) = nbytes - FCB_EFN(fcb) = opcd - - if (ier != 0) - FCB_STATUS(fcb) = ERR - else - FCB_STATUS(fcb) = IIS_WRITE - } else - call zawrbf (FCB_KCHAN(fcb), buf, nbytes, offset) -end diff --git a/unix/gdev/m70vms/zwtm70.x b/unix/gdev/m70vms/zwtm70.x deleted file mode 100644 index 69ab39daa..000000000 --- a/unix/gdev/m70vms/zwtm70.x +++ /dev/null @@ -1,44 +0,0 @@ -# Copyright(c) 1986 Association of Universities for Research in Astronomy Inc. - -include -include -include "m70.h" - -# ZWTM70 -- Wait for i/o completion and return the number of bytes read or -# written or ERR. Repetitive calls return the same value. - -procedure zwtm70 (chan, status) - -int chan # FCB pointer for device -int status # nbytes transferred or ERR - -pointer fcb -short bfnum, bufcnt, ier - -begin - fcb = chan - - if (FCB_KCHAN(fcb) == NULL) { - switch (FCB_STATUS(fcb)) { - case ERR: - status = ERR - case IIS_INACTIVE: - status = FCB_NBYTES(fcb) - - default: - bfcnt = -1 # m70wt is a nop if we don't do this - bfnum = FCB_EFN(fcb) - - call m70wt (Mems[fcb], bfnum, bfcnt, FCB_IOSB(fcb,1), ier) - - if (ier != 0) - status = ERR - else - status = FCB_NBYTES(fcb) - - FCB_STATUS(fcb) = IIS_INACTIVE - } - - } else - call zawtbf (FCB_KCHAN(fcb), status) -end diff --git a/unix/gdev/mkpkg b/unix/gdev/mkpkg index 800c7e9c5..93e001439 100644 --- a/unix/gdev/mkpkg +++ b/unix/gdev/mkpkg @@ -7,6 +7,4 @@ $exit libsys.a: zfiogd.x - @iism70 - @iism75 ; diff --git a/unix/gdev/zfiogd.x b/unix/gdev/zfiogd.x index a401f9ffa..4029bca8a 100644 --- a/unix/gdev/zfiogd.x +++ b/unix/gdev/zfiogd.x @@ -11,7 +11,7 @@ include # driver subroutines must be named explicitly in the case statements in # each generic driver subroutine. -define DEVICES "|iism70|iism75|imtool|" +define DEVICES "|imtool|" define DEF_OSDEV_1 "unix:/tmp/.IMT%d" define DEF_OSDEV_2 "fifo:/dev/imt1i:/dev/imt1o" define IMTDEV "IMTDEV" @@ -23,10 +23,8 @@ define MAXBYTES 4000 # fifo transfer size, bytes define MAXTRYS 50 # fifo timeout define DELAY 10 # fifo i/o interval, msec -define IISM70 1 # IIS Model 70 image display -define IISM75 2 # IIS Model 75 image display -define IMTOOL 3 # IMTOOL-type display server -define NDEVICES 3 +define IMTOOL 1 # IMTOOL-type display server +define NDEVICES 1 # ZOPNGD -- Open a binary graphics device. The format of the DEVINFO string @@ -144,13 +142,6 @@ begin # Try to physically open the device. [ADD NEW DEVICES HERE]. switch (dev) { - case IISM70: - call strpak (Memc[osdev], Memc[pkfname], SZ_OSDEV) - call zopm70 (Memc[pkfname], mode, oschan) - case IISM75: - call strpak (Memc[osdev], Memc[pkfname], SZ_OSDEV) - call zopm75 (Memc[pkfname], mode, oschan) - case IMTOOL: if (Memc[osdev] == EOS) { # Supply default value. @@ -206,10 +197,6 @@ begin } switch (gd_dev[chan]) { - case IISM70: - call zclm70 (gd_oschan[chan], status) - case IISM75: - call zclm75 (gd_oschan[chan], status) case IMTOOL: call zclsnd (gd_oschan[chan], status) default: @@ -240,11 +227,6 @@ begin # [ADD NEW DEVICES HERE]. switch (gd_dev[chan]) { - case IISM70: - call zrdm70 (gd_oschan[chan], buf, maxbytes, offset) - case IISM75: - call zrdm75 (gd_oschan[chan], buf, maxbytes, offset) - case IMTOOL: # Nothing special here, except that we can only move 4096 bytes at # a time through the pipe to the display server. Some provision @@ -308,11 +290,6 @@ begin # [ADD NEW DEVICES HERE]. switch (gd_dev[chan]) { - case IISM70: - call zwrm70 (gd_oschan[chan], buf, nbytes, offset) - case IISM75: - call zwrm75 (gd_oschan[chan], buf, nbytes, offset) - case IMTOOL: nwrote = 0 ntries = 0 @@ -368,10 +345,6 @@ begin # [ADD NEW DEVICES HERE]. switch (gd_dev[chan]) { - case IISM70: - call zwtm70 (gd_oschan[chan], status) - case IISM75: - call zwtm75 (gd_oschan[chan], status) case IMTOOL: status = gd_status[chan] default: @@ -396,11 +369,6 @@ begin # [ADD NEW DEVICES HERE]. switch (gd_dev[chan]) { - case IISM70: - call zstm70 (gd_oschan[chan], what, lvalue) - case IISM75: - call zstm75 (gd_oschan[chan], what, lvalue) - case IMTOOL: switch (what) { case FSTT_FILSIZE: