[comp.sys.ibm.pc] ST 4096 in a PS/2 Mod 60 Works!!!

davis@clocs.cs.unc.edu (Mark Davis) (04/12/89)

1. Introduction

I made a few postings back in December asking about the feasibility of
installing a Seagate ST 4096 hard disk drive in a PS/2 Model 60.  I
came to the conclusion that it was possible, so we bought the disk.
After some work I made the combination work, and this posting describes
the process of installation.  It is long, and still blows over a lot of
details, but I promise a lot of people to post the results.

2. Background

A university research group that I work with owns a PS/2 Model 60 with
the 44 Megabyte fixed disk, running PC/DOS 3.3.  This disk is actually
an ST 4053 and the controller appears to be a pretty straight forward
1:1 MFM controller.  The group needed more disk space.  Informal
calculations indicated they needed about 50 Meg more.  If we bought
another drive from IBM it would cost $1000 and might not be enough
space.

The price on the Seagate ST 4096 had dropped dramatically and it seemed
like a nice drive.  Also, with 80 Meg, the group would not run out of
space.  I could only find one vendor selling 4053's, and he wanted more
for a 4053 than the going price for a 4096 (things have changed
since).  The 4096 and the 4053 are very similar, with 9  and 5 heads
respectively.  I also was told that the 4096 could be used in a PS/2
Model 60 as a 4053 (just lie about the number of heads), so if all else
failed we could still make it work as a 44 Meg drive at a price lower
than IBM's.  We bought one.  (It took the University 3 months to get
it.  I'm glad we were not in a hurry.)

I wanted to avoid the use of additional software as much as possible.
I am considering upgrading to PC/DOS 4.0 on this machine soon, and I
wanted use use stock FDISK and Format with just a couple of additional
programs so everything would not break during the upgrade.

3. Physical Installation

Even before we ordered the drive I had physical installation under
control.  The computer already had a control cable for two disks.  The
controller used edge connectors instead of pins, so I had to build my
own data cable with edge connectors on both ends with parts I got mail
order.  I also built my own power cable, but I could have used two Y
cables in series.  The PS/2 uses AT style mounting rails.

Before installing the drive, I examined the existing 4053 to check the
jumpers and found that IBM had used several non default settings.  I
had to obtain one additional jumper and move another.  The jumpers had
to do with how the drive handled write errors.  I suspect the drive
would have worked with the default settings, but may not have gracefully
handled write errors.  It was reassuring to see that the circuit board
on the bottom of the original equipment 4053 had "4096" etched on it.
One final jumper change was required: I had to configure the new drive
as DS2.  There is a twist in the control cable, so both drives are
supposed to be DS2.

4. Low Level Format

So, I powered up the computer, and the fun began.  The drive would not
be acknowledged, no matter what disk type I used for setup.  Disk
Manager (Seagate version) 3.5 that came with the drive reported
controller errors and illegal commands.  The only way out was to set
the drive type number to 32 (ST 4053) and low level format it using the
IBM supplied "Reference Disk"  as a 44Meg drive.  It now worked fine
and I verified that it worked perfectly as a ST 4053.  Unfortunately,
this process destroyed the format/ partitioning/ neat software that
came on the drive and made the manufacturers defect information
unreachable.

It is clear that the PS/2 MFM controller is not compatible with the
controller used to originally format this drive.  This is not a big
surprise; compatibility on controller to disk formatting is not that
common.  But this controller is very particular.  If you try to access
a head that the controller does not know about, the controller will
enter a state that will make that drive inoperable until you turn off
the machines power.

Fortunately, I had a copy of Jim Bracking's shareware HDTEST version
1.21 which knows about PS 2's.  With it, I was able to format the
entire drive.  I suspect that with his program I could have formatted
the entire thing from the start, but there was no way to go back to
that state.  Thanks for you program, Jim, it was a big help.  Your
registration fee is in the mail.

5. Partition

I had written a Turbo Pascal program to reset the fixed disk parameters
pointed to by interrupt locations $41 and $46.  I booted the computer,
ran the program to fix the disk table.  Then I ran FDISK.  It would
start to work and then the computer would hang.  This was how I figured
out that you have to do a reset on the disk after changing fixed disk
parameters.  Also I identified the "weird controller state" referenced
above.  Once this was fixed, FDISK worked fine, and I partitioned the
drive up into 32, 32, and 16 Megabyte partitions.  There are lots of PD
or shareware programs that can do the same thing as my specialized
pascal program.  For example, the PDISK partitioning programs by Scott
E. Garfinkle contains a program for this.


6. Format

I had expected high level format to be the easiest of all.  However, it
was probably the hardest.  You see, reseting all of the hard disk
parameters did fine for FDISK, which has to go to the best source, but
did not help FORMAT.  FORMAT just asks DOS.  I could not figure out a
clean way to get DOS to reinitialize the tables itself.  Based on the
incorrect number of heads set at boot time, it had calculated the
number of cylinders that would have been required to hold the correct
amount of data.  Getting the message across to DOS was hard.  I ended
up using IOCTL calls:  interrupt $21, function $44, subfunction $0D,
functions $60 and $40.  My Turbo Pascal program recalculates the number
of cylinders from the correct number of heads, because it was too hard
to get the information from the partition table.  These IOCTL calls to
set new parameters always returned with 05h, "Permission Denied" but
seemed to work otherwise.

7. Conclusion

This project interested me and I had fun.  It was definitely a money
loser though.  For the value of my time and the money we spent on the
disk, we could have bought the Core ESDI controller and a nice ESDI
drive.

I understand that there are versions of Disk Manager that support
PS/2's.  I suspect that Speedstore would also do the trick, so if my
attempts above had failed, I would have bought one of them.  The
vendor (Shamrock) offered to send me a copy of the PS/2 version of
Disk Manager, but I don't think it was in stock, because it has not
arrived yet.

Discounting the fun I had playing with it, a better choice would have
been to buy the ST 4053 and put the effort in on reducing the storage
requirements.  On the other hand, if I had specified that I wanted
software that would work on a PS 2, the vendor may have supplied that
at no charge initially.

Now I have to find an ESDI disk for the other PS/2 Model 60 in the
office.  At least this time, I only need > 80 Meg, but I only have
$1100 to spend.  If I could just find a Micropolis 1355 on sale ...

Thanks to all of the people that responded to my previous postings.

If you would like more details or a copy of the Turbo Pascal 4.0
source I wrote, send me mail.

Thanks - Mark (davis@cs.unc.edu or uunet!mcnc!davis) (919)962-1739