Subject: kern/15199: accessing non-DOS diskette formats
To: None <>
From: Christian Groessler <>
List: netbsd-bugs
Date: 01/10/2002 16:18:47
>Number:         15199
>Category:       kern
>Synopsis:       accessing non-DOS diskette formats
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Thu Jan 10 07:23:00 PST 2002
>Originator:     Christian Groessler
>Release:        NetBSD 1.5ZA
System: NetBSD 1.5ZA NetBSD 1.5ZA (TANN) #0: Sun Dec 30 16:53:00 CET 2001 i386
Architecture: i386
Machine: i386

our fdformat(1) programm is very flexible in supporting non-standard
diskette layouts. One can specify all relevant parameters describing a
diskette format (except FM - MFM, but FM anyway won't work on 99% of
the systems).

But there is no way to access a non-conforming diskette layout, there
are only some formats available, which are PC (DOS) specific (see

I had the need to access some other format, so I did some changes to
support those formats (which are available when formatting the disk)
also later when accessing the disk.

I created a fdparm utility (derived from the fdformat(1) utility)
which can be used to set the diskette parameters.

Then I modified the fd.c driver (sys/dev/isa/fd.c) to provide a
"persistent device".  The old fd.c driver allowed all the changes
in parameters which fdformat provides, but after closing the device
all changes were gone. This did not appear very useful to me. My
"persistent device" remembers the changes to the configuration until
it's changed again.

This way the fdparm tool can set the configuration and then disks of
this layout can used very easily.

I used the "h" device (e.g. /dev/fd0h) to be the persistent device,
maybe this is not wanted and the # of minor devices should be upped
from 8 to 16 for the floppy devices? Is this feasable? Then there
would be room for some other default layouts (see fdc(4)) and we
could use 2 or more "persistent" settable layouts.

Anyway, my changes are on  or .

They contain the source for the fdparm utility, the changes needed in
the /usr/src/sys tree and an example /etc/floppytab with entries I
used for testing.

Is there a chance that this can get integrated?