[comp.sys.amiga] MountList entry for Quantum 80 needed

barry@eos.UUCP (Kenn Barry) (05/02/89)

[]
	I just got a Quantum 80-meg for my Amiga 1000, and it's great,
but I do have one minor problem: I'm running a Supra controller, which
uses the infamous (memory-wasting) SupraMount program to mount the
disk, instead of the standard Mount command. Now, with my old hard
disk, I did have a MountList entry that got along with the Supra
controller, and I was using Mount rather than SupraMount with complete
success. However, the Quantum docs show that the Quantum has two zones
on it, with different numbers of sectors/track in each zone, and I
don't know how to write a MountList entry to accommodate this.
	I imagine I could partition the drive into two logical drives,
with the dividing line where the number of sectors/track changes, but I
don't want to do this. I like having one big partition, and I don't
want to have to reload the whole drive in any case. Can anyone give me
any hints on a MountList entry? Is anyone out there running a Quantum
80 as a single partition with *any* controller? If so, could you email
me your MountList? I think I could figure out a MountList for the Supra
from it.

-  QQQCLC  -                                    Kenn Barry
----------------------------------------------------------------------------
ELECTRIC AVENUE:		{most major sites}!ames!eos!barry
           ARPA:                           barry@eos.arc.nasa.gov

lphillips@lpami.wimsey.bc.ca (Larry Phillips) (05/05/89)

In <3455@eos.UUCP>, barry@eos.UUCP (Kenn Barry) writes:
> I just got a Quantum 80-meg for my Amiga 1000,
> [...]
> the Quantum docs show that the Quantum has two zones
>on it, with different numbers of sectors/track in each zone, and I
>don't know how to write a MountList entry to accommodate this.

> I imagine I could partition the drive into two logical drives,
>with the dividing line where the number of sectors/track changes, but I
>don't want to do this. I like having one big partition, and I don't
>want to have to reload the whole drive in any case. Can anyone give me
>any hints on a MountList entry?

What you need to do is to figure out the total number of blocks available, and
to make a mountlist that has entries reflecting the total blocks. For example,
let's say a drive has 100,000 blocks. You could use a mountlist that reflects a
drive having 1000 cylinders, 10 heads, 10 blocks per track. You could also
use a mountlist that shows 500 cylinders, 10 heads, and 20 blocks per track. It
makes no difference to the drive, since it is only asked for absolute block
numbers (blocks offset from sector 0). Find the numbers that maximize the
usable data blocks.

I know you don't want to partition the drive, but this seems as good a place as
any to warn folks about a common misunderstanding.

If you partition the drive, you will still have to figure out an overall total
block count, and find the cyl/head/sector numbers that do the trick. The
alternative is to do a lot of calculations. Let's look at an example.

Assume a drive that has only 10 cylinders, 10 heads, with the first 5 cylinders
having 20 blocks/track, and the second 5 cylinders having 10 blocks/track.
Assume further that there are no reserved sectors, and that we can use the
entire disk. We want to partition it at the dividing line.

The first partition is easy. We simply tell it:

	LowCyl = 0
	HighCyl = 4
	Surfaces = 10
	BlocksPerTrack = 20

The second one, though it looks easy, is tricky. One would assume that the
mountlist for the second drive looks like this:

	LowCyl = 5
	HighCyl = 9
	Surfaces = 10
	BlocksPerTrack = 10

The effect of this is to tell Amigados that the _ENTIRE DRIVE_ containing this
partition has the geometry specified in this entry. In fact, this will cause
the first block of the second partition to start at block 501 (5 cyl * 10 heads
* 10 sectors/track). Note that the first partition starts at block 0 and ends
at block 1000. We end up with overlapping partitions, with disastrous
consequences. In this simple (and unrealistic) case, the problems will show up
very soon, since the second partition starts at about the root block of the
first partition. Formatting the second parttition will clobber the first.
Writing any files to the first partition will likely destroy the filesystem
identifier in sector 0 of the second partition.

The second partition can be done, but we have to lie to it in the mountlist:

	LowCyl = 10
	HighCyl = 19
	Surfaces = 10
	BlocksPerTrack = 10

This entry will tell Amigados that the entire drive has a geometry of 10 heads
and 20 sectors/track, and by lying to it about the starting cylinder, we arrive
at the proper starting block (the starting block of the partition is calculated
from the mountlist entry values). Note that everything works out well, and we
get all the blocks available to us.

The main problem with this method is that it usually ends up being a bit of a
brainbender, since most drives don't have numbers that are quite so easy to
calculate.

I have seen a lot of postings recently about making 880K simulated floppies,
and a lot of postings about corrupt partitions. These will go hand in hand
unless the above is taken into account.

-larry

--
  - Don't tell me what kind of a day to have! -
+----------------------------------------------------------------------+ 
|   //   Larry Phillips                                                |
| \X/    lphillips@lpami.wimsey.bc.ca or uunet!van-bc!lpami!lphillips  |
|        COMPUSERVE: 76703,4322                                        |
+----------------------------------------------------------------------+

jdm@gryphon.COM (John Mesiavech) (05/08/89)

 Larry et al:
 
Here's the params needed for the Quantum Q280 5.25" drive.
 
Now, at most this'll get you 76 Meg on the drive, but the drive (
with current low-level formatters I've tried by FOUR different companies-
IVS, C.Ltd, GVP, and Pacific Peripherals- is simply not gonna format to
any more.)
 
DH0: Device = (YouNameIt.device)
     Unit = (YourUnitNumber)
     Flags = 0 (most commonly, anyway)
     Surfaces = 6
     BlocksPerTrack = 31
     Reserved = 2 (IMPORTANT!)
     Interleave = (your interleave, depends on controller)
     LowCyl = 0
     HighCyl = 823
     Buffers = (whatever you commonly use, I use 9)
     BufMemType = 1 (means use whatever memory's available)
     #
 
This one WORKS for the SlowFileSystem.  To use FFS add the appropriate
lines for your controller.  Even on a Mac the drive formats out to
76 meg free...INFO will show 72Meg for SlowFS, 76Meg FFS
 
John


-- 

0-=-=-=-=-=-=-=-=-> All disclaimers apply; I didn't write this <-=-=-=-=-=-0
|                   ----------------------|-------------------             |
| "I want a New Duck                      |  John Mesiavech                |
|  One that won't try to bite             |  net.soldier.of.fortune        |
|  One that won't chew a hole in my socks | {backbone}!gryphon!jdm         |
|  One that won't Quack all night"        |    Go Purdue! (by req)         |
|  Weird Al Yankovic, "I Want a New Duck" |                                |
0-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-0