+tmcntrlr(ui, reg)
+ struct uba_dinfo *ui;
+ caddr_t reg;
+{
+ ((struct device *)reg)->tmcs = IENABLE;
+ /*
+ * If this is a tm03/tc11, it ought to have interrupted
+ * by now, if it isn't (ie: it is a ts04) then we just
+ * pray that it didn't interrupt, so autoconf will ignore it
+ * - just in case out prayers fail, we will reference one
+ * of the more distant registers, and hope for a machine
+ * check, or similar disaster
+ */
+ if (badaddr(&((struct device *)reg)->tmrd, 2))
+ return(0);
+ return(1);
+}
+
+tmslave(ui, reg, slaveno)
+ struct uba_dinfo *ui;
+ caddr_t reg;
+{
+ /*
+ * Due to a design flaw, we cannot ascertain if the tape
+ * exists or not unless it is on line - ie: unless a tape is
+ * mounted. This is too servere a restriction to bear.
+ * As we can only handle one tape, we might just as well insist
+ * that it be slave #0, and just assume that it exists.
+ * Something better will have to be done if you have two
+ * tapes on one controller, or two controllers
+ */
+ if (slaveno != 0 || tminfo[0])
+ return(0);
+ return(1);
+}
+