it's a kludge, so keep based on the machine name
[unix-history] / usr / src / sys / vax / uba / vp.c
index b3849ba..e018308 100644 (file)
@@ -1,10 +1,14 @@
-/*     vp.c    4.8     81/03/10        */
+/*     vp.c    4.14    82/05/19        */
 
 #include "vp.h"
 #if NVP > 0
 /*
  * Versatec matrix printer/plotter
  * dma interface driver
 
 #include "vp.h"
 #if NVP > 0
 /*
  * Versatec matrix printer/plotter
  * dma interface driver
+ *
+ * SETUP NOTES:
+ *     Set up both print and plot interrupts to go through the same vector
+ *     Give the address of the plcsr register in the config specification
  */
 #include "../h/param.h"
 #include "../h/dir.h"
  */
 #include "../h/param.h"
 #include "../h/dir.h"
@@ -79,12 +83,23 @@ vpprobe(reg)
        register int br, cvec;          /* value-result */
        register struct vpdevice *vpaddr = (struct vpdevice *)(reg-010);
 
        register int br, cvec;          /* value-result */
        register struct vpdevice *vpaddr = (struct vpdevice *)(reg-010);
 
+#ifdef lint
+       br = 0; cvec = br; br = cvec;
+       vpintr(0);
+#endif
        vpaddr->prcsr = VP_IENABLE|VP_DTCINTR;
        vpaddr->pbaddr = 0;
        vpaddr->pbxaddr = 0;
        vpaddr->prcsr = VP_IENABLE|VP_DTCINTR;
        vpaddr->pbaddr = 0;
        vpaddr->pbxaddr = 0;
-       vpaddr->plbcr = 1;
+       vpaddr->prbcr = 1;
        DELAY(10000);
        vpaddr->prcsr = 0;
        DELAY(10000);
        vpaddr->prcsr = 0;
+#if ERNIE || CAD || UCBVAX
+       /* UNTIL REWIRED, GET INTERRUPT AT 200 BUT WANT 174 */
+       if (cvec == 0200) {
+               printf("vp reset vec from 200 to 174\n");
+               cvec = 0174;
+       }
+#endif
 }
 
 /*ARGSUSED*/
 }
 
 /*ARGSUSED*/
@@ -324,4 +339,9 @@ vpreset(uban)
                vpstart(sc->sc_bp->b_dev);
        }
 }
                vpstart(sc->sc_bp->b_dev);
        }
 }
+
+vpselect()
+{
+       return (1);
+}
 #endif
 #endif