From owner-freebsd-hackers Sun May 4 15:24:14 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.5/8.8.5) id PAA20131 for hackers-outgoing; Sun, 4 May 1997 15:24:14 -0700 (PDT) Received: from sax.sax.de (sax.sax.de [193.175.26.33]) by hub.freebsd.org (8.8.5/8.8.5) with SMTP id PAA20107 for ; Sun, 4 May 1997 15:24:08 -0700 (PDT) Received: (from uucp@localhost) by sax.sax.de (8.6.12/8.6.12-s1) with UUCP id AAA28724 for hackers@FreeBSD.ORG; Mon, 5 May 1997 00:24:06 +0200 Received: (from j@localhost) by uriah.heep.sax.de (8.8.5/8.8.5) id AAA21711; Mon, 5 May 1997 00:12:45 +0200 (MET DST) Message-ID: <19970505001244.IY36391@uriah.heep.sax.de> Date: Mon, 5 May 1997 00:12:44 +0200 From: j@uriah.heep.sax.de (J Wunsch) To: hackers@FreeBSD.ORG Subject: Re: DXF?? format disk References: <199705041911.MAA14427@phaeton.artisoft.com> X-Mailer: Mutt 0.60_p2-3,5,8-9 Mime-Version: 1.0 X-Phone: +49-351-2012 669 X-PGP-Fingerprint: DC 47 E6 E4 FF A6 E9 8F 93 21 E0 7D F9 12 D6 4E Reply-To: joerg_wunsch@uriah.heep.sax.de (Joerg Wunsch) In-Reply-To: <199705041911.MAA14427@phaeton.artisoft.com>; from Terry Lambert on May 4, 1997 12:11:56 -0700 Sender: owner-hackers@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk As Terry Lambert wrote: > If they have this density, then they are playing with the encoding > and sync marks. > > It is likely that this is "read-only" for most PC hardware, since it > would rely on reduced write head width to get the magnetic domains > small enough that they would still be discretely discernable on read. It's far simpler. The OS/2 distribution is using a non-uniform geometry. With equally sized sectors, you have to waste quite a number of bytes in the gap 3. (The `extra density' formats FreeBSD is currently supporting use an interleave of 1:2, so each other sector is actually gap 3, but this is getting risky regarding interchangeability between drives with different speeds.) The OS/2 trick is to use a non-uniform number of bytes per sector. The raw capacity of one track of a 2 MB floppy is 100000 bits, or 12500 bytes. The total space consumption for a uniform sector distribution is: 146 + N * (62 + M + gap3) + gap4 (N = # of sectors, M = # of bytes per sector) With some minimal values for gap3 (~ 10) and gap4 (~ 50), you get: (12250 - 146 - 50) / (512 + 62 + 10) => 20 => 20 * 0.5 KB * 160 = 1600 KB (12250 - 146 - 50) / (1024 + 62 + 10) => 10 => 10 * 1 KB * 160 = 1600 KB (12250 - 146 - 50) / (2048 + 62 + 10) => 5 => 5 * 2 KB * 160 = 1600 KB (FreeBSD's highest density even fits 21 0.5 KB sectors.) With a non-uniform sector distribution you get however: 146 + 50 + 1 * (512 + 62 + 10) + 1 * (1024 + 62 + 10) + 5 * (2048 + 62 + 10) = 12476 < 12500 This gives you 5 * 2 KB + 1 KB + 0.5 KB = 11.5 KB per track, or 1840 KB per disk (for 80 cylinders). As you can see, this is close to the theoretical maximum. OS/2 wasted a few percent by using a `generic' 18 * 0.5 KB first track that fakes a single large file in a pretended FAT filesystem. Unlike Terry's speculations, this can all be done with a stinking NEC765 FDC, but it requires weird formatting and a driver that can handle writing it. I'm not really in the mood to do this much work on the driver myself, i've already got QIC-150 tapes to carry my bits around. :-) They are cheaper (for me, of course), faster, and more reliable... -- cheers, J"org joerg_wunsch@uriah.heep.sax.de -- http://www.sax.de/~joerg/ -- NIC: JW11-RIPE Never trust an operating system you don't have sources for. ;-)