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