Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!clyde!rutgers!cbmvax!daveh From: daveh@cbmvax.UUCP Newsgroups: comp.sys.amiga Subject: Re: Re: MFM format and possible improvments Message-ID: <1386@cbmvax.cbmvax.cbm.UUCP> Date: Tue, 10-Feb-87 14:09:48 EST Article-I.D.: cbmvax.1386 Posted: Tue Feb 10 14:09:48 1987 Date-Received: Wed, 11-Feb-87 20:22:19 EST References: <445@ethz.UUCP> Organization: Commodore Technology, West Chester, PA Lines: 59 > >>So is it possible? If so, I'll write a trackdisk driver for the baby. >> >>------------------------ >>Note on RLL: Can't be done on the Amiga.. it requires you to boost the >>bit clock for the drive. >> >> -Matt > > Sorry Matt, but that is not possible. Although I don't know very much > about MFM and other disk encodings, I can tell you for sure that you > will not be able to put 8704 bytes/track on the disk. > > The floppy controller writes to the disk with a speed of 250000 bits/sec > and the disk turns at 300 rpm which means that a track is 0.2 sec long > thus (0.2*250000)=50000 bits/track and no more. So the maximum you can > expect to put on a flopy is 6250 bytes/track if you use no encoding but > simply put every bit as it is on the disk (which, as you explained, is > impossible). > > 6250 bytes/sec vs. 5984 bytes/sec that's only 4.5% more, so it's > probably not worth the work. > claudio There's apparently a bug somewhere in the above calculation. If you just look at some simple mathematics. First of all, because of the MFM encoding, we're storing 2 bits for every important data bit; that's to prevent the problems associated with improper flux changes (since each bit stored is stored as a flux change or no change). So for a full track of 11 sectors of 512 bytes each (5632 bytes total), you have to store in the MFM format twice that, or 11264 byte of data per track. This particular method of MFM storage was designed since the blitter can very easily decode it; it takes 3 blitter passes to encode, 1 to decode as I recall (the decoding's easy; every other bit is significant). What you may be loosing on, which I think is Matt's point up above, is that you're not getting every significant bit combination out of this formula. I'm encoding 8 bits into 16 bits via this MFM scheme. But, possibly, a more intelligent scheme could encode 9 or 10 bits into those same 16 bits. That's basically what all the old Commodore GCR drives do. The MFM scheme requires that 256 out of the possible 65536 values cause no flux change problems. If I can find 512 out of this same 65536 possible values that cause no flux change problems, I've just upped my capacity, at the expense of probably having to decode by processor via a lookup table, instead of zapping it with the blitter. If I can find 1024 values, I'm even better off, storage wise. I'm not sure how well this can be done on the Amiga, but it certainly sounds worth investigation. -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Dave Haynie {caip,ihnp4,allegra,seismo}!cbmvax!daveh "You can keep my things, they've come to take me home" -Peter Gabriel ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~