From: Ethan Dicks (erd_at_infinet.com)
Date: 2003-08-25 17:54:27
ncoplin@orbeng.com writes: > Hi All, > > I'm a little confused about the track/sector information given > by various sources... for some of the older drives. > They talk also about cylinders... and that confuses me. "Cylinders" is an older term that meant then what "tracks" means now. Then, "tracks" was a composite of cylinders and heads. I.e. - an ST225 is a 21.4MB drive with 614 cylinders and 4 heads per cylinder for a total of 2465 tracks. If you look at the numbers, you should be able to see that "tracks" / "cylinders == "heads". The actual "formatted capacity" of the drive was determined by the nature of the controller, since it, not the drive, was responsible for data clocking. Depending on the controller, you could see about 32 sectors of 256 data bytes, 17 sectors of 512 date bytes (both MFM schemes) or 26 sectors of 512 bytes (RLL). The ST238R was an "RLL" version of the ST225... there was no difference in the mechanism - but the platters were verified to be able to handle the tighter encoding scheme of RLL. I know people who used ST238Rs as MFM devices, "giving up" 33% of the formatted capacity with the idea that they would be more reliable. > What I'm after is "logical" info, that is the layout a programmer > would use. Not to be pedantic, but 25 years ago, a programmer _would_ have used "cylinders" in thinking about the logical layout of the drive, especially with certain operating systems. The idea is that you would group important information on cylinder boundaries to minimize head movement. It was also considered important to break partitions at cylinder boundaries. > I am thinking that the D9090 is laid out as: 918tracks (1-918), 32 > sectors (0-31). etc. From: http://www.funet.fi/pub/cbm/schematics/drives/old/9090/04.gif D9060: 153 Cyls, 612 tracks, 4 heads, 32 sectors of 256 bytes D9090: 153 Cyls, 918 tracks, 6 heads, 32 sectors of 256 bytes > Can someone confirm this, and also the layouts of the other drives > of this era? Which era? The era of 5MB-10MB 5.25" drives? The entire list of ST506/ST412-interface drives? There were lots of vendors and lots of models. There used to be a couple of web pages with lists and lists and lists. I found this one for Seagate drives after a few seconds of Googling: http://www.bookcase.com/library/harddrive/seagate-mfm.html Back in the old days, you had to know exactly what all the numbers of the drives were because the OS drivers and the controller hardware turned that information into individual signals on the cables (head selects, track steps, etc.). Since the days of IDE and embedded SCSI, the communication between the CPU and the drive is all in terms of block number - IDE drivers still calculate geometry (CHS - cylinder, head, sector vs LBA), but the drive itself recomputes the location on the data surface since it's no longer a simple translation. > is there a standardised detection routine for the D9060/9090? It > seems you can stick any mechanism in the box and it will work... > but... There is *no* detection mechanism for the drive in a D9060/D9090. There is a jumper on the "DOS" board that the firmware polls at reset - if the jumper is set one way, it expects a four-head drive (D9060); the other way, it expects a six-head drive (D9090). The firmware doesn't _detect_ the drive, the firmware _expects_ the drive to match an existing list of parameters. Drive detection is a fairly new concept compared to how long we've been storing data on rotating media. Four years ago, this was a topic on the list... here's an excerpt from that thread: > Got it! I found the spot in the 2K ROM code that checks for drive > type and adjusts the geometry. I'm not sure if it is going to be > feasible to change yet (since I haven't found things like write- > precomp or RWC), but if you dig into a disassembly around $F8B0, > X starts off at 6 and goes to 4 if PB5 is high. The geometry data > is stored around $049A as follows... > > $049A: $98 highest numbered track (#152) > $049B: $03 or $05 heads-1 > > $049D: $04 or $06 heads > $049E: $20 sectors per track (256 byte sectors) > $049F: $04 ??? > > $04A0: $01 ??? > $04A1: $00 ??? > $04A2: $01 The reason you can drop an ST225 in a D9060 is that the number of heads match, the number of cylinders is higher, and the drive itself is smart enough to handle or ignore the "Reduced Write Current" and "Write Precompensation" signals from the controller (normally, you would have to make the drive and the controller match exactly, but there are combinations of drives and controllers that play nice together "accidentally") Keep in mind, though, that since the D9060 firmware expects a 5MB drive of 153x4x32, it will ignore 75% of the surface of your ST225. Given the relative abundance of ST225 drives vs Tandon TM602S mechanisms, this is not a horrible tragedy. I haven't yet done it, but AFAIK, you can use an ST251 in place of a TM603S at 7.5MB, but either way, make sure your drive-type jumper on the DOS board is set right. If it's set for 6 heads and you attach a 4-head drive, the format command will fail. If it's set for 4 and you are expecting 6, you'll only get 5MB out of it. -ethan -- Visit "The Seventh Continent" http://penguincentral.com/penguincentral.html Message was sent through the cbm-hackers mailing list
Archive generated by hypermail pre-2.1.8.