[net.micro.mac] HFS and 800K drives

darin@ut-dillo.UUCP (Darin Adler) (11/27/85)

My friend who has a HabaDrive (double-sided) came to me with a
problem.  He was trying out the HFS and it worked fine with his 400K
drive (internal).  When he tried using disks in the 800K drive,
(regardless of how many sides the disks had) the disks were
"unreadable".  Also, he was unable to initialize disks in the 800K
drive ("Initialization failed!").  After some researh, I discovered
the problem and a solution.

Apple's new 800K drives will have automatic speed control in hardware.
This means that the speed buffer and other speed control software will
not do anything for these new drives.  Apple's "Hard Disk 20" file
that contains the HFS software also contains a new ".Sony" driver.
This new driver recognizes 800K drives as having hardware speed
control.  Thus, all of the non-Apple drives (none of which have
hardware speed control) will not work when "Hard Disk 20" (i.e. HFS)
is installed.

Apple has promised someone (Haba, I think) that the Sony driver in the
new ROM will rectify this situation.  There will be some way to tell if a
drive has hardware speed control regardless of size.  In the mean
time, what we wanted was a kludge to make non-Apple 800K drives work
(even at the expense of not working with Apple 800K drives, which none of
us have yet).

After taking a closer look at the new Sony driver, I found only two
places that speed control was accomplished, and at the beginning of
each of these, there was a check to see it the drive was double-sided.
The result is a 3 byte patch to "Hard Disk 20" that will produce a
variant HFS that will work with non-Apple 800K drives, but probably not
with Apple 800K drives.

The patch for "Hard Disk 20" is as follows:

	Find:	4A31 1005 6B04 4A42
	Change:	4A31 1005 4E71 4A42

	Find:	4A31 1005 6A02 4E75
	Change:	4A31 1005 6002 4E75

I have not observed any side effects or difficulties with this patch;
if you try it and find a bug, please drop me a line.
-- 
Darin Adler
{gatech,harvard,ihnp4,seismo}!ut-sally!ut-dillo!darin