Forum unknown
· Hardware
Microbotics SCSI
15 messages in this thread
I need to know how to find the address of an autoconfigured SCSI controller.
I have been waiting for Microbotics to write a low level formater for the
Adaptec 4000 series SCSI controller but every time I talk to them, they say
"It will be a couple of weeks yet." I'm tired of waiting for them, so I'm
going to write my own. I have the docs for the 5380 SCSI controller chip and
some PD source for the driver. I can't find Anything in the hardware manuals
to indicate how to go about it. I only need to send a couple of commands and
can hardwire them into the code so it shouldn't too hard to write. The
Adaptec needs to be sent a mode select command before intial formating. I
have the Adaptec manual and am considering writing a full diagnostic program
as well. If I can locate the hardware address of the SCSI controller, I
should be in business. Microbotics was less then helpful when I talked to
them. They didn't seem to want reveal anything about the controller or how
to talk to it. I can always hook up a O'scope and try reading all of memory
till I find the right addresses but there must be an easier way! Can anybody
help?
In order to find the base address of an autoconfigured board one must
employ the expansion.library. You would normally call… FindConfigDev
passing the manufacuturer and product id but you probably don't know these
for the microbotics disk controller. So instead call FindConfigDev with a
-1 for both the manufacuturer and the product id, this will list each
autoconfig rom in turn. Remember to start the search passing a NULL
configdev structure (the first time through your loop). After locating the
appropriate configdev structure (you'll have to be the judge of that)
simply extract the address of the board from structure (something like
cd_BoardAddr or something).
In order to find the base address of an autoconfigured board one must
employ the expansion.library. You would normally call… FindConfigDev
passing the manufacuturer and product id but you probably don't know these
for the microbotics disk controller. So instead call FindConfigDev with a
-1 for both the manufacuturer and the product id, this will list each
autoconfig rom in turn. Remember to start the search passing a NULL
configdev structure (the first time through your loop). After locating the
appropriate configdev structure (you'll have to be the judge of that)
simply extract the address of the board from structure (something like
cd_BoardAddr or something).
The controller, if autoconfiguring, should reside at one of the following
addresses:
I love that list of addresses. Reminds me of the inducement to try
to get people in the USAF to go to Thule, Greenland: "There's a girl
behind every tree"
Har! Yes, the list of addresses was 'interesting'. Seems a certain
automated CIS program uses a dollar sign as a delimiter.
Oops – you're right (first column only). Gotta do something about that!
Oops – you're right (first column only). Gotta do something about that!
Har! Yes, the list of addresses was 'interesting'. Seems a certain
automated CIS program uses a dollar sign as a delimiter.
My dad was stationed in Thule for a year or so, in the Army, in the early
Sixties. He used to tell that joke, too.
My dad was stationed in Thule for a year or so, in the Army, in the early
Sixties. He used to tell that joke, too.
I love that list of addresses. Reminds me of the inducement to try
to get people in the USAF to go to Thule, Greenland: "There's a girl
behind every tree"
oops… the perils of an automated CIS program rear their heads. Those
addresses should be:
$E90000, $EA0000, $EB0000, $EC0000, $ED0000, $EE0000, $EF0000
These are the address slots for any I/O device that needs 64K or less
address space and has no need to be in the 'emmory' area.
oops… the perils of an automated CIS program rear their heads. Those
addresses should be:
$E90000, $EA0000, $EB0000, $EC0000, $ED0000, $EE0000, $EF0000
These are the address slots for any I/O device that needs 64K or less
address space and has no need to be in the 'emmory' area.
The controller, if autoconfiguring, should reside at one of the following
addresses: