Formatting Macintosh SCSI drives


Since 1985, with the introduction of the Mac Plus, Apple has used the SCSI standard for connecting peripherals. Almost all Macs (the Powerbook 150 is an exception) have a connector for external SCSI devices and almost all Macs use SCSI harddisks internally (the latest Powerbooks and some Performas are the exception here; they use cheaper IDE drives).

[If you are looking for information on how to make your Macintosh recognize your CD-ROM drive, click here.]

Since SCSI is an industry standard a lot of different companies manufacture SCSI harddisks. When a harddisk is produced, its platters are 'empty' i.e. non formatted. Most manufacturers format the drive during the test phase, but the resulting format is not Macintosh compatible. Apple delivers a tool with every Macintosh called HD SC Setup or Drive Setup. These have to be used to format a harddisk and to initialize it. Although the words 'formatting' and 'initializing' are sometimes used to denote the same thing, they do describe different processes.

Every SCSI drive can perform the formatting process itself; it just needs to be told the parameters and it needs to be given the proper command to format itself. Important parameters are for instance the list of faulty sectors that where detected during a previous format or the interleave factor. Formatting is operating system independant. A drive formatted with a PC formatter has the same low-level lay-out as on a Mac, since the drive formats itself and does not know what operating system drives it. However, during the 'initialize drive' phase some higher-level processes take place. On a Mac the HFS (Hierarchical File System) is created on the drive, consisting of a.o. the B-trees that keep record of where your files are stored. Also, and we will see later that this is very important, the Macintosh is different in one aspect: it stores part of the system software, required to control the disk, on the disk itself; the so-called disk-driver.

Apple's utility HD SC Setup, delivered with all Mac OS versions (latest version is 7.3.5), can format and initialize a SCSI drive (it only has a button 'Initialize' that formats the drive and prepares it for use with the Mac OS). It also can be used to partition a drive. Partitioning devides a drive in parts that the Mac OS handles as separate drives. This can be useful when you want to devide a large drive in logical parts, for instance if you work on two large projects at the same time. Partitioning large drives is also more efficient since small files on small disks take less space (since the smallest allocation block is smaller on small drives).

HD SC Setup and Drive Setup have one large drawback (apart from not being very informative and having no control over the setup parameters of your drive): it can only format/initialize Apple-supplied harddisks1. The Apple utilities check the result of the SCSI 'identify drive' command (SCSI-1) (on older versions of HD SC Setup) or check the parameter pages (SCSI-2) whether it is a drive they supplied. All Apple drives have information stored in some sort of ROM on the drive that identifies the drive as 'Apple supplied'. So a Quantum Trailblazer (850 Mb.; supplied in some PowerMacs) supplied by Apple has other information stored in the drive's firmware than a plain Trailblazer. Almost all SCSI-2 drives support a subcommand 'Download microcode'; in the factory Apple probably downloads their own firmware using this command.

Why Apple choose to only recognize their own drives is unknown. It might be a marketing ploy to force people to buy Apple drives or they want to make sure that they only need to support Apple drives when people phone their helpdesks with questions about HD SC Setup. We will never know.

There is a special version called HD SC Setup 3.01 (A/UX) that does not check whether a drive was supplied by Apple. It came with Apple's ill-fated version of UNIX and is available here.



Here you see a ResEdit Hex/Ascii dump of one of the code resources of HD SC Setup.
Clearly visibile is the string that the program wants to see in the firmware of a SCSI drive.
When a drive is 'initialized', a.o. the formatter puts the 'disk-driver' on the disk. This piece of software is loaded from the drive when your Mac boots (or when a disk is mounted) and forms the layer between the Mac OS (to be more exact the part called Device Manager) and the SCSI Manager, the software that controls all SCSI hardware. Since the disk-driver instructs the SCSI Manager how to control the harddisk, a good disk-driver makes your Mac faster and more reliable. Essentially however, a disk-driver is a very simple piece of software. It just translates the somewhat higher level Device Manager functions to a series of SCSI Manager calls and it performs some basic error correction. More complex disk-drivers would contain caching functions and more elaborate error handling. A simple disk-driver however will work although performance might be slightly lower than that of a commercial utility.

Fortunately a number of companies supply formatters/initializers that do work with almost any SCSI drive. The best known generic formatters are FWB HD Toolkit, Anubis and Drive7. Some suppliers of Macintosh SCSI drives have their own version; for instance APS PowerTools is a version of CharisMac's Anubis.

Commercial formatters recognize a large number of drives and their special capabilities. They also contain a generic disk-driver for those cases where the drive remains unknown.

If you are lucky your new harddisk came with a formatter. If you need to format more than a couple of drives it pays to buy for instance FWB HD Toolkit. But what when you want to use that old dusty PC SCSI drive you have been given by a friend? Perhaps it doesn't work at all. Paying $99,- for a tool to find out that the drive is worthless is no good if that amount would have bought you a low-capacity drive anyway. I had this 'PC formatted' Conner CP30100 120 Mb. drive lying around that is perfectly capable to backup the most important files of my Powerbook 165's 160 Mb drive. So I started to investigate my options.

One would expect that since 1985 some shareware/freeware formatter utilities would be out there. Well no. Or yes. If you do not have a lot of Macintosh knowledge (if the word ResEdit sends shivers up your spine you are in this category) or if you want a 100% working solution from scratch then go ahead and buy yourself a commercial formatter utility (I recommend FWB HD Toolkit).

Contrary to common believe, there have been attempts in the past to supply shareware/freeware formatters. I know of two, if you have found others please share your knowledge.

The two formatters I found are 'SCSI Formatter & Installer' (SF&I) from Ephraim Vishniac and HDUtility. Both can be found on the Internet. SF&I is a simple program that requires you to know how many sectors your drive has. You then use ResEdit to 'patch' that information into SF&I using the templates supplied. I used SF&I to format/initialize the Conner CP30100 described above. It worked within minutes and it still does after two years; even with System 7.5.3 !

I am convinced the driver that SF&I has put on my Conner is very simple. But it works and it came free (Ephraim wants you to become blood donor if you find his software useful, luckily I already was a donor so my investment was nil). Since the disk-driver from SF&I predates the release of SCSI Manager 4.3, it does not use asynchronous I/O (meaning that your Mac cannot continue with other tasks when a SCSI command is being executed). So performance is sub-optimal.

Not all SCSI drives are equal. A good disk-driver recognizes any specific features from the drive it controls. An example of such a feature would be 'write-caching'. A simple disk-driver (like the one SF&I puts on the disk), would never enable such a feature, again resulting in less than optimal performance.

The German computer magazine c't - Magazin Für Computertechnik had a feature in 1989 by Leo Drizis in which he described a fully capable Macintosh SCSI formatter called HDUtility. It comes in .ZIP format, so you need MacZIP to de-archive it. The result will be a folder containing HDUtility. I had some problems with it that have to be attributed to the fact that it contains some critical software timing loops that need adjustment since the Macs of today are much faster than those of 1989. How to go about making these changes? Easy if you know C and own Think C since the full sources of HDUtility as well as the sources of the driver are supplied. When I changed some of the timing it worked after recompiling and I subsequently was able to format my Conner drive for free.

If the disk-driver within SF&I or HDUtility doesn't seem to work on your Macintosh there is a third option. The control panel Mt. Everything from Horst H. Pralow is able to mount any SCSI device. It contains an internal disk-driver that can be used to mount a device that has no functional disk-driver. If your SCSI harddisk appears in Mt. Everything's main dialogue box then you can mount it using the disk-driver within Mt. Everything. (Make sure the radio button 'Use Mt. Everything's Built-in Driver' in the Options dialogue box is selected and then option-click the 'Mount' button.)

So; it can be done if you don't want to spend money and if you feel adventurous. Keep watching these pages; I have a new Quantum Trailblazer that I will try to format with SF&I. I also will perform some benchmarks on it using APS PowerTools 4.06 and FWB HD Toolkit 2.01.

Some recent benchmarking I did on a 4.2 Gb. SCSI disk are available here.

After all the above; did you know that you can patch HD SC Setup 7.3.5 to recognize any SCSI drive by just changing one byte? If you want find out how, click here.

Now for the golden tip. You deserve one after reading all the above. Micronet supplies harddisk drives that come with their Micronet Utility. It appears to be a fully functional generic formatter. It is free for Micronet customers; perhaps you will become a customer if you are a satisfied user of their software? It's up to you ofcourse.

Reference material : X3T9.2 SCSI-2 standard documents and Inside Macintosh.

The excellent formatter Lido has just been released as shareware. Get it while you can.

1 There are rumours that Drive Setup can format some non-Apple drives, but I have not been able to verify this.

Back to Ernst J. Oud's homepage