PS(4)                                                                    PS(4)


NAME
       ps - Evans and Sutherland Picture System 2 graphics device interface

SYNOPSIS
       device ps0 at uba? csr 0172460 vector psclockintr pssystemintr

DESCRIPTION
       The ps driver provides access to an Evans and Sutherland Picture System
       2 graphics device.  Each minor device is a new PS2.  When the device is
       opened,  its interface registers are mapped, via virtual memory, into a
       user process’s address space.  This allows the user process  very  high
       bandwidth to the device with no system call overhead.

       DMA  to  and  from  the PS2 is not supported. All read and write system
       calls will fail.  All data is moved to and from the PS2 via  programmed
       I/O using the device’s interface registers.

       Commands are fed to and from the driver using the following ioctls:

       PSIOGETADDR
              Returns  the  virtual address through which the user process can
              access the device’s interface registers.

       PSIOAUTOREFRESH
              Start auto refreshing the screen.  The argument is an address in
              user space where the following data resides.  The first longword
              is a count of the number of static refresh  buffers.   The  next
              count  longwords  are  the addresses in refresh memory where the
              refresh buffers  lie.   The  driver  will  cycle  through  these
              refresh buffers displaying them one by one on the screen.

       PSIOAUTOMAP
              Start  automatically passing the display file through the matrix
              processor and into the  refresh  buffer.   The  argument  is  an
              address  in  user  memory where the following data resides.  The
              first longword is a count of the  number  of  display  files  to
              operate  on.   The next count longwords are the address of these
              display files.  The final longword is  the  address  in  refresh
              buffer  memory where transformed coordinates are to be placed if
              the driver is not in double buffer mode (see below).

       PSIODOUBLEBUFFER
              Cause the driver to double buffer the output from the  map  that
              is  going  to  the refresh buffer.  The argument is again a user
              space address where the real arguments are  stored.   The  first
              argument is the starting address of refresh memory where the two
              double buffers are located.  The second argument is  the  length
              of  each double buffer.  The refresh mechanism displays the cur‐
              rent double buffer, in addition to  its  static  refresh  lists,
              when in double buffer mode.

       PSIOSINGLEREFRESH
              Single  step  the  refresh process. That is, the driver does not
              continually refresh the screen.

       PSIOSINGLEMAP
              Single step the matrix process.  The driver does  not  automati‐
              cally feed display files through the matrix unit.

       PSIOSINGLEBUFFER
              Turn off double buffering.

       PSIOTIMEREFRESH
              The  argument  is a count of the number of refresh interrupts to
              take before turning off the screen.  This is  used  to  do  time
              exposures.

       PSIOWAITREFRESH
              Suspend the user process until a refresh interrupt has occurred.
              If in TIMEREFRESH  mode,  suspend  until  count  refreshes  have
              occurred.

       PSIOSTOPREFRESH
              Wait  for  the next refresh, stop all refreshes, and then return
              to user process.

       PSIOWAITMAP
              Wait until a map done interrupt has occurred.

       PSIOSTOPMAP
              Wait for a map done interrupt, do not restart the map, and  then
              return to the user.

FILES
       /dev/ps

DIAGNOSTICS
       ps device intr.
       ps  dma  intr.   An  interrupt  was  received  from  the  device.  This
       shouldn’t happen,  check  your  device  configuration  for  overlapping
       interrupt vectors.

BUGS
       An  invalid  access (e.g., longword) to a mapped interface register can
       cause the system to crash with a machine check.  A user  process  could
       possibly cause infinite interrupts hence bringing things to a crawl.


4.2 Berkeley Distribution        May 21, 1986                            PS(4)
 
Generated: 2016-12-26
Generated by man2html V0.25
page hit count: 399
Valid CSS Valid XHTML 1.0 Strict