Re: floppy programming
Leandro Bernsmuller ([EMAIL PROTECTED]) > Hi, > > some body know if exist or is possible to do one > driver > to makes floppy drive use some type of "balanced" bits > distribution? > The idea is simple: format a disk doing inner tracks > with less bits than > in external tracks. > Maybe is better think in sectors and not bits > banlancing? > > I want opinions about the idea, pleace. > > Where can I find information about floppy drivers > programming, DMA setup,...? The floppy controller on PC is a rather "intelligent" piece and there is not much to tweak. It can't even read Amiga floppies, which are not that different. The amiga controller on the other side is pretty "dumb" and you can do tricks there ( I wrote a program/driver that could put 1120 kB on DD floppy ; theoretically 2240 kB on HD , but I never tried that ) But it can't change the data density either. So IMO , you can't do anything useful on PC hardware. Actually you could instruct the controller to use 18 sectors on inner tracks and foe example 20 on outer , but then you could just use 20 on all tracks, which is actually done by people. Even linux supports them, look into the floppy driver and it's documentation. P.S.: Most of the replies you got on LKML are irrelevant or wrong : Helge Hafting ([EMAIL PROTECTED]) wrote : > Go ahead. Note that ordinary floppies store > the number of sectors per cylinder in the boot sector, > and this is used for easy conversion from > block number (from the fs) to head, cylinder > & sector (for the hardware driver) Irrelevant. The file system ( or any other user of the data ) will only see a sequence of blocks, no matter how they are physically organized. All modern hard disks use this technique ( "zone bit recording" or "variable bit recording" , CDs use it too ) and even DOS works with them :-) > You'll break this simple scheme, as you'll need > a table in the driver for how many sectors in track 0, > how many sectors in track 1, and so on up to > the maximum track which usually is 80 although > some floppy drives goes out to 83 or 89 or something. You could just always use the same layout ( 18 sectors on tracks 0-10 , 19 on 11 to 25 , etc ... ) Or sacrify a sector to store a layout ( which would off course be invisible to anything , but your driver ) Richard B. Johnson ([EMAIL PROTECTED]) wrote : > You need to look at data-books to see how the floppy controllers > actually work (NEC uPD765A/uPD765B). You can format tracks with > different numbers of sectors. However, when you read such a drive > you are stuck unless you have stored (somewhere) information about > the number of sectors each track contains. Otherwise, you have no > way of converting a logical offset into the correct head/cylinder/ > sector. You need to have set the correct head, to the correct > cylinder before you attempt to read a sector. > > Incidentally, for some dumb reason, sectors are numbered from 1 > instead of 0. This adds code, not necessary, if sectors were > zero-based like all the other parameters. Irrelevant. Handled by the driver , if needed at all. > The bit-rate can be set to 500/300/250/150/125 kb/s, but it's > not continuously variable. The bit-rate that will work with a drive > is dependent upon the characteristics of the head and the media. > > The head inductance is resonated with circuit capacitance at the > bit-rate at which it is to be used. This means that a 300 kb/s > drive will not function at 500 kb/s. > > The 'problem' you describe is as old as magnetic media itself. It > is a problem of "areal density". Spiral recording helps to some > extent. Basically, there is only one track, it spirals from the > outside to the inside. The spacing between sectors is adjusted > automatically because the on-media areal density increases as > the head(s) move towards the center of rotation (hub). The same can be done with concentrical cylinders and is done with all modern hard drives and was done also on the Commodore 64 5.25 inch floppies ( at least they used different number of sectors per track , I don't know if the actual bit density was variable or not ) > You can't > do this with a floppy controller because the heads "step" to > discrete positions. So you do it with "classic" concentrical tracks. -- David Balazic -- "Be excellent to each other." - Bill & Ted - - - - - - - - - - - - - - - - - - - - - - - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: floppy programming
Actually... that sounds like zone bit recording. As I understand it, that sort of thing is handled by the floppy controller and isn't under the purview of the OS. Anyhoo, what really got me on this, is I understand there will be some new floppy drives out soon that'll do this sort of thing by default. It allows ~33MB of data on a 1.44MB floppy. (let's just forget how often disks bo bad here) Pretty cool if can do it w/o changing the hardware. Josh ___SIG___ $_='while(read+STDIN,$_,2048){$a=29;$b=73;$c=142;$t=255;@t=map{$_%16or$t^=$c^=( $m=(11,10,116,100,11,122,20,100)[$_/16%8])&110;$t^=(72,@z=(64,72,$a^=12*($_%16 -2?0:$m&17)),$b^=$_%64?12:0,@z)[$_%8]}(16..271);if((@a=unx"C*",$_)[20]&48){$h =5;$_=unxb24,join"",@b=map{xB8,unxb8,chr($_^$a[--$h+84])}@ARGV;s/...$/1$&/;$ d=unxV,xb25,$_;$e=256|(ord$b[4])<<9|ord$b[3];$d=$d>>8^($f=$t&($d>>12^$d>>4^ $d^$d/8))<<17,$e=$e>>8^($t&($g=($q=$e>>14&7^$e)^$q*8^$q<<6))<<9,$_=$t[$_]^ (($h>>=8)+=$f+(~$g&$t))for@a[128..$#a]}print+x"C*",@a}';s/x/pack+/g;eval On Sun, 18 Mar 2001, Leandro Bernsmuller wrote: > > Hi, > > some body know if exist or is possible to do one > driver > to makes floppy drive use some type of "balanced" bits > distribution? > The idea is simple: format a disk doing inner tracks > with less bits than > in external tracks. > Maybe is better think in sectors and not bits > banlancing? > > I want opinions about the idea, pleace. > > Where can I find information about floppy drivers > programming, DMA setup,...? > > Thanks, > > Leandro > > __ > Do You Yahoo!? > Get email at your own domain with Yahoo! Mail. > http://personal.mail.yahoo.com/ > - > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to [EMAIL PROTECTED] > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ > - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: floppy programming
Leandro Bernsmuller wrote: > > Hi, > > some body know if exist or is possible to do one > driver > to makes floppy drive use some type of "balanced" bits > distribution? > ... I don't remember where I saw it, but I'm sure there is a program which runs on Linux as well as Win32 that improves the data capacity of floppies by using one of several possible strategies. If I remember correctly it is capable of reaching close to 2.0 Mb of useful space. I tried a search on the internet but was unable to find it. Before beginning to code, remember to look for what you need. If it's anything close to reasonable, you have a nine out of ten chance that someone, somewhere, has already done it for you. If you actually find it, send me a link to its URL, please. Alex - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: floppy programming
On Mon, 19 Mar 2001, Alex Baretta wrote: > Leandro Bernsmuller wrote: > > > > Hi, > > > > some body know if exist or is possible to do one > > driver > > to makes floppy drive use some type of "balanced" bits > > distribution? > > ... > > I don't remember where I saw it, but I'm sure there is a program > which runs on Linux as well as Win32 that improves the data > capacity of floppies by using one of several possible strategies. > If I remember correctly it is capable of reaching close to 2.0 Mb > of useful space. I tried a search on the internet but was unable > to find it. IIRC it's called "2m". > Before beginning to code, remember to look for what you need. If > it's anything close to reasonable, you have a nine out of ten > chance that someone, somewhere, has already done it for you. > > If you actually find it, send me a link to its URL, please. /Martin - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: floppy programming
On Sun, 18 Mar 2001, Leandro Bernsmuller wrote: > > Hi, > > some body know if exist or is possible to do one > driver > to makes floppy drive use some type of "balanced" bits > distribution? > The idea is simple: format a disk doing inner tracks > with less bits than > in external tracks. > Maybe is better think in sectors and not bits > banlancing? > > I want opinions about the idea, pleace. > > Where can I find information about floppy drivers > programming, DMA setup,...? > > Thanks, You need to look at data-books to see how the floppy controllers actually work (NEC uPD765A/uPD765B). You can format tracks with different numbers of sectors. However, when you read such a drive you are stuck unless you have stored (somewhere) information about the number of sectors each track contains. Otherwise, you have no way of converting a logical offset into the correct head/cylinder/ sector. You need to have set the correct head, to the correct cylinder before you attempt to read a sector. Incidentally, for some dumb reason, sectors are numbered from 1 instead of 0. This adds code, not necessary, if sectors were zero-based like all the other parameters. The bit-rate can be set to 500/300/250/150/125 kb/s, but it's not continuously variable. The bit-rate that will work with a drive is dependent upon the characteristics of the head and the media. The head inductance is resonated with circuit capacitance at the bit-rate at which it is to be used. This means that a 300 kb/s drive will not function at 500 kb/s. The 'problem' you describe is as old as magnetic media itself. It is a problem of "areal density". Spiral recording helps to some extent. Basically, there is only one track, it spirals from the outside to the inside. The spacing between sectors is adjusted automatically because the on-media areal density increases as the head(s) move towards the center of rotation (hub). You can't do this with a floppy controller because the heads "step" to discrete positions. Cheers, Dick Johnson Penguin : Linux version 2.4.1 on an i686 machine (799.53 BogoMips). "Memory is like gasoline. You use it up when you are running. Of course you get it all back when you reboot..."; Actual explanation obtained from the Micro$oft help desk. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: floppy programming
Leandro Bernsmuller wrote: > > Hi, > > some body know if exist or is possible to do one > driver > to makes floppy drive use some type of "balanced" bits > distribution? > The idea is simple: format a disk doing inner tracks > with less bits than > in external tracks. > Maybe is better think in sectors and not bits > banlancing? > > I want opinions about the idea, pleace. Go ahead. Note that ordinary floppies store the number of sectors per cylinder in the boot sector, and this is used for easy conversion from block number (from the fs) to head, cylinder & sector (for the hardware driver) You'll break this simple scheme, as you'll need a table in the driver for how many sectors in track 0, how many sectors in track 1, and so on up to the maximum track which usually is 80 although some floppy drives goes out to 83 or 89 or something. >I want opinions about the idea, pleace. > >Where can I find information about floppy drivers >programming, DMA setup,...? Look at the existing floppy driver. Note that you don't need info on DMA etc., as the driver already will do all sorts of weird sector layouts. (look at the manpages for superformat) The only limitation is that the current driver likes to use the same number of sectors per track for all cylinders, but you can change that using a lookup table. I am not sure this will help you though, as pc floppies have constant rotational speed and I bleieve a constant write rate too. So you cannot really squeeze more onto the outer tracks without some kind of hardware modification. Well, maybe your drive can gain a little extra on some cylinders if you take variable head drag into consideration, but you'll surely end up with a floppy that fits one drive only if you go too close to the rotational tolerances. Helge Hafting - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
floppy programming
Hi, some body know if exist or is possible to do one driver to makes floppy drive use some type of "balanced" bits distribution? The idea is simple: format a disk doing inner tracks with less bits than in external tracks. Maybe is better think in sectors and not bits banlancing? I want opinions about the idea, pleace. Where can I find information about floppy drivers programming, DMA setup,...? Thanks, Leandro __ Do You Yahoo!? Get email at your own domain with Yahoo! Mail. http://personal.mail.yahoo.com/ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/