- { dhcntrlr, dhslave, 0, 0, dhstd, "dh", dhinfo };
-
-struct tty dh11[NDH11*16];
-int dhact;
-int ndh11 = NDH11*16;
-int dhstart();
-int ttrstrt();
-int dh_ubinfo[MAXNUBA];
-int cbase[MAXNUBA];
-
-/* Bits in dhlpr */
-#define BITS6 01
-#define BITS7 02
-#define BITS8 03
-#define TWOSB 04
-#define PENABLE 020
-/* DEC manuals incorrectly say this bit causes generation of even parity. */
-#define OPAR 040
-#define HDUPLX 040000
-
-/* Bits in dhcsr */
-#define DH_TI 0100000 /* transmit interrupt */
-#define DH_SI 0040000 /* storage interrupt */
-#define DH_TIE 0020000 /* transmit interrupt enable */
-#define DH_SIE 0010000 /* storage interrupt enable */
-#define DH_MC 0004000 /* master clear */
-#define DH_NXM 0002000 /* non-existant memory */
-#define DH_MM 0001000 /* maintenance mode */
-#define DH_CNI 0000400 /* clear non-existant memory interrupt */
-#define DH_RI 0000200 /* receiver interrupt */
-#define DH_RIE 0000100 /* receiver interrupt enable */
-
-#define DH_IE (DH_TIE|DH_SIE|DH_RIE)
-
-/* Bits in dhrcr */
-#define DH_PE 010000 /* parity error */
-#define DH_FE 020000 /* framing error */
-#define DH_DO 040000 /* data overrun */
+ { dhprobe, 0, dhattach, 0, dhstd, "dh", dhinfo };
+
+int dmprobe(), dmattach(), dmintr();
+struct uba_device *dminfo[NDH];
+u_short dmstd[] = { 0 };
+struct uba_driver dmdriver =
+ { dmprobe, 0, dmattach, 0, dmstd, "dm", dminfo };
+
+#ifndef PORTSELECTOR
+#define ISPEED B9600
+#define IFLAGS (EVENP|ODDP|ECHO)
+#else
+#define ISPEED B4800
+#define IFLAGS (EVENP|ODDP)
+#endif
+
+#define FASTTIMER (hz/30) /* scan rate with silos on */