Stock IBM XT low level format program wanted

Scott Stevens chenmel at
Wed Jul 6 20:00:25 CDT 2005

On Tue, 5 Jul 2005 14:46:01 -0400
"Degnan Co." <websupport at> wrote:

> I have an IBM XT with all original parts.  This is the middle era 
> version with a Xebec/IBM harddrive controller (no dip switches), 
> newer diskette drive, and an IBM 20 MB hard drive.  The computer 
> boots with no errors.  It looks like the computer was never used,
> it's pristine.  Might anyone have a link to a program that I can 
> use to run a low level format specific to this controller card and 
> hard drive?  I have had trouble locating the low level format program 
> via DEBUG.  I have found a number of Debug commands on the Internet 
> for other drives and controllers, but none for this.  I have searched 
> the segement offsets between C000:0000 and EC00:0000 in 0400
> increments..Maybe I am blind!  Is there an IBM official low level
> format diskette image out there?  That would be preferred.
> Thanks...Bill
> -- E N D --
Low level formatting a drive on a Xebec card doesn't involve using Debug
to 'jump into' a textmode utility as it does for Western Digital 8 bit
cards and many other PC-XT cards.  For the Xebec card, there are
specific I/O registers to write values into and read values back from. 
You can do this using the 'in' and 'out' commands in debug to read and
write to those ports manually, or you can use the aformentioned IBM
utility.  {You could probably work up something 'spiffy' using Basic if
you wanted.)  I've never used the IBM utility, and used to have the
write/read details.  It's a nerve-wracking procedure, because you have
to blindly do a bunch of in and out commands with debug, then after a
few, the hard drive light comes on and it runs the format.  Then after
awhile, the drive light goes out and there's a register you can read to
verify it worked.

I remember that the tech ref for the Xebec card should list the I/O
instruction set (i.e. the config registers, and what 'commands' are
issued by issuing I/O commands to where,) and at one point I remember
'reverse engineering' the Debug In/Out sequence I had and figuring out
exactly what each write accomplished.

More information about the cctalk mailing list