Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Low level format using an old XT controller

32 views
Skip to first unread message

Philip Hirschhorn

unread,
Dec 22, 1993, 12:17:45 AM12/22/93
to
I have an old XT with a 10 meg MFM hard drive that seems to work
perfectly well. I also have a miniscribe 3650 that I removed from my
286 machine when I installed a new (larger) hard drive. Since I
haven't had enough aggravation of late, I'm trying to install the
miniscribe into the XT to replace the 10 meg drive.

On my 286 machine, the miniscribe was a 60 meg RLL drive (running with
an adaptec controller). The adaptec controller is for ATs only, so
I'd like to use the XT controller. This should (allegedly) be
possible, since the Miniscribe 3650 was originally intended to be a 40
meg MFM drive. I've been warned that the controller in the XT will
only be able to use about 30 meg of the drive, since there's an upper
limit to the number of cylinders that it can access, but it would
still be better than what I have now.

The Problem: I can't do a low level format on the miniscribe. I've
tried using debug to go to c800:5, but nothing happens. (I've also
tried going to c800:0, c800:1, ..., c800:4.)

Can anyone tell me how to get the XT controller to do a low level
format on the miniscribe?

Thanks in advance,
Phil

--
----------------------------------------------------------------------
Philip Hirschhorn p...@math.mit.edu
phirs...@lucy.wellesley.edu
----------------------------------------------------------------------

Philip E. Test

unread,
Dec 22, 1993, 3:45:16 AM12/22/93
to
Philip Hirschhorn (p...@phragmen.mit.edu) wrote:
: I have an old XT with a 10 meg MFM hard drive that seems to work

: perfectly well. I also have a miniscribe 3650 that I removed from my
: 286 machine when I installed a new (larger) hard drive. Since I
: haven't had enough aggravation of late, I'm trying to install the
: miniscribe into the XT to replace the 10 meg drive.

: On my 286 machine, the miniscribe was a 60 meg RLL drive (running with
: an adaptec controller). The adaptec controller is for ATs only, so
: I'd like to use the XT controller. This should (allegedly) be
: possible, since the Miniscribe 3650 was originally intended to be a 40
: meg MFM drive. I've been warned that the controller in the XT will
: only be able to use about 30 meg of the drive, since there's an upper
: limit to the number of cylinders that it can access, but it would
: still be better than what I have now.

: The Problem: I can't do a low level format on the miniscribe. I've
: tried using debug to go to c800:5, but nothing happens. (I've also
: tried going to c800:0, c800:1, ..., c800:4.)

So close... I *think* it should be C800:5 just one more click....

: Can anyone tell me how to get the XT controller to do a low level
: format on the miniscribe?

: Thanks in advance,
: Phil


ph...@netcom.com
Philip E. Test

Janos Szamosfalvi

unread,
Dec 22, 1993, 2:17:27 PM12/22/93
to
Philip E. Test (ph...@netcom.com) wrote:

: : tried using debug to go to c800:5, but nothing happens. (I've also


: : tried going to c800:0, c800:1, ..., c800:4.)

: So close... I *think* it should be C800:5 just one more click....

Debug is not case sensitive, so c800:5 = C800:5.

Janos Szamosfalvi

unread,
Dec 22, 1993, 2:23:15 PM12/22/93
to
Philip Hirschhorn (p...@phragmen.mit.edu) wrote:
: I have an old XT with a 10 meg MFM hard drive that seems to work

: perfectly well. I also have a miniscribe 3650 that I removed from my
: 286 machine when I installed a new (larger) hard drive. Since I
: haven't had enough aggravation of late, I'm trying to install the
: miniscribe into the XT to replace the 10 meg drive.

: The Problem: I can't do a low level format on the miniscribe. I've


: tried using debug to go to c800:5, but nothing happens. (I've also
: tried going to c800:0, c800:1, ..., c800:4.)

: Can anyone tell me how to get the XT controller to do a low level
: format on the miniscribe?

The original IBM (Xebec) controller can only handle 10 meg drives.

The onboard ROM may be at a different address such as CB00, D000, etc.
Before using debug, you have to make sure there's some ROM there.

There are a number of programs that do LLF -- HDDIAG, HDTEST, WDFMT,
Diskmanager, etc.

Greg Cotton

unread,
Dec 22, 1993, 3:22:00 PM12/22/93
to
In article <1993Dec22.1...@beaver.cs.washington.edu> sza...@lynx.cs.washington.edu (Janos Szamosfalvi) writes:
>From: sza...@lynx.cs.washington.edu (Janos Szamosfalvi)

>: The Problem: I can't do a low level format on the miniscribe. I've
>: tried using debug to go to c800:5, but nothing happens. (I've also
>: tried going to c800:0, c800:1, ..., c800:4.)
>: Can anyone tell me how to get the XT controller to do a low level
>: format on the miniscribe?
>The original IBM (Xebec) controller can only handle 10 meg drives.
>The onboard ROM may be at a different address such as CB00, D000, etc.
>Before using debug, you have to make sure there's some ROM there.
>There are a number of programs that do LLF -- HDDIAG, HDTEST, WDFMT,
>Diskmanager, etc.

Even though other programs will perform a low-level format, I would HIGHLY
recommend using the BIOS on the controller. I have found it to be FAR more
reliable in gettin the job done. If you are having trouble locating the exact
address of the controller's BIOS, you might try something like MSD.EXE that
ships with Win 3.1, DOS 6 (and maybe 5), or MFT.EXE that ships with QEMM 386.
These utilities allow you to look at a map of the area from 640-1M and see
what's there. As stated above, popular addresses that I've seen are:
c800, cc00, d000, d800, dc00
Good luck!

L8r.
Greg

Wally Bass

unread,
Dec 31, 1993, 4:41:00 PM12/31/93
to
In article <cotton.15...@vms.ucc.okstate.edu>

cot...@vms.ucc.okstate.edu (Greg Cotton) writes:
>In article <1993Dec22.1...@beaver.cs.washington.edu>
sza...@lynx.cs.washington.edu (Janos Szamosfalvi) writes:
>>From: sza...@lynx.cs.washington.edu (Janos Szamosfalvi)
>>: The Problem: I can't do a low level format on the miniscribe. I've
>>: tried using debug to go to c800:5, but nothing happens.
(stuff deleted)

>>The original IBM (Xebec) controller can only handle 10 meg drives.
>>The onboard ROM may be at a different address such as CB00, D000, etc.
>
>Even though other programs will perform a low-level format, I would
>HIGHLY recommend using the BIOS on the controller.

The original IBM (Xebec) controller BIOS has NO lowlevel formatting
routine, and CANNOT be induced to low level format a disk with any
debug command of the form G =C800:xx. On the other hand, the
controller has a 'format drive' command, and this is supported via
BIOS call INT 13h AH=7. For that call, you pass the desired interleave
in AL, and you pass the starting track in CX and DH, and the drive
number in DL, as for other INT 13h calls. Formatting the drive, then,
can be done with something like

debug
a 100
mov ax,707 <--format, interleave 7, which I think was the IBM/Xebec value
mov cx,1 <--start at cyl 0, sector 1
mov dx,80 <--head 0, drive 80 (if that's the drive you're formatting)
int 13 <--invoke the BIOA routine
int 3 <--return to debug (breakpoint interrupt
<CR to get debug out of assemble mode>
g <--execute the routine that you just keyed in

Unhappily, this will format the drive as a 10MB drive (4 heads, about
306 sectors). If you want some other format, you must first revector
INT 41h to point at an appropriate drive parameter table, and issue
INT 13h with AH=9 to activate the new table. (Each time you reboot the
machine, you must again install this table, revector INT 41h, and
reactivate the table before you will be able to read the drive with a
correct understanding of its geometry. But you can read the partition
record at cyl 0 head 0 before doing this, and hence you can put code
to do this in the partition record. The tricky part, though, it to
find an appropriate location in memory for the table. Late AMI BIOS's
put constructed table entries somewhere between 30:0 and 40:0).

Unlike the PC/AT, where INT 41h points at the drive parm entry for
device 80 and INT 46h points at the one for drive 81, the XEBEC uses
only INT 41h, and it points to a table containing four 16 byte
entries. The XEBEC controller has 2 dip switches for each drive,
allowing you select one of the four entries for drive 80 and a
different entry for drive 81. On most IBM versions of the Xebec
controller though, this switch was thoughtfully omitted (if you look
at the board you can see where it should have been), with the result
that the the controller uses use the last entry in the table for both
drives. Hence, you cannot easily support two drives of different
geometry with the IBM Xebec controller.

Faster XT controllers (such as the Western Digital WD-GEN2) only cost
around $50 and support varying drive geometries with a good deal less
effort. You may be better off getting one of these. A WD-GEN2 also has
the advantage that, if the XT and/or it's controller break, you can
put the drive in an AT class machine with a WD controller (the most
common MFM controller for AT type machines) and get the data off of
it.

Wally Bass


0 new messages