Hi Craig !
Below you find an old posting I made some time ago.
--------------------
Thema: Re: MFM / ESDI Questions
Von: ***@aol.com (Peterwendt)
Datum: 13 Apr 2004 15:53:33 GMT
Hi !
Maybe the table below helps a bit. That's what IBM published for the PS/2s.
The BIOS list does only loosely match existing drives, mainly IBM own, Seagate,
Shugart and other long-gone manutfacturers. The drives from 1 - 14 are those
used with the IBM AT already, 15 had to be left out (due to compatibility
reasons with the old AT controllers and BIOS), 16 - 32 came new with the PS/2
Mod. 50 and 60. Later the table was expanded again with Type 33 (and 34, 35
IIRC for the 30-286 / 55-031 IIRC), but at no time there was some "User
Defined" entry.
It was simply not supported with the IBM BIOS.
At that time it was "good practise" to either patch the BIOS with matching
parameters (and an Eprommer !) or use an "Override software" like ... like ...
Ooof. I don't recall the name anymore ... ahem ... SpeedStore. (Luck !)
SpeedStore allowes you to "just so" pick any BIOS table model that comes about
close (size-, cylinder- or heads-wise) and then directly patch the CMOS table.
Worked fine so far ... except you'd had to replace the CMOS battery.
Later versions stored a patch in the bootsector of the HD - similar to what
Disk Managers do on IDE / ATAPI drives for bypassing the nasty 524MB limit.
(Unfortunately it was sometimes incompatible with IBMs ADP storage for MCA
cards .... but I guess that's of little interest anymore ...)
Also new on the PS/2 was the "Defect Map" that is stored on the drive.
The AT controllers didn't support a defect map - and you had to run a test to
mark bad sectors with testing them. A Low-Level format on an AT along with the
surface analysis took hours even on a 20MB drive.
The PS/2 introduced a "machine readable" defect map that could be loaded and
edited (somehow) and included the manufacturer defect list already, so the
LLFORMAT didn't take that long. Only new defects had been added.
Remember: LLFORMAT use to have 3 stages:
1. Raw formatting (and already excluding manufacturer defects)
2. surface analysis (also without touching already marked bad sectors)
3. writing the defect map and correcting the drive capacity.
I vaguely recall a "trick" on how to let LLFORMAT ignore the defect list and
run through *all* sectors and try reviving them and write a new defect list.
But don't ask me for details anymore. It has been to long since I did that the
last time.
Here's the list as it is stored in the PS/2 BIOS.
As far as I can tell it is identical to all Mod. 50, 60, 70, 80 at least.
Mod. 55, 65, P70 that used the MFM version of the DBA-2 harddisks (30 MB only
IIRC) were different somehow. I don't know if they still have all of that table
included in the BIOS, but the current drive parameters came from the DBA-2
controller microcode itself.
Mod. 30 (8086 types) have a subset of that table only ranging from 1 - 26,
where "Type 26" is the standard 20MB "IBM Fixed Disk Drive and Controller" the
-021 models use to come with.
+----------+----------+-------+---------+---------+-----+--------+
| TYPE | CYLINDER | HEADS | PRECOMP | LANDING | MAP | SIZE |
+----------+----------+-------+---------+---------+-----+--------+
| 00 | ( No Drive Installed ) | |
| 01 | 306 | 4 | 128 | 305 | No | 10.16 |
| 02 | 615 | 4 | 300 | 615 | No | 20.42 |
| 03 | 615 | 6 | 300 | 615 | No | 30.63 |
| 04 | 940 | 8 | 512 | 940 | No | 62.42 |
| 05 | 940 | 6 | 512 | 940 | No | 46.82 |
| 06 | 615 | 4 | none | 615 | No | 20.42 |
| 07 | 462 | 8 | 256 | 511 | No | 30.68 |
| 08 | 733 | 5 | none | 733 | No | 30.42 |
| 09 | 900 | 15 | none | 901 | No | 112.06 |
| 10 | 820 | 3 | none | 820 | No | 20.42 |
| 11 | 855 | 5 | none | 855 | No | 35.49 |
| 12 | 855 | 7 | none | 855 | No | 48.68 |
| 13 | 306 | 8 | 128 | 319 | No | 20.32 |
| 14 | 733 | 7 | none | 733 | No | 42.59 |
| 15 (Reserved - Do not use !) | |
| 16 | 612 | 4 | 0 | 663 | No | 20.32 |
| 17 | 977 | 5 | 300 | 977 | No | 40.54 |
| 18 | 977 | 7 | none | 977 | No | 56.77 |
| 19 | 1024 | 7 | 512 | 1023 | No | 59.50 |
| 20 | 733 | 5 | 300 | 732 | No | 30.42 |
| 21 | 733 | 7 | 300 | 732 | No | 42.59 |
| 22 | 733 | 5 | 300 | 733 | No | 30.42 |
| 23 | 306 | 4 | 0 | 336 | No | 10.16 |
| 24 | 612 | 4 | 305 | 663 | No | 20.32 |
| 25 | 306 | 4 | none | 340 | No | 10.16 |
| 26 | 612 | 4 | none | 670 | No | 20.32 |
| 27 | 698 | 7 | 300 | 732 | Yes | 40.56 |
| 28 | 976 | 5 | 488 | 977 | Yes | 40.51 |
| 29 | 306 | 4 | 0 | 340 | No | 10.16 |
| 30 | 611 | 4 | 306 | 663 | Yes | 20.29 |
| 31 *1 | 732 | 7 | 300 | 732 | Yes | 42.53 |
| 32 *2 | 1023 | 5 | none | 1023 | Yes | 42.49 |
| | | | | | | |
+----------+----------+-------+---------+---------+-----+--------+
|
*1 this type is used for the black IBM 44MB HD |
*2 this type is used for the brass Seagate ST-4052 (44MB) |
|
A "YES" in MAP indicates, that this drivetype must support |
a drive-resident harderror map (Defect Map) |
|
SECTORS is always 17, SECTORSIZE always 512 Bytes |
SIZE (in MB) is CYL x HEADS x 17 x 512 / 1024 / 1024 |
|
The "sales capacity factor" is 1.049 - if a drive is rated |
42.49 MB in SIZE it will have 44.57 MB "on the label" when |
its size is calculated C x H x 17 x 512 / 1000 / 1000 |
which gives a larger, "more impressive" number. |
|
Source: IBM Technical Reference Manual for Mod. 50 & 60 |
IBM P/N 80X0902, First Edition April 1987 |
Chapter "I/O Controllers, Memory", Page 4-190 |
|
(ASCII-Art and additional infos by PHW) |
|
-----------------------------------------------------------------+
Very friendly greetings from Peter in Germany
http://www.mcamafia.de/mcapage0/mcaindex.htm
--------------------
Very friendly greetings from Peter in Germany
http://www.mcamafia.de/mcapage0/mcaindex.htm