[comp.sys.mac.programmer] IIci - Disk incompatibility + possible fix

dolf@fwi.uva.nl (Dolf Starreveld) (11/13/89)

cash@zug.csmil.umich.edu (Howard Cash) writes:

> If you are considering upgrading your Mac to a IIci you may be in for
> a surprise with your external hard drive.  Certain manufacturers
> did not exactly follow Apple's scsi guidelines and now they are being
> bitten.

> According to someone I spoke to at Apple DTS, at least three disk drive
> manufacturers have made disks that will not automount on the IIci.  There
> may be others.  The same source at Developer Technical Support says that 
> all of the manufacturers with this problem have acknowledged their errors
> in this regard and will upgrade their hardware for affected customers.


One of the reasons an external (non-Apple) drive may fail to automount is
that the Mac IIci is one of the first machines (the Portable is the other)
that checks the checksum of any driver it attempts to load against a
checksum stored in the partion map entry describing that driver.
All this stuff is explained in Inside Mac V pp. 580-582.
A recent Technote describes that, although this checking process was
already described in IM V, bugs in the ROMs of older machines prevented
this check from ever being done.

Now, a quick fix: (make sure you have a backup of the whole disk!!!!!!)
1)	This checksum check is only performed if (among other things) the
	partition type of the partition containing the driver starts with
	the letters "MACI" (case insignificant).
2)	Find a program that allows you to edit the hard disk on a block level,
	bypassing SCSI dvivers (MacZap tools, SUM Tools, Apple's SEdit).
3)	Look in block 0. There you will find the starting block and length of
	the driver as it is stored on the disk.  Write this down.
4)	Look at the first two bytes of block 1. These should contain the
	letters "PM", indicating a new type partition map (IM V pp. 578-)
	If they don't, the checksum stuff can't be the problem, you're
	out of luck with this fix.
5)	In this new partition map, find the entry for the driver.
	Each entry occupies one block. You should for an entry with a
	type starting with the letters "MACI" and the same starting block
	as you have written down for your driver.
	The type description starts at offset 30 (decimal) and the partition's
	first block number is found at offset 8.
6)	If you find this entry, change the 'M' in  "MACI" to anything else but
	an "M". Write the changed block back to disk.
7)	Try if the fixed worked by rebooting from the hard disk.


Good luck, Dolf

Dolf Starreveld  Phone: +31 20 592 5056/+31 20 592 5022, TELEX: 10262 HEF NL
EMAIL:           dolf@fwi.uva.nl (dolf%fwi.uva.nl@hp4nl.nluug.nl)
SNAIL:           Dept. of Math. and Computing Science, University of Amsterdam,
                 Kruislaan 409, NL-1098 SJ  Amsterdam, The Netherlands

ts@cup.portal.com (Tim W Smith) (11/21/89)

Just a side note: although things are supposed to be case insensitive in
the IM V format partition map, don't believe it.  For example, HD Setup
2.0 will fail to recognize certain A/UX partitions if the type and name
does not match exactly what HD Setup 2.0 would put there if it created
the partition.

I spent all night once trying to figure out why partitions created by my
formatter would not show up properly in HD Setup 2.0, and then I finally
noticed that I was not using the same case as they were.   Grrr.

							Tim Smith

dolf@fwi.uva.nl (Dolf Starreveld) (11/22/89)

ts@cup.portal.com (Tim W Smith) writes:

> Just a side note: although things are supposed to be case insensitive in
> the IM V format partition map, don't believe it.  For example, HD Setup
> 2.0 will fail to recognize certain A/UX partitions if the type and name
> does not match exactly what HD Setup 2.0 would put there if it created
> the partition.

> I spent all night once trying to figure out why partitions created by my
> formatter would not show up properly in HD Setup 2.0, and then I finally
> noticed that I was not using the same case as they were.   Grrr.

Of course thius does not necessarily mean that the information in the
partition map is case significant. It just means what you say:
HD Setup 2.0 is incompatibel with anything that uses a different case for
the same strings as does HD Setup 2.0.
I would not at all be surprised if this was a bug in HD Setup. Example:
It says in inside Macintosh and in a recent technote that whenever a
partition's type starts with the letters "MACI" (notice the capitals here)
and conforms to some other things not relevant here, the start manager will
calculate and check the partitions cheksum on a IIci and a portable. I have
found out though that if the type contains "Maci" at the start, the checksum
stuff *is* done. This seems to indicate that case is indeed insignificant.

--dolf


Dolf Starreveld  Phone: +31 20 592 5056/+31 20 592 5022, TELEX: 10262 HEF NL
EMAIL:           dolf@fwi.uva.nl (dolf%fwi.uva.nl@hp4nl.nluug.nl)
SNAIL:           Dept. of Math. and Computing Science, University of Amsterdam,
                 Kruislaan 409, NL-1098 SJ  Amsterdam, The Netherlands