Re: need hardware guru

From: Richard B. Johnson
Date: Wed Dec 10 2003 - 09:28:46 EST


On Tue, 9 Dec 2003, Gene Heskett wrote:

> My mobo is a Biostar M7VIB, VIA 82686 chipset.
>
> It appears that thre doesn't seem to be a way to force a floppy format
> at non 512 byte sectors, as in I need to do a 256 byte, 18 sectors
> per track on a DS 360k disk. fdutils, fdformat, and a format from
> the emulator itself all fail to write a correct disk, insisting on a
> 9 sector per track PC format.
>
> Ideas, including bigger hammer at this point, cheerfully discussed.

The FDC in that machine is a "Super I/O chip" made by National,
PC87309. It is known to work in all modes although that doesn't
mean that linux actually has code in place for all the modes.

The sectors-per-track and the number of bytes per sector are part
of the "Specify" command which is executed prior to any major
change like format. These are all standard and documented. However,
if you need 256 bytes per sector, 18 sectors per track, you
need a new (lower) data-rate. The data-rate port is at 0x3f7.
You put a 0x00 in there for 500 kb/s, 0x01 for 250 kb/s, etc.
It's an independent port, you can write anything to it at
any time. I would guess that if you made a iopl(3) program
that writes 1 to that port just prior to executing
fdformat /dev/fd0D360, it might work. That might verify
the problem.

It is possible that Linux doesn't muck with the data-rate, that
it is whatever was set by the BIOS. It should. I haven't looked
at the Linux FDC code but I did write a complete BIOS so I know
how the FDC controller(s) work.

Cheers,
Dick Johnson
Penguin : Linux version 2.4.22 on an i686 machine (797.90 BogoMips).
Note 96.31% of all statistics are fiction.


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/