aboutsummaryrefslogtreecommitdiff
path: root/unix/gdev/m70vms/README
diff options
context:
space:
mode:
authorJoe Hunkeler <jhunkeler@gmail.com>2015-08-11 16:51:37 -0400
committerJoe Hunkeler <jhunkeler@gmail.com>2015-08-11 16:51:37 -0400
commit40e5a5811c6ffce9b0974e93cdd927cbcf60c157 (patch)
tree4464880c571602d54f6ae114729bf62a89518057 /unix/gdev/m70vms/README
downloadiraf-osx-40e5a5811c6ffce9b0974e93cdd927cbcf60c157.tar.gz
Repatch (from linux) of OSX IRAF
Diffstat (limited to 'unix/gdev/m70vms/README')
-rw-r--r--unix/gdev/m70vms/README68
1 files changed, 68 insertions, 0 deletions
diff --git a/unix/gdev/m70vms/README b/unix/gdev/m70vms/README
new file mode 100644
index 00000000..23a06824
--- /dev/null
+++ b/unix/gdev/m70vms/README
@@ -0,0 +1,68 @@
+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