Problems with Spectralogic "Spectra 25-Plus" disk/tape controller
casey at CS.UCLA.EDU
casey at CS.UCLA.EDU
Thu Sep 29 10:21:16 AEST 1988
Mike King (mike at cvs.rochester.edu) of Rochester is having problems
getting autoconfig to recognize the TS portion of his Spectralogic
"Spectra 25-Plus". tsauto.c is returning ACP_NXDEV which is causing
autoconfig to refuse to attach the TS emulator. tsauto tries to read
memory location
((struct tmdevice *)addr)->tmba
to determine whether there's a TS around. Returning ACP_EXISTS (success)
if trying to grab the word generates an error, and ACP_NXDEV (failure) if
it doesn't generate an error.
The problem is that the TS and the TM share the same CSR address
(0172520), but the *standard* TS CSR is only two words long:
/*
* TS11 controller registers
*/
struct tsdevice {
u_short tsdb; /* data buffer */
u_short tssr; /* status register */
};
and the TM CSR is seven words long:
/*
* TM11 controller registers
*/
struct tmdevice {
u_short tmer; /* error register, per drive */
u_short tmcs; /* control-status register */
short tmbc; /* byte/frame count */
caddr_t tmba; /* address */
short tmdb; /* data buffer */
short tmrd; /* read lines */
short tmmr; /* maintenance register */
};
As one can see, tmba is beyond the last legal address in a TS CSR, so
testing for its existence should a perfectly reasonable way to determine
what kind of tape controller we really have. But, apparently the
Spectralogic has status registers up there. Can someone tell me where
the Spectralogic's status registers end? This is especially important
because we now have an integrated primary tape boot strap that has a TS,
TM, and HT driver in it and it uses this same technique to determine what
kind of tape controller is really out there (though it uses tmmr instead
of tmba).
If you have any information on this, please send it as soon as you
can. Thanks for your help!
Casey
More information about the Comp.bugs.2bsd
mailing list